انڈروئد

سینٹوس 7 پر بمقابلہ پی ڈی پی کے ساتھ ایف ٹی پی سرور کو کیسے ترتیب دیں

اجمل 40 دقيقة للشيخ عبدالباسط عبد الصمد تلاوات مختارة Ù…Ù

اجمل 40 دقيقة للشيخ عبدالباسط عبد الصمد تلاوات مختارة Ù…Ù

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

Anonim

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

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

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

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

شرطیں

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

سینٹوس 7 پر بمقابلہ پی ڈی ڈی انسٹال کرنا

vsftpd پیکیج پہلے سے طے شدہ CentOS ذخیروں میں دستیاب ہے۔ اسے انسٹال کرنے کے لئے ، درج ذیل کمانڈ کو جاری کریں:

sudo yum install vsftpd

ایک بار جب پیکیج انسٹال ہوجائے تو ، vsftpd ڈیمان شروع کریں اور اسے بوٹ وقت خود بخود شروع کرنے کے قابل بنائیں:

sudo systemctl start vsftpd sudo systemctl enable vsftpd

آپ تصدیق کرسکتے ہیں کہ بمقابلہ سروس اس کی حیثیت کو پرنٹ کرکے چل رہی ہے۔

sudo systemctl status vsftpd

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

● vsftpd.service - Vsftpd ftp daemon Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled) Active: active (running) since Thu 2018-11-22 09:42:37 UTC; 6s ago Main PID: 29612 (vsftpd) CGroup: /system.slice/vsftpd.service └─29612 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

vsftpd تشکیل کرنا

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

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

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

sudo nano /etc/vsftpd/vsftpd.conf

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

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

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO local_enable=YES

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

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

/etc/vsftpd/vsftpd.conf

write_enable=YES

3. Chroot جیل

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

/etc/vsftpd/vsftpd.conf

chroot_local_user=YES

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

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

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

    /etc/vsftpd/vsftpd.conf

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

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

    /etc/vsftpd/vsftpd.conf

    allow_writeable_chroot=YES

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

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

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

/etc/vsftpd/vsftpd.conf

pasv_min_port=30000 pasv_max_port=31000

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

صرف کچھ صارفین کو ہی ایف ٹی پی سرور میں لاگ ان ہونے کی اجازت دینے کے لئے صارف کی userlist_enable=YES لائن کے بعد درج ذیل لائنوں کو شامل کریں:

/etc/vsftpd/vsftpd.conf

userlist_file=/etc/vsftpd/user_list userlist_deny=NO

جب یہ آپشن فعال ہوجاتا ہے تو آپ کو واضح طور پر یہ بتانے کی ضرورت ہوگی کہ کون سے صارف /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/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem

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

sudo nano /etc/vsftpd/vsftpd.conf

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

/etc/vsftpd/vsftpd.conf

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

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

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

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

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES chroot_local_user=YES listen=NO listen_ipv6=YES pam_service_name=vsftpd userlist_enable=YES userlist_file=/etc/vsftpd/user_list userlist_deny=NO tcp_wrappers=YES user_sub_token=$USER local_root=/home/$USER/ftp pasv_min_port=30000 pasv_max_port=31000 rsa_cert_file=/etc/vsftpd/vsftpd.pem rsa_private_key_file=/etc/vsftpd/vsftpd.pem ssl_enable=YES

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

sudo systemctl restart vsftpd

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

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

sudo firewall-cmd --permanent --add-port=20-21/tcp sudo firewall-cmd --permanent --add-port=30000-31000/tcp

ٹائپ کرکے فائروال کے قواعد کو دوبارہ لوڈ کریں:

firewall-cmd --reload

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

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

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

    sudo adduser newftpuser

    اگلا ، آپ کو صارف کا پاس ورڈ ترتیب دینے کی ضرورت ہوگی:

    sudo passwd 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

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

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

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

ایف ٹی پی سینٹوس