Windows.  Viruslar.  Noutbuklar.  Internet.  Idora.  Utilitalar.  Haydovchilar

File Transfer Protocol (FTP) - bu kompyuterlar o'rtasida fayllarni uzatish uchun TCP protokoli. Ilgari u [Internetdagi fayllarni] yuklab olish uchun ham foydalanilgan, ammo bu usul shifrlashdan foydalanmagani uchun foydalanuvchi ma'lumotlari, shuningdek, fayllar mazmuni ochiq holda uzatiladi va osonlik bilan tutib olinadi. Shunday qilib, agar siz bu erda fayllarni xavfsiz uzatish va yuklab olish yo'lini izlayotgan bo'lsangiz, Masofaviy boshqaruv bo'limidagi OpenSSH maqolasiga qarang.

FTP mijoz/server modelida ishlaydi. Server komponenti FTP xizmati deb ataladi. U doimiy ravishda uzoq mijozlarning FTP so'rovlarini tinglaydi. So'rov qabul qilinganda, u login va ulanishni o'rnatishni nazorat qiladi. Seans davomida u FTP mijozi tomonidan yuborilgan har qanday buyruqlarni bajaradi.

vsftpd - FTP serverini o'rnatish

vsftpd Ubuntuda mavjud FTP xizmati. O'rnatish, sozlash va texnik xizmat ko'rsatish oson. Vsftpd-ni o'rnatish uchun quyidagi buyruqni bajarishingiz mumkin:

Sudo apt install vsftpd

Xizmatni ishga tushirish uchun uni ishga tushirishga qo'shishingiz kerak. Ubuntu 15.04 dan boshlab Systemd ishlatiladi, shuning uchun ishga tushirishga vsftpd qo'shish uchun siz quyidagi buyruqlarni kiritishingiz kerak:

Sudo systemctl ishga tushirish vsftpd sudo systemctl vsftpdni yoqish

IN Ubuntu serveri ufw xavfsizlik devoridan foydalanish mumkin. Keyin 20 va 21 portlarga ruxsat berishingiz kerak bo'ladi

Sudo ufw ruxsat 20/tcp sudo ufw ruxsat 21/tcp

Konfiguratsiya faylida ko'plab sozlamalar opsiyalari mavjud. Har bir parametr uchun ma'lumot bir xil faylda mavjud. Shu bilan bir qatorda siz buyruq uchun tizim qo'llanmasiga qarashingiz mumkin

Man 5 vsftpd.conf

har bir parametr uchun tafsilotlarni aniqlashtirish uchun.

FTP serveriga kirish ikki usulda tashkil etilishi mumkin:

IN anonim rejim Masofaviy mijoz FTP serveriga "anonim" yoki "ftp" nomli standart foydalanuvchi hisobidan foydalanishi va elektron pochta manzilini parol sifatida kiritishi mumkin. IN ruxsat etilgan rejim foydalanuvchi hisob nomi va parolga ega bo'lishi kerak. Ushbu oxirgi variant juda xavflidir va maxsus holatlardan tashqari foydalanilmasligi kerak. Agar siz fayllarni xavfsiz uzatishni istasangiz, OpenSSH server bo'limida SFTP ga qarang. Foydalanuvchining kataloglarga kirishi va FTP fayllari server kirishda ko'rsatilgan foydalanuvchining kirish huquqlariga bog'liq. Odatda, FTP xizmati FTP serverining asosiy katalogini yashiradi va uni FTP uy katalogi bilan almashtiradi. Bu fayl tizimi ildizini masofaviy seanslardan yashiradi.

FTP orqali anonim kirishni sozlash

Vsftpd standart sozlamalari anonim yuklashga ruxsat bermaydi. Agar siz anonim yuklashga ruxsat bermoqchi boʻlsangiz, /etc/vsftpd.conf ni quyidagiga oʻzgartiring:

Anonymous_enable=HA

O'rnatish jarayoni foydalanuvchi yaratadi ftp /srv/ftp uy katalogi bilan. Bu FTP uchun standart katalogdir.

Agar siz uning manzilini, masalan, /srv/files/ftp ga o'zgartirmoqchi bo'lsangiz, shunchaki yangi katalog yarating va ftp foydalanuvchisining uy katalogini o'zgartiring:

Sudo mkdir /srv/files/ftp sudo usermod -d /srv/files/ftp ftp

O'zgarishlardan so'ng, vsftpd-ni qayta ishga tushiring:

Nihoyat, anonim FTP uchun taqdim qilmoqchi bo'lgan barcha fayl va kataloglarni /srv/files/ftp (yoki standart sozlamalarni qoldirmoqchi bo'lsangiz, /srv/ftp) ga nusxalang.

Odatiy bo'lib, anonim foydalanuvchi fayllarni FTP serveriga yuklay olmaydi. Ushbu sozlamani o'zgartirish uchun quyidagi qatorni izohdan olib tashlang va vsftpd dasturini qayta ishga tushiring:

Anon_upload_enable=HA

Anonim foydalanuvchiga fayllarni yuklashiga ruxsat berish jiddiy xavfsizlik xavfi bo'lishi mumkin. Internetdan to'g'ridan-to'g'ri kirish imkoniyati bo'lgan serverlarga anonim fayllarni yuklashga ruxsat bermaslik yaxshiroqdir.

FTP orqali avtorizatsiya qilingan kirishni sozlash

Konfiguratsiya fayliga biron bir o'zgartirish kiritishdan oldin namunani nusxalash tavsiya etiladi, shunda sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig paketini qayta o'rnatmasdan o'zgarishlarni orqaga qaytarishingiz mumkin.

Mahalliy foydalanuvchilarni autentifikatsiya qilish uchun qatorni izohdan olib tashlashingiz kerak

Local_enable=HA

Odatiy bo'lib, vsftpd fayllarni olish qobiliyatiga ega tizim foydalanuvchilarini autentifikatsiya qilish uchun tuzilgan. Agar foydalanuvchilarga fayllarni yuklashiga ruxsat berishni istasangiz, /etc/vsftpd.conf manzilini o'zgartiring:

Write_enable=HA

keyin vsftpd-ni qayta ishga tushiring:

Sudo xizmati vsftpd qayta ishga tushirildi

Endi tizim foydalanuvchilari FTP orqali tizimga kirganda, ular yuklab olish, [fayllarni] yuklash, katalog yaratish va h.k. mumkin bo'lgan uy kataloglariga olib boriladi.

FTP himoyasi

Foydalanuvchi cheklovi

/etc/vsftpd.conf-da vsftpd-ni xavfsizroq qilishga yordam beradigan variantlar mavjud. Masalan, bu variant mahalliy foydalanuvchini chroot() "qamoqxona" ga joylashtirish imkonini beradi, undan yuqorida (katalog daraxtida) u ko'tarilmaydi.

Chroot_local_user=HA

Bundan tashqari, faqat uy katalogiga kirish huquqiga ega bo'lgan foydalanuvchilar ro'yxatini belgilashingiz mumkin:

Chroot_list_enable=HA chroot_list_file=/etc/vsftpd.chroot_list

Ushbu parametrlarga izohni olib tashlaganingizdan so'ng, har bir satrda bittadan foydalanuvchilar ro'yxatini o'z ichiga olgan /etc/vsftpd.chroot_list yarating. Keyin vsftpd-ni qayta ishga tushiring:

Sudo xizmati vsftpd qayta ishga tushirildi

Agar siz uchta satrning hammasiga izoh bermagan bo'lsangiz, ro'yxatga kiritilmagan foydalanuvchilardan farqli o'laroq, ro'yxatdagi foydalanuvchilar uy kataloglari bilan cheklanmaydi.

Xuddi shunday, /etc/ftpusers faylida FTP ruxsati rad etilgan foydalanuvchilar ro'yxati mavjud. Odatiy bo'lib, u root, demon, hech kim va boshqalarni o'z ichiga oladi. Qo'shimcha foydalanuvchilarga FTP kirishini rad qilish uchun ularni ushbu ro'yxatga qo'shish kifoya.

Agar ulanishga urinayotganda xatolikni ko'rsangiz:

Javob: 500 OOPS: vsftpd: chroot() ichida yoziladigan ildiz bilan ishlashni rad etish

u holda bu mahalliy foydalanuvchining uy katalogiga yozish huquqiga ega ekanligini anglatadi, bunday bo'lmasligi kerak. Ushbu xatoni hal qilishning bir necha yo'li mavjud:

    Mahalliy foydalanuvchi uchun uy katalogiga yozishni rad etish (hamma uchun mos emas va har doim ham emas)

sudo chmod a-w/uy/foydalanuvchi/ allow_writeable_chroot=HA

    FTP serveriga kirgandan so'ng mahalliy foydalanuvchilar boradigan katalog sifatida / home ni o'rnating. Shunda ularning har biri faqat uy katalogiga yozish imkoniyatiga ega bo'ladi

local_root=/home

Shifrlash

FTP ishlatilganda shifrlangan bo'lishi mumkin FTPS. Undan farqli o'laroq SFTP, FTPS SSL orqali FTP hisoblanadi. SFTP shifrlangan SSH ulanishi orqali FTP-ga o'xshash seansdir. Asosiy farq shundaki, SFTP foydalanuvchilari nologin qobig'i o'rniga qobiq hisobiga ega bo'lishlari kerak. Barcha foydalanuvchilarga qobiq ruxsatini berish ishlamasligi mumkin eng yaxshi yechim veb-server kabi ba'zi tizimlar uchun ommaviy kirish. Biroq, bunday hisoblarni faqat SFTP bilan cheklash va qobiq o'zaro ta'sirini oldini olish imkoniyati mavjud. Buning uchun OpenSSH bo'limiga qarang Qo'shimcha ma'lumot.

FTPSni sozlash uchun /etc/vsftpd.conf faylining oxiriga quyidagilarni qo'shing:

Ssl_enable=Ha

Shuningdek, sertifikat va kalit variantlarga e'tibor bering:

Rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Odatiy bo'lib, ushbu parametrlar paket tomonidan taqdim etilgan qiymatlarga o'rnatiladi ssl sertifikati. Uchun ish muhiti ular ma'lum bir kompyuter uchun yaratilgan sertifikat va kalit bilan almashtirilishi kerak. Qo'shimcha ma'lumot olish uchun Sertifikatlar bo'limiga qarang.

Endi vsftpd-ni qayta ishga tushiring va anonim bo'lmagan foydalanuvchilar FTPS-dan foydalanadilar:

Sudo xizmati vsftpd-ni qayta ishga tushiring

/usr/sbin/nologin qobig'iga ega bo'lgan foydalanuvchilarga FTP-ga kirishga ruxsat berish, lekin qobiqqa kirish huquqini bermaslik uchun qobiqqa nologin qo'shish uchun /etc/shells-ni tahrirlang:

# /etc/shells: yaroqli kirish qobiqlari /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh / usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /usr/sbin/nologin

Bu zarur, chunki vsftpd sukut bo'yicha PAM avtorizatsiyasidan foydalanadi va /etc/pam.d/vsftpd sozlamalar faylida:

Auth talab qilinadi pam_shells.so

PAM moduli chig'anoqlar/etc/shells faylida ko'rsatilgan qobiqlarga kirishni cheklaydi.

Eng mashhur FTP mijozlari FTPS dan foydalanish uchun sozlanishi mumkin. FTP mijozi buyruq qatori lftp ham FTPS dan foydalanish imkoniyatiga ega.

Tarmoq ichida ham, tashqarisida ham fayllarni saqlashni tashkil qilish vaqti keldi. Ushbu maqola birinchi qismning davomi bo'lib, uy serveringizda WiFi routerni o'rnatishga bag'ishlangan. Sizning barcha qattiq disklar uy kompyuteri(bir tizimdan tashqari) serverga o'tkazilishi mumkin, chunki uzatish tezligi sekundiga 10-20 megabayt atrofida o'zgarib turadi [bu parametr ham sizning qurilmangiz modeliga bog'liq. qattiq disk], va aytmoqchi, buning vaqti keldi tizim diski SSD drayverlarini sotib oling.

FTP serveri.
Linux uchun juda ko'p ftp serverlari bor, ko'p yaxshi, ko'p yomon, lekin eng yaxshisi bor [albatta, bu sub'ektiv fikr va men uchun eng yaxshisi] va bu vsftpd. Bu biz ko'rib chiqadigan narsadir.
Siz uni standart omborlardan yuklab olishingiz mumkin OpenSUSE terminalda buyruqni ishga tushirish orqali:
vsftpd ichida fermuar
Endi tavsifga o'tamiz. Bu konsol ftp serveri, unda GUI yo'q [ grafik qobiq], shuning uchun barcha sozlashlar bitta konfiguratsiyada amalga oshiriladi, da /etc/vsftpd.conf.
Mana ishlaydigan konfiguratsiyaga misol:
#FTP serveriga yozishning har qanday shakliga ruxsat berish write_enable=HA #papkadan #papkaga oʻtish haqidagi xabarlarni koʻrsatish imkoniyatiga ruxsat bering. dirmessage_enable=HA #har qanday imtiyozlarsiz foydalanuvchini tanlang (faqat oʻqish uchun) nopriv_user=ftpsecure #mahalliy foydalanuvchilarga ruxsat bering (mahalliy foydalanuvchilar tizimda #roʻyxatdan oʻtganlar, yaʼni ularning hisoblari bor) local_enable=YES #mahalliy foydalanuvchini chroot ichiga surish . chroot_local_user=HA #ban anonim kirish serverga anonymous_enable=YO'Q #enable logging syslog_enable=HA #20-portga ulanishga ruxsat berish connect_from_port_20=HA #kirill alifbosidagi papkalarni yuklashga ruxsat berish ascii_upload_enable=YES #kirill alifbosidagi papkalarni yuklab olishga ruxsat berish_ES_downname asci= ascii_download Tizimdagi PAM xizmati pam_service_name= vsftpd #oflayn rejimda ishlash imkoniyati tinglang=HA #SSL autentifikatsiyasini o'chirish ssl_enable=PASV rejimi uchun #portlar diapazoni YO'Q. pasv_min_port=30000 pasv_max_port=30100 #ftp-serverga kirganda xush kelibsiz ftpd_banner=Mening ftp-serverimga xush kelibsiz #vaqt o'tgandan keyin foydalanuvchi faol bo'lmasa, idle_session_timeout=900 #maksimal_foydalanuvchilar soni=1 bitta IP-manzildan maksimal seanslar soni max_per_ip=3 #PASV rejimini yoqish (passiv rejim) pasv_enable=YES #mahalliy foydalanuvchilar uchun imtiyozlarga ruxsat beruvchi niqob. local_umask=0002
Yuqoridagi konfiguratsiyada alohida foydalanuvchilarga yoki alohida papkalarga kirish huquqlarini taqsimlashda hech qanday muammo yo'q. Hammasi juda sodda va qisqa, uni bir marta sozlang va [foydalanish] dan foydalaning. Vsftpd tanlangan, chunki u mavjud eng yaxshi tizim kirish huquqlari sozlamalari, ular ikki turga bo'linadi: ichki, tizim autentifikatsiyasi va tashqi, kirish huquqlarini tarqatish uchun alohida konfiguratsiya fayli bilan, lekin shu bilan birga, foydalanuvchilar hali ham tizimdan olinadi.

IN bu misolda ikkala foydalanuvchilar va shu foydalanuvchilar uchun kirish huquqlarini taqsimlash tizimdan olinadi, qo'shimcha konfiguratsiya fayli ishlatilmaydi.

Shakl 1. O'rnatish huquqlari
Ana xolos.

Samba.
Noutbukingiz, uy kompyuteringiz, telefoningiz, planshetingizdan har doim barcha to'plamlar va boshqa narsalarning fayl xotirasiga ega bo'lishni xohlaysizmi? Bor.

