TFTP через фаєрвол: Як це працює?
/ TFTP через фаєрвол: Як це працює?
Використання протоколу TFTP часто викликає утруднення в мережах, оснащених міжмережевими екранами або засобами NAT. Це пов'язано з тим, що протокол TFTP використовує в якості транспорту UDP, а також зі способом організації передачі файлів.
Протокол TFTP використовується в якості простого засобу передачі файлів там, де обчислювальна потужність клієнтів обмежена, а кошти авторизації доступу не є обов'язковими. Використання UDP як протокол транспортного рівня дозволяє значно знизити вимоги до потужності процесора і необхідному обсягу оперативної пам'яті. Однак, UDP не є протоколом зі встановленням з'єднання. Отже, турбота про емуляції з'єднань лягає на протокол рівня додатка, тобто безпосередньо на протокол TFTP. Більшості міжмережевих екранів невідомий спосіб ідентифікації сполук в протоколі TFTP, тому ці пристрої не можуть коректно пропускати даний тип трафіку.
Налаштування, необхідні для роботи TFTP в захищеної мережі, залежать від розташування клієнтів і сервера TFTP щодо файрволу. У найпростішому випадку сервер TFTP знаходиться в захищеній мережі, а клієнти - перед файрволом. При правильному налаштуванні файлвола проблем тут як правило не виникає. Для коректної роботи сервера TFTP в цій мережі необхідно виконати на брандмауера наведене нижче
Необхідно налаштувати пристрій Cisco PIX для публікації сервера TFTP, що знаходиться в DMZ мережі підприємства. Сервер TFTP повинен бути доступний для доступу з публічної мережі. Адреса сервера TFTP в DMZ - 10.0.0.2. Публічний адреса мережі підприємства - 62.76.23.14. Для публікації сервера TFTP необхідно виконати наступні команди на брандмауера:
static (inside, outside) udp 62.76.23.14 tftp 10.0.0.2 tftp netmask 255.255.255.255 0 0 conduit permit udp host 62.76.23.14 eq tftp any
Перша команда додає правило, згідно з яким трафік TFTP, що приходить на адресу 62.76.23.14, транслюється на адресу 10.0.0.2. Друга команда дозволяє трафік TFTP на зовнішню адресу мережі. Трафік з внутрішньої мережі в зовнішню дозволений за замовчуванням.
Ситуація ускладнюється, якщо необхідно забезпечити доступ клієнтів з захищеної мережі до зовнішнього сервера TFTP. Запитуючи файл, клієнт відправляє зі випадково обраного порту UDP на порт UDP 69 сервера TFTP пакет TFTP RRQ. Так як пакет відправляється з більш захищеної мережі в менш захищену, файрвол пересилає його серверу TFTP. При пересиланні пакета файрвол додає в таблицю трансляції запис, що відповідає з'єднанню по протоколу UDP між обраним портом клієнта і портом 69 сервера TFTP. Згідно RFC 1350, сервер відправляє клієнту з випадково обраного порту пакет TFTP DATA. Однак, файрвол відкидає цей пакет, так як не може знайти в таблиці трансляції існуюче з'єднання між обраним портом сервера і портом клієнта.
Пристрої, подібні Cisco PIX, можуть переглядати проходить трафік TFTP і динамічно додавати записи в таблицю трансляції, що дозволяють проходження відповідей TFTP із зовнішньої мережі в мережу підприємства. Для включення даного режиму на брандмауера Cisco PIX служить команда fixup protocol tftp.
Інший спосіб вирішення проблеми - змусити сервер TFTP використовувати порт 69 не тільки для прийому запитів, але і для відправки відповідей клієнтам. В цьому випадку файрвол буде коректно пересилати відповіді клієнту відповідно до наявної в таблиці трансляції записом. Ви можете включити цей режим роботи в WinAgents TFTP Server, встановивши опцію 'Enable firewall support' у вікні налаштувань програми.
TFTP через фаєрвол: Як це працює?