Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Следующая версия
Предыдущая версия
каталог_статей:безопастность:настройка_iptables [2015/12/22 10:39]
korotish создано
каталог_статей:безопастность:настройка_iptables [2015/12/22 11:00]
korotish
Строка 7: Строка 7:
 Iptables имеет 3 таблицы: filter, nat, mangle. Iptables имеет 3 таблицы: filter, nat, mangle.
 Таблица filter имеет 3 цепочки: Таблица filter имеет 3 цепочки:
-FORWARD - правила в данной цепочке применяются ко всем пакетам, которые поступают в один интерфейс и перенаправляются на другной.  + 
-INPUT - правила в данной цепочке применяются к входящим пакетам предназначенным для локальных служб. +  * FORWARD - правила в данной цепочке применяются ко всем пакетам, которые поступают в один интерфейс и перенаправляются на другной.  
-OUTPUT - правила в данной цепочке применяються к исходящим пакетам от локальных служб.+  INPUT - правила в данной цепочке применяются к входящим пакетам предназначенным для локальных служб. 
 +  OUTPUT - правила в данной цепочке применяються к исходящим пакетам от локальных служб. 
 В таблице nat содержатся цепочки правил POSTROUTING, PREROUTING предназначенные для управления системой NAT(Network Address Translation) В таблице nat содержатся цепочки правил POSTROUTING, PREROUTING предназначенные для управления системой NAT(Network Address Translation)
 Таблица mangle содержит цепочки, предназначенные для модификации содержимого сетевых пакетов вне контекста системы NAT или механизма фильтрации пакетов. Таблица mangle содержит цепочки, предназначенные для модификации содержимого сетевых пакетов вне контекста системы NAT или механизма фильтрации пакетов.
Строка 15: Строка 17:
 В системах подобных CentOS все правила загружаемые при запуске службы iptables хранятся в файле /etc/sysconfig/iptables В системах подобных CentOS все правила загружаемые при запуске службы iptables хранятся в файле /etc/sysconfig/iptables
 Для сохранения добавленных цепочек необходимо выполнить команду: Для сохранения добавленных цепочек необходимо выполнить команду:
-service iptables save+<code> service iptables save </code>
 В системах подобных Debian для упрпавления службой iptables необходимо установить пакет iptables-persistent выполнив следующую команду: В системах подобных Debian для упрпавления службой iptables необходимо установить пакет iptables-persistent выполнив следующую команду:
-apt-get install iptables-persistent+<code> apt-get install iptables-persistent </code>
 В этом случае цепочки правил будут храниться в файлах /etc/iptables/rules.v4 и /etc/iptables/rules.v6. В этом случае цепочки правил будут храниться в файлах /etc/iptables/rules.v4 и /etc/iptables/rules.v6.
  
 Примеры создания цепочек: Примеры создания цепочек:
-iptables -t filter -nL +<code> iptables -t filter -nL </code> 
-iptables -nL — отобразить все цепочки правил +<code>iptables -nL  </code> — отобразить все цепочки правил 
-iptables -t nat -L — отобразить все цепочки правил в NAT-таблице +<code>iptables -t nat -L </code> — отобразить все цепочки правил в NAT-таблице 
-iptables -t filter -F или iptables -F — очистить все цепочки правил в filter-таблице +<code>iptables -t filter -F или iptables -F </code> — очистить все цепочки правил в filter-таблице 
-iptables -t nat -F — очистить все цепочки правил в NAT-таблице +<code>iptables -t nat -F </code> — очистить все цепочки правил в NAT-таблице 
-iptables -t filter -X — удалить все пользовательские цепочки правил в filter-таблице +<code>iptables -t filter -X </code> — удалить все пользовательские цепочки правил в filter-таблице 
-iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT — позволить входящее подключение telnet'ом +<code>iptables -t filter -A INPUT -p tcp –dport telnet -j ACCEPT </code> — позволить входящее подключение telnet'ом 
-iptables -t filter -A OUTPUT -p tcp –dport http -j DROP — блокировать исходящие HTTP-соединения +<code>iptables -t filter -A OUTPUT -p tcp –dport http -j DROP </code> — блокировать исходящие HTTP-соединения 
-iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT — позволить «прокидывать» (forward) POP3-соединения +<code>iptables -t filter -A FORWARD -p tcp –dport pop3 -j ACCEPT </code> — позволить «прокидывать» (forward) POP3-соединения 
-iptables -t filter -A INPUT -j LOG –log-prefix «DROP INPUT» — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT» +<code>iptables -t filter -A INPUT -j LOG –log-prefix «DROP INPUT»  </code> — включить журналирование ядром пакетов, проходящих через цепочку INPUT, и добавлением к сообщению префикса «DROP INPUT» 
-iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами. +<code>iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE </code> — включить NAT (Network Address Translate) исходящих пакетов на интерфейс eth0. Допустимо при использовании с динамически выделяемыми ip-адресами. 
-iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 — перенаправление пакетов, адресованных одному хосту, на другой хост+<code>iptables -t nat -A PREROUTING -d 192.168.0.1 -p tcp -m tcp –dport 22 -j DNAT –to-destination 10.0.0.2:22 </code> — перенаправление пакетов, адресованных одному хосту, на другой хост
  
 Для подключению модуля geoip в iptables необходимо установить этот модуль вместе с дополнительными модулями фаервола: Для подключению модуля geoip в iptables необходимо установить этот модуль вместе с дополнительными модулями фаервола:
