Konfigurasikan Apache Dengan Sijil TLS / SSL yang Ditandatangani Sendiri di Ubuntu 16.04

SSL, dan penggantinya TLS (Secure Sockets Layer / Transport Layer Security) menambahkan lapisan enkripsi antara klien dan pelayan. Tanpa teknologi ini, data dihantar ke pelayan dalam teks biasa, yang membolehkan pihak ketiga membaca semua maklumat yang dihantar dan diterima oleh pelayan anda.

Tutorial ini akan mengajar anda cara membuat sijil SSL / TLS dan mengaktifkannya di Apache 2.4 di Ubuntu 16.04. Saya menganggap Apache sudah siap dan berjalan. Sekiranya anda ingin belajar cara memasang timbunan LAMP, lihat dokumen Vultr ini .

Perhatian

Sijil SSL / TLS biasanya dihasilkan oleh CA yang dipercayai (pihak berkuasa sijil). Dengan membuatnya sendiri, anda akan menjadi penandatangan, yang bermaksud penyemak imbas tidak dapat mengesahkan sama ada identiti sijil harus dipercayai, dan akan memberi amaran kepada pengguna. Walaupun ada kemungkinan untuk melewati amaran ini, laman web yang menghadap orang ramai harus menggunakan sijil yang ditandatangani oleh CA yang dipercayai. Let's encrypt adalah CA yang menawarkan sijil secara percuma. Anda boleh mengetahui cara memasang sijil mereka di Apache dan Ubuntu 16.04 di sini .

Untuk aplikasi dalaman, penggunaan sijil yang ditandatangani sendiri mungkin sah, terutamanya jika anda tidak mempunyai nama domain.


