|
|
Кто не спрятался, я не виноват!Фильтрация пакетов, firewall и маскарадинг в ЛинуксеПример настройки маскарадинга
ipchains -P forward DENY ipchains -A forward -s 192.168.1.0/24 -j MASQ echo 1 > /proc/sys/net/ipv4/ip_forwardСначала отключается вся пересылка пакетов, потом включается маскарадинг в предположении, что в локальной сети используются адреса из пула 192.168.1.x.
Можно усложнить правила маскарадинга, указав адреса конкретных машин,
для которых надо его осуществлять: ipchains -P forward DENY ipchains -A forward -s 192.168.1.2 -j MASQ ipchains -A forward -s 192.168.1.8 -j MASQ echo 1 > /proc/sys/net/ipv4/ip_forwardОстальные машины, кроме 192.168.1.2 и 192.168.1.8 доступа в интернет не получат. Пример настройки фильтра пакетовПредположим, что у вас есть PPP-соединение ('-i ppp0'). Вы читаете конференции (-p TCP -s news.virtual.net nntp) и почту (-p TCP -s mail.virtual.net pop-3). Иногда скачиваете по ftp свежее ядро для своего линукса (-p TCP -y -s ftp.kernel.org ftp-data). Бродите по www через прокси-сервер своего провайдера (-p TCP -d proxy.virtual.net 8080), но не любите рекламу с www1.reklama.ru и rb2.design.ru (-p TCP -y -d 195.46.160.46, -p TCP -y -d 212.24.32.76). Вы не возражаете против пользования ftp-сервером на вашей машине (-p TCP -d $LOCALIP ftp), но не хотите, чтобы кто-то снаружи делал вид, что он из вашей локальной сети (-s 192.168.1.0/24) - это называется IP-спуфинг (spoofing), и в ядрах 2.1.x и выше есть более правильные средства для защиты от него. Итак: ipchains -A output -d 195.46.160.46 -j REJECT ipchains -A output -d 212.24.32.76 -j REJECTВы устанавливаете приоритеты для исходящих пакетов (для входящих этого делать нет смысла). Поскольку этих правил довольно много, можно выделить их в отдельную цепочку по имени ppp-out: ipchains -N ppp-out ipchains -A output -i ppp0 -j ppp-outМинимальная задержка для www-трафика и telnet'а: ipchains -A ppp-out -p TCP -d proxy.virtual.net 8080 -t 0x01 0x10 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 telnet -t 0x01 0x10Низкая стоимость для данных ftp, nntp, pop3: ipchains -A ppp-out -p TCP -d 0.0.0.0/0 ftp-data -t 0x01 0x02 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 nntp -t 0x01 0x02 ipchains -A ppp-out -p TCP -d 0.0.0.0/0 pop-3 -t 0x01 0x02Существуют некоторые ограничения на пакеты, приходящие по интерфейсу ppp0, выделим их в отдельную цепочку по имени ppp-in: ipchains -N ppp-in ipchains -A input -i ppp0 -j ppp-inНикакие пакеты, приходящие из ppp0 не должны притворяться, что они с адресов 192.168.1.*, т.е. из локальной сети. Если же таковые появятся, то их надо занести в журнал ('-l') и уничтожить: ipchains -A ppp-in -s 192.168.1.0/24 -l -j DENYРазрешим UDP-пакеты для DNS (поскольку у вас работает кэширующий DNS-сервер, который пересылает все запросы на 203.29.16.1, то и ответов вы ожидаете только оттуда), а также входящие ftp-пакеты и ответные ftp-data (которые должны быть с портов выше 1023, но не с портов X11 в районе 6000): ipchains -A ppp-in -p UDP -s 203.29.16.1 -d $LOCALIP dns -j ACCEPT ipchains -A ppp-in -p TCP -s 0.0.0.0/0 ftp-data -d $LOCALIP 1024:5999 -j ACCEPT ipchains -A ppp-in -p TCP -s 0.0.0.0/0 ftp-data -d $LOCALIP 6010: -j ACCEPT ipchains -A ppp-in -p TCP -d $LOCALIP ftp -j ACCEPTНу и, наконец, все локальные пакеты на эту же машину вполне допустимы: ipchains -A input -i lo -j ACCEPTПолитика по умолчанию для входной цепочки - DENY, то есть все остальное уничтожается: ipchains -P input DENYПримечание: правила не обязательно добавлять именно в таком порядке, поскольку пока вы их добавляете, некоторые нежелательные пакеты могут проскочить через фильтр. С точки зрения безопасности наиболее правильно сначала установить политику DENY для входной цепочки, а потом добавлять новые правила. Однако, если добавляемые правила потребуют разрешения символических имен с помощью DNS, у вас могут возникнуть неприятности. Я вас предупредил ;-). << Страница 3 Страница 5 >> Часы. сколько стоят часы orient http://chronometer.com.ua :: OMAN: винтовые и маршевые лестницы. :: Моделирование и дизайн ногтей: маникюр обучение . Избавьтесь из плена безденежья. | ||||||||||||||||