#FTP #SFTP #Администрирование #Linux #Debian #VPS
1. FTP
FTP (File Transfer Protocol) – протокол передачи файлов по сети. Является одним из базовых протоколов Ethernet. Появился в 1971.
FTP можно использовать только в доверенных сетях, т.к. изначально он не задумывался как защищенный, поскольку предназначался для связи между несколькими военными объектами и учреждениями.
С развитием и распространением интернета опасность несанкционированного доступа возросла во много раз. В мае 1999 авторы RFC 2577 свели уязвимости в следующий список проблем:
· Скрытые атаки (bounce attacks)
· Спуф-атаки (spoof attacks)
· Атаки методом грубой силы (brute force attacks)
· Перехват пакетов, сниффинг (packet capture, sniffing)
· Захват портов (port stealing)
Обычный FTP не обладает возможностью передачи данных в зашифрованном виде, вследствие чего имена пользователей, пароли, команды и другая информация могут при желании легко и просто быть перехвачены злоумышленниками. Обычное решение этой проблемы — использовать «безопасные», TLS-защищённые версии уязвимых протокола (FTPS) или же другой, более защищённый протокол, вроде SFTP/SCP, предоставляемого с большинством реализаций протокола Secure Shell
2. SFTP
Быстрый способ безопасного обмена файлами с сервером
SFTP (Secure File Transfer Protocol) – протокол прикладного уровня передачи файлов, работающий поверх безопасного канала.
Разработкой протокола занималась одна из групп IETF под названием Secsh. Рабочая документация к новому протоколу SFTP не стала официальным стандартом, однако начала активно применяться для разработки приложений. В дальнейшем было выпущено шесть версий протокола. Однако, постепенное наращивание в нём функциональности привело к тому, что 14 августа 2006 года было принято решение о прекращении работы над развитием протокола в связи с выполнением основной задачи проекта (разработка SSH) и отсутствием достаточного экспертного уровня для перехода к разработке полноценного протокола удалённой файловой системы.
SSH – это сетевой протокол, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений (например, для передачи файлов). Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли.
SSH позволяет безопасно передавать в незащищённой среде практически любой другой сетевой протокол.
Распространены две реализации SSH: частная коммерческая и бесплатная свободная. Свободная реализация называется OpenSSH
По функциональности SFTP похож на FTP, но так как он использует другой протокол, клиенты стандартного FTP не могут связаться с SFTP сервером и наоборот.
Протокол SFTP гарантирует безопасность передачи данных во всех случаях. Подключаясь по SFTP, вы используете надежный канал, защищенный протоколом SSH. Он аутентифицирует клиент и сервер, исключая возможность того, что сессию взломает злоумышленник
Использование с помощью PSFTP(PuTTY)
cmd.exe cd C:\Program Files\PuTTY
psftp open ip-хоста
Самый простой способ безопасно использовать SFTP (без установки FileZilla и сервера vsftpd)
1. Делаем батник run.bat
call ftp.bat set path=%path%;C:\Program Files\PuTTY
pause
2. Содержимое второго батника ftp.bat
psftp -l ftp_user -pwfile pwd.txt ip-host
3. В pwd.txt сохраняем пароль для пользователя FTP
4. Скачать файл с сервера
get ftp/test.txt
5. Загрузить файл на сервер
put C:\FTP\test.txt
6. Поменять директорию WIN для загрузки
lcd C:\FTP
Так же доступно использование напрямую через PuTTY
На своей станции под WIN запускаем CMD.EXE и задаем путь для PuTTY
set path=%path%;C:\Program Files\PuTTY
Для загрузки файла на сервер:
pscp d:\documents\example.txt username@host:/home/username/public_html
Для скачивания файла с сервера:
pscp username@host:/home/username/public_html/example.txt d:\documents