• Каждый день тысячи людей используют SSH для подключения к серверам, домашним ПК, роутерам и смартфонам. SSH-клиенты есть для всех сколько-нибудь популярных платформ, а сервер SSH встраивают даже в умные лампочки.• Вашему вниманию предлагается крайне наглядный разбор SSH туннелей. Уж сколько про них уже написано, но такого красиво оформленного материала вроде еще не видел.
Всем начинающим для прочтения строго обязательно.
• В дополнение: Практические примеры SSH.
#SSH #Сети
Please open Telegram to view this post
VIEW IN TELEGRAM
• В августе публиковал ссылочку на интересное исследование, в котором автор собирал статистику и описывал варианты настройки своего SSH-ханипота. Если не читали, то обязательно ознакомьтесь. Так вот, в этом посте собрано небольшое кол-во open source SSH-ханипотов, которые можно использовать для защиты своих серверов и локальных сетей.
• Стоит отметить, что ханипоты не только замедляют атаку и дезориентируют злоумышленников. Они также посылают сигналы тревоги и собирают информацию об атакующем. В некоторых случаях этих данных хватает, чтобы понять его методы и мотивы. С помощью ханипотов можно получать ранние предупреждения о начавшейся атаке, выявлять "слепые пятна" в существующей архитектуре безопасности и совершенствовать стратегию защиты в целом.
#SSH #Honeypot
Please open Telegram to view this post
VIEW IN TELEGRAM
• Весьма интересный и актуальный материал о том, какие меры безопасности реализованы в SSH для организации защищённого доступа в процессе подключения и работы:
• Дополнительный материал:
#SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
• Алгоритм протокола SSH можно разделить на три уровня, каждый из которых располагается над предыдущим: транспорт (открытие защищённого канала), аутентификация, подключение. Для целостности картины добавим сюда уровень установки сетевого соединения, хотя официально этот уровень находится ниже SSH.
/etc/ssh/sshd_config
- Обмен идентификационными данными: после установки TCP-соединения, клиент и сервер обмениваются версиями SSH-протокола и другими вспомогательными данными, необходимыми для выяснения совместимости протоколов и для выбора алгоритмов работы.
- Выбор алгоритмов (обмена ключами, шифрования, сжатия и т.п.): на этом шаге стороны отсылают друг другу списки поддерживаемых алгоритмов, наибольший приоритет имеют алгоритмы в начале каждого списка. Затем сравнивают алгоритмы в полученных списках с алгоритмами, имеющимися в системе, и выбирают первый совпавший в каждом списке. Список доступных алгоритмов обмена ключами на стороне клиента (используются для получения сессионного ключа) можно посмотреть командой:
ssh -Q kex
- Получение сессионного ключа шифрования: Процесс получения сессионного ключа может отличаться в зависимости от версии алгоритма, но в общих чертах сводится к следующему: Сервер отсылает клиенту свой ключ (DSA, RSA или т.п.), если клиент производит соединение с данным сервером впервые, то пользователю будет задан вопрос о доверии ключу сервера. Если же соединение с данным сервером уже устанавливалось ранее, то клиент сравнивает присланный ключ с ключом, записанным в
/home/username/.ssh/known_hosts.
Если ключи не совпадают, то пользователь получит предупреждение о возможной попытке взлома. Как только клиент определился с доверием к ключу сервера, с помощью одной из реализаций алгоритма Диффи-Хеллмана клиент и сервер генерируют сеансовый ключ, который будет использоваться для симметричного шифрования канала.- В общих чертах, аутентификация посредством ключей происходит следующим образом: клиент отсылает серверу имя пользователя и свой публичный ключ. Сервер проверяет в файле
/home/username/.ssh/authorized_keys
наличие присланного клиентом открытого ключа. Если открытый ключ найден, то сервер генерирует случайное число и шифрует его открытым ключом клиента, после чего результат отправляется клиенту. Клиент расшифровывает сообщение своим приватным ключом и отправляет результат серверу. Сервер проверяет полученный результат на совпадение с тем числом, которое он изначально зашифровал открытым ключом клиента, и в случае совпадения считает аутентификацию успешной.#SSH
Please open Telegram to view this post
VIEW IN TELEGRAM
• Стоит отметить, что многие ОС по умолчанию настроены на удобство работы, а не на безопасность. Поэтому в большинстве случае настройки нуждаются в усилении!
• ssh-audit — инструмент для аудита конфигурации ssh-сервера и клиента.
• Кроме утилиты командной строки, для удобства реализован веб-интерфейс, через который она запускается: https://www.ssh-audit.com. Этот сервис чем-то похож на SSL Server Test для быстрого аудита конфигурации SSL. Вместе с программой распространяются советы по улучшению конфигурации с целью повышения безопасности SSH для разных дистрибутивов Linux. Ну и в качестве дополнения не забывайте про подсказки по командам SSH (cheat sheet).
• А еще есть полезная статья с практическими примерами использования туннелей SSH. Например, там приводятся примеры удалённого выполнения команд, удалённого перехвата пакетов, копирования файлов, туннелирования SSH-трафика через сеть Tor, передачи потокового видео по SSH с помощью VLC и SFTP и др.
#SSH #ИБ
Please open Telegram to view this post
VIEW IN TELEGRAM
• Очень ситуативное решение, но с полезным функционалом: ContainerSSH — инструмент, позволяющий поднимать отдельное окружение для пользователя налету, при подключении по SSH.
• Удобно, если используете для тестирования чего-либо, ну или для CTF и всего вот этого вот, где нам нужно получать заранее подготовленное, изолированное окружение при простой SSH авторизации.
➡️ Подробное описание: https://github.com/ContainerSSH
➡️ Документация: https://containerssh.io/v0.5/reference/
#SSH #Tools
• Удобно, если используете для тестирования чего-либо, ну или для CTF и всего вот этого вот, где нам нужно получать заранее подготовленное, изолированное окружение при простой SSH авторизации.
#SSH #Tools
Please open Telegram to view this post
VIEW IN TELEGRAM