انڈروئد

اوبنٹو 18.04 پر vsftpd کے ساتھ ایف ٹی پی سرور سیٹ اپ کرنے کا طریقہ

تم زمین والوں پر رØÙ… کرو۔۔۔۔ آسمان والا تم پر رØÙ… فرماۓ

تم زمین والوں پر رØÙ… کرو۔۔۔۔ آسمان والا تم پر رØÙ… فرماۓ

فہرست کا خانہ:

Anonim

ایف ٹی پی (فائل ٹرانسفر پروٹوکول) ایک معیاری نیٹ ورک پروٹوکول ہے جو فائلوں کو ریموٹ نیٹ ورک میں اور منتقل کرنے کے لئے استعمال ہوتا ہے۔ مزید محفوظ اور تیز تر ڈیٹا کی منتقلی کے لئے ، ایس سی پی یا ایس ایف ٹی پی کا استعمال کریں۔

لینکس کے لئے بہت سے اوپن سورس ایف ٹی پی سرور دستیاب ہیں۔ سب سے زیادہ مقبول اور وسیع پیمانے پر استعمال ہونے والے پیور ایف ٹی پی ڈی ، پرو ایف ٹی پی ڈی اور بمقابلہ پی ڈی پی ہیں۔ اس ٹیوٹوریل میں ، ہم بمقابلہ پی ڈی (بہت سیکیورٹ ایف ٹی پی ڈیمون) انسٹال کریں گے۔ یہ ایک مستحکم ، محفوظ اور تیز FTP سرور ہے۔ ہم آپ کو یہ بھی دکھائیں گے کہ کس طرح صارفین کو ان کی ہوم ڈائریکٹری تک محدود رکھنے اور پوری ترسیل کو ایس ایس ایل / ٹی ایل ایس کے ساتھ خفیہ کرنے کے لئے vsftpd تشکیل دیں۔

اگرچہ یہ ٹیوٹوریل اوبنٹو 18.04 کے لئے لکھا گیا ہے اسی طرح کی ہدایات اوبنٹو 16.04 اور کسی بھی ڈیبین پر مبنی تقسیم کے لئے لاگو ہوتی ہیں ، بشمول ڈبیئن ، لینکس ٹکسال اور ایلیمینٹری OS۔

شرطیں

اس ٹیوٹوریل کو جاری رکھنے سے پہلے ، یہ یقینی بنائیں کہ آپ بطور صارف sudo مراعات کے ساتھ لاگ ان ہیں۔

اوبنٹو 18.04 پر vsftpd انسٹال کرنا

بمقابلہ پیکیج اوبنٹو ذخیروں میں دستیاب ہے۔ اسے انسٹال کرنے کے لئے ، صرف مندرجہ ذیل کمانڈز چلائیں:

sudo apt update sudo apt install vsftpd sudo apt update sudo apt install vsftpd

vsftpd سروس تنصیب کا عمل مکمل ہونے کے بعد خود بخود شروع ہوجائے گی۔ سروس کی حیثیت کو پرنٹ کرکے اس کی تصدیق کریں:

sudo systemctl status vsftpd

آؤٹ پٹ کچھ نیچے نظر آئے گی ، جس میں یہ دکھایا جا رہا ہے کہ بمقابلہ سروس فعال اور چل رہی ہے:

* vsftpd.service - vsftpd FTP server Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2018-10-15 03:38:52 PDT; 10min ago Main PID: 2616 (vsftpd) Tasks: 1 (limit: 2319) CGroup: /system.slice/vsftpd.service `-2616 /usr/sbin/vsftpd /etc/vsftpd.conf

vsftpd تشکیل کرنا

بمقابلہ پی ڈی ایف سرور /etc/vsftpd.conf فائل میں ترمیم کرکے تشکیل کیا /etc/vsftpd.conf ہے۔ زیادہ تر ترتیبات کی تشکیل فائل میں اچھی طرح سے دستاویزی دستاویزات ہیں۔ تمام دستیاب اختیارات کے لئے سرکاری بمقابلہ پی ڈی پیج ملاحظہ کریں۔

مندرجہ ذیل حصوں میں ، ہم محفوظ vsftpd انسٹالیشن کو تشکیل دینے کے لئے درکار کچھ اہم ترتیبات کو دیکھیں گے۔

بمقابلہ تشکیل فائل کھولنے سے شروع کریں:

sudo nano /etc/vsftpd.conf

1. ایف ٹی پی رسائی

ہم صرف مقامی صارفین کو ایف ٹی پی سرور تک رسائی کی اجازت دیں گے ، local_enable اور local_enable ہدایت local_enable تلاش کریں گے اور آپ کی ترتیب میچ کو نیچے کی لائنوں تک تصدیق کریں گے۔

/etc/vsftpd.conf

anonymous_enable=NO local_enable=YES

2. اپ لوڈز کو چالو کرنا

فائل سسٹم میں تبدیلیوں کی اجازت کے ل the write_enable ترتیب کو write_enable جیسے فائلوں کو اپ لوڈ اور حذف کرنا۔

/etc/vsftpd.conf

write_enable=YES

3. Chroot جیل

ایف ٹی پی صارفین کو ان کی ہوم ڈائریکٹریوں سے باہر کسی بھی فائل تک رسائی حاصل کرنے سے روکنے کے لئے chroot سیٹنگ کو بے قابو کرنا۔

/etc/vsftpd.conf

chroot_local_user=YES

پہلے سے طے شدہ طور پر سیکیورٹی کے خطرے سے بچنے کے ل، ، جب کروٹ فعال ہوجائے تو vsftpd فائلوں کو اپ لوڈ کرنے سے انکار کردے گا اگر ڈائریکٹری جس میں صارفین لاک ہیں وہ قابل تحریر ہے۔

جب Chroot فعال ہوجائے تو اپ لوڈ کی اجازت دینے کے لئے نیچے دیئے گئے طریقوں میں سے ایک استعمال کریں۔

  • طریقہ 1.۔ اپ لوڈ کی اجازت دینے کا تجویز کردہ طریقہ یہ ہے کہ وہ Chroot کو فعال رکھیں ، اور FTP ڈائریکٹریز کو تشکیل دیں۔ اس ٹیوٹوریل میں ، ہم صارف گھر کے اندر ایک ftp ڈائرکٹری بنائیں گے جو فائلوں کو اپ لوڈ کرنے کے لئے Chroot اور تحریری طور پر uploads ڈائرکٹری کا کام کرے گی۔

    /etc/vsftpd.conf

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

    طریقہ 2.۔ دوسرا آپشن یہ ہے کہ بمقابلہ ہدایت فائل میں درج ذیل ہدایت شامل کریں۔ اگر آپ اپنے صارف کو اس کی ہوم ڈائریکٹری میں قابل تحریری رسائی فراہم کرنا چاہتے ہیں تو یہ اختیار استعمال کریں۔

    /etc/vsftpd.conf

    allow_writeable_chroot=YES

غیر فعال FTP کنیکشن

بمقابلہ غیر فعال ایف ٹی پی کنیکشن کے ل any کسی بھی بندرگاہ کو بمقابلہ استعمال کرسکتا ہے۔ ہم بندرگاہوں کی کم سے کم اور زیادہ سے زیادہ حد بیان کریں گے اور بعد میں اپنے فائر وال میں حد کو کھولیں گے۔

کنفیگریشن فائل میں درج ذیل لائنوں کو شامل کریں:

/etc/vsftpd.conf

pasv_min_port=30000 pasv_max_port=31000

5. صارف لاگ ان کو محدود کرنا

صرف کچھ صارفین کو ایف ٹی پی سرور میں لاگ ان ہونے کی اجازت دینے کے ل file فائل کے آخر میں درج ذیل لائنیں شامل کریں:

/etc/vsftpd.conf

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

جب یہ آپشن فعال ہوجاتا ہے تو آپ کو واضح طور پر یہ بتانے کی ضرورت ہوتی ہے کہ کون سے صارف /etc/vsftpd.user_list فائل (فی صارف کا ایک صارف) میں صارف کے نام شامل کرکے لاگ ان کرنے کے /etc/vsftpd.user_list ؟

6. ایس ایس ایل / ٹی ایل ایس کے ذریعہ ٹرانسمیشنز کی حفاظت کرنا

FTP ٹرانسمیشنز کو SSL / TLS کے ساتھ خفیہ کرنے کے ل you'll ، آپ کو SSL سرٹیفکیٹ حاصل کرنا ہوگا اور FTP سرور کو استعمال کرنے کیلئے اسے تشکیل دینا ہوگا۔

آپ کسی قابل اعتماد سرٹیفکیٹ اتھارٹی کے ذریعہ دستخط شدہ موجودہ ایس ایس ایل سرٹیفکیٹ استعمال کرسکتے ہیں یا خود دستخط شدہ سرٹیفکیٹ تشکیل دے سکتے ہیں۔

ہم openssl کمانڈ کا استعمال کرکے ایک خود دستخط شدہ SSL سرٹیفکیٹ تیار کریں گے۔

مندرجہ ذیل کمانڈ 2048 بٹ نجی کلید اور خود دستخط شدہ سرٹیفکیٹ 10 سال کیلئے موزوں بنائے گی۔ نجی کلید اور سرٹیفکیٹ دونوں ایک ہی فائل میں محفوظ ہوں گے:

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

ایک بار جب SSL سرٹیفکیٹ تیار ہوجائے تو vsftpd کنفگریشن فائل کھولیں۔

sudo nano /etc/vsftpd.conf

rsa_cert_file اور rsa_private_key_file ہدایت rsa_cert_file تلاش کریں ، ان کی اقدار کو pam فائل پاتھ پر تبدیل کریں اور ssl_enable ہدایت YES پر ssl_enable :

/etc/vsftpd.conf

rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES

اگر دوسری صورت میں اس کی وضاحت نہیں کی گئی ہے تو ، ایف ٹی پی سرور محفوظ رابطوں کیلئے صرف TLS استعمال کرے گا۔

بمقابلہ سروس کو دوبارہ شروع کریں

ایک بار جب آپ ترمیم کر لیں تو ، vsftpd کنفگریشن فائل (تبصرے کو چھوڑ کر) کچھ اس طرح نظر آنا چاہئے:

/etc/vsftpd.conf

listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/private/vsftpd.pem rsa_private_key_file=/etc/ssl/private/vsftpd.pem ssl_enable=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 userlist_enable=YES userlist_file=/etc/vsftpd.user_list userlist_deny=NO

فائلوں کو محفوظ کریں اور تبدیلیاں عمل میں لانے کیلئے بمقابلہ سروس کو دوبارہ شروع کریں۔

sudo systemctl restart vsftpd

فائر وال کھولنا

پورٹ 21 (ایف ٹی پی کمانڈ پورٹ) ، پورٹ 20 (ایف ٹی پی ڈیٹا پورٹ) اور 30000-31000 (غیر فعال بندرگاہوں کی حد) 30000-31000 لئے ، درج ذیل کمانڈ چلائیں:

sudo ufw allow 20:21/tcp sudo ufw allow 30000:31000/tcp

مقفل ہونے سے بچنے کے لئے ، بندرگاہ 22 کھولیں:

sudo ufw allow OpenSSH

UFW کو غیر فعال اور دوبارہ فعال کرکے UFW قوانین کو دوبارہ لوڈ کریں:

sudo ufw disable sudo ufw enable

تبدیلیوں کی تصدیق کے ل run:

sudo ufw status

Status: active To Action From -- ------ ---- 20:21/tcp ALLOW Anywhere 30000:31000/tcp ALLOW Anywhere OpenSSH ALLOW Anywhere 20:21/tcp (v6) ALLOW Anywhere (v6) 30000:31000/tcp (v6) ALLOW Anywhere (v6) OpenSSH (v6) ALLOW Anywhere (v6)

ایف ٹی پی یوزر بنانا

اپنے ایف ٹی پی سرور کو جانچنے کے ل we ہم ایک نیا صارف بنائیں گے۔

  • اگر آپ کے پاس پہلے سے ہی ایسا صارف ہے جس کو آپ ایف ٹی پی تک رسائی فراہم کرنا چاہتے ہیں تو پہلا مرحلہ چھوڑ دیں۔ اگر آپ اپنی کنفیگریشن فائل میں allow_writeable_chroot=YES سیٹ allow_writeable_chroot=YES تو تیسرا مرحلہ چھوڑ دیں۔
  1. نیا newftpuser نامی ایک نیا صارف بنائیں:

    sudo adduser newftpuser

    صارف کو اجازت دی گئی ایف ٹی پی صارفین کی فہرست میں شامل کریں:

    echo "newftpuser" | sudo tee -a /etc/vsftpd.user_list

    ایف ٹی پی ڈائریکٹری ٹری بنائیں اور صحیح اجازتیں مقرر کریں:

    sudo mkdir -p /home/newftpuser/ftp/upload sudo chmod 550 /home/newftpuser/ftp sudo chmod 750 /home/newftpuser/ftp/upload sudo chown -R newftpuser: /home/newftpuser/ftp

    جیسا کہ پچھلے حصے میں زیر بحث آیا صارف اپنی فائلوں کو ftp/upload ڈائریکٹری میں اپ لوڈ کرسکے گا۔

اس مقام پر ، آپ کا ایف ٹی پی سرور مکمل طور پر فعال ہے اور آپ کو کسی بھی ایف ٹی پی کلائنٹ کا استعمال کرتے ہوئے اپنے سرور سے رابطہ قائم کرنے کے قابل ہونا چاہئے جو فائل زلا جیسے ٹی ایل ایس انکرپشن کو استعمال کرنے کے لئے تشکیل کیا جاسکتا ہے۔

شیل رسائی کو غیر فعال کرنا

پہلے سے طے شدہ طور پر ، جب صارف بناتے ہو ، اگر واضح طور پر واضح نہیں کیا گیا ہو تو صارف کو سرور تک SSH تک رسائی حاصل ہوگی۔

شیل رسائی کو غیر فعال کرنے کے ل we ، ہم ایک نیا شیل بنائیں گے جو صارف کو یہ بتانے کے لئے صرف ایک پیغام پرنٹ کرے گا کہ ان کا اکاؤنٹ صرف ایف ٹی پی تک محدود ہے۔

/bin/ftponly شیل بنائیں اور اسے قابل عمل بنائیں:

echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly echo -e '#!/bin/sh\necho "This account is limited to FTP access only."' | sudo tee -a /bin/ftponly sudo chmod a+x /bin/ftponly

نئے شیل کو /etc/shells فائل میں درست شیلوں کی فہرست میں شامل کریں۔

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

صارف کے شیل کو /bin/ftponly :

sudo usermod newftpuser -s /bin/ftponly

ان تمام صارفین کے شیل کو تبدیل کرنے کے لئے ایک ہی کمانڈ کا استعمال کریں جس میں آپ صرف ایف ٹی پی رسائی دینا چاہتے ہیں۔

نتیجہ اخذ کرنا

اس ٹیوٹوریل میں ، آپ نے اپنے اوبنٹو 18.04 سسٹم پر محفوظ اور تیز FTP سرور کو انسٹال اور تشکیل کرنے کا طریقہ سیکھا۔

ftp ubuntu