Получи 30.000 рублей от codeby

Мы запустили конкурс для авторов, в котором может принять участие любой желающий. За первое место - 7500 руб., второе - 5000, третье 2500. Главный приз 30.000 рублей вы получаете независимо от места в конкурсе. Подробнее на форуме codeby ...

<< Контент скрыт от гостей. Зарегистрируйтесь, чтобы снять ограничение ! >>

IronSSH - сплошная безопасная передача файлов

IronSSH — сплошная безопасная передача файлов

Альтернатива sftp и scp, которая хранит файлы в зашифрованном виде после их загрузки и позволяет обмениваться файлами с использованием криптографических инструментов.

Скачать IronSSH

Данный проект является ответвлением openssh/openssh-portable проекта от OpenSSH. Хотя большая часть проекта не изменилась, были добавлены некоторые специальные коррективы для создания новых исполняемых файлов, которые обеспечивают сплошную защиту при передаче файлов на удаленные серверы.

Не смотря на то, что sftp и scp используют ssh для сохранения безопасности файлов, когда они передаются через сеть, как только они попадают на удаленный сервер, они больше не находятся в безопасности. ironsftp исполняемый файл предоставляет дополнительную защиту. Когда вы помещаете файл на сервер с помощью ironsftp, файл шифруется перед его загрузкой, и остается зашифрованным на сервере. Когда вы получаете файл с сервера, сначала он скачивается, а потом раскодируется. Так что файл остается в безопасности до тех пор, пока не достигнет того места, где вы захотите использовать его – вашей локальной машины.

Расширение .iron используется для определения безопасного файла. Если вы запустите ironsftp и поместите put foo.c на сервер, файл сначала будет зашифрован и записан в foo.c.iron, затем этот закодированный файл будет записан на удаленный сервер. Когда вы получите get foo.c.iron с сервера, если, конечно, этот файл можно скачать, ironsftp расшифрует файл и запишет foo.c на вашу локальную машину. Для удобства, если вы получаете get foo.c, но этот файл не доступен на данном севере, ironsftp попытается скачать и расшифровать foo.c.iron.

Вся процедура остается такой же, как и sftp, но только в данном случае ваши файлы защищены на удаленном сервере.

IronSSH - сплошная безопасная передача файлов

Управление ключом

Для того чтобы использовать ironsftp, вы должны обладать RSA ключом в ~/.ssh/id_rsa файле на вашей локальной машине. Когда вы запускаете ironsftp в первый раз, он прочитает ваши общедоступные и конфиденциальные RSA ключи (возможно, даже попросит вас ввести идентификационную фразу для конфиденциального ключа), а затем копирует их в новые файлы ключей в ~/.ssh/ironcore/. Ключ RSA используется для подписания зашифрованных файлов. ironsftp также генерирует пару ключей Curve25519 – этот ключ хранится в том же месте и используется для шифрования данных. Эти новые конфиденциальные ключи заблокированы с помощью идентификационной фразы, которая генерируется путем использования вашего приватного ssh RSA для подписания некоторых данных. Таким образом, если ваш ssh ключ заблокирован с помощью идентификационной фразы, то ваши ironcore ключи также заблокированы. Разблокирование ssh ключа требуется для разблокировки ironcore ключей.


Набираем команду codeby webinar

Набираем команду для организации и проведения вебинаров Подробнее ...

Когда вы используете ironsftp для подключения к серверу, информация вашего общедоступного ключа загружается в ~/.ironpubkey. Таким образом, это предоставляет удобный механизм для других пользователей, подключающихся к серверу, чтобы найти ваши общедоступные ключи ironcore. В частности, если другой пользователь подключился к серверу, использую ironsftp, он может использовать информацию о вашем общедоступном ключе, для безопасного обмена файлами с вами, как описано в следующем разделе.

Безопасный обмен

