Установить UFW
UFW по умолчанию установлен в Ubuntu 18.04, но вы можете проверить это:
which ufw
Вы должны получить следующий вывод:
/usr/sbin/ufw
Если вы не получаете вывод, это означает, что UFW не установлен. Вы можете установить его самостоятельно, если это так:
sudo apt-get install ufw
Разрешить соединения
Если вы используете веб-сервер, вы хотите, чтобы весь мир имел доступ к вашим веб-сайтам. Поэтому вам нужно убедиться, что TCP-порты по умолчанию для Интернета открыты.
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
В общем, вы можете разрешить любой порт, который вам нужен, используя следующий формат:
sudo ufw allow <port>/<optional: protocol>
Запретить соединения
Если вам нужно запретить доступ к определенному порту, используйте deny
команду:
sudo ufw deny <port>/<optional: protocol>
Например, вы можете запретить доступ к порту MySQL по умолчанию:
sudo ufw deny 3306
UFW также поддерживает упрощенный синтаксис для наиболее распространенных сервисных портов:
root@ubuntu:~$ sudo ufw deny mysql
Rule updated
Rule updated (v6)
Настоятельно рекомендуется ограничить доступ к своему SSH-порту (по умолчанию это порт 22
) из любой точки, кроме доверенных IP-адресов.
Разрешить доступ с доверенного IP-адреса
Как правило, вам необходимо разрешить доступ только к публично открытым портам, таким как порт 80
. Доступ ко всем остальным портам должен быть ограничен или ограничен. Вы можете внести в белый список IP-адрес своего дома или офиса (предпочтительно статический IP-адрес), чтобы иметь доступ к вашему серверу через SSH или FTP:
sudo ufw allow from 192.168.0.1 to any port 22
Вы также можете разрешить доступ к порту MySQL:
sudo ufw allow from 192.168.0.1 to any port 3306
Включить UFW
Перед включением (или перезапуском) UFW необходимо убедиться, что порту SSH разрешено принимать соединения с вашего IP-адреса. Чтобы запустить / включить брандмауэр UFW, используйте следующую команду:
sudo ufw enable
Вы увидите следующий вывод:
root@ubuntu:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
Нажмите Y, затем нажмите, ENTERчтобы включи��ь брандмауэр:
Firewall is active and enabled on system startup
Проверьте статус UFW
Распечатайте список правил UFW:
sudo ufw status
Вы увидите вывод, похожий на следующий:
Status: active
To Action From
-- ------ ----
80/tcp DENY Anywhere
443/tcp DENY Anywhere
3306 DENY Anywhere
22 ALLOW 192.168.0.1
3306 ALLOW 192.168.0.1
80/tcp (v6) DENY Anywhere (v6)
443/tcp (v6) DENY Anywhere (v6)
3306 (v6) DENY Anywhere (v6)
Используйте verbose
параметр, чтобы увидеть более подробный отчет о состоянии:
sudo ufw status verbose
Этот вывод будет выглядеть следующим образом:
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing), disabled (routed)
New profiles: skip
To Action From
-- ------ ----
80/tcp DENY IN Anywhere
443/tcp DENY IN Anywhere
3306 DENY IN Anywhere
22 ALLOW IN 192.168.0.1
3306 ALLOW IN 192.168.0.1
80/tcp (v6) DENY IN Anywhere (v6)
443/tcp (v6) DENY IN Anywhere (v6)
3306 (v6) DENY IN Anywhere (v6)
Отключить / перезагрузить / перезапустить UFW
Если вам нужно перезагрузить правила брандмауэра, выполните следующее:
sudo ufw reload
Чтобы отключить или остановить UFW:
sudo ufw disable
Чтобы перезапустить UFW, вам нужно сначала отключить его, а затем включить снова:
sudo ufw disable
sudo ufw enable
Примечание. Перед включением UFW убедитесь, что порт SSH разрешен для вашего IP-адреса.
Удаление правил
Чтобы управлять вашими правилами UFW, вам нужно перечислить их. Вы можете сделать это, проверив статус UFW с помощью параметра numbered
:
sudo ufw status numbered
Вы увидите вывод, похожий на следующий:
Status: active
To Action From
-- ------ ----
[ 1] 80/tcp DENY IN Anywhere
[ 2] 443/tcp DENY IN Anywhere
[ 3] 3306 DENY IN Anywhere
[ 4] 22 ALLOW IN 192.168.0.1
[ 5] 3306 ALLOW IN 192.168.0.1
[ 6] 80/tcp (v6) DENY IN Anywhere (v6)
[ 7] 443/tcp (v6) DENY IN Anywhere (v6)
[ 8] 3306 (v6) DENY IN Anywhere (v6)
Теперь, чтобы удалить любое из этих правил, вам нужно использовать эти числа в квадратных скобках:
sudo ufw delete [number]
Чтобы удалить HTTP
правило ( 80
), используйте следующую команду:
sudo ufw delete 1
Включение поддержки IPv6
Если вы используете IPv6 на своем VPS, вам нужно убедиться, что поддержка UFW включена в IPv6. Для этого откройте файл конфигурации в текстовом редакторе:
sudo vi /etc/default/ufw
После открытия убедитесь, что IPV6
установлено значение «да»:
IPV6=yes
После внесения изменений сохраните файл. Затем перезапустите UFW, отключив и снова включив его:
sudo ufw disable
sudo ufw enable
Вернуться к настройкам по умолчанию
Если вам нужно вернуться к настройкам по умолчанию, просто введите следующую команду. Это отменит любые ваши изменения:
sudo ufw reset
Поздравляем, вы только что установили некоторые основные правила брандмауэра. Чтобы узнать еще несколько примеров, ознакомьтесь с UFW - Community Help Wiki .