Dalam artikel ini, kami akan meneroka proses pemasangan dan konfigurasi Certbot pada pelayan Linux. Kami akan menerangkan secara terperinci bagaimana untuk mendapatkan sijil Let's Encrypt SSL/TLS untuk domain anda. Kami juga akan menerangkan cara memasangnya pada pelayan web (seperti Nginx atau Apache) dan menyediakan pembaharuan sijil automatik untuk memastikan sambungan selamat yang berterusan dengan sumber web anda.
Certbot ialah alat sumber terbuka percuma yang direka untuk pemerolehan dan pembaharuan automatik Sijil SSL/TLS. Ia memainkan peranan penting dalam menjamin sambungan antara pelayan dan pelanggan, melindungi data daripada capaian yang tidak dibenarkan. Certbot memudahkan proses pemasangan dan pembaharuan sijil SSL. Sijil bukan sahaja meningkatkan keselamatan, tetapi ia juga meningkatkan kepercayaan pengguna terhadap sumber web anda, sekali gus meningkatkan reputasi tapak dan kedudukan enjin cariannya.
Memasang Certbot
Certbot disertakan dalam kebanyakan pengedaran secara lalai, jadi untuk memasangnya Debian / Ubuntu sistem, anda hanya perlu mengemas kini senarai pakej:
apt update
Kemudian, mulakan proses pemasangan:
apt install certbot
Certbot menyokong pemalam yang memudahkan persediaan dan konfigurasi sijil untuk pelayan web. Untuk memasang pemalam ini, gunakan arahan yang sepadan:
apt install certbot python3-certbot-nginx # for Nginx
apt install certbot python3-certbot-apache # for Apache
Proses pemasangan untuk Red Hat sistem (seperti RHEL, CentOS, Fedora) adalah sedikit berbeza. Pada mulanya, anda perlu menambah repositori EPEL:
yum install epel-release
Kemudian pasang alat:
yum install certbot
Begitu juga, terdapat pilihan untuk memilih pemalam untuk pelayan web tertentu:
yum install python3-certbot-nginx # for Nginx
yum install python3-certbot-apache # for Apache
Selepas pemasangan, anda boleh terus mendapatkan sijil.
Mendapatkan Sijil SSL
Dalam bahagian ini, kita akan membincangkan proses mendapatkan sijil secara bebas daripada pelayan web tertentu, diikuti dengan menerangkan proses memasang sijil untuk Nginx dan Apache. Walau bagaimanapun, adalah penting untuk memahami sintaks dan kefungsian program terlebih dahulu. Ia kelihatan seperti berikut:
certbot command option -d domain
Perintah utama termasuk:
certbot certonly - Mengambil sijil tetapi tidak memasangnya.certbot certificates - Perintah ini memaparkan senarai semua sijil yang dipasang.certbot renew - Memanjangkan sijil sedia ada.certbot revoke - Membatalkan sijil sedia ada.certbot delete - Memadam sijil sedia ada.
Pilihan yang paling biasa digunakan ialah:
--nginx - Menggunakan skrip konfigurasi Nginx untuk pengesahan domain.--apache - Menggunakan skrip konfigurasi Apache untuk pengesahan domain.-d - Senarai domain yang mana sijil diminta.--standalone - Menggunakan mod kendiri untuk pengesahan domain.--manual - Melakukan pengesahan domain manual.
Ini hanyalah contoh arahan dan pilihan yang paling kerap. Anda boleh membiasakan diri dengan senarai penuh keupayaan program dalam bahagian bantuan:
certbot –help
Kami kini meneruskan untuk mendapatkan sijil. Sebagai contoh, kami akan mendapatkan sijil untuk a pelayan maya untuk domain peringkat ketiga percuma seperti yourusername.pserver.space
Pertama, anda perlu memasukkan arahan:
certbot certonly
Sebagai tindak balas, utiliti akan meminta anda memilih kaedah untuk mengesahkan pemilikan domain:
Pilihan pertama adalah mudah jika anda tidak mempunyai pelayan web yang dikonfigurasikan atau anda tidak mahu membuat perubahan kepada yang sedia ada. Kaedah ini mencipta pelayan web sementara untuk mengesahkan hak anda ke atas domain tersebut. Ia sesuai untuk persediaan yang mudah dan cepat. Apabila memilih kaedah ini, adalah penting untuk memastikan port 80 percuma.
Pilihan kedua adalah lebih baik jika anda sudah mempunyai pelayan web yang beroperasi, dan anda mahu menggunakannya untuk mengesahkan hak ke atas domain tersebut. Certbot meletakkan fail khas dalam folder pada pelayan anda, yang kemudiannya disemak oleh pusat pensijilan.
Kami memilih pilihan pertama dan klik seterusnya. Pada peringkat ini, anda perlu:
- Masukkan alamat e-mel;
- Setuju dengan syarat perkhidmatan;
- Bersetuju atau enggan menerima e-mel bagi pihak syarikat dan rakan kongsinya;
- Nyatakan nama domain yang sijil dikeluarkan.
Selepas melengkapkan proses pengeluaran sijil dengan alat Certbot, ia akan menunjukkan laluan ke direktori tempat sijil yang dikeluarkan dan data untuk akaun anda disimpan:
Yang tinggal hanyalah untuk anda memautkan sijil yang diperolehi kepada perkhidmatan yang diperlukan.
Memasang Sijil untuk Nginx atau Apache
Bahagian ini menganggap bahawa syarat asas tertentu telah dipenuhi:
- Anda telah pun memasang dan mengkonfigurasi pelayan web, sama ada Nginx atau Apache. Ia mesti boleh diakses dari internet melalui nama domain yang anda ingin dapatkan sijil;
- Semasa pemasangan alat, anda juga memasang pemalam untuk Nginx atau Apache menggunakan arahan yang sesuai;
- Firewall membenarkan sambungan pada port 80 dan 443. Jika port ini ditutup kepada sambungan, perkhidmatan tersebut tidak akan tersedia untuk sambungan masuk. Untuk butiran lanjut tentang operasi tembok api, kami membincangkan perkara ini dalam artikel mengenai menyediakan tembok api pada Linux.
Setelah semua syarat dipenuhi, anda boleh meneruskan terus ke pengeluaran sijil. Kami akan mempertimbangkan proses mendapatkan sijil SSL pada pelayan menggunakan Nginx sebagai contoh. Walau bagaimanapun, jika anda menggunakan pelayan web Apache, prosesnya adalah sama sepenuhnya.
Untuk mendapatkan sijil, anda perlu memasukkan arahan:
certbot --nginx # for Nginx
certbot --apache # for Apache
Sebagai balasan, alat tersebut akan meminta: alamat e-mel, persetujuan terhadap syarat penggunaan perkhidmatan Let's Encrypt dan kebenaran untuk menghantar e-mel bagi pihak perkhidmatan dan rakan kongsinya.
Selepas itu, anda perlu menentukan nama domain yang mana sijil dikeluarkan. Certbot boleh menentukan domain secara automatik jika ia dinyatakan dalam nama pelayan padang untuk Nginx konfigurasi atau Nama pelayan and ServerAlias khususnya Apache. Jika ia tidak dinyatakan, program akan memberitahu anda dan meminta anda memasukkan nama domain secara manual. Kemudian, utiliti akan bertanya sama ada untuk mendayakan pengalihan permintaan daripada HTTP ke protokol HTTPS. Untuk menyediakan ubah hala automatik, anda harus memilih pilihan kedua:
Selepas beberapa lama, Certbot akan memberitahu anda tentang kejayaan memperoleh sijil untuk domain yang ditentukan. Dari titik ini ke hadapan, semua sambungan masuk akan diubah hala dari port 80 ke 443. Alat ini akan memaparkan direktori di mana anda boleh menemui semua data sijil dan butiran akaun Let's Encrypt:
Mesej itu juga akan menentukan tempoh sah sijil yang diperolehi dan pilihan penting untuk menguruskan semua sijil aktif:
- pasti. Pilihan ini digunakan untuk mendapatkan atau mengemas kini sijil tanpa konfigurasi pelayan web automatik. Certbot hanya akan meminta atau mengemas kini sijil tetapi tidak akan membuat sebarang perubahan automatik pada konfigurasi pelayan. Sebelum ini, kami menggunakan pilihan ini untuk mendapatkan sijil tanpa terikat pada pelayan web.
- memperbaharui digunakan untuk pembaharuan automatik semua sijil yang telah diperolehi melalui Certbot dan berada dalam tempoh sah lakunya. Program ini akan menyemak semua sijil, dan jika mana-mana sijil itu tamat tempoh dalam masa 30 hari atau kurang, ia akan diperbaharui secara automatik.
Seterusnya dalam arahan, kami akan membincangkan cara menyediakan pembaharuan automatik sijil tanpa campur tangan pengguna setiap tiga bulan.
Pembaharuan Sijil Automatik dalam Certbot
Untuk Debian/Ubuntu
Apabila menggunakan sistem pengendalian ini, Certbot secara automatik menambah skrip pada senarai tugas untuk pembaharuan automatik sijil yang dipasang. Anda boleh menyemak kefungsian skrip dengan arahan berikut:
systemctl status certbot.timer
Respons akan memaparkan status perkhidmatan, serta direktori yang mengandungi fail konfigurasi. Anda boleh membukanya menggunakan mana-mana penyunting teks. Jika anda tidak berpengalaman dengan editor teks di Linux, kami mengesyorkan agar anda membiasakan diri anda gambaran keseluruhan kami daripada penyelesaian yang paling popular. Dalam kes ini, kami akan menggunakan nano:
nano /lib/systemd/system/certbot.timer
Semua parameter penting diserlahkan:
- Jadual menunjukkan bahawa perkhidmatan akan dijalankan dua kali sehari pada jam 00:00 dan 12:00;
- Nilai kedua menunjukkan kelewatan rawak dalam beberapa saat yang akan ditambahkan pada permulaan pemasa. Dalam kes ini, ia adalah 43,200 saat (12 jam), yang menjadikan pelancaran lebih rawak dan menyebarkan beban;
- Parameter ini memastikan bahawa jika pemasa sepatutnya dilaksanakan semasa penutupan sistem, ia akan diaktifkan serta-merta selepas dimulakan.
Anda juga boleh menjalankan semakan paksa pembaharuan sijil dengan arahan:
certbot renew --dry-run
Menggunakan arahan ini, sijil tidak akan dikemas kini. Sebaliknya, alat itu akan melakukan tindakan yang serupa dengan mendapatkan sijil apabila tamat tempohnya. Dengan cara ini, anda boleh memastikan kefungsian perkhidmatan berkenaan pembaharuan automatik.
Untuk CentOS, Fedora, dan lain-lain
Proses mendayakan kemas kini automatik pada sistem keluarga Red Hat berbeza sedikit. Tidak seperti Debian/Ubuntu, untuk CentOS dan sistem lain, anda perlu menambah tugas secara manual pada penjadual. Untuk ini, kami akan menggunakan cron alat:
crontab -e
Kemudian, dalam fail yang terbuka, tambahkan baris berikut:
0 12 * * * /usr/bin/certbot renew --quiet
Mari kita pecahkan hujah utama arahan:
- Masa pelaksanaan. Dalam kes ini, arahan akan dijalankan secara automatik pada jam 12:00 setiap hari;
- Perintah untuk memperbaharui sijil SSL/TLS menggunakan Certbot;
- . --senyap bendera menyekat output, menjadikan proses lebih tersembunyi dan kurang mengganggu dalam log atau paparan sistem.
Selepas menambah arahan, anda perlu menyimpan perubahan dalam fail.
Sama seperti Debian/Ubuntu, anda juga boleh memulakan semakan paksa pembaharuan sijil:
certbot renew --dry-run
Hasil daripada pelaksanaan perintah yang berjaya kelihatan seperti berikut:
Kesimpulan
Kami telah meneroka proses menyeluruh untuk memasang dan mengkonfigurasi Certbot pada pelayan Linux. Dengan mengikut arahan yang diberikan, anda boleh berjaya mendapatkan sijil SSL/TLS daripada Let's Encrypt, memasangnya pada pelayan web anda dan mengkonfigurasi pembaharuan automatik untuk memastikan perlindungan berterusan dan meningkatkan kepercayaan terhadap sumber web anda. Dengan Certbot, anda boleh mencipta persekitaran yang boleh dipercayai dan selamat untuk pengguna dengan mudah.