Брандмауэры
Обзор
Использование локального брандмауэра почти всегда является хорошей практикой. Даже если вы находитесь за сетевым брандмауэром, локальный защищает вас от угроз внутри вашей сети.
UFW
UFW расшифровывается как Uncomplicated FireWall (несложный брандмауэр) и является программой для управления брандмауэром netfilter. Она предоставляет интерфейс командной строки и стремится быть понятной и легкой в использовании. UFW намного проще, чем iptables и является хорошим местом для начала, если у вас нет очень специализированных потребностей.
Установка UFW
Вы можете установить пакет ufw
с помощью своего любимого менеджера пакетов или команды:
После установки UFW необходимо запустить и включить его с помощью команд:
Добавление правил
Для просмотра текущей конфигурации можно использовать команду ufw status
. Вот как это выглядит при новой установке:
$ sudo ufw status verbose
Status: active Logging: on (low) Default: deny (incoming), allow (outgoing), disabled (routed) New profiles: skip
Это означает, что он будет блокировать весь входящий трафик и разрешать весь исходящий. Это хорошая отправная точка для большинства настольных систем. Однако часто мы хотим разрешить некоторый входящий трафик. Это можно сделать с помощью команды ufw allow
. Например, если мы хотим разрешить входящий ssh-трафик, чтобы подключаться к машине с других машин в сети, мы должны использовать команду:
Если бы мы хотели также установить tcp-соединения с локальным веб-сервером на нестандартный https-порт 8443 - мы должны были бы использовать команду:
UFW и приложения
Вы можете заметить разницу в двух приведенных выше командах. Когда мы создавали правила для ssh - мы использовали имя службы, а для https - номер порта 8443. Это связано с тем, что UFW имеет небольшую базу данных приложений, для которых он знает порты. Вы можете просмотреть список с помощью команды:
Для приложений из списка вы можете добавить их по имени. Если захотите просмотреть конфигурацию для одного из приложений - можете использовать команду ufw app info
. Например, к конфигурации для ssh:
$ sudo ufw app info SSH
Profile: SSH Title: SSH server Description: SSH server Port: 22/tcp
Некоторые дополнительные предварительно настроенные приложения можно добавить, установив пакет ufw-extras
с помощью своего любимого менеджера пакетов или команды:
Удаление правил
Правила можно удалить с помощью команды ufw delete
. Например, чтобы удалить наши правила для порта 8443 - мы должны использовать команду:
Вы также можете удалять их по номерам. Это проще, если у вас есть нумерованный список, который можно просмотреть с помощью команды:
$ sudo ufw status numbered
Status: active To Action From -- ------ ---- [ 1] 22 ALLOW IN Anywhere [ 2] 22 (v6) ALLOW IN Anywhere (v6)
Теперь, если бы мы захотели запретить ssh на ipv6, то должны использовать команду:
GUFW
Предпочитаете использовать приложения с графическим интерфейсом, но при этом хотите управлять своим брандмауэром? Нет проблем, GUFW - это GTK фронтенд для UFW, цель которого - сделать управление брандмауэром Linux максимально доступным и простым. В нем есть предварительные настройки для общих портов и p2p-приложений.
Если gufw еще не установлен - его можно установить из репозитория:
Теперь он будет доступен в меню Конфигурация брандмауэра или при непосредственном запуске gufw
.
iptables
iptables входит в состав ядра Linux. iptables значительно сложнее, чем такой инструмент, как UFW. В результате, полное руководство по iptables выходит за рамки этой вики-статьи. Использование iptables на Manjaro должно быть одинаковым для любого дистрибутива Linux, поэтому существует множество доступной документации. Часть её находится по ссылке ниже. Вот некоторые основы для начала работы.
Чтобы включить загрузку правил при запуске - нужно использовать комунду:
Это загрузит правила из файла /etc/iptables/iptables.rules
.
To display the currently loaded rules:
To save the current rules to a file
To load the rules from a file
To allow ssh connections
See Also
- The Arch Wiki on UFW
- The UFW website
- The GUFW website
- The iptables man page
- The Arch Wiki on iptables
- The Debian Wiki on iptables