Настройки sysctl и iptables для разрешения веб-серфинга только

Вопрос или проблема

Мне были предложены следующие настройки sysctl и iptables для настольного компьютера под управлением Debian Stable Linux, чтобы обеспечить безопасность настольного компьютера, разрешив только веб-серфинг (с формами):

Sysctl:

/sbin/sysctl -q -w net.ipv4.conf.all.rp_filter=1
/sbin/sysctl -q -w net.ipv4.conf.all.log_martians=1
/sbin/sysctl -q -w net.ipv4.conf.all.send_redirects=0
/sbin/sysctl -q -w net.ipv4.conf.all.accept_source_route=0
/sbin/sysctl -q -w net.ipv4.conf.all.accept_redirects=0
/sbin/sysctl -q -w net.ipv4.tcp_syncookies=1
/sbin/sysctl -q -w net.ipv4.icmp_echo_ignore_broadcasts=1
/sbin/sysctl -q -w net.ipv4.ip_forward=1

iptables:

*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT DROP [0:0]
:INPUT_CH - [0:0]
-A INPUT -d 255.255.255.255/32 -i eth1 -j DROP 
-A INPUT -d 192.168.1.255/32 -j DROP 
-A INPUT -s 224.0.0.0/8 -j DROP 
-A INPUT -d 224.0.0.0/8 -j DROP 
-A INPUT -s 255.255.255.255/32 -j DROP 
-A INPUT -d 0.0.0.0/32 -j DROP 
-A INPUT -m conntrack --ctstate INVALID -j DROP
-A INPUT -j INPUT_CH 
-A FORWARD -j DROP 
-A OUTPUT -s 224.0.0.0/8 -j DROP 
-A OUTPUT -d 224.0.0.0/8 -j DROP 
-A OUTPUT -s 255.255.255.255/32 -j DROP 
-A OUTPUT -d 0.0.0.0/32 -j DROP 
-A OUTPUT -m conntrack --ctstate INVALID -j DROP
-A OUTPUT -o lo -j ACCEPT 
-A OUTPUT -p tcp --dport 80 -j ACCEPT 
-A OUTPUT -p tcp --dport 443 -j ACCEPT 
-A OUTPUT -p udp --dport 53 -j ACCEPT 
-A OUTPUT -p icmp -j ACCEPT
-A OUTPUT -j DROP 
-A INPUT_CH -i lo -j ACCEPT 
-A INPUT_CH -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A INPUT_CH -j DROP 
COMMIT

*mangle
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
COMMIT

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
COMMIT

Пожалуйста, дайте ваше мнение о вышеизложенном.

Ответ или решение

На основе предоставленных настроек sysctl и iptables можно сделать следующие выводы об их целесообразности для обеспечения безопасности рабочего стола на базе Debian Stable Linux с возможностью только веб-серфинга.

Настройки sysctl

Предложенные настройки sysctl направлены на повышение безопасности и защиту от определенных видов атак:

  1. net.ipv4.conf.all.rp_filter=1 — активация обратной фильтрации маршрутов помогает предотвратить IP-спуфинг.
  2. net.ipv4.conf.all.log_martians=1 — ведение лога «марсианских» адресов (неправильных IP-адресов) для дальнейшего анализа.
  3. net.ipv4.conf.all.send_redirects=0 — отключение отправки ICMP переадресации помогает уменьшить риск атаки «человек посередине».
  4. net.ipv4.conf.all.accept_source_route=0 — отключение принятия маршрутов из заголовков пакетов, что также снижает риск атак.
  5. net.ipv4.conf.all.accept_redirects=0 — предотвращение принятия ICMP переадресаций, улучшает безопасность сети.
  6. net.ipv4.tcp_syncookies=1 — активирует синхронизацию куки для защиты от SYN-флуд атак.
  7. net.ipv4.icmp_echo_ignore_broadcasts=1 — игнорирование широковещательных эхо-запросов ICMP, что помогает предотвратить атаки типа Smurf.
  8. net.ipv4.ip_forward=1 — включение маршрутизации. В данном случае это может быть не нужно для десктопа, если он не является маршрутизатором.

Настройки iptables

Правила iptables настроены довольно строго и изолировано:

  • Политики по умолчанию: все цепочки имеют политику DROPS, что является хорошей практикой.

  • Разрешенные пакеты:

    • TCP на порты 80 (HTTP) и 443 (HTTPS) — позволяют осуществлять веб-серфинг.
    • UDP на порт 53 — разрешает запросы DNS.
    • ICMP — разрешает ping, что может быть полезно для диагностики сети.
  • Правила на входящий трафик:

    • Запрет на все маршруты, кроме тех, что необходимы для установления и поддержания активных соединений (RELATED и ESTABLISHED), что очень мудро.
  • Локальный интерфейс: правила для интерфейса loopback (lo) означают, что внутренние процессы могут взаимодействовать без ограничения.

Рекомендации

  1. Обратите внимание на ip_forward: Если это десктоп, маршрутизация (ip_forward) должна быть отключена, если устройство не используется как маршрутизатор.

  2. Журналирование: Рассмотрите возможность добавления правил для журналирования определенного трафика, что поможет в дальнейшем анализе.

  3. Резервное копирование конфигурации: Перед применением изменений обязательно создайте резервную копию текущей конфигурации iptables и sysctl.

  4. Тестирование настроек: После применения правил протестируйте доступ к веб-сайту и другим сервисам, чтобы убедиться, что все работает корректно.

  5. Обновление и мониторинг: Регулярно проверяйте и обновляйте систему и правила, а также ведите журнал для мониторинга возможных инцидентов.

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

Оцените материал
Добавить комментарий

Капча загружается...