Най-четените учебни материали
Най-новите учебни материали
***ДОСТЪП ДО САЙТА***
ДО МОМЕНТА НИ ПОСЕТИХА НАД 2 500 000 ПОТРЕБИТЕЛИ
БЕЗПЛАТНИТЕ УЧЕБНИ МАТЕРИАЛИ ПРИ НАС СА НАД 7 700
Ако сме Ви били полезни, моля да изпратите SMS с текст STG на номер 1092. Цената на SMS е 2,40 лв. с ДДС.
Вашият СМС ще допринесе за обогатяване съдържанието на сайта.
SMS Login
За да използвате ПЪЛНОТО съдържание на сайта изпратете SMS с текст STG на номер 1092 (обща стойност 2.40лв.)Компютърни защитни стени |
![]() |
![]() |
![]() |
1. Същност – система или мрежа, която изолира една мрежа от друга. Това може да бъде маршрутизатор, компютър, изпълняващ специален софтуер в добава към или вместо стандартната си операционна система, хардуерно устройство(предварително настроени маршрутизатори или компютри) или всякакво друго устройство(мрежа от устройства), което извършв някаква комбинация от филтриране на пакети, посредничество на приложно ниво и други видове контрол на мрежовия достъп.
- Архитектура „Вътрешни срещу външни” Най-често срещаната архитектура. При нея е маршрутизатор филтрира пакетите и действа като първоначална, но не и единствена защитна линия. Директно зад този маршрутизатор е разположена „същинската” защитна стена. Към вътрешната мрежа не съществува директна връзка от Интернет или от „външния” маршрутизатор: целият трафик в двете посоки трябва да премине през защитната стена фиг №1. Недостатък на този вид архитектура е: публичните услуги като SMTP, DNS и HTTP трябва или да се изпращат към вътрешните сървъри през защитната стена, или да се разположат на самата защитна стена. Предаването на подобен трафик не излага останалите вътрешни машини на директна атака, но утежнява последствията, ако някой вътрешен сървър бива пробит. Също така, разполагането на публичните услуги върху защитната стена утежнява работата на защитната стена и намалява нейната производителност и сигурност. - Архитектура на ДМЗ „Триделна защитна стена” При нея трафика от интернет преминава през маршрутизатор, после през защитната стена, която разделя движението на две: към демитализираната зона на която са разположени сървърите с публични услуги; и към вътрешната мрежа (фиг. №2). При нея защитната стена се конфигурира по подходящ начин, като може да използва различни правила за оценяване на трафика:
Тази архитектура изисква повече администраторска дейност, но тя е по проста, понеже ДМЗ се третира като един единствен логически елемент. - Архитектура със слабо екранирана подмрежа(фиг №3). Този вид мрежа, беше разумен избор преди време, когато маршрутизаторите се спряваха по-добре с високоскоростните потоци от данни отколкото машините с няколко мрежови интерфейса. Но в днешно време е най-добре да не се разчита твърде много на маршрутизатори в архитектурата на защитната стена. Някои недостатъци: защитната стена и маршрутизаторите може да се контролират от различни хора, тоест да има различни политики относно сигурносттта; маршрутизаторите са значително по-податливи на хакерски атаки, в сравнение с добре настроените компютри. - Архитектура със силно екранирана подмрежа. При тази архитектура фиг №4 както ДМЗ, така и вътрешната мрежа са предпазвани от истински защитни стени, които са по съвършенни от маршрутизаторите, посочени в по горната архитектура. Тази архитектура е полезна в случаите, когато трябва да се поддържа голямо количество мрежови трафик, понеже в не е решен един значителен недстатък на архитектурата с триделна защитна стена, показана на фиг №2: ако целият трафик между три мрежи се обработва от една защитна стена и между две от тези мрежи тече голямо количество информация, тогава значително намаляват възможностите трафик от третата мрежа да достигне до някоя от другите две. Архитектурата със закрита подмрежа се справя по-добре с разпределението на товара по мрежата. Тази архитектура е приложима и в среди с разнородни защитни стени. Например защитна стена с филтриране на пакети може да бъде използвана като „външна” защитна стена; в такъв случай за „вътрешна” занщитна стена може да се използва шлюз на приложно ниво, който предлага сравнително по-голяма сигурност, но е по-бавен. По този начин публичните сървъри в ДМЗ ще бъдат оптимално достъпни за външния свят, а системите във вътрешната мрежа ще са изолирани възможно най-ефективно.
В зависимост от предлаганата защита, биват: - защитни стени с просто филтриране на пакети. Обикновенното филтриране на пакети оценяват пакети, основавайки се на единствено на техните заглавни части. Това е относително бърз начин за регулиране на трафика, но той също е и лесен за заобикаляне. Атаките, в които се фалшифицира IP адресът на подателя, обикновенно се блокират от филтрирането на пакети и понеже одобрените пакети преминават директно през защитната стена, пакетите с „легитимни” заглавни части, носещи опасни данни, често могат да бъдат изпратени непроменени към „защитени” цели. - защитни стени с филтриране на пакети с отчитане на състояние. Съществуват два вида филтри на пакети с отчитане на състояние: обикновен и Stateful Inspection – използвано от Check Point. В най простата си форма този термин се отнася до проследяването на връзките по TCP започвайки от „трипосочното ръкостискане” (SYN, SYN/ACK, ACK), което се осъществява в самото начало на връзката, и завърршвайки с последния пакет от сесията(FIN или RST). Повечето защитни стени с филтриране на пакети в днешно време поддържат някаква степен на проследяване на връзката на ниско ниво. Обикновенно, слуд като защитната стена провери дали дадена транзакция е допустима в зависимост от IP-адресите и портовете на подателя и получателя), тя наблюдава първоначалното ръкостискане. Ако то завърши в приемлив интервал от време, заглавните части на всички следващи пакети от тази транзакция се сравняват с „таблицата на състоянията” на защитната стена и се пропускат до приключването на сесията по TCP-т.е докато някоя от страните затвори връзката чез FIN или RST. Проверяват се: IP-адресът и портът на подателя, IP-адресът и портът на получателя и поредните номера по TCP на всеки пакет. Предимства пред обикновенното филтриране на пакети:
Check Point защитната стена, когато преглежда пакети от дадена транзакция по HTTP, тя гледа не само техните заглавни части и ръкостискането по TCP, тя разглежда и носените данни, за да се увери, че инициаторът на транзакцията наистина иска да проведе сесия по HTTP, а не примерно някаква атака за отказване на услуга чрез TCP на порт 80. Интелигентността на приложно ниво в продуктите на Check Point се дължи на „кода на INSPECT”(INSPECT e собствения език за проверка на пакети на Check Point), вграден в отделните филтри за услуги. Услугите по TCP са подкрепени със стабилно количество сложен код на INSPECT. От друга страна, за услугите по UDP като NTP и RTTP има далеч по малко код. Технологията на Check Point представлява хибрид между филтрирането на пакети и посредничеството на приложно ниво. Но поради различията в начина на третиране на отделните услуги, истинската сила на Stateful Inspection вероятно е много по близка до тази на обикновенните филтри на пакети, отколкото до най добрите посреднически защитни стени(т.е защитни стени с приложни шлюзове). - Занщитни стени като посредници на приложно ниво. За разлика от филтрите със и без отчитане на състояние, които преглеждат, но не променят пакетите, една защитна стена с посредничество на приложно ниво участва активно като междинна стъпка във всички транзакции, минаващи през нея. Посредника на приложно ниво не само разпознава допустимите и забанените IP адреси и портове, той също така може да разпознае позволено и недупостимо поведение на дадено приложение, също така и добра защита срешу атаки, базиращи се на стека. Недостатъци са по голямото натоварване на защитните стени и ниската гъвкавост.
Защитните стени изследват определени характеристики на мрежовия трафик и решават кой трафик да позволят и кой да откажат въз основа на набор от правила или критерии. Работата на системния администратор е да построи този набор от правила по такъв начин, че задоволително да предпазва мрежите зад него. Повечето защитни стени ще направят с даден пакет едно от следните три неща, в зависимост от набора й от правила:
Повечето защитни стени са настроени да отказват пакетите като тяхна подразбираща се политика. По безопасно е да започнете със затворен набор от правила на защитната стена и да отваряте необходимите дупки, вместо да започнете с отворен набор от правила на защитната стена, който след това трябва да бъде плътно заключен.
Посредством магията на транслация на мрежов адрес (Network Address Translation), може да се разделят външни мрежи с публично достъпни IP адреси, от вътрешни мрежи с частни IP адреси. NAT обикновенно се извършва от устройство на защитната стена от нейния външен интерфейс в полза на машината зад нея (от нейния вътрешен интерфейс). Всяко мрежово устройство, което може да извършва NAT ( това включва както маршрутизатори, така и защитни стени) може да се нарече NAT устройство. Накратко едно NAT устройство позволява на машините в своята частна, вътрешна мрежа да се „маскират” като самото NAT устройство. Извършват се следните дейности: 1) Кешира подробностите за това накъде се е насочил пакета (вкл.информация за адреса и порта на външния източник и външния получател), когато NAT устройството получи трафик от частната мрежа предназначена за външната мрежа (Интернет) 2) След това устройството използва софтуер, за да запише хедъра на пакета, така че да замени истинския IP адрес на вътрешния източник на пораждащата частна машина със собствения си външен IP адрес 3) След това устройството изпраща пакета до оригиналното му предназначение. От гледна точка на получателя, пакетът изглежда все едно идва директно от NAT устройството. Това позволява на една частна машина да се маскира като защитната стена или NAT устройството, което я предпазва 4) Когато NAT устройството получи върнат пакет или пакет с отговор от получателя, то проверява своята NAT кеш таблица, за да провери дали инфрмацията за адрес и порт на пакета съвпадат с някой от пакетите, който са били изпращани. Ако не се открие съвпадени, пакетът ще бъде отхвърлен или обработен според правилата на защитната стена, която работи върху устройството. Ако се открие съвпадение, NAT устройството използва софтуер, за да пренапише хедъра на пакета, като замества своя IP адрес с вътрешния IP адрес на машината, която първоначално е изпратила съответния изходен пакет 5) Накрая NAT устройството изпраща пакета до вътрешната му дестинация. Транслацията на мрежови адрес е напълно прозрачна за машината в частната мрежа. Частната машина може да осънществи достъп до Интернет, без Интернет да може да я „види” или да комуникира директно с нея.
Много UNIX системи, включително LINUX, FreeBSD, OpenBSD и др., се придружаат от пакети с пакетни филтри. Те изискват специални опции на ядрото и някои вградени модули, но тъй като сигурността стана толкова важна, тези опции и модули почти винаги са вградени в подразбиращата се инсталация на системата.
Ipchains е потребителски интерфейс към способностите на ядрото за филтриране на пакети. Цялото реално изследване на пакетите в паметта се извършва в простраството на ядрото. Програмата Ipchains просто диктува правилата до ядрото. За съжаление това означава, че ядрото ще забрави правилата ви при всяко рестартиране на системата. За щастие можете да използвате инструментите ipchains-save и ipchains-restore, за да правите извадка на текущо използваните правила на ipchains и да ги възстановите след рестартиране. Ipchains дефинира три вериги: Output, Input и Forward. Всеки пакет идващ в системата(от външния или вътрешния интерфейс) първо отива във входната верига Input. Пакетите, които не са предназначени за самата машина на защитната стена трябва да преминат през пренасочващата верига Forward, преди да продължат към истинския получател. Накрая, всеки пакет излизащ от системата(от който и да е от интерфейсите) трябва да премине през изходната верига Output, преди да може да излезе. Това означава, че целият трафик преминаващ между машина в частната мрежа(eth0) и машина в публичната мрежа(eth1) ще трябва да премине през всичките три вериги. Може да се избира между шест общи вградени цели: ACCEPT(приема пакета), REJECT(блокира пакета с потвърждение), DENY(отхвърля пакета напълно), MASQ(извършва NAT), REDIRECT(изпраща пакет до локален порт) и RETURN(прескача в края на веригата). Команди за манипулация на правила и вериги на Ipchains:
Флагове от команден ред на Ipchains за дефиниране на правила за управление на пакетите:
Пример: ipchains –A input –p 6 –i eth1 –d 192.168.1.50 80 –j ACCEPT ipchains –A input DENY - позволяваме уеб трафика само към уеб сървъра на 192.168.1.50 на порт 80 и да отказваме всичко останало.
Проектът Iptables/Netfilter(наричан просто Iptables) е неаследник на ipchains на Linux. Той се превърна във фактическия пакет за филтриране на пакети за Linux ядра от версия 2.4 нагоре. Iptables прави много неща подобно на ipchains. В Iptables идеята за вериги на защитната стена все още съществува, но веригите сега са част от логически групирания наречени таблици. Имаме три различни таблици от вериги. Първата таблица е филтриращата таблица, тя е подразбираща. Състои се от веригите INPUT, OUTPUT и FORWARD, точно както при ipchains. Но начинът, по който пакетите биват предавани на тези вериги е различен. С ipchains трафикът идващ директно в защитната стена ще попадне на входната верига, трафикът напускащ защитната стена ще попадне въ изходната верига, а трафикът предаван през защитната стена ще попадне и в трите вериги(започвайки през входната, после през пренасочващата, накрая през изходната). В Iptables трафикът преминаващ през защитната стена попада единствено във веригата FORWARD. Само трафикът, който по начало е от или за самото устройство на защитната стена ще попадне във веригите OUTPUT и INPUT. Друга важна таблиза е таблицата nat, която също се състои от три различни вериги:PREROUTING, POSTROUTING и OUTPUT. Във веригите PREROUTING и POSTROUTING попадат пакети, които за пръв път съответно влизат или напускат защитната стена. В тях попадат единствено пакети, преминаващи през защитната стена(от една мрежа в друга). Веригата OUTPUT е за пакети, които идват директно от защитната стена. Таблицата nat е предназначена за извършване на транслация на мрежовия адрес на пакети. Във веригите на тази таблица не бива да бъдат поставяни никакви филтриращи правила. Последната таблицае деформатиращата таблица. Основното приложение на деформатиращата таблица е да отбелязва пакетите в интерес за групиране, както и да променя опциите Time to Live(време за живот) и Type of Service(тип услуга). Както при ipchains, когато един пакет съвпадне с правило в iptables, той бива изпратен към цел. Възможните цели във филтриращата таблица са както следва:
В таблицата nat,, възможните цели са:
В деформатиращата таблица, целите са:
Флагове от команден ред за дефиниране на правила за съответствие на пакети на iptables са следните:
Iptables има способността да следи връзки. Модулът за следена на връзките ip_conntrack(също наричан машина на състоянието) може да следи пакетите и да ги групира във връзки и разговори. Може да следи протоколи на базата на връзки, като TCP, както и протоколи без установяване на връзка, като UDP и ICMP. Постига това, като търси отговори с подобна информация за източника и получателя и ги групира заедно. След това можете за осъществите достъп до класификацията на машината на състоянието за всеки пакет, като използвате изрично опцията за сравнение –m state, разгледана в предишната секция. Това прави iptables защитна стена със състояния, кати й дава изключително предимство пред ipchains, която е без състояния. Следващия списък разяснява някои от разширенията на –m в детайли:
Пример: iptables -A INPUT –p tcp --dport 80 –j ACCEPT –m state --state NEW - приемаме всички входящи TCP връзки на порт 80, като се възползваме от ядрото за следене на връзки и определяме само да се приемат тези, които са нови (с флаг SYN). Разгледахме само едно подмножество от предлаганите от netfilter механизми , но това подмножество е изключително полезно. Въпреки, че локалните филтри не са панацея за сигурността на системата, те формират едни от най-дебелите пластове на нашия „лук на сигурността” и си струват времето и усилията, нужни за изучаване на iptables и фино настройване на вашата политика на филтриране. |