Cara Mengamankan Apache dengan SSL dan mari enkripsi di FreeBSD

Cara Mengamankan Apache dengan SSL dan mari enkripsi di FreeBSD

Dalam tutorial ini kita akan belajar bagaimana untuk mendapatkan Apache http pelayan dengan TLS/SSL sijil yang ditawarkan oleh Mari enkripsi dalam FreeBSD 11.x. Kami juga akan meliputi cara mengautomasikan proses pembaharuan sijil untuk menyulitkan.

Baca juga: Pasang mari kita enkripsi untuk nginx di freeBSD

TLS/SSL sijil digunakan oleh pelayan web Apache untuk menyulitkan komunikasi antara nod akhir, atau lebih biasa antara pelayan dan klien untuk memberikan keselamatan. Mari enkripsi menyediakan Certbot Utiliti Talian Perintah, yang merupakan aplikasi yang dapat memudahkan cara anda dapat memperoleh sijil yang dipercayai secara percuma.

Keperluan:

  1. Pemasangan FreeBSD 11.x
  2. 10 perkara yang perlu dilakukan selepas pemasangan FreeBSD
  3. Cara Memasang Apache, MariaDB dan PHP di FreeBSD

Langkah 1: Konfigurasikan Apache SSL di FreeBSD

1. Sebelum mula memasang utiliti certbot dan buat fail konfigurasi TSL untuk Apache, Pertama buat dua direktori berbeza yang dinamakan Tapak-tapak tersedia dan Tapak yang dibolehkan dalam direktori konfigurasi akar apache dengan mengeluarkan arahan di bawah.

Tujuan kedua -dua direktori ini adalah untuk memudahkan pengurusan konfigurasi hosting maya dalam sistem, tanpa mengubah suai Apache utama httpd.Conf Fail konfigurasi setiap kali kami menambah hos maya baru.

# mkdir/usr/local/etc/apache24/tapak-tersedia # mkdir/usr/local/etc/apache24/enabled sites 

2. Setelah anda membuat kedua -dua direktori, buka Apache httpd.Conf Fail dengan editor teks dan tambahkan baris berikut dekat dengan akhir fail seperti digambarkan di bawah.

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

Tambahkan baris berikut:

Termasuk pilihan dan apache24/laman web yang dibolehkan/*.Conf 
Konfigurasikan Apache di FreeBSD

3. Seterusnya, aktifkan TLS modul untuk Apache dengan membuat fail baru berikut bernama 020_mod_ssl.Conf dalam modul.d direktori dengan kandungan berikut.

# nano/usr/tempatan/etc/apache24/modul.D/020_MOD_SSL.Conf 

Tambahkan baris berikut ke fail 020_mod_ssl.Conf.

Dengar 443 SSLProtocol All -SSLv2 -SSLV3 SSLCIPHERSUITE Tinggi: Sederhana:!Anull:!MD5 sslpassphrasedialog sslSessionCachetimeout 300 
Konfigurasi SSL Apache di FreeBSD

4. Sekarang, Uncomment the SSL modul dari /usr/local/etc/apache24/httpd.Conf Fail dengan mengeluarkan hashtag dari permulaan baris berikut seperti yang digambarkan di bawah:

Loadmodule ssl_module libexec/apache24/mod_ssl.Jadi 
Dayakan modul SSL di Apache

5. Seterusnya, buat TLS fail konfigurasi untuk domain anda di Tapak-tapak tersedia Direktori, sebaik -baiknya dengan nama domain anda, seperti yang ditunjukkan dalam petikan di bawah:

# nano/usr/local/etc/apache24/sites-tersedia/bsd.LAN-SSL.Conf 

Tambahkan konfigurasi VirtualHost berikut ke fail BSD.LAN-SSL.Conf.

 ServerName www.Yourdomain.com serveralias yourdomain.com Documentroot "/usr/local/www/apache24/data/" sslengine on sslcertificatefile "/usr/local/etc/letsencrypt/live/www.Yourdomain.com/cert.PEM "SSLCertificateSeyFile"/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 \ DOWGRADE-1.0 Force-Response-1.0 CustomLog "/var/log/apache/httpd-ssl_request.log "\" %t %h %ssl_protocol x %ssl_cipher x \ "" %r \"" %b "" .Htaccess Files. AllowOverRide Semua #Controls yang boleh mendapatkan barangan dari fail pelayan ini memerlukan semua errorlog yang diberikan ""/var/log/apache/yourdomain.SSL-ERROR.log ""customlog""/var/log/apache/yourdomain.ssl-access_log ""digabungkan  

Makre pasti anda mengganti pemboleh ubah nama domain dari Nama pelayan, Serveralias, Errorlog, CustomLog pernyataan sewajarnya.

Langkah 2: Pasang Let'Encrypt pada FreeBSD

6. Pada langkah seterusnya, mengeluarkan arahan berikut untuk memasang Certbot utiliti yang disediakan oleh Mari enkripsi, yang akan digunakan untuk mendapatkan Apache TSL sijil percuma untuk domain anda.

Semasa memasang Certbot Siri petikan akan dipaparkan di skrin anda. Gunakan tangkapan skrin di bawah untuk mengkonfigurasi Certbot utiliti. Juga, menyusun dan memasang utiliti certbot mungkin mengambil sedikit masa, bergantung pada sumber mesin anda.

# cd/usr/port/keselamatan/py-certbot # buat pemasangan bersih 
Pasang CertBot di FreeBSD

7. Setelah proses penyusunan selesai, mengeluarkan arahan di bawah untuk mengemas kini Certbot utiliti dan Certbot ketergantungan yang diperlukan.

# PKG Pasang PY27-CertBot # PKG Pasang PY27-ACME 

8. Untuk menjana sijil untuk domain anda, mengeluarkan arahan seperti digambarkan di bawah. Pastikan anda menyediakan lokasi webroot yang betul di mana fail laman web anda disimpan dalam sistem fail (Documentroot arahan dari fail konfigurasi domain anda) menggunakan -w bendera. Sekiranya anda mempunyai subdomain berganda, tambahkan semuanya dengan -d bendera.

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

Semasa mendapatkan sijil, berikan alamat e -mel untuk pembaharuan sijil, tekan A untuk bersetuju dengan Let's Encrypt terma dan syarat dan n untuk tidak berkongsi alamat e -mel, mari enkripsi rakan kongsi.

Output perintah certbot
Menyimpan log debug ke/var/log/letsencrypt/letsencrypt.Log masukkan alamat e -mel (digunakan untuk pembaharuan segera dan notis keselamatan) (masukkan 'c' untuk membatalkan): [dilindungi e -mel] Nampaknya masalah dengan alamat itu. Masukkan alamat e-mel (digunakan untuk pembaharuan dan notis keselamatan segera) Jika anda benar-benar ingin melangkau ini, anda boleh menjalankan pelanggan dengan-tidak-tidak-tanpa e-mel tetapi pastikan anda kemudian sandarkan kunci akaun anda dari/etc/letsencrypt/ akaun (masukkan 'c' untuk membatalkan): [dilindungi e-mel] ------------------------------------ ------------------------------------------- Sila baca Syarat Perkhidmatan di https: // letsencrypt.org/dokumen/le-sa-v1.1.1-August-1-2016.pdf. Anda mesti bersetuju untuk mendaftar dengan pelayan ACME di https: // acme-v01.API.Letsencrypt.org/direktori ----------------------------------------------- -------------------------------- (a) Gree/(c) Ancel: a ------------------------------------------------------------------------------- Adakah anda bersedia untuk berkongsi alamat e-mel anda dengan Yayasan Frontier Elektronik, rakan kongsi pengasas projek Let's Encrypt dan organisasi bukan keuntungan yang membangunkan CertBot? Kami ingin menghantar e -mel kepada anda mengenai EFF dan kerja kami untuk menyulitkan web, melindungi penggunanya dan mempertahankan hak digital. ------------------------------------------------------------------------------- (Ya tidak: n Mendapatkan sijil baru yang melaksanakan cabaran berikut: Cabaran HTTP-01 untuk www.domain.com menggunakan laluan webroot/usr/local/www/apache24/data untuk semua domain yang tidak dapat ditandingi. Menunggu Pengesahan ... Membersihkan Cabaran Nota Penting: - Tahniah! Sijil dan rantaian anda telah disimpan di/usr/local/etc/letsencrypt/live/www.Yourdomain.com/fullchain.PEM. Kurser anda akan tamat pada 2017-11-15. Untuk mendapatkan versi baru atau tweak dari sijil ini pada masa akan datang, hanya jalankan Certbot lagi. Untuk memperbaharui * semua * sijil anda, jalankan ""Certbot Renew"" - kelayakan akaun anda telah disimpan dalam direktori konfigurasi Certbot anda di/usr/local/etc/letsencrypt. Anda harus membuat sandaran selamat folder ini sekarang. Direktori konfigurasi ini juga akan mengandungi sijil dan kekunci peribadi yang diperolehi oleh Certbot sehingga membuat sandaran tetap folder ini sesuai. - Jika anda suka Certbot, sila pertimbangkan untuk menyokong kerja kami dengan: menderma kepada ISRG/Let's Encrypt: https: // Letsencrypt.org/menderma menderma kepada eff: https: // eff.org/menderma-le

9. Selepas anda memperoleh sijil untuk domain anda, anda boleh menjalankan arahan LS untuk menyenaraikan semua komponen sijil (rantai, kunci peribadi, sijil) seperti yang ditunjukkan dalam contoh di bawah.

# ls -al/usr/local/etc/letsencrypt/live/www.Yourdomain.com/ 
Senaraikan sijil dan kunci domain

Langkah 3: Kemas kini Sijil TLS Apache di FreeBSD

10. Untuk menambah sijil Let's Encrypt ke laman web anda, buka fail konfigurasi Apache untuk domain anda dan kemas kini baris berikut untuk mencerminkan jalan sijil yang dikeluarkan.

# nano/usr/local/etc/apache24/sites-tersedia/bsd.LAN-SSL.Conf 

Tambahkan baris sijil TLS ini:

SslcertificateFile ""/usr/local/etc/letsencrypt/live/www.Yourdomain.com/cert.PEM ""SSLCertificateSeyFile""/usr/local/etc/letsencrypt/live/www.Yourdomain.com/privkey.PEM ""sslcertificatechainfile""/usr/local/etc/letsencrypt/live/www.Yourdomain.com/fullchain.PEM "" 
Konfigurasikan Sijil SSL untuk Domain

11. Akhirnya, aktifkan fail konfigurasi TLS, dengan membuat symlink untuk fail konfigurasi TLS domain anda ke Tapak yang dibolehkan Direktori, periksa konfigurasi Apache untuk kemungkinan kesilapan sintaks dan, jika sintaks adalah OK, mulakan semula daemon Apache dengan mengeluarkan arahan di bawah.

# ln -sf/usr/local/etc/apache24/sites -tersedia/bsd.LAN-SSL.conf/usr/local/etc/apache24/sites -enabled/ # Apachectl -t # Service Apache24 Restart 

12. Untuk memeriksa sama ada perkhidmatan Apache sedang didengarkan Https pelabuhan 443, Mengeluarkan arahan berikut untuk menyenaraikan soket rangkaian httpd.

# sockstat -4 | GREP HTTPD 
Semak port Apache

13. Anda boleh menavigasi ke alamat domain anda dari penyemak imbas melalui protokol HTTPS untuk mengesahkan bahawa sijil menyulitkan berjaya digunakan.

https: // www.Yourdomain.com 
Sahkan HTTPS Mari enkripsi sijil

14. Untuk mendapatkan maklumat tambahan mengenai sijil Let's Encrypt yang dikeluarkan dari baris arahan, gunakan OpenSSL perintah seperti berikut.

# OpenSSL S_Client -Connect www.Yourdomain.com: 443 
Periksa mari menyulitkan maklumat sijil

15. Anda juga boleh mengesahkan sama ada lalu lintas disulitkan dengan sijil yang sah yang disediakan oleh Mari enkripsi ca dari peranti mudah alih seperti yang digambarkan dalam tangkapan skrin mudah alih di bawah.

Sahkan mari enkripsi trafik https

Itu sahaja! Pelanggan kini boleh melawat laman web anda dengan selamat, kerana lalu lintas yang mengalir antara pelayan dan penyemak imbas pelanggan disulitkan. Untuk tugas yang lebih kompleks mengenai utiliti certbot lawati pautan berikut: https: // certbot.eff.org/

"