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

Как установить denyhosts на Ubuntu Linux 16.04 LTS (средство защиты от вторжений)Я размещаю свой блог в облачном сервере, и я настроил 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

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

Как установить denyhosts на Ubuntu Linux 16.04 LTS (средство защиты от вторжений)
Рисунок 01: Как установить DenyHosts на Ubuntu или Debian Linux Server

Шаг 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

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

Как увидеть список IP-адресов, заблокированных DenyHosts, в Linux или Unix
Рисунок 02: Как увидеть список IP-адресов, заблокированных DenyHosts, в Linux или Unix

Обратите внимание, что 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.

Перевод: Анна Давыдова
Источник: cyberciti.biz

Это интересно:

Оставить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *