В рубрику "Оборудование и технологии" | К списку рубрик | К списку авторов | К списку публикаций
Unix-подобные операционные системы с момента их появления были направлены не на домашнее использование на рабочих станциях, как системы Windows, а на решение задач, связанных с сетями, серверами и безопасностью.
Каждому пользователю операционных систем Linux скорее всего известно, что дистрибутивы данных систем поставляются уже со встроенным межсетевым экраном iptables. Причем, несмотря на простоту приложения, его функциональности достаточно для решения задач построения NAT, шлюза (например, выход в Интернет для корпоративной сети) и решения задач безопасности (открытие только необходимых портов, контроль трафика, блокировка определенных IP или диапазонов).
В данной статье мы рассмотрим возможности настройки безопасности сети, предполагая, что сервер, на котором установлена операционная система Linux, является шлюзом с выходом в Интернет, то есть весь входящий и исходящий трафик из внутренней сети во внешнюю проходит непосредственно через наш сервер. Соответственно в данной модели наша машина должна иметь минимум два сетевых интерфейса (обозначим их eth0 и eth1). Подробности настройки прохождения трафика с одного интерфейса на другой рассматривать не будем, поскольку это задача не относится к безопасности прохождения трафика.
Предположим, что внутренняя сеть является обычной корпоративной сетью, то есть имеется почтовый сервер (а значит, и соответствующий трафик должен проходить минимум по двум портам – SMTP и POP3), http, https, ftp, dns. Следует заметить, что многие протоколы работают по зарезервированным портам. Подробный список портов и протоколов можно посмотреть здесь: http://en.wikipedia.org/wiki/List_of_T CP_and_UDP_port_numbers.
Когда пакет приходит на сетевое устройство, то он перехватывается соответствующим драйвером и потом передается в ядро операционной системы. Затем пакет проходит ряд таблиц межсетевого экрана и либо передается приложению, либо перенаправляется на другой компьютер.
На примере iptables выделяются три вида таблиц:
Для фильтрации трафика используется третья таблица, имеющая встроенные цепочки:
Пакет, проходящий через эти цепочки, может быть пропущен (ACCEPT) или отброшен (DROP).
Настройка iptables осуществляется либо через терминал, либо прописыванием правил фильтрации пакетов в соответствующем файле настроек межсетевого экрана.
Есть большое количество программ, которые помогут вам полностью настроить брандмауэр без необходимости подробного изучения iptables. У тех, кто предпочитает графические оболочки, довольно популярно простое в использовании приложение Firestarter, а также fwbuilder – очень мощный инструмент настройки, который покажется знакомым администраторам, пользовавшимся коммерческими брандмауэрами. Для предпочитающих работу в командной строке и простые текстовые файлы настроек Shorewall – подходящее и мощное решение, которое поможет настроить межсетевой экран любой сложности для любой сети. Если же ваша сеть достаточно простая или у вас вообще нет локальной сети, утилита ipkungfu предоставит вам работающий "из коробки" (без необходимости настройки) брандмауэр, а также даст возможность легко настроить более сложный межсетевой экран с помощью редактирования простых и хорошо документированных файлов настроек. Еще одна интересная программа – fireflier, которая разработана как межсетевой экран для настольного ПК. Она состоит из сервера (fireflier-server) и графического клиента на ваш выбор (GTK или QT). Во время работы она ведет себя похоже на многие интерактивные брандмауэры для Windows.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #6, 2011