Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum


Lines Club

Ищем достойных соперников.

Календари настольные перекидные календари.


Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Next Previous Contents

11. Советы по организации правил для фильтра пакетов

Общая мудрость в компьютерной безопасности - блокировать все, затем открывать то что необходимо. Это обычно звучит так: "то что явно не разрешено - запрещено". Я рекомендую именно этот стиль, если безопасность ваша главная цель.

Не запускаете никаких служб в которых вы не нуждаетесь, даже если вы думаете, что блокировали доступ к ним.

Если вы создаете выделенный firewall-сервер, сначала блокируйте весь траффик, затем запускайте определенные сервисы и разрешайте пакетам проходить к ним.

Я рекомендую обезопасить себя как можно сильнее: комбинируйте использование tcp-wrapperов (для соединений идущих на сам firewall), прокси (для соединений идущих транзитом через firewall), проверку маршрутов и использование фильтра пакетов. Проверка маршрутов - когда пакет приходит с интерфейса, с которого он не должен приходить, такой пакет должен быть разрушен (DROP): пример, если ваша внутренняя сеть имеет адрес 10.1.1.0/24, и пакет с таким исходным адресом приходит на ваш внешний интерфейс, он будет разрушен (DROP). Это можно сделать для одного интерфейса (ppp0) так:

# echo 1 > /proc/sys/net/ipv4/conf/ppp0/rp_filter
#

или для всех уже существующих интерфейсов и созданных в будущем:

# for f in /proc/sys/net/ipv4/conf/*/rp_filter; do
#     echo 1 > $f
# done
# 

Debian устанавливает такие настройки по умолчанию где это только возможно. Если вы используете ассиметричную маршрутизацию (т.е. пакеты могут приходить с разных направлений), вам необходимо отключить такое фильтрование на соответствующих интерфейсах.

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

Я крайне рекомендую использование отслеживания соединений на защищенных системах: конечно это отнимает часть ресурсов, так как все соединения регистрируются, но это очень полезное свойство для контролирования доступа к ваши сетям. Вам может понадобиться загрузить "ip_conntrack.o" модуль, если ваше ядро не загружает модули автоматически, и если он не встроен в ядро. Если вам необходимо отслеживать сложные протоколы, вам надо будет загрузить соответствующий модуль (например "ip_conntrack_ftp.o").

# iptables -N no-conns-from-ppp0
# iptables -A no-conns-from-ppp0 -m state --state ESTABLISHED,RELATED -j ACCEPT
# iptables -A no-conns-from-ppp0 -m state --state NEW -i ! ppp0 -j ACCEPT
# iptables -A no-conns-from-ppp0 -i ppp0 -m limit -j LOG --log-prefix "Bad packet from ppp0:"
# iptables -A no-conns-from-ppp0 -i ! ppp0 -m limit -j LOG --log-prefix "Bad packet not from ppp0:"
# iptables -A no-conns-from-ppp0 -j DROP

# iptables -A INPUT -j no-conns-from-ppp0
# iptables -A FORWARD -j no-conns-from-ppp0

Настройка и создание хорошего firewall не входит в данный HOWTO, но мой совет "всегда будьте минималистами". Просмотрите Security HOWTO для большей информации.


Next Previous Contents


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют