Чтение онлайн

на главную - закладки

Жанры

Linux глазами хакера

Флёнов Михаил Евгеньевич

Шрифт:

При использовании протокола ICP (или иного способа поиска данных в других proxy) выигрыш от скорости загрузки становится не столь значительным при обращении к документам маленького размера, потому что увеличивается время на ICP и поиск информации в кэше. При большой нагрузке на серверы и немалой базе кэша поиск может оказаться слишком долгим, и скоростное преимущество исчезает. Единственное, что остается в вашем распоряжении — экономия трафика, которая может сберечь деньги тем, кто оплачивает каждый получаемый мегабайт.

Мы рассмотрели основные возможности proxy, но это не значит, что все они есть в любом сервере. Все

зависит от разработчика, а некоторые реализуют только одну задачу.

Для работы через прокси-сервер вы должны настроить соответствующую программу, например, браузер Mozilla. Запустите этот обозреватель и выберите меню Edit/Preferences. В появившемся окне с левой стороны расположен список категорий для конфигурирования. Выберите Advanced/Proxies, и перейдите к настройке подключения через прокси-сервер. По умолчанию установлено автоматическое определение соединения (Direct connection to the Internet). Вы должны поменять этот параметр на ручную конфигурацию (Manual proxy configuration) и указать IP-адрес и порт прокси-сервера для каждого протокола (рис. 9.2).

Рис. 9.2. Настройка соединения через прокси-сервер в браузере Mozilla

После этой настройки браузер будет посылать все запросы прокси-серверу, а тот уже перенаправит их серверу. Proxy постоянно должен находиться в загруженном состоянии и прослушивать определенный порт (или несколько портов для разных протоколов).

Под каждую задачу, поддерживающую определенный протокол, как правило, выделяется отдельный порт. Для HTTP-протокола, применяемого для загрузки Web-страниц, чаще всего используется порт 8080, но это значение зависит от сервера и может быть изменено. Перед использованием определенной программы прокси-сервера убедитесь, что она обладает необходимыми вам возможностями и обеспечивает поддержку всех нужных протоколов. Неподдерживаемые протоколы придется направлять, минуя сервер, т.е. напрямую через шлюз.

Для повышения безопасности вашей сети необходимо запретить с помощью сетевого экрана подключения извне на используемые сервисом squid порты. Например, для его работы с HTTP-протоколом по умолчанию используется порт 3128. И если к этому порту будет разрешено подключаться только из локальной сети, то хакер не сможет применять этот прокси-сервер в своих целях или для получения доступа к компьютерам этой сети.

9.3. squid

Как я уже сказал, самым распространенным прокси-сервером является squid. Этот сервер имеет достаточно длинную историю, и за время его существования в нем реализовано много возможностей. Еще не было ничего такого, что я не смог бы получить с помощью squid.

Основной конфигурационный файл для squid — /etc/squid/squid.conf (в некоторых системах место его расположения /etc/squid.conf). Файл очень большой, и приводить его полностью нет смысла, т.к. значительную его часть занимают подробные комментарии по использованию директив.

Рассмотрим основные команды, которые нам доступны для управления прокси-сервером. Как обычно, все параметры, влияющие на производительность и безопасность, мы разберем подробно.

Остальные настройки будут рассмотрены поверхностно, с ними можно поближе познакомиться по комментариям из конфигурационного файла.

9.3.1. HTTP-директивы

При подключении к Интернету пользователи первым делом стремятся загрузить Web-страничку. Если используется proxy, то необходимо правильно настроить HTTP-протокол. Для решения этой задачи в squid есть следующие директивы:

□ 

http_port n
— параметр
n
определяет номер порта, через который будет происходить подключение.

Первое, что нам необходимо настроить, — это порты, на которых сервер будет ожидать подключения клиентов. Такие директивы имеют формат

XXXX_port
. Для порта HTTP запись будет выглядеть таким образом:

http_port 8080

После этого при конфигурировании браузера на клиентском компьютере вы должны будете указывать IP-адрес сервера, где установлен squid, и выделенный в данной директиве порт;

□ 

hierarchy_stoplist
— определяет перечень URL-адресов, данные по которым всегда должны получаться с сервера, а не из кэша. Я рекомендую добавить в этот список слова "cgi-bin" и вопросительный знак. Адреса URL, содержащие такой текст, указывают на сценарии, которые могут исполняться на сервере, и их результат желательно не кэшировать.

Рассмотрим пример. Предположим, что вы прочитали Web-страницу www.servername.com/cgi-bin/ping.cgi, на которой можно через Web-интерфейс выполнить директиву

ping
. Допустим, что при первом обращении вы запустили команду
ping
к адресу
18.1.1.1
. Результат будет сохранен в кэше прокси-сервера. В следующий раз вы обращаетесь к сценарию, чтобы выполнить
ping 18.1.1.18
, но браузер вернет первый результат, потому что возьмет его из своего кэша.

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

Вопросительный знак очень часто используется для передачи параметров в сценарии PHP, поэтому такие страницы тоже не рекомендуется кэшировать.

Тег

hierarchy_stoplist
запрещает брать страницу из кэша, а следующие две строки задают правило, по которому страницы с URL-адресом, содержащие слова "cgi-bin" или вопросительный знак, вообще не будут кэшироваться:

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

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

9.3.2. FTP-директивы

Для работы по FTP-протоколу тоже есть несколько директив:

□ 

ftp_passive параметр
— режим работы. Если в качестве параметра указано значение
on
, то разрешен пассивный режим (устанавливается по умолчанию).

Поделиться:
Популярные книги

Золотой ворон

Сакавич Нора
5. Все ради игры
Фантастика:
зарубежная фантастика
5.00
рейтинг книги
Золотой ворон

Огненный наследник

Тарс Элиан
10. Десять Принцев Российской Империи
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Огненный наследник

Позывной "Князь"

Котляров Лев
1. Князь Эгерман
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Позывной Князь

Убийца

Бубела Олег Николаевич
3. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.26
рейтинг книги
Убийца

Идеальный мир для Лекаря 4

Сапфир Олег
4. Лекарь
Фантастика:
фэнтези
юмористическая фантастика
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 4

Кодекс Охотника. Книга XXXII

Винокуров Юрий
32. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXII

На границе империй. Том 9. Часть 4

INDIGO
17. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 9. Часть 4

Хозяин Стужи

Петров Максим Николаевич
1. Злой Лед
Фантастика:
аниме
фэнтези
попаданцы
7.00
рейтинг книги
Хозяин Стужи

Неправильный лекарь. Том 4

Измайлов Сергей
4. Неправильный лекарь
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Неправильный лекарь. Том 4

Великий род

Сай Ярослав
3. Медорфенов
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Великий род

Шайтан Иван 4

Тен Эдуард
4. Шайтан Иван
Фантастика:
попаданцы
альтернативная история
8.00
рейтинг книги
Шайтан Иван 4

Третий Генерал: Том XIII

Зот Бакалавр
12. Третий Генерал
Фантастика:
боевая фантастика
фэнтези
аниме
5.00
рейтинг книги
Третий Генерал: Том XIII

Третий Генерал: Том VII

Зот Бакалавр
6. Третий Генерал
Фантастика:
городское фэнтези
аниме
сказочная фантастика
попаданцы
5.00
рейтинг книги
Третий Генерал: Том VII

Кодекс Охотника. Книга XXIV

Винокуров Юрий
24. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Охотника. Книга XXIV