Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа № 9.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.31 Mб
Скачать

Техника безопасности использования ssh

  • Запрет удаленного root-доступа.

  • Запрет подключения с пустым паролем или отключение входа по паролю.

  • Выбор нестандартного порта для SSH-сервера.

  • Использование длинных SSH2 RSA-ключей (2048 бит и более). Системы шифрования на основе RSA считаются надежными, если длина ключа не менее 1024 бит.

  • Ограничение списка IP-адресов, с которых разрешен доступ (например, настройкой файервола).

  • Запрет доступа некоторых потенциально опасных адресов.

  • Отказ от использования распространенных или широко известных системных логинов для доступа по SSH.

  • Регулярный просмотр сообщений об ошибках аутентификации.

  • В становка систем обнаружения вторжений (IDS - Intrusion Detection System).

  • Использование ловушек, подделывают SSH-сервис (honeypots).

Примеры использования ssh

Команда подключения к локальному SSH-сервера из командной строки GNU / Linux или FreeBSD для пользователя pacify (сервер прослушивает нестандартный порт 30000):

$ Ssh -p 30000 pacify@127.0.0.1

Генерация пары ключей (в UNIX-подобных ОС) осуществляется командой

$ Ssh-keygen

Генерация пары SSH-2 RSA-ключей длиной 4 096 бита программой puttygen под UNIX-подобными ОС:

$ Puttygen -t rsa -b 4 096 -o sample

Некоторые клиенты, например, PuTTY, имеют и графический интерфейс пользователя.

Для использования SSH в Python существуют такие модули, как python-paramiko и python-twisted-conch.

SSH-туннелирования

SSH-туннель - это туннель, который создается с помощью SSH-соединения и используется для шифрования тунельованих данных. Используется для того, чтобы обезопасить передачу данных в Интернете (аналогичное назначение имеет IPsec). Особенность заключается в том, что шифрованный трафик-либо протокола шифруется на одном конце SSH-соединения и расшифровывается на другом.

Практическая реализация может выполняться несколькими способами:

  • Созданием Socks-прокси для программ, которые не умеют работать через SSH-туннель, но могут работать через Socks-прокси

  • Использованием приложений, которые умеют работать через SSH-туннель.

  • Созданием VPN-туннеля, подходит практически для любых приложений.

Если программа работает с одним определенным сервером, можно настроить SSH-клиент таким образом, чтобы он пропускал через SSH-туннель TCP-соединения, приходят на определенный TCP-порт машины, на которой запущен SSH-клиент. Например, клиенты Jabber подключаются по умолчанию на порт 443. Тогда, чтобы настроить подключение к серверу Jabber через SSH-туннель, SSH-клиент настраивается на перенаправление подключений любого порта локальной машины (например, из порта 4430) на удаленный сервер (например , jabber.example.com и порт 443):

$ Ssh -L 4430: jabber.example.com 443 somehost

В данном случае Jabber-клиент настраивается на подключение к порту 4430 сервера localhost (если ssh-клиент запущен на той же машине что и Jabber-клиент).

Для создания ssh-туннеля необходимо машина с запущенным ssh-сервером и доступом к jabber.example.com. Такая конфигурация может использоваться в случае, если с локальной машины доступ к jabber.example.com закрыт файерволом, но есть доступ к некоторому ssh-сервера, у которого ограничение доступа в Интернет отсутствуют.