Брандмауер (FireWall)

Матеріал з Вікі ЦДУ
Перейти до: навігація, пошук

FIREWALL

Firewall - це система або комбінація систем, що дозволяють розділити мережу на дві або більше частин і реалізувати набір правил, що визначають умови проходження пакетів з однієї частини в іншу (див. рис.1). Як правило, ця межа проводиться між локальною мережею підприємства та INTERNET, хоча її можна провести і всередині локальної мережі підприємства. Firewall таким чином пропускає через себе весь трафік. Для кожного пакету, що проходить firewall приймає рішення пропускати його або відкинути. Для того щоб firewall міг приймати ці рішення, йому необхідно визначити набір правил. Про те, як ці правила описуються і які параметри використовуються при їх описі мова піде нижче.

Pic1.jpg

Як правило, firewall функціонує на який-небудь UNIX платформі - найчастіше це BSDI, SunOS, AIX, IRIX і т.д., рідше - DOS, VMS, WNT, Windows NT. З апаратних платформ зустрічаються INTEL, Sun SPARC, RS6000, Alpha, HP PA-RISC, сімейство RISC процесорів R4400-R5000. Крім Ethernet, більшість firewall підтримують FDDI, Token Ring, 100Base-T, 100VG-AnyLan, різні серійні пристрої. Вимоги до оперативної пам'яті та обсягу жорсткого диска залежать від кількості машин, що захищається в сегменті мережі, але найчастіше рекомендується мати не менше 32Мб ОЗУ і 500 Мб на жорсткому диску.

Як правило, до операційної системи, під управлінням якої працює firewall вносяться зміни, мета яких - підвищення захисту самого firewall. Ці зміни зачіпають як ядро ОС, так і відповідні файли конфігурації. На самому firewall не дозволяється мати рахунків користувачів (а значить і потенційних дірок), лише рахунок адміністратора. Деякі firewall працюють тільки в одно-користувацькому режимі. Більшість firewall мають систему перевірки цілісності програмних кодів. При цьому контрольні суми програмних кодів зберігаються в захищеному місці і порівнюються при старті програми, щоб уникнути підміни програмного забезпечення.

Функції

Firewall може бути у вигляді окремого приладу (так званий маршрутизатор або роутер), або програмного забезпечення, що встановлюється на персональний комп'ютер чи проксі-сервер. Простий та дешевий firewall може не мати такої гнучкої системи налаштувань правил фільтрації пакетів та трансляції адрес вхідного та вихідного трафіку (функція редиректу).

В залежності від активних з'єднань, що відслідковуються, firewall розділяють на:

  • stateless (проста фільтрація), які не відслідковують поточні з'єднання (наприклад TCP), а фільтрують потік даних виключно на основі статичних правил;
  • stateful (фільтрація з урахуванням контексту), з відслідковуванням поточних з'єднань та пропуском тільки таких пакетів, що задовольняють логіці й алгоритмам роботи відповідних протоколів та програм. Такі типи firewall дозволяють ефективніше боротися з різноманітними DoS-атаками та вразливістю деяких протоколів мереж.

Типи firewall

Для того щоб задовольнити вимогам широкого кола користувачів, існує три типи firewall: мережного рівня, прикладного рівня і рівня з'єднання. Кожен з цих трьох типів використовує свій, відмінний від інших підхід до захисту мережі.

  • Firewall мережного рівня представлений екрануючим маршрутизатором. Він контролює лише дані мережевого і транспортного рівнів (див.Модель OSI) службової інформації пакетів. Мінусом таких маршрутизаторів є те, що ще п'ять рівнів залишаються неконтрольованими. Нарешті, адміністратори, які працюють з екрануючими маршрутизаторами, повинні пам'ятати, що у більшості приладів, що здійснюють фільтрацію пакетів, відсутні механізми аудиту та подачі сигналу тривоги. Іншими словами, маршрутизатори можуть піддаватися атакам і відбивати велику їх кількість, а адміністратори навіть не будуть проінформовані.
  • Firewall прикладного рівня також відомий як проксі-сервер (сервер-посередник).Фаєрволи прикладного рівня встановлюють певний фізичний поділ між локальною мережею і Internet,тому вони відповідають найвищим вимогам безпеки. Проте, оскільки програма повинна аналізувати пакети і приймати рішення щодо контролю доступу до них, фаєрволи прикладного рівня неминуче зменшують продуктивність мережі, тому в якості сервера-посередника використовуються більш швидкі комп'ютери.
  • Фаєрвол рівня з'єднання схожий на фаєрвол прикладного рівня тим, що обидва вони являються серверами-посередниками. Відмінність полягає в тому, що firewall прикладного рівня вимагають спеціального програмного забезпечення для кожної мережевої служби на зразок FTP або HTTP. Натомість, firewall рівня з’єднання обслуговують велику кількість протоколів.

