Linux глазами хакера
Шрифт:
□ 468_60.gif — картинка размером 468×60;
□ 100_100.gif — картинка размером 100×100;
□ empty.gif — картинка, которая будет заменять нестандартные баннеры. Лучше всего ее сделать размером 1×1 пиксель, чтобы она не испортила дизайн сайта;
□ close.htm — HTML-файл, который будет закрывать всплывающие окна. В нем нужно поместить всего лишь функцию, которая будет закрывать окно. Для этого используется JavaScript-функция
Все эти файлы должны лежать на Web-сервере в одной директории. Не забудьте в сценарии (в переменной
Я постарался снабдить код в листинге 9.2 комментариями. Если у вас есть опыт программирования на Perl, то дальнейшие действия вы выполните без проблем.
9.5.7. Борьба с запрещенными сайтами
Недавно я разговаривал с одним своим знакомым, и мне понравилось его определение Интернета — сеть создана и живет порнографией. Я не уверен, но мне кажется, что он прав в том, что трафик с сайтов с интим-содержимым самый высокий (если не считать службу обновления Microsoft, где пользователи скачивают патчи для программ этой компании :)).
Ни один работодатель не обрадуется, если его сотрудники в рабочее время будут посещать сайты с запрещенным контентом (это не только бесполезная трата трафика, но и другие непроизводительные расходы). Родители тоже не хотят, чтобы их дети рассматривали подобные сайты, поэтому стремятся оградить их от этого зрелища. Это я говорю уже как отец двоих детей.
Порно-сайты легко можно запретить с помощью таких же методов, как мы использовали для баннеров. Например, можно отключить любые сайты, в адресе которых есть слово "sex". Но нельзя забывать, что могут быть исключения. К примеру, адрес может содержать текст "GasExpo". Обратите внимание, что выделенные буквы создают слово "sex". А ведь это реальный случай из жизни, когда пользователь сети не смог попасть на сайт выставки по газовому оборудованию.
Создавать списки запрещенных сайтов достаточно сложно, но можно. В настоящее время в зоне com большинство сайтов эротической направленности закрылись и обживают другие места, которые принадлежат маленьким государствам. Существуют домены, которые на 90% состоят из сайтов индустрии развлечений для взрослых. Вот их можно исключить полностью.
9.5.8. Ограничение канала
При организации доступа в Интернет очень часто требуется отдельным пользователям обеспечить большую скорость подключения. Как это сделать, когда по умолчанию все равноправны и могут работать на максимально доступной на данный момент скорости? Для этого нужно определиться с приоритетами. Для некоторых пользователей должен быть зарезервирован высокоскоростной канал связи. Нельзя повысить скорость одному человеку без ущерба остальным.
Если кому-то требуется полоса гарантированной пропускной способности для работы с приложениями, требующими высокой скорости обмена (например, для проведения презентаций), вы должны
зарезервировать для них более мощный, чем для остальных канал.Ограничение внешнего канала достаточно легко выполнить с помощью squid, Директивы, которые нужно использовать, можно увидеть в следующем примере:
Этот код нужно добавить в файл конфигурации /etc/squid/squid.conf после комментария:
Большинство параметров уже заданы по умолчанию, и их следует заменить.
Давайте подробно рассмотрим конфигурацию. Для начала нужно определить, сколько у вас будет пулов (правил, описывающих скорость доступа). Для этого используется директива
После этого нужно определить, к какому классу относится пул. Это делается с помощью директивы
Номеров класса (второй параметр) может быть три:
□ 1 — ограничение канала происходит для всей сети. Например, у вас внешний канал 256 Кбит/с, вы можете его уменьшить для всех до 64 Кбит/с;
□ 2 — сузить можно общий канал и помимо этого для каждого пользователя индивидуально. В этом случае общий канал может быть понижен до 64 Кбит/с, и каждый пользователь в отдельности сможет работать только на скорости 4 Кбит/с;
□ 3 — ограничивать можно общий канал, индивидуально и для каждой сети в отдельности. Например, если скорость канала равна 256 Кбит/с, а в вашей сети работает 4 подсети, то каждой из них можно выделить по 64 Кбит/с, чтобы равномерно разделить нагрузку.
В нашем примере мы используем пулы 1 и 2 и снова 1 класса. Я специально расположил их не последовательно, чтобы пример был более наглядным.
Теперь описываем параметры скорости доступа. Это делается с помощью следующей директивы: