Хакер №024. Спецвыпуск
IP-МАСКАРАДИНГ
прячем сеть от чужих глаз
Спецвыпуск Xakep, номер #024, стр. 024-056-1
][rimZ (hrimz@xakep.ru)
Сегодня мы подробно рассмотрим популярный метод защиты сетей - ip-маскарадинг. Что за зверь такой и кто его юзает? Сейчас в Интернете это очень-очень популярно среди многих компаний. Конечно же, никто из админов сеток не хочет, чтобы вся сеть, подрубленная к нету, была доступна все остальным. Нужно, чтобы доступ был только туда, куда надо админам и злобному боссу, а кто пытается пройти куда-то еще - сразу и без разговоров посылался нах. Все это можно реализовать с помощью файрволлов. Для этого брандмауэр нужно сконфигурировать на фильтрацию входящих/исходящих пакетов. Такие фильтры имеются как в софтверных, так и в аппаратных реализациях файрволлов. Вообще-то, если у тебя dial-up доступ, то маскарадинг тебе нафиг не нужен, а вот если есть LAN, и всем охота иметь выход в сеть, и безопасность тоже важна, то ip-маскарадинг - твой выбор. Или пров выделяет твоей сетке только один ip, а у тебя там 100 машин :). Да даже если у каждой тачки твоей сетки есть реальный ip в нете, то можно юзать маскарадинг, чтобы скрыть "нутровую" структуру сети. Надеюсь, ты понял, что вещь это архиполезная.
А вот в чем заключается основная фишка всего этого маскарада. Есть Интернет и есть LAN, все исходящие пакеты из внутренней сети фильтруются файрволлом и в header`ах пакетов в поле «source IP» внутренние адреса сети переписываются на IP фильтрующего шлюза, а во входящих (ответных) пакетах переписывает «destination IP» (свой) на внутренний IP той машины, которая делала запрос вовне. Для хацкера, сидящего где-то далеко в нете, это выглядит так, как будто все запросы исходят из единственной тачки-шлюза. То есть внутренний LAN как бы и нет =). Реализовать все это можно без особого напряга, если шлюз - это *nix`овая система (и подзаморочиться, если вынь-дос). Это все потому, что в никсах есть офигенная утилита-файрволл - ipchains (да и вообще там много офигенных утилит). Вот на примере ipchains мы и реализуем ip-маскарадинг для "нашей сети".
НАША СЕТЬ
Итак, что же будет представлять наша сеть? Допустим, ты простой работник в крутой конторе, и тебе нужно настроить ip-маскарадинг. Ты открываешь Спец на нужной странице и жадно вчитываешься =). В общем, ситуация такая. Куплен домен, например, megatron.net. К нету подрублена только одна шлюз-тачка через оптику. Адрес шлюза security.megatron.net. Сеть построена на Ethernet, твоя личная машина зовется xakep_host. Приступим! Нам нужно, чтобы пакеты из внутренней сетки некогда не выходили в Инет без фильтрации, ну и наоборот - соответственно. Адресация внутренней сети должна быть из определенного диапазона: 10.*.*.*, 172.16.*.* и 192.168.*.*. Это fake-адреса, которые не маршрутизируются глобально, то есть в нете ты не найдешь серваков с IP из этого диапазона. Только в частных сетях. Реализовывать мы все это будем в *nix`ах. Так будет лучше для всех (если с никсами траблы - читай в этом же номере статью по ipchains - там все хорошо рассказано и снабжено примерами).
ПРИМЕР НОМЕР РАЗ
Попытаемся разрешить доступ из LAN к веб-серваку в Инете. Адресация в конкретно нашей LAN - 192.168.13.*, твой xakep_host имеет адресок 192.168.13.111, а адрес файрволла - 192.168.13.222. Файрволл настроен на подмену любых пакетов, исходящих из LAN и направленных на 80 порт сервака в Инете. Твой браузер (Opera, например) стандартно настроен для соединения, и DNS-сервер во внутренней сети поставлен грамотно, а не Дедом Морозом. Да, и еще одно условие - файрволл должен служить стандартным маршрутизатором в сети.
Содержание Вперед на стр. 024-056-2