GNU/Linux >> Belajar Linux >  >> Ubuntu

Mengamankan ISPConfig 3.1 Dengan Lets Encrypt SSL Certificate Gratis

PENTING :Panduan ini tidak kompatibel dengan ISPConfig 3.2 dan yang lebih baru karena ISPConfig 3.2 dan versi yang lebih baru memiliki Let's encrypt for all services builtin. Sertifikat SSL Let's encrypt akan dikonfigurasi secara otomatis selama penginstalan, jadi tidak perlu lagi mengonfigurasi Let's encrypt untuk layanan apa pun secara manual lagi.

Penulis: ahrasis

Tutorial ini menunjukkan cara membuat dan mengonfigurasi sertifikat SSL Let's encrypt gratis untuk antarmuka ISPconfig (port 8080), sistem email (Postfix dan Dovecot/Courier), server FTP (pure-ftpd) dan Monit. Perintah dalam tutorial ini telah diuji di Ubuntu 16.04, perintah tersebut juga dapat berfungsi untuk Debian. Modifikasi tertentu mungkin diperlukan untuk membuatnya berfungsi di CentOS.

Bantuan untuk panduan ini tersedia di utas forum ini.

Membuat Situs Web Menggunakan Server ISPConfig Hostname FQDN

Buat situs untuk server Anda di panel ISPConfig melalui Sites> Situs web> Tambahkan situs web baru . Ingat! Ini adalah situs web server Anda dan karena itu harus berisi nama domain yang sepenuhnya memenuhi syarat server Anda (FQDN). Saya akan menyebutnya sebagai `hostname -f` dalam panduan ini.

hostname -f

Mudah-mudahan, ini akan berfungsi tanpa perubahan apa pun pada server Anda juga.

Mengakses Situs Web ISPConfig Online

Periksa apakah situs server Anda siap dan dapat diakses secara online karena Let's Encrypt perlu memverifikasi situs web Anda dapat diakses sebelum mengeluarkan kunci SSL, sertifikat, dan file rantai untuk situs server Anda. Anda juga harus membuat zona DNS-nya dan mengizinkannya menyebar dengan benar karena Let's Encrypt juga perlu memverifikasinya.

Mengaktifkan SSL Untuk Panel Kontrol ISPConfig 3 (Port 8080)

Jika Anda belum mengaktifkan SSL selama penyiapan ISPConfig yaitu untuk panel kontrolnya di port 8080, aktifkan dengan mengetikkan ispconfig_update.sh di terminal dan pilih ya untuk SSL. Kami tidak membutuhkan ini untuk menjadi kunci yang tepat dan kami juga tidak ingin menyimpannya tetapi kami ingin bekerja lebih cepat, sehingga kami cukup memasukkan semua bidangnya. Setelah Anda menyelesaikan ini, SSL yang ditandatangani sendiri seharusnya sudah diaktifkan untuk ISPConfig Anda.

Memeriksa SSL Untuk Panel Kontrol ISPConfig 3 (Port 8080)

Periksa browser Anda untuk mengonfirmasi dengan membuka panel kontrol ISPConfig di port 8080. Perhatikan bahwa Anda mungkin mendapatkan peringatan pada tahap ini karena file SSL yang dibuat ditandatangani sendiri tetapi browser akan mengonfirmasi bahwa ISPConfig Anda mengaktifkan SSL atau sebaliknya.

Mengamankan Situs ISPConfig Dengan Let's Encrypt SSL

Jika hal di atas sudah selesai, kembali ke panel ISPConfig> Situs> Situs Web> Nama Situs Web , lalu klik SSL dan Ayo Enkripsi centang tombol dan simpan - untuk membuat Let's Encrypt file SSL dan mengaktifkannya untuk situs server Anda. Jika berhasil, situs server Anda sekarang akan menggunakan file Let's Encrypt SSL ini tetapi bukan halaman ISPConfig 8080 Anda. Jika tidak berhasil, Anda tidak akan dapat melanjutkan lebih jauh, jadi periksa file lognya untuk mencari petunjuk.

Mengubah Panel Kontrol ISPConfig 3 (Port 8080)

Jika LE SSL sudah bekerja, kemudian pergi ke terminal server Anda, pergi root melalui sudo su dan gunakan perintah berikut untuk mencadangkan dan mengganti file SSL yang ditandatangani sendiri dengan Let's Encrypt file SSL.

cd /usr/local/ispconfig/interface/ssl/
mv ispserver.crt ispserver.crt-$(date +"%y%m%d%H%M%S").bak
mv ispserver.key ispserver.key-$(date +"%y%m%d%H%M%S").bak
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /etc/letsencrypt/live/$(hostname -f)/fullchain.pem ispserver.crt
ln -s /etc/letsencrypt/live/$(hostname -f)/privkey.pem ispserver.key
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem
  • Jika Anda belum pernah membuat ispserver.pem sebelumnya, Anda dapat mengabaikan baris ketiga yang ditujukan untuk mengganti nama yang sudah ada, jika ada, sebagai cadangan.
  • Perhatikan bahwa kami menggunakan Let's Encrypt live folder alih-alih folder arsip.
  • Perhatikan juga baris terakhir di mana ispserver.pem dibuat dengan menggabungkan file, dengan demikian, itu tidak akan diperpanjang secara otomatis oleh Let's Encrypt tidak seperti file lain yang hanya kita symlink, oleh karena itu, kita akan membahasnya di bagian terakhir panduan ini.
  • Perhatikan juga bahwa Anda mengetik `hostname -f` atau server1.example.com karena hasilnya sama karena `hostname -f` adalah server1.example.com.

Menggunakan Yang Sama Mari Mengenkripsi Sertifikat SSL Untuk Layanan Utama Lainnya

Sebagai tip tambahan, berdasarkan Mengamankan Instalasi ISPConfig 3 Anda, Anda mungkin ingin menggunakan symlink ke ispserver.key atau .crt atau .pem daripada langsung mengarahkan postfix, dovecot, kurir, pure-FTPd, dan monit Anda ke Let's Encrypt file SSL. Untuk dovecot, jika sudah menggunakan file SSL postfix, aman untuk Anda abaikan. Secara detail Anda hanya perlu melakukan hal berikut:

a. Untuk Postfix

cd /etc/postfix/
mv smtpd.cert smtpd.cert-$(date +"%y%m%d%H%M%S").bak
mv smtpd.key smtpd.key-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.crt smtpd.cert
ln -s /usr/local/ispconfig/interface/ssl/ispserver.key smtpd.key
service postfix restart
service dovecot restart


b. Untuk dovecot:(* Perhatikan ini tidak boleh ada bersama dengan kurir)

Periksa apakah kode ini ada dengan menggunakan nano /etc/dovecot/dovecot.conf

[...]
ssl_cert = </etc/postfix/smtpd.cert
ssl_key = </etc/postfix/smtpd.key
[...]

Biarkan mereka apa adanya jika memang ada. Jika tidak, perbaiki. Bagaimanapun, menjalankan layanan dovecot restart sudah dibahas di atas.

c. Untuk kurir:(* Perhatikan ini tidak boleh ada bersama dengan dovecot)

cd /etc/courier/
mv imapd.pem imapd.pem-$(date +"%y%m%d%H%M%S").bak
mv pop3d.pem pop3d.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem imapd.pem
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pop3d.pem
service courier-imap-ssl stop
service courier-imap-ssl start
service courier-pop-ssl stop
service courier-pop-ssl start

d. Untuk FTPd murni:

cd /etc/ssl/private/
mv pure-ftpd.pem pure-ftpd.pem-$(date +"%y%m%d%H%M%S").bak
ln -s /usr/local/ispconfig/interface/ssl/ispserver.pem pure-ftpd.pem
chmod 600 pure-ftpd.pem
service pure-ftpd-mysql restart

e. Untuk monit:(Jika Anda telah menginstalnya di server Anda)

nano /etc/monit/monitrc

Tambahkan symlink di atas ke ispserver.pem yang kami buat untuk pure-ftpd juga di sini:

[...]
set httpd port 2812 and
SSL ENABLE
PEMFILE /etc/ssl/private/pure-ftpd.pem
allow admin:'secretpassword'
[...]

Dan mulai ulang monit:

service monit restart


Buat Skrip Pembaruan Otomatis Untuk File Pem ISPConfig Anda (ispserver.pem)

Pada langkah terakhir ini, yang sejauh ini belum saya temukan di panduan apa pun, adalah pembaruan otomatis ispserver.pem seperti yang diisyaratkan sebelumnya. Saat ini, itu harus diubah secara manual tepat setelah Let's Encrypt secara otomatis memperbarui file SSL server Anda. Untuk menghindari mengabaikan hal ini, Anda mungkin ingin menginstal incron seperti yang disarankan dalam tutorial incron masing-masing dan membuat skrip untuk memperbarui file ispserver.pem Anda secara otomatis, sebagai berikut:

Melalui perintah terminal, instal incron, lalu buat file skrip dan edit menggunakan nano:

apt install -y incron
nano /etc/init.d/le_ispc_pem.sh

Tambahkan ini di le_ispc_pem.sh:

#!/bin/sh
### BEGIN INIT INFO
# Provides: LE ISPSERVER.PEM AUTO UPDATER
# Required-Start: $local_fs $network
# Required-Stop: $local_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: LE ISPSERVER.PEM AUTO UPDATER
# Description: Update ispserver.pem automatically after ISPC LE SSL certs are renewed.
### END INIT INFO
cd /usr/local/ispconfig/interface/ssl/
mv ispserver.pem ispserver.pem-$(date +"%y%m%d%H%M%S").bak
cat ispserver.{key,crt} > ispserver.pem
chmod 600 ispserver.pem
chmod 600 /etc/ssl/private/pure-ftpd.pem
service pure-ftpd-mysql restart
service monit restart
service postfix restart
service dovecot restart
service nginx restart
  • Perhatikan beberapa orang tidak menginstal monit, sehingga mereka dapat menghapusnya dengan aman. Sesuaikan skrip di atas.
  • Untuk pengaturan multi-server, lihat postingan #203 dan tambahkan kode scp yang diberikan di sini untuk mengotomatiskan pembaruan di masa mendatang.

Kami kemudian membuatnya dapat dieksekusi, tambahkan root sebagai pengguna yang diizinkan untuk incrontab dan kemudian edit file incrontab:

chmod +x /etc/init.d/le_ispc_pem.sh
echo "root" >> /etc/incron.allow
incrontab -e


Tambahkan baris ini di dalamnya incrontab:

/etc/letsencrypt/archive/$(hostname -f)/ IN_MODIFY ./etc/init.d/le_ispc_pem.sh

Memulai Ulang Layanan Anda

Saya pikir itu saja untuk Mengamankan Server Anda Dengan Let's Encrypt. Anda mungkin ingin memulai ulang server web setelahnya.

service nginx restart

Ingat:jika Anda menggunakan apache, ubah nginx menjadi apache2 yang sesuai.

LE4ISPC

Sebagai alternatif, Anda mungkin ingin menggunakan skrip LE4ISPC yang dibuat untuk tujuan ini yang mendukung nginx dan Apache2 dari ISPConfig hingga pure-ftpd di atas kecuali untuk monit. Sebelum menggunakannya, Anda harus telah menyelesaikan langkah-langkah di atas (1-5) dan memiliki :

1. Membuat situs web untuk server Anda melalui ISPConfig;
2. Situs web dapat diakses secara online;
3. ISPConfig SSL diaktifkan (melalui penginstalan atau pembaruan);
4. LE SSL berhasil diaktifkan untuk situs web.


Ubuntu
  1. SSL gratis untuk Nginx di Centos oleh Let's encrypt

  2. Memulai dengan acme.sh Mari Enkripsi klien SSL

  3. Let's Encrypt:Dapatkan Sertifikat SSL Gratis Menggunakan Certbot

  1. Cara mengamankan akun yang mendukung cPanel dengan sertifikat SSL Lets Encrypt

  2. Bagaimana mengelola Lets Encrypt sertifikat SSL/TLS dengan certbot

  3. Cara mendapatkan sertifikat SSL gratis dengan SSL It! dan Ayo Enkripsi di Plesk

  1. Amankan Nginx dengan Lets Encrypt di Ubuntu 20.04

  2. Amankan Apache dengan Lets Encrypt di Ubuntu 20.04

  3. 7 Layanan Sertifikat SSL Gratis Teratas