Langkah 1: Menghasilkan sijil

  1. Pertama, mari buat tempat menyimpan fail.

    mkdir ~/certificates
    cd ~/certificates
    
  2. Hasilkan CSR dan kunci peribadi.

    openssl req -x509 -newkey rsa:4096 -keyout apache.key -out apache.crt -days 365 -nodes
    

    Ia akan meminta maklumat untuk permintaan sijil. Lengkapkan dengan maklumat yang sesuai.

    Country Name (2 letter code) [AU]: US
    State or Province Name (full name) [Some-State]: FL
    Locality Name (eg, city) []: Miami
    Organization Name (eg, company) [My Company]: My Company
    Organizational Unit Name (eg, section) []:
    

    Nama biasa mestilah nama domain anda atau alamat IP pelayan. Isikan juga e-mel anda.

    Common Name (e.g. server FQDN or YOUR name) []: 203.0.113.122
    Email Address []:[email protected]
    
  3. Sekarang, pindahkan sijil ke folder konfigurasi Apache.

    mkdir /etc/apache2/ssl
    mv ~/certificates/* /etc/apache2/ssl/.
    
  4. Sijil sudah siap! Seterusnya, kami akan menyiapkan Apache untuk bekerja dengan sijil.

Langkah 2: Konfigurasi Firewall

  1. Kita harus memastikan port TCP 443 dibuka. Port ini digunakan dalam sambungan SSL dan bukannya port 80. Dalam tutorial ini, kita akan menggunakan UFW.

  2. Pastikan UFW diaktifkan.

    sudo ufw enable
    
  3. Sekarang izinkan tetapan Apache yang telah ditentukan untuk firewall.

    sudo ufw allow 'Apache Full'
    
  4. Dengan menaip " sudo ufw status", anda dapat melihat senarai peraturan semasa. Konfigurasi anda harus menyerupai ini:

    To                         Action      From
    --                         ------      ----
    Apache Full                ALLOW       Anywhere
    OpenSSH                    ALLOW       Anywhere
    Apache Full (v6)           ALLOW       Anywhere (v6)
    OpenSSH (v6)               ALLOW       Anywhere (v6)
    
  5. Anda juga harus membenarkan OpenSSH di sini untuk sambungan masa depan.

    sudo ufw allow 'OpenSSH'
    

Langkah 3: Konfigurasi hos maya Apache

  1. Navigasi ke direktori konfigurasi laman Apache lalai.

    sudo nano /etc/apache2/sites-available/default-ssl.conf
    
  2. Fail ini memberitahu pelayan di mana untuk mencari sijil SSL. Dengan komen yang dikeluarkan, ia akan kelihatan seperti konfigurasi berikut.

    <IfModule mod_ssl.c>
      <VirtualHost _default_:443>
       ServerAdmin webmaster@localhost
    
       DocumentRoot /var/www/html
    
       ErrorLog ${APACHE_LOG_DIR}/error.log
       CustomLog ${APACHE_LOG_DIR}/access.log combined
    
       SSLEngine on
    
       SSLCertificateFile    /etc/ssl/certs/ssl-cert-snakeoil.pem
       SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
       <FilesMatch "\.(cgi|shtml|phtml|php)$">
        SSLOptions +StdEnvVars
       </FilesMatch>
       <Directory /usr/lib/cgi-bin>
        SSLOptions +StdEnvVars
       </Directory>
    
     </VirtualHost>
    </IfModule>
    
  3. Edit baris ini:

    ServerAdmin [email protected]
    
  4. Tambahkan ini tepat di bawah ServerAdmingaris:

    ServerName ADD_YOUR_IP_OR_DOMAIN_NAME_HERE
    
  5. Sekarang, edit baris ini dengan lokasi sijil kami:

    SSLCertificateFile    /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
  6. Fail terakhir kami harus menyerupai ini:

    <IfModule mod_ssl.c>
     <VirtualHost _default_:443>
      ServerAdmin [email protected]
      ServerName 203.0.113.122
    
      DocumentRoot /var/www/html
    
      ErrorLog ${APACHE_LOG_DIR}/error.log
      CustomLog ${APACHE_LOG_DIR}/access.log combined
    
      SSLEngine on
    
      SSLCertificateFile    /etc/apache2/ssl/apache.crt
      SSLCertificateKeyFile /etc/apache2/ssl/apache.key
    
      <FilesMatch "\.(cgi|shtml|phtml|php)$">
       SSLOptions +StdEnvVars
      </FilesMatch>
      <Directory /usr/lib/cgi-bin>
       SSLOptions +StdEnvVars
      </Directory>
    
     </VirtualHost>
    </IfModule>
    
  7. Simpan dan tutup fail.

Langkah 4: Mengaktifkan modul SSL Apache

  1. Dayakan modul SSL dengan menaip:

    sudo a2enmod ssl
    
  2. Sekarang aktifkan laman web yang baru kita edit:

    sudo a2ensite default-ssl.conf
    
  3. Restart Apache:

    sudo service apache2 restart
    
  4. Mari melayari laman web selamat yang baru! Buka di penyemak imbas anda (pastikan anda mengetik https: // ).

    https://YOUR_SERVER_IP
    

Penyemak imbas anda akan memberi amaran bahawa sijil tidak sah, seperti yang kami harapkan. Ini berlaku kerana sijil tidak ditandatangani. Ikuti langkah-langkah yang ditawarkan oleh penyemak imbas anda untuk meneruskan ke laman web anda.

Langkah 5: Ubah semua trafik HTTP ke HTTPS (Pilihan)

  1. Buka fail hos maya lalai Apache:

    nano /etc/apache2/sites-available/000-default.conf
    
  2. Tambahkan baris ini di dalam <VirtualHost *:80>teg:

    Redirect / https://YOUR_SERVER_IP_OR_DOMAIN/
    
  3. Muat semula konfigurasi Apache:

    sudo service apache2 reload
    

Semua trafik laman web kini akan dialihkan secara automatik ke HTTPS.



Leave a Comment

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

Pandangan tentang 26 Teknik Analisis Data Besar: Bahagian 1

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

6 Perkara Yang Sangat Menggila Tentang Nintendo Switch

Ramai daripada anda tahu Switch akan keluar pada Mac 2017 dan ciri baharunya. Bagi yang tidak tahu, kami telah menyediakan senarai ciri yang menjadikan 'Tukar' sebagai 'gajet yang mesti ada'.

Janji Teknologi Yang Masih Tidak Ditepati

Janji Teknologi Yang Masih Tidak Ditepati

Adakah anda menunggu gergasi teknologi memenuhi janji mereka? semak apa yang masih belum dihantar.

Fungsi Lapisan Seni Bina Rujukan Data Besar

Fungsi Lapisan Seni Bina Rujukan Data Besar

Baca blog untuk mengetahui lapisan berbeza dalam Seni Bina Data Besar dan fungsinya dengan cara yang paling mudah.

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Bagaimana AI Boleh Mengambil Automasi Proses ke Tahap Seterusnya?

Baca ini untuk mengetahui cara Kecerdasan Buatan semakin popular di kalangan syarikat berskala kecil dan cara ia meningkatkan kebarangkalian untuk menjadikan mereka berkembang dan memberikan pesaing mereka kelebihan.

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA: Berapa Lama Ia Boleh Kekal Sebagai Teknik Berdaya maju Untuk Perbezaan Manusia-AI?

CAPTCHA telah menjadi agak sukar untuk diselesaikan oleh pengguna dalam beberapa tahun kebelakangan ini. Adakah ia dapat kekal berkesan dalam pengesanan spam dan bot pada masa hadapan?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Keunikan Teknologi: Masa Depan Tamadun Manusia yang Jauh?

Apabila Sains Berkembang pada kadar yang pantas, mengambil alih banyak usaha kita, risiko untuk menundukkan diri kita kepada Ketunggalan yang tidak dapat dijelaskan juga meningkat. Baca, apakah makna ketunggalan bagi kita.

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Teleperubatan Dan Penjagaan Kesihatan Jauh: Masa Depan Ada Di Sini

Apakah teleperubatan, penjagaan kesihatan jauh dan impaknya kepada generasi akan datang? Adakah ia tempat yang baik atau tidak dalam situasi pandemik? Baca blog untuk mencari paparan!

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Pernahkah Anda Terfikir Bagaimana Penggodam Mendapatkan Wang?

Anda mungkin pernah mendengar bahawa penggodam memperoleh banyak wang, tetapi pernahkah anda terfikir bagaimana mereka memperoleh wang seperti itu? Mari berbincang.

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Kemas Kini Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Isu Daripada Penyelesaian

Baru-baru ini Apple mengeluarkan macOS Catalina 10.15.4 kemas kini tambahan untuk menyelesaikan masalah tetapi nampaknya kemas kini itu menyebabkan lebih banyak masalah yang membawa kepada pemusnahan mesin mac. Baca artikel ini untuk mengetahui lebih lanjut