Debian 10

ایمن کردن Apache با Let’s Encrypt در Debian 10

Let’s Encrypt یک مجوز صدور گواهینامه (CA) است که روشی آسان برای به دست آوردن و نصب مجوزهای رایگان TLS / SSL فراهم می کند ، از این طریق HTTPS رمزگذاری شده را روی سرورهای وب فعال می کند. در واقع با ارائه یک کلاینت نرم افزاری ، Certbot ، که سعی در خودکارسازی اکثر مراحل لازم میکند ، فرایند را ساده می کند. در حال حاضر ، کل مراحل اخذ و نصب گواهینامه هم در Apache و هم در Nginx کاملا به صورت اتوماتیک انجام می شود.
در این آموزش از Certbot برای دریافت گواهینامه رایگان SSL برای Apache روی Debian 10 استفاده می کنید و گواهی خود را برای تمدید خودکار تنظیم می کنید.
در این آموزش به جای فایل پیکربندی پیش فرض از یک فایل میزبان مجازی Apache جداگانه استفاده خواهد شد. توصیه می کنیم برای هر دامنه فایل های جدید میزبان مجازی Apache ایجاد کنید زیرا این امر به جلوگیری از اشتباهات رایج کمک می کند و فایل های پیش فرض را به عنوان پیکربندی برگشت پذیر حفظ می کند.
پیش نیازها
برای دنبال کردن این آموزش ، به موارد زیر نیاز دارید:
• یک سرور Debian 10 که با دنبال کردن راهنمای ستاپ اولیه سرور برای Debian 10 تنظیم شده و شامل یک کاربر غیر root با امتیازات sudo و فایروال باشد.
• نام دامنه کاملاً ثبت شده. در این آموزش ، از your_domain به عنوان نمونه استفاده می شود. می توانید نام دامنه را در Namecheap خریداری کنید ، یکی از آنها را به صورت رایگان در Freenom دریافت کنید ، یا از ثبت دامنه مورد نظر خود استفاده کنید.
• هر دو فایل DNS زیر که برای سرور شما تنظیم شده اند. برای انجام این کار ، می توانید دستورالعمل های اضافه کردن دامنه ها و سپس دستورالعمل های ایجاد رکوردهای DNS را دنبال کنید.
o یک رکورد A با your_domain که به آدرس IP عمومی سرور شما اشاره کند.
o یک رکورد A با www.your_domain که به آدرس IP عمومی سرور شما اشاره کند.
• Apache که با دنبال کردن نحوه نصب Apache در Debian 10 نصب شده باشد. مطمئن شوید که یک فایل میزبان مجازی برای دامنه خود تنظیم کرده اید. در این آموزش از /etc/apache2/sites-available/your_domain.conf به عنوان نمونه استفاده می شود.
مرحله 1 – نصب Certbot
اولین قدم برای استفاده از Let’s Encrypt جهت دریافت گواهینامه SSL ، نصب نرم افزار Certbot در سرور شماست.
در حال حاضر ، Certbot به طور پیش فرض از مخازن نرم افزار Debian در دسترس نیست. برای دانلود نرم افزار با استفاده از apt ، باید مخازن backport را به فایل Source.list خود اضافه کنید که apt به دنبال منابع بسته میباشد. backport ها بسته هایی از تست دبیان و توزیع های ناپایدار هستند که دوباره کامپایل می شوند بنابراین بدون کتابخانه های جدید در توزیع های دبیان پایدار اجرا می شوند.
برای اضافه کردن مخزن backports ، فایل sources.list را در دیرکتوری / etc / apt / خود باز کنید (یا ایجاد کنید):
$ sudo nano /etc/apt/sources.list

در انتهای فایل خط زیر را اضافه کنید:
/etc/apt/sources.list.d/sources.list
. . .
deb http://mirrors.vpsgol.com/debian buster-backports main
deb-src http://mirrors.vpsgol.com/debian buster-backports main
deb http://ftp.debian.org/debian buster-backports main

شامل بسته های اصلی می باشد که سازگار با دستورالعمل های نرم افزار رایگان Debian (DFSG) و همچنین مولفه های non-free و contrib هستند که خود یا مطابق DFSG نیستند و یا متعلقاتی در این دسته دارند.
فایل را با فشار دادن CTRL + X ، Y ، سپس enter ، ذخیره کرده و ببندید ، سپس لیست بسته های خود را به روز کنید:
$ sudo apt update