Вы также можете поделиться этими безопасными файлами с другими пользователями. Когда вы подключаетесь к серверу, по умолчанию, каждый файл, который вы загружаете на этот сервер, будет зашифрован таким образом, что только вы сможете прочитать его. Однако, если другие пользователи на этом сервере подключились к нему, используя ironsftp, информация об их общедоступном ключе будет доступна на ~<login>/.ironpubkey. Вы можете использовать новые ironsftp команды для добавления получателей, чтобы любые последующие файлы, которые вы загружаете в этом сеансе, будут зашифрованы для этих пользователей также как и для вас. Например, предположим, что вы вошли как gumby:

Файл foo.iron на сервере зашифрован таким образом, что вы и pokey могут извлечь и расшифровать его. Предположим, что pokey делает следующее:

Файл foo.c.iron будет расшифрован автоматически, и соответственно будет создан foo. Если какой-либо пользователь, кроме gumby или pokey, скачает файл, он получит сообщение примерно следующего содержания:

У пользователя по-прежнему foo.iron будет находиться в текущей директории, но он будет не читаемым.

Совместимость GnuPG

Ключи, используемые ironsftp, хранятся в том же формате, что использует GnuPG – все общедоступные ключи находятся в ~/.ssh/ironcore/pubring.gpg, и соответствующие секретные ключи находятся в личных файлах, а именно в ~/.ssh/ironcore/private-keys-v1.d. Все файлы, зашифрованные с помощью ironsftp, также могут читаться и gpg. (Поскольку мы используем криптографию эллиптических кривых для шифрования данных, вам понадобится версия 2.1.7 gpg или выше, которая, в свою очередь, требует версию libgcrypt 1.7 или более новую). Если вы используете современную версию gpg, для расшифровки файла, закодированного ironsftp, вы можете использовать что-то вроде этого:

Установка IronSSH

RedHat, CentOS, Debian и Ubuntu

IronSFTP требует OpenSSL 1.0.2 или более новую. Это означает, что он будет работать только на более новых операционных системах, включая RedHat Enterprise 7; CentOS 7; Fedora 23, 24; Debian Stretchy; и Ubuntu Wily, Xenial, Yakkety. Пакеты для этих операционных систем размещаются на packagecloud.io. Чтобы установить пакеты deb и rpm:

  1. Для Debian и Ubuntu: sudo apt-get install ironssh.
    Для RedHat и CentOS: 
    sudo yum install ironssh.
MacOS

IronSFTP может быть установлен пользователями Homebrew, используя эту команду: brew install ironcorelabs/ironcore/ironssh.

Установка из исходников

Для установки из исходника, убедитесь, что у вас есть версия OpenSSL 1.0.2 или более новая, затем следуйте этим инструкциям, которые изменяются по мере необходимости, чтобы определить местонахождение зависимостей:



Похожие темы

Способ апгрейда сессии telnet или ssh до meterpret... В этой небольшой, но полезной статье, я хочу рассмотреть способ апгрейда сессии telnet или ssh до meterpreter. Это позволит получить нам дополните...
Как организовать VPN по SSH Доброго времени суток, форумчани. Сегодня я расскажу, как организовать "VPN" по SSH. Слово ВПН в кавычках, потому, что это нельзя назвать реальной п...
Как отключить вход по ssh паролю на Linux для повы... Я хочу отключить доступ для ssh-клиентов с помощью пароля и разрешить только авторизацию ssh с помощью SSH-ключей. Как отключить аутентификацию пароле...
Как включить ssh вход без ввода пароля... Допустим вы пользователь "A" на хосте hostA, и хотите подключиться по ssh к хосту hostB как пользователь "B" без ввода его пароля на хосте hostB. След...
Как открыть порт ssh с помощью ufw на Ubuntu/Debia... Как разрешить входящие соединения SSH с определенного IP-адреса или подсети на сервере Ubuntu или Debian Linux с помощью ufw? UFW является аббревиа...