Подробни IPTABLES настройка
Документация на IPTABLES мрежа не е предназначен за начинаещи. В тази статия ще опишем накратко екипа и бързо, а след това, може да е промени и допълнения в разширените обяснения. Така че това ще бъде минимално инсталация ние допълнително разширена и се втвърдява с помощта на правила.
Просто имайте предвид, че се използва PPPoE връзка и 2.6.x ядро. За да конфигурирате мрежовата карта ще трябва да бъдат заменени в eth0 на ppp0 (или подходяща по смисъла на вашия мрежов интерфейс търсите онлайн)
Преди да продължим нататък - уверете се.
- 1.Vso хардуера е в действие. Това означава, че сте се свързали, модули са заредени, устройството може да се види в системата. Полезно е да се провери, че за пръв път на интернет връзката е възможно без да има IPtables. нищо по-лошо от това да се забъркваш с упорит програма има за много часове, я кара на колко напразно, а след това осъзнавам, че мрежовата карта не работи или не е конфигуриран правилно модем.
- 2. Вие четете мана нататък. Предполага се, че толкова дълго, колкото учат това ръководство, изкуствени IPTABLES е винаги отворена в съседния терминал за правилното разбиране и изясняване на това, което този или това означава, че екипът всъщност.
- 3. Имате идея на мрежовите технологии и сте запознати с Linux администрация и Gentoo Linux в частност. Ето необходимите умения такива основни неща като фоп. RC-актуализация. /etc/conf.d/net. и така нататък. Ако за вас е все още празни звуци, след което моля предварително учат в мрежа Основи на Gentoo Linux и Наръчник за помощ на 101
конфигуриране на ядрото
Всичко, което трябва - да се включи подкрепа за IPTABLES.
Linux Kernel Configuration: Активиране IPTables
Linux Kernel Configuration: Включване IPTables (ядро 2.6.35)
Имам включени всички опции като модули (с изчисленията, че искам да опитам други опции по-късно) и се добавя ip_tables в modules.autoload. Това ще зареди няколко модула, като зависимости. се изисква ip_conntrack модул за "statefull" филтриране, т.е. за проследяване на връзки. За да стартирате скрипта, изпълнете командата:
необходимите инструменти
На следващо място, трябва да инсталирате IPTABLES пакет:
интерфейси конфигурация
Имайте предвид, че тя не е била дадена всички шлюзове.
Портал за клиенти, инсталиран на вътрешния интерфейс IP мрежа на сървъра, и логично. Сега добавете всички интерфейси в стандартното ниво на натоварване и рестартиране на връзката:
# RC-актуализация добавите net.eth1 подразбиране RC-актуализация добавите net.eth2 подразбиране RC-актуализация добавите net.ppp0 подразбиране
# /etc/init.d/net.eth1 започнете /etc/init.d/net.eth2 старт /etc/init.d/net.ppp0 старт
Проверка на настройките
Сега се уверите, че сървърът ви е свързан към интернет, както и всички интерфейси може да изпращаме сигнали. За сървъра:
Уверете се, че клиентите са правилно определени DNS -server в /etc/resolv.conf
Внимание: Ако сте параноик, не е тайна, че може да се направи. ние се отваряме към оскъдна мрежа защита. Въпреки това, ние приемаме, че мрежата е настроена за вашия дом или за клас игри.
проверка операция
И резервния си работа конфигурация за възможно възстановяване "като":
# CP / VAR / ИЪ / IPTABLES / правила спести /var/lib/iptables/rules.working
Ние се провери IPTABLES скрипта за стартиране, преди да добавите IPTABLES по подразбиране нивото на зареждане:
Код: Проверка на сценария
- /etc/init.d/iptables започват
- /etc/init.d/iptables спират
- /etc/init.d/iptables започват
Значение на старт-стоп-пуск, че ние нямаме скрипт, изпълняван IPTABLES. така че трябва да "инициализира" статут, преди да спрете. Stop, по същество нулира конфигурация и да се върнете всичко до оригинала. Рестартирането ще ни покаже дали нашата мрежа работи след рестартиране. Ако всичко върви добре, след това добавете IPTABLES за ниво на зареждане по подразбиране:
RC-актуализация добавите IPTABLES подразбиране
Не забравяйте да зададете в /etc/sysctl.conf:
Част II разглежда правила и настройка на политиката на за защита на вашия рутер.
ЧАСТ III - Firewall отбраната
След това, ние ще направим нашата вече безопасна работна защитна стена, т.е. защита на нашата система отвън проникване. В действителност, ние трябва да конфигурирате защитната стена, така че тя не само ни предпазва, но и ни предпази от външната мрежа. :) защита от този вид е задължително, че е необходимо да се гарантира, че в случай, че системата ни все още е бил компрометиран, атакуващият не можеше да използва ресурсите си за бъдещи атаки от всякакъв вид. Този аспект е от решаващо значение в клас SOHO мрежа, т.е. малки офиси. Обикновено вируси нямат никакво влияние върху малка мрежа и да ги заразява рядко води до загуба на данни. За нас, хората * никс, този проблем е почти не съществува. Във всеки случай, тъй като малка мрежа, като правило, са защитени по-лошо голям, бисквити се опитват да ги използват като "подкрепа база" за DoS атаки, или другата си злонамерена активност. По-долу ще опиша цялата конфигурация на парчета, така че бихме могли да се покажат в стъпки, всеки фрагмент. Всяка стъпка може да изисква да поставите нещо преди, след или по средата на сценария показва. Всички действия се извършват така, че (надявам се), мрежата ви е само за кратък период от време по време на настройката. Това съм направил, защото предположих, че много от вас (като мен) се разпределя Firewall сървър. И тъй като аз предпочитам да конфигурирате сървъра си чрез SSH, мрежа прекъсване може да има много неприятно posdelstviya като пълзи под таблици или по-лошо. Ако сте достатъчно смели, можете да копирате скрипт в края на този документ и да го изпълни на вашата машина. Този скрипт трябва да се оперира на всички сто, но аз го изпитват само на вашата машина, така че YMMV.
Създаване променливи на обкръжението
Можете да зададете необходимите променливи за средата в следния скрипт:
IPTABLES ПРИЕМА
Сега ние трябва да зададете ACCEPTy, така че да можем да се свържете с нашия сървър. В действителност, това е един много деликатен въпрос. Правила за надеждни рутери трябва по подразбиране да се забрани, отколкото да се разреши. Въпреки това, ако направите това, ще загубите всички връзки. Продължете тестването, докато не сте сигурни, че вашият ACCEPTy работа както трябва. Въпреки това, аз мисля, че за пръв път ще се въведе следното и ще бъде предпоследната правило в крайна сценария.
IPTABLES DROP REJECT
Възстановяване на правилата
Сега, когато ние виждаме нашето устройство, дефинирано правилно, поставете правилата на командата за нулиране. Въпреки това, всички са възложени правила ще бъдат нулирани. Тези линии трябва да се добавят след определянето на комунални услуги, че края на реда: ECHO = '/ бен / ехо "
Ако приемем, че всичко работи, ние затвори още няколко пристанища, които имат достъп могат да представляват сериозна заплаха за нас:
След определяне на околната среда променливи можем само да ги изпълните цикъл:
Е, от време на време, когато стартирате скрипта, тези линии са просто се добавят към вече съществуващите. която създава малко каша. Поради тази причина, ние ще скочи до върха на сценария. веднага след променливи на обкръжението за Впиши и СЕД, но преди променлива за EXTIP и EXTBC - там ние добавяме една линия, която произвежда чиста. Така че ние сме сигурни, че работи в чиста околна среда. Ние нямахме zaduyvatsya това преди, защото ние не бяхме в състояние да ottestit скрипт, без прекъсване или закриване на защитната стена. Това излага целия скрипт първи политика спад, и след това се почиства и премахва нашата верига. За да се гарантира, че можем да продължим да влезете през SSH сървъра ни след скрипт рестарт, ние добавяме INPUT веригата за SSH. И все пак ние го постави до края на скрипта. Това се прави с цел да се избегне отварянето на дупка по време на инсталирането на новите правила, което е доста често срещана грешка:
Веднага след това, ние ще стартира sysctl'y за tcp_syncookies, icmp_echo_ignore_broadcasts, rp_filter и accept_source_route. много от правилата, които "проверяват" всъщност не е извършена до този момент. В действителност, ние просто го провери за синтактични грешки. Сега нашите правила ще бъдат изцяло изпълнени:
NAT основната конфигурация
Сега ние се върнем към края на сценария, тъй като ние ще се отвори услуги за домакини, които са зад защитна стена. Имам включени следните услуги: IRC, MSN, ICQ и NFS, FTP, пространство, време и др. Най-важното тук е, че тези услуги могат да бъдат използвани само за fayervolom.Takim начин никой няма да може да ги използва чрез FTP в местната мрежа:
Сега нека направим така, че защитната стена ни позволи да сигнализирате на външния свят. За да разрешите този пасаж ICMP пакет, чрез външен интерфейс:
Сега, ние ще използва, за да влезете на всички останали искания, но няма да отговори на тях. Всичко, което трябваше да взема, ние, описан в началото на нашите правила. Така че това, което в крайна сметка блокиране на всички правила, които не са изрично разрешени:
Така че, всичко е направено. Аз съм приятелски Nmap и Nessus за моите връзки с по-горе набор от правила и нищо не пречи на използването на IRC, MSN, ICQ, и да излезе синхрон.
Пълният сценария
И сега, пълноправен скрипт във всичките му слава (В същото време сложих SSH пренасочване на по-подходящо място за него):