Комментарии

Галерея

Опрос

Из каких стран идет больше всего спама, попыток взлома на ваши серверы?:

Пакетный фильтр Iptables (newbie)

Аватар пользователя maximum

С помощью программы iptables редактируются так называемые цепочки правил Input, Output, Forward.
Возможности iptables и ipchains примерно одинаковы.
Основные возможности iptables:
-A цепочка правило - добавить правило в конец цепочки. В качестве параметра указывается имя цепочки INPUT, OUTPUT или FORWARD.
-D цепочка номер – удалить правило с указанным номером из заданной цепочки
-R цепочка номер правило – заменить правило с указанным номером в цепочке
-I цепочка номер правило – вставить правило в указанную первым аргументом цепочку под номером, заданным во втором параметре. Если номер равен 1, то правило станет первым в цепочке
-L цепочка – просмотреть содержимое указанной цепочки
-F цепочка – удалить все правила из цепочки
-p протокол – определяет протокол, на который воздействует правило
-i интерфейс – определяет сетевой интерфейс, с которого данные были получены. Здесь можно использовать input, forward, postrouting
-o интерфейс – задает интерфейс, на который направляется пакет. Здесь можно указывать output, forward или postrouting
-j действие – операция, которая должна быть выполнена над пакетом. В качестве аргументов можно указать следующие значения:
основные значения:
LOG – поместить в журнал запись о получении пакета
REGET – отправителю будет направлено сообщение об ошибке
DROP – удалить пакет
BLOCK – блокировать пакеты
-s адрес – IP-адрес отправителя пакета. После адреса можно задать маску в виде /mask и знак отрицания «!», что будет соответствовать любым адресам, кроме указанных.
-d адрес – адрес назначения пакета
Самое главное правило в настройке сетевого экрана это максимальная защита компьютера.
Поэтому начинать конфигурирование iptables следует с полного запрета на все соеденения, делается это следующим образом в консоли от рута прописываете команду iptables -A INPUT DROP что приведет к полному удалению правил из цепочки и остановит работу сети. Далее по одному правилу по одной цепочке постепенно не торопясь открывать нужные порты, интерефейсы и т.д.
Вот наступил момент показать вам как же действует программа iptables!
Пример на ограничение сети
Предприятие, имеется сеть из 100 компьютеров, одному компьютеру c ip-адресом 192.168.1.1 нужно дать доступ в интернет:
сеть 192.168.1.1/24-192.168.1.100/24 после знака «/» стоит число 24 что соответствует 24-м битам адреса сети.
И так выполним команду: iptables -I input 1 -p tcp -s 192.168.1.1/24 -j ACCEPT
или можно дать доступ всем компьютерам которые входят в сеть 192.168.1.x для этого выполним такую команду:
iptables -I input 1 -p tcp -s 192.168.1.0/24 -j ACCEPT
input 1 – это означает что это правило будет первым и проверку сетевой экран будет начинать
с него.
Переадресация
Для переадресации пакетов на другой интерфейс например ppp0 нужно выполнить следующую команду:
iptables -A FORWARD -o ppp0 -j MASQUERADE
В этой строке позволяется переадресация на интерфейс ppp0. С помощью параметра -j мы требуем прятать ip-адрес отправителя, т.е. включаем маскарадинг.
Несколько примеров конфигурирования iptables
iptables -P INPUT DROP - все входящие пакеты будут удаляться.
iptables -A INPUT -J LOG - позволяет журналировать любые обращения (Но специалисты по администрированию предупреждают вас что на серверах открытых для публичного пользования может за день происходить несколько тысяч сканирования портов что может повлечь за собой серьезные проблемы из за недостатка места на жестком диске, вплоть до отказа от обслуживания)
iptables -A INPUT -s 0/0 -d localhost -p tcp –dport 21 -j DROP - эта команда позволяет вам запретить доступ к FTP-порту
Примеры удаления iptables-правил
Например нам необходимо удалить правило из цепочки (отмена доступа к FTP)
На этом моменте происходит очень досадная ошибка:
можно сделать так:
iptables -D input 1
iptables -D input 2
-D свидетельствует о необходимости удаления правила. После него указана цепочка, с которой надо произвести операцию, и номер записи. Обратите внимание на последовательность удаления в данном примере (сначала 1, а потом 2 запись). Вот тут то и совершают многие ошибку:
если выполнить первую строку и посмотреть содержимое цепочки input, то в результате мы увидем что строка для порта ftp- data отсутствует, но остальные записи сместились, и при выполнении второй команды мы удалим совершенно не то что нужно! Таким образом удаление правил следует производить с последнего правила т.е. правильно будет так:
iptables -D input 2
iptables -D input 1

Ну и главное что вам нужно знать, это то что iptables параметры не сохраняет автоматически и для сохранения вам следует выполнить такую команду:
service iptables save

Существует еще много примеров конфигурирования iptables, но я думаю что для знакомства хватит и этого материала

Дополнительный материал взят из книги:
Фленов М.Е. Linux Глазами хакера, БХВ-Петербург 2006