Firewall в Linux

Ubuntu

Ubuntu поставляется с выключенным брандмауэра, который называется UFW (Uncomplicated Firewall). UFW – это удобный интерфейс для управления правилами брандмауэра iptables, и его главная цель – упростить управление правилами брандмауэра или, как следует из названия, не усложнять.

Проверить статус брандмауэра:

sudo ufw status
Status: inactive

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

Status: active

Установка UFW, при необходимости:

apt-get install ufw

Отключение брандмауэра, без удаления правил:

sudo ufw disable

В ответ получим сообщение, что «Брандмауэр остановлен и отключен при запуске системы»

Firewall stopped and disabled on system startup

Для отключения брандмауэра и удаления всех правил, нужна команда ufw reset:

sudo ufw reset

система запросит подтверждение:

Resetting all rules to installed defaults. This may disrupt existing ssh
connections. Proceed with operation (y|n)?

Сброс всех правил к установленным значениям по умолчанию. Это может нарушить работу существующего ssh связи. Продолжить операцию (y|n)?

Backing up 'user.rules' to '/etc/ufw/user.rules.20190122_115214'
Backing up 'before.rules' to '/etc/ufw/before.rules.20190122_115214'
Backing up 'after.rules' to '/etc/ufw/after.rules.20190122_115214'
Backing up 'user6.rules' to '/etc/ufw/user6.rules.20190122_115214'
Backing up 'before6.rules' to '/etc/ufw/before6.rules.20190122_115214'
Backing up 'after6.rules' to '/etc/ufw/after6.rules.20190122_115214'

 Включить UFW с набором правил по умолчанию (нужно убедиться, что порт SSH открыт для подключения)

sudo ufw enable

далее поступит запрос: Команда может нарушить существующие ssh-соединения. Продолжить операцию (y|n)?

Command may disrupt existing ssh connections. Proceed with operation (y|n)?

после чего получим подтверждение: Брандмауэр активен и включается при запуске системы

Firewall is active and enabled on system startup

Настройка UFW

Для проверки работает ли UFW:

systemctl status ufw

Если работает, то:

ufw.service - Uncomplicated firewall
   Loaded: loaded (/lib/systemd/system/ufw.service; enabled; vendor preset: enab
   Active: active (exited) since Tue 2018-05-15 20:32:12 UTC; 4min 1s ago
  Process: 376 ExecStart=/lib/ufw/ufw-init start quiet (code=exited, status=0/SU
 Main PID: 376 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/ufw.service

Apr 15 20:32:12 ip-112-31-41-251 systemd[1]: Started Uncomplicated firewall.
Warning: Journal has been rotated since unit was started. Log output is incomple

Настройка правил по умолчанию UFW

Первым делом открываем SSH:

ufw allow 22/tcp

Исходящий

Skipping adding existing rule
Skipping adding existing rule (v6)

Доступ к SSH также может быть разрешено имя службы

ufw allow ssh

Для удаления правила:

ufw delete allow 22/ssh

Запретить услугу по имени сервиса (например, ufw deny ssh)

ufw deny service-name

Для установки правил по умолчанию, которые разрешают все исходящие протоколы:

sudo ufw default allow outgoing

Вывод

Default outgoing policy changed to 'allow'
(be sure to update your rules accordingly)

Исходящая политика по умолчанию изменена на «разрешить» (не забудьте обновить свои правила соответствующим образом)

Для запрета всех входящих соединений:

sudo ufw default deny incoming

Вывод

Default outgoing policy changed to 'deny'
(be sure to update your rules accordingly)

Вышеуказанные команды позволят всем исходящим соединениям запретить или блокировать все входящие соединения.

Увидеть все услуги, которые могут быть разрешены или запрещены в системе проверьте файл /etc/services

cat /etc/services | less

Пример вывода

ftp-data        20/tcp
ftp             21/tcp
fsp             21/udp          fspd
ssh             22/tcp                          # SSH Remote Login Protocol
ssh             22/udp
telnet          23/tcp
smtp            25/tcp          mail
time            37/tcp          timserver
time            37/udp          timserver
rlp             39/udp          resource        # resource location
nameserver      42/tcp          name            # IEN 116
whois           43/tcp          nicname
tacacs          49/tcp                          # Login Host Protocol (TACACS)
tacacs          49/udp
re-mail-ck      50/tcp                          # Remote Mail Checking Protocol
re-mail-ck      50/udp
domain          53/tcp                          # Domain Name Server
domain          53/udp

andreyex.ru/ubuntu/kak-nastroit-brandmauer-ufw-na-ubuntu-18-04/

andreyex.ru/ubuntu/10-neobxodimyx-komand-ssh-dlya-raboty-s-ubuntu/