Защитна стена

от Уикипедия, свободната енциклопедия
Диаграма на защитна стена

Защитната стена (на английски: firewall), срещано и като файъруол в компютърните мрежи е специализиран хардуер или софтуер, който проверява мрежовия трафик, преминаващ през него и разрешава или забранява достъпа по определени правила.

Буквалният превод на английския термин е „огнена стена“, който е лишен от смисъл в конкретния случай.

Първоначалното значение на думата идва от американските строителни норми, предписващи поставянето в сградите на пожарозащитни стени (устойчиви на огън стени), които да спират разпространението на пожари в сградата.

Реализирани са защитни стени, работещи на различни нива от OSI модела, като най-високото е приложният слой (application layer), а най-ниското – каналният слой (datalink layer) от OSI модела. Най-често защитните стени работят на нивото на мрежовия и транспортния слоеве (network layer, transport layer), където изследват пакетите данни на TCP/IP протоколите и обикновено взимат решенията си в зависимост от IP адреса на изпращача или дестинацията, порта, от който пакетът е получен или на който ще се изпрати, или всяка комбинация от тези параметри. Гледат се също така и опциите в заглавната част на пакета. Защитните стени, които работят на приложния слой от OSI модела, филтрират трафика между вътрешната и външната мрежи по отношение на пренасяната в пакетите информация, чрез зададени ключови думи и като следят за спам, компютърни вируси и троянски коне.

Дефиниции на защитна стена[редактиране | редактиране на кода]

Класически дефиниции[редактиране | редактиране на кода]

  • Следната дефиниция за защитна стена е дадена в Oxford Dictionary of Computing:[1] „система, проектирана да контролира преминаването на информация от една мрежа във втора мрежа. Типично защитната стена се използва като средство за ограничаване на риска от нежелан достъп до чувствителни системи, които се съдържат в добре регулирана мрежа, свързана към някоя по-голяма и по-слабо регулирана мрежа.“
  • В Интернет енциклопедията Webopedia[2] определението на защитна стена звучи по следния начин: „система, проектирана да предотврати неоторизиран достъп до или от частна мрежа. Защитните стени има хардуерни и софтуерни имплементации или комбинация от двете... Защитната стена се счита първата линия на отбрана в защитата на личната информация. За по-голяма сигурност данните могат да се криптират.“
  • Друга дефиниция, предоставена от 3com,[3] гласи: „Защитната стена е система, която налага контролна политика на достъпа между две мрежи (…) Защитната стена определя кои вътрешни услуги могат да са достъпни отвън, и обратно. Широко варират средствата, с които тези ограничения се постигат, но принципно защитните стени могат да се разглеждат като двойка механизми: единият блокира трафика, а другият го разрешава.“

Всички тези дефиниции взаимно се допълват и разкриват различните аспекти на понятието защитна стена. Всички те започват с единодушното ѝ определяне като система. Освен това и при трите определения се твърди, че защитните стени служат, за да се предпазят добре регулираните вътрешни/локални/частни мрежи от неоторизиран достъп от слабо регулираната (по правилата на вътрешната мрежа) външна/глобална/обществена мрежа. Споменава се обаче и нерегламентираният достъп вътре от мрежата към ресурси отвън. Тоест защитната стена предпазва не само от изтичане на информация навън и от нежелано навлизане на вредна информация (всякакви вируси, троянски коне и спам), но и може да предпазва от достъп до безвредна от тази гледна точка външна информация и услуги (определени сайтове, електронна поща, музика, игри, филми и пр.). Причините за това ограничение на достъпа могат да са разнообразни: по този начин родител може да ограничи детето си от сайтове с порнографско съдържание, а работодател да ограничи служителите си от ползване на фирмени ресурси за лични нужди.

Точно каква информация ще бъде поставена под контрол е въпрос на политиката на защитната стена. Тази политика се реализира посредством налагането на правила за достъп.

Осъвременени дефиниции[редактиране | редактиране на кода]

В горните трябва да се добави и: „достъпът от и към отделен компютър през мрежите, към които е свързан“.

