Вход/Регистрация
Linux глазами хакера
вернуться

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

Шрифт:

Вернемся к самой сути перенаправления. На рис. 4.6 изображена сеть на основе витой пары с центральной точкой в виде коммутатора. Давайте проследим связи. Чтобы попасть в Интернет, любой пакет от компьютера проходит через коммутатор, входит через сетевую карту 1 (допустим, что это eth0) на машину с установленным Firewall и выходит через сетевую карту 2 (предположим, что это eth1) в Интернет.

На самом компьютере с Firewall должно быть разрешено перенаправление, которое позволит пакетам проходить из одной сетевой карты в другую. Чтобы включить эту возможность, запишите в файл /proc/sys/net/ipv4/ip_forward число 1 (по умолчанию там может быть 0) или выполните команду:

echo 1 > /proc/sys/net/ipv4/ip_forward

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

net.ipv4.ip_forward
в файле /etc/sysctl.conf на 1.

Более подробно о предоставлении доступа в Интернет мы поговорим в гл. 9. А сейчас затронем только темы, которые касаются настройки безопасности перенаправления трафика.

Сетевой экран может не только проверять пакеты на соответствие определенным фильтрам, но и прятать IP-адреса компьютеров сети. Это происходит следующим образом:

1. Клиент направляет пакет в сеть, и до сетевого экрана он будет идти со своим IP-адресом.

2. Сетевой экран меняет IP-адрес отправителя на свой и направляет пакет дальше от своего имени.

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

Рассмотрим пример, который разрешает переадресацию на внешний интерфейс из локальной сети:

ipchains -A forward -i eth1 -s 192.168.1.0/24 -j MASQ

Это общее правило, поэтому я добавляю его в конец цепочки

forward
с помощью ключа
– A
, чтобы оно не перекрыло фильтры, которые относятся к конкретным пользователям, но в то же время взаимосвязаны с этой записью.

Далее идет ссылка на интерфейс

eth1
(сетевая карта, которая смотрит в Интернет). Диапазон адресов соответствует всей сети 192.168.1.x. В качестве разрешения (ключ
– j
) используется значение
MASQ
, что соответствует маскированию адреса, т.е. адрес клиента будет заменен на адрес компьютера, на котором работает Firewall.

Данное разрешение позволяет только передавать пакеты с адресов 192.168.1.x на сетевой интерфейс

eth1
. Но это еще не значит, что трафик поступит и сможет выйти в Интернет. Чтобы пакеты пользователей были приняты сетевым экраном, должно быть разрешение accept примерно следующего вида:

ipchains -A input -i eth0 -s 192.168.1.0/24 -j ACCEPT

В этом фильтре мы открыли доступ на сетевой интерфейс eth0 любым пакетам с адресов 192.168.1.x. Разрешение дано на порты, поэтому адрес отправителя пакета может быть любым из сети 192.168.1.x.

Осталось только разрешить таким же образом пакетам выходить (цепочка output) из eth1, и можно считать, что все компьютеры вашей сети уже получили доступ в Интернет. Только на всех клиентских машинах необходимо указать в качестве шлюза по умолчанию IP-адрес компьютера с сетевым интерфейсом, и все пакеты найдут своего адресата.

Если у вас структура сети напоминает рис. 4.7, то переадресация должна быть включена на обоих сетевых экранах. А вот маскировку адреса лучше всего сделать на Firewall 2. В этом случае второй сетевой экран будет скрывать локальную сеть даже от публичного сервера.

Зачастую в качестве второго сетевого устройства выступает не карта, а модем. В этом случае правило для перенаправления будет выглядеть следующим образом:

i

pchains -A forward -i ppp0 -s 192.168.1.0/24 -j MASQ

Здесь перенаправление идет на интерфейс одного из модемов, имена которых имеют вид

pppX
.

Чаще всего необходимо, чтобы ваши клиенты имели доступ к ресурсам Интернета, а обратное подсоединение было невозможно. Когда по протоколу TCP запрашивается подключение к удаленному компьютеру, то посылается пакете установленным битом

syn
. В простых пакетах (ответы на наши соединения или передача данных) такого бита не должно быть. Таким образом, достаточно запретить TCP-пакеты с этим флагом, и удаленный компьютер не сможет подключиться ни к одному ресурсу нашего компьютера или сети. Это можно реализовать следующим образом:

ipchains -I input 1 -i ppp0 -р tcp --syn -j DENY

В данной строке вставляется новое правило в цепочку проверки входящих пакетов. Контролируются пакеты TCP, у которых установлен флаг

syn
(об этом говорит ключ
– -syn
). Если такой пакет получен, то он удаляется.

Для использования маскировки IP-адреса ядро операционной системы должно быть скомпилировано с соответствующей поддержкой, потому что подмена адреса происходит на уровне ядра.

  • Читать дальше
  • 1
  • ...
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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