Смекни!
smekni.com

Firewall (стр. 5 из 6)

6.1. Настройка с помощью команды: aptitude install arno-iptables-firewall

Ручное конфигурирование iptables является нетривиальной задачей и под силу только специалистам в области системного администрирования. Поэтому для настройки правил, по которым будет действовать брандмауэр, лучше воспользоваться специальным конфигуратором. В Debian GNU/Linux это - программа arno-iptables-firewall. Будучи запущенной, она задает ряд вопросов, на основании которых генерирует правила для функционирования брандмауэра iptables.

Нужно набрать в консоли с правами суперпользователя:

aptitude install arno-iptables-firewall

В начале инсталляции программа спросит, действительно ли пользователь желает с ее помощью настроить Firewall iptables:

Firewall

Рис. 5. Настройка Firewall

Надо указать внешний интерфейс - "смотрящий" в интернет, т.е. подключенный к модему. Настройки интерфейсов определяются в конфигурационном файле /etc/network/interfaces.

Это интерфейс eth0, который подключен к интернету. Его особенностью является то, что IP-адрес ему назначается провайдером динамически, поэтому выставлена опция dhcp.

auto eth0

iface eth0 inet dhcp

Это интерфейс, который обращен в локальную сеть. В целях безопасности в локальной сети шлюз имеет статический IP-адрес - 192.168.2.1, поэтому выставлена опция static. Маска сети - 255.255.255.0. Широковещательный адрес сети в таком случае будет 192.168.2.255.

auto eth1

iface eth1 inet static

address 192.168.2.1

netmask 255.255.255.0

broadcast 192.168.2.255

Далее нужно указать конфигуратору Firewall, что внешним является интерфейс eth0:

Firewall

Рис. 6. Внешний интерфейс

На вопрос, выдается ли от провайдера IP-адрес динамически (с помощью протокола DHCP), нужно ответить утвердительно:

Firewall

Рис. 7. Провайдера IP-адреса

Cледует вопрос, какие службы будут предоставлены с этого компьютера внешним пользователям интернета. Здесь не обязательно что-либо указывать.

Firewall

Рис. 8. Службы предоставляемые с компьютера внешним пользователям интернета

Затем идет вопрос, будет ли пользователь предоставлять какие-либо службы по протоколу UDP. Тоже нет - и тоже нужно оставить строку пустой.

Firewall

Рис. 9. Службы по протоколу UDP

Нужно ли, чтобы пользователя проверяли, имеется ли связь с компьютером, на котором установлен Firewall. Это вполне допустимо:

Firewall

Рис. 10. Пинг

На этом настройка для отдельного компьютера, не являющегося шлюзом локальной сети, будет закончена. Если же предполагается использовать компьютер как шлюз, нужно ответить еще на несколько вопросов. Следует указать интерфейс, которым шлюз обращен в локальную сеть - в данном случае это eth1.

Firewall

Рис. 11. Интерфейс обращенный в локальную сеть

Далее, на основании данных из /etc/network/interfaces, нужно указать спецификацию локальной сети, к которой подключен компьютер: в данном примере это 192.168.2.0/24.

Firewall

Рис. 12. Спецификация локальной сети

На вопрос позволить ли NAT-трансляцию, т.е. переадресацию трафика из интернета через шлюз в локальную сеть и обратно, следует ответить "да" - это является одной из основных задач в данном случае:

Firewall

Рис. 13. NAT-трансляция

Тогда встает вопрос: а какой сегмент локальной сети может быть допущен через переадресацию к внешним сетям? Следует указать значение 192.168.2.0/24

Firewall

Рис. 14. Сегмент локальной сети

Наконец, подтверждение запуска iptables без дополнительной проверки с автоматически сформированных конфигуратором правил для Firewall:

Firewall

Рис. 15. Подтверждение запуска iptables

После этого, если все прошло успешно, выдается сообщение. Оно будет появляться при каждой загрузке компьютера – шлюза и информировать об успешном запуске Firewall.

6.2. Ручное конфигурирование iptables

Запрет любых обращений будет выглядеть следующим образом:

iptables -P INPUT DROP

Теперь все входящие пакеты будут удаляться. Как и в случае с программой ipchains, именно с этой команды нужно начинать конфигурирование iptables. В правиле используется ключ -р, позволяющий за­дать значение по умолчанию для данной цепочки. Если фильтр добавить с помощью ключа -А, то можно запретить абсолютно любые подключения.