سپس Certbot را با دستور زیر نصب کنید. توجه داشته باشید که گزینه -t به apt میگوید که با جستجوی مخزن backports که اخیراً اضافه کردید به دنبال بسته باشد:
$ sudo apt install python-certbot-apache -t buster-backports

Certbot اکنون آماده استفاده است اما برای اینکه SSL برای Apache پیکربندی شود ، باید تأیید کنیم که Apache به درستی پیکربندی شده است.
مرحله 2 – تنظیم گواهی SSL
Certbot باید بتواند میزبان مجازی صحیح را در پیکربندی Apache شما پیدا کند تا SSL را به صورت خودکار پیکربندی کند. به طور خاص ، این کار را با جستجوی یک دستورالعمل ServerName انجام می دهد که با دامنه ای مطابق است که میخواهید برای آن مجوز بگیرید.
اگر مرحله آموزش میزبان مجازی را در آموزش نصب Apache دنبال کردید ، باید یک بلوک VirtualHost برای دامنه خود در /etc/apache2/sites-available/your_domain.conf با دستورالعمل ServerName که قبلاً به طور مناسب تنظیم شده است، داشته باشید.
برای بررسی ، فایل میزبان مجازی را برای دامنه خود با استفاده از nano یا ویرایشگر متن مورد علاقه خود باز کنید:
$ sudo nano /etc/apache2/sites-available/your_domain.conf

خط ServerName موجود را پیدا کنید. باید مانند این به نظر برسد و نام دامنه شما به جای your_domain قرار بگیرد:
/etc/apache2/sites-available/your_domain.conf

ServerName your_domain;

اگر قبلاً این کار را انجام نداده اید ، دستورالعمل ServerName را به روز کنید تا به نام دامنه شما اشاره کنید. سپس فایل را ذخیره کنید ، از ویرایشگر خود خارج شوید و ترکیب ویرایش های پیکربندی خود را تأیید کنید:
$ sudo apache2ctl configtest

اگر خطایی در نحو وجود نداشته باشد ، آن را در خروجی خود مشاهده خواهید کرد:
Output
Syntax OK

اگر خطایی رخ داد ، فایل میزبان مجازی را مجدداً باز کنید و هرگونه اشتباه تایپی یا کاراکتر جا افتاده را بررسی کنید. پس از اینکه ترکیب فایل پیکربندی شما صحیح شد ، Apache را مجدد لود کنید تا پیکربندی جدید بارگیری شود:
sudo systemctl reload apache2

Certbot اکنون می تواند بلوک صحیح VirtualHost را پیدا کرده و آن را به روز کند.
در مرحله بعد ، بیایید فایروال را به روز کنیم تا امکان ترافیک HTTPS را بدهیم.
مرحله 3 – اجازه دادن به HTTPS از طریق فایروال
اگر فایروال ufw را فعال کرده باشید ، همانطور که توسط راهنماهای پیش نیاز توصیه شده است ، برای تنظیم ترافیک HTTPS ، باید تنظیماتی را انجام دهید. خوشبختانه ، وقتی روی Debian نصب شده باشد ، ufw با چند پروفایل بسته بندی می شود که به ساده کردن روند تغییر قوانین فایروال برای ترافیک HTTP و HTTPS کمک می کند.
با تایپ دستور زیر می توانید تنظیم فعلی را مشاهده کنید:
$ sudo ufw status

اگر از مرحله 2 راهنمای ما در مورد چگونگی نصب Apache در Debian 10 استفاده کرده باشید، خروجی دستور اینگونه خواهد بود ، نشان می دهد که فقط ترافیک HTTP به سرور وب مجاز است:
Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW (v6) ALLOW Anywhere (v6)

برای اجزاه ترافیک HTTPS بیشتر، به پروفایل “WWW Full” مجوز بدهید و بخش اضافی “WWW” را حذف کنید:
$ sudo ufw allow ‘WWW Full’

$ sudo ufw delete allow ‘WWW’

وضعیت شما اکنون باید به این شکل باشد:
$ sudo ufw status

Output
Status: active

To Action From
— —— —-
OpenSSH ALLOW Anywhere
WWW Full ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
WWW Full (v6) ALLOW Anywhere (v6)

