LINUX.ORG.RU
решено ФорумAdmin

iptables нужно обрубить весь трафик, разрешив только определённые сетки.

 , ,


0

0

Доброго времени суток, первый раз столкнулся с никс-подобной ситемой, Rasbian. Нужно ограничить доступ системы, только в четко прописанные сетки, начал читать маны по iptables, утонул в кол-ве информации.

Помогите с настройкой, как правильно обрубить весь трафик, оставив только лупбэки, с нужными диапазонами ip-адресов?

Приблизительно нашёл что мне нужно(боюсь пробовать, не понял, за что отвечают некоторые флаги):

iptables -A INPUT -p tcp -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT 
iptables -A OUTPUT -p tcp -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

Как запретить теперь весь трафик кроме данных исключений?

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

Либо политику в DROP:

iptables -P INPUT DROP
iptables -P OUTPUT DROP

либо после этих правил посатавить правила с ″-j DROP″:

iptables -А INPUT -j DROP
iptables -А OUTPUT -j DROP

P.S. Вобще под «оставив только лупбэки» подразумевается разрешение хождения трафика через lo-интерфейс, а не то, что у вас написано.

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

Я не айтишник, возможно что-то спутал в терминологии. Выходит, мне нужно сделать так:

iptables -P tcp INPUT All DROP
iptables -P tcp OUTPUT All DROP

iptables -A INPUT -p tcp -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT 
iptables -A OUTPUT -p tcp -m iprange --src-range 192.168.1.100-192.168.1.200 -j ACCEPT

iptables save

Не найду теперь, как сохранить настройки правильно. Везде как-то по разному пишут, а пробовать боюсь.

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

Не знаю кто вы, и за что вас банили на LOR'е, потому что пришедший сюда в первый раз не умеет оформлять в LORCODE.

Если же вы суперпродвинутый пользователь и супервнимательны, то зачем вы так путаете буквы? Откуда взято это:

iptables -P tcp INPUT All DROP

Сохранение правил на постоянной основе это отдельная тема и команда это делающая зависит от дистрибутива. И Rasbian, как и Debian, бывает разных версий.

Опасения «а пробовать боюсь» не понятны, сначала вводите правила руками, проверяете что всё работает, удалённый доступ не исчез и можно подключиться, а уже потом думаете о сохранении. При этом либо у вас правила будут сохраняться, либо нет, но искажений при сохранении/восстановлении не будет и систему сохранением правил iptables не убить.

Что это: iptables save? Если это ″iptables-save″ то эта команда ничего не сохранит, а просто выведет все правила iptables на экран в формате, подходящем для iptables-restore. Для сохранения, а точнее восстановления правил при загрузке системы, вам нужно будет поставить пакет iptables-persistent. А сама запись правил в нужный файл в последнем Debian выполняется командой # netfilter-persistent save.

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

Откуда взято это

Может его подсознание хочет что-то именно такое: запретить именно tcp, а вы ему про политику запрещено всё что не разрешено втираете :)

Опасения «а пробовать боюсь» не понятны

Да лана, вполне понятное опасение, про это много везде пишут и применяют специальные техники, от, скажем, перезагрузки по времени с отменой после проверки у cisco, до всяких kvm и прочее и прочее.

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

Но откуда в подсознании взялось ″All″? Это вобще не характерно для iptables, там все слова в одном регистре, либо нижний (tcp, udp, mark, src...), либо верхний (ACCEPT, DROP, MARK...) и подлежит отдельному исследованию :-). А если к этому добавить, что в начале темы, видимо тоже из подсознания, всплывали loopback'и, то тут ЛОРвским аналитикам работать и работать...

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

Короче нефига я помощи не дождался, по понятному типу: сделай так, ткни сюда, помощи я тут не дождусь. Зачем тогда этот ресурс?

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

дождешься)

давай дружить, помогу освоить линукс!!!

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

Не работает эта тема, с

iptables -А INPUT -j DROP

Закрывает весь трафик, без исключений по ранее прописанным диапазонам.

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

Так не бывает. Показывайте вывод ″iptables-save -c″ и то, каким образом проверяете, что трафик перекрыт.

И там выяснится, что либо вы не в том порядке добавили правила, либо проверяете ping'ом, а разрешили только tcp, либо у вас имена не резолвятся, так как udp не ходит, либо что-то ещё.

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

