Спонсор публикаций Cyber-512

Готовим специалиста в области ИБ  - Воспитаем специалиста в области ИБ с нуля до начального уровня. После обучения сможете оказывать услуги по проведению тестирования на проникновение ( легальный хакинг )

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

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 ключей.



Когда вы используете 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 или более новая, затем следуйте этим инструкциям, которые изменяются по мере необходимости, чтобы определить местонахождение зависимостей:



Похожие темы

Урок по SSH: азы использования и продвинутые трюки... Что такое и для чего нужен SSH Безопасный шелл (SSH) — это сетевой протокол, обеспечивающий функции шелла на удалённой машине через б...
Загрузка Kali Linux в режим консоли (командной стр... Метод взят отсюда: https://trickslinux.wordpress.com/2013/07/04/boot-kali-linux-in-console-mode-command-line-as-it-was-in-backtrack/ Многие инст...
Как открыть порт ssh с помощью ufw на Ubuntu/Debia... Как разрешить входящие соединения SSH с определенного IP-адреса или подсети на сервере Ubuntu или Debian Linux с помощью ufw? UFW является аббревиа...
SSH Multi-Hop туннелирование на Android... Доброго времени суток! Всем известно что для достижения анонимности используются Tor, I2P, цепочки Socks-proxy, всяческие VPN (OperaVPN hello) ил...
Как включить ssh вход без ввода пароля... Допустим вы пользователь "A" на хосте hostA, и хотите подключиться по ssh к хосту hostB как пользователь "B" без ввода его пароля на хосте hostB. След...