LINUX.ORG.RU
ФорумAdmin

Оцените безопасность iptables конфига

 


2

2

Прошу помощи, чтобы оценить безопасность и правильность настройки моего iptables. Нужно настроить по принципу: «Запрещено все, кроме необходимого минимума». Есть ли косяки?

Полное содержание файла /etc/sysconfig/iptables:

*filter

:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [5881:2975599]

# Открываем нестандартный порт для SSH:
-A INPUT -p tcp --dport 25243 -j ACCEPT

# Разрешаем localhost и локалку:
-A INPUT -i lo -j ACCEPT
-A INPUT -d 127.0.0.0/8 -j REJECT

# Блокируем некоторые виды атак:
-A INPUT -p tcp ! --syn -m state --state NEW -j DROP
-A INPUT -p tcp --tcp-flags ALL NONE -j DROP
-A INPUT -p tcp --tcp-flags ALL ALL -j DROP

# Разрешаем установленные входящие соединения:
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

# Открываем порты для вебсервера:
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Разрешаем NTP соединения:
-A INPUT -p udp --dport 123 -j ACCEPT

# Разрешаем DNS запросы:
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT

# Разрешаем пинги:
-A INPUT -p icmp --icmp-type echo-request -j ACCEPT

# Разрешаем соединения OpenVPN
-A INPUT -p tcp -m tcp --dport 1194 -j ACCEPT

# Разрешаем использовать прокси Squid только с определенных адресов
-A INPUT -s 10.0.144.6/32 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 10.0.144.8/32 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 10.0.144.10/32 -p tcp -m tcp --dport 3128 -j ACCEPT
-A INPUT -s 10.0.144.12/32 -p tcp -m tcp --dport 3128 -j ACCEPT

# Запрещаем все, что не разрешено:
-P INPUT DROP
-P OUTPUT ACCEPT
-P FORWARD DROP

COMMIT


-A INPUT -d 127.0.0.0/8 -j REJECT

ИМХО, лишнее. Ядро и так режет «марсианские» пакеты, да REJECT тут не логичен.

Запрещено все, кроме необходимого минимума

Только вы не перечислили решаемые задачи. Не понятно, нужен вам ntp-сервер с наружи, или марштутизация пакетов от openvpn-клиентов.

mky ★★★★★ ()
Ответ на: комментарий от mky

Моя сеть состоит из VPS (центральная точка), домашней и дачной подсеток, которые объединены посредством OpenVPN (с опцией client-to-client). VPS является VPN сервером. Весь трафик у подсеток направляется их роутерами в VPN канал. Доступ в интернет компьютеров обоих подсеток осуществляется только через VPS c установленным прокси Squid. Обсуждаемая тут Iptables настраивается для VPS.

Не понятно, нужен вам ntp-сервер с наружи, или марштутизация пакетов от openvpn-клиентов.

mky, я включил правило "-A INPUT -p udp --dport 123 -j ACCEPT" для возможности синхронизации времени компьютерами подсеток. Так как в моей вируальной сети нет серверов NTP, то узнать время они могут только через VPS.

mky, я чувствую, что вы глубоко шарящий человек. Вы можете оценить, есть ли опасные дыры в моей настройке фаервола или более менее все прилично?

ИМХО, лишнее. Ядро и так режет «марсианские» пакеты, да REJECT тут не логичен.

Спасибо. Не нашел, как плюсануть карму.

Virap ()

Обсуждаемая тут Iptables настраивается для VPS

Вам бы тогда вот это всё

# Открываем порты для вебсервера:
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 443 -j ACCEPT

# Разрешаем NTP соединения:
-A INPUT -p udp --dport 123 -j ACCEPT

# Разрешаем DNS запросы:
-A INPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT

ограничить для доступа ip-адресами из vpn

-s 10.0.144.6,10.0.144.8,10.0.144.10,10.0.144.12

yumko ★★ ()
Ответ на: комментарий от yumko

ограничить для доступа ip-адресами из vpn -s 10.0.144.6,10.0.144.8,10.0.144.10,10.0.144.12

yumko, я правильно понял, вы предлагаете это:

-A INPUT -s 10.0.144.0/24 -p tcp --dport 80 -j ACCEPT
Но как тогда получить доступ к веб серверу извне?

Virap ()
Ответ на: комментарий от Virap

Если доступ к вебсерверу нужен извне, не из vpn, то для вебсервера ограничивать доступ не нужно. Но открытые 53 и 123 извне вряд ли нужны, а у некоторых хостеров по ним ещё и пунктик.

yumko ★★ ()
Ответ на: комментарий от yumko

открытые 53 и 123 извне вряд ли нужны

Простите, но я не понимаю. Компьютеры моей сети посылают DNS запросы через мой сервер на VPS. Если я закрою 53 порт на вход, то как компьютеры смогут получить ответ от DNS?

Virap ()
Ответ на: комментарий от Virap

Они посылают НА 53 порт, а не С 53 порта.
Сорс портом будет рандомный высокий.

slowpony ★★★★ ()
Ответ на: комментарий от Virap

Или у тебя там какой-то порт-форвардинг 53-53 сделан?

slowpony ★★★★ ()
Ответ на: комментарий от Virap

Если я закрою 53 порт на вход, то как компьютеры смогут получить ответ от DNS?

Вы же к VPS по VPN подключаетесь, так что и доступ к 53 и 123 можно оставить только для VPN, а не для всего Интернета, как сейчас.

yumko ★★ ()
Ответ на: комментарий от anonymous

Это не столько для сесурити делают, сколько чтобы логи не пухли.

slowpony ★★★★ ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.