انڈروئد

ڈیبیئن 9 پر انکرپٹ کے ساتھ اپاچی کو محفوظ بنائیں

Joy's latest vid Ù-Ú

Joy's latest vid Ù-Ú

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

Anonim

چلو انکرپٹ ایک سرٹیفکیٹ اتھارٹی ہے جو انٹرنیٹ سیکیورٹی ریسرچ گروپ (ISRG) کے ذریعہ تشکیل دیا گیا ہے۔ یہ دستی سرٹیفکیٹ تخلیق ، توثیق ، ​​تنصیب ، اور تجدید کو ختم کرنے کے لئے ڈیزائن کردہ مکمل طور پر خودکار عمل کے ذریعے مفت SSL سرٹیفکیٹ فراہم کرتا ہے۔

چلو انکرپٹ کے ذریعہ جاری کردہ سرٹیفیکیٹ جاری ہونے کی تاریخ سے 90 دن کے لئے موزوں ہیں اور آج تمام بڑے براؤزرز کے ذریعہ ان پر اعتماد کیا گیا ہے۔

یہ ٹیوٹوریل ڈیبین 9 پر سیرٹبوٹ ٹول کا استعمال کرتے ہوئے لٹس اینکرپٹ کے ایک مفت حصول کے عمل میں آپ کی رہنمائی کرے گا۔ ہم یہ بھی دکھائیں گے کہ نئے ایس ایس ایل سرٹیفکیٹ کو استعمال کرنے کے لئے اپاچی کو کنفیگر کرنے کا طریقہ اور HTTP / 2 کو اہل بنانا ہے۔

شرطیں

اس بات کو یقینی بنائیں کہ اس ٹیوٹوریل کو جاری رکھنے سے پہلے آپ نے درج ذیل شرائط کو پورا کرلیا ہے۔

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

سرٹبوٹ انسٹال کریں

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

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

sudo apt update sudo apt install certbot sudo apt update sudo apt install certbot

مضبوط ڈی ایچ (ڈفی ہیلمین) گروپ تیار کریں

ڈیفی – ہیلمین کیچ ایکسچینج (ڈی ایچ) غیر محفوظ مواصلات چینل پر کرپٹوگرافک چابیاں کا محفوظ طریقے سے تبادلہ کرنے کا ایک طریقہ ہے۔

2048 بٹ DH پیرامیٹرز کا نیا سیٹ تیار کرنے کیلئے:

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 . ہم ایک واحد ڈائرکٹری ، /var/lib/letsencrypt .well-known/acme-challenge لئے تمام HTTP درخواستوں کا نقشہ /var/lib/letsencrypt گے۔

مندرجہ ذیل کمانڈز ڈائریکٹری تشکیل دیتے ہیں اور اسے اپاچی سرور کیلئے قابل تحریر بنا دیتے ہیں۔

sudo mkdir -p /var/lib/letsencrypt/.well-known sudo chgrp www-data /var/lib/letsencrypt sudo chmod g+s /var/lib/letsencrypt

نقل کوڈ سے بچنے کے لئے مندرجہ ذیل دو تشکیلات کے ٹکڑوں کو تشکیل دیں۔

/etc/apache2/conf-avla/letsencrypt.conf

Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS Alias /.well-known/acme-challenge/ "/var/lib/letsencrypt/.well-known/acme-challenge/" AllowOverride None Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec Require method GET POST OPTIONS /etc/apache2/conf-available/ssl-params.conf

SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLProtocol All -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLHonorCipherOrder On Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # Requires Apache >= 2.4 SSLCompression off SSLUseStapling on SSLStaplingCache "shmcb:logs/stapling-cache(150000)" # Requires Apache >= 2.4.11 SSLSessionTickets Off SSLOpenSSLConfCmd DHParameters "/etc/ssl/certs/dhparam.pem"

مذکورہ بالا ٹکڑا Cipherli.st کی تجویز کردہ چیپروں کا استعمال کررہا ہے ، OCSP اسٹپلنگ ، HTTP سخت ٹرانسپورٹ سیکیورٹی (HSTS) کو قابل بناتا ہے اور حفاظتی مرکوز HTTP ہیڈر کو نافذ کرتا ہے۔

کنفگریشن فائلوں کو چالو کرنے سے پہلے ، اس بات کو یقینی بنائیں کہ جاری mod_headers اور mod_headers دونوں mod_headers ہیں:

sudo a2enmod ssl sudo a2enmod headers

HTTP / 2 ماڈیول کو فعال کریں ، جو آپ کی سائٹوں کو تیز اور زیادہ مضبوط بنائے گا:

sudo a2enmod

درج ذیل کمانڈوں کو چلاتے ہوئے SSL تشکیل فائلوں کو فعال کریں۔

sudo a2enconf letsencrypt sudo a2enconf ssl-params

تبدیلیوں کے اثر انداز ہونے کے لئے اپاچی کی تشکیل کو دوبارہ لوڈ کریں:

sudo systemctl reload apache2

ایس ایس ایل سرٹیفکیٹ فائلوں کو حاصل کرنے کے لئے ویبروٹ پلگ ان کے ساتھ سیرٹ بوٹ ٹول کا استعمال کریں:

sudo certbot certonly --agree-tos --email [email protected] --webroot -w /var/lib/letsencrypt/ -d example.com -d www.example.com

اگر ایس ایس ایل سرٹیفکیٹ کامیابی کے ساتھ حاصل کرلیا گیا ہے ، تو سرٹی بوٹ مندرجہ ذیل پیغام کو پرنٹ کرے گا۔

IMPORTANT NOTES: IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/example.com/fullchain.pem. Your cert will expire on 2019-01-17. 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" - If you lose your account credentials, you can recover through e-mails sent to [email protected]. - 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:

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

/etc/apache2/sites-available/example.com.conf

ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration ServerName example.com ServerAlias www.example.com Redirect permanent / https://example.com/ ServerName example.com ServerAlias www.example.com Protocols h2 http:/1.1 Redirect permanent / https://example.com/ DocumentRoot /var/www/example.com/public_html ErrorLog ${APACHE_LOG_DIR}/example.com-error.log CustomLog ${APACHE_LOG_DIR}/example.com-access.log combined SSLEngine On SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem # Other Apache Configuration

مذکورہ بالا ترتیب کے ساتھ ، ہم ایچ ٹی ٹی پی ایس پر مجبور کر رہے ہیں اور www سے نان- www ورژن میں بھیج رہے ہیں۔ اپنی ضروریات کے مطابق ترتیب کو ایڈجسٹ کرنے کے لئے آزاد ہو.۔

تبدیلیوں کے اثر انداز ہونے کے لئے اپاچی سروس کو دوبارہ لوڈ کریں:

sudo systemctl reload apache2

https:// کا استعمال کرتے ہوئے اپنی ویب سائٹ کھولیں ، اور آپ کو گرین لاک آئیکن نظر آئے گا۔

خودکار تجدید کرتے ہوئے آئی ایس کو اینکرپٹ ایس ایس ایل سرٹیفکیٹ دیں

آئیے اینکرپٹ کے سرٹیفکیٹ 90 دن کے لئے موزوں ہیں۔ سرٹیفکیٹ کی میعاد ختم ہونے سے پہلے خود بخود تجدید کرنے کے لئے ، سیرٹبوٹ پیکیج ایک ایسا کراؤن کام تیار کرتا ہے جو دن میں دو بار چلتا ہے اور کسی بھی سرٹیفکیٹ کی میعاد ختم ہونے سے 30 دن قبل خود بخود تجدید کردیتا ہے۔

ایک بار جب سرٹیفکیٹ کی تجدید ہوجاتی ہے تو ہمیں بھی اپاچی سروس کو دوبارہ لوڈ کرنا ہوگا۔ /etc/cron.d/certbot فائل میں --renew-hook "systemctl reload apache2" کریں تاکہ یہ مندرجہ ذیل کی طرح نظر آئے۔

/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 apache2"

تجدید کاری کے عمل کی جانچ کرنے کے لئے ، سرٹبوٹ --dry-run ڈرائی --dry-run سوئچ کا استعمال کریں:

sudo certbot renew --dry-run

اگر کوئی غلطیاں نہیں ہیں تو ، اس کا مطلب ہے کہ تجدید کا عمل کامیاب رہا۔

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

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

اپاچی ڈیبیئن آئیں خفیہ کاری کے سرٹبوٹ ایس ایس ایل کریں

یہ پوسٹ ڈیبیئن 9 سیریز میں ایل اے ایم پی اسٹیک کو انسٹال کرنے کا طریقہ کا ایک حصہ ہے۔

اس سلسلے میں دیگر پوسٹس:

De دبیان 9 پر اپاچی کو انسٹال کرنے کا طریقہ De دبیان 9 پر پی ایچ پی کو انسٹال کرنے کا طریقہ De دبیان 9 پر اپاچی ورچوئل ہوسٹس کیسے مرتب کریں • دبیان 9 پر ماریا ڈی بی انسٹال کرنے کا طریقہ • ڈیبیئن 9 پر لیٹ انکرپٹ کے ساتھ اپاچی کو محفوظ بنانا