Пожалуйста:

AlexELEC (release) Version: 2.20-20170927
RPI3:~ # iptables -A INPUT -p tcp -m iprange --src-range 192.168.1.1-192.168.1.2
00 -j ACCEPT
RPI3:~ # iptables -A OUTPUT -p tcp -m iprange --src-range 192.168.1.1-192.168.1.
200 -j ACCEPT
RPI3:~ # iptables -А INPUT -j DROP
iptables v1.6.0: unknown option "iptables"
Try `iptables -h' or 'iptables --help' for more information.
RPI3:~ # iptables -A OUTPUT -j DROP
RPI3:~ # iptables -A INPUT -j DROP
RPI3:~ # iptables -A INPUT -p tcp -m iprange --src-range 95.142.80.0-95.142.87.2
55 -j ACCEPT
RPI3:~ # iptables -A OUTPUT -p tcp -m iprange --src-range 95.142.80.0-95.142.87.
255 -j ACCEPT
RPI3:~ # iptables-save -c
# Generated by iptables-save v1.6.0 on Tue Jan  2 13:12:47 2018
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
[62:25298] -A INPUT -p tcp -m iprange --src-range 192.168.1.1-192.168.1.200 -j ACCEPT
[0:0] -A INPUT -j DROP
[0:0] -A INPUT -p tcp -m iprange --src-range 95.142.80.0-95.142.87.255 -j ACCEPT
[66:6084] -A OUTPUT -p tcp -m iprange --src-range 192.168.1.1-192.168.1.200 -j ACCEPT                                                                        
[5:819] -A OUTPUT -j DROP
[0:0] -A OUTPUT -p tcp -m iprange --src-range 95.142.80.0-95.142.87.255 -j ACCEPT
COMMIT
# Completed on Tue Jan  2 13:12:47 2018
RPI3:~ #

Проверка такая:

RPI3:~ # ping 192.168.1.1
PING 192.168.1.1 (192.168.1.1): 56 data bytes
ping: sendto: Operation not permitted
RPI3:~ # ping 95.142.80.1
PING 95.142.80.1 (95.142.80.1): 56 data bytes
ping: sendto: Operation not permitted

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

Посмотрел ещё раз логи... Да это у тебя цепочка drop идёт раньше разрешенных адресов вот все и бросается, делай через policy

iptables -P INPUT DROP
iptables -P OUTPUT DROP

Дальше твои 

iptables -A INPUT -p tcp -m блабла..твои ip
iptables -A OUTPUT ....

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

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

Суть такова что если ты добавляешь правила то отрабатывает первое правило из цепочки удовлетворяющее условиям,остальные игнорятся

Неверно. Может остановиться обработка цепочки на основании jump (-j), например ACCEPT.

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

это было общее утверждение, для понимания почему у него дропаются пакеты

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

Что логично. Вам же выше iptables нужно обрубить весь трафик, разрешив только определённые сетки. (комментарий) описали.
В вашем случае я рекомендую для начала прочитать iptables tutorial
Но от выстрела в ногу сразу не спасет, так что тестируйте на «кошках».
Простой вариант, и он мне нравиться, не использовать policy DROP а добавлять последним правилом -A chain-name -j DROP. Минус будет только в случае большого кол-ва правил, которые долго загружаются.

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

Всем спасибо за внимание, проблему решил:

iptables -A INPUT -m iprange --src-range 192.168.1.1-192.168.1.200 -j ACCEPT
iptables -A OUTPUT -m iprange --src-range 192.168.1.1-192.168.1.200 -j ACCEPT
iptables -A OUTPUT -j DROP
iptables -A INPUT -j DROP

Просто убрал дополнение по протоколу -p tcp и всё заработало.

Далее просто сохранил правила в файл:

iptables-save > /storage/.config/iprules.conf

И добавлял во становления правил в автозагрузку:

nano /storage/.config/autostart.sh

(
iptables-restore /storage/.config/iprules.conf
) &

Тему можно закрывать.

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

Опять скорее мимо. Такое врядли будет -A OUTPUT -m iprange --src-range 192.168.1.1-192.168.1.200 Или будет?
Я вам выше уже рекомендовал прочитать iptables tutorial.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.