Рейтинговые книги
Читем онлайн Linux глазами хакера - Михаил Флёнов

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 69 70 71 72 73 74 75 76 77 ... 120

Скорость загрузки увеличивается за счет того, что proxy находится в вашей локальной сети, и связь с ним, чаще всего, соответствует вашему оборудованию, пропускная способность которого в настоящее время даже в самых дешевых вариантах достигает 100 Мбит/с. По этому каналу вы забираете большую часть информации (всю графику и неизмененную текстовую часть). Связь с Интернетом намного ниже, и в малых офисах в среднем составляет от 2 до 8 Мбит/с. Через этот канал вы забираете только измененные текстовые данные (чаще всего, содержимое HTML-файлов).

Помимо кэширования содержимого страниц, proxy может сохранять результаты DNS-запросов. Это также может повысить производительность. Пользователю удобнее вводить символьные адреса, а компьютер обменивается данными через IP-адрес. Исходя из этого, прежде чем начнется загрузка, программа должна выполнить такую подмену. Это занимает какое-то время и создает задержку перед началом обмена данными. Если до вас уже кто- нибудь обращался к сайту по символьному имени, то задержки на работу с сервером DNS не будет, потому что proxy возьмет адрес из своего кэша. Более подробно о DNS мы поговорим в гл. 11.

С развитием всемирной сети и увеличением потребностей пользователей стали наращиваться и возможности proxy. Теперь прокси-сервер может выполнять роль шлюза и обеспечить доступ в Интернет без дополнительных программ или оборудования. Помимо этого, он становится щитом в сети от вторжения извне. Например, все пользователи подключены к Интернету через proxy. При этом сервер прячет реальный IP-адрес пакетов и отправляет их в сеть от своего имени, т.е. хакеры видят только IP-адрес прокси-сервера и будут ломать его, а компьютеры реальных пользователей останутся незатронутыми. Таким образом, намного проще при организации защиты от внешнего вторжения больше внимания уделять охране прокси-сервера, чем клиентским компьютерам. Но несмотря на это, возможности proxy с точки зрения защиты слишком простые и их легко можно обойти, поэтому без хорошего сетевого экрана и зоркого глаза администратора все же не обойтись.

Возможность сокрытия IP-адреса дает еще одно преимущество — экономия адресов. Интернет-адрес должен быть только у прокси-сервера, потому что он обменивается пакетами с внешним миром. Все остальные компьютеры в вашей локальной сети могут иметь немаршрутизируемые адреса, которые зарезервированы для частных сетей (диапазон 192.168.x.x или 10.x.x.x).

Прокси-серверы бывают прозрачные и анонимные. Прозрачные пакеты пользователя (без изменения адреса отправителя) просто пересылаются дальше на Web-сервер. Proxy, который скрывает IP-адрес, называется анонимным. Такой сервер общается с внешним миром от своего имени. Этим очень часто пользуются злоумышленники. Например, если хакер хочет вскрыть сервер и замести следы, то он производит все свои действия через анонимный прокси- сервер, чтобы администратор не смог узнать, кто именно производил взлом.

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

Так как не все компьютеры в сети должны иметь право работать с Интернетом, то на уровне прокси-сервера можно производить аутентификацию пользователя.

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

Чаще всего для реализации такой возможности применяется ICP-протокол (Internet Cache Protocol, протокол интернет-кэширования). Если ваш сервер не нашел нужного документа, то он направляет ICP-запрос другим серверам. Если какой-либо proxy ответит положительно, то информация будет взята у него.

При использовании протокола 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, но браузер вернет первый результат, потому что возьмет его из своего кэша.

1 ... 69 70 71 72 73 74 75 76 77 ... 120
На этой странице вы можете бесплатно читать книгу Linux глазами хакера - Михаил Флёнов бесплатно.
Похожие на Linux глазами хакера - Михаил Флёнов книги

Оставить комментарий