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

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

  1. Если IP-адрес заблокирован fail2ban из-за неудачной аутентификации на одном порту, сможет ли этот пользователь войти через другие открытые порты?
  2. Как происходит блокировка определенных портов? сравнить с блокировкой всех портов с использованием конфигурации, упомянутой здесь? Разве не было бы безопаснее заблокировать все открытые порты, поскольку в конечном итоге я не хочу, чтобы хакер проник?
1
задан 25 August 2020 в 18:27
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] (и всех служб) порт переопределен

[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

, которое повлияет на все службы, не переопределяющие запрет действия.

Перезапуск fail2ban

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

systemctl restart fail2ban.service

или

service fail2ban restart

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

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

1
ответ дан 25 August 2020 в 15:13

Теги

Похожие вопросы