Как ограничить SSH (TCP порт 22) соединения с помощью ufw на Ubuntu Linux

Как ограничить попытки подключения ssh с помощью UFW (Uncomplicated Firewall) на сервере Ubuntu или Debian Linux?

UFW означает несложный брандмауэр (Uncomplicated Firewall). Он по умолчанию работает на Ubuntu и может быть установлен на других дистрибутивах Linux, таких как Arch Linux, Debian и т. Д. Это не что иное, как интерфейс для управления брандмауэром Netfilter. Он обеспечивает интерфейс командной строки и нацелен на несложное и простое использование.

blank

Ограничение скорости передачи данных с помощью ufw

Вы можете добавить правило ограничения. В настоящее время поддерживается только IPv4. С помощью этого синтаксиса вы можете запретить соединения с IP-адресом, который пытался инициировать 6 или более соединений за последние 30 секунд. Этот параметр очень полезен для таких служб, как sshd.

Синтаксис

Синтаксис выглядит довольно таки просто:

## ufw limit ssh various usage ##
ufw limit ssh
 
ufw limit ssh/tcp
 
ufw limit ssh comment 'Rate limit for openssh serer'
 
### if sshd is running on tcp port 2022 ####
ufw limit 2022/tcp comment 'SSH port rate limit'

Вышеупомянутые правила полезны для защиты от brute-force атак входа. Когда используется правило ограничения, ufw обычно разрешает соединение, но отказывает в соединениях, если IP-адрес пытается инициировать шесть или более соединений в течение тридцати секунд. После настройки вы можете проверить его с помощью следующей команды:

$ sudo ufw limit ssh/tcp comment 'Rate limit for openssh serer'
$ sudo ufw status

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

Status: active

To                         Action      From
--                         ------      ----
22/tcp                     LIMIT       Anywhere                   # Rate limit for openssh serer
22/tcp (v6)                LIMIT       Anywhere (v6)

Фактические правила в iptables следующие:

-A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource
-A ufw-user-input -p tcp -m tcp --dport 22 -m conntrack --ctstate NEW -m recent --update --seconds 30 --hitcount 6 --name DEFAULT --mask 255.255.255.255 --rsource -j ufw-user-limit
-A ufw-user-input -p tcp -m tcp --dport 22 -j ufw-user-limit-accept
Обратите внимание, что новое правило ssh заменит предыдущее правило ssh.

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

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

Оставьте комментарий