fbpx
27.8 C
Jakarta
Kamis, 22 Februari 2024

Free SSL untuk Rails dan Nginx menggunakan Let’s Encrypt

Let`s Encrypt adalah Otoritas Sertifikat baru yang indah yang menyediakan gratis, Sertifikat SSL otomatis. Ini didukung oleh beberapa perusahaan terbaik di dunia dan mempromosikan ide yang harus dilindungi oleh SSL semua situs web.

Mereka melakukan itu dengan menawarkan sertifikat SSL gratis yang dapat Anda gunakan di situs manapun. Mereka hidup singkat sehingga mereka bertahan 3 bulan, dan untuk pembaharuan setup, anda dapat menggunakan cron dalam upaya memperbaharui secara berkala.

Install Let’s Encrypt client

Pertama, kita akan gunakan SSH ke server:

ssh deploy@IPADDRESS

Berikutnya, kita ambil salinan Let`s Encrypt client dari Github:

cd ~
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/

Kemudian kita perlu menjalankan script untuk menginstalnya:

./letsencrypt-auto

Creating Let’s Encrypt SSL Cert

Kita dapat membuat cert menggunakan perintah berikut. Perhatikan bahwa Anda harus mengubah beberapa hal:

  • example.com harus diganti dengan domain Anda
  • [email protected] harus diganti dengan alamat email Anda pada domain
  • /home/deploy/myapp/current/public harus diganti dengan path ke aplikasi Rails Anda
sudo /home/deploy/.local/share/letsencrypt/bin/letsencrypt certonly --webroot --webroot-path /home/deploy/myapp/current/public --renew-by-default --email [email protected] --text --agree-tos -d example.com -d www.example.com

Hal lain yang perlu kita lakukan untuk mendapatkan rating A + keamanan SSL kami adalah untuk membuat grup folder kita sendiri. Alasan untuk ini adalah bahwa hal itu melindungi kita dari serangan dari luar. Ini cukup sederhana. Kita hanya perlu menggunakan OpenSSL untuk menghasilkan group folder kemudian menambah konfigurasi Nginx SSL.

cd ~
openssl dhparam -out dhparams.pem 2048

Configurasi Nginx

Sekarang kita sudah terdaftar cert SSL kami dan membuat grup folder, kita dapat memodifikasi konfigurasi Nginx Anda untuk menambahkan SSL.

Baca Juga:  Instal phpMyAdmin di Debian 11 dengan Nginx

Tambahkan baris berikut ke blok server Anda untuk aplikasi Anda dan pastikan untuk mengubah example.com ke domain Anda.

        listen 443 ssl;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_dhparam /home/deploy/dhparams.pem;

Setelah memperbarui konfigurasi Nginx Anda Anda dapat menjalankan perintah berikut untuk reload Nginx.

sudo nginx -s reload

Sekarang buka situs di browser Anda https://domainanda.com untuk memverifikasi bahwa Anda dapat mengaksesnya melalui SSL!

Setup Renewal Cron Job

Sejak Let`s Encrypt dirancang untuk sertifikat SSL singkat, kita perlu setup script pembaharuan untuk berjalan secara periodik untuk mencoba untuk memperbaharui sertifikat SSL. Kami akan menambahkan ini ke tugas cron root pengguna sehingga dapat mencoba untuk memperbarui cert setiap hari Senin di 2:30.

Baca Juga:  7 Sumber Umum Malware dan Cara Menghindarinya

Jalankan perintah ini untuk membuka crontab:

sudo crontab -e

Tambahkan baris ini ke bagian bawah yang akan menunjukkan kapan harus menjalankan dan yang script untuk dijalankan.

30 2 * * 1 /home/deploy/.local/share/letsencrypt/bin/letsencrypt renew

Simpan dan tutup file tersebut.

Kesimpulan

Ini sangat mudah dan sederhana untuk setup SSL cert menggunakan Let`s Encrypt. Anda dapat menemukan informasi lebih lanjut di website Let`s Encrypt.

Selamat Mencoba…..

Let`s Encrypt adalah Otoritas Sertifikat baru yang indah yang menyediakan gratis, Sertifikat SSL otomatis. Ini didukung oleh beberapa perusahaan terbaik di dunia dan mempromosikan ide yang harus dilindungi oleh SSL semua situs web.

Mereka melakukan itu dengan menawarkan sertifikat SSL gratis yang dapat Anda gunakan di situs manapun. Mereka hidup singkat sehingga mereka bertahan 3 bulan, dan untuk pembaharuan setup, anda dapat menggunakan cron dalam upaya memperbaharui secara berkala.

Install Let’s Encrypt client

Pertama, kita akan gunakan SSH ke server:

ssh deploy@IPADDRESS

Berikutnya, kita ambil salinan Let`s Encrypt client dari Github:

cd ~
git clone https://github.com/letsencrypt/letsencrypt
cd letsencrypt/

Kemudian kita perlu menjalankan script untuk menginstalnya:

./letsencrypt-auto

Creating Let’s Encrypt SSL Cert

Kita dapat membuat cert menggunakan perintah berikut. Perhatikan bahwa Anda harus mengubah beberapa hal:

  • example.com harus diganti dengan domain Anda
  • [email protected] harus diganti dengan alamat email Anda pada domain
  • /home/deploy/myapp/current/public harus diganti dengan path ke aplikasi Rails Anda
sudo /home/deploy/.local/share/letsencrypt/bin/letsencrypt certonly --webroot --webroot-path /home/deploy/myapp/current/public --renew-by-default --email [email protected] --text --agree-tos -d example.com -d www.example.com

Hal lain yang perlu kita lakukan untuk mendapatkan rating A + keamanan SSL kami adalah untuk membuat grup folder kita sendiri. Alasan untuk ini adalah bahwa hal itu melindungi kita dari serangan dari luar. Ini cukup sederhana. Kita hanya perlu menggunakan OpenSSL untuk menghasilkan group folder kemudian menambah konfigurasi Nginx SSL.

cd ~
openssl dhparam -out dhparams.pem 2048

Configurasi Nginx

Sekarang kita sudah terdaftar cert SSL kami dan membuat grup folder, kita dapat memodifikasi konfigurasi Nginx Anda untuk menambahkan SSL.

Baca Juga:  Setup Ruby On Rails di macOS 10.12 Sierra

Tambahkan baris berikut ke blok server Anda untuk aplikasi Anda dan pastikan untuk mengubah example.com ke domain Anda.

        listen 443 ssl;

        ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA';
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_dhparam /home/deploy/dhparams.pem;

Setelah memperbarui konfigurasi Nginx Anda Anda dapat menjalankan perintah berikut untuk reload Nginx.

sudo nginx -s reload

Sekarang buka situs di browser Anda https://domainanda.com untuk memverifikasi bahwa Anda dapat mengaksesnya melalui SSL!

Setup Renewal Cron Job

Sejak Let`s Encrypt dirancang untuk sertifikat SSL singkat, kita perlu setup script pembaharuan untuk berjalan secara periodik untuk mencoba untuk memperbaharui sertifikat SSL. Kami akan menambahkan ini ke tugas cron root pengguna sehingga dapat mencoba untuk memperbarui cert setiap hari Senin di 2:30.

Baca Juga:  ChatGPT Digunakan Oleh Penjahat Cyber untuk Menulis Malware

Jalankan perintah ini untuk membuka crontab:

sudo crontab -e

Tambahkan baris ini ke bagian bawah yang akan menunjukkan kapan harus menjalankan dan yang script untuk dijalankan.

30 2 * * 1 /home/deploy/.local/share/letsencrypt/bin/letsencrypt renew

Simpan dan tutup file tersebut.

Kesimpulan

Ini sangat mudah dan sederhana untuk setup SSL cert menggunakan Let`s Encrypt. Anda dapat menemukan informasi lebih lanjut di website Let`s Encrypt.

Selamat Mencoba…..

Untuk mendapatkan Berita & Review menarik Saksenengku Network
Google News

Artikel Terkait

Populer

Artikel Terbaru