Меню Рубрики

Linux как заблокировать доступ к сайту

Как заблокировать сайт штатными средствами ubuntu?

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

Что есть на данный момент
Ubuntu server 12.04
eth0 — внешний интерфейс
inet addr: 94.159.48.42
eth1 — внутренний интерфейс
inet addr: 192.168.0.250
На серевере настроен проброс интеа и еще пары портов + небольшой фаервол.

Что я пробовал:
Блок
#iptables -A FORWARD -m string —string «vk.com» —algo kmp —to 65535 -j DROP
Разблокировка для mac
#iptables -A FORWARD -m mac —mac-source b8:8d:12:0f:32:90 -m string —string «vk.com» —algo kmp —to 65535 -j ACCEPT

Тут все неплохохо, но! Если открыть сайт на котором тусует виджет контакта — он будет тупить а может и не откроется.
Если обойти DNS и стучаться по кешу DNS то доступ есть.

Для решения проблемы блочим пул ip vk
#iptables -A FORWARD -s 95.142.200.0/21 -j DROP
.
так это разблокируем для mac
#iptables -A FORWARD -m mac —mac-source b8:8d:12:0f:32:90 -s 95.142.200.0/21 -j ACCEPT
.

Если проделать те же фокусы с youtube то он ведет себя вообще очень странно 🙂

Самым главным минусом такого подхода является факт того что сторонние сайты с виджетами блокируемых сайтов тупят.

Я уже третий день перелопачиваю свои правила iptables но никак не могу добиться нужного:
— Заблокировать несколько сайтов (желательно по домену) для болшей массы машин в сети.
— Организовать доступ к этим сайтам для некоторых машин по mac.
— Не нарушить работу сторонних сайтов.

Отчаявшись уже посматриваю в сорону squid, но вычитал что там тоже не все так гладко.

Если честно, мне кажется что это можно решить пробросом, аля все запросы по доменам завернуть на мой же сервер, а там отдать либо 404 либо пустой лист, но с этой частью iptables я вообще мало знаком — так что не смог правильно стоставить правило.

Прошу от сообщества помощи! Всех благодарю за внимание и ваши ответы!

Источник

Как заблокировать сайт в Linux?

В Ubuntu на Linux очень легко заблокировать сайты, например от ленивых детей и жен, которые могут слишком много времени проводить в социальных сетях. Для этого необходимо отредактировать файл hosts командой в Терминале:

sudo gedit /etc/hosts

Кстати, если вы хотите оградить своих детей от посещение сомнительных сайтов, могу посоветовать использовать сервис Yandex DNS, который позволяет фильтровать некачественный контент сети.

После чего в текстовом редакторе gedit откроется файл hosts со следующим содержимым:

127.0.0.1 localhost
127.0.1.1 slava
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Как заблокировать сайт в Linux?

Для блокировки сайта необходимо в конце файла hosts вписать строку 127.0.0.1 и через пробел название сайта. Например как указано на картинке ниже:

Файл hosts linux

Теперь вы знаете как легко, быстро и без использования дополнительных программ заблокировать сайт в Ubuntu.

Вам также может быть интересно узнать, как с помощью утилиты Dm-Crypt надежно зашифровать файлы в Linux?

Источник

Баним поднебесную. Как закрыть доступ на сайт для целой страны.

Итак, приступим к блокированию китайских пользователей и всех, кто прячется за их файрволлами. В предыдущей статье я писал о том, что буду блокировать на уровен веб-сервера с использованием модуля GeoIP, но решил я всё-таки от этого отойти в пользу блокировки прямо на файрволле. Почему? Экономия ресурсов и более высокий уровень защиты. По сути мне нужно прикрывать не только WEB, но ещё и SSH, потому что на него тоже идут атаки с поднебесной.

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

Списки адресов

