Контактная информация

По всем интересующим вас вопросам связывайтесь при помощи контактной информации приведенной на этой странице!

skype: metsof
email: accusser@gmail.com

В социальных сетях...

Форма обратной связи

Авторизация

Статьи об операционной системе Linux

Сайдбар

Установка и настройка SSH в Linux

01 янв. 2014

На SSH-сервер можно входить через логин ssh из локальной сети, а также из Интернета. SSH идеально подходит для удаленной технической поддержки компьютеров. Он пришел на смену telnet и rlogin и отличается от двух этих программ значительно большей надежностью.

Установка и запуск



Обычно на корневом сервере SSH-сервер устанавливается по умолчанию. На пользовательских компьютерах, в зависимости от дистрибутива, может понадобиться установить пакет openssh-server или openssh. SSH-сервер запускается в рамках процесса Init-V. Команды, предназначенные для этого, также варьируются от дистрибутива к дистрибутиву. При первом запуске sshd автоматически создает RSA-файлы, предназначенные для шифрования и обмена информацией. Эти файлы сохраняются в каталоге /etc/ssh/.

Конфигурация. Конфигурационные файлы sshd находятся в каталоге /etc/ssh. За серверную конфигурацию отвечает sshd_config. Как правило, этот файл можно оставить без изменений, так как SSH-сервер должен заработать с ходу. Обмен информацией по умолчанию осуществляется через 1Р-порт 22. Если у вас есть особые пожелания, на страницах man вы найдете много дополнительной информации.

Безопасный FTP. Составной частью SSH-сервера является SFTP-сервер. Это безопасный аналог обычного FTP-сервера. Обычно функции SFTP предоставляются автоматически, пока работает SSH-сервер. Правда, работать с ними могут только SFTP-совместимые клиенты (например, программа sftp). В SFTP предусмотрены лишь пользовательские учетные записи (то есть отсутствует анонимный FTP).

Обеспечение безопасности



В принципе SSH-сервер начинает работать без дополнительной конфигурации. Но в этом кроется значительный риск, который нельзя недооценивать: любой, кто угадает рабочую комбинацию логина и пароля, может войти в систему с вашего компьютера! Взломщики применяют автоматические инструменты, которые ищут серверы в Интернете и пытаются на них зайти. Все подобные действия регистрируются в файле /var/log/auth.log. На общедоступных серверах случается по тысяче попыток взлома в день! По этой причине вам не помешает позаботиться о том, чтобы все пользователи применяли как можно более непростые пароли. Например, можно использовать команду makepasswd из одноименного пакета, которая создает надежные пароли.

В файле /etc/shadow в зашифрованном виде сохранены все пользовательские пароли, и в нем ни в коем случае не должно быть записей без паролей! Эти записи выделяются тем, что в строке между первым и вторым двоеточием отсутствует текст. Обычно там должен находиться или зашифрованный пароль, или — в системных учетных записях — специальный символ (* или !). Эти символы полностью исключают возможность входа в систему. Если в файле действительно найдется запись без пароля, исправьте эту ошибку, указав пароль имя.

Соблюдая перечисленные ниже правила, вы значительно снизите вероятность взлома вашего SSH-сервера. Описанные методы можно применять вместе или по отдельности.

Отсутствие учетной записи администратора



Агрессор пытается заполучить административные права, а проще всего это сделать, войдя в систему с учетной записи администратора. Для этого требуется угадать всего один параметр — пароль администратора. Гораздо безопаснее будет запретить вход в систему от имени администратора, если он осуществляется по SSH. Иначе говоря, по SSH нужно войти в систему под другой учетной записью, а потом перейти на учетную запись администратора с помощью команд su или sudo (проверьте, функционирует ли этот механизм, прежде чем вносить следующее изменение).

# Изменение в /etc/ssh/sshd_config

PermitRootLogin = no


Чтобы данное изменение вступило в силу, нужно заставить sshd заново считать конфигурационные файлы: root# root /etc/init.d/ssh reload

В результате такого приема агрессору теперь неизвестны два параметра: и логин, и пароль!

Изменение SSH-порта



По умолчанию обмен информацией с сервером происходит через порт 22. В строке port вы можете без труда указать другой порт, который в настоящее время не используется. Поскольку многие автоматические инструменты взлома отслеживают только порт 22, вы одновременно избавляетесь от массы проблем, связанных с безопасностью.

