Несложное введение в Несложный брандмауэр
Если вы хотите лучше защитить свой рабочий стол Linux, но не хотите изучать сложные правила брандмауэра, Джек Валлен хочет познакомить вас с несложным брандмауэром.
Когда я впервые начал использовать Linux, еще в 1997 году, работа со встроенным брандмауэром была недоступна каждому. На самом деле это было довольно сложно. Примерно с 1998 года, если вы хотите управлять безопасностью системы, вам нужно было изучить iptables (набор команд для управления системой фильтрации пакетов Netfilter).
Например, если вы хотите разрешить весь входящий трафик Secure Shell (SSH), вам может потребоваться ввести такие команды:
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
Это все прекрасно, если у вас есть время не только освоить операционную систему Linux, но и знать тонкости управления сложной системой безопасности. Честно говоря, я потратил время и в конечном итоге смог управлять безопасностью своих систем с помощью iptables.
Однако чем больше я был занят, тем труднее становилось поддерживать уровень мастерства, необходимый для того, чтобы не отставать от iptables. Со временем все стало более доступным, и некоторые разработчики дистрибутива Linux начали понимать, что необходима более простая система. Один из наиболее доступных брандмауэров Linux появился в дистрибутиве Ubuntu (около версии 12.04). Этот брандмауэр удачно назван «Несложный брандмауэр».
Несложный межсетевой экран (UFW) — это интерфейс для iptables, ориентированный на простоту. По сравнению с iptables, UFW — это неторопливая прогулка по парку, с которой справится каждый.
Давайте прогуляемся по UFW и посмотрим, насколько просто с его помощью можно управлять брандмауэром системы Linux.
Есть две вещи, которые вам следует знать о UFW:
- Это инструмент командной строки.
- Существуют инструменты с графическим интерфейсом, которые еще больше упрощают эту задачу.
Основы командной строки UFW
Команда UFW на самом деле довольно проста. Давайте придерживаться нашей идеи SSH, описанной выше. Допустим, вы хотите разрешить другим системам доступ к вашему компьютеру через SSH (который прослушивает порт 22).
Во-первых, вам нужно проверить, включен ли UFW. Угадайте, что… это не по умолчанию. Проверьте это, открыв окно терминала и введя команду:
sudo ufw status
Вероятно, вы увидите следующее:
Status: inactive
Как вы его активируете? Выдайте команду:
sudo ufw enable
Вывод команды должен быть:
Брандмауэр активен и включается при запуске системы.
Поздравляем, ваш брандмауэр теперь активен.
Что касается базового использования UFW, то оно выглядит примерно так:
sudo ufw ARGUMENT SERVICE
Где АРГУМЕНТ — это разрешение, запрет, отклонение, ограничение, статус, показ, сброс, перезагрузка, включение, отключение, а СЕРВИС — это служба, с которой вы хотите работать (например, SSH или HTTP).
Далее нам нужно разрешить SSH-трафик в систему. Хотите верьте, хотите нет, но это так просто:
sudo ufw allow ssh
Вы также можете запустить команду, используя номер порта, например:
sudo ufw allow 22
Или, если вы запустите SSH на порту 2022, эта команда будет такой:
sudo ufw allow 2022
Если вы работаете на сервере и вам необходимо разрешить HTTP-трафик, эта команда будет такой:
sudo ufw allow http
Давайте немного продвинулись
Одна из приятных особенностей UFW заключается в том, что даже использование более продвинутых функций не требует глубоких знаний. Допустим, например, вы хотите разрешить вход SSH-трафика, но только с определенного IP-адреса в вашей сети.
Если вы уже разрешили входящий SSH-трафик, сначала вам необходимо удалить это правило с помощью:
sudo ufw delete allow ssh
Теперь, если вы попытаетесь подключиться к машине по SSH, брандмауэр заблокирует эту попытку. Итак, разрешим SSH-соединения с IP-адреса 192.168.1.152. Для этого мы выполним команду:
sudo ufw allow from 192.168.1.152 to any port ssh
После выполнения приведенной выше команды вы сможете войти в систему через SSH только из удаленной системы по IP-адресу 192.168.1.152.
А что насчет графического интерфейса?
Если командная строка не для вас, всегда есть удобный инструмент с графическим интерфейсом, который сделает ее еще проще. Одним из таких инструментов является GUFW, который позволяет вам указать и щелкнуть путь к правилам брандмауэра UFW. Если UFW не установлен в вашем дистрибутиве Linux по умолчанию, вы найдете его в своем магазине приложений. После установки откройте приложение и перейдите на вкладку «Правила» (рис. 1).
Инструмент GUFW еще больше упрощает настройку брандмауэра.
Как видите, я уже добавил несколько правил UFW. Следует иметь в виду, что вы не можете редактировать правила, добавленные через командную строку UFW. Давайте добавим то же правило через графический интерфейс, которое мы только что сделали из командной строки. Нажмите +, а затем (на вкладке «Предварительно настроенные») выберите следующее:
- Политика – Разрешить
- Направление - В
- Категория - Все
- Подкатегория - Все
- Приложение – SSH
Уже одно это создаст правило, разрешающее весь трафик SSH в вашу систему. Однако если вы хотите разрешить трафик только с одного IP-адреса, вам необходимо перейти на вкладку «Дополнительно» и заполнить следующее (Рисунок 2):
- Имя – любое имя по вашему желанию
- Политика – Разрешить
- Направление - В
- Интерфейс - Все интерфейсы
- От - 192.168.1.152
Добавление правила в UFW, разрешающего SSH-трафик только с IP-адреса 192.168.1.62.
Нажмите «Добавить», и ваше правило будет добавлено в брандмауэр.
И это, друзья мои, ваше несложное знакомство с несложным брандмауэром. Но не думайте, что UFW — это не что иное, как очень простая система межсетевого экрана. На самом деле вы можете значительно усложнить задачу, но с точки зрения основ UFW достаточно прост для использования каждым.