Cara Menggunakan HTTPS di Arch Linux Webserver

Prasyarat

  • Server Vultr menjalankan Arch Linux yang terbaru (lihat artikel ini .)
  • Server web yang berjalan, baik Apache atau Nginx
  • Akses sudo
    • Perintah yang diperlukan untuk dijalankan sebagai root diawali oleh #, dan perintah yang dapat dijalankan sebagai pengguna biasa oleh $. Cara yang disarankan untuk menjalankan perintah sebagai root adalah, sebagai pengguna biasa, awali masing-masing sudo.
  • Siapkan editor teks, dan kenali itu, seperti vi, vim, nano, emacs atau editor serupa lainnya.

Aman Melayani Melalui HTTPS

Melayani konten melalui HTTPS dapat menggunakan enkripsi yang sangat kuat, sehingga tidak ada yang memotong lalu lintas antara pengguna dan server web dapat membacanya. Itu tidak hanya mengenkripsi lalu lintas itu sendiri, tetapi juga URL yang sedang diakses, yang sebaliknya dapat mengekspos informasi. Untuk beberapa waktu, Google telah sebagian menentukan peringkat pencarian berdasarkan apakah suatu halaman menggunakan HTTPS, sebagai bagian dari inisiatif HTTPS Everywhere.

Catatan : pencarian DNS tidak mengekspos nama domain yang terhubung, tetapi seluruh URL tidak terbuka selama proses itu.

Dapatkan Sertifikat SSL / TLS

Secara teknis, TLS menggantikan SSL untuk Sertifikat HTTPS, tetapi, sebagian besar tempat terus memanggil Sertifikat TLS dengan istilah SSL Certificate yang lebih populer. Mengikuti penggunaan umum, panduan ini akan melakukan hal yang sama.

Untuk menggunakan HTTPS, server web Anda memerlukan kunci pribadi ( .key) agar dapat digunakan secara pribadi, dan sertifikat ( .crt) untuk dibagikan secara publik yang mencakup kunci publik. Sertifikat harus ditandatangani. Anda dapat menandatanganinya sendiri, tetapi browser modern akan mengeluh bahwa mereka tidak mengenali penandatangan. Sebagai contoh, Chrome akan menampilkan: Your connection is not private. Attackers might be trying to steal your information... NET::ERR_CERT_AUTHORITY_INVALID. Jika hanya sekelompok orang pribadi yang akan menggunakan situs web, ini dapat diterima, karena browser akan memungkinkan cara untuk melanjutkan. Misalnya, di Chrome, klik "Lanjutan", lalu "Lanjutkan ke ... (tidak aman)"; itu akan tetap menampilkan "Tidak aman" dan mencoret "https".

Perhatikan bahwa proses ini akan menanyakan negara Anda, negara bagian / negara, wilayah, organisasi, unit organisasi, dan nama-nama umum, dan alamat email Anda; yang semuanya dapat diakses di peramban siapa pun yang terhubung ke situs Anda melalui HTTPS.

Perhatikan juga bahwa jika Anda memberikan sertifikat host virtual, Anda harus memberikan nama file berbeda di bawah ini, dan arahkan ke mereka dalam konfigurasi virtual host Anda.

Ubah ke direktori yang tepat untuk server web Anda.

Jika Anda menginstal Apache:

$ cd /etc/httpd/conf

Jika Anda menginstal Nginx:

$ cd /etc/nginx

Setelah berada di direktori yang benar, buat kunci pribadi ( server.key) dan sertifikat yang ditandatangani sendiri ( server.crt):

# openssl req -new -x509 -nodes -newkey rsa:4096 -keyout server.key -out server.crt -days 825

Tetapkan izin hanya baca, dan hanya izinkan kunci pribadi untuk dibaca oleh root:

# chmod 400 server.key
# chmod 444 server.crt

Atau, Anda dapat memperoleh sertifikat yang ditandatangani oleh otoritas sertifikat tepercaya. Anda dapat membayar berbagai perusahaan (otoritas sertifikat) untuk menandatangani sertifikat Anda untuk Anda. Saat mempertimbangkan otoritas sertifikat, penting untuk melihat browser mana dan versi mana yang akan mengenalinya. Beberapa otoritas sertifikat yang lebih baru mungkin tidak diakui sebagai yang lebih resmi daripada sertifikat yang ditandatangani sendiri pada versi browser lama.

Anda biasanya tidak hanya memerlukan alamat IP publik, tetapi juga nama domain. Beberapa otoritas sertifikat dapat mengeluarkan sertifikat ke alamat IP publik, tetapi jarang dilakukan.

Banyak penyedia menawarkan uji coba 30 hari gratis, yang direkomendasikan untuk memulai sehingga Anda dapat memastikan prosesnya bekerja untuk Anda sebelum Anda membayarnya. Harga dapat bervariasi dari beberapa dolar per tahun hingga ratusan, tergantung pada jenis apa itu dan opsi seperti beberapa domain atau sub-domain. Sertifikat standar hanya akan menunjukkan bahwa otoritas penandatangan telah memverifikasi orang yang memperoleh sertifikat dapat melakukan perubahan pada domain. Sertifikat Validasi Diperpanjang juga akan menunjukkan otoritas penandatanganan melakukan beberapa uji tuntas memeriksa pemohon dan akan, di browser modern, menampilkan bilah hijau di atau dekat URL. Saat memverifikasi bahwa Anda dapat membuat perubahan pada domain, beberapa otoritas penandatanganan akan meminta Anda untuk menerima email di alamat yang terdengar penting dengan nama domain, seperti[email protected]. Banyak yang menawarkan verifikasi alternatif, seperti memberi Anda file untuk ditempatkan di server Anda, seperti menempatkan file mereka di /srv/http/.well-known/pki-validation/untuk Apache atau /usr/share/nginx/html/.well-known/pki-validation/untuk Nginx, untuk konfigurasi direktori hosting tunggal; atau untuk sementara membuat entri CNAME yang mereka berikan di catatan DNS domain Anda.

Otoritas penandatanganan yang Anda pilih mungkin memiliki langkah yang sedikit berbeda, tetapi sebagian besar akan menerima prosedur berikut:

Di direktori yang tepat, buat kunci pribadi ( server.key):

# openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 -out server.key

Setel kunci pribadi menjadi hanya-baca, hanya dengan root:

# chmod 400 server.key

Buat permintaan penandatanganan sertifikat ( server.csr). Anda harus memasukkan nama domain saat diminta Common Name, dan Anda dapat mengosongkan kata sandi tantangan:

# openssl req -new -sha256 -key server.key -out server.csr

Setel permintaan penandatanganan sertifikat menjadi hanya-baca, hanya dengan root:

# chmod 400 server.csr

Lihat isi permintaan penandatanganan sertifikat. Informasi ini disandikan base64, sehingga akan terlihat seperti karakter acak:

# cat server.csr
-----BEGIN CERTIFICATE REQUEST-----
.....
-----END CERTIFICATE REQUEST-----

Pergi melalui proses otoritas penandatanganan Anda, dan ketika diminta untuk menempel di CSR Anda, salin dan tempelkan seluruh file ini termasuk -----baris. Bergantung pada otoritas penandatanganan yang Anda pilih dan jenis sertifikat, mereka mungkin segera memberi Anda sertifikat yang ditandatangani, atau mungkin beberapa hari. Setelah mereka memberi Anda sertifikat yang ditandatangani, salin (termasuk -----BEGIN CERTIFICATE-----dan -----END CERTIFICATE-----baris) ke file bernama server.crt, di direktori yang tepat, diberikan di atas untuk server web Anda, dan atur menjadi read-only:

# chmod 444 server.crt

Konfigurasikan Server Web Anda untuk Menggunakan Kunci Pribadi dan Sertifikat

Jika Anda menggunakan firewall, Anda harus mengaktifkan lalu lintas TCP yang masuk ke port 443.

Untuk Apache

Edit /etc/httpd/conf/httpd.confdan batalkan komentar pada baris-baris ini:

LoadModule ssl_module modules/mod_ssl.so
LoadModule socache_shmcb_module modules/mod_socache_shmcb.so
Include conf/extra/httpd-ssl.conf