Некоторые специалисты по безопасности рекомендуют журналировать обра­щения, добавив в сетевой экран фильтр:

iptables -A INPUT -j LOG

Но это делать не рекомендуется. У публичных серверов за день происходит несколько сотен, а то и тысяч сканирований портов. Если обращать внимание на каждую такую попытку, то придется устанавливать на сервер слишком большие жесткие диски для хранения журналов. А ведь если диск будет за­полнен, то система выйдет из строя. Таким образом, злоумышленник может просто на­править бесконечные обращения на запрещенный порт и через некоторое время добиться удачно завершенной DoS-атаки.

Следующая команда создает фильтр, по которому запрещается принимать эхо-запросы от любых компьютеров:

iptables -A INPUT -s 0/0 -d localhost -p icmp --icmp-type echo-request -j DROP

Создание фильтра с помощью iptables нe сильно отличается от аналогичной процедуры в ipchains.

Следующая команда запрещает доступ к FTP-порту:

iptables -A INPUT -s 0/0 -d localhost -p tcp --dport 21 -j DROP

Чтобы запретить доступ с определенного интерфейса, нужно добавить ключ -i и указать интерфейс eth0:

iptables -A INPUT -i eth0 -s 0/0 -d localhost -p tcp --dport 21 -j DROP

Теперь нужно запретить исходящие пакеты с 21 порта. Для этого используется команда:

iptables -A OUTPUT -i eth0 -s localhost -d 0/0 -p tcp --dport 21 -j DROP

Очень мощной особенностью iptables является возможность проверки содер­жимого пакетов. Это очень удобно, например, для фильтрации Web-запросов.

Можно разрешить доступ к 80 порту, но контролировать, чтобы пакеты со­держали только допустимые параметры.

Если нужно разрешить доступ к FTP-серверу, но при этом быть уверенными, что тот кто хочет взломать вашу защиту не сможет обратиться к файлам /etc/passwd и /etc/shadow. Для этого нужно запретить пакеты, в которых есть этот текст. Если злоумышленник попытается послать запрос, содержащий ссылки на эти файлы, то такой пакет будет отклонен. Следующие команды запрещают доступ к этим файлам по протоколам FTP и WWW:

iptables -A INPUT -m string --string "/etc/passwd" -s 0/0 -d localhost -p tcp --dport 21 -j DROP

iptables -A INPUT -m string --string "/etc/shadow" -s 0/0 -d localhost -p tcp --dport 21 -j DROP

iptables -A INPUT -m string --string "/etc/passwd" -s 0/0 -d localhost -p tcp --dport 80 -j DROP

iptables -A INPUT -m string --string "/etc/shadow" -s 0/0 -d localhost -p tcp --dport 80 -j DROP

Надо еще учесть аспект защиты информации. Если есть сер­вер, который принимает закодированный трафик с помощью stunnel, расшифровывает и передает его на другую машину. В этом случае во входящих пакетах сетевой экран не мо­жет найти такие строки. А вот исходящие пакеты идут уже декодированными и содержат открытый текст команд. В такой конфигурации необходимо контролировать оба потока.

Даже если stunnel передает расшифрованный трафик на другой порт внутри одного компьютера, можно включить контроль любых пакетов на всех интерфейсах, чтобы они проверялись после расшифровки.

Заключение

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

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

Может сложиться впечатление, что Firewall – это пустое развлечение и трата денег. Это не так. Если он хорошо настроен, постоянно контролируется, а в системе используются защищенные пароли, то сетевой экран может предот­вратить большинство проблем.

Хороший экран имеет множество уровней проверки прав доступа, и нельзя использовать только один из них. Если ограничить доступ к Интернету исключительно по IP-адресу, то нужно будет оплачивать большой трафик. Но если при проверке прав доступа используется IP-адрес в сочетании с МАС-адресом и паролем, то такую систему взломать уже намного сложнее. Да, и MAC и IP-адрес легко подделать, но можно для полной надежности подключить к системе защиты и порты на коммутаторе. В этом случае, даже если злоумышленник будет знать пароль, то для его использования нужно сидеть имен­но за тем компьютером, за которым он закреплен. А это уже не просто.