Примеры сайтов      Russian (Русский)          Вход        Регистрация    
 
Создать сайт - это просто

Настройка файрвола в Linux

| К списку

ДобавилТекст

Anonymous
Настройка файрвола в Linux
1455 дней назад 06.06.2008 13:15:36 Цитата('3','2071923','6','65144')">Сообщить о спаме

Настройка файрвола в Linux

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

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

В старых дистрибутивах Linux, основаных на старом ядре (2.2.x) для этого служила команда ipchains. В ядре 2.4.x уже появилась более мощная в своих возможностях команда iptables. ipchains рассматривать не буду, а расскажу о типовых настройках iptables.

Имеем: сеть небольшого предприятия (192.168.0.0/24 сеть класса С), почтовый сервер внутри сети предприятия, выход в интернет через этот же сервер, прокси сервер, ну еще например FTP и WEB сервер. Интерфейс eth0 смотрит в сторону локальной сети. eth1 в сторону инета. У eth1 IP адрес допустим 123.123.123.123

Для удобства настройки я рекомендую написать скрипт (например iptables.rc, который будет устанавливать нужные правила. У меня например все свои скрипты лежат в оном месте в /usr/local/srcipts/

Пример iptables.rc:

  1. !/bin/bash
echo 1 > /proc/sys/net/ipv4/ip_forward #Включение форвадинга пакетов. Так на всякий случай.

/sbin/iptables -F
/sbin/iptables -t nat -F #Очистка таблицы преобразования адресов.
/sbin/iptables -P INPUT DROP #Устанавливаем правила по умолчанию в DROP
/sbin/iptables -P FORWARD DROP #т.е. отсекание не разрешенных пакетов.

  1. blacklist
/sbin/iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP #Blacklist. Я заношу сюда IP
/sbin/iptables -A INPUT -s xxx.xxx.xxx.xxx -j DROP #с которых приходят письма с вирусами.

  1. Фильтрация поддельных IP
  2. Здесь создаются правила фильтрации поддельных ip адресов, т.е. которые принадлежат
  3. зарезервированому диапазону частных сетей, и которые не могут в принципе маршрутизироваться в internet

/sbin/iptables -A INPUT -s 192.168.0.0/16 -i eth1 -j DROP
/sbin/iptables -A INPUT -s 10.0.0.0/8 -i eth1 -j DROP
/sbin/iptables -A INPUT -s 172.16.0.0/12 -i eth1 -j DROP
/sbin/iptables -A INPUT -s 192.168.111.0/24 -i eth1 -j DROP


  1. Преобразование сетевых адресов
  2. Пакеты приходящие от клиентских тачек, имеют адрес отправителя принадлежащий частной сети
  3. Поэтому чтобы они маршрутизировались в инете необходимо подменить адрес источника на
  4. настоящий IP.

  1. нужно это правило если провайдер предоставил прямой ip адрес (без всяких PPPoe и VPN)
/sbin/iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 123.123.123.123

  1. Нужно это правило если подключение идет через PPPoe, VPN или даже DialUp.
  2. Хотя если изменить ppp0 на eth1 все будет работать. Только нагрузка на проц будет выше.
/sbin/iptables -t nat -A POSTROUTING -j MASQUERADE -s 192.168.0.0/24 -o ppp0

  1. SMTP (почтовый сервер)
  2. Разрешаем всем конектиться к данному порту, чтобы принимать почту. (если стоит почтовый сервер)
/sbin/iptables -A INPUT -p tcp --dport 25 -i eth1 -j ACCEPT

  1. httpd (WEB сервер)
  2. Аналогично...
/sbin/iptables -A INPUT -p tcp --dport 80 -j ACCEPT

  1. Разрешаем конектится из локальной сети к любому сервису (если доверяете своим юзерам)
  2. Иначе можно разрешить только необходимые сервисы... см. далее.
/sbin/iptables -A INPUT -s 192.168.0.0/24 -i eth0 -j ACCEPT


  1. pop3
/sbin/iptables -A INPUT -p tcp --dport 110 -s 192.168.0.0/24 -i eth0 -j ACCEPT

  1. smtp
/sbin/iptables -A INPUT -p tcp --dport 25 -s 192.168.0.0/24 -i eth0 -j ACCEPT

  1. squid (proxy server)
/sbin/iptables -A INPUT -p tcp --dport 3128 -s 192.168.0.0/24 -i eth0 -j ACCEPT

  1. FTP server
/sbin/iptables -A INPUT -p tcp --dport 21 -s 192.168.0.0/24 -i eth0 -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 20 -s 192.168.0.0/24 -i eth0 -j ACCEPT


  1. Разрешаем приходить и форвадится связанным пакетам (которые являются ответами на запросы)
/sbin/iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
/sbin/iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

  1. Теперь правила, которые разрешают форвадинг пакетов в инет.
  2. Можно прописать только для конкретных ip (например для себя а всех остальных только через прокси)
  3. Но тогда можно будет через мэйлер читать почту только со своего сервера, а если разрешить
  4. форвадинг тогда клиентам можно будет все (включая троянов), так что лучше этого не делать.
/sbin/iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT


  1. Порадовать пользователей прелестями ICQ. хотя ICQ может прогонять свой трафик через прокси
/sbin/iptables -A FORWARD -s 192.168.0.11 -p tcp --dport 5190 -j ACCEPT



Комментарии: 1 Просмотров: 1847

Anonymous
1455 дней назад 06.06.2008 15:10:44 Цитата('3','1472502','6','65163')">Сообщить о спаме

Перемещено в "Вопросы-ответы по настройке компьютера".