Ø§Ø¹Ø¯Ø§Ù ÙØ§Û ØºÙØ± ÙØ¶Ø§ÙÛ Ø¯Ø± Ø§ÙØ±Ø§Ù
فہرست کا خانہ:
- شرطیں
- سرٹبوٹ انسٹال کریں
- مضبوط ڈی ایچ (ڈفی ہیلمین) گروپ تیار کریں
- آئیے اینکرپٹ ایس ایس ایل سرٹیفکیٹ حاصل کرنا
- خودکار تجدید کرتے ہوئے آئی ایس کو اینکرپٹ ایس ایس ایل سرٹیفکیٹ دیں
- نتیجہ اخذ کرنا
چلو انکرپٹ ایک مفت اور کھلا سرٹیفکیٹ اتھارٹی ہے جو انٹرنیٹ سیکیورٹی ریسرچ گروپ (ISRG) کے ذریعہ تیار کیا گیا ہے۔ چلو انکرپٹ کے ذریعہ جاری کردہ سرٹیفکیٹس پر آج تقریبا almost تمام براؤزرز پر بھروسہ کیا گیا ہے۔
اس ٹیوٹوریل میں ، ہم وضاحت کریں گے کہ سیبیٹ بوٹ ٹول کا استعمال کس طرح ڈیبین 9 پر نجنکس کے لئے مفت ایس ایس ایل سرٹیفکیٹ حاصل کرنے کے لئے کریں۔
شرطیں
یقینی بنائیں کہ اس ٹیوٹوریل کو جاری رکھنے سے پہلے درج ذیل شرائط کو پورا کیا گیا ہو:
- صارف کے بطور سوڈو مراعات کے ساتھ لاگ ان۔ آپ کے عوامی سرور IP کی طرف اشارہ کرنے والا ایک ڈومین نام ہے۔ ہم
example.comڈاٹ کام استعمال کریں گے ۔ان ہدایات پر عمل کرتے ہوئے نجنکس انسٹال ہوا ہے۔ آپ کے ڈومین کیلئے سرور بلاک ہے۔ آپ ان ہدایات پر عمل کرسکتے ہیں تاکہ ان کو کیسے بنایا جائے۔
سرٹبوٹ انسٹال کریں
سیرٹبوٹ ایک مکمل خصوصیات والا اور استعمال میں آسان ٹول ہے جو چلو انکرٹ SSL سرٹیفکیٹ کے حصول اور تجدید اور سرٹیفکیٹ کو استعمال کرنے کے لئے ویب سرورز کو تشکیل دینے کے کاموں کو خود بخود بنا سکتا ہے۔ سیرٹبوٹ پیکیج ڈیبین کے پہلے سے موجود ذخیروں میں شامل ہے۔
پیکجوں کی فہرست کو اپ ڈیٹ کریں اور سیرٹبوٹ پیکیج انسٹال کریں:
sudo apt update
sudo apt install certbot
sudo apt update
sudo apt install certbot
مضبوط ڈی ایچ (ڈفی ہیلمین) گروپ تیار کریں
ڈیفی – ہیلمین کیچ ایکسچینج (ڈی ایچ) غیر محفوظ مواصلات چینل پر کرپٹوگرافک چابیاں کا محفوظ طریقے سے تبادلہ کرنے کا ایک طریقہ ہے۔ ہم سلامتی کو مستحکم کرنے کے لئے 2048 بٹ ڈی ایچ پیرامیٹرز کا ایک نیا سیٹ تیار کرنے جارہے ہیں۔
sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
اگر آپ چاہیں تو آپ سائز کو 4096 بٹس تک تبدیل کرسکتے ہیں ، لیکن اس صورت میں ، نظام انٹروپی کے حساب سے نسل کو 30 منٹ سے زیادہ وقت لگ سکتا ہے۔
آئیے اینکرپٹ ایس ایس ایل سرٹیفکیٹ حاصل کرنا
ہمارے ڈومین کے لئے ایس ایس ایل سرٹیفکیٹ حاصل کرنے کے ل we're ہم ویبروٹ پلگ ان کا استعمال کرنے جارہے ہیں جو domain
${webroot-path}/.well-known/acme-challenge
ڈائرکٹری میں مطلوبہ ڈومین کی توثیق کرنے کے لئے عارضی فائل تشکیل دے کر کام کرتا ہے۔ چلو انکرپٹ سرور عارضی فائل سے HTTP درخواستوں کی توثیق کرتا ہے تاکہ یہ تصدیق کی جاسکے کہ درخواست کردہ ڈومین سرور میں حل ہوجاتا ہے جہاں سرٹیٹ بوٹ چلتا ہے۔
ہم ایک واحد ڈائریکٹری ،
/var/lib/letsencrypt
.well-known/acme-challenge
لئے تمام HTTP درخواستوں کا نقشہ تیار کرنے
/var/lib/letsencrypt
۔
مندرجہ ذیل کمانڈز ڈائریکٹری تشکیل دیں گے اور اسے نینگس سرور کیلئے قابل تحریر بنا دیں گے۔
mkdir -p /var/lib/letsencrypt/.well-known
chgrp www-data /var/lib/letsencrypt
chmod g+s /var/lib/letsencrypt
نقل کوڈ سے بچنے کے لئے درج ذیل دو ٹکڑوں کو بنائیں جو ہمارے تمام Nginx سرور بلاک فائلوں میں شامل ہوں گے۔
اپنا ٹیکسٹ ایڈیٹر کھولیں اور پہلا ٹکڑا ،
letsencrypt.conf
۔
sudo nano /etc/nginx/snippets/letsencrypt.conf
/etc/nginx/snippets/letsencrypt.conf
location ^~ /.well-known/acme-challenge/ { allow all; root /var/lib/letsencrypt/; default_type "text/plain"; try_files $uri =404; }
دوسرا اسنیپٹ
ssl.conf
بنائیں جس میں موزیلا کے ذریعہ تجویز کردہ
ssl.conf
شامل ہوں ، او سی ایس پی اسٹپلنگ ، ایچ ٹی ٹی پی سخت ٹرانسپورٹ سیکیورٹی (ایچ ایس ٹی ایس) کو قابل بنائے ، اور کچھ سیکیورٹی مرکوز ایچ ٹی ٹی پی ہیڈر کو نافذ کرے۔
sudo nano /etc/nginx/snippets/ssl.conf
/etc/nginx/snippets/ssl.conf
ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_session_timeout 1d; ssl_session_cache shared:SSL:50m; ssl_session_tickets off; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES256-SHA:ECDHE-ECDSA-DES-CBC3-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!DSS'; ssl_prefer_server_ciphers on; ssl_stapling on; ssl_stapling_verify on; resolver 8.8.8.8 8.8.4.4 valid=300s; resolver_timeout 30s; add_header Strict-Transport-Security "max-age=15768000; includeSubdomains; preload"; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff;
ایک بار کام کرنے کے بعد ، ڈومین سرور بلاک فائل کھولیں اور جیسے کہ ذیل میں دکھایا گیا ہے
letsencrypt.conf
کا ٹکڑا شامل کریں:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-aval/example.com
server { listen 80; server_name example.com www.example.com; include snippets/letsencrypt.conf; }
sites-enabled
ڈائریکٹری میں علامتی لنک بنا کر نئے سرور بلاک کو فعال کریں:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
ننگینکس سروس کو تبدیل کرنے کے ل for دوبارہ شروع کریں:
sudo systemctl restart nginx
اب آپ ویبروٹ پلگ ان کے ساتھ سیرٹ بوٹ چلا سکتے ہیں اور جاری کرکے ایس ایس ایل سرٹیفکیٹ فائلیں حاصل کرسکتے ہیں۔
sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com
اگر SSL سرٹیفکیٹ کامیابی کے ساتھ حاصل کرلیا گیا ہے تو ، مندرجہ ذیل پیغام آپ کے ٹرمینل پر چھا جائے گا:
IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/example.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/example.com/privkey.pem Your cert will expire on 2018-07-28. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF:
اگلا ، ڈومین سرور بلاک کو درج ذیل میں ترمیم کریں:
sudo nano /etc/nginx/sites-available/example.com
/etc/nginx/sites-aval/example.com
server { listen 80; server_name www.example.com example.com; include snippets/letsencrypt.conf; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name www.example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; return 301 https://example.com$request_uri; } server { listen 443 ssl http2; server_name example.com; ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem; include snippets/ssl.conf; include snippets/letsencrypt.conf; #… other code }
مذکورہ بالا ترتیب کے ساتھ ہم ایچ ٹی ٹی پی ایس پر مجبور ہو رہے ہیں اور www سے نان- www ورژن میں بھیج رہے ہیں۔
تبدیلیوں کے اثر انداز ہونے کے لئے نینگینکس سروس کو دوبارہ لوڈ کریں:
خودکار تجدید کرتے ہوئے آئی ایس کو اینکرپٹ ایس ایس ایل سرٹیفکیٹ دیں
آئیے اینکرپٹ کے سرٹیفکیٹ 90 دن کے لئے موزوں ہیں۔ سرٹیفکیٹ کی میعاد ختم ہونے سے پہلے خود بخود تجدید کرنے کے لئے ، سیرٹبوٹ پیکیج ایک ایسا کراؤن کام تیار کرتا ہے جو دن میں دو بار چلتا ہے اور کسی بھی سرٹیفکیٹ کی میعاد ختم ہونے سے 30 دن قبل خود بخود تجدید کرتا ہے۔
چونکہ جب ہم سرٹیفکیٹ کی تجدید ہوجاتا ہے تو ہم سرٹبوٹ ویبروٹ پلگ ان کا استعمال کر رہے ہیں ، ہمیں نین ایکس ایکس سروس بھی دوبارہ لوڈ کرنا ہوگی۔
/etc/cron.d/certbot
فائل میں
--renew-hook "systemctl reload nginx"
کریں تاکہ جیسے یہ نظر آئے:
sudo nano /etc/cron.d/certbot
/etc/cron.d/certbot
0 */12 * * * root test -x /usr/bin/certbot -a \! -d /run/systemd/system && perl -e 'sleep int(rand(3600))' && certbot -q renew --renew-hook "systemctl reload nginx"
اس کمانڈ کو چلاتے ہوئے ، خودکار تجدید کے عمل کی جانچ کریں:
sudo certbot renew --dry-run
اگر کوئی غلطیاں نہیں ہیں تو ، اس کا مطلب ہے کہ تجدید کا عمل کامیاب رہا۔
نتیجہ اخذ کرنا
آج کل ایس ایس ایل کا سرٹیفکیٹ ہونا ضروری ہے۔ یہ آپ کی ویب سائٹ کو محفوظ بناتا ہے ، ایس ای آر پی کی درجہ بندی کی پوزیشن کو بڑھاتا ہے ، اور آپ کو اپنے ویب سرور پر HTTP / 2 کو اہل بنانے کی اجازت دیتا ہے۔
اس ٹیوٹوریل میں ، آپ نے اپنے ڈومین کے لئے ایس ایس ایل سرٹیفکیٹ تیار کرنے کے لئے لیٹس اینکرپٹ کلائنٹ ، سرٹ بوٹ کا استعمال کیا۔ ڈپلیکیٹ کوڈ سے بچنے کے لئے آپ نے Nginx کے ٹکڑوں کو بھی تشکیل دیا ہے اور سرٹیفکیٹ کو استعمال کرنے کے لئے Nginx کو تشکیل دیا ہے۔ سبق کے اختتام پر آپ نے خود کار طریقے سے سرٹیفکیٹ کی تجدید کیلئے ایک کرون کام ترتیب دیا ہے۔
nginx ڈیبین آئیے خفیہ کاری کرتے ہیں certbot sslیہ پوسٹ ڈیبیئن 9 سیریز پر ایل ای ایم پی اسٹیک کو انسٹال کرنے کا طریقہ کا ایک حصہ ہے۔
اس سلسلے میں دیگر پوسٹس:
U اوبنٹو 18.04 پر ماریا ڈی بی کو انسٹال کرنے کا طریقہ De دبیان 9 پر نگنیکس انسٹال کرنے کا طریقہ De ڈیبیئن 9 پر پی ایچ پی کو انسٹال کرنے کا طریقہمائیکروولا اور ٹی موبائل کے ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ ساتھ بغاوت کرنے کی امید ہے.
موٹوولا نے اپنے موبائل موبائل آلہ کو Google لوڈ، اتارنا Android آپریٹنگ سسٹم پر مبنی اعلان کیا.
سیکنڈوس 7 پر انکرپٹ کے ساتھ اینگینکس کو محفوظ کریں
اس ٹیوٹوریل میں ، ہم ایک مرحلہ وار ہدایات فراہم کریں گے کہ سینٹوس 7 پر سیرٹبوٹ ٹول کا استعمال کرتے ہوئے لیٹ انکرپٹ کے ذریعہ اپنے نگنیکس کو کیسے محفوظ بنایا جائے۔
سیکنڈوس 8 پر انکرپٹ کے ساتھ اینگینکس کو محفوظ کریں
اس ٹیوٹوریل میں ، ہم ایک مرحلہ وار ہدایات فراہم کریں گے کہ سینٹوس 8 پر نائنیکس کو بطور ویب سرور کی حیثیت سے چلنے والے مفت لیٹ انکرپٹ ایس ایس ایل سرٹیفکیٹ کو کیسے انسٹال کیا جائے۔ ہم یہ بھی دکھائیں گے کہ SSL سرٹیفکیٹ کو استعمال کرنے اور HTTP / 2 کو فعال کرنے کے لئے Nginx کو کس طرح تشکیل دیں۔







