Пятница, 26.04.2024
Мафия Клуб: Закрытый клуб
Меню сайта
Категории раздела
Просування сайту [18]
Мини-чат
500
Наш опрос
Смотрите видео
Всего ответов: 0
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Главная » 2015 » Июль » 15 » FTP
08:52
FTP
FTP (англ. File Transfer Protocol — протокол передачі файлів) — це стандартний протокол, призначений для передачі файлів по протоколу TCP мереж (наприклад, Інтернет). Використовує 21е порт. FTP часто використовується для завантаження веб-сторінок та інших документів з приватного пристрою розробки на відкриті сервера хостингу.

Протокол побудований на архітектурі «клієнт-сервер» і використовують різні мережеві з'єднання для передачі команд і даних між клієнтом і сервером. Користувачі FTP можуть пройти аутентифікацію, передаючи логін і пароль, відкритим текстом, або ж, якщо це дозволено на сервері, можуть підключитися анонімно. Можна використовувати протокол SSH для безпечної передачі, приховує (шифрувальної) логін і пароль, а також шифрувальної вміст.

Перші клієнтські FTP-програми були інтерактивними інструментами командного рядка, які реалізують стандартні команди і синтаксис. Графічні інтерфейси з тих пір були розроблені для багатьох використовуються донині операційних систем. Серед цих інтерфейсів програми загального веб-дизайну кшталт Microsoft Expression Web, так і спеціалізовані FTP-клієнти (наприклад, FileZilla).

FTP є одним з найстаріших прикладних протоколів, що з'явилися задовго до HTTP, і навіть до TCP/IP, у 1971 році. У перший час він працював поверх протоколу NCP. Він і сьогодні широко використовується для розповсюдження і доступу до віддалених хостів.

Досить яскрава особливість FTP в тому, що він використовує множинне (як мінімум — подвійне) підключення. При цьому один канал є управителем, через який надходять команди сервера і повертаються його відповіді (зазвичай через TCP-порт 21), а через інші відбувається власне передача даних, по одному каналу на кожну передачу. Тому в рамках однієї сесії по протоколу FTP можна передавати кілька файлів одночасно, причому в обох напрямках. Для кожного каналу даних відкривається свій TCP порт, номер якого вибирається або сервером, або клієнтом, в залежності від режиму передачі.

Протокол FTP має двійковий режим передачі, що скорочує накладні витрати трафіку і зменшує час обміну даними при передачі великих файлів. Протокол ж HTTP обов'язково вимагає кодування двійкової інформації у текстову форму, наприклад за допомогою алгоритму Base64.

