• B правой части каждого сообщения есть стрелки и . Не стесняйтесь оценивать ответы. Чтобы автору вопроса закрыть свой тикет, надо выбрать лучший ответ. Просто нажмите значок в правой части сообщения.

  • Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Настройка iptables Debian 9

zxv_zz

Well-known member
26.12.2019
97
0
BIT
15
Всех приветствую! Вопрос следующий, какие необходимо внести правила в iptables для защиты от сканирования открытых портов и прочих способов определения отпечатка ОС, (nmap например) и последующие атаки на открытые порты и сервисы, нашел в сети хорошую статью по этому поводу, но не все правила применяются, как правильно и надежно настроить iptables, Debian 9, в мир смотрят только 2 порта ovpn и ssh, ssh на 2FA + авторизация по ключу, установлен fail2ban, ICMP отключен полностью, все это накрыто фаерволом провайдера VPS в котором указаны только вышеуказанные порты , для надежности появилась идея дополнительно использовать iptables, так же читал еще о UFW, так понимаю для него тоже можно сделать конфиг инфы навалом в сети, и в целом какой еще набор действий можно применить для защиты VPS? Буду благодарен за идеи и подсказки в данном направлении.

Пример ответа от способа вышеизложенного в ссылке
# iptables -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,PSH,ACK,URG -j DROP
iptables v1.8.2 (nf_tables): --tcp-flags requires two args.
Try `iptables -h' or 'iptables --help' for more information.

Только два флага? Тогда как автор использует эту команду...

# iptables -P INPUT -j DROP
iptables v1.8.2 (nf_tables): -P requires a chain and a policy
Try `iptables -h' or 'iptables --help' for more information.

Что я делаю не так?

Текущие правила iptables

# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
DROP tcp -- anywhere anywhere OS fingerprint match NMAP
DROP tcp -- anywhere anywhere OS fingerprint match NMAP
f2b-sshd tcp -- anywhere anywhere multiport dports ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:**
ACCEPT all -- anywhere anywhere
LOG tcp -- anywhere anywhere tcp flags:FIN,ACK/FIN LOG level warning
DROP tcp -- anywhere anywhere tcp flags:FIN,ACK/FIN
DROP tcp -- anywhere anywhere tcp flags:FIN,ACK/FIN
RETURN all -- anywhere anywhere recent: CHECK seconds: 3600 hit_count: 10 TTL-Match name: DEFAULT side: source mask: 255.255.255.255
RETURN all -- anywhere anywhere recent: CHECK seconds: 60 hit_count: 2 TTL-Match name: DEFAULT side: source mask: 255.255.255.255
all -- anywhere anywhere recent: SET name: DEFAULT side: source mask: 255.255.255.255

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination

Chain f2b-sshd (1 references)
target prot opt source destination
RETURN all -- anywhere anywhere

и

# /sbin/iptables-save
# Generated by xtables-save v1.8.2 on Sat Apr 3 23:12:13 2021
*nat
REROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
OSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sat Apr 3 23:12:13 2021
# Generated by xtables-save v1.8.2 on Sat Apr 3 23:12:13 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:f2b-sshd - [0:0]
-A INPUT -p tcp -m osf --genre NMAP -j DROP
-A INPUT -p tcp -m osf --genre NMAP -j DROP
-A INPUT -p tcp -m multiport --dports ** -j f2b-sshd
-A INPUT -i eth0 -p tcp -m tcp --dport ** -j ACCEPT
-A INPUT -i tun0 -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j LOG
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -p tcp -m tcp --tcp-flags FIN,ACK FIN -j DROP
-A INPUT -m recent --rcheck --seconds 3600 --hitcount 10 --rttl --name DEFAULT --mask 255.255.255.255 --rsource -j RETURN
-A INPUT -m recent --rcheck --seconds 60 --hitcount 2 --rttl --name DEFAULT --mask 255.255.255.255 --rsource -j RETURN
-A INPUT -m recent --set --name DEFAULT --mask 255.255.255.255 --rsource
-A FORWARD -i tun0 -o eth0 -j ACCEPT
-A FORWARD -i eth0 -o tun0 -j ACCEPT
-A f2b-sshd -j RETURN
COMMIT
# Completed on Sat Apr 3 23:12:13 2021
 
Последнее редактирование:
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!