LINUX.ORG.RU

Покритикуйте правила. Все ли правильно?

 , ,


0

2

Чуваки, прошу посмотреть мои правила и прокомментить их. Может, что-то я неправильно сделал. Может, вы что-то предложите.

#!/bin/sh

iptables -F
iptables -X

ip6tables -F
ip6tables -X

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

ip6tables -P INPUT DROP
ip6tables -P OUTPUT DROP
ip6tables -P FORWARD DROP

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo ! -s 127.0.0.1 -j DROP # Блокируем, если источник - не локалка
iptables -A OUTPUT -o lo ! -d 127.0.0.1 -j DROP # Блокируем, если адрес - не локалка
iptables -A INPUT -s 10.0.0.0/8 -j DROP
iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -o eth0 -j ACCEPT
iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для тсп
iptables -A INPUT -p udp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для удп
iptables -A INPUT -p tcp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для тсп
iptables -A INPUT -p udp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для удп

echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all

Напишу, что я хотел иметь, когда это все делал:

Сначала хотел уставновить политку по умолчанию для входящих на drop. И то же для транзитных пакетов. исходящие соединения разрешаю. Запрещаю ipv6 - трафик. Разрешаю локалку. Зарпещаю обращение к локалке, если источник обращения - не локалка(где-то читал, что такое может быть...). Запрещаю адреса, которые начинаются на 10. для входящих и исходящих подключений. Разрешаю входящее только для соединений, установленных мною. Блокирую входящие на 53 порт и на 5353. Блокирую пинг себя.

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

В общем, нужно Ваше мнение и критика. Всем спасибо и отличного настроения



Последнее исправление: beastie (всего исправлений: 1)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i lo ! -s 127.0.0.1 -j DROP
iptables -A OUTPUT -o lo ! -d 127.0.0.1 -j DROP

3 и 4 не отработают

iptables -A INPUT -p tcp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для тсп
iptables -A INPUT -p udp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для удп
iptables -A INPUT -p tcp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для тсп
iptables -A INPUT -p udp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для удп

Зачем? У тебя и так политика drop на input

iptables -A INPUT -s 10.0.0.0/8 -j DROP

Опять-же блокируется политикой.

Что ты в итоге получить-то хотел?

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от Deleted

Можно сократить(ipv6 и icmp опустил) до:

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

iptables -A INPUT -i lo -s 127.0.0.0/8 -j ACCEPT
iptables -A OUTPUT -o lo -d 127.0.0.0/8 -j ACCEPT

iptablse -A INPUT -i eth0 ! -s 10.0.0.0/8 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptablse -A OUTPUT -i eth0 ! -d 10.0.0.0/8 -j ACCEPT
Но это тоже не самых хороший вариант, опиши свои хотелки.

Deleted
()
Последнее исправление: log4tmp (всего исправлений: 1)
Ответ на: комментарий от Deleted

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

iptables -A INPUT -p tcp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для тсп

iptables -A INPUT -p udp --dport 53 -j DROP #Блокируем вход. соединения на 53 порт для удп

iptables -A INPUT -p tcp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для тсп

iptables -A INPUT -p udp --dport 5353 -j DROP #Блокируем вход. соединения на 5353 порт для удп

и

iptables -A INPUT -s 10.0.0.0/8 -j DROP

т.к. в отчете видел, что с локалки на эти порты (они открыты были) трафик был очень большой (с 3 айпи)

Alexagn
() автор топика
Ответ на: комментарий от Deleted

Друг, в общем хочу, чтобы труднее было меня взломать. Сам в этих делах - чайник(единственно, есть познания в прогерстве на java, php и js). Как-то столкнулся с такой проблемой, когда на ноут залезли(при чем стояла только что установленная Убунту 14.04. Ничего запущенного на ней не было). Вот теперь страдаю от паранойи

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

У тебя политика DROP т.е. все что не разрешено(iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT) и так будет отбрасываться. А если придет RELATED на один из тех портов, то правило с state всеарвно отработает раньше.

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

Нет, у тебя сильно много лишнего и нет четкого представление о том что должно получиться в итоге

Deleted
()

Принцип такой: если политика DROP, правила с целью DROP не нужны, достаточно лишь грамотно составить правила для ACCEPT.
И оценивать нужно не скрипт, а дамп iptables-save / ip6tables-save.

ArcFi
()

1. Правила

iptables -A INPUT -i lo ! -s 127.0.0.1 -j DROP # Блокируем, если источник - не локалка
iptables -A OUTPUT -o lo ! -d 127.0.0.1 -j DROP # Блокируем, если адрес - не локалка
моветон, и вот почему: если например у тебя на интерфейсе eth0 выставлен адрес 192.168.0.1, то трафик с этого на этот будет ходить через интерфейс lo. В твоем случае после добавления вышепроцитированных правил, ты не сможешь обращаться изнутри хоста к адресу, который на обычных твоих сетевых интерфейсах.

2. OUTPUT — цепочка, которая фильтрует исходящие правила со стороны процессов, запущенных на твоем хосте. Чтобы случайно запущенные с плохими параметрами программы не ждали очень долго, делай REJECT. Или вообще не фильтруй.

Infra_HDC ★★★★★
()
Последнее исправление: Infra_HDC (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.