“СПАМ – трафік”, або тонкощі роботи протоколу FTP, Інтернет і інші мережі, Security & Hack, статті

BiBiGoN

Ні для кого не секрет, що в даний час Internet розвивається особливо бурхливо. Багато дрібні фірми і організації вже не тільки розміщують в мережі свої сторінки, а й будують свої Internet-сервера, благо що не менш швидко розвиваються і технології забезпечення швидкісного доступу, наприклад xDSL. Як наслідок цього з’являється значне число людей не є професійними адміністраторами. Дана стаття, я думаю буде корисна саме їм – початківцям адміністраторам Internet-серверів, і торкнеться організації такого, зовні нешкідливого сервісу, як служба FTP.

Всі користувачі Intrnet напевно, коли-небудь в своєму житті стикалися з таким поняттям як СПАМ. У моїй “вільної трактуванні” СПАМ можна визначити як генерування нікому не потрібного поштового трафіку. Трафік, однак може бути не тільки поштовий. А послужити добру службу в справі “не поштового СПАМу” може такий загальновідомий сервіс як FTP.

Загальновідомо, що протокол FTP забезпечує передачу двійкових і текстових файлів з FTP-сервера і на нього. Причому FTP-сервером може служити як комп’ютер з небудь клоном UNIX, так і комп’ютер під управлінням Windows NT, на якому працює FTP-сервер. Хочу відразу обмовитися тут не буде йтися про злом FTP-серверів, все нижческазане є лише наслідком роботи малодокументірованних можливостей протоколу FTP. У більшості комп’ютерної літератури не вказано, що FTP забезпечує також можливість передачі файлів безпосередньо між серверами.

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

Торкнемося саме їх. Вже скільки разів твердили світу, що, даючи анонімним користувачам сервера право на запис, ви робите свій сервер потенційно уразливим. І тільки всі не в рахунок. Адже в цій ситуації цілком можливо, що який-небудь жартівник в мережі згенерує значний трафік з якого-небудь досить потужного сервера на ваш злощасний FTP-сервер. І горе тоді організації (якщо у вас звичайно не необмежений трафік :). Природно – це не смертельно, але неприємно, адже доведеться платити за нікому не потрібний “СПАМ”. А платити доведеться пристойно – ось вона оборотна сторона швидкісного доступу в Internet: (.

А для того, щоб зрозуміти, як все це може бути здійснено на практиці необхідно ближче розглянути роботу FTP-протоколу. Отже теорія:

Коли клієнт FTP з’єднується з FTP-сервером створюється так зване управляє з’єднання. По суті управляє з’єднання – це звичайний сеанс telnet в режимі NVT. Клієнт відправляє команду на сервер через керуюче з’єднання, а сервер повертає відповідь з цього ж з’єднання.

Коли користувач запитує пересилання файлу, відкривається окреме з’єднання для передачі даних, і по ньому надсилається файл. Зазвичай сервер використовує порт 21 для керуючого з’єднання і порт 20 для з’єднання пересилання даних.

При відкритті з’єднання для пересилки файлів клієнт посилає команду PORT, яка ідентифікує його IP-адресу (4 байта) і новий порт (2 байти), щоб використовувати ці значення при пересиланні даних. Байти перетворюються в десятковий формат і розділяються комами. Наприклад IP-адресу 128.36.4.22 буде записаний як 128,36,4,22, а порт 2613 – як 10,53.

–> PORT 128,36,4,22,10,53

200 PORT command successful

Сервер відкриє з’єднання за вказаною адресою socket.

Сценарій для з’єднання такий:

1. Локальний клієнт отримує новий порт і використовує керуюче з’єднання, щоб повідомити серверу FTP номер свого порту.

2. FTP-сервер зв’язується з новим портом даних клієнта.

3. Дані передаються.

4. З’єднання закривається.

Можна використовувати інший сценарій. Якщо клієнт посилає PASV, сервер повертає номер порту і переходить до прослуховування установки з’єднання даних від клієнта. Раніше переважало використання команди PORT. Однак тепер клієнт може послати команду PASV для пересилки файлів через просту систему захисту (firewall).

Зі сказаного вище зрозуміло, що якщо створити з’єднання з одним сервером в пасивному режимі, а з іншим сервером в активному, причому передати другій серверу, при відкритті з’єднання для пересилання даних, замість IP-адреси і порту FTP-клієнта, повертається першим сервером IP-адресу і порт для ініціалізіруемих клієнтом з’єднання, то утворюється пряме з’єднання для пересилання даних між FTP-серверами.

1-й FTP-сервер:

–> PASV

227 Entering Passive (x,x,x,x,7,254)

2-й FTP-сервер:

–> PORT x,x,x,x,7,254

200 PORT Command successful.

FTP-протокол почав свою роботу з генерування “абсолютно непотрібного” для одержувача трафіку і можна відключатися і йти спати :).

Необхідно додати, що для роботи вищесказаного, FTP-сервера повинні підтримувати роботу в пасивному режимі, а також не перевіряти відповідність IP-адреси FTP-клієнта, який ініціював з’єднання з IP-адресою, фактично переданим в командному рядку. Якщо перша умова зараз виконується практично повсюдно, то з другим існує деяка напруга. Однак, хто шукає – той завжди знайде :).

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


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

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

Ваш отзыв

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

*

*