Тайны и секреты компьютера - Антон Орлов
Шрифт:
Интервал:
Закладка:
Иными словами, если, к примеру, с компьютера собирается отправиться пакет данных, то файерволл посмотрит, какая программа его отправляет, и по какому порту, и на какой порт. И в случае, если эти данные не будут соответствовать указанным в первоначальных настройках файерволла, то он забьет тревогу: либо запретит вообще отправку этого пакета, либо запросит пользователя о возможных действиях (смотря как настроить). Если на компьютер пробралась программа-троян, отсылающая, скажем, пароли пользователя куда бы то ни было, то она не сможет воспользоваться ни одним портом, да и вообще не сможет осуществить отправку данных, так как файерволл ее распознает (так как она, естественно, не будет входить в список разрешенных) и запретит ей доступ к Интернету. Также — и при приходе пакета: пропускаются лишь те пакеты, которые адресованы разрешенным программам — на разрешенные порты. Если же пакет приходит на адрес порта, которого нет в списке разрешенных, то ему в доступе отказывается.
Обеспечение безопасности компьютера от «взлома» извне тоже тесно завязано на управлении системой портов. На компьютере постоянно запущено множество программ. И не исключено, что при обращении к какому-либо порту какая-либо программа возьмет и ответит на запрос, да еще и проигнорировав какую-либо авторизацию доступа. Это — так называемая «дыра» в программе, за что ее авторов нещадно бьют. В другом случае операционная система, воспринимая данные по какому-либо порту, может попросту «повиснуть» — опять-таки из-за ошибки в ее программе. Так, до появления третьего Service Pack к Windows NT приход на компьютер с этой операционной системой пакетов данных, адресованных на 139-й порт, происходила либо перезагрузка Windows NT, либо ее «зависание». ("Дыры" могут быть основаны и на совсем других принципах — не только на системе портов, просто "дыра через порт" — один из многочисленных вариантов "дыр".)
Порты у компьютера можно «прослушать» — то есть послать на него пакеты данных, адресованные на все порты подряд, и ждать ответа хоть от какого-нибудь порта. Если с какого-либо порта придет ответ, то это значит, что с этим портом можно попробовать договориться — попытаться заставить работать программу, заведующую этим портом, в своих целях. Просканировать порты можно, например, с помощью программы Internet Maniac (рис. 10.3).
Рис. 10.3. Вот так сканируются порты. Это пример — а при настоящей хакерской атаке можно было бы и «дыру» отловить, да и самому попасться — зависит от умения обоих сторон.
Со сканирования портов и поиска «дыр» в программном обеспечении обычно начинается любая хакерская атака, поэтому многие провайдеры, банковские системы и другие большие сетевые представительства отслеживают подобные действия и принимают адекватные меры в адрес того, кто это делает.
Поскольку любой сложный программный комплекс включает в себя тысячи строк кода и множество функций, многие «дыры» в нем выявляются не сразу. К примеру, в Windows NT изначально «дыр» было предостаточно. Обычно в случае, если в программе выявляется «дыра», ее производитель выпускает специальное обновление, ее закрывающее. Такие обновления распространяются через Интернет. Особенно преуспела в закрытии своих «дыр» компания Microsoft, под обновления систем безопасности ее продуктов отведен целый большой раздел на ее сервере, что, впрочем, неудивительно — уж больно большие и сложные программы она выпускает.
Использование файерволла позволяет в определенной степени свести на нет риск от возможности сканирования портов, — он не дает возможности получить с портов, не входящих в список разрешенных, какой-либо ответ, так как вообще не пропускает к ним несанкционированные запросы. Но файерволл не может помочь в том случае, когда атака ведется с помощью вполне законного доступа — скажем, при приходе письма, содержащего вирус-троян.
* * *
При подключении к Интернету компьютеру выделяется провайдером постоянный или динамический IP-адрес (последний — в случае сеансового подключения, когда при каждом новом сеансе IP-адрес дается новый). Те пакеты данных, которые предназначены этому компьютеру, маршрутизируются в Сети именно по этому IP-адресу.
Но если к Интернету подключен компьютер, который в свою очередь является частью локальной сети, и необходимо обеспечить доступ к Web c остальных ее компьютеров, то возникает проблема. Заключается она в том, что выделенный для компьютера, имеющего доступ в Сеть, а значит, и фактически для всей этой сети IP-адрес — один, а компьютеров много, — и как тогда распределять пришедшие пакеты по компьютерам? Ведь пришедшие пакеты будут иметь одни и те же IP-адреса получателей.
Поэтому используется межсетевой шлюз — такая программа, которая как бы собой «подменяет» Интернет для локальной сети и локальную сеть для Интернета. Получив запрос от одного из компьютеров локальной сети, скажем, на загрузку web-страницы, она запоминает, от какого компьютера пришел этот запрос, и делает запрос в Интернет на загрузку той же страницы, но уже от своего имени и от имени и с IP-адреса того компьютера, на котором установлен прокси-сервер. Когда запрошенная страница загружается межсетевым шлюзом, она передается по локальной сети тому компьютеру, с которого был сделан запрос.
Обмен данными между компьютерами локальной сети и межсетевым шлюзом происходит по тому же протоколу, что и обмен данными во всем Интернете — TCP/IP. Поэтому в локальной сети каждый компьютер имеет свой внутренний IP-адрес, по которому с ним могут общаться другие компьютеры, в том числе и прокси-сервер. Межсетевой шлюз имеет два IP-адреса: для «своих» — тот, который присвоен ему в локальной сети, и для Интернета — тот, который присвоен ему провайдером.
Такой шлюз может быть и между двумя локальными сетями — принцип тот же: у компьютера два адреса — по одному из каждой сети
Внутренние IP-адреса полагается брать из диапазона 192.168.xxx.xxx, — чтобы не было совпадения с каким-либо из существующих в Интернете. Иначе при попытке обратиться к серверу с таким же IP-адресом пользователь будет попадать на компьютер своей же локальной сети. Диапазон 192.168.xxx.xxx специально зарезервирован для использования внутри локальных сетей, и в свободном доступе серверов с адресами из него нет (это невыгодно в первую очередь самим владельцам серверов — ведь иначе на их сервера попасть из любой локальной сети, в которой есть компьютер с таким же IP-адресом, будет невозможно).
Обычно межсетевой шлюз между локальной сетью и Интернетом выполняет еще две важные задачи и называется поэтому прокси-сервером. Во-первых, он кэширует данные — все web-страницы, хоть раз запрошенные с одного из компьютеров локальной сети, на прокси-сервере сохраняются (некоторое время — зависит от настроек прокси-сервера). Поэтому работа с Интернетом через прокси-сервер может идти несколько быстрее, чем без него (при прямом подключении), так как раз загруженные страницы будут грузиться с прокси-сервера, а не из Сети. Также при наличии прокси-сервера затруднено проникновение на компьютеры локальной сети из Интернета по сравнению с той ситуацией, когда каждый компьютер имеет свой IP-адрес для работы в Сети, то есть, во-вторых, прокси-сервер обеспечивает "защиту от взлома". И, с другой стороны, при работе с ресурсами Интернета из такой локальной сети через прокси-сервер «выследить» компьютер будет практически невозможно — максимум, что можно будет узнать, так это адрес прокси-сервера.
Поскольку прокси-сервер в таком случае фактически играет роль "универсального Интернет-сервера" для всех компьютеров локальной сети, то для работы с ним необходимо указать его «координаты» в настройках программ для работы с Интернетом. К примеру, в браузере Microsoft Internet Explorer 5.0 это делается в пункте Сервис — Свойства обозревателя — Подключение — Настройки локальной сети — Прокси-сервер. К прокси-серверу компьютеры должны обращаться по какому-либо порту. По умолчанию для такой работы выделяется порт 80, но тут есть одна особенность — если на компьютере, на котором запущен прокси-сервер, запущен также и web-сервер для обеспечения доступа из Интернета к сайту, расположенном на этом компьютере, то 80-й порт будет использоваться именно для этого web-сервера, и тогда прокси-сервер придется настраивать для работы по другому порту. Соответственно надо будет настроить и программы для работы с ресурсами Интернет.
Строго говоря, для того, чтобы работать через прокси-сервер, не обязательно быть подключенным именно к его локальной сети. Если необходимо использовать возможность кэширования web-страниц или защищаться от взлома (или выслеживания), то можно настроить свой компьютер на работу с каким-нибудь прокси-сервером не из его локальной сети, а из Интернета, просто указав его интернетовский IP-адрес (конечно, если он постоянный). Тогда для прокси-сервера этот компьютер станет как бы частью его локальной сети, и все преимущества работы через прокси-сервер станут доступны. Можно также использовать прокси-сервер лишь для работы с web-страницами (то есть по протоколу HTTP), а по всем остальным протоколам работать без него. Для этого надо опять-таки особым способом настроить браузер — в Microsoft Internet Explorer 5.0 (рис. 10.4) для этого служит вкладка «Дополнительно» окна "Настройки локальной сети" (путь — см. выше). Это имеет смысл, когда прокси-сервер работает недостаточно быстро, и выигрыш в скорости получается лишь для web-страниц за счет их кэширования.