გაასწორეთ FTP წვდომა Linux-ის კლიენტის კომპიუტერიდან ჩართული ბუხარით
დღეს მსურს გაგიზიაროთ ჩემი პირადი გამოცდილება FTP წვდომასთან Linux-ში. Microsoft-ის ახალი ოპერაციული სისტემების წყალობით, რომელიც არ მიმაჩნია ყოველდღიური გამოყენებისთვის შესაფერისი, რამდენიმე წლის წინ გადავედი Linux-ზე. მე ვმართავ FTP სერვერს ჩემს სახლის ქსელში და ვერ შევძელი მასზე წვდომა ჩემი კლიენტის კომპიუტერიდან Linux, რომელსაც აქვს Firewall-ის წესები შემომავალი კავშირების დასაბლოკად, ანუ INPUT პოლიტიკა დაყენებულია REJECT-ზე iptables. აი, როგორ მოვაგვარე პრობლემა.
მე ვარაუდობ, რომ OUTPUT პოლიტიკა მიიღება როგორც კლიენტის, ასევე სერვერის მანქანებზე.
გამოსავალი #1. გამოიყენეთ ბირთვის მოდული nf_conntrack_ftp
ბირთვის მოდული nf_conntrack_ftp გაძლევთ საშუალებას ავტომატურად განბლოკოთ წვდომა FTP სერვერისთვის საჭირო პორტზე, ყოველ ჯერზე, როცა დაკავშირდებით. ამ მოდულის ერთადერთი მოთხოვნაა შემდეგი სტრიქონი თქვენს iptables-ის წესებში (ჩვეულებრივ ეს არის /etc/iptables/iptables.rules) კლიენტის კომპიუტერზე:
$IPT -A INPUT -i eth0 -m მდგომარეობა --მდგომარეობა RELATED, ESTABLISHED -j ACCEPT
არსებობს eth0 თქვენი ქსელის მოწყობილობის სახელი.
შემდეგი, თქვენ უნდა ჩატვირთოთ nf_conntrack_ftp, თუ ის არ არის დატვირთული. გაუშვით შემდეგი ბრძანება, როგორც root კლიენტის კომპიუტერზე
# modprobe nf_conntrack_ftp
თუ თქვენი სერვერი იყენებს ზოგიერთ არანაგულისხმევ პორტს (გარდა პორტისა 21), მაშინ გამოიყენეთ შემდეგი ბრძანება:
# modprobe nf_conntrack_ftp ports=თქვენი_პორტი
ეს უზრუნველყოფს ავტომატურ კავშირს ყველა საჭირო პორტთან FTP სერვერსა და კლიენტის პროგრამულ უზრუნველყოფას შორის. ეს მუშაობს მანამ, სანამ არ გადატვირთავთ თქვენს კომპიუტერს.
იმისათვის, რომ ეს ცვლილება მუდმივი გახდეს, თქვენ უნდა შექმნათ ახალი ტექსტური ფაილი, /etc/modules-load.d/conntrack_ftp.conf და დაამატოთ შემდეგი ხაზი ამ ფაილს:
nf_conntrack_ftp
სერვერის ნაგულისხმევი პორტის შემთხვევაში, თქვენ უნდა შექმნათ დამატებითი ფაილი, /etc/modprobe.d/conntrack_ftp.conf შემდეგი შინაარსით:
პარამეტრები nf_conntrack_ftp პორტები=
ეს საკმარისი უნდა იყოს.
გამოსავალი #2. გამოიყენეთ ფიქსირებული პასიური პორტების დიაპაზონი
თუ ვერ იყენებთ nf_conntrack_ftp მოდულს, შეგიძლიათ დააყენოთ ფიქსირებული პორტის დიაპაზონი FTP სერვერის პროგრამული უზრუნველყოფისთვის და გახსნათ იგი კლიენტის კომპიუტერზე. მაგალითად, აი, როგორ შეიძლება ეს გაკეთდეს vsftpd აპისთვის.
- vsftpd-ის კონფიგურაციის ფაილში, რომელიც ჩვეულებრივ არის /etc/vsftpd.conf, დაამატეთ შემდეგი ხაზები:
pasv_min_port=5500. pasv_max_port=6500
ეს უნდა გაკეთდეს სერვერის მხარეს. ამის შემდეგ თქვენ უნდა გადატვირთოთ vsftpd.
- თქვენს iptables წესებში (ჩვეულებრივ ეს არის /etc/iptables/iptables.rules) კლიენტის კომპიუტერზე, დაამატეთ შემდეგი წესი:
$IPT -A INPUT -p tcp -s
--dport 5500:6500 -j ACCEPT - გამოიყენეთ iptables წესები შემდეგნაირად:
# iptables-restore < /etc/iptables/iptables.rules
Ის არის.