А.
4 сообщения
#16 лет назад


########################################
# Generated by iptables-save v1.2.11 on Sun May 20 13:48:03 2007
*mangle
:PREROUTING ACCEPT
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:POSTROUTING ACCEPT
-A PREROUTING -i eth0 -p tcp -m tcp --sport 512:65535 -j TOS --set-tos 0x00
-A POSTROUTING -o eth0 -p tcp -m tcp --dport 512:65535 -j TOS --set-tos 0x00
COMMIT
# Completed on Sun May 20 13:48:03 2007
# Generated by iptables-save v1.2.11 on Sun May 20 13:48:03 2007
*filter
:INPUT ACCEPT
:FORWARD ACCEPT
:OUTPUT ACCEPT
:FUDP -
:GTA -
:GTD -
:IN_SANITY -
:LA -
:LD -
:LMAC -
:OUT_SANITY -
:PROHIBIT -
:PZ -
:RESET -
:TA -
:TD -
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 135:139 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 135:139 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 111 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 111 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 513 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 513 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 520 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 520 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 445 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 445 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1433 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1433 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1434 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1434 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1234 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1234 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 1524 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 1524 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --dport 3127 -j DROP
-A INPUT -i eth0 -p udp -m udp --dport 3127 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,ACK FIN -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags ACK,URG URG -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags PSH,ACK PSH -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,PSH,URG -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,ACK,URG -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN,SYN,RST,PSH,ACK,URG -j IN_SANITY
-A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG FIN -j IN_SANITY
-A INPUT -i eth0 -p udp -f -j FUDP
-A INPUT -i eth0 -p udp -m udp --dport 0 -j PZ
-A INPUT -i eth0 -p tcp -m tcp --dport 0 -j PZ
-A INPUT -i eth0 -p tcp -m tcp --dport 1214 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 1214 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 2323 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 2323 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 4660:4678 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 4660:4678 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6257 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6257 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6699 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6699 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6347 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6347 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6881:6889 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6881:6889 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 7778 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p udp -m udp --dport 7778 -j REJECT --reject-with icmp-port-unreachable
-A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8887 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 68 -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 3 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 5 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 11 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 0 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 30 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -m limit --limit 30/sec -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp ! --tcp-flags SYN,RST,ACK SYN -m state --state NEW -j DROP
-A INPUT -i eth0 -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -s 192.168.2.1 -i eth0 -p udp -m udp --sport 53 --dport 1023:65535 -j ACCEPT
-A INPUT -s 192.168.2.1 -i eth0 -p tcp -m tcp --sport 53 --dport 1023:65535 -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 53 --dport 1023:65535 -j DROP
-A INPUT -i eth0 -p udp -m udp --sport 53 --dport 1023:65535 -j DROP
-A INPUT -i eth0 -p tcp -m tcp --sport 1023:65535 --dport 21 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m multiport --dports 21,20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m multiport --dports 21,20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 22 --dport 513:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65535 --dport 22 --tcp-flags SYN,RST,ACK SYN -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m udp --dport 22 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p udp -m state --state NEW -m udp --dport 33434:33534 -j ACCEPT
-A INPUT -p tcp -j DROP
-A INPUT -p udp -j DROP
-A INPUT -j DROP
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 135:139 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 135:139 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 111 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 111 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 513 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 513 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 520 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 520 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 445 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 445 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1433 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 1433 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1434 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 1434 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1234 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 1234 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1524 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 1524 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --dport 3127 -j DROP
-A OUTPUT -o eth0 -p udp -m udp --dport 3127 -j DROP
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG NONE -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags FIN,SYN FIN,SYN -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags FIN,ACK FIN -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags PSH,ACK PSH -j OUT_SANITY
-A OUTPUT -o eth0 -p tcp -m tcp --tcp-flags ACK,URG URG -j OUT_SANITY
-A OUTPUT -o eth0 -p udp -f -j FUDP
-A OUTPUT -o eth0 -p udp -m udp --dport 0 -j PZ
-A OUTPUT -o eth0 -p tcp -m tcp --dport 0 -j PZ
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1214 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 1214 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 2323 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 2323 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 4660:4678 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 4660:4678 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6257 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6257 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6699 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6699 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6347 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6347 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6881:6889 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6881:6889 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 6346 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 7778 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p udp -m udp --dport 7778 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o eth0 -p tcp -m tcp --dport 22 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 25 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 8887 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 53 -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 68 -j ACCEPT
-A OUTPUT -o eth0 -p icmp -m limit --limit 30/sec -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m udp --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m tcp --sport 21 --dport 1023:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p tcp -m multiport --dports 21,20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m multiport --dports 21,20 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -o eth0 -p udp -m state --state NEW -m udp --dport 33434:33534 -j ACCEPT
-A OUTPUT -p tcp -j DROP
-A OUTPUT -p udp -j DROP
-A OUTPUT -j DROP
-A FUDP -j DROP
-A GTA -j ACCEPT
-A GTD -j DROP
-A IN_SANITY -i eth0 -p tcp -j DROP
-A LA -j LOG --log-level 2
-A LA -j ACCEPT
-A LD -j LOG --log-level 2
-A LD -j DROP
-A LMAC -i eth0 -j REJECT --reject-with icmp-net-prohibited
-A OUT_SANITY -o eth0 -p tcp -j DROP
-A PROHIBIT -j REJECT --reject-with icmp-host-prohibited
-A PZ -j DROP
-A RESET -p tcp -j REJECT --reject-with tcp-reset
-A TA -j ACCEPT
-A TD -j DROP
COMMIT
# Completed on Sun May 20 13:48:03 2007
Дмитрий Сотник
24 сообщения
#16 лет назад
Аудит чужого кода на предмет ошибок штука трудоемкая. Но с точки зрения быстродействия - ужасно, с точки зрения подхода - тихий ужас.
Идеальный пример плохо оптимизированного конфига, к которому подошли не с того конца. Спасибо, скопировал, буду детей пугать :shok:

Просто оцените, в каком месте у Вас будет обрабатыватся FTP? :angry:
-A INPUT -i eth0 -p tcp -m tcp --sport 1023:65535 --dport 21 -m state --state RELATED,ESTABLISHED -j ACCEPT
А ведь это ТСР пакеты передачи данных, не какой нибудь запрос на соединение.

А у Вас он обрабатывается ого-го где.

Хотя если нагрузка небольшая и машина мощная, то пойдет.
А перед этим его еще раз 6 спросят, а не ICMP ли он, и раз 10, а не UDP ли он, а потом еще кавырнадцать раз поинтересуются а не несет ли он какие нибудь флаги, и не SMB ли это
Вы только представьте, Вы у КАЖДОГО TCP пакета, при передаче файла спрашиваете по многу раз, не является ли он ICMP или UDP :o

И почему ICMP обрабатывается раньше TCP?

И еще. Хоть убейте, но зачем для каждого пакета прогонять этот бесполезный набор DROPов и REJECTов? :shok: Делайте ACCEPT для того что Вам нужно, остальное просто в конце дропнули одним правилом и все. Жуть просто.
 А.
4 сообщения
#16 лет назад
Спасибо, открыли глаза, а я думал правила от профи.
Как жить в этой жизни.
Дмитрий Сотник
24 сообщения
#16 лет назад
Интереееесно.... Кому я подгадил? <_<

С другой стороны вопрос стоит в том, сколько Вы заплатили за скрипт. Хорошая грамотная настройка стоит соответственно.
Предыдущий конфиг, с которого все начиналось был неплох.

А тему убили зря ИМХО. В последнем моем посте было описание, которое возможно пригодилось бы кому-то. По крайней мере не писали бы таких вот конфигов. Я в свое время это все собирал долго и еще дольше экспериментировал. Ну, не судьба, так не судьба.

P.S. Если кто-то успел скопировать, бросьте в личку
 А.
4 сообщения
#16 лет назад
Тема не моя , я не убивал.

Я скопировал вот это:

