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

Установка и настройка сервера 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()

Решение проблемы найдено Костинским Юрием. Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.