-apt-get install xtables-addons-common libtext-csv-xs-perl+<code> apt-get install xtables-addons-common libtext-csv-xs-perl </code>
 Так же необходимо собрать базы содержашие диапозоны IP адресов и стран. Для этого вместе с  пакетом xtables-addons были установлены 2 скрипта для скачивания и сборки баз geoip.  Так же необходимо собрать базы содержашие диапозоны IP адресов и стран. Для этого вместе с  пакетом xtables-addons были установлены 2 скрипта для скачивания и сборки баз geoip. 
 Создадим папку в которой будут находиться базы geoip: Создадим папку в которой будут находиться базы geoip:
-mkdir /usr/share/xt_geoip+<code> mkdir /usr/share/xt_geoip </code>
 Далее скачаем и соберем базы geoip: Далее скачаем и соберем базы geoip:
-cd /usr/lib/xtables-addons +<code>cd /usr/lib/xtables-addons </code> 
-./xt_geoip_dl +<code>./xt_geoip_dl </code> 
-./xt_geoip_build -D /usr/share/xt_geoip *.csv+<code>./xt_geoip_build -D /usr/share/xt_geoip *.csv </code>
 Теперь можно добавлять правила для блокировки некоторого диапазона IP адресов относящихся с какому-либо региону: Теперь можно добавлять правила для блокировки некоторого диапазона IP адресов относящихся с какому-либо региону:
-iptables -I INPUT ! -i lo -p tcp --dport 80 -m geoip --src-cc US -j DROP - в данном случае будут заблокированы все пакеты приходящие из США на любой сетевой интерфейс кроме локального, на порт 80. +<code>iptables -I INPUT ! -i lo -p tcp --dport 80 -m geoip --src-cc US -j DROP </code> - в данном случае будут заблокированы все пакеты приходящие из США на любой сетевой интерфейс кроме локального, на порт 80. 
-iptables -I INPUT ! -i lo -p tcp --dport 80 -m geoip ! --src-cc US -j DROP - в данном случае будут заблокированы все пакеты приходящие из либой страны, кроме США на любой сетевой интерфейс кроме локального, на порт 80.+<code>iptables -I INPUT ! -i lo -p tcp --dport 80 -m geoip ! --src-cc US -j DROP </code>- в данном случае будут заблокированы все пакеты приходящие из либой страны, кроме США на любой сетевой интерфейс кроме локального, на порт 80.
  
 ===== Смотрите также: ===== ===== Смотрите также: =====
 +  * [[Каталог статей:безопастность:настройка IPTABLES|Настройка IPTABLES и модулей]] 
 +  * [[Каталог статей:безопастность:установка и настройка SSHGUARD|Установка и настройка SSHGUARD]]
  
 ----  ---- 
 Актуальность: 2015/12/22 10:37  Актуальность: 2015/12/22 10:37 
-