Как установить denyhosts на Ubuntu Linux 16.04 LTS (средство защиты от вторжений)

Как установить denyhosts на Ubuntu Linux 16.04 LTS (средство защиты от вторжений)

@webware

t.me/webware

Я размещаю свой блог в облачном сервере, и я настроил ssh для управления моим Ubuntu Linux 16.04 LTS-сервером. Тем не менее, я зафиксировал множество попыток взлома и использование и brute-force атаки на мой ssh-сервер? Как я могу остановить попытки взлома в моей системе?


Вам необходимо использовать DenyHosts, который является средством защиты от вторжений на основе протокола для серверов SSH, написанных на Python. Он предназначен для предотвращения brute-force атаки на SSH-серверах путем мониторинга недействительных попыток входа в журнал проверки подлинности и блокировки исходящих IP-адресов с использованием /etc/hosts.deny и iptables на сервере Linux. В этом руководстве вы узнаете, как установить DenyHosts в программу python, которая автоматически блокирует атаки ssh, добавляя записи в файл /etc/hosts.deny.


Шаг 1 – Установка denyhosts

Введите следующие команды apt-get command или apt command для того, чтобы установить denyhosts на Ubuntu Linux:

$ sudo apt-get install denyhosts

или

$ sudo apt install denyhosts

Примеры возможных выводов данных:

Шаг 2 – Занесите ваш собственный IP адрес в «белый список»

Отредактируйте /etc/hosts.allow файл, и добавьте IP-адрес вашего клиента. Это гарантирует то, что вы случайно не будете заблокированы:

$ sudo vi /etc/hosts.allow

Синтаксис выглядит следующим образом:

sshd: whitelist-ip1, whitelist-ip2, ...., whitelist-ipN

Например, занесите в «белый список» 202.54.1.1 и 203.54.2.3, для этого введите:

sshd: 202.54.1.1 , 203.54.2.3

Сохраните изменения и выйдете из файла.


Шаг 3 – Настройка denyhosts с помощью /etc/denyhosts.conf

В системе на базе Debian или Ubuntu Linux режим работы по умолчанию — это режим демона (daemon), а файл конфигурации — /etc/denyhosts.conf:

$ sudo vi /etc/denyhosts.conf

Обязательно убедитесь, что SECURE_LOG настроен следующим образом:

SECURE_LOG = /var/log/auth.log

HOSTS_DENY необходимо настроить следующим образом:

HOSTS_DENY = /etc/hosts.deny

Для блокировки только sshd:

BLOCK_SERVICE = sshd

Установить пороговый лимит отказа для попыток входа в систему:

DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1

Блокировать входящие подключения с использованием брандмауэра Linux IPTABLES:

IPTABLES = /sbin/iptables

Сохраните изменения и выйдете из файла.


Перезапустите службу denyhosts

Введите следующую команду на Ubuntu Linux 16.04 LTS или более новой версии:

$ sudo systemctl restart denyhosts.service

Для более старых версий Ubuntu/Debian Linux или систем не на основе systemd, введите:

$ sudo /etc/init.d/denyhosts restart

Включение службы denyhosts на Ubuntu Linux 16.04 LTS во время загрузки

Введите следующую команду:

$ sudo systemctl enable denyhosts.service

Примеры возможных выводов данных:

Synchronizing state of denyhosts.service with SysV init with /lib/systemd/systemd-sysv-install...
Executing /lib/systemd/systemd-sysv-install enable denyhosts


Шаг 4 – Наблюдайте за файлом журнала /var/log/denyhosts для выявления ошибок

Введите следующую команду grep command :

$ sudo grep 'something' /var/log/denyhosts

ИЛИ команду tail :

$ sudo tail -f /var/log/denyhosts

Примеры возможных выводов данных:

