Чем блокировка определенных портов с помощью fail2ban отличается от блокировки всех портов?

Чем блокировка определенных портов с помощью fail2ban отличается от блокировки всех портов?

Я настраиваю fail2ban для своих экземпляров EC2, на каждом из которых запущены разные службы. Поэтому я настраиваю джейлы специально для каждой службы. У меня два вопроса (на которые я не смог найти ответ в другом месте):

  1. Если IP-адрес заблокирован fail2ban из-за неудачной аутентификации на одном порту, сможет ли этот пользователь по-прежнему войти через другие открытые порты?
  2. Как блокировка определенных портов сравнивается с блокировкой всех портов с использованием конфигурации, упомянутой здесь? Не будет ли более безопасным заблокировать все открытые порты, поскольку в конечном итоге я не хочу, чтобы хакер проник?

решение1

(Предполагается, что ОС — Linux)

fail2ban— это хорошо сделанный инструмент, обладающий высоким уровнем конфигурации.

В Linux Ubuntu конфигурация выглядит следующим образом:/etc/fail2ban

Вопрос 1

jail.confЕсли вы не измените конфигурацию, будут заблокированы только порты, указанные для конкретной службы.

вопрос 2

Вы также можете заблокировать все порты. Это зависит от желаемого уровня безопасности, но блокировка всех портов может иметь недостатки.

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

  • если другие порты также используются не по назначению (и если они объявлены в jail.conf), они также будут заблокированы
  • некоторые IP-адреса используются целой компанией или многими людьми; поэтому, блокируя все порты для злоупотребления ssh, вы не позволите всем, кто использует этот адрес, получить доступ, http/sнапример
  • вас также может коснуться полная блокировка. Например, вы допустили несколько ошибок в пароле, используя ssh, и другой порт, который разрешал бы другой доступ, например, от провайдера, не будет доступен.

Чтобы заблокировать больше или все порты, вы можете изменить файл jail.conf.

Некоторые атрибуты по умолчанию: (в [DEFAULT])

# "bantime" is the number of seconds that a host is banned.
bantime  = 10m
# A host is banned if it has generated "maxretry" during the last "findtime"
# seconds.
findtime  = 10m
# "maxretry" is the number of failures before a host get banned.
maxretry = 5

# Ports to be banned (Usually should be overridden in a particular jail)
port = 0:65535

т.е. все порты.

Например [sshd](и все услуги) portпереопределяется

[sshd]
port    = ssh

Вы можете просто закомментировать portстроку, чтобы вернуться к значениям по умолчанию, но я бы добавил комментарий и новую строку порта для более легкого обслуживания (другие люди/вы через 3 года)

[sshd]
# 25 Aug 2020 Rohit, block all ports
#port    = ssh
port = 0:65535

Изменение значения по умолчанию

Вы увидите в action.dкаталоге список возможных действий. По умолчанию в jail.conf,

banaction = iptables-multiport

который также может быть изменен на

banaction = iptables-allports

это повлияет на все услуги, не переопределяемые banaction.

Перезапуск fail2ban

Затем перезапустите службу, для systemd

systemctl restart fail2ban.service

или

service fail2ban restart

(К вашему сведению, в filter.dсправочнике для каждой услуги указан путьfail2banобнаруживает попытку вторжения)

Ознакомьтесь также с комментариями ниже, которые могут содержать ценную информацию.

Связанный контент