GNU/Linux >> Belajar Linux >  >> FreeBSD

Cara Mengamankan Apache dengan SSL dan Let's Encrypt di FreeBSD

Dalam tutorial ini kita akan mempelajari cara mengamankan Apache HTTP server dengan TLS/SSL sertifikat yang ditawarkan oleh Let's Encrypt di FreeBSD 11.x . Kami juga akan membahas cara mengotomatiskan proses pembaruan sertifikat untuk Lets’ Encrypt.

Baca Juga :Instal Let's Encrypt untuk Nginx di FreeBSD

TLS/SSL sertifikat digunakan oleh server web Apache untuk mengenkripsi komunikasi antara node akhir, atau lebih biasa antara server dan klien untuk memberikan keamanan. Let's Encrypt menyediakan certbot utilitas baris perintah, yaitu aplikasi yang dapat memfasilitasi cara Anda mendapatkan sertifikat tepercaya secara gratis.

Persyaratan:

  1. Pemasangan FreeBSD 11.x
  2. 10 Hal yang Harus Dilakukan Setelah Instalasi FreeBSD
  3. Cara Menginstal Apache, MariaDB dan PHP di FreeBSD

Langkah 1:Konfigurasi Apache SSL di FreeBSD

1. Sebelum mulai menginstal utilitas certbot dan membuat file konfigurasi TSL untuk Apache , pertama buat dua direktori berbeda bernama sites-available dan berfungsi dengan situs di direktori konfigurasi root Apache dengan mengeluarkan perintah di bawah ini.

Tujuan dari kedua direktori ini adalah untuk memfasilitasi manajemen konfigurasi virtual hosting di sistem, tanpa memodifikasi Apache utama httpd.conf file konfigurasi setiap kali kita menambahkan virtual host baru.

# mkdir /usr/local/etc/apache24/sites-available# mkdir /usr/local/etc/apache24/sites-enabled

2. Setelah Anda membuat kedua direktori, buka Apache httpd.conf file dengan editor teks dan tambahkan baris berikut di dekat akhir file seperti yang diilustrasikan di bawah ini.

# nano /usr/local/etc/apache24/httpd.conf

Tambahkan baris berikut:

IncludeOptional etc/apache24/sites-enabled/*.conf

3. Selanjutnya, aktifkan TLS modul untuk Apache dengan membuat file baru berikut bernama 020_mod_ssl.conf di modules.d direktori dengan konten berikut.

# nano /usr/local/etc/apache24/modules.d/020_mod_ssl.conf

Tambahkan baris berikut ke file 020_mod_ssl.conf .

Dengarkan 443SSLProtocol ALL -SSLv2 -SSLv3SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5SSLPassPhraseDialog builtinSSLSessionCacheTimeout 300

4. Sekarang, batalkan komentar pada SSL modul dari /usr/local/etc/apache24/httpd.conf file dengan menghapus hashtag dari awal baris berikut seperti yang digambarkan di bawah ini:

LoadModule ssl_module libexec/apache24/mod_ssl.so

5. Selanjutnya, buat TLS file konfigurasi untuk domain Anda di situs-tersedia direktori, sebaiknya dengan nama domain Anda, seperti yang disajikan dalam kutipan di bawah ini:

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Tambahkan konfigurasi virtualhost berikut ke file bsd.lan-ssl.conf .

 ServerName www.yourdomain.com ServerAlias ​​yourdomain.com DocumentRoot "/usr/local/www/apache24/data/" SSLEngine pada SSLCertificateFile "/usr/local/etc/letsencrypt/live/www. yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/ fullchain.pem" SSLOptions +StdEnvVars SSLOptions +StdEnvVars BrowserMatch "MSIE [2-5]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log" \ "%t %h %{ SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"  Indeks Opsi FollowSymLinks MultiViews #AllowOverride mengontrol arahan apa yang dapat ditempatkan di file .htaccess. AllowOverride Semua #Kontrol yang bisa mendapatkan barang dari file server ini Membutuhkan semua yang diberikan  ErrorLog "/var/log/apache/yourdomain.ssl-error.log" CustomLog "/var/log/apache/yourdomain.ssl-access_log " gabungan

Pastikan Anda mengganti variabel nama domain dari ServerName , ServerAlias , Log Kesalahan , Log Kustom pernyataan yang sesuai.

Langkah 2:Instal Lets'Encrypt di FreeBSD

6. Pada langkah selanjutnya, jalankan perintah berikut untuk menginstal certbot utilitas yang disediakan oleh Let's Encrypt , yang akan digunakan untuk mendapatkan Apache TSL sertifikat gratis untuk domain Anda.

Saat memasang certbot serangkaian prompt akan ditampilkan di layar Anda. Gunakan tangkapan layar di bawah untuk mengonfigurasi certbot kegunaan. Selain itu, mengompilasi dan menginstal utilitas certbot mungkin memakan waktu lama, bergantung pada sumber daya mesin Anda.

# cd /usr/ports/security/py-certbot# bersihkan instalasi

7. Setelah proses kompilasi selesai, jalankan perintah di bawah ini untuk memperbarui certbot utilitas dan certbot dependensi yang diperlukan.

# pkg install py27-certbot# pkg install py27-acme

8. Untuk membuat sertifikat untuk domain Anda, jalankan perintah seperti yang diilustrasikan di bawah ini. Pastikan Anda memberikan lokasi root web yang benar tempat file situs web Anda disimpan di sistem file (DocumentRoot arahan dari file konfigurasi domain Anda) menggunakan -w bendera. Jika Anda memiliki beberapa subdomain, tambahkan semuanya dengan -d bendera.

# certbot certonly --webroot -w /usr/local/www/apache24/data/ -d yourdomain.com -d www.yourdomain.com

Saat mendapatkan sertifikat, berikan alamat email untuk perpanjangan sertifikat, tekan a untuk menyetujui syarat dan ketentuan Let's Encrypt dan n untuk tidak membagikan alamat email mitra Let's Encrypt.

Keluaran Perintah Certbot
Menyimpan log debug ke /var/log/letsencrypt/letsencrypt.logMasukkan alamat email (digunakan untuk pembaruan mendesak dan pemberitahuan keamanan) (Masukkan 'c' untuk membatalkan):[dilindungi email]Tampaknya ada masalah dengan itu alamat. Masukkan alamat email (digunakan untuk pembaruan darurat dan pemberitahuan keamanan) Jika Anda benar-benar ingin melewati ini, Anda dapat menjalankan klien dengan --register-unsafely-without-email tetapi pastikan Anda mencadangkan kunci akun Anda dari /etc/letsencrypt/accounts (Enter 'c' untuk membatalkan):[email protected]--------------------------------------- ----------------------------------------Silakan baca Ketentuan Layanan di https:// letsencrypt.org/documents/LE-SA-v1.1.1-August-1-2016.pdf. Anda harus setuju untuk mendaftar ke server ACME di https://acme-v01.api.letsencrypt.org/directory------------------------- -------------------------------------------------- ----(A)setuju/(C)batal:a -------------------------------------------------- ----------------------------- Apakah Anda bersedia membagikan alamat email Anda dengan Electronic Frontier Foundation, mitra pendiri Let's Enkripsi proyek dan organisasi nirlaba yang mengembangkan Certbot? Kami ingin mengirimi Anda email tentang EFF dan pekerjaan kami untuk mengenkripsi web, melindungi penggunanya, dan mempertahankan hak digital. -------------------------------------------------- ----------------------------- (Y)es/(T)o:n Memperoleh sertifikat baru Melakukan tantangan berikut:tantangan http-01 untuk www.domain.com Menggunakan jalur webroot /usr/local/www/apache24/data untuk semua domain yang tidak cocok. Menunggu verifikasi... Membersihkan tantangan CATATAN PENTING:- Selamat! Sertifikat dan rantai Anda telah disimpan di /usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem. Sertifikat Anda akan kedaluwarsa pada 15-11-2017. Untuk mendapatkan versi baru atau tweak dari sertifikat ini di masa mendatang, jalankan certbot lagi. Untuk memperbarui *semua* sertifikat Anda secara non-interaktif, jalankan "certbot renew" - Kredensial akun Anda telah disimpan di direktori konfigurasi Certbot Anda di /usr/local/etc/letsencrypt. Anda harus membuat cadangan aman folder ini sekarang. Direktori konfigurasi ini juga akan berisi sertifikat dan kunci pribadi yang diperoleh Certbot sehingga membuat cadangan folder ini secara teratur sangat ideal. - Jika Anda menyukai Certbot, mohon pertimbangkan untuk mendukung pekerjaan kami dengan:Menyumbang ke ISRG / Let's Encrypt:https://letsencrypt.org/donate Menyumbang ke EFF:https://eff.org/donate-le

9. Setelah Anda mendapatkan sertifikat untuk domain Anda, Anda dapat menjalankan perintah ls untuk membuat daftar semua komponen sertifikat (rantai, kunci pribadi, sertifikat) seperti yang disajikan dalam contoh di bawah ini.

# ls -al /usr/local/etc/letsencrypt/live/www.yourdomain.com/

Langkah 3:Perbarui Sertifikat Apache TLS di FreeBSD

10. Untuk menambahkan sertifikat Let's Encrypt ke situs web Anda, buka file konfigurasi apache untuk domain Anda dan perbarui baris berikut untuk mencerminkan jalur sertifikat yang diterbitkan.

# nano /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf

Tambahkan baris sertifikat TLS ini:

SSLCertificateFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/cert.pem" SSLCertificateKeyFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/privkey.pem" SSLCertificateChainFile "/usr/local/etc/letsencrypt/live/www.yourdomain.com/fullchain.pem"

11. Terakhir, aktifkan file konfigurasi TLS, dengan membuat symlink untuk file konfigurasi TLS domain Anda ke sites-enabled direktori, periksa konfigurasi Apache untuk kemungkinan kesalahan sintaks dan, jika sintaksnya OK, mulai ulang daemon Apache dengan mengeluarkan perintah di bawah ini.

# ln -sf /usr/local/etc/apache24/sites-available/bsd.lan-ssl.conf /usr/local/etc/apache24/sites-enabled/# apachectl -t# service apache24 restart 

12. Untuk memeriksa apakah layanan Apache mendengarkan di HTTPS port 443 , jalankan perintah berikut untuk membuat daftar soket jaringan httpd.

# sockstat -4 | grep httpd

13. Anda dapat menavigasi ke alamat domain Anda dari browser melalui protokol HTTPS untuk mengonfirmasi bahwa sertifikat Let's Encrypt berhasil diterapkan.

https://www.domainanda.com

14. Untuk mendapatkan informasi tambahan tentang sertifikat Let's Encrypt yang dikeluarkan dari baris perintah, gunakan openssl perintah sebagai berikut.

# openssl s_client -hubungkan www.domainanda.com:443

15. Anda juga dapat memverifikasi apakah lalu lintas dienkripsi dengan sertifikat valid yang diberikan oleh Let's Encrypt CA dari perangkat seluler seperti yang diilustrasikan pada tangkapan layar seluler di bawah ini.

Itu saja! Klien sekarang dapat mengunjungi situs web Anda dengan aman, karena lalu lintas yang mengalir antara server dan browser klien dienkripsi. Untuk tugas yang lebih kompleks mengenai utilitas certbot, kunjungi tautan berikut:https://certbot.eff.org/


FreeBSD
  1. Cara Menginstal dan Mengamankan phpMyAdmin dengan Apache di CentOS 7

  2. Cara Mengamankan Nginx dengan SSL dan Let's Encrypt di FreeBSD

  3. Cara mengamankan koneksi SSL dengan Apache di Ubuntu 18.04

  1. Cara Mengamankan Server Web Apache dengan Let's Encrypt di RHEL 8

  2. Cara Menginstal WonderCMS dengan Apache dan Mengenkripsi SSL di CentOS 8

  3. Cara menginstal Webmin dan mengamankannya dengan Lets Encrypt SSL di Ubuntu 20.04 LTS

  1. Cara Menginstal PrestaShop dengan Apache dan Mengenkripsi SSL di CentOS 8

  2. Cara Menginstal Joomla dengan Apache dan Mengenkripsi SSL di Debian 10

  3. Cara Instal WordPress dengan Apache dan Mari Enkripsi SSL di Debian 11