Починаючи роботу через протокол FTP клієнт входить у сесію, і всі операції проводяться в рамках цієї сесії (простіше кажучи, сервер пам'ятає поточний стан). Протокол HTTP нічого не «пам'ятає» — його завдання — віддати дані і забути, тому запам'ятовування стану при використанні HTTP здійснюється зовнішніми по відношенню до протоколу методами.

FTP працює на прикладному рівні моделі OSI і використовується для передачі файлів за допомогою TCP/IP. Для цього повинен бути запущений FTP-сервер, що очікує вхідних запитів. Комп'ютер-клієнт може зв'язатися з сервером по порту 21. Це з'єднання (потік управління) залишається відкритим на час сесії. Друге з'єднання (потік даних), може бути відкритий як сервером з порту 20 до порту відповідного клієнта (активний режим), або ж клієнтом з будь-якого порту до порту відповідного сервера (пасивний режим), що необхідно для передачі файлу даних. Потік управління використовується для роботи з сесією — наприклад, обмін між клієнтом і сервером командами і паролями з допомогою telnet-такого протоколу. Наприклад, «RETR ім'я файлу» передасть вказаний файл від сервера клієнту. Внаслідок цієї двухпортовой структури, FTP вважається внешнеполосным протоколом, на відміну від внутриполосного HTTP.

FTP-сервер використовує звичайну схему ім'я користувача/пароль для надання доступу. Ім'я користувача надсилається сервера командою USER, а пароль — командою PASS. Якщо надана клієнтом інформація прийнята сервером, то сервер відправить клієнту запрошення і починається сесія. Користувачі можуть, якщо сервер підтримує цю особливість, увійти в систему без надання облікових даних, але сервер може надати тільки обмежений доступ для таких сесій.

Хост, що забезпечує FTP-сервіс, який може надати анонімний доступ до FTP. Користувачі зазвичай входять в систему як «anonymous» (може бути регистрозависимым на деяких FTP-серверах) в якості імені користувача. Хоча зазвичай користувачів просять надіслати адресу їх електронної пошти замість пароля, ніякої перевірки фактично не проводиться. Багато FTP-сайтів, що надають оновлення програмного забезпечення, що підтримують анонімний доступ.

Спеціально для роботи FTP-протоколу через міжмережеві екрани було зроблено розширення NAT, зване NAT-PT (rfc2766), що дозволяє транслювати вхідні з'єднання від сервера до клієнта через NAT. У процесі такого з'єднання NAT підміняє передані дані від клієнта, вказуючи істинний адресу сервера і порт, з яким зможе з'єднатися сервер, а потім транслює з'єднання від сервера від цієї адреси клієнту на його адресу. Незважаючи на всі заходи і нововведення, прийняті для підтримки FTP-протоколу, на практиці функція NAT-PT зазвичай відключається у всіх роутерах і маршрутизаторах з метою забезпечення додаткової безпеки від вірусних погроз.

FTP зазвичай передає дані при наявності з'єднання сервера з клієнтом, після того як клієнт відправив команду PORT. Це створює проблему як для NAT, так і для брандмауерів, які не дозволяють з'єднання з інтернету до внутрішніх хостів. Для NAT додатковою проблемою є те, що подання IP-адреси і номера порту в команді PORT відноситься до IP-адреси і порту внутрішнього хоста, замість публічного IP-адреси і NAT-порту. Існує два підходи до цієї проблеми. Перший полягає в тому, що клієнт FTP і FTP-сервер використовують команду PASV, яка викликає з'єднання для передачі даних, встановлене від клієнта до сервера. Другий підхід — зміна для NAT значень команди PORT з допомогою шлюзу на прикладному рівні.

FTP не розроблявся як захищений (особливо за нинішніми мірками) протокол і має численні уразливості в захисті. У травні 1999 автори RFC 2577 звели уразливості в наступний перелік питань:

Приховані атаки (bounce attacks)

Спуф-атаки (spoof attacks)

Атаки методом грубої сили (brute force attacks)

Перехоплення пакетів, сниффинг (packet capture, sniffing)

Захист ім'я користувача

Захоплення портів (port stealing)

FTP не може зашифрувати свій трафік, всі передачі — відкритий текст, тому імена користувачів, паролі, команди і дані можуть бути прочитані ким завгодно, здатним перехопити пакет по мережі. Ця проблема характерна для багатьох специфікацій Інтернет-протоколу (у їх числі SMTP, Telnet, POP, IMAP), розроблених до створення таких механізмів шифрування, як TLS і SSL. Звичайне рішення цієї проблеми — «безпечні», TLS-захищені версії вразливих протоколів (FTPS для FTP, TelnetS для Telnet і т. д.) або ж інший, більш захищений протокол, начебто SFTP/SCP, що надається з більшістю реалізацій протоколу Secure Shell.

Існує кілька методів безпечної передачі файлів в один чи інший час званих «Безпечним FTP».

Явний FTPS — розширення стандарту FTP, що дозволяє клієнтам вимагати того, щоб FTP-сесія була зашифрована. Це реалізується відправкою команди «AUTH TLS». Сервер має можливість дозволити або відхилити сполуки, які не запитують TLS. Це розширення протоколу визначено в специфікації RFC 4217. Неявний FTPS — застарілий стандарт для FTP, вимагає використання SSL або TLS-з'єднання. Цей стандарт повинен був використовувати відмінні від звичайного FTP порти.

SFTP, або «SSH File Transfer Protocol», не пов'язаний з FTP, за винятком того, що він теж передає файли і має аналогічний набір команд для користувачів. SFTP, або безпечний FTP — це програма, що використовує SSH (Secure Shell) для передачі файлів. На відміну від стандартного FTP він шифрує і команди, і дані, оберігаючи паролі та конфіденційну інформацію від відкритої передачі через мережу. По функціональності SFTP схожий на FTP, але так як він використовує інший протокол, клієнти стандартного FTP не можуть зв'язатися з SFTP-сервер і навпаки.

FTP через SSH (не SFTP) відноситься до практики тунелювання звичайної FTP-сесії через SSH-з'єднання. Оскільки FTP використовує кілька TCP-з'єднань, тунелювання через SSH особливо важко. Коли багато SSH-клієнтів намагаються встановити тунель для каналу управління (споконвічне «клієнт-сервер» з'єднання з порту 21), захищений буде тільки цей канал; при передачі даних програмне забезпечення FTP на будь-якому кінці встановить нові TCP-з'єднання (канали даних), які обійдуть SSH-з'єднання і, таким чином, втратять цілісної захисту.

Інакше, для клієнтського програмного забезпечення SSH необхідно мати певні знання про FTP для відстеження і перезапису повідомлень потоку управління FTP і автономного відкриття нових перенаправлень для потоку даних FTP. Програмні пакети, які підтримують цей режим:
Tectia ConnectSecure (Win/Linux/Unix) з пакету SSH Communications Security
Tectia Server for IBM z/OS з пакету SSH Communications Security
FONC (під ліцензією GPL)
Co:Z FTPSSH Proxy

FTP через SSH іноді відносять до безпечним FTP; але не варто плутати його з іншими методами, такими як SSL/TLS (FTPS). Інші методи передачі файлів за допомогою SSH і не пов'язані з FTP — SFTP і SCP; в кожному з них та облікові і файлові дані завжди захищені протоколу SSH.

FXP (англ. File eXchange Protocol — протокол обміну файлами) — спосіб передачі файлів між двома FTP-серверами безпосередньо, не завантажуючи їх на свій комп'ютер. При FXP-сесії клієнт відкриває два FTP-з'єднання до двох різних серверів, запитуючи файл на першому сервері, вказуючи в команді PORT IP-адресу другого сервера.

Безперечною перевагою підтримки стандарту FXP є те, що на кінцевих користувачів, охочих скопіювати файли з одного FTP-сервера на інший, вже не діє обмеження пропускної спроможності їх власного інтернет-з'єднання. Немає необхідності завантажувати собі файл, щоб потім завантажити його на інший FTP-сервер. Таким чином, час передачі файлів буде залежати тільки від швидкості з'єднання між двома видаленими FTP-серверами, яка в більшості випадків свідомо більше «користувача».

FXP став використовуватися зловмисниками для атак на інші сервери: в команді PORT вказується IP-адресу і порт атакується сервісу на комп'ютері жертви, і командами RETR/STOR провадиться звернення на цей порт від особи FTP-сервера, а не атакуючої машини, що дозволяло влаштовувати масштабні DDoS-атаки з використанням одразу багатьох FTP-серверів, або обходити систему безпеки комп'ютера жертви, якщо він покладається тільки на перевірку IP клієнта і використовується для атаки FTP-сервер знаходиться в довіреної мережі або на шлюзі. В результаті зараз практично всі сервери перевіряють відповідність IP-адреси, зазначеної в команді PORT, IP-адресою FTP-клієнта і за замовчуванням забороняють використання там IP-адрес третіх сторін. Таким чином, використання FXP неможливо при роботі з публічними FTP-серверами.
Категория: Просування сайту | Просмотров: 714 | Добавил: GBV | Теги: ftp | Рейтинг: 0.0/0
Всего комментариев: 0
lign="center">


Вход на сайт
Поиск
Календарь
«  Июль 2015  »
ПнВтСрЧтПтСбВс
  12345
6789101112
13141516171819
20212223242526
2728293031
Архив записей
Copyright Mafiaclub.at.ua © 2024