Читаем Спецвыпуск журнала «Хакер» 47, октябрь 2004 г. полностью

Но эти модули сделают работу удобной лишь в конкретных ситуациях. В повседневной практике ты можешь применять другие библиотеки. Например, mport.so и iprange.so. Эти дополнения – великая сила, ибо они позволяют гибко формировать целый диапазон портов и IP-адресов в одном правиле! Не веришь? Просто набери в консоли команду:

iptables -A INPUT -p tcp -m mport -dports 21,22,25,110,4000:5000 -j ACCEPT

и действие хитрого правила сразу вступит в силу. Теперь тебе не надо расписывать два десятка рулесов для каждого сервера. То же самое можно сказать и про IP-адреса. Разрешить соединения целому диапазону айпишников можно также одним правилом:

iptables –A INPUT –p tcp –m iprange –src-range 192.168.0.1-192.168.0.100 –j ACCEPT.


Соединение с пустотой

Иногда нужно имитировать соединение. Для этого админом пишется специальная программа, прослушивающая определенный порт. Теперь можно добиться результата с помощью модуля tarpit.so. Он нужен для открытия пустого порта. Причем порт будет светиться в выводе netstat’а после фактического соединения. Эта библиотека может быть полезна, если админ решается написать фаервольную утилиту против скана определенных портов, с последующим занесением в лог всех попыток соединения. Не буду тебя мучить, просто напишу правило.

iptables –A INPUT –p tcp –dport 31337 –j TARPIT


Фильтруй базар

Теперь iptables умеет искать подстроку в пакете. В этом ему помогает модуль string.so. Например, ты захочешь намутить защиту от пересылки shell-кодов на твою машину либо просто не желаешь, чтобы юзер заливал бинарник на сервер. Если раньше приходилось патчить кернел и ставить дополнительный модуль, то сейчас достаточно вбить всего одно правило:

iptables -A INPUT -p tcp -dport 21 -m string -string '|7F|ELF' -j DROP

Раз уж мы заговорили об ограничениях, расскажу, как предостеречь свою машину от DoS-атаки. Нужно воспользоваться модулем limit.so, позволяющим ограничивать пропускную способность. Если ты видишь, что твой FTPD зажирает процессор и захлебывается в данных, сделай ограничение в 5 пакетов за одну секунду.

iptables –A INPUT –p tcp –dport 21 –m limit –limit 5/sec –j REJECT

Вероятно, у тебя уже кружится голова от наворотов POM. Но самое вкусное я оставил напоследок :). Теперь ты способен контролировать одновременное число подключений не только с одного IP-адреса, а даже с целой подсети! Это возможно, даже если сам сервис не поддерживает такую функцию. Модуль connlimit.so создан специально для подобной работы. Библиотека способна ограничить подключения к определенному сервису, например, к демону sshd. Просто добавь рулес в цепь INPUT:

iptables –A INPUT –p tcp -syn -dport 22 -m connlimit -connlimit-above 3 -j REJECT.


И в заключение…

Думаю, этого материала тебе хватит не только для освоения азов iptables, но и для грамотной защиты своего сервера. Благо брандмауэр это позволяет :). Синтаксис iptables прост как три копейки, думаю, ты все понял уже после первого правила. Теперь все зависит только от тебя, я же могу пожелать немного терпения и изобретательности. Остальное прибавится после установки Patch-o-Matic :).


Ликбез по iptables

Вот несколько команд, которые ты можешь использовать при работе с iptables.

Листинг

iptables –N цепь – создание новой цепочки

iptables –F цепь – очистка произвольной цепи

iptables –X цепь – удаление цепи

iptables –D цепь номер_правила – удалить правило из определенной цепи

iptables –P цепь политика – изменение политики цепи

iptables –line-numbers –nvL цепь – просмотр всех правил в определенной цепи в verbose-режиме, без преобразования адресов с нумерацией каждого правила (быстрый и подробный просмотр)

service iptables save/restore – сохранение (восстановление) всех правил в отдельный конфиг

service iptables start/stop – запуск (останов) фаервола


Мнение эксперта

Андрей «Andrushock» Матвеев, редактор рубрики «UNIXoid» журнала «Хакер»:

Перейти на страницу:

Похожие книги

Стив Джобс. Уроки лидерства
Стив Джобс. Уроки лидерства

Эта книга – редкая возможность увидеть Стива Джобса таким, каким его видели лишь его самые близкие сотрудники, и разгадать загадку этого легендарного человека. Это возможность понять и освоить оригинальный стиль лидерства Джобса, благодаря которому Apple стала одной из величайших компаний и смогла выпускать продукты, изменившие нашу жизнь. Автор книги, Джей Эллиот, бывший старший вице-президент компании Apple, долгое время работал бок о бок со Стивом Джобсом и сформулировал главные уроки «iЛидерства», которые помогут совершить прорыв компании любого размера и из любой отрасли. Интуитивный и творческий подход Джобса, о котором рассказывается в этой книге, позволит вам преобразить свой бизнес и свою жизнь.Для широкого круга читателей – для всех, кто хочет воспользоваться уроками выдающегося бизнес-лидера.

Джей Эллиот , Вильям Л Саймон , Вильям Л. Саймон , Виктория Шилкина

Деловая литература / Биографии и Мемуары / Публицистика / Прочая компьютерная литература / Управление, подбор персонала / Документальное / Финансы и бизнес / Книги по IT
Тайны и секреты компьютера
Тайны и секреты компьютера

Эта книга предназначена для тех, кто самостоятельно осваивает мир информационных технологий. Программирование в среде Microsoft Office, устройство сетей Internet и Fidonet, работа системы электронной почты, структура системного реестра Windows и файловой системы, строение жидкокристаллических дисплеев и проблема наличия различных кодировок русского языка, — про все это рассказывается в ней. Многообразие тем и легкий стиль изложения сделают ее вашим спутником на долгое время, и вы всегда сможете найти в ней нужную именно в данный момент информацию.Если Вы интересуетесь компьютерными технологиями, желали бы расширить свои знания и умения в этой области, то она Вам наверняка понравится.

Антон Орлов , Антон Александрович Орлов

Зарубежная компьютерная, околокомпьютерная литература / Фантастика / Фэнтези / Прочая компьютерная литература / Книги по IT