سپس ، بیایید Certbot را اجرا کنیم و گواهینامه هایمان را دریافت کنیم.
مرحله 4 – اخذ گواهینامه SSL
Certbot روشهای مختلفی برای گرفتن گواهینامه های SSL از طریق افزونه ها ارائه می دهد. افزونه Apache از تنظیم مجدد Apache و بارگیری مجدد تنظیمات در صورت لزوم مراقبت خواهد کرد. برای استفاده از این افزونه ، دستور زیر را تایپ کنید:
$ sudo certbot –apache -d your_domain -d www.your_domain

این کار Certbot را با افزونه –apache با استفاده از -d برای مشخص کردن نام هایی که معتبر آن هستند اجرا میکند.
اگر این اولین بار است که Certbot را اجرا میکنید ، از شما خواسته می شود که آدرس ایمیل را وارد کنید و با شرایط سرویس ها موافقت کنید. علاوه بر این ، از شما سؤال خواهد کرد که آیا می خواهید آدرس ایمیل خود را با بنیاد الکترونیکی Frontier ، یک سازمان غیرانتفاعی که از حقوق دیجیتال دفاع می کند و همچنین سازنده Certbot است به اشتراک بگذارید یا خیر. برای اشتراک آدرس ایمیل Y و برای رد این اعلان N را وارد کنید.
بعد از انجام این کار ، certbot با سرور Let’S Encrypt ارتباط برقرار می کند ، سپس برای تأیید اینکه دامنه مورد نظر خود را کنترل می کنید ، یک چالش اجرا کنید.
اگر موفقیت آمیز باشد ، certbot از شما می پرسد که چگونه می خواهید تنظیمات HTTPS خود را پیکربندی کنید:
Output
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
——————————————————————————-
1: No redirect – Make no further changes to the webserver configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you’re confident your site works on HTTPS. You can undo this
change by editing your web server’s configuration.
——————————————————————————-
Select the appropriate number [1-2] then [enter] (press ‘c’ to cancel):

گزینه خود را انتخاب کنید و سپس ENTER بزنید. پیکربندی به طور خودکار به روز می شود ، و Apache برای انتخاب تنظیمات جدید مجدد لود می شود. certbot با پیغامی همراه خواهد بود که به شما می گوید روند موفقیت آمیز بوده و گواهی نامه های شما در کجا ذخیره شده است:
Output
IMPORTANT NOTES:
– Congratulations! Your certificate and chain have been saved at:
/etc/letsencrypt/live/your_domain/fullchain.pem
Your key file has been saved at:
/etc/letsencrypt/live/your_domain/privkey.pem
Your cert will expire on 2019-10-20. To obtain a new or tweaked
version of this certificate in the future, simply run certbot again
with the “certonly” option. 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: https://eff.org/donate-le

گواهینامه های شما دانلود ، نصب و لود می شوند. سعی کنید وب سایت خود را با استفاده از https: // مجدد لود کنید و به نشانگر امنیتی مرورگر خود توجه کنید. باید نشان دهد که سایت به طور صحیح ایمن است ، معمولاً با نماد قفل سبز انجام میشود. اگر سرور خود را با استفاده از SSL Labs Server Test آزمایش کنید ، درجه A دریافت می کند.
بیایید با آزمایش روند تجدید کار را به پایان برسانیم.
مرحله 5 – تأیید تمدید خودکار Certbot
گواهی های Let’s Encrypt فقط برای نود روز اعتبار دارند. این امر برای ترغیب کاربران به اتوماسیون کردن فرایند تجدید گواهینامه میباشد. بسته certbot که نصب کردیم با اضافه کردن یک اسکریپت تجدید به /etc/cron.d از این امر مراقبت می کند. این اسکریپت روزانه دو بار اجرا می شود و به طور خودکار هر مدرکی را که کمتر از سی روز از انقضای آن مانده ، تمدید می کند.
برای آزمایش فرایند تجدید ، می توانید با استفاده از certbot این دستور را اجرا کنید:
$ sudo certbot renew –dry-run

