Настройка на защитни стени за Linux
Настройка на защитни стени за Linux.
Терминът "защитна стена" е на устните на всички, но няма общоприето определение за това явление. Функциите на защитната стена могат да се изпълняват от хардуер: в този случай защитната стена обикновено се разбира като компютър, стоящ на кръстовището на локална мрежа и интернет. Много ADSE рутери могат да изпълняват основни функции на защитна стена.
Често защитната стена може да бъде и софтуерен пакет, инсталиран на компютър, който, ако е правилно конфигуриран, повишава сигурността на компютъра. Много дистрибуции предоставят богати инструменти за конфигуриране на защитната стена.
Защитни стени за лични компютри
Ако, например, SSH сървър работи на компютъра, тогава нападател може да се опита да влезе в мрежата през този сървър. За да направят това, агресорите използват скриптове, които автоматично избират влизания чрез просто заместване на думи от речник. Следователно добрата парола струва много!
Друга опасност дебне в WLAN мрежите: в момента само тези WLAN мрежи, които използват механизма WPA2, могат да се считат за добре защитени и то само ако използваната парола е достатъчно дълга и сложна.
Може да възразите, че атака срещу вашия компютър няма смисъл, тъй като данните в него едва ли ще представляват интерес за някого. Може би така. Но не всяка атака се прави, за да се извлекат данни и след това да се манипулират. Често нападателят иска да инсталира малка част от софтуера на вашия компютър, който да може да използва по-късно. Жертвите на такива атаки са милиони компютри с Windows, които могат да бъдат "дистанционно контролирани" от нападателите.
Защитни стени за локални мрежи
Обикновенокорпоративните локални мрежи се нуждаят от повече сигурност от домашните компютри. Същевременно се създават по-добри условия за изграждане на необходимата инфраструктура. На практика, в собствена локална мрежа, отделен компютър често е отговорен за достъпа до Интернет и сигурността. Всички други мрежови услуги работят на други компютри. В много малки мрежи функциите на защитната стена и мрежовия сървър могат да се изпълняват от един компютър. Но този подход не е оптимален, тъй като този компютър ще трябва да изпълнява и управлява много мрежови услуги, които могат да бъдат използвани, за да навредят на мрежата. Вярно е, че такава сигурност все още е по-добра от липсата на защитна стена.
Много големите мрежи често имат не една, а дори две защитни стени. Първата защитна стена осигурява само основна защита, но е пропусклива за интернет протоколи като HTTP или FTP. Мрежовото пространство в този случай се нарича демилитаризирана зона (DMZ). Този термин означава, че в мрежата се предприемат само ограничени мерки за сигурност. Обикновено тази зона хоства уеб сървър, както и други мрежови сървъри, които трябва да са публични (т.е. могат да бъдат намерени в Интернет).
Демилитаризираната зона е отделена от останалата локална мрежа с втора защитна стена. Вече зад него са всички други услуги, които отговарят за работата на локалната мрежа и са абсолютно недостъпни отвън. Конфигурирането на многоетапна защитна стена обаче е много обширна тема, която е извън обхвата на тази книга. Насоки за конфигурацията на такива бариери са дадени в специализираната литература.
Помощ за конфигуриране: филтриране на пакети с щракване
След това ще разгледаме какбезброй iptables команди за съставяне на пакетен филтър под формата на скрипт. Въпреки това, за да създадете такъв сценарий, ще трябва внимателно да проучите съответния материал. Средностатистическият потребител на Linux със сигурност няма да има нужда от това знание - в много дистрибуции системата върши тази част от работата вместо потребителя: удобните инструменти за конфигуриране ви позволяват да създавате прости защитни стени само с едно щракване на мишката - част от тази работа вече е свършена по време на инсталирането на системата.
Инструментите за конфигуриране са добра идея. Въпреки това, зад една много проста настройка на филтъра за пакети, има повече ноу-хау за филтриране на пакети, отколкото може да си представите (освен ако не се захванете наистина сериозно с филтрирането на пакети). Често резултатът е по-ефективен от вашето собствено решение.
Проблемът се крие в изпълнението на самия процес: пакетният филтър, създаден по този начин, е по същество "черна кутия". Ако има някаква документация как точно функционира такъв филтър, тя е много оскъдна. Не знаете от какво ви предпазва такъв филтър и не знаете какви странични ефекти дава при работа. Може да се случи, че ще прекарате няколко дни в недоумение защо разпечатката не работи в мрежата и ще откриете това
пакетният филтър просто не го позволява. В такъв случай опитът за съответно регулиране на пакетния филтър най-вероятно ще се провали, тъй като филтърът не е добре документиран и конфигурацията не е достатъчно гъвкава.
Debian не предоставя защитни стени по подразбиране, така че няма конфигурационни инструменти за създаването им.
Федора, Червена шапка.
При инсталиране на Fedora и Red Hat по подразбиране се създава защитна стена, за да блокира всички входящи опити отвънвръзки. За да създадете конфигурация, стартирайте програмата system-config-firewall от менюто System ► Administration ► Firewall. Вече можете да определите конкретни услуги (напр. SSH) и мрежови интерфейси (напр. LAN интерфейс) като сигурни и да ги изключите от защитната стена. За компютъра, който действа като шлюз, можете допълнително да настроите интерфейса за маскиране. Защитната стена се стартира като част от процеса Init-V: файлът с правила е /etc/sysconfig/iptables; Init-V скрипт - /etc/init.d/iptables.
В дистрибуциите на SUSE защитната стена също се създава по подразбиране, като интерфейсът към Интернет автоматично се присвоява на външната зона. Конфигурацията се извършва в YaST модул Security ► Firewall. В този случай отделните раздели се отварят чрез щракване върху записите от лявата страна на прозореца на YaST, където обикновено се намират помощните файлове, а не в отделни диалогови прозорци, както е в други случаи. Ако компютърът служи като LAN шлюз, задайте LAN интерфейса на външна зона (това се прави в раздела Interfaces) и проверете раздела Masquerading със същото име. Както във Fedora, защитната стена се стартира като част от процеса Init-V: файлът с правила е /etc/sysconfig/SuSEfirewall; Init-V скрипт - /etc/init.d/SuSEfirewall2*.
Ubuntu не създава защитна стена по подразбиране и няма съответните инструменти за конфигуриране, но има команда ufw („проста защитна стена“). Тя ви позволява да задавате правила на защитната стена, като използвате много по-прост синтаксис от iptables. Освен това се очаква в бъдещите версии на Ubuntu, заедно с инсталирането на мрежови услуги, да бъдат инсталирани и съответните правила за защита на ufw. Разбира се, все още трябва да доживеем, за да видим това: досега ufw не се използва широко.
ако тиАко сте работили с пакетни филтри преди, бързо ще получите това, което искате с ufw. Ще опиша накратко синтаксиса на тази команда (за повече информация по този въпрос вижте man ufw): ufw enable активира защитната стена. В бъдеще той ще се активира автоматично всеки път, когато стартирате компютъра си. Командата ufw disable отново деактивира защитната стена. Командата по подразбиране ufw allowdeny указва дали входящите пакети по принцип трябва да се приемат или отхвърлят (обикновено опцията deny е в сила). Освен това с услугата ufw allowdeny n или ufw allowdeny вие определяте правилата, които ще се прилагат за конкретни портове или протоколи.
Всички правила се съхраняват в конфигурационните файлове в /etc/ufw. Командата ufw status предоставя информация за текущото състояние на защитната стена.
пожарогасител.
Във втората стъпка можете да конфигурирате компютъра си като шлюз. Ако е необходимо, Firestarter може едновременно да конфигурира dhcpd DHCP сървъра, но това изисква първо да се инсталира специален пакет. Излезте от асистента, като щракнете върху бутона Запазване, но не и Край, в противен случай прекалено конфигурираните настройки ще бъдат нулирани.
Защитната стена незабавно става активна и след това автоматично се стартира при включване на компютъра или при установяване на връзка с интернет. Сега никой компютър, намиращ се в локалната мрежа или в Интернет, не може да започне да обменя информация с вашия компютър. Често тази настройка се оказва ненужно твърда. Ще бъдат необходими допълнителни правила, за да се позволи на други компютри да обменят информация с вашия.
За да настроите нови правила, отидете на Система ► Управление на системата ► Бързо стартиране, отворете раздела Защита, изберете Входящи правила и щракнете върхущракване върху областта на списъка Разрешаване на връзки или Разрешаване на услуга. Едва сега ще стане активен бутонът Добавяне на съвет, който отваря диалоговия прозорец за конфигуриране. Новото правило се активира с натискане на бутона Прилагане на инструкцията.
Броят на правилата за филтриране. Командата iptables -L wc -l ви позволява да оцените колко правила се използват от активната в момента защитна стена. Полученото число дава представа колко сложна е защитната стена, но не ви казва нищо за това колко е надеждна! Най-добре е напълно да потиснете целия мрежов трафик и това обикновено изисква едно или две правила.
Мрежов филтър
Вътре в ядрото система, наречена мрежов филтър, обработва правилата на защитната стена. Следният списък описва накратко състоянията на IP пакет в ядрото.
Маршрутизиране.
входен филтър.
Въз основа на определени правила се проверява дали входящият пакет трябва да се обработва с помощта на локални програми (например мрежови демони).
локален процес.
изходен филтър.
Въз основа на индивидуални правила се определя дали даден IP пакет може да напусне ядрото отново.
NAT postrouting.
Ако даден компютър трябва да предостави на други компютри достъп до Интернет чрез маскиране, този механизъм извършва необходимите операции върху IP пакетите на други компютри.
Филтърна таблица - обикновено съдържа цялата система от правила за отделните пакети (защитна стена).
Вериги от правила (вериги)
Всяка от посочените таблици има няколко вериги от правила: О филтърна таблица - Вход, Напред, Изход;
ЗАБЕЛЕЖКА
Веригите от правила са независими една от друга, т.е. има две различни вериги за предварително маршрутизиране и три различни вериги за изход. Въпреки това, документацията честоте пишат, че става въпрос само за веригата Output, без да уточняват към коя таблица принадлежи. В такива случаи винаги се имат предвид веригите на филтърната таблица - по-късно ще видим, че тази таблица е най-важната. Същата интерпретация важи и за командата iptables: там, като използвате параметъра -t, можете да посочите желаната таблица. Ако този параметър не е наличен, тогава командата автоматично ще бъде приложена към филтърната таблица.