ucozua.ru



[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: ERR-stalcers  
Робота с IPtables
ERR-stalcersДата: Среда, 04.05.2011, 10:20 | Сообщение # 1
Флудер
Зарегистрирован: 01.05.2011
Группа: Член Команды
Пользователь №: 4
Сообщений: 107
Репутация: 2
Статус: Offline
Тут я отпишу общие правила использования iptables чтоб было поменьше флуда в чат)))

Приступим основные команды для роботы с фильтрами и таблицами:

Команда -A, --append
Пример iptables -A INPUT ...
Описание Добавляет новое правило в конец заданной цепочки.
Команда -D, --delete
Пример iptables -D INPUT --dport 80 -j DROP, iptables -D INPUT 1
Описание Удаление правила из цепочки. Команда имеет два формата записи, первый -- когда задается критерий сравнения с опцией -D (см. первый пример), второй -- порядковый номер правила. Если задается критерий сравнения, то удаляется правило, которое имеет в себе этот критерий, если задается номер правила, то будет удалено правило с заданным номером. Счет правил в цепочках начинается с 1.
Команда -R, --replace
Пример iptables -R INPUT 1 -s 192.168.0.1 -j DROP
Описание Эта команда заменяет одно правило другим. В основном она используется во время отладки новых правил.
Команда -I, --insert
Пример iptables -I INPUT 1 --dport 80 -j ACCEPT
Описание Вставляет новое правило в цепочку. Число, следующее за именем цепочки указывает номер правила, перед которым нужно вставить новое правило, другими словами число задает номер для вставляемого правила. В примере выше, указывается, что данное правило должно быть 1-м в цепочке INPUT.
Команда -L, --list
Пример iptables -L INPUT
Описание Вывод списка правил в заданной цепочке, в данном примере предполагается вывод правил из цепочки INPUT. Если имя цепочки не указывается, то выводится список правил для всех цепочек. Формат вывода зависит от наличия дополнительных ключей в команде, например -n, -v, и пр.
Команда -F, --flush
Пример iptables -F INPUT
Описание Сброс (удаление) всех правил из заданной цепочки (таблицы). Если имя цепочки и таблицы не указывается, то удаляются все правила, во всех цепочках. (Хочется от себя добавить, что если не указана таблица ключом -t (--table), то очистка цепочек производится только в таблице filter, прим. перев. )
Команда -Z, --zero
Пример iptables -Z INPUT
Описание Обнуление всех счетчиков в заданной цепочке. Если имя цепочки не указывается, то подразумеваются все цепочки. При использовании ключа -v совместно с командой -L, на вывод будут поданы и состояния счетчиков пакетов, попавших под действие каждого правила. Допускается совместное использование команд -L и -Z. В этом случае будет выдан сначала список правил со счетчиками, а затем произойдет обнуление счетчиков.
Команда -N, --new-chain
Пример iptables -N allowed
Описание Создается новая цепочка с заданным именем в заданной таблице В выше приведенном примере создается новая цепочка с именем allowed. Имя цепочки должно быть уникальным и не должно совпадать с зарезервированными именами цепочек и действий (такими как DROP, REJECT и т.п.)
Команда -X, --delete-chain
Пример iptables -X allowed
Описание Удаление заданной цепочки из заданной таблицы. Удаляемая цепочка не должна иметь правил и не должно быть ссылок из других цепочек на удаляемую цепочку. Если имя цепочки не указано, то будут удалены все цепочки заданной таблице кроме встроенных.
Команда -P, --policy
Пример iptables -P INPUT DROP
Описание Задает политику по-умолчанию для заданной цепочки. Политика по-умолчанию определяет действие, применяемое к пакетам не попавшим под действие ни одного из правил в цепочке. В качестве политики по умолчанию допускается использовать DROP и ACCEPT.
Команда -E, --rename-chain
Пример iptables -E allowed disallowed
Описание Команда -E выполняет переименование пользовательской цепочки. В примере цепочка allowed будет переименована в цепочку disallowed. Эти переименования не изменяют порядок работы, а носят только косметический характер.



