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



Последнее исправление: Virap (всего исправлений: 2)

-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 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.