Настройка SSH и DenyHosts

Установка и настройка сервера SSH
В установке сервера SSH нет ничего сложного. Выполним команду:
$sudo aptitude install ssh

Далее приступим к настройке. Откроем для редактирования файл /etc/ssh/sshd_conf.
Установим в нем запрет удаленного входа в систему с правами root.
Для этого переменную PermitRootLogin установим в no.
Для большей безопасности явно определим список пользователей, которым разрешено удаленное подключение к серверу.
Для этого добавим в файл конфигурации строку AllowUsers user, где user — имя нашего пользователя.
Для применения изменений перезапустим ssh-сервер:
$sudo /etc/init.d/ssh restart

Установка и настройка DenyHosts
Для того, чтобы обезопасить нашу систему от подбора пароля по ssh, установим программу DenyHosts:
$sudo aptitude install denyhosts

Далее перейдем к настройке программы. Для этого откроем для редактирования файл /etc/denyhosts.conf.

PURGE_DENY
Переменную PURGE_DENY оставим пустой для того, чтобы хосты, с которых была зарегистрирована атака, всегда оставались в черном списке. При необходимости их всегда можно добавить в белый список, который имеет больший приоритет.

BLOCK_SERVICE
Данную переменную предпочтительно выставить в «all», так как, в случае атак с какого-либо адреса на ssh, могут начаться и любые другие атаки с данного адреса.

DENY_THRESHOLD_INVALID
Переменная показывает, сколько раз можно попробовать подобрать пароль к несуществующему пользователю. Рекомендуемое значение «5».

DENY_THRESHOLD_VALID
Переменная показывает, сколько раз можно попробовать подобрать пароль к существующему пользователю. Рекомендуемое значение «3».

DENY_THRESHOLD_ROOT

Переменная показывает, сколько раз можно попробовать подобрать пароль к пользователю root. Рекомендуется выставить значение в «1». В случае запрета соединения для root в настройках ssh-сервера, данная переменная особого значения не имеет.

SYNC_SERVER

Раскомментируем строку с переменой SYNC_SERVER для обмена списком «плохих» хостов (хостов, с которых была зарегистрирована атака) с центральным сервером программы.

SYNC_INTERVAL
Переменная показывает промежуток времени для синхронизации. Установим значение этой переменной в «1h».

SYNC_UPLOAD
Переменная показывает, можно ли загрузить на центральный сервер список «плохих» хостов. Рекомендуется установить в «yes», чтобы другие пользователи могли от них превентивно защититься.

SYNC_DOWNLOAD

Переменная показывает, можно ли загружать с сервера список «плохих» хостов. По умолчанию имеет значение «yes». Рекомендуется не изменять значение.

Остальные параметры рекомендуется не изменять. Рекомендуется изменять только в том случае, если возникнет необходимость настроить оповещения об отбитых атаках и, соответственно, о заблокированных хостах.

Дополнение к статье
При обновлении может возникнуть ошибка "long int exceeds XML-RPC limits"
(http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=546772)
Данная ошибка связана с обработкой longint и питонскими библиотеками.
Здесь было предложено временное решение:
в файле /usr/share/denyhosts/DenyHosts/sync.py в строке 47 изменить
timestamp = long(timestamp.strip()) на timestamp = timestamp.strip()

*Решение проблемы найдено Костинским Юрием, kuroneko@koneko.org.ua 

Автор статьи:
Якимчук Сергей,
Руководитель отдела технической поддержки IT Stream

Возврат к списку