Ах да, моя обработка ТСР (только там в тексте последней цепочки правила обработки ТСР соединений взяты из другой цепи, но для демонстрации пойдет):

# =================== IN_EXT_DATASVIT_TCP ============================
# Запрет фрагментированных пакетов
iptables -A IN_EXT_DATASVIT_TCP -f -j LOG --log-level info --log-prefix "IPT=IN_EXT_TCP_DSV:FRAGMENT " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP -f -j DROP


# Блок префильтра флагов ТСР пакета
# Защита от стелс-сканирования, соединение, начатое не с SYN
iptables -A IN_EXT_DATASVIT_TCP -p tcp ! --tcp-flags SYN SYN -m state --state NEW -j DROP

# Блок разрешающих правил
# Разрешение служебных IP пакетов
iptables -A IN_EXT_DATASVIT_TCP -p tcp ! --tcp-flags SYN,FIN,RST NONE -m length --length $FLAGS_MIN:$FLAGS_MAX -j IN_EXT_DATASVIT_TCP_FLAGS


# Блок разрешения установленных соединений
# Таким образом на ТСР потоках реально фильтруются только заголовки, т.е.
# первый шаг установления соединения. Потом полагаемся на трасер состояний
# В принципе может быть бок с релятивными соединениями, но это уже по трассе
iptables -A IN_EXT_DATASVIT_TCP -m state --state ESTABLISHED -j ACCEPT

# Стандартная заглушка. Скинули в лог что обломилось и убили пакет
iptables -A IN_EXT_DATASVIT_TCP -m state --state NEW -j LOG --log-level info --log-prefix "IPT=IN_EXT_DSV_TCP NEW " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP -m state --state ESTABLISHED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DSV_TCP EST " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP -m state --state RELATED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DSV_TCP REL " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP -m state --state INVALID -j LOG --log-level info --log-prefix "IPT=IN_EXT_DSV_TCP INV " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP -p tcp -j REJECT --reject-with tcp-reset
# =================== /IN_EXT_DATASVIT_TCP ============================

# =================== IN_EXT_DATASVIT_TCP_FLAGS ============================
# Анализ служебных пакетов TCP\IP
# Заложена защита от сканирования и пр. Оптимизировано по скорости
echo Выполняется: Настройка цепочки IN_EXT_DATASVIT_TCP_FLAGS

# Пороговая защита от пассивного сканирования и SYN DOS атаки, ограничение на скорость открытия соединений
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags SYN,RST,FIN,ACK SYN -m limit --limit $FW_SYN_SPEED/second --limit-burst $FW_SYN_LIMIT -m state --state NEW,RELATED,ESTABLISHED -j IN_EXT_DATASVIT_TCP_CONN
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags SYN,RST,FIN,ACK SYN -m state --state NEW,RELATED,ESTABLISHED -j LOG --log-level warn --log-prefix "IPT=IN_EXT_DSV_FLG_SYN_OVS " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags SYN,RST,FIN,ACK SYN -m state --state NEW,RELATED,ESTABLISHED -j REJECT --reject-with tcp-reset

# Разрешение на завершение установления или разрыва установленного соединения или отказ от соединения
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK SYN,ACK -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK FIN,ACK -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK RST -m state --state ESTABLISHED,RELATED -j ACCEPT

# Защита от атаки на перехват соединения с предсказанием последовательности
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags SYN,ACK SYN,ACK -m state --state NEW -j REJECT --reject-with tcp-reset


# Пороговая защита от RST DOS атаки на соединение с плавающим окном
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK RST,ACK -m state --state ESTABLISHED,RELATED -m limit --limit $FW_RST_SPEED/second --limit-burst $FW_RST_LIMIT -j ACCEPT
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK RST,ACK -m state --state ESTABLISHED,RELATED -j LOG --log-level warn --log-prefix "IPT=IN_EXT_DSV_FLG_RST_OVS " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -p tcp --tcp-flags RST,SYN,FIN,ACK RST,ACK -j DROP


