<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=Iptables._Hints</id>
	<title>Iptables. Hints - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.cless.pro/index.php?action=history&amp;feed=atom&amp;title=Iptables._Hints"/>
	<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=Iptables._Hints&amp;action=history"/>
	<updated>2026-10-22T22:44:42Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.36.2</generator>
	<entry>
		<id>https://wiki.cless.pro/index.php?title=Iptables._Hints&amp;diff=1279&amp;oldid=prev</id>
		<title>Cless: Новая страница: «= Разрешить входящие соединения и сохранить правила = &lt;code&gt;iptables -A INPUT -p tcp --dport ssh -j ACCEPT&lt;/code&gt;  &lt;co...»</title>
		<link rel="alternate" type="text/html" href="https://wiki.cless.pro/index.php?title=Iptables._Hints&amp;diff=1279&amp;oldid=prev"/>
		<updated>2023-02-09T15:27:45Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Разрешить входящие соединения и сохранить правила = &amp;lt;code&amp;gt;iptables -A INPUT -p tcp --dport ssh -j ACCEPT&amp;lt;/code&amp;gt;  &amp;lt;co...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Разрешить входящие соединения и сохранить правила =&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p tcp --dport ssh -j ACCEPT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p tcp --dport 80 -j ACCEPT&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables-save &amp;gt; /etc/sysconfig/iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Посмотреть правила с номерами строк =&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -L -v -n -t filter --line-numbers&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Удалить правило по номеру строки =&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -t filter -D INPUT номер_строки&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Сохранить примененные правила iptables =&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl disable firewalld&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;yum install -y iptables-services&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl start iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o ens32 -j MASQUERADE&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service iptables save&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Перенаправить логи определенного правила в отдельный log файл. Centos 7 =&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl disable firewalld&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl stop firewalld&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;yum install -y iptables-services&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl enable --now iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ловим входящие соединения 5060/udp с лог-префиксом &amp;quot;Attack SIP: &amp;quot;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p udp --dport 5060 -j LOG --log-level info --log-prefix &amp;quot;Attack_SIP: &amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p tcp --dport 5060 -j LOG --log-level info --log-prefix &amp;quot;Attack_SIP: &amp;quot;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;service iptables save&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl restart iptables&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Смотрим&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -L -v -n -t filter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Конфигурация rsyslog для перенаправления логов в файл&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /etc/rsyslog.d/iptables.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 :msg, contains, &amp;quot;Attack_SIP: &amp;quot; -/var/log/iptables/iptables.log&lt;br /&gt;
 &amp;amp; ~&lt;br /&gt;
&amp;lt;code&amp;gt;mkdir /var/log/iptables/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;chmod 666 /var/log/iptables/&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nano /etc/rsyslog.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
 $umask 0000&lt;br /&gt;
 $FileCreateMode 0644&lt;br /&gt;
&amp;lt;code&amp;gt;systemctl restart rsyslog&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Проверяем&lt;br /&gt;
&lt;br /&gt;
На любой другой машине&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;nmap -sU '''&amp;lt;адрес_машины_с_iptables&amp;gt;''' -p5060&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
После этого на машине с iptables&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;cat /var/log/iptables/iptables.log&amp;lt;/code&amp;gt;&lt;br /&gt;
     ...&lt;br /&gt;
     Jul 20 17:22:18 centos7-honeypot01 kernel: Attack SIP: IN=ens160 OUT= MAC=00:50:56:ba:6b:50:00:50:56:83:24:e2:08:00 SRC=192.168.17.250 DST=192.168.166.52 LEN=28 TOS=0x00 PREC=0x00 TTL=51 ID=9330 PROTO=UDP SPT=47791 DPT=5060 LEN=8&lt;br /&gt;
     ...&lt;br /&gt;
&lt;br /&gt;
= Обнулить правила в цепочках =&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -F -t filter&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -F -t nat&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Как правильно использовать диапазон портов в –sport и –dport в iptables с использованием multiport =&lt;br /&gt;
Избавляемся от ошибки multiport can only have one option&lt;br /&gt;
&lt;br /&gt;
Ситуация: нужно закрыть UDP-порты в трёх диапазонах: 1…52, 54…122, 124…1024. При этом если стук в порт идёт из привилегированного порта (то есть с номером 0…1023), то соединение нужно просто сбрасывать, если же стук идёт с непривилегированного порта, то расценивать это как сканирование и выполнять какие-то действия.&lt;br /&gt;
&lt;br /&gt;
Например, обращение к порту 137 по протоколу UDP может быть как атакой какого-нибудь червя, так и безобидным запросом от NetBIOS. И если запросы, исходящие от NetBIOS, вполне безобидны («рабочий» трафик), то сканирование портов обычно не так безобидно.&lt;br /&gt;
&lt;br /&gt;
Решение в лоб:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p udp -m multiport --sport 1:1024 --dport 1:52,54:122,124:1024 -j DROP&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p udp -m multiport --dport 1:52,54:122,124:1024 -j do_something&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Но такой вариант не сработает: iptables пожалуется на неверный синтаксис первой команды: iptables v1.4.4: multiport can only have one option. При этом манипуляции с с перестановкой параметров не помогают:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;iptables -A INPUT -p udp --sport 0:1023 -m multiport --dport 1:52,54:122,124:1024 -j DROP&amp;lt;/code&amp;gt;&amp;lt;blockquote&amp;gt;iptables v1.4.4: invalid port/service `52,54:122,124:1024' specified&amp;lt;/blockquote&amp;gt;&amp;lt;code&amp;gt;iptables -A INPUT -p udp --sport 0:1023 --dport 1:52,54:122,124:1024 -m multiport -j DROP&amp;lt;/code&amp;gt;&amp;lt;blockquote&amp;gt;iptables v1.4.4: invalid port/service `52,54:122,124:1024' specified&amp;lt;/blockquote&amp;gt;Мне советовали разбивать правила на несколько и обходиться без multiport, но в случае сложного скрипта это не выход.&lt;br /&gt;
&lt;br /&gt;
Я нашел два более простых решения:&lt;br /&gt;
&lt;br /&gt;
* Использовать multiport два раза:  &amp;lt;code&amp;gt;iptables -A INPUT -p udp -m multiport --dport 1:52,54:122,124:1024 -m multiport --sport 0:1023 -j DROP&amp;lt;/code&amp;gt;&lt;br /&gt;
* Использовать модуль udp (tcp для TCP-соединения):  &amp;lt;code&amp;gt;iptables -A INPUT -p udp -m udp --sport :1023 -m multiport --dports 1:52,54:122,124:1024 -j DROP&amp;lt;/code&amp;gt;  обращаю внимание на использование --dports вместо --dport.&lt;br /&gt;
&lt;br /&gt;
[[Категория:Iptables]]&lt;br /&gt;
__ОБЯЗАТЕЛЬНОЕ_ОГЛАВЛЕНИЕ__&lt;/div&gt;</summary>
		<author><name>Cless</name></author>
	</entry>
</feed>