Назад | Перейти на главную страницу

Заблокировать какой-либо веб-сайт на машине Linux

В моем офисе все используют facebook и другие сайты, которыми мы не хотим быть. Сформируйте серверный компьютер, я использовал свою сеть через /ect/rc.local файл. Я редактировал файл такой строкой:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE

Так что моя сеть была доступна всем. Чтобы выполнить фильтрацию, чтобы никто не мог получить доступ к facebook, я изменяю rc.local file и добавьте эти две строки:

iptables -I INPUT 1 -s facebook.com -j DROP
iptables -I INPUT 2 -d facebook.com -j DROP

Мой /etc/rc.local файл теперь такой:

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don't
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -I INPUT 1 -s facebook.com -j DROP
iptables -I INPUT 2 -d facebook.com -j DROP
iptables -F
iptables -X
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -j ACCEPT
iptables -A OUTPUT -j ACCEPT
iptables -A FORWARD -j ACCEPT
iptables -t nat -A POSTROUTING -o eth+ -j MASQUERADE

Но сервер пока не может заблокировать доступ к facebook со всех компьютеров. Может ли кто-нибудь сказать мне, как я могу заблокировать весь доступ к facebook с моего сервера

Если вы начальник:

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

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

* Невзирая на юридические / местные правовые условия и ограничения.

Если вы технический специалист, босс попросил об этом:

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

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

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

  1. Ваши правила iptables блокируют фильтрацию трафика на основе IP-адресов и портов. Facebook представляет несколько IP-адресов и может время от времени изменять эти IP-адреса.

  2. Ваши пользователи всегда могут использовать открытый прокси для доступа к Facebook, минуя ограничения, связанные с IP-адресом.

  3. Вам следует принять корпоративную политику, регулирующую использование доступа в Интернет на рабочем месте, и указать, какое использование считается уместным или неуместным.

  4. Вы можете получить некоторый контроль, если управляете DNS-серверами своей компании, что позволит вам переопределить IP-адрес facebook.com для ваших пользователей. Есть несколько приличных межсетевых экранов и сервисов, которые обеспечивают категоризацию (Fortinet Fortigate-60, OpenDNS, BlueCoat и т. Д.). Вы также можете попробовать прокси, такой как Squid, для такой фильтрации, если вы ищете бесплатное решение для существующего оборудования.

Поскольку ваш Linux-сервер является шлюзом, почему бы вам не настроить Squid как прозрачный прокси а затем добавить .facebook.com в файл черного списка кальмаров, например:

В / etc / squid / blacklist_domains:

.facebook.com
.whatever.com

В вашем squid.conf:

acl BLACKLIST_DOMAINS dstdom_regex -i "/etc/squid/blacklist_domains"
http_access deny BLACKLIST_DOMAINS

Если пользователи в офисе не слишком разбираются в технологиях, вы можете просто изменить их файл hosts примерно так: facebook.com 127.0.0.1 и добавьте строку для www слишком.

Если вы имеете дело с пользователями techi (которые имеют доступ к facebook с IP-адресом), это сделать сложнее. поскольку @TryTryAgain предположил, что это можно сделать.

Squid требует "acl localhost src 127.0.0.1/8" над строкой "acl lan src 202.51.176.42 192.168.10.1/24" в squid.conf.

Это звучит как Распутать может быть то, что вы ищете. Взгляните на него и предложите своему боссу.

Я использовал OpenDns на основе системы блокировки DNS. Хотя большинство пользователей в моей компании не очень разбираются в технологиях.