Если вы работаете с командой ssh, то при каждом ее применении нужно специально указывать порт для SSH-сервера параметром -p. Обратите внимание, что при работе с scp нужно применять параметр -P, так как -p в этой программе имеет значение preserve и этот параметр сохраняет данные о времени доступа к копируемой информации и другие данные о доступе.

Разумеется, не забывайте и о том, что защита методом изменения порта доступа не является абсолютной. Если ваш сервер серьезно атакован, а не просто кто-то ищет любой плохо защищенный сервер, чтобы установить на нем свой вирус, то атакующие обязательно просканируют все порты. Тогда рано или поздно враг обнаружит ваш SSH-сервер, независимо от того, на каком порту тот работает.

Кроме того, метод изменения порта имеет еще один недостаток, которым нельзя пренебречь. Конфигурация большинства брандмауэров настроена так, что они не перекрывают трафик, идущий через порт 22, а остальные порты вполне могут перекрываться. Если вы работаете на фирме всего пару дней и хотите быстро войти на сервер через SSH, то брандмауэр фирменной сети вас, скорее всего, не пропустит.

Аутентификация с помощью ключей



При работе с SSH-сервером лучше всего использовать для аутентификации не пароль, а специальный ключ.
Если SSH-соединение, в котором используется ключ (то есть не требуется логин) работает нормально, то можно изменить на сервере конфигурационный файл sshd_config. Определяющее значение имеют две строки:

# в /etc/ssh/sshd_config

PasswordAuthentication no UsePAM no


Теперь SSH-аутентификация возможна только с помощью ключа. Но следите за тем, чтобы не выгнать себя самого из собственной системы! Если вы потеряете ключ на своем клиентском компьютере, то уже никак не сможете войти на сервер!
Это и есть основной недостаток аутентификации с применением ключей. Если при использовании паролей вы можете войти на сервер с любого компьютера, то при работе с ключами компьютер для входа на сервер должен иметь специальную конфигурацию. Если же у вас нет доступа к этому (этим) компьютерам, например вы в дороге, у вас сломался ноутбук и т. д. вы не сможете войти на сервер. Здесь мы наблюдаем парадокс: чем надежнее защита, тем меньше гибкость системы...

Библиотека TCP-Wrapper



SSH-сервер работает с особой библиотекой, называемой TCP-Wrapper. Эта библиотека с помощью конфигурационных файлов /etc/hosts.allow и /etc/hosts.deny позволяет указывать, с каких сетевых адресов можно использовать SSH-сервер. Если SSH-сервер установлен на корневом сервере, то такой метод не очень целесообразен, ведь SSH должен быть доступен во всем Интернете. Но если SSH-сервер установлен на сервере локальной сети и администрирование будет выполняться только в ее пределах, то будет очень рационально ограничить таким образом возможности доступа.

Сценарий DenyHosts



Сценарий DenyHosts, написанный на языке Python, отслеживает все попытки входа на SSH. Как только он обнаруживает, что с того или иного IP-адреса поступило много неудачных попыток входа, этот IP-адрес автоматически заносится в файл /etc/hosts.deny. В зависимости от конфигурации файл может или остаться там навсегда, или через некоторое время (день или неделю) будет оттуда удален. Сценарий DenyHosts эффективно пресекает попытки автоматического входа в систему (но не может противостоять массированной атаке, которая одновременно выполняется с очень большого количества разных компьютеров) и к тому же хорошо зарекомендовал себя на тех серверах, с которыми мне доводилось работать. Для многих дистрибутивов существуют готовые пакеты с этим сценарием.

Сценарий DenyHosts в свою очередь запускается сценарием Init-V и интерпретирует конфигурационный файл /etc/|denyhosts.conf. Очень важно, чтобы DenyHosts наблюдал за правильным файлом регистрации (параметр SECURE LOG).

Читайте так же:
Apache Linux

Подпишитесь на рассылку! Никакого спама, только обновления!!!

Комментарии (0)


    Услуги по MODX Revolution

    Посмотреть все услуги

    Техническая оптимизация сайта

    Подробнее & Заказать

    Создание сайта на MODX Revolution

    Подробнее & Заказать

    Перенос сайта на MODX Revolution

    Подробнее & Заказать

    Продвижение сайта на MODX

    Подробнее & Заказать