Всі брандмауери можна розділити на три типи:

• пакетні фільтри (packet filter)

• сервера прикладного рівня (application gateways)

• сервера рівня з'єднання (circuit gateways)

Усі типи можуть одночасно зустрітися в одному брандмауері.

Пакетні фільтри

Firewall з пакетними фільтрами приймають рішення про те, пропускати пакет або відкинути, переглядаючи IP-адреси, прапори або номер TCP портів в заголовку цього пакету. IP-адресу та номер порту - це інформація мережевого і транспортного рівнів відповідно, але пакетні фільтри використовують і інформацію прикладного рівня, тому що всі стандартні сервіси в TCP / IP асоціюються з певним номером порту.

Для опису правил проходження пакетів складаються таблиці типу:

Дія тип пакету адреса джер. порт джер. адреса признач. порт признач. прапори

Поле "дія" може приймати значення пропустити або відкинути.

Тип пакета - TCP, UDP чи ICMP.

Прапори - прапори із заголовка IP-пакета.

Поля "порт джерела" і "порт призначення" мають сенс тільки для TCP і UDP пакетів.

Сервера прикладного рівня

Брандмауери з серверами прикладного рівня використовують сервера конкретних сервісів - TELNET, FTP і т.д. (proxy server), що запускаються на firewall і пропускають через себе весь трафік, що відноситься до даного сервісу. Таким чином, між клієнтом і сервером утворюються два з'єднання: від клієнта до firewall і від firewall до місця призначення.

Повний набір підтримуваних серверів розрізняється для кожного конкретного firewall, однак найчастіше зустрічаються сервера для наступних сервісів:

• термінали (Telnet, Rlogin)

• передача файлів (Ftp)

• електронна пошта (SMTP, POP3)

• WWW (HTTP)

• Gopher

• Wais

• X Window System (X11)

• Принтер

• Rsh

• Finger

• новини (NNTP) і т.д.

Використання серверів прикладного рівня дозволяє вирішити важливе завдання - приховати від зовнішніх користувачів структуру локальної мережі, включаючи інформацію в заголовках поштових пакетів або служби доменних імен (DNS). Іншим позитивним моментом є можливість аутентифікації на користувацькому рівні (аутентифікація - це процес підтвердження, чи справді користувач є тим, за кого він себе видає). Трохи докладніше про аутентифікацію буде сказано нижче.

При описі правил доступу використовуються такі параметри як: назва сервісу, ім'я користувача, допустимий часовий діапазон використання сервісу, комп'ютери, з яких можна користуватися сервісом, схеми аутентифікації. Сервера протоколів прикладного рівня дозволяють забезпечити найбільш високий рівень захисту - взаємодія із зовнішнім світом реалізується через невелику кількість прикладних програм, повністю контролюючих весь вхідний і вихідний трафік.

Сервера рівня з'єднання

Сервер рівня з'єднання являє собою транслятор TCP з'єднання. Користувач утворює з'єднання з певним портом на firewall, після чого останній виробляє з'єднання з місцем призначення по інший бік від firewall. Під час сеансу цей транслятор копіює байти в обох напрямках, діючи як дріт.

