Автор Тема: Белый список сайтов / включение и отключение по необходимости  (Прочитано 2107 раз)

Оффлайн vold

  • Начинающий
  • *
  • Сообщений: 30
Здравствуйте.

За время использования Альт Линукс в школе назрел один вопрос - как настроить включение белого списка сайта на конкретном компьютере (а лучше сразу на всех) штатными средствами? Необходима настройка именно локально на отдельно взятых ПК, либо с включением через ssh, либо в крайнем случае вручную, без установки чего-либо на сервер (таких способов я нашёл уже кучу).

Сразу скажу, что официальная фильтрация сети есть и она исправно работает, необходим именно белый список. Для чего? Первый случай - это контрольные и олимпиады, которые проходят онлайн на спец площадках. Второй случай - это экзамен. Необходимо, чтобы временно открывался только данный конкретный сайт, на котором проводится тестирование.

От меня было предложение сделать такую надстройку в alterator (типа аналога "интернет цензора" на win), но этого так и не появилось. При этом я пробовал сам разные плагины для alterator, связанные с прокси-сервером и тому подобным, но никакого результата это не принесло. Файл hosts не воспринимается Хромиумом, что бы я туда не прописывал. Я видел, что подобное решение реализовано в программе veyon, однако, эти плагины платные. Также видел некую программу chomper на github, но она почему-то тоже не работает и уже давно заброшена разработчиком.

Подскажите, пожалуйста, решение, которое могло бы мне помочь или расскажите, чем пользуетесь сами для таких целей?
(за исключением серверных решений - squid и прочих, они мне не подходят)

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 297
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
(за исключением серверных решений - squid и прочих, они мне не подходят)
Жаль что не подходит. Оптимальное решение - локальный squid, организующий прозрачный прокси. 

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 19 951
    • Домашняя страница
    • Email
Здравствуйте.

За время использования Альт Линукс в школе назрел один вопрос - как настроить включение белого списка сайта на конкретном компьютере (а лучше сразу на всех) штатными средствами? Необходима настройка именно локально на отдельно взятых ПК, либо с включением через ssh, либо в крайнем случае вручную, без установки чего-либо на сервер (таких способов я нашёл уже кучу).

Сразу скажу, что официальная фильтрация сети есть и она исправно работает, необходим именно белый список. Для чего? Первый случай - это контрольные и олимпиады, которые проходят онлайн на спец площадках. Второй случай - это экзамен. Необходимо, чтобы временно открывался только данный конкретный сайт, на котором проводится тестирование.

От меня было предложение сделать такую надстройку в alterator (типа аналога "интернет цензора" на win), но этого так и не появилось. При этом я пробовал сам разные плагины для alterator, связанные с прокси-сервером и тому подобным, но никакого результата это не принесло. Файл hosts не воспринимается Хромиумом, что бы я туда не прописывал. Я видел, что подобное решение реализовано в программе veyon, однако, эти плагины платные. Также видел некую программу chomper на github, но она почему-то тоже не работает и уже давно заброшена разработчиком.

Подскажите, пожалуйста, решение, которое могло бы мне помочь или расскажите, чем пользуетесь сами для таких целей?
(за исключением серверных решений - squid и прочих, они мне не подходят)
https://www.altlinux.org/СКФ
Андрей Черепанов (cas@)

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 553
Если временно и на локальном хосте и нужно только несколько сайтов открыть, то на уровне iptables разрешить исходящие только на некоторые ip адреса а остальное запретить?

Оффлайн vold

  • Начинающий
  • *
  • Сообщений: 30
https://www.altlinux.org/СКФ

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

Оффлайн vold

  • Начинающий
  • *
  • Сообщений: 30
на уровне iptables

Звучит как-то очень сложно на первый взгляд. Попробую изучить вопрос. Думал может есть способ попроще.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 116
Если временно и на локальном хосте и нужно только несколько сайтов открыть, то на уровне iptables разрешить исходящие только на некоторые ip адреса а остальное запретить?
Это не очень решение. Можно заблокирвать соседние сайты на том же IP. Вариант со squid, в этом плане, сильно лучше.

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 116
(за исключением серверных решений - squid и прочих, они мне не подходят)
Почему?

Оффлайн ASte

  • Мастер
  • ***
  • Сообщений: 1 553
Это не очень решение. Можно заблокирвать соседние сайты на том же IP
В общем случае Вы правы.
Для чего? Первый случай - это контрольные и олимпиады, которые проходят онлайн на спец площадках. Второй случай - это экзамен. Необходимо, чтобы временно открывался только данный конкретный сайт, на котором проводится тестирование.
Но с учетом той постановки, которую озвучил топикстартер мне это кажется наиболее простым решением.
Хотя если на одном ip будет и "разрешенный" и "запрещенный" сайты то да, метод не сработает. Но в контексте той задачи которую решает  топискстартер мне кажется что такая ситуация маловероятна.

Оффлайн vold

  • Начинающий
  • *
  • Сообщений: 30
Почему?

Потому что нет ни управляющего сервера, ни какого-либо узла, куда это можно поставить. К тому же на компьютерах итак уже везде прописаны конфигурации для прокси и соединений, которые осуществляются по СКФ. Как это все вместе работать будет (даже если найдется способ установить squid локально) я не знаю. Думаю, если нет чего-то более простого, то в такой ситуации придется все же пробовать iptables. Вряд ли там совпадут ip, маловероятно, да.

Оффлайн ruslandh

  • Поспешай не торопясь !
  • Модератор глобальный
  • *****
  • Сообщений: 32 297
  • Учиться .... Телепатами не рождаются, ими ....
    • Email
Вообще-то прокси сам умеет сам использовать прокси более высокого уровня. Т.е. не проблема создать цепочку прокси.
Теоретически, если позволяет квалификация использовать и другие более лёгкие прокси, не обязательно Squid, но готовых решений я не знаю.
Обычно они заточены на решение обратной вам задачи.

Оффлайн stranger573

  • Мастер
  • ***
  • Сообщений: 1 466
    • Email
на уровне iptables

Звучит как-то очень сложно на первый взгляд. Попробую изучить вопрос. Думал может есть способ попроще.
Сложно? Если вам нужно обращение только к одному узлу — наоборот, самое простейшее решение.

Для etc/net:
В таблице FORWARD: -P DROP
                   -j DROP

  В таблице INPUT: -P DROP
                   -f -j DROP
                   -s 127.0.0.0/8 ! -i lo -j DROP
                   -i lo -j ACCEPT
                   -p tcp -s <нужный ip-адрес> -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
                   -j DROP

 В таблице OUTPUT: -P DROP
                   -f -j DROP
                   -i lo -j ACCEPT
                   -p tcp -d <нужный ip-адрес> -j ACCEPT
                   -j DROP
Это с прямым выходом в сеть, с проксей возможно придётся добавить разрешения в OUTPUT.
Выход только по ip-адресу (не по имени сайта). Всё, что не обрубит. Правила, когда запрещено всё, кроме разрешённого самые простые и надёжные.
« Последнее редактирование: 19.01.2024 16:58:38 от stranger573 »

Оффлайн asy

  • alt linux team
  • ***
  • Сообщений: 8 116
Потому что нет ни управляющего сервера, ни какого-либо узла, куда это можно поставить. К тому же на компьютерах итак уже везде прописаны конфигурации для прокси и соединений, которые осуществляются по СКФ. Как это все вместе работать будет (даже если найдется способ установить squid локально) я не знаю.
Легко ставится локально. И цепочку из прокси можно сделать. И список URL можно из файла импортировать, прямо в конфиге squid написать что-то вроде
acl deny_url url_regex -i "/tmp/url-regex.txt"или
acl deny_dom dstdomain    "/tmp/dom.txt"

Оффлайн vold

  • Начинающий
  • *
  • Сообщений: 30
Спасибо всем за ответы. Буду пробовать.

Оффлайн Linux User

  • Давно тут
  • **
  • Сообщений: 109
Как вариант можно организовать изолированный сегмент сети и выпускать всех через прокси с фильтрацией по адресам, например Privoxy или Dante.

Пример настройки Dante
https://www.inet.no/dante/doc/latest/config/server.html