2017-02-10 18:23:37,811 - denyhosts  : INFO   restricted: set([])
2017-02-10 18:23:37,812 - AllowedHosts: WARNING Couldn't load warned hosts from /var/lib/denyhosts/allowed-warned-hosts
2017-02-10 18:23:37,812 - denyhosts  : INFO   launching DenyHosts daemon (version 2.10)...
2017-02-10 18:23:37,813 - denyhosts  : INFO   DenyHost daemon is now running, pid: 25774
2017-02-10 18:23:37,813 - denyhosts  : INFO   send daemon process a TERM signal to terminate cleanly
2017-02-10 18:23:37,813 - denyhosts  : INFO    eg. kill -TERM 25774
2017-02-10 18:23:37,814 - denyhosts  : INFO   monitoring log: /var/log/auth.log
2017-02-10 18:23:37,814 - denyhosts  : INFO   sync_time: 3600
2017-02-10 18:23:37,814 - denyhosts  : INFO   purging of /etc/hosts.deny is disabled
2017-02-10 18:23:37,814 - denyhosts  : INFO   denyhost synchronization disabled

Шаг 5 – Как просмотреть список заблокированных хостов

Введите следующую команду cat command :

$ sudo cat /etc/hosts.deny

Примеры возможных выводов данных:

Обратите внимание, что DenyHosts ограничивается соединениями с использованием IPv4. Он не работает с IP-адресом на основе IPv6. Другой вариант — использовать команду iptables для просмотра заблокированного IP-адреса:

$ sudo iptables -L INPUT -n -v
$ sudo iptables -L INPUT -n -v | more
$ sudo iptables -L INPUT -n -v | grep DROP

Примеры возможных выводов данных:

Chain INPUT (policy DROP 526 packets, 103K bytes)
  0   0 DROP    all -- *   *    193.201.224.199   0.0.0.0/0      
 24 1272 DROP   all -- *   *    75.146.185.254    0.0.0.0/0  
  0   0 DROP    all -- *   *    78.56.6.211       0.0.0.0/0  
 80 4744 DROP   all -- *   *    60.250.157.222    0.0.0.0/0       2342 122K DROP  all -- *   *    123.30.37.44      0.0.0.0/0   
  0   0 DROP    all -- *   *    163.172.87.229    0.0.0.0/0   

Как включить поддержку централизованной синхронизации?

DenyHosts версии 2.0 и выше поддерживает централизованную синхронизацию, так что повторные нарушители блокируются со многих компьютеров. Сайт xmlrpc.denyhosts.net собирает статистику с компьютеров, на которых запущено программное обеспечение. Синхронизация отключена по умолчанию. Чтобы включить синхронизацию, введите:

$ sudo vi /etc/denyhosts.conf

Выставит опцию config следующим образом:

SYNC_SERVER = http://xmlrpc.denyhosts.net:9911

Сохраните и закройте файл. Введите следующую команду в Ubuntu Linux 16.04 LTS или новее, чтобы перезапустить службу:

$ sudo systemctl restart denyhosts.service

Для более старых версий Ubuntu/Debian Linux или систем не на основе systemd, введите следующую команду для перезапуска службы:

$ sudo /etc/init.d/denyhosts restart

Как запустить службу denyhosts?

Введите следующую команду в Ubuntu Linux 16.04 LTS или новее, чтобы запустить службу:

$ sudo systemctl start denyhosts.service

Для более старых версий Ubuntu/Debian Linux или систем не на основе system, введите следующую команду для запуска службы:

$ sudo /etc/init.d/denyhosts start

Как прекратить работу службы denyhosts service?

Введите следующую команду в Ubuntu Linux 16.04 LTS или новее, чтобы прекратить работу службу:

$ sudo systemctl stop denyhosts.service

Для более старых версий Ubuntu/Debian Linux или систем не на основе system, введите следующую команду для прекращения работы службы:

$ sudo /etc/init.d/denyhosts stop

Другие рекомендации по обеспечению безопасности сервера OpenSSH

  1. Запретите корневой вход;
  2. Запретите вход на основе пароля;
  3. Используйте вход ssh-keybased.

Для получения большей информации перейдите на домашнюю страницу проекта denyhosts.

Источник codeby.net

Report Page