Брандмауер (FireWall)
Зміст
Брандмауер
Брандмауер - це система або комбінація систем, що дозволяють розділити мережу на дві або більше частин і реалізувати набір правил, що визначають умови проходження пакетів з однієї частини в іншу (див. рис.1). Як правило, ця межа проводиться між локальною мережею підприємства та INTERNET, хоча її можна провести і всередині локальної мережі підприємства. Брандмауер таким чином пропускає через себе весь трафік. Для кожного пакету, що проходить брандмауер приймає рішення пропускати його або відкинути. Для того щоб брандмауер міг приймати ці рішення, йому необхідно визначити набір правил. Про те, як ці правила описуються і які параметри використовуються при їх описі мова піде нижче.
Як правило, брандмауери функціонують на який-небудь UNIX платформі - найчастіше це BSDI, SunOS, AIX, IRIX і т.д., рідше - DOS, VMS, WNT, Windows NT. З апаратних платформ зустрічаються INTEL, Sun SPARC, RS6000, Alpha, HP PA-RISC, сімейство RISC процесорів R4400-R5000. Крім Ethernet, багато брандмауерів підтримують FDDI, Token Ring, 100Base-T, 100VG-AnyLan, різні серійні пристрої. Вимоги до оперативної пам'яті та обсягу жорсткого диска залежать від кількості машин, що захищаєть сегменті мережі, але найчастіше рекомендується мати не менше 32Мб ОЗУ і 500 Мб на жорсткому диску.
Як правило, до операційної системи, під управлінням якої працює брандмауер вносяться зміни, мета яких - підвищення захисту самого брандмауера. Ці зміни зачіпають як ядро ОС, так і відповідні файли конфігурації. На самому брандмауері не дозволяється мати рахунків користувачів (а значить і потенційних дірок), лише рахунок адміністратора. Деякі брандмауери працюють тільки в одно-користувацькому режимі. Багато брандмауерів мають систему перевірки цілісності програмних кодів. При цьому контрольні суми програмних кодів зберігаються в захищеному місці і порівнюються при старті програми, щоб уникнути підміни програмного забезпечення.
Всі брандмауери можна розділити на три типи:
• пакетні фільтри (packet filter)
• сервера прикладного рівня (application gateways)
• сервера рівня з'єднання (circuit gateways)
Усі типи можуть одночасно зустрітися в одному брандмауері.
Пакетні фільтри
Брандмауери з пакетними фільтрами приймають рішення про те, пропускати пакет або відкинути, переглядаючи IP-адреси, прапори або номер TCP портів в заголовку цього пакету. IP-адресу та номер порту - це інформація мережевого і транспортного рівнів відповідно, але пакетні фільтри використовують і інформацію прикладного рівня, тому що всі стандартні сервіси в TCP / IP асоціюються з певним номером порту.
Для опису правил проходження пакетів складаються таблиці типу:
Дія | тип пакету | адреса джер. | порт джер. | адреса признач. | порт признач. | прапори |
Поле "дія" може приймати значення пропустити або відкинути.
Тип пакета - TCP, UDP чи ICMP.
Прапори - прапори із заголовка IP-пакета.
Поля "порт джерела" і "порт призначення" мають сенс тільки для TCP і UDP пакетів.
Сервера прикладного рівня
Брандмауери з серверами прикладного рівня використовують сервера конкретних сервісів - TELNET, FTP і т.д. (proxy server), що запускаються на брандмауері і пропускають через себе весь трафік, що відноситься до даного сервісу. Таким чином, між клієнтом і сервером утворюються два з'єднання: від клієнта до брандмауера і від брандмауера до місця призначення.
Повний набір підтримуваних серверів розрізняється для кожного конкретного брандмауера, однак найчастіше зустрічаються сервера для наступних сервісів:
• термінали (Telnet, Rlogin)
• передача файлів (Ftp)
• електронна пошта (SMTP, POP3)
• WWW (HTTP)
• Gopher
• Wais
• X Window System (X11)
• Принтер
• Rsh
• Finger
• новини (NNTP) і т.д.
Використання серверів прикладного рівня дозволяє вирішити важливе завдання - приховати від зовнішніх користувачів структуру локальної мережі, включаючи інформацію в заголовках поштових пакетів або служби доменних імен (DNS). Іншим позитивним моментом є можливість аутентифікації на користувацькому рівні (аутентифікація - процес підтвердження ідентичності якому-небудь в даному випадку це процес підтвердження, чи справді користувач є тим, за кого він себе видає). Трохи докладніше про аутентифікацію буде сказано нижче.
При описі правил доступу використовуються такі параметри як: назва сервісу, ім'я користувача, допустимий часовий діапазон використання сервісу, комп'ютери, з яких можна користуватися сервісом, схеми аутентифікації. Сервера протоколів прикладного рівня дозволяють забезпечити найбільш високий рівень захисту - взаємодія із зовнішнім світом реалізується через невелику кількість прикладних програм, повністю контролюючих весь вхідний і вихідний трафік.
Сервера рівня з'єднання
Сервер рівня з'єднання являє собою транслятор TCP з'єднання. Користувач утворює з'єднання з певним портом на брандмауері, після чого останній виробляє з'єднання з місцем призначення по інший бік від брандмауера. Під час сеансу цей транслятор копіює байти в обох напрямках, діючи як дріт.
Як правило, пункт призначення задається заздалегідь, в той час як джерел може бути багато (з'єднання типу один - багато). Використовуючи різні порти, можна створювати різні конфігурації. Такий тип сервера дозволяє створювати транслятор для будь-якого визначеного користувачем сервісу, що базується на TCP, здійснювати контроль доступу до цього сервісу, збір статистики щодо його використання.
Порівняльні характеристики
Нижче наведені основні переваги і недоліки пакетних фільтрів і серверів прикладного рівня відносно один одного.
До позитивних якостей пакетних фільтрів слід віднести наступні:
• відносно невисока вартість
• гнучкість у визначенні правил фільтрації
• невелика затримка при проходженні пакетів
Недоліки у даного типу брандмауерів наступні:
• локальну мережу видно (маршрут) з INTERNET
• правила фільтрації пакетів важкі в описі, потрібні дуже хороші знання технологій TCP і UDP
• при порушенні працездатності брандмауера всі комп'ютери за ним стають повністю незахищеними або недоступними
• аутентифікацію з використанням IP-адреси можна обдурити використанням IP-спуфінга (атакуюча система видає себе за іншу, використовуючи її IP-адреса)
• відсутність аутентифікації на користувацькому рівні
До переваг серверів прикладного рівня слід віднести наступні:
• локальна мережа невидима з INTERNET
• при порушенні працездатності брандмауера пакети перестають проходити через брандмауер, тим самим не виникає загрози для захищеності ним машин
• захист на рівні додатків дозволяє здійснювати велику кількість додаткових перевірок, знижуючи тим самим можливість злому з використанням дір у програмному забезпеченні
• аутентифікація на призначеному для користувача рівні може бути реалізована системою негайного попередження про спробу злому.
Недоліками цього типу є:
• вища, ніж для пакетних фільтрів вартість;
• неможливість використання протоколів RPC і UDP;
• продуктивність нижче, ніж для пакетних фільтрів.
Віртуальні мережі
Ряд брандмауерів дозволяє також організовувати віртуальні корпоративні мережі (Virtual Private Network), тобто об'єднати декількох локальних мереж, включених в INTERNET в одну віртуальну мережу. VPN дозволяють організувати прозоре для користувачів підключення локальних мереж, зберігаючи секретність і цілісність інформації, що передається за допомогою шифрування. При цьому при передачі по INTERNET шифруються не тільки дані користувача, але і мережева інформація - мережеві адреси, номери портів і т.д.
Схеми підключення
Для підключення брандмауерів використовуються різні схеми. Брандмауер може використовуватися як зовнішній роутер, використовуючи підтримувані типи пристроїв для підключення до зовнішньої мережі (див. рис. 1). Іноді використовується схема, зображена на рис 2, однак нею слід користуватися тільки в крайньому випадку, оскільки потрібно дуже обережна настройка роутерів і невеликі помилки можуть утворити серйозні діри в захисті.
Якщо брандмауер може підтримувати два інтерфейсу Ethernet (так званий dual-homed брандмауер), то найчастіше підключення здійснюється через зовнішній маршрутизатор (див рис. 3).
При цьому між зовнішнім роутером і брандмауером є тільки один шлях, яким іде весь трафік. Зазвичай роутер налаштовується таким чином, що брандмауер є єдиною видимою зовні машиною. Ця схема є найкращою з точки зору безпеки і надійності захисту. Інша схема представлена на рис. 4.
При цьому брандмауером захищається тільки одна під мережа з декількох вихідних з роутера. У незахищеній брандмауером області часто мають у своєму розпорядженні сервери, які повинні бути видимі зовні (WWW, FTP і т.д.). Деякі брандмауери пропонують розмістити ці сервери на цьому самому - рішенні, далеко не краще з точки зору завантаження машини та безпеки самого брандмауера
Існують рішення (див рис. 5), які дозволяють організувати для серверів, які повинні бути видимі зовні, третю мережу; це дозволяє забезпечити контроль за доступом до них, зберігаючи в той же час необхідний рівень захисту машин в основній мережі.
При цьому досить багато уваги приділяється тому, щоб користувачі внутрішньої мережі не могли випадково чи навмисно відкрити дірку в локальну мережу через ці сервера. Для підвищення рівня захищеності можливо використовувати в одній мережі кілька брандмауерів, що стоять один за одним.
Адміністрування
Легкість адміністрування є одним з ключових аспектів у створенні ефективної і надійної системи захисту. Помилки при визначенні правил доступу можуть утворити дірку, через яку може бути зламана система. Тому в більшості брандмауерів реалізовані сервісні утиліти, що полегшують введення, видалення, перегляд списку правил. Наявність цих утиліт дозволяє також проводити перевірки на синтаксичні або логічні помилки при введенні або редагування правил. Як правило, ці утиліти дозволяють переглядати інформацію, згруповану по якимось критеріям - наприклад, все що відноситься до конкретного користувача або сервісу.
Системи збору статистики та попередження про атаку
Ще одним важливим компонентом брандмауера є система збору статистики і попередження про атаку. Інформація про всі події - відмовах, вхідних, вихідних з'єднаннях, кількість переданих байт, використовуваних сервісах, часу з'єднання і т.д. - накопичується у файлах статистики. Багато брандмауерів дозволяють гнучко визначати підлягають протоколюванню події, описати дії брандмауера при атаках або спробах несанкціонованого доступу - це може бути повідомлення на консоль, поштове послання адміністратору системи і т.д. Негайне виведення повідомлення про спробу злому на екран консолі або адміністратора може допомогти, якщо спроба виявилася успішною і атакуючий вже проник в систему. До складу багатьох брандмауерів входять генератори звітів, які слугують для обробки статистики. Вони дозволяють зібрати статистику по використанню ресурсів конкретними користувачами, з використанням сервісів, відмов, джерел, з яких проводилися спроби несанкціонованого доступу і т.д.
Аутентифікація
Аутентифікація є одним з найважливіших компонентів брандмауерів. Перш ніж користувачеві буде надано право скористатися тим чи іншим сервісом, необхідно переконатися, що він дійсно той, за кого він себе видає (передбачається, що цей сервіс для даного користувача дозволений: процес визначення, які сервіси дозволені називається авторизацією. Авторизація звичайно розглядається в контексті аутентифікації - як тільки користувач аутентифікований, для нього визначаються дозволені йому сервіси). При отриманні запиту на використання сервісу від імені будь-якого користувача, брандмауер перевіряє, який спосіб аутентифікації визначений для даного користувача і передає управління сервером аутентифікації. Після отримання позитивної відповіді від сервера аутентифікації брандмауер утворює запитуване користувачем з'єднання.
Як правило, використовується принцип, що отримав назву "що він знає" - тобто користувач знає якесь секретне слово, яке він посилає серверу аутентифікації у відповідь на його запит.
Однією зі схем аутентифікації є використання стандартних UNIX паролів. Ця схема є найбільш вразливою з точки зору безпеки - пароль може бути перехоплений і використаний іншою особою.
Найчастіше використовуються схеми з використанням одноразових паролів. Навіть будучи перехоплених, цей пароль буде марний при наступній реєстрації, а отримати такий пароль з попереднього є вкрай важким завданням. Для генерації одноразових паролів використовуються як програмні, так і апаратні генератори - останні являють собою пристрої, що вставляються в слот комп'ютера. Знання секретного слова необхідно користувачу для приведення цього пристрою в дію. Ряд брандмауерів підтримують Kerberos - одна з найбільш поширених методів аутентифікації. Деякі схеми вимагають зміни клієнтського програмного забезпечення - крок, який далеко не завжди прийнятний. Як правило, всі комерційні брандмауери підтримують декілька різних схем, дозволяючи адміністратору зробити вибір найбільш прийнятною для своїх умов.
--Чайка Едуард 21:43, 20 грудня 2009 (UTC) --Чайка Едуард 12:07, 3 січня 2010 (UTC)