<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[Linux Forum &mdash; Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
	<link rel="self" href="https://linuxforum.ru/extern.php?action=feed&amp;tid=20770&amp;type=atom" />
	<updated>2012-03-07T21:36:10Z</updated>
	<generator>PunBB</generator>
	<id>https://linuxforum.ru/viewtopic.php?id=20770</id>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257796#p257796" />
			<content type="html"><![CDATA[<p>Поставил Portsentry&nbsp; <img src="https://linuxforum.ru/img/smilies/ac.gif" alt="ac" /></p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-07T21:36:10Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257796#p257796</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257759#p257759" />
			<content type="html"><![CDATA[<p>Сума уже схожу... </p><div class="codebox"><pre><code>#!/bin/sh

IPTABLES=&quot;/sbin/iptables&quot;
external=&quot;eth0&quot;
SSH_PORT=&quot;54521&quot;
#Очистка цепочек
$IPTABLES -F
$IPTABLES -X
$IPTABLES -t nat -F
$IPTABLES -F INPUT
$IPTABLES -F FORWARD
#$IPTABLES -P INPUT ACCEPT
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#Локально разрешаем всё.
$IPTABLES -A INPUT -i lo -j ACCEPT
$IPTABLES -A OUTPUT -o lo -j ACCEPT
# Состояние ESTABLISHED говорит о том, что это не первый пакет в соединении.
# Пропускать все уже инициированные соединения, а также дочерние от них
$IPTABLES -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# Пропускать новые, а так же уже инициированные и их дочерние соединения
$IPTABLES -A OUTPUT -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
# Разрешить форвардинг для новых, а так же уже инициированных и их дочерних соединений
$IPTABLES -A FORWARD -p all -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU
$IPTABLES -I FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
# Отбрасывать все пакеты, которые не могут быть идентифицированы и поэтому не могут иметь определенного статуса.
$IPTABLES -A INPUT   -m state --state       INVALID -j DROP
$IPTABLES -A FORWARD -m state --state       INVALID -j DROP
$IPTABLES -A INPUT   -m conntrack --ctstate INVALID -j DROP
$IPTABLES -A FORWARD -m conntrack --ctstate INVALID -j DROP
# ICMP - перенаправление:
$IPTABLES -A INPUT   --fragment -p icmp -j DROP
$IPTABLES -A FORWARD --fragment -p icmp -j DROP
$IPTABLES -A OUTPUT  --fragment -p icmp -j DROP
# Приводит к связыванию системных ресурсов, так что реальный обмен данными становится не возможным.
$IPTABLES -A INPUT   -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
$IPTABLES -A OUTPUT  -p tcp ! --syn -m state --state NEW -j DROP
#Ограничиваем ICMP
#$IPTABLES -A INPUT -i $external -m psd -j REJECT
$IPTABLES -I INPUT -p icmp --icmp-type echo-request -m limit --limit 180/minute -j ACCEPT
$IPTABLES -I INPUT -p icmp ! --icmp-type echo-request -m limit --limit 180/minute -j ACCEPT
# Разрешаем  ICMP соединение. Значительная часть ICMP используется для передачи сообщений о
# том, что происходит с тем или иным UDP или TCP соединением.
$IPTABLES -A INPUT  -i $external -p icmp -m icmp --icmp-type source-quench -j ACCEPT
$IPTABLES -A OUTPUT -o $external -p icmp -m icmp --icmp-type source-quench -j ACCEPT
# запрещаем устанавливать новые исходящие соединения юзеру (uid 33) с правами которого работает web сервер.
$IPTABLES -A OUTPUT -p tcp -m owner --uid-owner 33 -m state --state NEW -j DROP
#Вводим ограничения для новых подключений по WWW (не более 5 в секунду)
$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW -m limit --limit 5/sec --limit-burst 5 -j ACCEPT

#Запираем netbios
$IPTABLES -A INPUT -p udp ! -i $external --dport 137:138 -j DROP
############ NAT CONFIG #########################
$IPTABLES -t nat -A PREROUTING -i $external -p tcp --dport 411 -j REDIRECT --to-ports 4111
$IPTABLES -t nat -A PREROUTING -i $external -p tcp --dport 2011 -j REDIRECT --to-ports 4111
$IPTABLES -t nat -A PREROUTING -i $external -p tcp --dport 1111 -j REDIRECT --to-ports 4111
#
$IPTABLES -t nat -A POSTROUTING -s 192.168.56.0/24 -j MASQUERADE
##################################################

# Правила против сканирования портов.
###################### Null scan ( nmap -sN &lt;target&gt; )
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# Log attack
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall Null scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
$IPTABLES -A INPUT -p tcp --tcp-flags ALL NONE  -m recent --name blacklist_60 --set -m comment --comment &quot;Drop/Blacklist Null scan&quot; -j DROP
#################### Xmas scan (nmap -sX &lt;target&gt;)
# Log attacks
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall&gt; XMAS scan &quot;
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall XMAS-PSH scan &quot;
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall XMAS-ALL scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
$IPTABLES -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas/PSH scan&quot; -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas scan&quot; -j DROP
$IPTABLES -A INPUT -p tcp --tcp-flags ALL ALL -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas/All scan&quot; -j DROP 
#################### FIN scan (nmap -sF &lt;target)
#Log attack
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall FIN scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
$IPTABLES -A INPUT -p tcp --tcp-flags ALL FIN -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist FIN scan&quot; -j DROP
#################### ACK scan (nmap -sA &lt;target&gt;)
$IPTABLES -A INPUT -p tcp ! --syn -m state --state NEW -m comment --comment &quot;Drop TCP connection not starting by SYN&quot; -j DROP
################### UDP scan (nmap -sU &lt;target&gt;)
$IPTABLES -A INPUT -p udp  -m limit --limit 6/h --limit-burst 1 -m length --length 0:28 -j LOG --log-prefix &quot;Firewall 0 length udp &quot;
$IPTABLES -A INPUT -p udp -m length --length 0:28 -m comment --comment &quot;Drop UDP packet with no content&quot; -j DROP
#$IPTABLES -A INPUT -i eth0 -m psd -j DROP
#Открываем порты:

# FTP (Passive Mode)
#$IPTABLES -A INPUT -m conntrack --ctstate NEW -p tcp --sport 1024:65535 --dport 20:21 -j ACCEPT
#$IPTABLES -A INPUT -p tcp --sport 1024:65535 --dport 49000:49500 -j ACCEPT
#Даём доступ к вебсерверу:
$IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 80,443 -j ACCEPT
#Даём доступ к DC-хабам
$IPTABLES -A INPUT -p tcp -m tcp -m multiport --dports 4111,2011,1111,6850 -j ACCEPT
# Разрешаем работу UDP пакетов на порту 1209
$IPTABLES -A INPUT -i $external -p udp --sport 1209 -j ACCEPT
$IPTABLES -A OUTPUT -o $external -p udp --dport 1209 -j ACCEPT
#Разрешаем ICQ
$IPTABLES -A INPUT -p tcp -i $external --dport 5190 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 5190 -m state --state NEW -j ACCEPT
#Jabber
$IPTABLES -A INPUT -p tcp -i $external --dport 5222 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 5222 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $external --dport 5280 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 5280 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $external --dport 5269 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 5269 -m state --state NEW -j ACCEPT
#Разрешаем SMTP
$IPTABLES -A INPUT -p tcp -i $external --dport 465 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 465 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $external --dport 587 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 587 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $external --dport 25 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 25 -m state --state NEW -j ACCEPT
#Разрешаем POP3/POP3S
$IPTABLES -A INPUT -p tcp -i  $external --dport 110 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o  $external --sport 110 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i  $external --dport 995 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o  $external --sport 995 -m state --state NEW -j ACCEPT
#Разрешаем imap
$IPTABLES -A INPUT -p tcp -i  $external --dport 143 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o  $external --sport 143 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p tcp -i $external --dport 993 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p tcp -o $external --sport 993 -m state --state NEW -j ACCEPT
$IPTABLES -A INPUT -p udp -i $external --dport 993 -m state --state NEW -j ACCEPT
$IPTABLES -A OUTPUT -p udp -o $external --sport 993 -m state --state NEW -j ACCEPT
#Разрешаем DNS
$IPTABLES -A INPUT -i $external -p udp --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -o $external -p udp --dport 53 -j ACCEPT
$IPTABLES -A INPUT -i $external -p tcp --sport 53 -j ACCEPT
$IPTABLES -A OUTPUT -o $external -p tcp --dport 53 -j ACCEPT
#SSH
$IPTABLES -A INPUT -m tcp -p tcp --dport $SSH_PORT -j ACCEPT
$IPTABLES -A OUTPUT -m tcp -p tcp --dport $SSH_PORT -j ACCEPT
#SKYPE
$IPTABLES -A INPUT -p TCP -i $external --dport 11553 -j ACCEPT
$IPTABLES -A OUTPUT -p TCP -o $external --dport 11553 -j ACCEPT
$IPTABLES -A OUTPUT -p UDP -o $external --sport 11553 -j ACCEPT
# Torrent
$IPTABLES -A INPUT -p TCP -i $external --dport 51413 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $external --dport 51413 -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $external --dport 6881 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $external --dport 6881 -j ACCEPT
$IPTABLES -A INPUT -p UDP -i $external --dport 29292 -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $external --dport 29292 -j ACCEPT
# IGMP (IPTV)
$IPTABLES -I INPUT -p igmp -j ACCEPT
$IPTABLES -I OUTPUT -p igmp -j ACCEPT
$IPTABLES -I INPUT -p udp -m udp -d 224.0.0.0/240.0.0.0 --dport 1234 -j ACCEPT
$IPTABLES -I INPUT -p udp -m udp -d 224.0.0.0/240.0.0.0 --dport 9875 -j ACCEPT
BLOCKDB=&quot;/usr/local/etc/firewall/ip-all.blocked&quot;
IPS=$(grep -Ev &quot;^#&quot; $BLOCKDB)
for i in $IPS
 do
         $IPTABLES -A INPUT -p tcp -i $external -s $i -j DROP
         $IPTABLES -A INPUT -p udp -i $external -s $i -j DROP
done
BLOCKDB2=&quot;/usr/local/etc/firewall/ranges.bans&quot;
RANGES=$(grep -Ev &quot;^#&quot; $BLOCKDB2)
for i in $RANGES
 do
         $IPTABLES -A INPUT -p tcp -i $external -s $i -j DROP
         $IPTABLES -A INPUT -p udp -i $external -s $i -j DROP
done

BAD_CCDB=&quot;/usr/local/etc/firewall/country&quot;
CCs=$(grep -Ev &quot;^#&quot; $BAD_CCDB)
for i in $CCs
 do
        $IPTABLES -I INPUT -m geoip --src-cc $i -j DROP
done
BAD_CCDB2=&quot;/usr/local/etc/firewall/country_hub&quot;
CCs2=$(grep -Ev &quot;^#&quot; $BAD_CCDB2)
for i in $CCs2
 do
        $IPTABLES -I INPUT -m geoip -p tcp --dport 4111 --src-cc $i -j DROP
done</code></pre></div><p>Описаные флаги сканирования в комментариях работают. Если просто </p><div class="codebox"><pre><code>nmap host/ip</code></pre></div><p> - сканирование удаётся..</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-07T18:44:06Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257759#p257759</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257724#p257724" />
			<content type="html"><![CDATA[<p>неа, не помогает от флагов -sS и -f</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-07T16:20:41Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257724#p257724</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257710#p257710" />
			<content type="html"><![CDATA[<p><strong>denis32</strong>, попробуй так<br /></p><div class="codebox"><pre><code>iptables -F INPUT # Очищаем цепочку INPUT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT # Разрешаем пакеты по установленным соединениям
# Если за последний час было 10 или более запросов на нерабочие порты — блокируем
iptables -A INPUT -m recent --rcheck --seconds 3600 --hitcount 10 --rttl -j RETURN
# Если за последнюю минуту было 2 или более запросов на нерабочие порты — блокируем
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 2 --rttl -j RETURN
# Разрешаем рабочие порты
iptables -A INPUT -m conntrack --ctstate NEW -p tcp -m multiport --dport 21,25,53,80,110 -j ACCEPT
iptables -A INPUT -m conntrack --ctstate NEW -p udp -m multiport --dport 53,123 -j ACCEPT
# Всех, кто ломится в нерабочие порты — регистрируем
iptables -A INPUT -m recent --set
iptables -P INPUT DROP # Что не разрешено — то запрещено</code></pre></div><p>или так:<br /></p><div class="codebox"><pre><code># Создаем цепочку для проверки и блокирования портсканов
iptables -N portscan_check
# Блокируем тех, кто был уличен в портскане в течение последних суток
iptables -A portscan_check -m recent --name portscan --rcheck --seconds 86400 -j DROP
# По прошествии суток можно удалять их из списка
iptables -A portscan_check -m recent --name portscan --remove
# Ну а сейчас — собственно процедура определения портскана
iptables -A portscan_check -p tcp --dport 139 -m recent --name portscan --set -j DROP
# Пускаем на проверку всех, кто пришел к нам из интернета (интерфейс eth0)
iptables -I INPUT -i eth0 -j portscan_check</code></pre></div><p>Во втором примере от скана только 139 порт, для остальных использовать multiport.</p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-07T15:37:51Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257710#p257710</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257675#p257675" />
			<content type="html"><![CDATA[<p>Хехе. Хотя против nmap -sS и nmap -f O не канает.</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-07T13:44:05Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257675#p257675</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257671#p257671" />
			<content type="html"><![CDATA[<p>не знаю, мб чего-то и не достаёт, что может psd и/или lscan</p><div class="fancy_spoiler_switcher"><div class="fancy_spoiler_switcher_header" data-lang-open="открыть спойлер" data-lang-close="скрыть спойлер"><strong>+</strong>&nbsp;открыть спойлер</div><div class="fancy_spoiler"><div class="codebox"><pre><code>iptables -A INPUT -p tcp --tcp-flags ALL NONE -j DROP
# Log attack
iptables -A INPUT -p tcp --tcp-flags ALL NONE -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall Null scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
iptables -A INPUT -p tcp --tcp-flags ALL NONE  -m recent --name blacklist_60 --set -m comment --comment &quot;Drop/Blacklist Null scan&quot; -j DROP
#################### Xmas scan (nmap -sX &lt;target&gt;)
# Log attacks
iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall&gt; XMAS scan &quot;
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall XMAS-PSH scan &quot;
iptables -A INPUT -p tcp --tcp-flags ALL ALL -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall XMAS-ALL scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
iptables -A INPUT -p tcp --tcp-flags ALL SYN,RST,ACK,FIN,URG -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas/PSH scan&quot; -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL FIN,PSH,URG -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas scan&quot; -j DROP
iptables -A INPUT -p tcp --tcp-flags ALL ALL -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist Xmas/All scan&quot; -j DROP 
#################### FIN scan (nmap -sF &lt;target)
#Log attack
iptables -A INPUT -p tcp --tcp-flags ALL FIN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall FIN scan &quot;
# Drop and blacklist for 60 seconds IP of attacker
iptables -A INPUT -p tcp --tcp-flags ALL FIN -m recent --name blacklist_60 --set  -m comment --comment &quot;Drop/Blacklist FIN scan&quot; -j DROP
#################### ACK scan (nmap -sA &lt;target&gt;)
iptables -A INPUT -p tcp ! --syn -m state --state NEW -m comment --comment &quot;Drop TCP connection not starting by SYN&quot; -j DROP
################### SYN scan and TCP connect scan 
# log  probable sS and full connect tcp scan
PORTLIST_sS_SCAN=&quot;23 25 79 80 110 143 443 465 587 993 995 1111 4111 5190 5222 5269 5280 6881&quot;
for i in $PORTLIST_sS_SCAN
 do
iptables -A INPUT -p tcp --dport $i --tcp-flags ALL SYN -m limit --limit 3/m --limit-burst 5 -j LOG --log-prefix &quot;Firewall SYN scan trap:&quot;
# blacklist for three minuts
iptables -A  INPUT -p tcp --dport $i --tcp-flags ALL SYN -m recent --name blacklist_180 --set -j DROP
done
################### UDP scan (nmap -sU &lt;target&gt;)
iptables -A INPUT -p udp  -m limit --limit 6/h --limit-burst 1 -m length --length 0:28 -j LOG --log-prefix &quot;Firewall 0 length udp &quot;
iptables -A INPUT -p udp -m length --length 0:28 -m comment --comment &quot;Drop UDP packet with no content&quot; -j DROP</code></pre></div></div></div>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-07T12:57:12Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257671#p257671</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257433#p257433" />
			<content type="html"><![CDATA[<p>Для параноиков есть еще lscan, но я не пользовался, да и мануалов практически нет. <a href="http://manpages.ubuntu.com/manpages/karmic/man8/xtables-addons.8.html">http://manpages.ubuntu.com/manpages/kar … ons.8.html</a></p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-06T17:38:16Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257433#p257433</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257421#p257421" />
			<content type="html"><![CDATA[<p>Поместил правило чуть выше, просканил с другого серва, тоже удалось, но спалило не все открытые порты как раньше,</p><p>До:<br /></p><div class="codebox"><pre><code>PORT     STATE  SERVICE
25/tcp   open   smtp
80/tcp   open   http
110/tcp  open   pop3
143/tcp  open   imap
443/tcp  open   https
465/tcp  open   smtps
587/tcp  closed submission
993/tcp  open   imaps
995/tcp  open   pop3s
1111/tcp open   unknown
4111/tcp open   unknown
5190/tcp closed aol
5222/tcp open   unknown
5269/tcp open   unknown
5280/tcp open   unknown
6881/tcp closed bittorrent-tracker</code></pre></div><p>После:<br /></p><div class="codebox"><pre><code>Host is up (0.00021s latency).
Not shown: 997 filtered ports
PORT    STATE SERVICE
80/tcp  open  http
143/tcp open  imap
443/tcp open  https</code></pre></div>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-06T17:11:41Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257421#p257421</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257419#p257419" />
			<content type="html"><![CDATA[<p>Значит что-то не так, я показал что должно происходить.&nbsp; wink</p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-06T17:07:24Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257419#p257419</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257418#p257418" />
			<content type="html"><![CDATA[<p>Залез на другой сервак, который стоит в этом же дц, но на другой подсети. Попробовал, тоже всё прошло.</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-06T17:05:14Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257418#p257418</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257416#p257416" />
			<content type="html"><![CDATA[<p>Конечно в этом, твоему компу и локалке все разрешено, надо извне, либо повесь правила на какой-нибудь локальный комп и посмотри что будет. (или запрещать локалке форвард и оутпут)<br />Примерно так: <a href="http://linuxforum.ru/viewtopic.php?pid=256294#p256294">http://linuxforum.ru/viewtopic.php?pid=256294#p256294</a></p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-06T17:00:40Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257416#p257416</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257414#p257414" />
			<content type="html"><![CDATA[<p>с того же компа... Неужели в этом может быть дело? Oo</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-06T16:58:26Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257414#p257414</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257413#p257413" />
			<content type="html"><![CDATA[<p><strong>denis32</strong>, а откуда сканируешь?</p>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-06T16:56:52Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257413#p257413</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257412#p257412" />
			<content type="html"><![CDATA[<p>Попробовал вот я очистить все правила и добавить только iptables -A INPUT -i eth0 -m psd -j REJECT - скан проходит.</p>]]></content>
			<author>
				<name><![CDATA[denis32]]></name>
				<uri>https://linuxforum.ru/profile.php?id=20214</uri>
			</author>
			<updated>2012-03-06T16:54:02Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257412#p257412</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Iptables (xtables psd) вопрос о правильной настройке защиты от скана]]></title>
			<link rel="alternate" href="https://linuxforum.ru/viewtopic.php?pid=257409#p257409" />
			<content type="html"><![CDATA[<p>Вот примерная моя обертка, попробуй ее, где свои правила писать я указал, но у меня и OUTPUT политика строгая те не только INPUT но и OUTPUT указывать надо.<br />По одному добавляй и смотри где запинаться начнет.<br /></p><div class="codebox"><pre><code>$IPT -P INPUT   DROP
$IPT -P OUTPUT  DROP
$IPT -P FORWARD DROP

# Отбрасывать все пакеты, которые не могут быть идентифицированы.
$IPT -A INPUT   -m state --state       INVALID -j DROP
$IPT -A FORWARD -m state --state       INVALID -j DROP
$IPT -A INPUT   -m conntrack --ctstate INVALID -j DROP
$IPT -A FORWARD -m conntrack --ctstate INVALID -j DROP

# ICMP - перенаправление:
$IPT -A INPUT   --fragment -p icmp -j DROP
$IPT -A FORWARD --fragment -p icmp -j DROP
$IPT -A OUTPUT  --fragment -p icmp -j DROP

# SYN наводнение (связывание сист. ресурсов)
$IPT -A INPUT   -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A FORWARD -p tcp ! --syn -m state --state NEW -j DROP
$IPT -A OUTPUT  -p tcp ! --syn -m state --state NEW -j DROP

# Включаем фрагментацию пакетов. Необходимо из за разных значений MTU:
$IPT -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu

# Если интерфейс не lo, то запрещаем входить в список его адресов.
$IPT -A INPUT -s 127.0.0.1/255.0.0.0 ! -i lo -j DROP
$IPT -A INPUT \! -i lo -s 127.0.0.0/8 -j DROP

$IPT -A INPUT   -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT  -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Разрешаем локальный траффик для loopback и внутренней сети:
$IPT -A INPUT   -i lo   -j ACCEPT
$IPT -A OUTPUT  -o lo   -j ACCEPT
$IPT -A INPUT   -i $LAN -j ACCEPT
$IPT -A OUTPUT  -o $LAN -j ACCEPT

# Запрещаем доступ снаружи во внутренние сети:
$IPT -A FORWARD -i $EXT -o $LAN -j REJECT
# Разрешаем доступ из внутренней сети наружу:
$IPT -A FORWARD -i $LAN -o $EXT -j ACCEPT

# Разрешаем  ICMP соединение. Значительная часть ICMP используется для передачи сообщений о
# том, что происходит с тем или иным UDP или TCP соединением.
$IPT -A INPUT  -i $EXT -p icmp -m icmp --icmp-type source-quench -j ACCEPT
$IPT -A OUTPUT -o $EXT -p icmp -m icmp --icmp-type source-quench -j ACCEPT

# Разрешаем ping снаружи
$IPT -A INPUT  -i $EXT -p icmp -m icmp --icmp-type echo-request  -j ACCEPT
$IPT -A OUTPUT -o $EXT -p icmp -m icmp --icmp-type echo-reply    -j ACCEPT

# Разрешаем ping самому серверу
$IPT -A OUTPUT -o $EXT -p icmp -m icmp --icmp-type echo-request  -j ACCEPT

# Разрешаем передачу пакета - некорректный параметр - используется, если в заголовке пакета
# содержится недопустимая запись, или если контрольная сумма заголовка не соответствует
# контрольной сумме, указанной передающим узлом.
$IPT -A INPUT  -i $EXT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT
$IPT -A OUTPUT -o $EXT -p icmp -m icmp --icmp-type parameter-problem -j ACCEPT

# SSH в локалку
$IPT -A INPUT   -i $LAN -p tcp -m tcp --dport 44535 -j ACCEPT
$IPT -A OUTPUT  -o $LAN -p tcp -m tcp --sport 44535 -j ACCEPT
# WWW  наружу
$IPT -A INPUT   -i $EXT -p tcp -m tcp --dport    80 -j ACCEPT
$IPT -A OUTPUT  -o $EXT -p tcp -m tcp --sport    80 -j ACCEPT

# DNS, WWW, HTTPS, RSYNC  для нас!!! для самого сервера (шлюза)!!!
$IPT -A OUTPUT  -o $EXT -p udp -m udp --dport    53 -j ACCEPT
$IPT -A OUTPUT  -o $EXT -p tcp -m tcp --dport    80 -j ACCEPT
$IPT -A OUTPUT  -o $EXT -p tcp -m tcp --dport   443 -j ACCEPT
$IPT -A OUTPUT  -o $EXT -p tcp -m tcp --dport   873 -j ACCEPT

#
#
#  ДОБАВЛЯТЬ СЮДА
#
#

# При использовании действия TARPIT обязательно добавляй в конфиг следующее правило, иначе
# «провисшие» соединения будут съедать ресурсы при обработке подсистемой conntrack:
$IPT -t raw -I PREROUTING -p tcp --dport 25 -j NOTRACK
$IPT -A INPUT -i $EXT -m psd -j REJECT</code></pre></div>]]></content>
			<author>
				<name><![CDATA[zenon]]></name>
				<uri>https://linuxforum.ru/profile.php?id=6867</uri>
			</author>
			<updated>2012-03-06T16:51:16Z</updated>
			<id>https://linuxforum.ru/viewtopic.php?pid=257409#p257409</id>
		</entry>
</feed>