Спасибку словами не выразешь
 
ERR-stalcersДата: Среда, 04.05.2011, 10:20 | Сообщение # 2
Флудер
Зарегистрирован: 01.05.2011
Группа: Член Команды
Пользователь №: 4
Сообщений: 107
Репутация: 2
Статус: Offline
Как работать мы знаем,теперь перейдем к созданию фильтра)))

Наиболее часто используемыми действиями являются:

ACCEPT - если пакет совпадает с правилом, он будет принят.
REJECT - отклонить пакет и отправить ICMP-сообщение об ошибке назад отправителю.
DROP - отбросить пакет и ничего не посылать в ответ.
LOG - протоколировать детали пакета, если пакет совпадает с правилом. Данное действие является пассивным - нужно определить еще одно действие ACCEPT/DROP, если нужно, чтобы пакет был принят/отброшен.

Какая разница между REJECT и DROP?
В обоих этих случаях пакет будет отброшен. Разница между ними заключается в том, что в первом случае (при использовании REJECT) отправителю будет отправлено ICMP-сообщение "Port unreachable" («Порт недоступен»), а во втором случае ничего отправляться не будет. Во втором случае отправитель будет ждать ответа, пока не решит, что пакет потерян.

Утилиты iptables-save и iptables-restore ускоряют процесс сохранения/загрузки правил брандмауэра и делают его более гибким. Как правило, команда iptables-save вставляется в сценарий, вызываемый при завершении работы системы, а команда iptables-restore - в сценарий загрузки системы.

Описание синтаксиса.

Рассмотрим синтаксис команды iptables:

iptables -t <таблица> <команды> -j <цель>

Параметр [color=red]-t задает название таблицы, над которой нужно выполнить действие (filter, NAT или mangle). Дальше идет список команд, которые выполняются над цепочками внутри указанной таблицы. Нередко используемыми командами являются:[/color]

-А <цепочка> <правила>: добавляет правило к цепочке, например:

# iptables -t filter -A INPUT -p tcp -dport 111 -j DROP

(это правило запрещает все входящие TCP-соединения по порту 111). Порядок, в котором добавляются правила, чрезвычайно важен. Применение правил начинается сверху вниз (с первого добавленного до последнего добавленного правила цепочки, при условии, что вначале цепочка была пуста), новое правило добавляется в конец цепочки.
-D <цепочка> <позиция в цепочке> <правило>: удаляет правило из цепочки. При удалении можно написать как само правило, так и его номер в цепочке:

# iptables -D INPUT -7

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

iptables -A INPUT -p tcp --syn --dport 29000 -m connlimit --connlimit-above 3 -j REJECT
iptables -A INPUT -i eth0 -p tcp --dport 29000 -m state --state NEW -m recent --set --name pw
iptables -A INPUT -i eth0 -p tcp --dport 29000 -m state --state NEW -m recent --update --seconds 30 --hitcount 3 --rttl --name pw -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --set --name web
iptables -A INPUT -i eth0 -p tcp --dport 80 -m state --state NEW -m recent --update --seconds 60 --hitcount 5 --rttl --name web -j DROP
iptables -A INPUT -i eth0 -p tcp --dport 29200 -m state --state NEW -m recent --set --name authd
iptables -A INPUT -i eth0 -p tcp --dport 29200 -m state --state NEW -m recent --update --seconds 604800 --hitcount 1 --rttl --name authd -j DROP

И как вариант самая надежная защита:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 29000 -j ACCEPT
-A INPUT -p udp -m udp -j REJECT
-A INPUT -p tcp -m tcp -j REJECT
Внимание!!!Доступ к вашему серву из вне будет закрыт!!!Такчто юзаем зелененькие правила!!!
Вводим необходимые нам правила и вводим iptables-sav



Спасибку словами не выразешь
 
  • Страница 1 из 1
  • 1
Поиск:

Бесплатный хостинг uCoz
""