Тестування файрвола, Локальні мережі, статті

Lance Spitzner(c)

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

C чого почати

Дана стаття може допомогти вам у двох ситуаціях. Перша: ви хочете отримати точне уявлення про можливості файрвола з відповідними поясненнями. Друга: вам необхідно оцінити ступінь безпеки вашої мережі.
Ми не розглядаємо кінцеву мету аудиту як проникнення в підмережа, яку прикриває файрвол. Це тема для іншої розмови. Також ми не збираємося обговорювати, які firewall `и краще або гірше. У кожного з них є свої переваги і недоліки. Наша задача – не вибрати по якимось критеріям кращий firewall, а правильно налаштувати вже наявний.

Виправдання очікувань

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

Методика

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

Файрволл

Перше, переконайтеся в безпеці файрвола в плані фізичного доступу до нього сторонніх осіб. Якщо з цим проблеми, то все решта праця марна. Наступне, що використовується ОС, сама по собі, має бути достатньо грамотно налаштована в плані безпеки.
Щоб перевірити це, треба звернутися до armoring checklist. Наступний крок – сканування портів файрвола, як з боку внутрішньої мережі, так і з боку Internet (icmp, udp, tcp) для визначення відкритих портів. Більшість правильно сконфігурованих файрволов НЕ іемют відкритих портів. Більше того, вони ігнорують ICMP-пакети, що приходять із зовнішньої мережі.
Працювати має лише кілька служб. Без крайньої необхідності порти не повинні відкриватися. Можливо, багато хто з користувачів CheckPoint FireWall-1 будуть неприємно здивовані, коли виявлять в результаті сканування декілька відкритих портів – 256, 257, 258.
Ці порти відкриті за замовчуванням для адміністрування (control properties) Я настійно рекомендую їх закрити разом з ICMP, який також відкрито за замовчуванням. Якщо залишити ICMP відкритим, то ваша мережа може бути легко просканувала з Internet. Якщо вам все ж небхідно ці служби, то задайте відповідне правило обмеження для діапазону IP-адрес, з яких до них можна приєднуватися. Основна ідея забезпечення безпеки файрвола полягає в тому, щоб залишити доступними лише найнеобхідніші служби.
Необхідно керуватися правилом: заборонено все, що не дозволено, а не правилом – дозволено все, що не заборонено. Тому база правил повинна починатися з правила, що забороняє будь-трафік (lock down rule), вхідний і вихідний. Інші правила повинні йти за цим основним. Багато хто помилково вважає, що це правило використовується, щоб приховати присутність файрвола. Насправді його мета – забезпечення додаткового захисту.
Наприклад, якщо в демонстраційній базі правил першим поставити правило # 3, то файрвол буде пропускати трафік, що генерується будь-яким користувачем із внутрішньої підмережі. Правило lockdown, поставлене першим, захистить від цього. Основна мета перевірки скануванням полягає в тому, щоб переконатися, що ви випадково не залишили файрвол відкритим для неавторизованого доступу.

База правил

Основна мета при перевірці бази правил – переконатися в тому, що її настройках немає неприємних сюрпризів: вона працює так, як ви цього від неї очікуєте. Тут необхідно просканувати кожен сегмент цієї мережі на предмет того, які пакунки можуть проходити через файрвол і які – ні. В результаті ви повинні переконатися, що файрвол дійсно пропускає тільки той трафік, який ви дозволяєте.
Багато файрволи налаштовані для роботи з декількома мережевими сегментами. Тому переконайтеся в правильності налаштування наявної бази правил, провівши сканування з усіх цих сегментів. Це змоделює потенційну ситуацію, коли в одному із сегментів проізел несанкціонований доступ (наприклад, через DNS або web). Чи будуть в цьому випадку захищені файрволом інші сегменти мережі.
Таке сканування може зайняти відносно багато часу через большго time-out періоду. Багато файрвли сконфігуровані так, щоб забороняти (відкидати пакети) без відповідного відповіді (тобто без посилки RST пакета або помилки ICMP).

Аутентифікація й шифрування

Є ще нкоторие речі, які необхдімих піддати тестуванню. Файрволи проводять аутентифікацію користувачів перш, ніж відкривають доступ до ресурсу.
В FW-1 для цього є кілька різних опцій, які треба перевірити. Наприклад, перевірка повноважень користувача перед доступом до web-сайту. Спробуйте звернутися до web-ресурсу, не проходячи аутентифікацію, і подивіться, що з цього вийде. При розробці бази правил дуже легко зробити помилку. Далі, перевірте аналогічним чином шифрування. Якщо у вас є ресурси, доступ до яких має здійснюватися з використанням шифрування, перевірте, що воно застосовується. Спробуйте звернутися до них, не використовуючи його. Отримали ви доступ? У час виконання тестів запустіть сніфер типу snoop або tcpdump і подивіться, застосовувалося чи до даних шифрування.

Додаткові служби

В даний час функції файрволов типу FW-1 можуть розширяться за допомогою інтеграції їх з ПО сторонніх виробників. Наприклад, для перевірки e-mail на наявність вірусів і для фільтрації контента web. Відповідно, необхідно протестувати, як це ПО виконує свої функції (наприклад, пошліть лист, що містить будь-якої з останніх поштових черв’яків).

Більше глибокий аналіз

Після ідентифікації доступних рксурсов, можна продовжити копати глибше. Визначивши, що файрвол не фільтрує якийсь тип трафіку, ви, можливо, задумаєтеся, яку загрозу безпеки це може потенційно представляти. На даному етапі подальша стратегія (тактика) аудиту стає дещо туманною. Кордон між аудитом файрвола і всієї мережі можна провести тільки з деякою точністю, оскільки всі взаємопов’язане. Тим не менш, деяка інформація з тестування не тільки самого firewall, а й підмережі, яку він прикриває, буде корисно.
Нашою метою тепер є визначення потенційних вразливостей в доступних ресурсах. Наведемо для прикладу лише деякі служби, через які порушення безпеки відбувається найбільш часто (потенційний зломщик перевірить їх першими): http сервера IIS, які необхідно перевірити, тому що вони дають велику кількість потенційних вразливостей, wu-ftp 2.4.2 VR17 і т.д. Найбільш надійну і грунтовну перевірку наявність вразливостей в конкретній службі можна здійснити, використовуючи відповідну базу bugtraq.
Я настійно рекомендую зробити вибірку в ній по кожному доступному сервісу. Для більш поверхневою, але більш швидкої перевірки можна використовувати різні утиліти (рекомендований мною список наводиться нижче).

Ведення логів

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

Утиліти аудиту

У першу чергу, для тестування бази правил і загальних налаштувань файрвола, необхідний сканер портів.
Найкращим чином це завдання вирішує, на мій погляд, nmap від Fyodor’a. На даний момент у своєму класі цей продукт поза конкуренцією. Велике число опцій дають можливість дуже гнучкою налаштування процесу сканування (ідентифікація ОС, rpc, “stealth”-сканування і т.д.).
Друге, чому я звертаю вашу увагу на nmap: швидше за все саме цим сканером потенційний хакер буде тестувати вашу мережу і зовсім не зайвим буде і вам знати, яких результатів він видає для неї. Зокрема, в першу чергу необхідно перевірити по логам, визначає чи файрвол steath-сканування (опції “-sS” або “-sF”). FW-1 ver 4.x має визначать всі види “stealth”-сканування nmap.
Зауваження: попередньо проведіть сканування цим способом тестової системи, так як деякі системи реагують на нього сообщеніяміі типу “panic / crash”.
За допомогою опції “-g” можна встановити значення порту-джерела та визначити помилкові правила, що дозволяють пакети, де порт-джерело дорівнює 20, 53, 80, т.е відповідно трафік ftp, nslookup (dns) і http. В останніх версіях з’явилася нова опція “-sA”, спеціально призначена для тестування правил файрвола. Приклад:

mozart #nmap -v -sR -sA -P0 -T Aggressive -o nmap.out <system IP>

Однак для нових версії файрволов (Firewall-1 ver 4.1SP2,) вона вже не працює. Далі, деякі з них не дозволяють встановлювати з’єднання з використанням ACK (тільки SYN). Тому необхідно тестувати такий файрвол SYN-пакетами. Для тестування нових версій файрволов я використовую наступний набір опцій:

mozart #nmap -v -sS -sR -P0 -O -p1-65000 -o nmap.out <system IP>

Зверніть увагу, тут я сканую весь діапазон можливих портів 65000. В залежності від швидкості з’єднання це може зайняти до 60 хвилин. Зміна значення параметра ‘- max_rtt_timeout milliseconds’ може дати деяку надбавку в швидкості, таже можна використовувати діапазон портів за замовчуванням (1500).
Не забудьте провести сканування тих же портів, але по UDP (-sU). Можливо, після цього ви будете здивовані результатом (snmp, routed і т.д.). Для NT також вийшла своя версія nmap. Для користувачів Win9x/NT можу також порадити WS Ping ProPack. В цей продукт включений не тільки сканер портів, а й аналоги багатьох unix утиліт: whois, snmpwalk і т.п. На жаль сканер портів менш гнучкий у налаштуванні, ніж відповідний unix-аналог.
Після ідентифікації доступних ресурсів за допомогою сканера портів, більш детальну перевірку допоможуть провести наступні утиліти:
– Nessus (під Unix, клієнт може працювати під Win9x/NT). На мій погляд один з кращих безкоштовних сканерів
– Whisker (на Perl). Гадаю, в коментарях не потребує.
– Hping2. Дозволять створювати свої ICMP / TCP / UDP пакети з необхідними параметрами.
– Winfingerprint (під Win9x/NT). NetBIOS Shares, Users, Groups, Services.
— legion. SMB shares
– Sam Spade. Аналог WS Ping ProPack з деякими додатковими можливостями.
Додаткову інформація: база по утилітам і вразливостей на securityfocus.com і Відповідна база по exploits на technotronic.com.

Висновок

Ступінь безпеки, яку дає застосування файрвола прямо пропорційна ретельності, з якою він був налаштований. Слабо контрольована динамічність розвитку Internet і зростаюча складність пристроїв доступу приводять до появи різних помилок в налаштуваннях систем забезпечення безпеки. Тому їх інсталяція повинна в обов’язковому порядку включати відповідне тестування стійкості до реальних атакам ..

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*