Този тип защитна стена, за отделен компютър, e най-разпространен. Оказа се, че Windows 9x в повечето случаи може да работи без защитна стена, като само му се направят съответните настройки. Линукс също. За Windows 2000 и Windows XP това не е така, те са лошо проектирани. Важни техни функции като Desktop компютри имат връзка с тяхното мрежово поведение. Тоест, безопасната по отношение на мрежата настройка ги прави непълно функционални за Desktop работа или игри. А като се настроят да работят пълнофункционално, се активират и мрежови компоненти, които се налага да се запушват със защитна стена.

Тези защитни стени са програми, които работят на съответния компютър.

При компютрите Епъл Макинтош с операционна система Mac OS X, по подразбиране, всички комуникационни портове са затворени, благодарение на вградена защитна стена. Това са портовете за FTP access, remote login, personal web sharing, Windows file sharing, personal file sharing, remote Apple events and printer sharing и портовете за комуникация.

Защитната стена при Mac OS X може да бъде контролирана през панела за системните настройки на операционната система. Благодарение на защитната стена компютърът е защитен от неавторизиран достъп, целият входящ трафик е под наблюдение, а всички връзки са блокирани, с изключение на изрично разрешените в системните настройки.

Функции на защитната стена[редактиране | редактиране на кода]

Фигуративно казано, защитната стена представлява „граничен контролен пункт“ за желаещите да преминат пакети. Целият трафик се осъществява през този пункт, който има за задача да пропуска само което е безопасно. При настройка на защитата има два генерални подхода:

  1. пропускат се всички данни и услуги с изключение на изрично забранените,
  2. забраняват се всички данни и услуги с изключение на специално разрешените.[4]

Основни функционалности[редактиране | редактиране на кода]

Три са основните функции на защитната стена:

  • да блокира данните, за които има вероятност да прикриват хакерски атаки,
  • да скрива информация за мрежата, като за изходящия трафик маскира IP адреса на мрежата с IP адреса на защитната стена,
  • да води дневници (logs) за информационния поток със записи на определени събития.

Блокиране на данни[редактиране | редактиране на кода]

Данните се блокират тогава, когато не отговарят на правилата за сигурност, зададени от администратора на мрежата. Например, ако от определен източник са регистрирани опити за хакерски атаки или flooding, администраторът задава правило за отхвърляне на всички пакети с IP адреса на този източник. Много често за подобно филтриране не е необходим допълнителен софтуер, а е възможно то да се извърши и от маршрутизатора (всички съвременни маршрутизатори имат такава функционалност). Освен входящите данни могат да се блокират и изходящите. По този начин се защитава останалият свят от локалната мрежа и могат да се забранят някои потенциално опасни услуги и действия от даден хост Също евентуално проникнал Троянски кон няма как да се свърже със стопанина си. Блокирането на данни е в основата на втория генерален подход за реализация на защитните стени. Така по подразбиране се отхвърлят непознатите протоколи и се осъществява по-силен контрол на трафика.

Скриване на информация за мрежата[редактиране | редактиране на кода]

Замяната на адресната информация осигурява анонимност на защитаваната мрежа. Така се прикриват вътрешните мрежови характеристики от външната мрежа.[5] Най-често се скриват DNS, FINGER и други протоколи. Чрез тях би могла да бъде получена вътрешно мрежова информация, чрез която по-нататъшното проникване в мрежата ще бъде максимално улеснено.

Документиране на входния поток[редактиране | редактиране на кода]

В логовете на защитната стена обикновено се пази подробна информация за допуснатите и отхвърлените от стената пакети, като например мрежовите адреси на източника на пакета и дестинацията, номерата на портовете на източника и дестинацията, типа протокол, и други. На базата на тази информация може да се прави одит на причините за възникване на дадено събитие.[4]

Допълнителни функционалности[редактиране | редактиране на кода]