Dastlab, OpenSUSE tizimining standart o'rnatilishi bilan samba-ni serverga o'rnatish va sozlash uchun kerak bo'lgan hamma narsa allaqachon o'rnatilgan. Shuning uchun, keling, to'g'ridan-to'g'ri sozlashga o'tamiz. Windows operatsion tizimidan “Tarmoq drayverini xaritasi” sifatida kirish faqat mahalliy tarmoq ichida mavjud bo'lganligi sababli [Internet uchun ftp server mavjud, bundan tashqari, sambani Internetga joylashtirish juda xavflidir, ammo biz “XAVFSIZLIK UCHUN! !! HURRAY!”] shuning uchun sozlamalar juda oddiy va tushunarli bo'ladi. Ikkita [menga ma'lum va mening fikrimcha] samba sozlamalari mavjud, bu bir xil konfiguratsiya fayli orqali va yordamchi dastur yordamida - WebMin. Bu juda ajoyib narsa, ayniqsa konfiguratsiyalar bilan shug'ullanishni yoqtirmaydiganlar uchun (lekin bu erda ham ba'zi nuanslar mavjud). Ushbu maqolada biz vositalar haqida to'xtalmaymiz " dangasalar uchun", shuning uchun biz davom etamiz. Biz ishchi konfiguratsiya faylini ko'rib chiqamiz. U quyidagi manzilda joylashgan: /etc/samba/smb.conf. Mana u:
# Mehmon foydalanuvchi nomini belgilang. mehmon hisobi = hech kim # nomini ko'rsating netbios name = homeserver # "yozish" ruxsatlarini yoqish - yozish mumkin = ha # Qo'shimcha variant, bu kechikishni olib tashlaydi. soket variantlari = TCP_NODELAY IPTOS_LOWDELAY # Agar kerak bo'lsa, belgilang ishchi guruhi, kompyuterlar joylashgan joyda # (mutlaqo ixtiyoriy parametr) ishchi guruhi = HOMENET # Samba "tinglaydigan" interfeyslarni tanlang. # (shuningdek, ixtiyoriy variant, sukut bo'yicha, barcha interfeyslar tinglanadi) interfeyslar = eth1 wlan0 # Uyda xavfsizlik ayniqsa kerak emas. xavfsizlik = umumiy baham ko'rish = ha # Mehmon mehmonga ruxsat berish OK = ha # Faqat mehmon? Ha. faqat mehmon = ha # Umumiy papkaga yo'l = /cifs/pub # Yozishni o'chirmang. faqat o'qish = yo'q # Bundan tashqari, agar siz CD-ROMga kirish imkoniyatiga qiziqsangiz, samba konfiguratsiyasiga # quyidagi parametrlarni kiriting: soxta oplocks = ha mehmon OK = ha faqat mehmon = ha yo'l = /mnt/cdrom faqat o'qish = ha
Shuningdek, YaST-ga o'rnatilgan samba GUI orqali qo'shimcha konfiguratsiyani amalga oshirish mumkin.

Biz konfiguratsiyaning boshida ko'rsatgan foydalanuvchi, bu misolda u foydalanuvchi hech kim, to'g'ridan-to'g'ri tizimda yaratilishi kerak. Undan so'ra zarur huquqlar(uyda, barcha fayl va papkalarni yaratish, o'chirish, tahrirlash uchun to'liq huquqlarni o'rnatish mantiqan to'g'ri keladi (ya'ni huquqlar 777). Shuningdek, agar siz biron-bir sababga ko'ra fayllarni o'chirish/yaratish imkonsiz bo'lib qoladigan vaziyatga duch kelsangiz - yoki serverdagi papkalardan so'ng buyruqni bajaring:
chmod 777 -R / yo'l
Keling, buni ko'rib chiqaylik, har qanday holatda:
chmod- huquqlarni o'rnatish buyrug'i.
777 - aslida huquqlar, in harf belgisi rwx, rwx, rwx degan ma'noni anglatadi - egasi, guruh (egasi a'zo bo'lgan), hamma uchun o'qish, yozish, huquqlarni bajarish.
-R- rekursiya kaliti, shunda buyruq nafaqat siz ko'rsatgan papka (va unda joylashgan fayllar) uchun ham bajariladi. /yo'l, balki barcha pastki papkalar va ulardagi fayllar uchun ham.
/yo'l- huquqlarni o'rnatmoqchi bo'lgan papkaga yo'l. Agar shunga o'xshash muammolar yuzaga kelsa, xuddi shunday buyruq FTP serveriga mos keladi. Ha, va agar mavjud bo'lsa, biz rezervasyon qilishimiz kerak shunga o'xshash muammolar, keyin katta ehtimollik bilan muammo tizimda yaratilgan foydalanuvchilarda yoki aniqrog'i ularning uy kataloglaridan foydalanish uchun berilgan huquqlarda.