Настроить GeoIP + Iptables у меня не получилось, какая-то проблема с виртуализацией и заголовками ядра, думаю, ещё потом поковыряю на досуге, а пока что решил записывать все диапазоны китайцев напрямую в iptables-таблицу.

Адреса я взял отсюда:

Там вообще по любой стране диапазоны есть, только вот немало их. CN – Китай, для справки.

WGET-нем этот список себе во временную папочку пока. Будем последовательно применять правила на файрволл.

Применял подобным скриптом:

IPLIST=$(egrep -v «^#|^$» cn.zone)
for ipaddr in IPLIST
do
/sbin/iptables -A BANLIST -s $ipaddr -j DROP
done

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

Проверка блокировки

Чтобы не мудрствовать лукаво, буду заходить на свой же сайт с китайским IP. В Инете полно списков бесплатных прокси-серверов, за которыми можно спрятаться! Возьму-ка я вот какой-то совершенно случайно!

Как настраивать прокси, думаю, не надо объяснять. Но на всякий случай скажу. Записываем IP и Порт прокси-сервера, открываем настройки браузера. (надо будет нажать ссылку и показать дополнительные настройки).

Chrome

Откроется окно изменения прокси-сервера в системе:

Системные параметры Proxy

Там жмём на кнопку “Настройка сети”

Прописываем данные

Прописываем там данные нашего прокси-сервера, который запомнили до этого. Всё, проверяем:

Заходим на сайт 2ip.ru

Сработало!

А потом можно на yoip.ru

Наш IP

Как видите, везде фигурирует адрес нашего прокси! Т.е. для других веб-сайтов мы с адресом Китая. Хех, откроем-ка наш любимый (правда?) сайт:

Оп-па

Вот незадача! Сайт не открывается. Если включить логирование на файрволле, то увидим, что пакеты просто отбрасываются. Это экономит наш трафик и вообще со всех сторон хорошо!

Источник

Linux как заблокировать доступ к сайту

Иногда бывает необходимо ограничить доступ к сайту или нескольким сайтам. Основной причиной этому обычно является неподобающее содержимое сайта, например, материалы порнографического характера. На сегодняшний день существует масса средств для решения этой задачи: от любого сетевого экрана (firewall), который зачастую уже встроен в антивирусное программное обеспечение, и до специализированных программных продуктов по слежению за контентом на экране пользователя. В этой статье пойдет речь о том, как с помощью внесения изменений в системный файл hosts, можно запретить загрузку нежелательных сайтов. Этот способ блокировки можно считать достаточно надежным (скрытым), неподготовленный пользователь вряд ли сможет самостоятельно убрать блокировку.

Файл hosts используется в операционной системе (ОС) Windows и в некоторых других ОС для явного указания того, какой IP-адрес будет соответствовать конкретному доменному имени. Без этого явного указания, преобразованием доменного имени в IP-адрес занимается служба DNS (Domain Name System) по определенному алгоритму. Таким образом каждый раз, когда в адресную строку браузера вводится название сайта (например, google.ru), операционная система сначала проверяет файл hosts на наличие IP-адреса для этого сайта (доменного имени); если указаний в файле hosts нет, то (посредством службы DNS) производится автоматическое преобразование доменного имени в IP-адрес (например, google.ru — 74.125.39.99), и выполняется запрос по IP-адресу в Сеть.

Запрет доступа к сайтам в Windows.

Чтобы закрыть доступ к сайтам в ОС Windows, необходимо найти и изменить файл hosts. Файл hosts текстовый, расширения не имеет. В Windows 95/98/ME этот файл находится в директории WINDOWS\, в Windows NT/2000 – в директории WINNT\system32\drivers\etc\, в Windows XP/2003/Vista/7 – в директории WINDOWS\system32\drivers\etc\. Идем по нужному пути, в зависимости от установленной операционной системы, и открываем файл hosts в программе Блокнот. Ниже на картинках приводится пример для ОС Windows XP.


Путь к файлу hosts для Windows XP/2003/Vista/7.

В файле hosts изначально находится только следующая информация:

# (C) Корпорация Майкрософт (Microsoft Corp.), 1993-1999
#
# Это образец файла HOSTS, используемый Microsoft TCP/IP для Windows.
#
# Этот файл содержит сопоставления IP-адресов именам узлов.
# Каждый элемент должен располагаться в отдельной строке. IP-адрес должен
# находиться в первом столбце, за ним должно следовать соответствующее имя.
# IP-адрес и имя узла должны разделяться хотя бы одним пробелом.
#
# Кроме того, в некоторых строках могут быть вставлены комментарии
# (такие, как эта строка), они должны следовать за именем узла и отделяться
# от него символом ‘#’.
#
# Например:
#
# 102.54.94.97 rhino.acme.com # исходный сервер
# 38.25.63.10 x.acme.com # узел клиента x
127.0.0.1 localhost

Текст после знака «#» и до конца строки является комментарием, отношения к делу не имеет. Таким образом, файл изначально содержит единственную рабочую строку:

Этой строкой операционной системе указывается, что имени localhost должен сопоставляться IP-адрес 127.0.0.1. Это стандартный прием с резервированием локального доменного имени. Нам нужно аналогичным образом добавить строки в файл так, чтобы блокируемое доменное имя сопоставлялось явно «неверному» IP-адресу, например, 127.0.0.1 (адресу, по которому нет этого сайта). Пусть, для примера, нам по каким-либо причинам понадобилось закрыть доступ к сайту www.microsoft.ru. Открываем файл hosts в Блокноте и добавляем в конец следующие строки:

127.0.0.1 www.microsoft.ru
127.0.0.1 microsoft.ru

Обычно требуется добавить оба зеркальных адреса, как с WWW, так и без. Между IP-адресом и именем должен быть хотя бы один пробел. Таким образом добавлять можно много строк (для ограничения доступа к нескольким сайтам). Перезагружаем ОС Windows, запускаем какой-либо браузер, вводим в адресной строке «www.microsoft.ru» или «microsoft.ru» и видим следующую картину:


Доступ к сайту закрыт.

Возможно, придется перезагрузить браузер и/или удалить его кэш для появления ошибки о невозможности загрузки заблокированного сайта. Для того, чтобы вновь открыть доступ к сайту, необходимо убрать или закомментировать с помощью символа «#» соответствующие строки в файле hosts и перезагрузить Windows.

Запрет доступа к сайтам в Linux (Ubuntu).

Это тот редкий случай, когда последовательность действий в операционых системах Windiws и Linux (Ubuntu) практически совпадают, за исключением небольших синтаксических различий.


В зависимости от версии Linux, терминал может находится в разных меню.

От имени суперпользователя запускаем текстовый редактор gedit


Потребуется ввод пароля суперпользователя.

В редакторе gedit открываем файл hosts, находящийся в директории (папке) /etc/



Ищем и открываем файл hosts в директории /etc/.

В самое начало файла, после строки с «localhost», добавляем строку, блокирующую доступ к сайту, т.е. указывающую на то, что сайт нужно искать на компьютере пользователя по локальному адресу:

127.0.0.1 microsoft.ru www.microsoft.ru


Добавляем строки в файл hosts.

IP-адрес, имя сайта и его алиас (второй адрес с/без WWW) указываются в одну строку через пробел(ы) или табуляцию. Сохраняем изменения в файле hosts, вводим имя заблокированного сайта в браузер и видим следующую картину:


Доступ к сайту закрыт.

В отличие от ОС Windows, перезагружать Ubuntu не нужно. Возможно, придется перезагрузить браузер и/или удалить его кэш для появления показанной выше ошибки о невозможности загрузки заблокированного сайта.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Видео обзор mac os
  • Видео конверторы для mac os
  • Видео кодеки для quicktime mac os
  • Видео кодек dav mac os x
  • Взломать пароль на mac os x