Освен основните си функционалности, защитната стена между мрежи има и допълнителни възможности:

  • филтриране на съдържанието (content filtering),
  • преобразуване на мрежови адреси и номера на портове (network address translation, port address translation),
  • балансиране на натоварването (bandwidth shaping, QoS),
  • откриване на пробиви в системата (intrusion detection).

Филтриране на съдържанието[редактиране | редактиране на кода]

Когато се налага ограничение за достъп от вътрешни хостове до определени данни и услуги от външната мрежа, то може да бъде реализирано, като се филтрира съдържанието на заявките по адрес или по ключови думи. Обикновено се блокира достъпът до сайтове с пиратско, понякога и .exe ... и пр. При тази функционалност на защитните стени списъкът със забранени (banned) сайтове трябва регулярно да се обновява. При филтрирането на съдържанието може да се избегне досадното или зловредно съдържание на pop-up рекламите, спама по електронна поща, Java аплети, ActiveX програми, троянски коне, вируси и др.[6]

Защитната стена и преобразуване на мрежови адреси[редактиране | редактиране на кода]

Защитната стена се използва като инструмент за използването на NAT технологията. Обявяването само на мрежовите адреси на защитната стена носи значително по-малък риск, понеже стената е специализирана и силно защитена система, достъпна за конфигуриране само от системния администратор, която концентрира контрола върху достъпа до хостовете от мрежата.

Преобразуването на номерата на портовете (port address translation, PAT) е сходно с NAT. При него във всички пакети от изходящия трафик реалният номер на порта е заменен с друг номер. Идеята е да се елиминират външните атаки, извършвани по определен номер на порт. PAT е наложително и когато множество защитавани хостове използват като клиенти един и същ външен мрежов адрес на защитната стена – в този случай PAT се използва освен за защита, но и за идентификация на връзките между многото хостове и външния сървър.

Откриване на пробиви в системата[редактиране | редактиране на кода]

Защитните стени придобиват тази допълнителна функционалност когато в тях се интегрира система за откриване на пробивите (intrusion detection system, IDS). Тази система сканира съдържанието на всички преминаващи през стената данни и е способна да проследява хакерските атаки в развитие. Съвременните IDS типично се състоят от множество monitoring станции, свързани към централни сървъри, които анализират данните. Например, ако атакуващият сондира защитната стена за слаби места през една връзка, а се опитва да ги експлоатира през друга връзка, има много голяма вероятност IDS да разкрие източника на атаката.[7] Недостатъкът на IDS е, че за изпълнението му са необходими повече ресурси.

Устойчивост на срив[редактиране | редактиране на кода]

Често наричани high-availability, усъвършенстваните средства за устойчивост на срив позволяват защитните стени да работят по двойки, като второто устройство стои в готовност да поеме работата на титулярното, ако настъпи срив и то престане да функционира. Някои от съвременните защитни стени, които поддържат този и други механизми за устойчивост на срив, са реализирани в Cisco PIX или Nokia/Checkpoint.[8]

Политики на защитните стени[редактиране | редактиране на кода]

Понякога вместо по-академичното „политики“ се казва просто „настройки“.

Преди да бъде изградена защитата, трябва да се артикулира и политиката на тази защита. Тази политика обикновено представлява документ, който специфицира правата на достъп и ползване на ресурсите на глобалната мрежа за всеки от хостовете в мрежата. Политиката на защитната стена е съобразена както с характера на мрежата и външните услуги, които са ѝ необходими, така и с вътрешните ресурси, които могат да представлява интерес за външни потребители (а много често тези ресурси са и основният обект на хакерски действия).

Политиката на защитната стена определя коя част от трафика, преминаващ през стената, ще бъде пропусната и коя част ще бъде блокирана и отхвърлена. Политиката на защитната стена се състои от две независими политики: политиката на достъпа „отвън навътре“ (inbound access policy) и политиката на достъпа „отвътре навън“ (outbound access policy).

Политиката на защитната стена трябва да отговори на следните въпроси:

  • Каква информация трябва да бъде достъпна за всички вътрешни потребители?
  • Каква информация трябва да бъде достъпна за всички отдалечени потребители?
  • Кои външни ресурси трябва да бъдат достъпни за вътрешните потребители?
  • На какви правила трябва да се подчинява използването на електронната поща?
  • Какви правила трябва да се спазват за уеб-достъп?