Як правило, пункт призначення задається заздалегідь, в той час як джерел може бути багато (з'єднання типу один - багато). Використовуючи різні порти, можна створювати різні конфігурації. Такий тип сервера дозволяє створювати транслятор для будь-якого визначеного користувачем сервісу, що базується на TCP, здійснювати контроль доступу до цього сервісу, збір статистики щодо його використання.

Порівняльні характеристики

Нижче наведені основні переваги і недоліки пакетних фільтрів і серверів прикладного рівня відносно один одного.

До позитивних якостей пакетних фільтрів слід віднести наступні:

• відносно невисока вартість

• гнучкість у визначенні правил фільтрації

• невелика затримка при проходженні пакетів

Недоліки у даного типу брандмауерів наступні:

• локальну мережу видно (маршрут) з INTERNET

• правила фільтрації пакетів важкі в описі, потрібні дуже хороші знання технологій TCP і UDP

• при порушенні працездатності брандмауера всі комп'ютери за ним стають повністю незахищеними або недоступними

• аутентифікацію з використанням IP-адреси можна обдурити використанням IP-спуфінга (атакуюча система видає себе за іншу, використовуючи її IP-адреса)

• відсутність аутентифікації на користувацькому рівні

До переваг серверів прикладного рівня слід віднести наступні:

• локальна мережа невидима з INTERNET

• при порушенні працездатності firewall пакети перестають проходити через firewall, тим самим не виникає загрози для захищеності ним машин

• захист на рівні додатків дозволяє здійснювати велику кількість додаткових перевірок, знижуючи тим самим можливість злому з використанням дір у програмному забезпеченні

• аутентифікація на призначеному для користувача рівні може бути реалізована системою негайного попередження про спробу злому.

Недоліками цього типу є:

• вища, ніж для пакетних фільтрів вартість;

• неможливість використання протоколів RPC і UDP;

• продуктивність нижче, ніж для пакетних фільтрів.

Віртуальні мережі

Ряд брандмауерів дозволяє також організовувати віртуальні корпоративні мережі (Virtual Private Network), тобто об'єднати декількох локальних мереж, включених в INTERNET в одну віртуальну мережу. VPN дозволяють організувати прозоре для користувачів підключення локальних мереж, зберігаючи секретність і цілісність інформації, що передається за допомогою шифрування. При цьому при передачі по INTERNET шифруються не тільки дані користувача, але і мережева інформація - мережеві адреси, номери портів і т.д.

Схеми підключення

Для підключення брандмауерів використовуються різні схеми. Брандмауер може використовуватися як зовнішній роутер, використовуючи підтримувані типи пристроїв для підключення до зовнішньої мережі (див. рис. 1). Іноді використовується схема, зображена на рис 2, однак нею слід користуватися тільки в крайньому випадку, оскільки потрібно дуже обережна настройка роутерів і невеликі помилки можуть утворити серйозні діри в захисті.

Pic2.jpg

Якщо брандмауер може підтримувати два інтерфейсу Ethernet (так званий dual-homed брандмауер), то найчастіше підключення здійснюється через зовнішній маршрутизатор (див рис. 3).

Pic3.jpg

При цьому між зовнішнім роутером і брандмауером є тільки один шлях, яким іде весь трафік. Зазвичай роутер налаштовується таким чином, що брандмауер є єдиною видимою зовні машиною. Ця схема є найкращою з точки зору безпеки і надійності захисту. Інша схема представлена на рис. 4.

Pic4.jpg

При цьому брандмауером захищається тільки одна під мережа з декількох вихідних з роутера. У незахищеній брандмауером області часто мають у своєму розпорядженні сервери, які повинні бути видимі зовні (WWW, FTP і т.д.). Деякі брандмауери пропонують розмістити ці сервери на цьому самому - рішенні, далеко не краще з точки зору завантаження машини та безпеки самого брандмауера

Існують рішення (див рис. 5), які дозволяють організувати для серверів, які повинні бути видимі зовні, третю мережу; це дозволяє забезпечити контроль за доступом до них, зберігаючи в той же час необхідний рівень захисту машин в основній мережі.

Pic5.jpg

При цьому досить багато уваги приділяється тому, щоб користувачі внутрішньої мережі не могли випадково чи навмисно відкрити дірку в локальну мережу через ці сервера. Для підвищення рівня захищеності можливо використовувати в одній мережі кілька брандмауерів, що стоять один за одним.

Адміністрування

Легкість адміністрування є одним з ключових аспектів у створенні ефективної і надійної системи захисту. Помилки при визначенні правил доступу можуть утворити дірку, через яку може бути зламана система. Тому в більшості брандмауерів реалізовані сервісні утиліти, що полегшують введення, видалення, перегляд списку правил. Наявність цих утиліт дозволяє також проводити перевірки на синтаксичні або логічні помилки при введенні або редагування правил. Як правило, ці утиліти дозволяють переглядати інформацію, згруповану по якимось критеріям - наприклад, все що відноситься до конкретного користувача або сервісу.

Системи збору статистики та попередження про атаку

Ще одним важливим компонентом брандмауера є система збору статистики і попередження про атаку. Інформація про всі події - відмовах, вхідних, вихідних з'єднаннях, кількість переданих байт, використовуваних сервісах, часу з'єднання і т.д. - накопичується у файлах статистики. Багато брандмауерів дозволяють гнучко визначати підлягають протоколюванню події, описати дії брандмауера при атаках або спробах несанкціонованого доступу - це може бути повідомлення на консоль, поштове послання адміністратору системи і т.д. Негайне виведення повідомлення про спробу злому на екран консолі або адміністратора може допомогти, якщо спроба виявилася успішною і атакуючий вже проник в систему. До складу багатьох брандмауерів входять генератори звітів, які слугують для обробки статистики. Вони дозволяють зібрати статистику по використанню ресурсів конкретними користувачами, з використанням сервісів, відмов, джерел, з яких проводилися спроби несанкціонованого доступу і т.д.

Аутентифікація

Аутентифікація є одним з найважливіших компонентів брандмауерів. Перш ніж користувачеві буде надано право скористатися тим чи іншим сервісом, необхідно переконатися, що він дійсно той, за кого він себе видає (передбачається, що цей сервіс для даного користувача дозволений: процес визначення, які сервіси дозволені називається авторизацією. Авторизація звичайно розглядається в контексті аутентифікації - як тільки користувач аутентифікований, для нього визначаються дозволені йому сервіси). При отриманні запиту на використання сервісу від імені будь-якого користувача, брандмауер перевіряє, який спосіб аутентифікації визначений для даного користувача і передає управління сервером аутентифікації. Після отримання позитивної відповіді від сервера аутентифікації брандмауер утворює запитуване користувачем з'єднання.

Як правило, використовується принцип, що отримав назву "що він знає" - тобто користувач знає якесь секретне слово, яке він посилає серверу аутентифікації у відповідь на його запит.

Однією зі схем аутентифікації є використання стандартних UNIX паролів. Ця схема є найбільш вразливою з точки зору безпеки - пароль може бути перехоплений і використаний іншою особою.

Найчастіше використовуються схеми з використанням одноразових паролів. Навіть будучи перехоплених, цей пароль буде марний при наступній реєстрації, а отримати такий пароль з попереднього є вкрай важким завданням. Для генерації одноразових паролів використовуються як програмні, так і апаратні генератори - останні являють собою пристрої, що вставляються в слот комп'ютера. Знання секретного слова необхідно користувачу для приведення цього пристрою в дію. Ряд брандмауерів підтримують Kerberos - одна з найбільш поширених методів аутентифікації. Деякі схеми вимагають зміни клієнтського програмного забезпечення - крок, який далеко не завжди прийнятний. Як правило, всі комерційні брандмауери підтримують декілька різних схем, дозволяючи адміністратору зробити вибір найбільш прийнятною для своїх умов.

Від чого не може захистити брандмауер?

Віруси, що поширюються електронною поштою

Віруси, що поширюються електронною поштою, вкладають до повідомлень електронної пошти. Брандмауер не може визначити вміст електронного повідомлення, тому не захищає від таких типів вірусів. Слід використовувати антивірусну програму для сканування та видалення підозрілих вкладень електронної пошти перед відкриттям. Навіть якщо на комп’ютері інстальовано антивірусну програму, не слід відкривати вкладення електронної пошти, якщо є сумніви щодо їх безпечності. Для отримання додаткових відомостей див. Уникнення вірусів в електронній пошті.

Фішингове шахрайство

Фішинг — це спосіб ошукання користувачів комп’ютерів з метою отримання приватної або фінансової інформації, наприклад, пароля банківського рахунку. Зазвичай фішингове шахрайство розпочинається з повідомлення електронної пошти, яке схоже на повідомлення від надійного джерела, однак насправді передає інформацію про користувача шахрайським веб-сайтам. Брандмауери не можуть визначити вміст електронного повідомлення, тому не захищають від таких атак. Для отримання додаткових відомостей див. Фішинговий фільтр: запитання й відповіді.


Пробеми, що виникають із-за брандмауерів

Існує ряд недоліків при їх використанні і ряд проблем, від яких брандмауери не можуть захистити. Брандмауер не є панацеєю від усіх проблем безпеки, пов'язаних з Інтернетом.

Обмеження в доступі до потрібних службам

Самим очевидним недоліком брандмауера є те, що він може блокувати ряд служб, які використовують користувачі, такі як TELNET, FTP, X Windows, NFS і ін Тим не менше, ці недоліки не властиві тільки брандмауерів; мережевий доступ також може обмежуватися при захисті на рівні хостів у відповідності з політикою безпеки. Добре продумана політика безпеки, в якій знайдено баланс між вимогами безпеки і потребами користувачів, може сильно допомогти при вирішенні проблем через обмеження в доступі до служб.

Деякі мережі можуть мати топологію, яка не дозволяє застосувати брандмауер, або використовувати служби, такі як NFS, таким чином, що використання брандмауера зажадає серйозних обмежень при роботі в мережі. Наприклад, в мережі може вимагатися використання NFS та NIS через основні маршрутизатори. У такій ситуації вартість установки брандмауера потрібно порівняти із шкодою, який понесе організація від атаки, що використовує уразливі місця, що захищаються брандмауером, тобто провести аналіз ризику, а потім прийняти рішення на підставі його результатів. Можуть виявитися більш доречними інші рішення, такі як Керберос, але ці рішення також мають свої недоліки. [NIST94c] містить додаткову інформацію про Керберос та інших потенційних рішеннях.

Bелика кількість залишених вразливих місць

По-друге, брандмауери не захищають від чорних входів (люків) у мережі. Наприклад, якщо можна здійснити необмежений доступ по модему в мережу, захищену брандмауером, атакуючі можуть ефективно обійти брандмауер [Iiaf91]. Зараз швидкості модемів достатні для того, щоб зробити можливим використання SLIP (Serial Line IP) і PPP (Point-to-Point Protocol); SLIP чи PPP-з'єднання всередині захищеної мережі по суті є ще одним з'єднанням з мережею і потенційним вразливим місцем. Навіщо потрібен брандмауер, якщо дозволений необмежений доступ по модему?

Погана захист від атак своїх співробітників

Брандмауери зазвичай не забезпечують захисту від внутрішніх загроз. Хоча брандмауер може захищати від отримання сторонніми особами критичних даних, він не захищає від копіювання своїми співробітниками даних на стрічку або дискету і виносу її за межі мережі. Тому, було б помилкою думати, що наявність брандмауера захищає від атак зсередини або атак, для захисту від яких потрібен не брандмауер. Напевно, не варто вкладати значні ресурси в брандмауер, якщо є інші способи вкрасти дані.

Спеціалізовані пристрої

Персональні фаєрволи

Програмне забезпечення