iptables закрыть все, кроме 80 8080 443 ssh munin

D
На сайте с 07.11.2000
Offline
219
5365

Для нового сервера хочу закрыть все порты, кроме необходимых для работы.

Порты:

80

8080 (временно, после отладки стоит закрыть)

443 (открыт, но https пока не работает)

17777 (сменил c 22 для ssh)

14949 (сменил с 4949 для munin)

Получать/отправлять почту пока не планирую.

Все ли верно?

iptables-save


*mangle
:PREROUTING ACCEPT [7077:792298]
:INPUT ACCEPT [7077:792298]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [6763:6453898]
:POSTROUTING ACCEPT [6763:6453898]
COMMIT

*nat
:PREROUTING ACCEPT [211:13743]
:INPUT ACCEPT [49:2564]
:OUTPUT ACCEPT [14:841]
:POSTROUTING ACCEPT [14:841]
COMMIT

*filter
:INPUT DROP [167:12431]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 80 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 8080 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 443 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 14949 -m state --state NEW -j ACCEPT
-A INPUT -i eth0 -p tcp -m tcp --dport 17777 -m state --state NEW -j ACCEPT
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A FORWARD -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
-A OUTPUT -o lo -j ACCEPT
-A OUTPUT -o eth0 -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied: " --log-level 7
COMMIT

iptables.log


Feb 20 23:54:00 server kernel: [39670.301653] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=89.202.*.16 DST=1.1.1.1 LEN=44 TOS=0x00 PREC=0x00 TTL=58 ID=61194 DF PROTO=TCP SPT=8302 DPT=25 WINDOW=16384 RES=0x00 SYN URGP=0
Feb 20 23:55:24 server kernel: [39754.569228] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=187.201.*.200 DST=2.2.2.2 LEN=40 TOS=0x00 PREC=0x00 TTL=48 ID=30705 PROTO=TCP SPT=27481 DPT=23 WINDOW=26023 RES=0x00 SYN URGP=0
Feb 20 23:56:00 server kernel: [39789.994029] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=114.35.*.82 DST=1.1.1.1 LEN=40 TOS=0x00 PREC=0x00 TTL=43 ID=44113 PROTO=TCP SPT=65041 DPT=23 WINDOW=11256 RES=0x00 SYN URGP=0
Feb 20 23:56:55 server kernel: [39845.067225] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=220.132.*.166 DST=1.1.1.1 LEN=40 TOS=0x00 PREC=0x00 TTL=48 ID=13342 PROTO=TCP SPT=16502 DPT=23 WINDOW=46494 RES=0x00 SYN URGP=0
Feb 20 23:57:00 server kernel: [39850.166346] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=191.37.*.165 DST=2.2.2.2 LEN=44 TOS=0x00 PREC=0x00 TTL=240 ID=57488 PROTO=TCP SPT=30227 DPT=23 WINDOW=14600 RES=0x00 SYN URGP=0
Feb 20 23:57:45 server kernel: [39894.777681] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=91.228.*.89 DST=1.1.1.1 LEN=44 TOS=0x00 PREC=0x00 TTL=53 ID=61604 PROTO=TCP SPT=60000 DPT=23 WINDOW=9103 RES=0x00 SYN URGP=0
Feb 20 23:57:59 server kernel: [39908.866198] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=111.91.*.74 DST=1.1.1.1 LEN=122 TOS=0x00 PREC=0x00 TTL=54 ID=0 DF PROTO=UDP SPT=27375 DPT=1900 LEN=102
Feb 21 00:10:24 server kernel: [40653.247522] iptables denied: IN=eth0 OUT= MAC=mac:mac SRC=218.31.*.81 DST=1.1.1.1 LEN=96 TOS=0x00 PREC=0x00 TTL=51 ID=42288 PROTO=ICMP TYPE=3 CODE=10 [SRC=1.1.1.1 DST=218.31.*.81 LEN=68 TOS=0x00 PREC=0x00 TTL=241 ID=25148 DF PROTO=UDP SPT=60201 DPT=53 LEN=48 ]
Оптимизайка
На сайте с 11.03.2012
Offline
396
#1

duplicate:

-A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
D
На сайте с 07.11.2000
Offline
219
#2

Могут ли быть проблемы при закрытии udp?

Может udp нужен каким сервисам ОС?

---------- Добавлено 21.02.2017 в 01:38 ----------

Оптимизайка, спасибо, поправил. А в целом?

Оптимизайка
На сайте с 11.03.2012
Offline
396
#3
Dimka:
А в целом?

OK.

N.B. IPv6

D
На сайте с 07.11.2000
Offline
219
#4

Добавление:

iptables -t raw -A PREROUTING -j NOTRACK

iptables -t raw -A OUTPUT -j NOTRACK

привело к полному зависанию.

V
На сайте с 05.08.2007
Offline
87
#5
Dimka:
Для нового сервера хочу закрыть все порты, кроме необходимых для работы.
Порты:
80
8080 (временно, после отладки стоит закрыть)
443 (открыт, но https пока не работает)
17777 (сменил c 22 для ssh)
14949 (сменил с 4949 для munin)
Получать/отправлять почту пока не планирую.

Dimka, а вы подумайте над другой идеей: вместо того, что бы закрывать "все кроме", возможно, лучше не запускать службы, которые слушают не используемые порты?

Напимер:

- 25 - почта, не используете, почтарь не запускаем;

- 8080 - апач, хотите что бы был недоступен с внешнего мира, пересадите службу с внешнего интерфейста, на localhost;

- 3306 - доступ к мускулу с внешнего мира не нужен, говорим ему "skip-networking".

То есть, если у Вас никто не будет слушать неиспользуемые порты, отпадет необходимость их закрывать.

---

Виктор

С уважением, Victor (http://adm-lib.ru)
D
На сайте с 07.11.2000
Offline
219
#6
VGrey:
лучше не запускать службы, которые слушают не используемые порты?

Не особо запущено:

netstat -ntulp


Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:17777 0.0.0.0:* LISTEN 858/sshd
tcp 0 0 127.0.0.1:8080 0.0.0.0:* LISTEN 990/apache2
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 934/nginx.conf
tcp6 0 0 :::14949 :::* LISTEN 1000/perl
tcp6 0 0 :::17777 :::* LISTEN 858/sshd
udp6 0 0 :::32787 :::* 414/systemd-timesyn

и временно:
tcp 0 0 ip1:8080 0.0.0.0:* LISTEN 934/nginx.conf
tcp 0 0 ip2:8080 0.0.0.0:* LISTEN 934/nginx.conf
tcp 0 0 ip3:8080 0.0.0.0:* LISTEN 934/nginx.conf
esetnod
На сайте с 16.07.2009
Offline
134
#7

Могут ли быть проблемы при закрытии udp?

Ну, как минимум DNS и NTP (когда сервер действует как клиент).


Добавление:
iptables -t raw -A PREROUTING -j NOTRACK
iptables -t raw -A OUTPUT -j NOTRACK

привело к полному зависанию.

NOTRACK запрещает добавление записей в таблицу conntrack, у вас там в правилах фигурирует state, которому нужны эти состояния.

P.S. Если TCP порт никто не слушает, и на него пытаются открыть соединение, система просто отправит RST в ответ, а при DROP в правилах, такие пакеты проигнорируются, вот и вся разница.

Какой-то сферической безопасности в вакууме эти правила не добавят.

Быстрый хостинг на SSD от $0.99 (http://just-hosting.ru/) | OpenVZ (http://just-hosting.ru/vds.html) и KVM (http://just-hosting.ru/vds-kvm.html) VDS от $7.95

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий