LINUX.ORG.RU

вопрос: iptables в роли интернет фильтра


0

1

Оговорюсь сразу, сквид и альтернативные продукты не предлагать, нужна только работа с ядром. Есть мысль организовать небольшой интернет-контент-фильтр на базе iptables, google не несёт объективной информации по этому вопросу. Знает ли кто как организовать работу в iptables ТОЛЬКО по БЕЛОМУ СПИСКУ. Запретить по чёрному не проблема, нужна полная блокировка сайтов и доступ открытый только например на 200 сайтов. Вариант как сделать сам белый список - есть, интересует как сделать полный запрет , а кромя означенных. Если кто сталкивался - хэлп. Не корысти ради, мы тут линукс продвигаем в школы города))

ciktsochi> Не корысти ради, мы тут линукс продвигаем в школы города

Не, такое продвижение нам не надо!

Default policy: DROP
По белому списку ACCEPT

В чем проблема, продвиженец?

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

Default policy: DROP По белому списку ACCEPT

Я же не говорю, что страны, да и на голом энтузиазме далеко не уедешь)) Мы фильтруем 80 8080 порт по tcp udp, остальные порты остаются как есть. =================================== sudo iptables -t filter -N access sudo iptables -t filter -N denied #whitelist лежит в хоме for x in `grep -v ^# $WHITELIST | awk '{print $1}'`; do echo «Permitting $x...» sudo iptables -A OUTPUT -t filter -p tcp --dport 80 -s $x -j access sudo iptables -A OUTPUT -t filter -p tcp --dport 8080 -s $x -j access done sudo iptables -A OUTPUT -t filter -p tcp --dport 80 -j denied sudo iptables -A OUTPUT -t filter -p tcp --dport 8080 -j denied echo «Good sites ACCEPT» sudo iptables -A access -j ACCEPT # echo «Bad sites DROP» sudo iptables -A denied -j DROP =================================

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

ciktsochi
() автор топика
Ответ на: Default policy: DROP По белому списку ACCEPT от ciktsochi

Я же не говорю, что страны, да и на голом энтузиазме далеко не уедешь))
Остальные получают нормальную зп и забили на школы))
Мы фильтруем 80 8080 порт по tcp udp, остальные порты остаются как есть.
WHITELIST=/home/jaka/WHITELIST.txt
sudo iptables -t filter -N access
sudo iptables -t filter -N denied
#whitelist лежит в хоме и выше задаётся его расположение, с ним ок
for x in `grep -v ^# $WHITELIST | awk '{print $1}'`; do echo «Permitting $x...»
sudo iptables -A OUTPUT -t filter -p tcp --dport 80 -s $x -j access sudo iptables -A OUTPUT -t filter -p tcp --dport 8080 -s $x -j access done
sudo iptables -A OUTPUT -t filter -p tcp --dport 80 -j denied
sudo iptables -A OUTPUT -t filter -p tcp --dport 8080 -j denied
echo «Good sites ACCEPT» sudo iptables -A access -j ACCEPT
echo «Bad sites DROP»
sudo iptables -A denied -j DROP

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

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

hosts.allow and hosts.deny and hosts,

подробнее ситаксис плиз

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

hosts.allow and hosts.deny and hosts == Ъ

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

ciktsochi
() автор топика
Ответ на: hosts.allow and hosts.deny and hosts == Ъ от ciktsochi

А оказывается это для сервисов... Ну тогда в hosts забить
127.0.0.1 10.10.10.10/255.255.255.0/24 {или как-то так, синтаксис не знаю :} А потом нужные хосты прописать с IP-шниками. Ъъ

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

А оказывается это для сервисов... Ну тогда в hosts забить

Ок, всё равно сбасибо за ответ. Придётся по гуглить ещё недельку х))) Уже ковырялись с хостами.. Разрешение некоторых при запрете всех жёстко заканчивается каждый раз, там какая то тонкость до которой не допетрим, впрочем в iptables как и в хостс, возможно нужны какие то доп разрешённые ай пи шники провайдера, %) пухнем)

ciktsochi
() автор топика
Ответ на: комментарий от ciktsochi
-sudo iptables -A OUTPUT -t filter -p tcp --dport 80 -s $x -j access
-sudo iptables -A OUTPUT -t filter -p tcp --dport 8080 -s $x -j access
+sudo iptables -A OUTPUT -t filter -p tcp -m multiport --dport 80,8080 -d $x -j access

-s = source
-d = destination

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

+sudo iptables -A OUTPUT -t filter -p tcp -m multiport --dport 80,8080 -d $x -j access

спасибо))

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

Товарищ Волк, ваша подсказка с destination решила траблу. Не только правда в этой троке была ошибка, но вообщем, теперь всё работает, вполне вероятно что скрит разойдётся по всем школам на линуксе))

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

Она просто была самой очевидной.

Ну так чувствуется намётанный глаз)) ок, ещё раз спасиб.

ciktsochi
() автор топика

А никто и не предлагает ставить сквид на клиентские машины, всяко лучше это сделать на стороне сервера, нэ?

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

грустно

бедные наши школы! коли их ждут админы, забаненные в гугле и не осиливающие iptables самостоятельно...

anonymous
()
iptables -P OUTPUT DROP
iptables -A OUTPUT -p udp --dport domain -j ACCEPT

echo www.ya.ru >> iptables-whitelist
echo www.yandex.ru >> iptables-whitelist

cat iptables-whitelist | while read destination; do iptables -A OUTPUT -d $destination -j ACCEPT; done
anonymous
()
Ответ на: комментарий от aaxee

У Вас получилось? Я Вам письмо написал. Вдруг Вы ЛОР чаще читаете)) aaxee (30.12.2010 22:12:35)

Мы ответили))

ciktsochi
() автор топика
Ответ на: грустно от anonymous

Вы непонимаете сути ситуации))) Ну да ладно))

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