rTorrent.
Yarim avtomatlashtirilgan torrent mijoz.
Aslida, bu oddiy torrent mijozi, ammo uni sozlash imkoniyatlari xilma-xillikka juda boy. Endi biz ushbu mijozning juda foydali funksiyasini tahlil qilamiz. Tasavvur qiling, siz allaqachon samba-ni o'zingizga sozlagansiz uy serveri, serverda joylashgan fayl ombori tarmoq drayveri sifatida kompyuteringizga ulangan bo'lsa, siz o'zingizning kompyuteringizni ochasiz tarmoq drayveri, torrent papkasini oching, u erda musiqa papkasini oching va yuklab olmoqchi bo'lgan musiqa bilan barcha torrent fayllarini u erga ko'chiring va ... tamom, yoting. Ertalab siz u erga qo'ygan barcha torrentlarning xeshlari yuklab olinadi va tekshiriladi (bu erda, albatta, siz qancha torrentni yuklab olishni xohlayotganingizga, ularning vazni va Internet-kanalingizning kengligi qancha ekanligiga bog'liq. ). Qani? Shunday qilib, men yarim yildan beri bu funktsiyadan zavqlanaman.
Keling, buni aniqlaylik.
O'rnatishingiz kerak rtorrent, terminalda quyidagi buyruqni bajaring:
rtorrent ichida fermuar
Rtorrent torrent mijozini yuklab olib, o'rnatganingizdan so'ng, mijozni sozlashingiz kerak. Dastur konfiguratsiya fayli yordamida sozlangan .rtorrent.rc, foydalanuvchining uy katalogiga joylashtirilgan. (Sukut bo'yicha, .rtorrent.rc fayli yo'q. Uni o'zingiz yaratishingiz kerak. Mana, ishchi konfiguratsiya bo'yicha batafsil sharhlar bilan bir misol:
#tengdoshlar almashinuvi? Ha! peer_exchange = ha #bir torrent uchun tengdoshlarning minimal soni min_peers = 1 #torrent uchun tengdoshlarning maksimal soni max_peers = 1000 #maksimal yuklab olish tezligi yuklab olish_stavkasi = 0 #maksimal yuklash tezligi. 1 - cheksiz yuklash_stavkasi = 0 #Yuklab olishlarni saqlash yoki torrentlar qaerdan ekish uchun katalog. katalog = /files/torrents #direktoriya, bu yerda torrentlar holati saqlanadi. #Mana, bu misolda ular sessiya papkasida saqlanadi sessiya = /files/torrents/session/ #rtorrent bu katalogda har 5 soniyada yangi *.torrent #fayllarni tekshiradi #va agar mavjud bo'lsa, ularni yuklab olishga qo'yadi. #schedule = watch_directory ,5,5,load_start=/home/user/torrent_auto_load/ #yangi *.torrent fayllar uchun kataloglarni tekshiradi va yuklab olinganlarni #tegishli papkalar jadvaliga = watch_directory,5,5,"load_start=/files/torrentsga saqlaydi /music/*. torrent,d.set_directory=/files/music" jadvali = watch_directory_2,5,5,"load_start=/files/torrents/video/*.torrent,d.set_directory=/files/video" jadvali = watch_directory_3 ,5,5, "load_start=/files/torrents/video/serial/*.torrent,d.set_directory=/files/video/serial" jadvali = watch_directory_4,5,5,"load_start=/files/torrents/progs/ *.torrent,d .set_directory=/files/progs" jadvali = watch_directory_5,5,5,"load_start=/files/torrents/games/*.torrent,d.set_directory=/files/o'yinlar" jadvali = watch_directory_6,5, 5,"load_start= /files/torrents/unsorted/*.torrent,d.set_directory=/files/unsorted" jadvali = watch_directory_7,5,5,"load_start=/files/torrents/doc/*.torrent,d.set_directory =/files/doc "jadval = watch_directory_8,5,5,"load_start=/files/torrents/doc/books/*.torrent,d.set_directory=/files/doc/books" #Musiqa katalogidan torrent fayllarni o'chirish ( chunki bu # Masalan, musiqa papkasi allaqachon yuklab olingan "katalog" (№1) sifatida ketadi. jadval = untied_directory,7,5,remove_untied= #mijoz ochadigan port (yoki bir nechta portlar) #ma'lumotlar almashinuvi porti_diapazoni = 40890-40890 #ma'lumotlar almashinuvi uchun portni tasodifiy tanlash. IN Ushbu holatda bu #o'chirilgan port_tasodifiy = yo'q #yuklab olingandan so'ng torrent xeshini tekshiring check_hash = ha #sessiyani saqlang_save = yes #shifrlangan kiruvchi ulanishlarni qabul qiling, #shifrlanmagan chiquvchi ulanishlarni o'rnating, #agar xato qaytarsa, shifrlash bilan takrorlang, keyin #plaintext afzal. #shifrlangan ulanishlarni o'rnatish shifrlash = kirishga_ ruxsat berish, yoqish_qayta urinish, afzal_plaintext #udp use_udp_trackers = ha


Rasm 2. rTorrent dasturining asosiy oynasi

Ana xolos. Keyinchalik qiyin hiyla - konsolni oching va yozing (siz serverga ssh orqali ham kirishingiz mumkin):
ekran rtorrent
Keyinchalik, torrent mijozi terminalda ochiladi, siz uni qo'shimcha sozlashingiz va disk raskadrovka qilishingiz mumkin. Endi Ctrl+A, so'ng Ctrl+D sehrli tugmalar birikmalarini bosing va konsol sizni xursandchilik bilan xabardor qiladi:


3-rasm. rTorrent dasturi jarayonining “Skrining”.

Bu sizning torrent mijozingiz jarayoni "zakrinin", ya'ni ishlayotganligini, lekin ko'rinmasligini ko'rsatadi. Har doim hamma narsaga qiziqadigan tarafdorlar uchun bu haqda o'qishingiz mumkin bu yordamchi dastur Men boshimni bunday narsalar bilan yuklamoqchi emasman (garchi ular juda qiziqarli va tarbiyaviy bo'lsa-da va tez-tez ishlatiladi).
Agar mijozni qayta ochish kerak bo'lsa, yozing:
ekran -r
MUHIM: Agar siz torrent mijozini ildiz ostida ishga tushirishni istasangiz (root, ya'ni orqali sudo buyrug'i) keyin siz ildiz foydalanuvchining ildiz katalogida konfiguratsiya faylini yaratishingiz kerak, shuningdek, ekran -r siz uni "ekrandan" o'tkazgan foydalanuvchi ostida ham bajarilishi kerak.
Shunday qilib, siz doimo fonda osilgan torrent mijoziga ega bo'lasiz, u sizning serveringiz ishlayotganicha yuklab oladi va tarqatadi.

Ushbu "muhim" eslatmada men ushbu maqolani tugatmoqchiman. E'tiboringiz uchun rahmat va ha, qidiruv tizimidan foydalaning Google, u zo'r!

Agar mavzuni noto'g'ri qo'ygan bo'lsam, uni qaerga ko'chirishimni ayting.

F TP (Fayl uzatish protokoli) standart hisoblanadi tarmoq protokoli, fayllarni masofaviy tarmoqqa va tarmoqdan uzatish uchun ishlatiladi. Xavfsizroq va tezroq ma'lumotlarni uzatish uchun SCP dan foydalaning.

Linux uchun ochiq bo'lgan ko'plab FTP serverlari mavjud manba kodi. Eng mashhur va keng qo'llaniladigan PureFTPd, ProFTPD va vsftpd. Ushbu maqolada biz vsftpd ni o'rnatamiz. Bu barqaror, xavfsiz va tezkor FTP serveridir. Shuningdek, biz sizga vsftpd-ni foydalanuvchining uy katalogiga kirishini cheklash va SSL/TLS yordamida barcha uzatishlarni shifrlash uchun qanday sozlashni ko'rsatamiz.

Ushbu maqola Ubuntu 18.04 uchun yozilgan bo'lsa-da, xuddi shu ko'rsatmalar Ubuntu 16.04 va Debian-ga asoslangan har qanday tarqatish, shu jumladan Debian uchun ham amal qiladi. Linux Mint va Elementar OS.

Old shartlar

Ubuntu 18.04 da vsftpd o'rnatilmoqda

Vsftpd paketi omborlarda mavjud. Uni o'rnatish uchun quyidagi buyruqlarni bajaring:

Sudo apt update sudo apt install vsftpd

O'rnatish jarayoni tugagandan so'ng vsftpd xizmati avtomatik ravishda ishga tushadi. Xizmat holatini chop etish orqali tekshiring:

Sudo systemctl holati vsftpd

Chiqish shunga o'xshash bo'lib, vsftpd xizmati faol va ishlayotganligini ko'rsatadi:

* vsftpd.service - vsftpd FTP server Yuklangan: yuklangan (/lib/systemd/system/vsftpd.service; yoqilgan; sotuvchi oldindan o'rnatilgan: yoqilgan) Faol: 2018-10-15 03:38:52 PDTdan beri faol (ishlayapti); 10 daqiqa oldin Asosiy PID: 2616 (vsftpd) Vazifalar: 1 (chegara: 2319) CGroup: /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf

Vsftpd o'rnatilmoqda

Vsftpd serverini /etc/vsftpd.conf faylini tahrirlash orqali sozlash mumkin. Aksariyat sozlamalar konfiguratsiya faylida hujjatlashtirilgan. Barcha mavjud variantlar uchun vsftpd rasmiy sahifasiga tashrif buyuring.

Keyingi bo'limlarda biz ba'zilarini ko'rib chiqamiz muhim sozlamalar xavfsiz vsftpd o'rnatishni sozlash uchun talab qilinadi.

Vsftpd konfiguratsiya faylini ochish bilan boshlang:

Sudo nano /etc/vsftpd.conf

1. FTP orqali kirish

Biz faqat mahalliy foydalanuvchilarga FTP serveriga kirishga ruxsat beramiz, anonim_enable va local_enable direktivalarini topamiz va konfiguratsiyangiz quyidagi qatorlarga mos kelishini tekshiramiz:

/etc/vsftpd.conf

Anonymous_enable=YO'Q local_enable=HA

2. Yuklab olishni yoqing

O'zgartirishga ruxsat berish uchun write_enable sozlamasidan izohni olib tashlang fayl tizimi, masalan, fayllarni yuklab olish va o'chirish.

/etc/vsftpd.conf

Write_enable=HA

3. Chroot

FTP foydalanuvchilarining uy kataloglaridan tashqaridagi har qanday fayllarga kirishiga yo'l qo'ymaslik uchun chroot sozlamasidan izohni olib tashlang.

/etc/vsftpd.conf

Chroot_local_user=HA

Odatiy bo'lib, xavfsizlik zaifliklarining oldini olish uchun, chroot yoqilgan bo'lsa, vsftp, agar foydalanuvchilar bloklangan katalog yozish mumkin bo'lsa, fayllarni yuklashni rad etadi.

  • 1-usul.– Yuklab olishga ruxsat berishning tavsiya etilgan usuli chroot-ni yoqish va FTP kataloglarini sozlashdir. Ushbu maqolada biz foydalanuvchining uyida chroot vazifasini bajaradigan va fayllarni yuklash uchun yuklashlar katalogini yozadigan ftp katalogini yaratamiz.

    /etc/vsftpd.conf

    User_sub_token=$USER local_root=/home/$USER/ftp

  • 2-usul. Boshqa variant esa, vsftpd konfiguratsiya fayliga quyidagi direktivani qo'shishdir. Agar foydalanuvchining uy katalogiga yozish huquqini berish kerak bo'lsa, ushbu parametrdan foydalaning.

    /etc/vsftpd.conf

    Allow_writeable_chroot=HA

4. Passiv FTP ulanishlari

vsftpd passiv FTP ulanishlari uchun har qanday portdan foydalanishi mumkin. Biz minimal va maksimal port diapazonini belgilaymiz va keyin xavfsizlik devorida diapazonni ochamiz.

Konfiguratsiya fayliga quyidagi qatorlarni qo'shing:

/etc/vsftpd.conf

Pasv_min_port=30000 pasv_max_port=31000

5. Foydalanuvchiga kirishni cheklash

Faqat ma'lum foydalanuvchilarga FTP serveriga kirishga ruxsat berish uchun faylning oxiriga quyidagi qatorlarni qo'shing:

/etc/vsftpd.conf

Userlist_enable=HA userlist_file=/etc/vsftpd.user_list userlist_deny=YOQ

Ushbu parametr yoqilganda, /etc/vsftpd.user_list fayliga foydalanuvchi nomlarini qo'shish orqali qaysi foydalanuvchilar tizimga kirishi mumkinligini aniq belgilashingiz kerak (har bir satrda bitta foydalanuvchi).

6. SSL/TLS yordamida uzatishni ta'minlash

SSL/TLS yordamida FTP o'tkazmalarini shifrlash uchun sizda SSL sertifikatiga ega bo'lishingiz va undan foydalanish uchun FTP serveringizni sozlashingiz kerak.

Siz ishonchli sertifikat organi tomonidan imzolangan sertifikatdan foydalanishingiz yoki o'zingiz imzolagan sertifikat yaratishingiz mumkin.

Agar sizda FTP serveringizning IP manziliga ishora qiluvchi domen yoki subdomeningiz bo'lsa, shifrlash uchun bepul SSL sertifikatini osongina yaratishingiz mumkin.

Ushbu maqolada biz openssl buyrug'i yordamida o'z-o'zidan imzolangan SSL sertifikatini yaratamiz.

Quyidagi buyruq 2048 bitli shaxsiy kalit va 10 yil davomida amal qiladigan o'z-o'zidan imzolangan sertifikat yaratadi. Shaxsiy kalit ham, sertifikat ham bitta faylda saqlanadi:

Sudo openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Endi SSL sertifikati yaratilgan, vsftpd konfiguratsiya faylini oching:

Sudo nano /etc/vsftpd.conf

rsa_cert_file va rsa_private_key_file direktivalarini toping, fayl yo'lida ularning pam qiymatini o'zgartiring va ssl_enable direktivasini YES ga o'rnating:

/etc/vsftpd.conf

Rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=HA

Agar boshqacha ko'rsatilmagan bo'lsa, FTP server xavfsiz ulanishlarni ta'minlash uchun faqat TLS dan foydalanadi.

Vsftpd xizmatini qayta ishga tushiring

Tahrirlashni tugatganingizdan so'ng, vsftpd konfiguratsiya fayli (sharhlar bundan mustasno) quyidagicha ko'rinishi kerak:

/etc/vsftpd.conf

Tinglash=YO'Q listen_ipv6=HA anonymous_enable=YO'Q local_enable=HA write_enable=HA dirmessage_enable=HA use_localtime=HA xferlog_enable=HA connect_from_port_20=HA chroot_local_user=HA safe_chroot_run_enable=HA safe_chroot_dirice/servts_pvs/ d rsa_cert_file=/ etc/ssl/ private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=HA user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_0000 user=enlist=v_0000 user_0000000000000000user_sub_token=HA ftpd.us er_list userlist_deny=NO

O'zgarishlar kuchga kirishi uchun faylni saqlang va vsftpd xizmatini qayta ishga tushiring:

Sudo systemctl vsftpd-ni qayta ishga tushiring

Xavfsizlik devorini ochish

Agar siz UFW xavfsizlik devoridan foydalansangiz, FTP trafigiga ruxsat berishingiz kerak.

21 (FTP buyruq porti), 20 (FTP ma'lumotlar porti) va 30000-31000 (passiv port diapazoni) portlarini ochish uchun quyidagi buyruqlarni bajaring:

Sudo ufw ruxsat 20:21/tcp sudo ufw ruxsat 30000:31000/tcp

Bloklashni oldini olish uchun biz 22-portni ochamiz:

Sudo ufw OpenSSH ga ruxsat beradi

UFW-ni o'chirish va qayta yoqish orqali UFW qoidalarini qayta yuklang:

Sudo ufw disablesudo ufw yoqish

O'zgarishlarni sinab ko'rish uchun:

Sudo ufw status Status: faol Harakat qilish uchun -- ------ ---- 20:21/tcp RUXSAT BERISH Hamma joyda 30000:31000/tcp RUXSAT BERISH Hamma joyda OpenSSH RUXSAT BERISH Hamma joyda 20:21/tcp (v6) Hamma joyda RUXSAT BERISH (v6) ) 30000:31000/tcp (v6) Hamma joyda RUXSAT BERISH (v6) OpenSSH (v6) Hamma joyda RUXSAT BERISH (v6)

FTP foydalanuvchisini yaratish

FTP serverimizni sinab ko'rish uchun biz yangi foydalanuvchi yaratamiz.

  • Agar sizda allaqachon FTP ruxsatini bermoqchi bo'lgan foydalanuvchi bo'lsa, 1-bosqichni o'tkazib yuboring.
  • Agar konfiguratsiya faylingizda allow_writeable_chroot=YES o'rnatgan bo'lsangiz, 3-bosqichni o'tkazib yuboring.
  1. newftpuser nomli yangi foydalanuvchi yarating: sudo adduser newftpuser
  2. Foydalanuvchini ruxsat etilgan FTP foydalanuvchilari ro'yxatiga qo'shing: echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list
  3. FTP katalog daraxtini yarating va to'g'ri ruxsatlarni o'rnating: sudo mkdir -p /home/newftpuser/ftp/uploadsudo chmod 550 /home/newftpuser/ftpsudo chmod 750 /home/newftpuser/ftp/uploadsudo chown -R newftpuser: /home/ /ftp

    Oldingi bo'limda muhokama qilinganidek, foydalanuvchi o'z fayllarini ftp/upload katalogiga yuklashi mumkin bo'ladi.

Yoniq bu daqiqa FTP serveringiz to'liq ishlaydi va siz o'z serveringizga FileZilla kabi TLS shifrlashdan foydalanish uchun sozlanishi mumkin bo'lgan har qanday qurilma bilan ulanishingiz kerak.

Shellga kirishni o'chirish

Odatiy bo'lib, foydalanuvchi yaratishda, agar aniq belgilanmagan bo'lsa, foydalanuvchi SSH serveriga kirish huquqiga ega bo'ladi.

Shellga kirishni o'chirish uchun biz yaratamiz yangi qobiq Bu shunchaki foydalanuvchiga o'zlarining ekanligini bildiruvchi xabarni chop etadi qayd yozuvi faqat FTP kirish bilan cheklangan.

/bin/ftponly qobig'ini yarating va uni bajariladigan qilib qo'ying:

Echo -e "#!/bin/sh\necho "Ushbu hisob qaydnomasi faqat FTP ruxsati bilan cheklangan."" | sudo tee -a /bin/ftponlysudo chmod a+x /bin/ftponly

Yangi qobiqni /etc/shells faylidagi joriy qobiqlar ro'yxatiga qo'shing

Echo "/bin/ftponly" | sudo tee -a /etc/shells

Foydalanuvchi qobig'ini /bin/ftponly ga o'zgartiring:

Sudo usermod newftpuser -s /bin/ftponly

Xulosa

Ushbu maqolada siz o'zingizning kompyuteringizda xavfsiz va tezkor FTP serverini o'rnatish va sozlashni o'rgandingiz Ubuntu tizimi 18.04.

File Transfer Protocol (FTP) - bu kompyuterlar o'rtasida fayllarni yuklab olish uchun TCP protokoli. Ilgari u yuklash uchun ham ishlatilgan, ammo bu usul shifrlashdan foydalanmagani uchun foydalanuvchi hisob ma'lumotlari, shuningdek, aniq uzatilgan ma'lumotlar va osonlik bilan tutib olinadi. Shunday qilib, agar siz bu yerda fayllarni xavfsiz yuklash va yuklab olish usulini izlayotgan bo'lsangiz, buning o'rniga masofaviy boshqaruvdagi OpenSSH bo'limiga qarang.

FTP mijoz/server modelida ishlaydi. Server komponenti FTP demoni deb ataladi. U doimiy ravishda uzoq mijozlarning FTP so'rovlarini tinglaydi. So'rov qabul qilinganda, u loginni boshqaradi va ulanishni o'rnatadi. Seans davomida u FTP mijozi tomonidan yuborilgan har qanday buyruqni bajaradi.

FTP serveriga kirish ikki yo'l bilan boshqarilishi mumkin:

Anonim rejimda masofaviy mijozlar FTP serveriga "anonim" yoki "ftp" deb nomlangan standart foydalanuvchi hisobidan foydalanishlari va parol sifatida elektron pochta manzilini yuborishlari mumkin. Autentifikatsiya qilingan rejimda foydalanuvchining hisob qaydnomasi va paroli bo'lishi kerak. Ushbu oxirgi tanlov juda xavflidir va maxsus holatlardan tashqari foydalanilmasligi kerak. Agar siz fayllarni xavfsiz o'tkazmoqchi bo'lsangiz, OpenSSH-Server bo'limida SFTP ga qarang. Foydalanuvchining FTP server kataloglari va fayllariga kirishi tizimga kirishda foydalanilgan hisob uchun belgilangan ruxsatlarga bog'liq. Umumiy qoida sifatida, FTP demoni FTP serverining asosiy katalogini yashiradi va uni FTP Bosh sahifa katalogiga o'zgartiradi. Bu qolgan qismini yashiradi fayl tizimi masofaviy seanslardan.

vsftpd - FTP serverini o'rnatish

vsftpd - bu Ubuntu-da mavjud bo'lgan FTP demonidir. O'rnatish, sozlash va texnik xizmat ko'rsatish oson. Vsftpd o'rnatish uchun Siz .. qila olasiz; siz ... mumkin quyidagi buyruqni bajaring:

sudo apt install vsftpd

Anonim FTP konfiguratsiyasi

Odatiy bo'lib, vsftpd anonim yuklab olishga ruxsat berish uchun sozlanmagan. Agar siz anonim yuklab olishni yoqishni istasangiz /etc/vsftpd.conf-ni o'zgartiring:

anonymous_enable=Ha

O'rnatish vaqtida /srv/ftp uy katalogi bilan ftp foydalanuvchisi yaratiladi. Bu standart FTP katalogidir.

Agar siz ushbu manzilni, masalan, /srv/files/ftp ga o'zgartirmoqchi bo'lsangiz, shunchaki boshqa joyda katalog yarating va ftp foydalanuvchisining uy katalogini o'zgartiring:

sudo mkdir /srv/files/ftp sudo usermod -d /srv/files/ftp ftp

O'zgartirishni amalga oshirgandan so'ng, vsftpd ni qayta ishga tushiring:

Nihoyat, anonim FTP orqali taqdim qilmoqchi bo'lgan har qanday fayl va kataloglarni /srv/files/ftp ga yoki sukut bo'yicha foydalanmoqchi bo'lsangiz /srv/ftp ga nusxalang.

Foydalanuvchi tomonidan tasdiqlangan FTP konfiguratsiyasi

Odatiy bo'lib vsftpd tizim foydalanuvchilarini autentifikatsiya qilish va ularga fayllarni yuklab olish imkonini berish uchun tuzilgan. Agar foydalanuvchilarga fayllarni yuklay olishlarini istasangiz, /etc/vsftpd.conf ni tahrirlang:

write_enable=HA

Endi vsftpd-ni qayta ishga tushiring:

sudo systemctl vsftpd.service-ni qayta ishga tushiring

Endi tizim foydalanuvchilari FTP-ga kirganda, ular yuklab olish, yuklash, katalog yaratish va h.k. mumkin bo'lgan uy kataloglarida boshlanadi.

Xuddi shunday, sukut bo'yicha, anonim foydalanuvchilarga fayllarni FTP serveriga yuklashga ruxsat berilmaydi. Ushbu sozlamani o'zgartirish uchun quyidagi qatorni izohdan olib tashlashingiz va vsftpd ni qayta ishga tushirishingiz kerak:

anon_upload_enable=HA

Anonim FTP yuklanishini yoqish juda katta xavfsizlik xavfi bo'lishi mumkin. To'g'ridan-to'g'ri Internetdan kiradigan serverlarda anonim yuklashni yoqmaslik yaxshiroqdir.

Konfiguratsiya fayli ko'plab konfiguratsiya parametrlaridan iborat. Har bir parametr haqida ma'lumot konfiguratsiya faylida mavjud. Shu bilan bir qatorda, har bir parametr tafsilotlari uchun man sahifasiga, man 5 vsftpd.conf ga murojaat qilishingiz mumkin.

FTP xavfsizligi

/etc/vsftpd.conf-da vsftpd-ni xavfsizroq qilishga yordam beradigan variantlar mavjud. Masalan, foydalanuvchilar o'zlarining uy kataloglari bilan cheklanishi mumkin: izohni bekor qilish:

chroot_local_user=HA

Bundan tashqari, foydalanuvchilarning ma'lum ro'yxatini faqat ularning uy kataloglari bilan cheklashingiz mumkin:

chroot_list_enable=HA chroot_list_file=/etc/vsftpd.chroot_list

Yuqoridagi variantlarni izohlagandan so'ng, har bir satrda bittadan foydalanuvchilar ro'yxatini o'z ichiga olgan /etc/vsftpd.chroot_list yarating. Keyin vsftpd-ni qayta ishga tushiring:

sudo systemctl vsftpd.service-ni qayta ishga tushiring

Bundan tashqari, /etc/ftpusers fayli FTP kirishiga ruxsat berilmagan foydalanuvchilar ro'yxatidir. Odatiy ro'yxatga root, demon, hech kim va boshqalar kiradi. Qo'shimcha foydalanuvchilar uchun FTP kirishni o'chirish uchun ularni ro'yxatga qo'shish kifoya.

FTP ham FTPS yordamida shifrlanishi mumkin. SFTP dan farqli o'laroq, FTPS xavfsiz soket qatlami (SSL) orqali FTP hisoblanadi. SFTP shifrlangan SSH ulanishi orqali FTP kabi seansdir. Asosiy farq shundaki, SFTP foydalanuvchilari tizimda nologin qobig'i o'rniga qobiq hisobiga ega bo'lishlari kerak. Barcha foydalanuvchilarni qobiq bilan ta'minlash umumiy veb-xost kabi ba'zi muhitlar uchun ideal bo'lmasligi mumkin. Biroq, bunday hisoblarni faqat SFTP bilan cheklash va qobiq o'zaro ta'sirini o'chirish mumkin. Qo'shimcha ma'lumot uchun OpenSSH-Server bo'limiga qarang.

FTPS ni sozlash uchun /etc/vsftpd.conf ni tahrirlang va pastki qismida quyidagilarni qo'shing:

Shuningdek, sertifikat va kalit bilan bog'liq variantlarga e'tibor bering:

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Odatiy bo'lib, bu parametrlar ssl-cert paketi tomonidan taqdim etilgan sertifikat va kalitga o'rnatiladi. Ishlab chiqarish muhitida ular sertifikat va maxsus xost uchun yaratilgan kalit bilan almashtirilishi kerak. Sertifikatlar haqida ko'proq ma'lumot olish uchun Sertifikatlarga qarang.

Endi vsftpd ni qayta ishga tushiring va anonim bo'lmagan foydalanuvchilar FTPS dan foydalanishga majbur bo'ladi:

sudo systemctl vsftpd.service-ni qayta ishga tushiring

/usr/sbin/nologin qobig'i bo'lgan foydalanuvchilarga FTP-ga kirishiga ruxsat berish uchun, lekin qobiqqa kirish imkoniga ega bo'lmaslik uchun, nologin qobig'ini qo'shib /etc/shells-ni tahrirlang:

# /etc/shells: yaroqli kirish qobiqlari /bin/csh /bin/sh /usr/bin/es /usr/bin/ksh /bin/ksh /usr/bin/rc /usr/bin/tcsh /bin/tcsh / usr/bin/esh /bin/dash /bin/bash /bin/rbash /usr/bin/screen /usr/sbin/nologin

Bu zarur, chunki sukut bo'yicha vsftpd autentifikatsiya qilish uchun PAM dan foydalanadi va /etc/pam.d/vsftpd konfiguratsiya fayli quyidagilarni o'z ichiga oladi:

auth talab qilinadi pam_shells.so

Shells PAM moduli /etc/shells faylida ko'rsatilgan qobiqlarga kirishni cheklaydi.

Eng mashhur FTP mijozlari FTPS yordamida ulanish uchun sozlanishi mumkin. Lftp buyruq qatori FTP mijozi FTPS dan ham foydalanish imkoniyatiga ega.

Ushbu qo'llanmada biz Ubuntu OS bilan ishlaydigan VPS-ga FTP serverini qanday o'rnatishni aytib beramiz. Biz UNIX tizimlari uchun eng tez va xavfsiz FTP serveri hisoblangan vsftpd serveridan foydalanamiz.

FTP yoki F bilan T transfer P rotocol — tarmoqdagi fayllarni qabul qilish va uzatish protokoli. Mijoz/server modeli va SSL/TLS xavfsizligidan foydalangan holda FTP foydalanuvchilarga ma'lumotlarni TCP/IP protokoli orqali uzatish orqali xavfsiz, samarali va ishonchli masofaviy kompyuterlar bilan fayllarni almashish imkonini beradi.

FTP HTTP yoki SMTP ga o'xshash ishlaydi, yagona farq shundaki, u ma'lumotlarni serverdan foydalanuvchiga yoki Internet orqali elektron pochtaga emas, balki jo'natuvchidan qabul qiluvchiga xavfsiz uzatish uchun javobgardir. Ushbu qo'llanma operatsion tizimda FTP serverini yaratishni o'z ichiga oladi Ubuntu versiyalari 16.04.

Eslatma: Joriy qoʻllanma Ubuntu OS 16.04 versiyasiga asoslangan. Lekin Ubuntu 14.04 da FTP serverini yaratish uchun bir xil amallarni qo'llashingiz mumkin.

Avvalo, vsftpd demonini o'rnatishdan oldin barcha paketlarni yangilaymiz. Buning uchun buyruqni bajaring:

Sudo apt-get yangilanishi

Barcha jarayonlar tugashini kuting va siz tasdiqlash xabarini ko'rasiz:

Keyin quyidagi buyruq bilan vsftpd demonini o'rnating:

Sudo apt-get install vsftpd

Tasdiqlashni so'rab bildirishnoma olasiz, bosing Y Va Kirish o'rnatishni davom ettirish uchun.

O'rnatish tugallangach, toza sozlamalar faylidan boshlashimiz uchun asl konfiguratsiya faylining zaxira nusxasini yarataylik:

Sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original

Endi biz keyingi bosqichga o'tishimiz va xavfsizlik devorini sozlashimiz mumkin.

2-qadam - xavfsizlik devorida FTP trafigiga ruxsat bering

Ubuntu OS da o'rnatilgan FTP serveriga tashqi dunyo bilan aloqa o'rnatishga ruxsat berish uchun siz xavfsizlik devori orqali yo'lni sozlashingiz kerak. Birinchidan, xavfsizlik devori yoqilganligini bilib olaylik. Holatni aniqlash uchun quyidagi buyruqni bajaring:

Sudo ufw holati

Agar shunday xabarni ko'rsangiz:

Ufw: buyruq topilmadi

Bu xavfsizlik devori o'rnatilmaganligini anglatadi va siz keyingi bosqichga o'tishingiz mumkin.

Agar chiqishda qoidalar yoki xavfsizlik devori faol ekanligi haqida xabar paydo bo'lsa, siz FTP trafigini qanday qayta ishlashini aniqlashingiz kerak. Keling, quyidagilarni bajaramiz, FTP trafigi uchun 20 va 21 portlarni oching; 40000-50000 portlari oxir-oqibat konfiguratsiya faylida o'rnatiladigan passiv port diapazoni sifatida saqlanadi; TLS yoqilganda port 990 ishlatiladi. Keling, quyidagi buyruqlarni bajaramiz:

Sudo ufw ruxsat 20/tcp sudo ufw ruxsat 21/tcp sudo ufw ruxsat 990/tcp sudo ufw ruxsat 40000:50000/tcp

Endi vaziyatga qaraylik:

Natija shunday ko'rinadi:

Chiqish holati : faol Harakat qilish uchun -- -- -- -- -- -- 990 / tcp RUXSAT BERISH Hamma joyda 20 / tcp Hamma joyda RUXSAT BERISH 21 / tcp Hamma joyda RUXSAT BERISH 40000 : 50000 / tcp RUXSAT BERISH Hamma joyda 20 / tcp Hamma joyda (v6) v6) 21 / tcp (v6) Hamma joyda RUXSAT BERISH (v6) 990 / tcp (v6) Hamma joyda RUXSAT BERISH (v6) 40000 : 50000 / tcp (v6) Hamma joyda RUXSAT BERISH (v6)

Endi barcha kerakli portlar ochiq va biz uchun mavjud va biz keyingi bosqichga o'tishimiz mumkin.

3-qadam - Foydalanuvchilar katalogini yarating

Uchinchi bosqichda Ubuntu yaratish FTP serverida siz FTP orqali ulanadigan foydalanuvchini tanlashingiz kerak. Buning uchun quyidagi buyruqni bajarib, yangi foydalanuvchi yarating:

sudo adduser aleks

So'ralganda parol va boshqa ma'lumotlarni to'ldiring. Ideal holda, xavfsizlik nuqtai nazaridan, FTP ma'lum bir katalog bilan cheklanishi kerak. Vsftpd ushbu himoyani yaratish uchun chroot-dan foydalanadi. Chroot yoqilgan bo'lsa, mahalliy foydalanuvchi o'zining uy katalogi bilan cheklanadi (standart). Biroq, vsftpd xavfsizligi tufayli foydalanuvchi katalogda hech narsa yarata olmasligi mumkin. Biz uy katalogidan yozish ruxsatlarini olib tashlamayapmiz, buning o'rniga fayllarni saqlashga imkon beruvchi, yozilishi mumkin bo'lgan holda chroot kabi harakat qiladigan ftp katalogini yaratamiz. FTP katalogini yaratish uchun ushbu buyruqdan foydalaning:

sudo mkdir /home/alex/ftp

Egalikni belgilash:

sudo chown hech kim: nogroup /home/alex/ftp

Nihoyat, yozish ruxsatlarini olib tashlang:

sudo chmod a - w/home/alex/ftp

Endi quyidagi buyruqdan foydalanib, ruxsatlarni tekshiring:

sudo ls - la /home/alex/ftp

Chiqishda biz shunga o'xshash narsani ko'ramiz:

jami 8 dr - xr - xr - x 2 hech kim nogroup 4096 29 iyun 11:32. drwxr - xr - x 3 aleks aleks 4096 29 iyun 11:32. .

Keyingi bosqichda biz kataloglar va ularning ruxsatnomalarini o'z ichiga olgan faylni yaratamiz:

sudo mkdir /home/alex/ftp/files sudo chown alex: alex /home/alex/ftp/files

Va nihoyat, biror narsani sinab ko'rishda foydalanadigan katalogga test faylini qo'shamiz:

echo "vsftpd namuna fayli" | sudo tee /home/alex/ftp/files/namuna. Xabar

4-qadam - vsftpd-ni sozlash

Ubuntu VPS-da FTP serverini o'rnatishni davom ettirish uchun biz vsftpd va FTP kirishimizni sozlashimiz kerak. Ushbu qo'llanmada biz bir foydalanuvchiga mahalliy konsol yordamida FTP orqali ulanishga ruxsat beramiz. Buning uchun zarur bo'lgan ikki bosqichli sozlash allaqachon konfiguratsiya faylida o'rnatilgan ( vsftpd.conf). Birinchidan, fayldagi sozlamalar quyida sanab o'tilganlarga mos kelishini tekshiring:

sudo nano /etc/vsftpd. konf. . . # Anonim FTP ga ruxsat berilsinmi? (Sukut bo'yicha o'chirilgan). anonymous_enable = YO'Q # # Mahalliy foydalanuvchilarga tizimga kirishga ruxsat berish uchun izohni olib tashlang. local_enable = YES. . .

Xuddi shu faylda o'chirishni davom ettiramiz # yoqish; ishga tushirish write_enable:

. . . write_enable = HA. . .

FTP orqali ulanayotgan foydalanuvchi ruxsat etilgan katalog ichidagi fayllarga kirish huquqiga ega ekanligiga ishonch hosil qilish uchun biz Chroot-ga izohni ham olib tashlaymiz:

. . . chroot_local_user = YES. . .

Bir nechta yangi qiymatlarni qo'lda qo'shish kerak bo'ladi. Siz ularni shunchaki faylning oxiriga qo'yishingiz mumkin. Boshida, user_sub_token katalog yo'liga local_root qo'shing. Bu konfiguratsiya joriy foydalanuvchi va keyinroq qo'shiladigan boshqa foydalanuvchi uchun ishlashiga imkon beradi:

user_sub_token=$USER local_root=/home/$USER/ftp

Etarlicha ulanishlar mavjudligiga ishonch hosil qilish uchun biz konfiguratsiya faylida ishlatiladigan portlar sonini cheklaymiz:

pasv_min_port = 40000 pasv_max_port = 50000

Ushbu qo'llanmada biz individual ravishda kirish huquqini berishni rejalashtirmoqdamiz, shuning uchun sozlamalarni faqat ro'yxatga bevosita qo'shilgan foydalanuvchilarga ruxsat beradigan qilib o'rnatamiz:

userlist_enable = YES userlist_file = /etc/vsftpd. userlist userlist_deny = NO

Bayroq userlist_dey"YO'Q" ga o'rnatilganda, faqat ro'yxatdagi foydalanuvchilar kirish huquqiga ega bo'lsa, mantiqni almashtirish uchun javobgardir. Tugallangach, bosing CTRL+X va faylga o'zgarishlarni saqlashni tasdiqlang.

Va nihoyat, foydalanuvchini yaratish va faylga qo'shishni davom ettiramiz:

echo "alex" | sudo tee - a /etc/vsftpd . foydalanuvchi roʻyxati

Buyruqni ishga tushirish orqali foydalanuvchi haqiqatan ham faol ekanligini tekshirib ko'raylik:

cat /etc/vsftpd. foydalanuvchi roʻyxati

Xulosa shunday bo'lishi kerak aleks”, skrinshotda ko'rsatilganidek:

Sozlamalarni o'zgartirishni boshlash uchun quyidagi buyruq yordamida demonni qayta ishga tushiring:

sudo systemctl vsftpd-ni qayta ishga tushiring

5-qadam - xavfsiz FTP yaratish

Odatiy bo'lib, FTP hech qanday ma'lumotlarni shifrlamaydi, shuning uchun biz xavfsizlikni ta'minlash uchun TLS/SSL dan foydalanamiz. Birinchi qadam sifatida biz SSL sertifikatini yaratishimiz va undan foydalanishimiz kerak Ubuntu himoyasi FTP serverlari. Birinchidan, quyidagi buyruqni bajaramiz:

Sudo openssl req -x509 -tugunlar -kunlar 365 -yangi kalit rsa:2048 -keyout /etc/ssl/private/vsftpd.pem -out /etc/ssl/private/vsftpd.pem

Bayroq - kunlar sertifikatni bir yil davomida amal qiladi va biz 2048-bitni yoqamiz shaxsiy kalit Xuddi shu jamoada RSA. Kerakli ma'lumot so'ralganda, uni taqdim etilgan maydonga kiriting.

Sertifikatni yaratgandan so'ng, konfiguratsiya faylini yana oching:

Sudo nano /etc/vsftpd.conf

Fayl oxirida "" bilan qator mavjud. _rsa" Ushbu ikki qatorni izohlang:

# rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem # rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

Buning o'rniga biz konfiguratsiya faylini biz yaratgan sertifikatga yo'naltiramiz. Ushbu qatorlarni qo'shing:

Rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem

Endi biz SSL-ni yoqamiz va faqat SSL yoqilgan foydalanuvchilar biz bilan bog'lanishi mumkinligiga ishonch hosil qilamiz. Qiymatni o'zgartiring ssl_enable yoqilgan HA:

ssl_enable = HA

Endi xavfsizlikni yaratishni davom ettirish uchun quyidagi qatorlarni qo'shing (bu SSL yordamida har qanday anonim ulanishlarni oldini oladi):

Allow_anon_ssl=Yo'q force_local_data_ssl=HA force_local_logins_ssl=HA

TLS ni sozlang:

Ssl_tlsv1=HA ssl_sslv2=YO‘Q ssl_sslv3=YO‘Q

Bu erda biz yana 2 ta variantni qo'shamiz. Birinchidan, SSL-ni qayta ishlatish shart emas, chunki u uzilishlarga olib kelishi mumkin katta miqdor mijozlar. Ikkinchidan, biz juda xavfsiz shifrlash kodidan foydalanamiz, bu kalit uzunligi 128 bitga teng (yoki undan kattaroq) degan ma'noni anglatadi.

Require_ssl_reuse=NO ssl_ciphers=YUKOR

O'zgarishlar kuchga kirishi uchun yana qaytadan boshlaymiz:

Sudo systemctl vsftpd-ni qayta ishga tushiring

Ajoyib! Shunday qilib, siz Ubuntu VPS-da FTP serverini SSL/TLS protokoli bilan ishlash uchun sozladingiz.

6-qadam – FileZilla yordamida ulanishni tekshirish

Bugun FTP mijozlari TLS shifrlashni o'rnatishni qo'llab-quvvatlang, shuning uchun bu bizning Ubuntu FTP serverimiz kerakli darajada ishlayotganligini tekshirish uchun ajoyib imkoniyatdir. Ulanishni tekshirish uchun biz dan foydalanamiz. Boshlash uchun belgini bosish orqali FileZilla-ni ishga tushiring Sayt menejeri.

Tugmani bosing Yangi sayt paydo bo'lgan oynada Ubuntu FTP serveri haqidagi ma'lumotlarni to'ldirishni boshlang.

Yangi yaratilgan Ubuntu FTP serveringiz haqidagi ma'lumotlar bilan kerakli maydonlarni to'ldiring. Biz uni TLS yordamida sozlaganimiz sababli, shifrlash sozlamalarini "" orqali tekshirishimiz mumkin. TLS orqali aniq FTP" pozitsiya. Yakuniy sozlamalar oynasi quyidagicha ko'rinadi:

Sozlangandan so'ng, bosing Ulanmoq va FTP foydalanuvchi parolini kiritishingizni so'ragan oyna paydo bo'ladi.

Va nihoyat, Ubuntu VPS-da FTP serveringizda SSL sertifikatini tekshirishingiz kerak bo'ladi.

Tasdiqlangandan so'ng, ekranda test fayli bilan ildiz katalogi paydo bo'ladi.

Bu hammasi! Endi siz har qanday faylni kompyuteringizdan Ubuntu FTP serveriga va orqaga o'tkazishingiz mumkin.

Xulosa

Ushbu qo'llanmada biz mahalliy foydalanuvchi uchun Ubuntu FTP serverida SSL/TLS bilan FTP orqali fayllarni uzatishning xavfsiz usulini yaratish uchun bosqichma-bosqich yurdik. Hammasi ishlaganligiga ishonch hosil qilish uchun biz FileZilla yordamida ulanishlarni ham sinab ko'rdik.

Agar xatolikni sezsangiz, matn qismini tanlang va Ctrl+Enter tugmalarini bosing
UMUSHISH: