GNU/Linux >> Belajar Linux >  >> Linux

Mengamankan server surat terkelola ISPConfig 3 Anda dengan sertifikat SSL Lets Encrypt yang valid

Jika Anda menjalankan server email Anda sendiri, praktik terbaik adalah menyambungkannya secara aman dengan koneksi SSL/TLS. Anda memerlukan sertifikat yang valid untuk koneksi aman ini. Dalam tutorial ini, kami akan menyiapkan sertifikat Let's Encrypt untuk server email kami yang diperbarui secara otomatis.

Peringatan:Tutorial ini didasarkan pada tutorial ini:https://www.howtoforge.com/tutorial/securing-ispconfig-3-with-a-free-lets-encrypt-ssl-certificate/ tetapi dimodifikasi sehingga Anda memiliki sertifikat terpisah untuk server email dan panel kontrol Anda. Jika Anda telah mengikuti tutorial itu sebelumnya, tutorial ini mungkin merusak pengaturan Anda.

Tutorial ini menggunakan sertifikat yang dikeluarkan oleh acme.sh. Jika Anda menggunakan certbot, ikuti tutorial ini sebagai gantinya:https://www.howtoforge.com/community/threads/securing-your-ispconfig-3-managed-mailserver-with-a-valid-lets-encrypt-ssl-certificate -certbot.86372/

Catatan untuk ISPConfig 3.2: ISPConfig 3.2 mampu membuat sertifikat SSL Let's Encrypt yang valid untuk nama host server secara otomatis selama instalasi, yang juga digunakan untuk server email. Tidak perlu membuat sertifikat SSL Let's Encrypt secara manual seperti yang dijelaskan di sini pada sistem ISPConfig 3.2 kecuali Anda memerlukan nama domain yang berbeda dalam sertifikat SSL di samping nama host server.

Prasyarat

  • Server Anda harus diinstal sesuai dengan tutorial Server Sempurna untuk OS Anda.
  • Pastikan Anda masuk sebagai pengguna root.

Memulai

Saya akan menggunakan nama host berikut untuk server email saya:mail.example.com, smtp.example.com, imap.example.com.

Ganti semua nama host yang digarisbawahi merah dalam tutorial ini dengan milik Anda sendiri.

Buat catatan DNS untuk nama host Anda, sehingga data tersebut mengarah ke server Anda. Ini harus menjadi catatan A (dan akhirnya AAAA). Kemudian, di antarmuka ISPConfig, buka tab Situs.

Menerbitkan sertifikat

Di bawah Situs, klik "Tambahkan situs web baru". Tetapkan mail.example.com sebagai domain. Nonaktifkan Subdomain Otomatis, dan centang kotak Let's Encrypt.

Setelah ini, Anda dapat menambahkan nama host Anda yang lain sebagai domain alias, dengan masuk ke daftar aliasdomain dan mengklik "Tambahkan aliasdomain baru". Pilih smtp.example.com sebagai domain, dan mail.example.com sebagai situs induk. Nonaktifkan Subdomain Otomatis dan simpan catatan baru. Ulangi ini untuk nama host Anda yang lain.

Verifikasi bahwa sertifikat sudah ada. Anda dapat melakukannya dengan alat seperti https://www.sslshopper.com/ssl-checker.html

Seharusnya terlihat seperti ini:

Jika nama host terdaftar dan tidak ada kesalahan lain, Anda dapat melanjutkan. Jika tidak, periksa kesalahan dan selesaikan sebelum melangkah lebih jauh.

Mengganti sertifikat dengan sertifikat Let's Encrypt

Sekarang kami dapat mengganti sertifikat saat ini dengan sertifikat tepercaya Anda. Masuk ke server Anda dan jalankan perintah ini:

(ganti mail.example.com dengan nama host yang Anda gunakan untuk situs web)

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 /root/.acme.sh/mail.example.com/fullchain.cer smtpd .cert
ln -s /root/.acme.sh/mail.example.com/mail.example.com.key smtpd.key
systemctl restart postfix
systemctl restart dovecot

Sertifikat sekarang harus digunakan untuk server Postfix dan Dovecot Anda. Tapi kita belum selesai! Sertifikat Let's Encrypt diperbarui setiap 60 hari, jadi kami harus mengotomatiskan proses penggantian sertifikat di masa mendatang, sehingga Anda tidak dapat melupakannya.

Menyiapkan skrip perpanjangan otomatis

Buka file skrip baru:

nano /etc/init.d/le_mailserver_restart.sh

Tempel ini di file itu:

#!/bin/sh
### BEGIN INFO INIT
# Menyediakan:LE MAILSERVER CERT AUTO UPDATER
# Diperlukan-Mulai:$local_fs $network
# Diperlukan -Stop:$local_fs
# Default-Start:2 3 4 5
# Default-Stop:0 1 6
# Deskripsi Singkat:LE MAILSERVER CERT AUTO UPDATER
# Deskripsi :Mulai ulang server email secara otomatis saat sertifikat Let's Encrypt baru diterbitkan.
### AKHIR INFO INIT
systemctl restart postfix
systemctl restart dovecot

Jadikan skrip dapat dieksekusi:

chmod +x /etc/init.d/le_mailserver_restart.sh

Untuk memicu skrip ini secara otomatis saat pembaruan, kami akan menggunakan systemd.

Buat dan buka layanan systemd baru:

nano /etc/systemd/system/le-mailserver-restart.service

Tempel ini di file itu:

[Unit] 
Description="Jalankan skrip untuk memulai ulang Postfix dan Dovecot setelah sertifikat diperbarui"

[Layanan]
ExecStart=/etc/init.d /le_mailserver_restart.sh

Simpan dan tutup file ini. Kemudian buat dan buka file path systemd baru:

nano /etc/systemd/system/le-mailserver-restart.path

Rekatkan ini di file itu dan ganti mail.example.com dengan nama host yang Anda gunakan:

[Unit]
Description="Pantau file sertifikat server surat untuk memicu layanan email dimulai ulang setelah sertifikat diperbarui"

[Path]
PathModified=/root/.acme.sh/mail.example.com/
Unit=le-mailserver-restart.service

[Instal]
WantedBy=multi-pengguna.target

Simpan dan tutup file ini. Kemudian mulai layanan dan aktifkan agar berjalan saat startup:

systemctl start le-mailserver-restart.path

Dan aktifkan agar berjalan saat startup:

systemctl aktifkan le-mailserver-restart.path

Dan kita selesai!

Tidak berfungsi?

Saya pernah punya masalah dengan ini, karena Let's Encrypt menggunakan salah satu domain alias sebagai domain utama. Anda dapat menemukan domain utama di alat SSL yang disebutkan sebelumnya sebagai "Nama umum" atau dengan mencantumkan konten /root/acme.sh/ untuk melihat domain (alias) mana yang memiliki folder di sana.

Jika Anda masih mengalami masalah, buka utas di forum agar orang lain dapat membantu Anda.


Linux
  1. Cara mengamankan layanan email Linux Anda dengan SSL/TLS

  2. Cara mengamankan server ISPConfig 3 Anda dari serangan SSL pudel

  3. Memulai dengan acme.sh Mari Enkripsi klien SSL

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

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

  3. Mengamankan ISPConfig 3.1 Dengan Lets Encrypt SSL Certificate Gratis

  1. Amankan Nginx dengan Lets Encrypt di Ubuntu 20.04

  2. Amankan Apache dengan Lets Encrypt di Ubuntu 20.04

  3. Amankan Apache dengan Lets Encrypt di CentOS 7