اگر خطایی نمی بینید ، همه تنظیمات انجام شده است. در صورت لزوم ، Certbot گواهی های شما را تمدید کرده و Apache را مجدد لود می کند تا تغییرات را اعمال کند. اگر فرایند تمدید خودکار زمانی از کار نافتد ، Let’s Encrypt پیامی را به ایمیلی که مشخص کرده اید ، ارسال می کند و به شما هشدار می دهید که گواهی شما رو به پایان است.
نتیجه
در این آموزش ، کلاینت lets Encrypt certbot را نصب کردید ، گواهینامه های SSL را برای دامنه خود دانلود کردید ، Apache را برای استفاده از این گواهینامه ها پیکربندی کرده و تمدید خودکار گواهی نامه را فعال نمودید. اگر سؤال دیگری در مورد استفاده از Certbot دارید ، مراجعه به مطالب مربوطه آنها توصیه میشود.

 

 

از این لینک ها زیر می توانید آمورش های بیشتری برای لینوکس پیدا کنید :

پارامترهای پیش فرض در جاوا اسکریپت  –  اجرای چندین نسخه PHP بر روی یک سرور Debian 10

نحوه راه اندازی یک پروژه React با برنامه Reactنصب و ایمن سازی phpMyAdmin در اوبونتو 18

پیکربندی یک تایید اعتبار مجاز(CA) در CentOS 8  –  تنظیم برنامه Node.js برای تولید در CentOS 7

نصب MariaDB در اوبونتو 18.04  –  ایمن کردن Apache با Let’s Encrypt در Debian 10

نحوه نصب Node.js در CentOS 8  –  بازنویسی URL را با mod_rewrite برای Apache در Debian 10

راه اندازی فایروال با استفاده از firewalld در CentOS 8  –  نصب وب سرور Apache در Debian 10

اضافه کردن و حذف کاربران در CentOS 8 –  نصب Apache Tomcat 9 در Debian 10

نصب و استفاده از PostgreSQL در CentOS 8  –  راه اندازی سرور اولیه با Debian 10

نصب MariaDB در CentOS 8  –  چگونه با JSX عناصر واقعی ایجاد کنیم

نصب و پیکربندی VNC در Debian 10  –  استفاده از سرور از راه دور Docker

نصب و ایمن سازی Grafana در اوبونتو 18  –  نحوه نصب Git در CentOS 8

نصب Git در Debian 10 –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرورهای

نحوه نصب Node.js در Debian 10  –  نصب وب سرور Apache در CentOS 7

نحوه نصب Webmin در Debian 10  –  نصب و پیکربندی Zabbix برای ردیابی ایمن سرور

نصب وردپرس با بانک اطلاعاتی در اوبونتو  – ساخت و استقرار سرور GraphQL با Node.js و MongoDB

نصب پایتون 3 و تنظیم نویسی محلی macOS  – نصب و ایمن سازی phpMyAdmin با Nginx در سرور

نصب Nagios 4 و نظارت بر سرور اوبونتو 18  –  نصب Python 3 و تنظیم یک محیط برنامه نویسی

نحوه نصب R بر روی Debian 10  –  راه اندازی سرور Prisma روی اوبونتو 18.04

نصب و پیکربندی Laravel با LEMP در اوبونتو 18  –  نصب و پیکربندی pgAdmin 4 در Server Mode

نصب Python 3 و تنظیم برنامه نویسی CentOS 8نصب Jitsi Meet در Ubuntu 18.04

 

 

کلمات کلیدی خرید سرور

خرید vps – خرید سرور مجازی – خرید سرور – سرور هلند – فروش vps – سرور مجازی آمریکا – خریدvps – سرور مجازی هلند – فروش سرور مجازی – سرور آمریکا – vps – سرور مجازی انگلیس – سرور مجازی آلمان – سرور مجازی کانادا – خرید vps آمریکا – خرید وی پی اس – سرور – خرید سرور مجازی هلند – vps خرید – سرور مجازی فرانسه – سرور مجازی هلند – خرید vps آمریکاخرید سرور مجازی ارزان هلندvpsخرید vps هلندخرید سرور مجازی آمریکاخرید vps فرانسهتست vpsسرور مجازی تستسرور مجازی ویندوزارزانترین vpsخرید وی پی اسvps ارزان – 


https://vpsgol.net/product/vps-germany/

https://vpsgol.net/product/vps-usa/

https://vpsgol.net/product/vps-france/

https://vpsgol.net/product/vps-canada/

https://vpsgol.net/product/vps-poland/

https://vpsgol.net/product/vps-netherlands/

https://vpsgol.net/product/vps-england/