Назад | Перейти на главную страницу

ufw deny from ip, похоже, не работает

Я следил за журналом доступа к моему серверу, работая сегодня, и заметил, что один из сайтов WordPress моего клиента забивается попытками входа с IP-адреса из другой страны.

Я хотел запретить доступ с этого IP-адреса и попробовал следующую команду ufw:

sudo ufw deny from xx.xx.xx.xx to any

Я вижу, что правило было добавлено, и брандмауэр активен, но я все еще вижу тонны сообщений на странице входа с этого IP-адреса.

Я также пробовал использовать iptables, хотя я не очень хорошо знаком с инструментом:

sudo iptables -A INPUT -s xx.xx.xx.xx -j DROP

Я сделал это неправильно? Я бы подумал, что после отказа в доступе к IP-адресу он не будет отображаться в моем журнале доступа apache со статусом 200 ok для публикации на странице входа.

Изменить: как я уже упоминал, ufw активен, и правило действует, вот вывод статуса ufw (с заблокированным ip):

root@mel:~# ufw status
Status: active

To                         Action      From
--                         ------      ----
22                         ALLOW       Anywhere
80                         ALLOW       Anywhere
1723                       ALLOW       Anywhere
8080                       ALLOW       Anywhere
6273                       ALLOW       Anywhere
36728                      DENY        Anywhere
Anywhere                   DENY        xx.xx.xx.xx
22                         ALLOW       Anywhere (v6)
80                         ALLOW       Anywhere (v6)
1723                       ALLOW       Anywhere (v6)
8080                       ALLOW       Anywhere (v6)
6273                       ALLOW       Anywhere (v6)
36728                      DENY        Anywhere (v6)

Порядок правил брандмауэра важен. Поскольку вначале вы разрешили порт 80 для всех, это правило будет соответствовать всем запросам, а правило отказа, которое появится позже, никогда не будет выполнено.

Итак, если вам нужно что-то заблокировать особенно, поместите его в начало, а затем позволять все.

Чтобы увидеть свои правила со ссылочным номером, используйте это:

sudo ufw status numbered

Затем сначала удалите правило запрета, которое вы добавили:

sudo ufw delete rule_number_here

Затем снова добавьте его вверху:

sudo ufw insert 1 deny from xx.xx.xx.xx to any

Для дальнейшей ссылки: https://help.ubuntu.com/community/UFW#Deny_Access

Также обратите внимание, что ufw - не лучший инструмент для защиты от таких атак. Попробуй использовать fail2ban, который может делать это динамически.

Вот соответствующие инструкции: Как защитить сервер Apache с помощью Fail2Ban в Ubuntu 14.04