Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: iptables запретить все кроме одного сайта[РЕШЕНО]  (Прочитано 29156 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта
« Ответ #15 : 30 Декабря 2010, 22:49:14 »
Такое делается через прозрачные прокси либо специальный DNS фильтр.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта
« Ответ #16 : 30 Декабря 2010, 22:54:56 »
Первое правило - все пакеты на входе убиваются
второе - то же самое на выходе.
В итоге, любой пакет пытающийся войти или выйти - убивается.
Потому система общаться вообще ни с кем не может.
Для запрета всего того, что не разрешено используется правило по умолчанию, которое задаётся коммандой -P

4 -ое правило - тоже неправильное. Параметр -s(ource) - указывает источник пакета, а когда пакет идёт по цепочке OUTPUT адрес ya.ru  у него является destination.
Ну и, как я уже говорил, не забыть разрешить обращаться к DNS

Оффлайн AAXEE

  • Автор темы
  • Активист
  • *
  • Сообщений: 291
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта
« Ответ #17 : 30 Декабря 2010, 23:12:24 »
Всем большое спасибо! Все таки я это сделал!
fisher74, спасибо, твоя подсказка насчет того что я перепутал destination и source помогла.
И надо добавлять в таком порядке: разрешаем сайты, потом запрещаем все. Если пакет нашел себя в ACCEPT, то остальная часть таблицы не просматривается.

И вот решение, вдруг кому пригодится.
sudo iptables -t filter -A INPUT -p tcp -s ya.ru --dport http -j ACCEPT
sudo iptables -t filter -A OUTPUT -p tcp -d ya.ru --dport http -j ACCEPT
sudo iptables -t filter -A INPUT -p tcp --dport http -j DROP
sudo iptables -t filter -A OUTPUT -p tcp --dport http -j DROP

Оффлайн Unreg

  • Активист
  • *
  • Сообщений: 751
  • Ubuntu 8.04 / Acer Aspire One 110 > Debian 5.04
    • Просмотр профиля
    • LJ
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #18 : 31 Декабря 2010, 01:21:11 »
Если уж приспичило делать white list на конечных системах, то каждые часов 6 дергать кроном нечто подобное

Цитировать
#!/bin/sh
iptables -F
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate INVALID -j DROP
iptables -A INPUT -i eth0 -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m udp --sport 67 --dport 68 -j ACCEPT
iptables -A INPUT -i eth0 -p udp -m udp --sport 53 -j ACCEPT
iptables -A INPUT -i eth0 -p tcp -m tcp --sport 53 -j ACCEPT
WL="ya.ru mail.ru narod.ru google.com gmail.com yandex.st ssl.google-analystics.com"
for i in $WL; do
iptables -A INPUT -s $i -p tcp -m multiport --sports 80,443 -j ACCEPT
done
iptables -P INPUT DROP

более правильное решение - squid + squidguard на транзитном узле

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #19 : 31 Декабря 2010, 09:28:30 »
Нельзя забывать, что некоторые домены (например тот же ya.ru) имеют несколько ip, и запись вида iptables -d имя_домена пропишет только первый попавшийся.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #20 : 31 Декабря 2010, 09:37:45 »
Mam(O)n, проверяли же (я и проверял) - добавляются несколько правил с IP, которые выдаёт DNS

Оффлайн Mam(O)n

  • Старожил
  • *
  • Сообщений: 5855
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #21 : 31 Декабря 2010, 09:52:34 »
Действительно. Был не прав. Видать от старого роутера со cтарым iptables засело в голове это...

Оффлайн Edik

  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
    • Фан сайт Потапа и Насти Каменских
Re: iptables запретить все кроме одного сайта
« Ответ #22 : 18 Февраля 2011, 17:36:08 »
Тогда уж

iptables  -P INPUT DROP # Блокируем  все
iptables -A INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT  # Разрешаем установленные
iptables -A INPUT -p tcp -s ip.сайта.или.имя.сайта --sport 80 -j ACCEPT  #Разрешаем сайт по 80-му порту


Трафик весь заблокировался,а доступа к сайту как не было так и нет.

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #23 : 18 Февраля 2011, 18:57:04 »
Если сайт по доменному имени читается, то ещё нужно предусмотреть,чтобы он смог узнать по имени IP-адрес, а зачит нужно либо на клиентах в hosts нужные данные забить или открыть ещё и доступ к DNS-серверу

Оффлайн Edik

  • Любитель
  • *
  • Сообщений: 66
    • Просмотр профиля
    • Фан сайт Потапа и Насти Каменских
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #24 : 18 Февраля 2011, 22:35:29 »
dl.sumdu.edu.ua сайт. Я так понял если в адресе сайта появится какое-то продолжение типа названия папки,то уже сайт не будет доступен?Мне нужно что бы только на 1 сайт можно было зайти.Как отменить ДРОП?Опишите попунктам для чайника пожалуйста,а то после Винды непривычно хоть и давно ей не пользуюсь.

Оффлайн alexset

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #25 : 14 Сентября 2014, 19:56:15 »
Хорошая тема, и вроде всё решено, но столкнулся я с похожей задачей.

№ года назад это было реализовано.
3 интерфейса в сервере (внешний и 2 внутренних). Одним юзерам можно лазить везде, а вторым открывать 2-3 сайта и торговать на форексе.

IP Tables тогда настраивал не я, но всконе оно начало глючить сайт телетрейда перестал открываться (сайта мастерброк тогда ещё не было). Я узнал, что телетрейд как раз в те дни сменил хостинг и решил, что наверно iptables настроили по ip и поэтому не работает (сейчас знаю, что это не так, был указан домен).  Тогда я ничего не знал про IP tables. По тихому лимитрованных пользователей переключили на открытый интерфейс и так и жили, как тут снова вспомнили о разграничении доступа.


Задача закрыть на роутере все сайты кроме 3-4 и оставить доступ для торговой платформы metatrader4
Вначале о сайтах. НА напишу какие именно тк это очень важно.
Сайты которые должны работать:

dengi-info.com
teletrade.com.ua
masterbrok.com.ua
my.teletrade-dj.com
 самое ине
Далее интереснее:
dengi-info.com  - всегда хорошо работает при самом простом конфиге
teletrade.com.ua, masterbrok.com.ua, my.teletrade-dj.com открываются либо секунд через 30-40 (переходы по ссылкам сайта), либо быстро и шустро, то только на каком то одном компе (такие счастливые компы меняются), что самое интересное: сидишь за двумя мониторами. Пробуешь на одном - плохо. Пробуешь на втором - ЗАРАБОТАЛО! Но оба моника через РДП подключены к одной машине под разными пользователями. Перестаёт работать точно так-же ((. А деньши-инфо перестает открываться только если совсем фигню написать в конфиге.

Привожу конфиг и прошу помощи: тк нервы на исходе. Пробовал очень по разному, более стабильный вариант при текущем конфиге:
(Нажмите, чтобы показать/скрыть)

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #26 : 14 Сентября 2014, 20:57:51 »
alexset, теме ТРИ ГОДА!
Не нашёл лучшего места для создания поста?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Re: iptables запретить все кроме одного сайта[РЕШЕНО]
« Ответ #27 : 14 Сентября 2014, 22:05:10 »
alexset, а теперь посмотрите какие у Вас правила в итоге загружены, проанализируйте и поймите откуда появились "не знаю зачем, добавлял не я".
Именно поэтому здесь и просят показывать результирующие правила, а не скрипты которые их добавляют.

Кстати, нам  тоже покажите

 

Страница сгенерирована за 0.065 секунд. Запросов: 25.