# Патч для FTP для этого гребанного пакета. после обновления -удалить
#add TCP_IN_FLAGS for_tcp src_port 21 tcp_flags SYN,ACK,FIN,RST FIN,ACK invalid_connection do ALLOW

# Стандартная заглушка. Скинули в лог что обломилось и убили пакет
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -m state --state NEW -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_FLG_UNK NEW " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -m state --state ESTABLISHED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_FLG_UNK EST " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -m state --state RELATED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_FLG_UNK REL " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -m state --state INVALID -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_FLG_UNK INV " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_FLAGS -j DROP

# =================== /IN_EXT_DATASVIT_TCP_FLAGS ============================


# =================== IN_EXT_DATASVIT_TCP_CONNECTION ============================
# Анализ входящих соединений. Т.е. фильтруется только установление соединения, потом трафик идет по трасеру
echo Выполняется: Настройка цепочки IN_EXT_DATASVIT_TCP_CONN

# SSH Client
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -s $EXTERNAL_IP_DATASVIT --sport 1024: -m multiport --destination-ports 22 -j ACCEPT

# FTP Client, passive mode
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -s $EXTERNAL_IP_DATASVIT --sport 1024: -m multiport --destination-ports 20,21 -j ACCEPT
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -s $EXTERNAL_IP_DATASVIT --sport 1024: --dport 1024: -m state --state RELATED -j ACCEPT
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -s $EXTERNAL_IP_DATASVIT --sport 1024: --dport 1024: -j ACCEPT


# HTTP клиент
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp --sport 1024: -m multiport --destination-ports 80,443,2082,3000 -m owner --uid-owner squid --gid-owner squid -j ACCEPT
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp --sport 1024: -m multiport --destination-ports 80,443,2082,3000 -m owner --uid-owner apache --gid-owner apache -j ACCEPT

# NAMED DNS клиент, если размер пакета > 512 б.
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -d $DNS_SERVER_DATASVIT_1 --sport 53 --dport 53 -m length --length $DNS_TCP_MIN:$DNS_TCP_MAX -m owner --uid-owner named --gid-owner named -j ACCEPT
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp -d $DNS_SERVER_DATASVIT_1 --sport 1024: --dport 53 -m length --length $DNS_TCP_MIN:$DNS_TCP_MAX -m owner --uid-owner named --gid-owner named -j ACCEPT

iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp --sport 53 --dport 53 -m length --length $DNS_TCP_MIN:$DNS_TCP_MAX -m owner --uid-owner named --gid-owner named -j ACCEPT
iptables -A OUT_EXT_DATASVIT_TCP_CONN -p tcp --sport 1024: --dport 53 -m length --length $DNS_TCP_MIN:$DNS_TCP_MAX -m owner --uid-owner named --gid-owner named -j ACCEPT



# Стандартная заглушка. Скинули в лог что обломилось и убили пакет
iptables -A IN_EXT_DATASVIT_TCP_CONN -m state --state NEW -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_CON_UNK NEW " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_CONN -m state --state ESTABLISHED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_CON_UNK EST " --log-ip-optio
iptables -A IN_EXT_DATASVIT_TCP_CONN -m state --state RELATED -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_CON_UNK REL " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_CONN -m state --state INVALID -j LOG --log-level info --log-prefix "IPT=IN_EXT_DTSV_CON_UNK INV " --log-ip-options
iptables -A IN_EXT_DATASVIT_TCP_CONN -j DROP

# =================== /IN_EXT_DATASVIT_TCP_CONNECTION ============================



################################################
Вот это я вообще не понял о чем вы :

Интереееесно.... Кому я подгадил?

С другой стороны вопрос стоит в том, сколько Вы заплатили за скрипт. Хорошая грамотная настройка стоит соответственно.
Предыдущий конфиг, с которого все начиналось был неплох.
##########################################################
За первый что был в той теме заплатил 20$ и собираюсь использовать.
За тот что в этой теме ничего, я же написал что это создано бесплатной программой APF
###########################################################
А сколько стоит скрипт от sdvv?