Mengamankan Server Apache pada CentOS 6

Sangat mudah untuk mengambil jalan pintas saat mengamankan server, tetapi Anda akan mengambil risiko kehilangan data jika penyerang mendapatkan akses root ke salah satu server Anda. Bahkan untuk instalasi sederhana, Anda harus mengamankan server Anda terlebih dahulu. Mengamankan server adalah topik yang luas, dan bervariasi tergantung pada OS dan aplikasi yang sedang dijalankan.

Tutorial ini berfokus pada pengamanan Apache di bawah CentOS 6. Ada beberapa langkah pasca pemasangan yang dapat Anda lakukan untuk melindungi diri Anda dari peningkatan privilege, serta serangan under-privilege.

Tanpa basa-basi lagi, mari kita mulai.

Langkah 1 - Memasang server web

Tentu saja, jika Anda tidak menginstal Apache atau PHP, Anda harus melakukannya sekarang. Jalankan perintah ini sebagai pengguna root, atau gunakan sudo:

yum install httpd php

Langkah 2 - Mengamankan direktori rumah Anda

Sekarang Apache sudah diinstal, mari kita mulai dan mulai mengamankannya. Pertama, kami ingin memastikan direktori pengguna lain tidak terlihat oleh siapa pun kecuali untuk pemiliknya. Kami akan chmod semua direktori home ke 700, sehingga hanya masing-masing pemilik direktori home yang dapat melihat file mereka sendiri. Jalankan perintah ini sebagai root, atau gunakan sudo:

chmod 700 /home
chmod 700 /home/*
chmod 700 /home/*/*

Dengan menggunakan wildcard, kami menutupi semua file yang saat ini berada di direktori home.

Langkah 3 - Menerapkan tambalan keamanan ke Apache untuk pemisahan hak pengguna

Sebelum kita menambal Apache, kita perlu menginstal repositori yang berisi paket dengan tambalan. Jalankan perintah berikut sebagai root (atau sudo).

yum install epel-release
yum install httpd-itk

Dengan "apache2-mpm-itk", kita dapat mengetahui apa yang harus dijalankan oleh pengguna PHP berdasarkan pada virtual host. Itu menambahkan opsi konfigurasi baru AssignUserId virtualhost-user virtualhost-user-group, yang memungkinkan kita untuk memberitahu Apache / PHP untuk mengeksekusi kode pengguna di bawah akun pengguna tertentu.

Jika Anda berbagi server ini, saya menganggap Anda sudah membuat host virtual untuk Apache sebelumnya. Dalam hal ini, Anda dapat melompat ke langkah 4.

Langkah 3 - Membuat host virtual pertama Anda

Anda dapat mengikuti templat di bawah ini untuk membuat host virtual di Apache.

NameVirtualHost mytest.website

<VirtualHost mytest.website>

DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
</VirtualHost>

Buka editor teks favorit Anda /etc/httpd/conf.d/example-virtualhost.confdan kemudian tambahkan konten di atas ke dalamnya. Inilah perintah untuk menggunakan nano:

nano /etc/httpd/conf.d/example-virtualhost.conf

Biarkan saya jelaskan konfigurasi di sini. Ketika kami menentukan "NameVirtualHost", kami sebenarnya memberi tahu server web bahwa kami hosting beberapa domain pada satu IP . Sekarang, dalam contoh ini, saya menggunakan mytest.websitesebagai contoh domain. Ubah itu menjadi milik Anda, atau domain pilihan Anda. DocumentRootadalah apa yang memberitahu Apache di mana konten berada. ServerNameadalah arahan yang kami gunakan untuk memberi tahu Apache situs web domain. Dan satu tag terakhir </VirtualHost>, yang memberi tahu Apache, itulah akhir dari konfigurasi virtual host.

Langkah 4 - Mengkonfigurasi Apache untuk dijalankan sebagai pengguna lain

Seperti disebutkan sebelumnya, bagian dari pengamanan server Anda termasuk menjalankan Apache / PHP sebagai pengguna terpisah untuk setiap host virtual. Memberitahu Apache untuk melakukan ini adalah sederhana setelah kami menerapkan tambalan - yang perlu Anda lakukan adalah menambahkan:

AssignUserId vhost-user vhost-user-group

... ke konfigurasi Anda. Beginilah contoh host virtual setelah kita menambahkan opsi ini:

NameVirtualHost mytest.website

<VirtualHost mytest.website>

DocumentRoot /home/vhost-user/public_html
ServerName mytest.website
AssignUserId vhost-user vhost-user-group

</VirtualHost>

Keajaiban ada di garis yang dimulai dengan AssignUserId. Dengan opsi ini, kami memberi tahu Apache / PHP untuk dijalankan sebagai pengguna / grup berikut.

Langkah 5 - Menyembunyikan versi Apache

Langkah ini cukup sederhana; cukup buka file konfigurasi Apache dengan menjalankan perintah berikut sebagai pengguna root:

nano /etc/httpd/conf/httpd.conf

Temukan "ServerTokens", dan ubah opsi setelahnya menjadi "ProductOnly". Ini memberitahu Apache untuk hanya mengungkapkan bahwa itu "Apache", bukan "Apache / 2.2" atau yang serupa.

Langkah 6 - Restart Apache untuk menerapkan perubahan

Sekarang kita sudah mengamankan server, kita harus me-restart server Apache. Lakukan ini dengan menjalankan perintah berikut sebagai root atau dengan sudo:

service httpd restart

Kesimpulan

Ini hanya beberapa langkah yang dapat Anda ambil untuk mengamankan server Anda. Sekali lagi, bahkan jika itu seseorang yang Anda percayai yang meng-hosting situs web di server Anda, Anda harus merencanakan untuk melindunginya. Dalam skenario di atas, bahkan jika akun pengguna dikompromikan, penyerang tidak akan mendapatkan akses ke seluruh server.

Tinggalkan Komentar

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04

Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.

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

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.

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.

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.

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.

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?

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.