Безопасность и оптимизация Linux.Редакция для Red Hat

       

Создание ядра с поддержкой маскарада и форвардинга.


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

Networking options:

Network firewalls (CONFIG_FIREFALL) [N] Y

IP:Firewalling (CONFIG_IP_FIREWALL) [N] Y

IP:TCP syncookie support (CONFIG_SYN_COOKIES) [N] Y

ЗАМЕЧАНИЕ. Если при создание ядра вы использовали материалы из главы 3, то все необходимые опции (“Network firewalls, IP:Firewalling и IP:TCP syncookie support”) были отмечены.

IP маскарадинг и IP ICMP маскарадинг требуются только для шлюза.

IP:Masquerading (CONFIG_IP_MASQUERADE) [N] Y

IP:ICMP Masquerading (CONFIG_IP_MASQUERADE_ICMP) [N] Y

Маскарадинг необходим, если один из компьютеров вашей локальной сети, для которой вашей Linux сервер (или Шлюз) является брандмауэром, пытается послать пакеты в Интернет и шлюз “притворяется” этим компьютером. Другими словами, при пересылке всех пакетов из внутренней сети во внешнюю, шлюз делает вид, что все пакеты идут от него. Это работает в обе стороны, если внешний хост отвечает, то шлюз будет пересылать все пакеты во внутреннюю сеть нужному компьютеру. В результате все внутренние компьютеры полностью не видимы для внешнего мира, но при этом имеют туда доступ и могут получать оттуда ответы.

IP маскарадинг работает только если у вас включен IP форвардинг. Эта возможность по умолчанию отключена и что бы включить ее используйте следующие команды:

Под Red Hat 6.1

[root@deep /]# echo "1" > /proc/sys/net/ipv4/ip_forward



Вы можете добавить эту команду в /etc/rc.d/rc.local, чтобы она выполнялась каждый раз при загрузке компьютера. В Red Hat 6.1 это можно также сделать внеся изменения в файл “/etc/sysconfig/network”:

FORWARD_IPV4="false”

Должен читаться:

FORWARD_IPV4="yes"

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


[root@deep /]# /etc/rc.d/init.d/ network restart Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]

Лично я предпочитаю второй способ включения форвардинга.

Под Red Hat 6.2:

Редактируйте файл “/etc/sysctl.conf” и добавьте следующую строку:

# Enable packet forwarding

net.ipv4.ip_forward = 1

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

[root@deep /]# /etc/rc.d/init.d/network restart Setting network parameters [ OK ] Bringing up interface lo [ OK ] Bringing up interface eth0 [ OK ] Bringing up interface eth1 [ OK ]

ЗАМЕЧАНИЕ. Строка IP forwarding, введенная выше, нужна только если вы ответили “Yes” на вопрос “IP:Masquerading (CONFIG_IP_MASQUERADE)” при конфигурировании ядра и решили сделать из сервера шлюз с маскарадингом для вашей внутренней сети.

Если вы включили IP Masquerading, тогда будут автоматически скомпилированы модули ip_masq_ftp.o (для обмена файлов по протоколу ftp), ip_masq_irc.o (для irc чатов), ip_masq_quake.o (догадайтесь сами для чего он), ip_masq_vdolive.o (для VDOLive видео), ip_masq_cuseeme.o (для CU-SeeMe broadcasts) и ip_masq_raudio.o (для RealAudio). Они нужны, чтобы работал маскарадинг для этих протоколов. Вам нужно будет создать модульное ядро, ответив Yes на вопрос “Enable loadable module support (CONFIG_MODULES)”, вместо монолитного, чтобы разрешить использование функции маскарадинга и модулей подобных ip_masq_ftp.o.

Основной код маскарадинга, включаемый опцией "IP: masquerading", обрабатывает только TCP или UDP пакеты (и ICMP ошибки для существующих соединений). Опция IP:ICMP Masquerading включает дополнительную поддержку для маскарадинга ICMP пакетов, таких как ping или исследований проводимых программой tracer из Windows 95.

ЗАМЕЧАНИЕ. Помните, что у других серверов, например, Веб или почтового, эти опции включать не надо, так как они имеют постоянно присвоенный им IP адрес или не выступают в роли Шлюза для внутренней сети.

Некоторые моменты для обсуждения.

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

  • На шлюзе должны быть запущены только самые необходимые приложения;


  • Шлюз должен строго ограничивать типы и число протоколов проходящих через него (протоколы потенциально опасные, например, telnet и ftp);


  • К любым системам, хранящим конфиденциальную информацию, не должно быть прямого доступа из Интернет.



  • Содержание раздела