Достъп отвън навътре[редактиране | редактиране на кода]

Когато целият Интернет трафик произлиза от локална мрежа, политиката на достъпа „отвън навътре“ е доста проста. Целият входящ трафик, който не представлява отговор на заявка от локалната мрежа, се блокира. Чрез използването на NAT адресите на хостовете в мрежата не се разкриват пред външния свят, което изключително затруднява пробива им.

Ако обаче към някои ресурси в локална мрежа, трябва да има достъп отвън, трябва да определим критерии за филтриране на този достъп. Колкото по-строги са тези критерии, толкова по-високо гарантирана е сигурността на мрежата. В идеалния случай, адресите на външните хостове с право на достъп до локалната мрежа са известни и входящият трафик от другите адреси се блокира. Други критерии са базирани на данните в TCP-хедъра на пакета, например могат да бъдат позволени само пакетите с порт на получателя 80 – пакети за уеб-сървъра.

Когато филтрирането по адрес и протокол не е достатъчно, трябва да се направи по-обстоен модел на правилата, който се реализира от по-сложни защитни стени като защитната стена с пакетно филтриране и състояние или многослойната защитна стена.[9]

Достъп отвътре навън[редактиране | редактиране на кода]

Тази политика определя какъв вид информация може да напуска локалната мрежа, както и заявките към какъв тип информация следват да бъдат удовлетворени. Също така определя кой от хостовете и за какви цели е може да използва Интернет. Например, уеб-достъпът може да е позволен на всички хостове, но FTP-достъпът да е позволен само на някои. Тази политика може да има и времеви параметри: например в една фирма mp3-файлове да могат да се свалят след 18:00, когато свърши работното време.[9]

Видове защитни стени[редактиране | редактиране на кода]

Съществуват 3 основни вида защитни стени – филтриращи маршрутизатори (filtering routers), поддържащи връзката пакетни филтри (stateful packet filters), и приложни шлюзове (application gateways). Повечето защитни стени прилагат съчетания от гореспоменатите видове.

  • Филтриращите маршрутизатори (англ. filtering routers)разглеждата всеки пакет отделно – т.е. не обръщат внимание на пакета като част от установена вече връзка.
  • поддържащи връзката пакетни филтри (stateful packet filters), както подстказва името им разглеждат всеки един пакет като част от вече установената връзка
  • приложни шлюзове или проксита (англ. application gateways или application proxies) – програми, намиращи се между крайния потребител и публичната мрежа – т.е. шлюзовете изпълняват методите вместо крайните потребители, защитавайки ги така от външни опасности. Тези приложения имат силни защитни свойства понеже крайните потребители никога не комуникират директно с хостове в Интернет

Вижте също[редактиране | редактиране на кода]

Източници[редактиране | редактиране на кода]

  1. Oxford Dictionary of Computing, Oxford University Press, Oxford, 4th edition, 1996
  2. Webopedia: Firewall
  3. Network Security: A Simple Guide to Firewalls, 3COM Corporation
  4. а б Брайян Комър, „TCP/IP – Мрежи и администриране“, Издателство „Инфодар“, София, 1999
  5. Кирил Боянов, Христо Турлаков, Димитър Тодоров, Любен Боянов, Владимир Димитров, Ведрин Желязков, „Принципи на работа на компютърните мрежи. Интернет“, Апиинфоцентър „Котларски“, София, 2003
  6. “Firewalls: a technical overview”
  7. Firewalls – overview, add-ons and alternatives, Kurt Seifried[неработеща препратка]
  8. „Максимална защита“, Книга 1, Издателство „Инфодар“, София, 2002
  9. а б What is a firewall?, архив на оригинала от 22 януари 2009, https://web.archive.org/web/20090122141729/http://www2.rad.com/networks/2001/firewall/index.htm, посетен на 2006-11-16 

Външни препратки[редактиране | редактиране на кода]