
DenyHosts это бесплатная программа безопасности для предотвращения вторжений с открытым исходным кодом для SSH серверы, разработанные в Python язык Фил Шварц. Он предназначен для мониторинга и анализа журналов SSH-сервера на предмет недопустимых попыток входа в систему, атак на основе словаря и атак грубой силы путем блокировки исходящего IP адресов, добавив запись в /etc/hosts.deny файл на сервере и предотвращает дальнейшие попытки входа в систему с IP-адреса.
DenyHosts очень необходимый инструмент для всех систем на базе Linux, особенно когда мы разрешаем логины ssh на основе пароля. В этой статье мы покажем вам, как установить и настроить DenyHosts на RHEL 6.3 / 6.2 / 6.1 / 6 / 5.8, CentOS 6.3 / 6.2 / 6.1 / 6 / 5.8 и Fedora 17,16,15,14,13,12 системы, использующие репозиторий epel.
Смотрите также :
По умолчанию DenyHosts инструмент не включен в системы Linux, нам необходимо установить его с помощью сторонних разработчиков. Репозиторий EPEL. После добавления репозитория установите пакет, используя следующие Вкуснятина команда.
# yum --enablerepo = epel install denyhosts. ИЛИ. # yum install denyhosts
Однажды Denyhosts установлен, обязательно внесите свой IP адрес, поэтому вас никогда не заблокируют. Для этого откройте файл /etc/hosts.allow.
# vi /etc/hosts.allow
Под описанием добавьте каждый айпи адрес один за другим в отдельной строке, которую вы никогда не хотите блокировать. Формат должен быть следующим.
# # hosts.allow Этот файл содержит правила доступа, которые используются. # разрешить или запретить подключения к сетевым службам, которые. # либо использовать библиотеку tcp_wrappers, либо уже использованную. # запускается через xinetd с tcp_wrappers. # # См. 'Man 5 hosts_options' и 'man 5 hosts_access' # для получения информации о синтаксисе правила. # См. 'Man tcpd' для информации о tcp_wrappers. #sshd: 172.16.25.125sshd: 172.16.25.126sshd: 172.16.25.127
Основной файл конфигурации находится в /etc/denyhosts.conf. Этот файл используется для отправки по электронной почте предупреждений о подозрительных входах в систему и ограниченных хостах. Откройте этот файл, используя VI редактор.
# vi /etc/denyhosts.conf
Искать ‘ADMIN_EMAIL‘И добавьте сюда свой адрес электронной почты, чтобы получать уведомления по электронной почте о подозрительных входах в систему (для нескольких предупреждений по электронной почте используйте запятую). Пожалуйста, посмотрите файл конфигурации моего CentOS 6.3 сервер. Каждая переменная хорошо документирована, поэтому настройте ее по своему вкусу.
############ ОТКАЗАТЬ ТРЕБУЕМЫЕ НАСТРОЙКИ ############ SECURE_LOG = / var / log / secure. HOSTS_DENY = /etc/hosts.deny. BLOCK_SERVICE = sshd. DENY_THRESHOLD_INVALID = 5. DENY_THRESHOLD_VALID = 10. DENY_THRESHOLD_ROOT = 1. DENY_THRESHOLD_RESTRICTED = 1. WORK_DIR = / var / lib / denyhosts. SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS = ДА. HOSTNAME_LOOKUP = ДА. LOCK_FILE = / var / lock / subsys / denyhosts ############ DENYHOSTS ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ ############ ADMIN_EMAIL =[электронная почта защищена] SMTP_HOST = локальный хост. SMTP_PORT = 25. SMTP_FROM = DenyHosts <[электронная почта защищена]>SMTP_SUBJECT = Ежедневный отчет DenyHosts ############ ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ DENYHOSTS ########### DAEMON_LOG = / var / log / denyhosts. DAEMON_SLEEP = 30 с. DAEMON_PURGE = 1 час
Закончив настройку, перезапустите запретить хозяевам сервис для новых изменений. Мы также добавляем запретить хозяевам услуги по запуску системы.
# chkconfig denyhosts on. # запуск службы denyhosts
Смотреть запретить хозяевам ssh регистрирует, сколько злоумышленников и хакеров пытаются получить доступ к вашему серверу. Используйте следующую команду для просмотра журналов в реальном времени.
# хвост -f / var / log / secure
28 ноября 15:01:43 tecmint sshd [25474]: принят пароль для root от 172.16.25.125 порта 4339 ssh2. 28 ноября 15:01:43 tecmint sshd [25474]: pam_unix (sshd: session): сеанс открыт для пользователя root пользователем (uid = 0) 28 ноября, 16:44:09 tecmint sshd [25474]: pam_unix (sshd: session): сеанс закрыт для пользователя root. 29 ноября, 11:08:56 tecmint sshd [31669]: принят пароль для root от 172.16.25.125 порта 2957 ssh2. 29 ноября, 11:08:56 tecmint sshd [31669]: pam_unix (sshd: session): сеанс открыт для пользователя root пользователем (uid = 0) 29 ноября, 11:12:00 tecmint atd [3417]: pam_unix (atd: session): сеанс открыт для пользователя root пользователем (uid = 0) 29 ноября, 11:12:00 tecmint atd [3417]: pam_unix (atd: session): сеанс закрыт для пользователя root. 29 ноября, 11:26:42 tecmint sshd [31669]: pam_unix (sshd: session): сеанс закрыт для пользователя root. 29 ноября, 12:54:17 tecmint sshd [7480]: принят пароль для root от 172.16.25.125 порта 1787 ssh2.
Если вы когда-нибудь случайно блокировали и хотите удалить заблокированное айпи адрес из запретить хозяевам. Вам нужно остановить службу.
# /etc/init.d/denyhosts stop
Чтобы удалить или удалить забаненный IP адрес полностью. Вам необходимо отредактировать следующие файлы и удалить IP-адрес.
# vi /etc/hosts.deny. # vi / var / lib / denyhosts / hosts. # vi / var / lib / denyhosts / hosts-limited. # vi / var / lib / denyhosts / hosts-root. # vi / var / lib / denyhosts / hosts-valid. # vi / var / lib / denyhosts / пользователи-хосты
После удаления заблокированного IP-адреса снова перезапустите службу.
# /etc/init.d/denyhosts start
Оскорбительный IP-адрес добавлен ко всем файлам в /var/lib/denyhosts каталог, поэтому очень сложно определить, какие файлы содержат неправильный IP-адрес. Один из лучших способов узнать IP-адрес с помощью команда grep. Например, чтобы узнать IP-адрес 172.16.25.125, делать.
cd / var / lib / denyhosts. grep 172.16.25.125 *
Если у вас есть список статических IP-адресов, которые вы хотите добавить в белый список навсегда. Открыть файл /var/lib/denyhosts/allowed-hosts файл. Какой бы IP-адрес ни был включен в этот файл, по умолчанию он не будет заблокирован (считайте это списком).
# vi / var / lib / denyhosts / разрешенные хосты
И добавьте каждый IP-адрес в отдельной строке. Сохраните и закройте файл.
# Мы не должны блокировать localhost. 127.0.0.1. 172.16.25.125. 172.16.25.126. 172.16.25.127