Екрануюча система включає два механізми: дозволяючої та забороняючої дії. Дозволяюча частина екрана забезпечує зв'язок між корпоративною та відкритими мережами, а забороняюча блокує небезпечні та незаконні дії користувачів.
Дозволяючий механізм складається з програм, що підтримують сервіси Internet: Telnet, ftp,WWW,Gopher та інші. Такі програми, які називаються сервісними агентами, працюють так, щоб виконувати лише визначені, безпечні команди. Можна побудувати екрануючу систему, цілком складену з сервісних агентів. Принцип побудови такого екрану, який називається екрануючим шлюзом, можна сформулювати наступним чином: "заборонено все, крім необхідного".
Забороняючий механізм захищає корпоративну мережу від небезпечних дій користувачів. Для блокування зв'язку використовуються різноманітні критерії фільтрації. Найбільш відомі з них:
• адреса і маска підмережі відправника;
• адреса і маска підмережі одержувача;
• порт відправника;
• порт одержувача;
• сервіс;
• час використання сервісу.
Фільтрація по адресі та масці підмережі відправника необхідна у тому випадку, коли необхідно блокувати зв'язок з означеним комп'ютером або мережею, а по адресі одержувача — якщо потрібно закрити доступ зовнішньому користувачу у деяку заборонену область.
Якщо користувач не повинен працювати з деяким конкретним сервісом, то екран може блокувати пакети, які використовуються цим сервісом і належать даному користувачу. Іноді фільтрують пакети інформації на основі часу їх відправки. Це необхідно, наприклад, для тимчасового допуску клієнтів у корпоративну мережу. Скомбінувавши основні критерії, можна означити достатньо точні правила.
Як правило, захисний екран складається з набору агентів для кількох сервісів (дозволяючий механізм), правил доступу зовнішніх користувачів до цих агентів і механізму блокування всіх інших дій. Крім цих компонентів екрануюча система може мати додаткові блоки, наприклад, для аналізу дій користувачів та вияву можливих нападів або для створення віртуальної корпоративної мережі.
Захисний екран — це послідовність фільтрів, які виконують означені дії з потоком інформації. Фільтри мають різноманітні відомості про дані, що передаються через них, і тому можуть по різному обробляти потоки інформації. Загальними для всіх фільтрів є наступні дії: пропустити потік інформації через фільтр, блокувати його, подати сигнал тривоги або записати означене повідомлення в системний журнал.
Трьома основними типами фільтрів є:
• пакетний фільтр, або екрануючий маршрутизатор, який фільтрує інформаційні пакети;
• транспортний фільтр, який керує сеансами зв'язку;
• екрануючий шлюз, який керує окремими сервісами.
З цих трьох фільтрів можна побудувати мережевий екран довільної конфігурації. Фільтри найкраще встановлювати послідовно, причому чим більше вони відрізняються, тим надійніший їх загальний захист.
Задача екрануючого маршрутизатора — створити зону умовної статистичної маршрутизації, тобто екрануючий маршрутизатор передає пакети інформації за адресою, встановленою системним адміністратором, а не по вказаній в пакеті. Наприклад, якщо в корпоративній мережі є безпечний поштовий сервер, то екрануючий маршрутизатор весь потік електронної пошти передає на цей сервер. Існують захисні екрани, які цілком складаються з екрануючих маршрутизаторів, однак важко побудувати необхідний "лабіринт" статистичної маршрутизації.
Екрануючі маршрутизатори є простими, прозорими для користувачів і мають високу швидкодію. Екран, який складається з маршрутизаторів, не затримує передачі інформації. Крім того, фільтри цього типу оперують найбільш повною інформацією про топологію мережі і напрямки передачі інформації.
Недолік цього екрана в тому, що маршрутизатор не враховує кількість інформації, що передається, контекст пакетів та інші аналогічні критерії. Крім того, якщо ха-кер зламав такий фільтр, то визначити це важко.
Транспортний фільтр керує сеансами зв'язку. Фільтр цього типу під час відкриття інформаційного каналу та обміну повідомленнями може загубити відповідність адрес, записувати контрольну інформацію в системний журнал, контролювати кількість інформації, що передається, і виконувати інші дії транспортного рівня.
Такий фільтр збирає інформацію, котра може попередити можливі напади або знайти помилки керування та конфігурації екранів. Він відслідковує, наприклад, підробку адрес та перевіряє ім'я комп'ютерів, блокує у випадку небезпеки виклик відповідної служби.
Неможливість управління UDP-сеансами — основний недолік транспортного фільтру. Також він не може визначити "законність" сполучень, які контролює.
Екрануючий шлюз забезпечує безпечне обслуговування мережевих служб. Він проводить аунтентифікацію користувачів і тільки після цього дозволяє або заперечує їм зв'язок з внутрішньою м ережею. Шлюз відкриває два різних сеанси зв'язку з користувачами різних мереж, тому зовнішнім користувачам здається, що вони встановили зв'язок з самим шлюзом. Такий фільтр фактично є представником корпоративної мережі в Internet.
Шлюз має справу вже з користувачами, а не з пакетами або з сеансами. Тому він містить більш повні дані і реалізує захисний механізм, недоступні для інших фільтрів, наприклад, перевіряє істинність кожного користувача, приховує адреси внутрішніх комп'ютерів та виконує інші аналогічні дії. Системний журнал, який ведеться цим фільтром, найбільш місткий та корисний. Екрануючий шлюз — самий надійний захисний механізм корпоративної системи.
Недоліки цього фільтра: його складність, вузька спеціалізація та невелика швидкість передачі інформації. Необхідність установки нових агентів для кожного нового сервіса зменшує гнучкість системи.
Згадані фільтри — основа сучасної технології екрануючих систем. Однак є змішані екрани, які неможливо віднести до жодного з типів. Ці екрани об'єднують всі види типів в одній системі. Змішані екрани мають повну інформацію про встановлений зв'язок, на підставі якої вони більш точніше можуть визначати можливий напад.
Популярність Internet зростає з кожним днем, а разом з нею зростають і вимоги до ресурсів та якості їх представлення. Тепер інтереси користувачів не обмежуються електронною поштовою скринькою і пошуком якої-небудь інформації в WWW, вони -загнуть створювати власні Web-сторінки, навіть Web-вузли. Новачки організують прості HTML-сторінки, не звертаючи особливої уваги на стиль і дизайн. Але, згодом,; / них з'являється бажання зробити щось ефектне і цікаве. І тоді новоспеченому Web-майстру доводиться більш досконало вивчати мови розмітки (DHTML, HTML, XML, VRML, XHTML) і мови створення клієнтських сценаріїв (JavaScript, VBScript).
Згодом у нього можуть з'явитись і нові вимоги (наприклад, поспілкуватись із відвідувачами свого вузла). І в цьому випадку його вже не задовольнить, якщо в тіло ггорінки просто додасться посилання на його поштову скриньку. Так, він вирішить, що непогано було б одержати досить повну інформацію про відвідувачів вузла (імена, e-mail, телефони, факси, адреси тощо), підрахувати кількість відвідувань, зібрати; пізні думки і, нарешті, створити базу даних. Але для реалізації всього цього HTML і, -звіть, VBScript чи JavaScript стає недостатньо, тому що ці мови призначені для опи-:/ сценаріїв, що виконуються на комп'ютері клієнта. Отже, потрібно мати хоча б мінімальне уявлення про принципи виконання програм та архітектуру Internet.
На сучасному етапі розвитку Internet-технологій використовується клієнт-серверна архітектура. Тобто, комп'ютери мережі можна поділити на дві групи: сервери та клієнти. Клієнти — це комп'ютери користувачів, з яких вони виконують навігацію -а просторах Internet в пошуках певних ресурсів. Сервери — це комп'ютери, на яких містяться Web-сторінки та інформаційно-програмні ресурси.
В зв'язку з цим, мови програмування для Internet можна розподілити на дві особні групи: мови опису сценаріїв — завантажуються на комп'ютер користувача разом із сторінкою і на ньому виконуються, та мови динамічного створення сторінок та КЗробки інформації — більш потужні, розміщуються та виконуються на сервері, станні, в свою чергу, використовують технологію CGI, що реалізовує інтерфейс обміну інформацією між клієнтом і програмою-обробником. Ці мови називають універ-:альними сценарними мовами. До їх складу входять PHP, Perl, Java, C++, Python, Tel -ощо
Слід зауважити, що на даний момент ведуться розробки нових lnternet-технологій і, можливо, через декілька років вже забудуть про архітектуру "клієнт-сервер" і «зви програмування, що з нею пов'язані дуже тісно. Одним з прикладів є розробки технології.NET, яка передбачає рівноправний обмін між комп'ютерами мережі. Також ведуться розробки і нових програмних засобів (мова Curl).