Catatan jika Anda menggunakan host virtual, membuat perubahan di atas untuk /etc/httpd/conf/httpd.confakan menggunakan sertifikat yang sama di semua host. Untuk memberikan masing-masing host sertifikatnya sendiri untuk menghindari browser mengeluh tentang sertifikat yang tidak cocok dengan nama domain, Anda perlu mengedit masing-masing file konfigurasi mereka /etc/httpd/conf/vhosts/untuk menunjuk ke sertifikat dan kunci pribadi:

  • Ubah <VirtualHost *:80>ke <VirtualHost *:80 *:443>.
  • Di dalam VirtualHostbagian tersebut, tambahkan berikut ini:

    SSLEngine on
    SSLCertificateFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.crt"
    SSLCertificateKeyFile "/etc/httpd/conf/YOUR-DOMAIN-NAME.com.key"
    

Mulai ulang Apache:

# systemctl restart httpd

Untuk Nginx

Edit /etc/nginx/nginx.confdan dekat bagian bawah, batalkan komentar pada HTTPS serverbagian dan ubah baris menjadi yang berikut:

ssl_certificate      server.crt;
ssl_certificate_key  server.key;
root                /usr/share/nginx/html;

Catatan jika Anda menggunakan host virtual, membuat perubahan di atas untuk /etc/nginx/nginx.confakan mengirim semua host ke lokasi itu. Untuk memberikan masing-masing host sertifikatnya sendiri, Anda perlu mengedit masing-masing file konfigurasinya /etc/nginx/sites-enabled/untuk memiliki blok server tambahan untuk menunjuk ke sertifikat dan kunci privasinya sendiri:

server {
    listen 443 ssl;
    server_name YOUR-DOMAIN-NAME.com;

    ssl_certificate      YOUR-DOMAIN-NAME.com.crt;
    ssl_certificate_key  YOUR-DOMAIN-NAME.com.key;

    ssl_session_cache   shared:SSL:1m;
    ssl_session_timeout 5m;

    ssl_ciphers  HIGH:!aNULL:!MD5;
    ssl_prefer_server_ciphers  on;

    location / {
        root /usr/share/nginx/YOUR-DOMAIN-NAME.com;
        index  index.html index.htm;
    }
}

Mulai Ulang Nginx:

# systemctl restart nginx


Leave a Comment

Cara Menginstal PostgreSQL 11.1 Di Arch Linux

Cara Menginstal PostgreSQL 11.1 Di Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Akses Sudo. Perintah yang diperlukan untuk dijalankan karena root diawali oleh #, dan satu

Cara Memasang Nginx 1.14 Di Arch Linux

Cara Memasang Nginx 1.14 Di Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Akses Sudo. Perintah yang harus dijalankan sebagai root diawali oleh #. Th

Cara Memasang MongoDB 4.0 di Arch Linux

Cara Memasang MongoDB 4.0 di Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini) Akses Sudo: Perintah yang diperlukan untuk dijalankan karena root diawali oleh #, dan satu

Cara Memasang MariaDB 10.3 atau MySQL 8.0 di Arch Linux

Cara Memasang MariaDB 10.3 atau MySQL 8.0 di Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Akses Sudo: Perintah yang diperlukan untuk dijalankan karena root diawali oleh #, dan satu

Setup Mumble Server di Arch Linux

Setup Mumble Server di Arch Linux

Tutorial ini menjelaskan cara menyiapkan server Mumble (Murmur) di Arch Linux. Semua yang dilakukan dalam tutorial ini dilakukan sebagai pengguna root. Instalasi a

Menggunakan Devtools di Arch Linux

Menggunakan Devtools di Arch Linux

Paket Devtools awalnya dibuat untuk Pengguna Tepercaya untuk membuat paket dengan benar untuk repositori resmi. Namun, itu bisa digunakan oleh pengguna biasa

Cara Memasang Perl 5.28 di Server Web Arch Linux

Cara Memasang Perl 5.28 di Server Web Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Server web yang berjalan, baik akses Apache atau Nginx Sudo: Diperlukan perintah

Instal Arch Linux Dengan Btrfs Snapshotting

Instal Arch Linux Dengan Btrfs Snapshotting

Pendahuluan Arch Linux adalah distribusi serba guna yang terkenal dengan teknologi mutakhir dan konfigurasi yang fleksibel. Dengan snapshot Btrfs, kita dapat mengambil

Menyiapkan Counter-Strike: Global Offensive (CSGO) Server di Arch Linux

Menyiapkan Counter-Strike: Global Offensive (CSGO) Server di Arch Linux

Tutorial ini menjelaskan cara menyiapkan server Counter-Strike: Global Offensive di Arch Linux. Tutorial ini mengasumsikan bahwa Anda masuk dengan penggunaan standar

Menginstal Arch Linux pada Server Vultr

Menginstal Arch Linux pada Server Vultr

Vultr memberi Anda fungsionalitas luar biasa yang memungkinkan Anda menggunakan gambar khusus Anda sendiri di samping templat luar biasa mereka, yang memungkinkan Anda untuk menjalankan

Setup Spigot Server di Arch Linux

Setup Spigot Server di Arch Linux

Tutorial ini menjelaskan cara mengatur server Minecraft menggunakan Spigot di Arch Linux. Tutorial ini mengasumsikan bahwa Anda adalah pengguna normal (bukan-root) dan hav

Menginstal 2019 Arch Linux pada Server Vultr

Menginstal 2019 Arch Linux pada Server Vultr

Pendahuluan Arch Linux memiliki distribusi yang lebih kecil, tetapi masih kuat, daripada distribusi yang lebih populer. Filosofinya sangat berbeda, dengan kelebihan an

Cara Memasang PHP 7.3 pada Server Linux Arch

Cara Memasang PHP 7.3 pada Server Linux Arch

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Server web yang berjalan, baik akses Apache atau Nginx Sudo. Memerlukan perintah

Menggunakan Makepkg di Arch Linux

Menggunakan Makepkg di Arch Linux

Jika Anda menggunakan makepkg secara langsung, itu agak mencemari sistem Anda. Grup paket base-devel harus diinstal. Dengan cara ini, secara default, dependensi diperlukan onl

Paket Bangunan di Arch Linux (Termasuk AUR)

Paket Bangunan di Arch Linux (Termasuk AUR)

Di Arch Linux, repositori resmi adalah: inti, ekstra, dan komunitas. Paket-paket ini sudah dikompilasi, dan mereka diinstal melalui pacman. Untuk th

Cara Memasang Apache 2.4 di Arch Linux

Cara Memasang Apache 2.4 di Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux. Lihat panduan ini untuk informasi lebih lanjut. Akses sudo. Perintah harus dijalankan sebagai root ar

Cara Memasang Python 3.7 Pada Server Webser Arch Linux

Cara Memasang Python 3.7 Pada Server Webser Arch Linux

Prasyarat Server Vultr berjalan terbaru Arch Linux (lihat artikel ini.) Server web yang berjalan, baik akses Apache atau Nginx Sudo: Diperlukan perintah

Menyiapkan Server Team Fortress 2 di Arch Linux

Menyiapkan Server Team Fortress 2 di Arch Linux

Tutorial ini menjelaskan cara mengatur server Team Fortress 2 di Arch Linux. Saya berasumsi bahwa Anda masuk dengan akun pengguna non-root yang memiliki akses sudo

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1

6 Hal yang Sangat Menggila dari Nintendo Switch

6 Hal yang Sangat Menggila dari Nintendo Switch

Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.

Janji Teknologi Yang Masih Belum Ditepati

Janji Teknologi Yang Masih Belum Ditepati

Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Fungsionalitas Lapisan Arsitektur Referensi Big Data

Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Bagaimana AI Dapat Membawa Otomatisasi Proses ke Tingkat Selanjutnya?

Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA: Berapa Lama Itu Bisa Tetap Menjadi Teknik yang Layak Untuk Perbedaan Human-AI?

CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Singularitas Teknologi: Masa Depan Peradaban Manusia yang Jauh?

Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Telemedicine Dan Perawatan Kesehatan Jarak Jauh: Masa Depan Ada Di Sini

Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Pernahkah Anda Bertanya-tanya Bagaimana Hacker Menghasilkan Uang?

Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Pembaruan Tambahan macOS Catalina 10.15.4 Menyebabkan Lebih Banyak Masalah Daripada Menyelesaikan

Baru-baru ini Apple merilis macOS Catalina 10.15.4 pembaruan suplemen untuk memperbaiki masalah tetapi tampaknya pembaruan menyebabkan lebih banyak masalah yang mengarah ke bricking mesin mac. Baca artikel ini untuk mempelajari lebih lanjut