Архивы: по дате | по разделам | по авторам

Здравствуй, Ubuntu! Часть 3

АрхивОбзоры и тесты
автор : Евгений Крестников   29.01.2009

Есть мнение, что на домашнем компьютере, работающем под управлением GNU/Linux, межсетевой экран не нужен. Позволим себе не согласиться с этой точкой зрения.

В следующем материале, посвященном Ubuntu Linux мы затронем более сложную тему — настройку межсетевого экрана. Статья предназначена для пользователей Windows, решивших установить на своей домашней машине Linux.

Есть мнение, что на домашнем компьютере, работающем под управлением GNU/Linux, межсетевой экран не нужен. Позволим себе не согласиться с этой точкой зрения — уязвимости находят не только в программах для Windows, а пользователи не всегда работают в защищенных сетях. Так что брандмауэр на вашей машине лишним не будет.

Где взять файрвол?

Первый вопрос, который возникает у пользователей Windows: где взять файрвол для Linux и как его установить? На самом деле ничего устанавливать не нужно — межсетевой экран netfilter/iptables входит в состав Ubuntu Linux. Он позволяет фильтровать и модифицировать (в том числе для трансляции сетевых адресов) пакеты по заданным через утилиту iptables правилам. Хочу обратить особое внимание на один момент — межсетевой экран работает в контексте ядра системы, в userspace запускаются только средства для его настройки, либо внешние программы для обработки пакетов. Поскольку netfilter отличается от привычных вам средств Windows, скажем пару слов о его архитектуре. Итак, все пакеты пропускаются через цепочки, представляющие из себя упорядоченные списки правил. Когда пакет проходит через цепочку, netfilter проверяет, соответствует ли он очередному правилу, и если да — выполняет нужное действие (пропустить, удалить, передать внешнему анализатору, вернуть в предыдущую цепочку и т.д.). Цепочки объединены в таблицы, притом цепочки с одинаковым названием но в разных таблицах являются различными объектами. Таким образом, мы имеем совокупность наборов правил, которые работают в определенной последовательности. Если вы хотите серьезно заняться изучением администрирования GNU/Linux — этих сведений вам будет маловато, но для настройки межсетевого экрана домашней машины их вполне достаточно. Подробнее об netfilter/iptables можно прочесть на сайте проекта. Перевод документации доступен на http://www.opennet.ru/.

Не ищите трудностей. Firewall — это просто!

Чтобы настроить простой межсетевой экран, не обязательно разбираться с тонкостями работы netfilter или изучать синтаксис iptables. Можно воспользоваться более простой в использовании конфигурационной утилитой ufw, (если пакет не установлен, поставьте его с помощью команды sudo apt-get install ufw).

Программа очень проста в использовании, для включения межсетевого экрана достаточно отдать команду:
sudo ufw enable

Для его отключения:


sudo ufw disable

Также ufw позволяет разрешить/запретить входящие соединения при помощи команд:


sudo ufw default allow или sudo ufw default deny

Обратите внимание, что речь здесь идёт именно о соединениях, а не о входящих пакетах вообще — после команды sudo ufw default deny инициировать входящее соединение с вашей машиной станет невозможно, при этом входящие пакеты для соединений, инициированных вами, приниматься будут. Например, будет работать "аська" или торрент-клиент, но на машину нельзя будет "зайти" по telnet или http. Кроме того, ufw позволяет добавлять собственные правила фильтрации трафика, например команда:

sudo ufw allow from 192.168.0.0/24

открывает полный доступ к вашей машине из сети 192.168.0.0/24 (обычно подобные адреса используются для организации домашней сети, хотя у вас они могут быть другими). Запретить доступ, скажем, к 80-му tcp-порту (его слушает веб-сервер) можно следующим образом:

sudo ufw deny 80/tcp

Можно разрешать или запрещать доступ к портам для конкретного диапазона ip-адресов, работать с группой портов, удалять созданные правила и так далее. Притом все изменения применяются немедленно и сохраняются после перезагрузки компьютера. Для получения подробной информации по синтаксису ufw наберите команду:

man ufw

В принципе, особой необходимости изучать этот мануал нет: для тех, кто привык работать с графическим интерфейсом, есть пакет gufw — графический фронтед к программе ufw. Установите его, после чего запустите [Главное меню/Система/Администрирование/Настройка файрвола] (окно программы показано на рисунке 1). Как видно из рисунка — никаких сложностей, любой, кто привык настраивать межсетевой экран Windows, без особого труда справится с задачей. Вообще, по своим возможностям ufw напоминает встроенный брандмауэр Windows, но при этом следует помнить важное отличие: ufw/gufw — не сам межсетевой экран, а всего лишь средства для его настройки. Средства простые в использовании, но ограниченные, позволяющие воспользоваться только частью функционала netfilter/iptables. Для более тонкой настройки вам придется воспользоваться утилитой iptables.

Политика настройки

Как настроить файрвол через ufw на домашней машине? Рекомендуем заблокировать входящие соединения и по мере необходимости добавлять разрешающие правила. Какие? Это зависит от сервисов, запущенных на компьютере. Кстати о сервисах, часто бывает нужно узнать, какие порты "слушает" ваш компьютер. Можно проделать при помощи команды netstat. Более того, если запустить sudo netstat -ap, можно узнать не только какие порты слушаются, но и какие программы это делают (вывод команды показан на рисунке 2). Есть еще один вариант — разрешить все входящие соединения и добавить дополнительные запрещающие правила. Сделать это при помощи gufw не сложнее, чем настроить брэндмауэр Windows XP. О вопросах тонкой настройки netfilter/iptables мы поговорим в следующих статьях, межсетевой экран GNI/Linux может многое, но его возможности сложно описать в короткой заметке.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.