Daftar Periksa Praktik Terbaik Keamanan Apache 14 Langkah (termasuk eBuku PDF)

Diterbitkan: 2017-11-22

kereta apifx / stock.adobe.com

Apache saat ini tetap menjadi perangkat lunak server web terkemuka di dunia dengan pangsa pasar 45,8%. Hasilnya adalah sekitar 80 juta situs web yang server webnya didukung oleh Apache. Cukup mengesankan, bukan?

Apache adalah perangkat lunak server web sumber terbuka yang telah ada sejak tahun 1995, sehingga hal ini sudah menunjukkan banyak hal tentang keandalan dan umur panjangnya. Lalu ada situs web terkenal yang berjalan di server Apache: Apple, Adobe, dan Paypal hanyalah beberapa merek besar yang mempercayakan situs web mereka ke Apache.

Tentu saja, hal ini tidak membuat Apache 100% aman karena tidak ada perangkat lunak yang 100% aman dari peretas, terutama jika Apache merupakan platform yang terkenal dan tepercaya (seperti WordPress). Namun jika Anda mencari eBook PDF keamanan Apache, modul, panduan, tutorial, kerangka kerja, atau daftar periksa keamanan server web, Anda telah datang ke tempat yang tepat.

Jika Anda ingin memperkuat keamanan Apache Anda atau mengalami masalah keamanan apache atau mencoba menambal satu atau dua kerentanan, daftar berikut akan memberi Anda 14 praktik keamanan terbaik untuk ditambahkan ke rencana keamanan situs web Anda.

Tim kami di WP Buffs membantu pemilik situs web, mitra agensi, dan mitra pekerja lepas menerapkan praktik terbaik keamanan Apache. Apakah Anda membutuhkan kami untuk mengelola 1 situs web atau mendukung 1000 situs klien, kami siap membantu Anda.

Daftar Periksa Praktik Terbaik Keamanan Apache Terbaik

Bagi Anda yang ingin benar-benar membentengi situs WordPress Anda, mengamankan Apache seperti perangkat lunak lain yang menghubungkan dan mendukung situs web Anda sangatlah penting. Gagal melakukan hal ini bahkan dapat memengaruhi kecepatan situs Anda. Jadi, inilah cara Anda melakukannya:

1. Perbarui Apache

Tahukah Anda bagaimana WordPress dan plugin serta tema apa pun yang Anda instal perlu diperbarui secara berkala? Begitu juga dengan server web Anda.

Jika Anda khawatir situs Anda tidak berjalan pada versi terbaru Apache, Anda dapat memeriksanya dengan baris perintah httpd -v. Jika versi yang dihasilkan tidak cocok dengan versi saat ini dari Apache, Anda dapat memperbaruinya dengan yang berikut:

# yum update httpd
# apt-get install [add Apache version here]c

2. Aktifkan Log

Jika Anda bekerja dengan penyedia hosting WordPress yang dikelola, mereka akan memantau server Anda dan WordPress untuk mengetahui kerentanan dan tanda peringatan lainnya. Meskipun demikian, Anda juga harus mengawasi lalu lintas server Anda.

Dengan Apache, Anda bisa mendapatkan akses ke log aktivitas ini dengan memperbarui modul mod_log_config Anda. Pada dasarnya, ini akan memberi tahu Anda apa yang dilakukan pengguna setiap kali mereka menyentuh server Anda.

3. Dapatkan Sertifikat SSL

Karena server web Anda menangani semua permintaan browser/server ke situs web Anda, penting untuk mengamankannya dengan sertifikat SSL. Kabar baiknya adalah kini Anda bisa mendapatkan sertifikat SSL secara gratis. Saat ini hal ini lebih penting dari sebelumnya, jadi jika Anda tidak memiliki kemampuan teknis untuk menginstalnya sendiri, penyedia hosting berkualitas mana pun akan dapat melakukannya untuk Anda.

4. Tambahkan Firewall

Selain perlindungan tambahan enkripsi SSL, server web Anda harus diperkuat dengan firewall. Untuk Apache, ini berarti mengaktifkan ModSecurity.

Untuk menginstalnya di server Anda, Anda dapat menjalankan hal berikut:

# yum install mod_security
# /etc/init.d/httpd restart

Setelah firewall aktif, ini akan mencegah sejumlah aktivitas jahat mencapai server Anda, seperti injeksi SQL, pembajakan sesi, dan pembuatan skrip lintas situs.

5. Instal mod_evasive

Mod_evasive adalah modul yang akan melindungi server Apache Anda dari serangan brute force dan DDoS, jadi pastikan ini juga diaktifkan. Ini akan memasukkan upaya login yang gagal dan bersamaan ke dalam daftar hitam serta memantau IP berbahaya.

6. Tetapkan Batas HTTP

Serangan penolakan layanan terdistribusi (DDoS) cukup mudah untuk diblokir jika Anda tahu tindakan apa yang harus diperhatikan. Karena DDoS cenderung terjadi dengan berulang kali menyerang server Anda dengan permintaan besar, tujuan Anda adalah menetapkan batasan yang mencegah hal ini terjadi.

Berikut beberapa batasan yang ingin Anda tetapkan:

  • Tetap Hidup=aktif
  • KeepAliveTimeout
  • BatasiPermintaanBadan
  • Batasi Bidang Permintaan
  • BatasiRequestFieldSize
  • Batasi Garis Permintaan
  • BatasiXMLRequestBody
  • Klien Maks
  • Permintaan MaxKeepAlive
  • MaxRequestWorkers
  • PermintaanBacaWaktu habis
  • Waktu habis

7. Hapus Modul yang Tidak Digunakan

Dengan membiarkan modul yang tidak digunakan, tidak dipelihara, atau kedaluwarsa di server Apache, Anda membiarkan situs Anda terbuka bagi peretas melalui titik masuk yang bahkan tidak perlu berada di sana.

Hal pertama yang harus Anda lakukan adalah mencari tahu modul mana yang sebenarnya aktif. Anda dapat melakukan ini dengan menggunakan perintah LoadModule. Setelah Anda menyaring daftar dan mengidentifikasi modul mana yang tidak Anda perlukan, cukup tambahkan simbol “#” sebelum setiap modul yang ingin Anda nonaktifkan dan kemudian restart.

8. Ubah Pengguna dan Grup Default

Pengaturan default dan pengguna yang tersisa pada perangkat lunak apa pun, secara umum, merupakan praktik keamanan yang buruk. Alasannya sederhana: jika Anda menggunakan nama pengguna atau grup default Apache, Anda dapat yakin bahwa peretas juga mengetahui nama default tersebut.

Daripada membiarkan defaultnya, Anda harus membuat akun non-istimewa baru untuk menjalankan proses Apache Anda. Dengan menggunakan perintah # groupadd dan # useradd, Anda dapat mengatur entitas baru. Ingatlah untuk memperbarui httpd.conf Anda dengan nama pengguna dan grup baru yang Anda buat.

9. Blokir Akses Direktori

Berikut adalah contoh lain dari pengaturan default yang perlu diubah. Dalam hal ini, akses yang diberikan ke file direktori Andalah yang memungkinkan siapa pun menjelajah di mana pun mereka mau.

Untuk menempatkan blok total pada tempatnya, gunakan perintah berikut:

<Directory "/">
Require all denied
</Directory>

Jika Anda ingin mengaktifkan akses ke pengguna tertentu, Anda dapat melakukannya dengan ini:

<Directory "/usr/users/*/public_html">
Require all granted
</Directory>

Jika Anda ingin mengaktifkan akses ke folder tertentu dalam direktori, Anda dapat melakukannya dengan ini:

<Directory "/usr/local/httpd">
Require all granted
</Directory>

Anda mungkin juga ingin membaca dengan teliti repositori modul Apache untuk penyesuaian lebih lanjut hak akses pengguna.

10. Jangan Publikasikan Direktori

Tahukah Anda bahwa jika server Anda tidak memiliki file indeks, pengguna akan dapat melihat semua konten yang Anda simpan di direktori root? Itu jelas tidak bagus, jadi Anda harus menonaktifkan pengaturan default ini dengan yang berikut ini:

<Directory /var/www/html>
Options -Indexes
</Directory>

11. Sembunyikan Detail Server

Karena Apache adalah perangkat lunak sumber terbuka, rincian tentang versi yang digunakan sudah tersedia jika pengaturan ini tidak dinonaktifkan di sisi server. Karena peretas dapat menggunakan informasi sensitif tersebut untuk mengetahui cara membobol server Anda, Anda sebaiknya memblokir informasi ini.

Ada dua hal yang ingin Anda nonaktifkan:

  • ServerSignature – yang merupakan versi Apache
  • ServerTokens – yang mencakup versi OS, di antara detail server sensitif lainnya

Informasi ini dapat ditemukan oleh pengguna lain hanya dengan melihat halaman kesalahan di situs web Anda, jadi sangat penting untuk memblokirnya agar tidak ditampilkan. Untuk melakukannya, perbarui httpd.conf dengan yang berikut ini:

ServerSignature Off
ServerTokens Prod

12. Sembunyikan ETag

Sayangnya, header ETag di Apache menyertakan sejumlah detail sensitif tentang server Anda. Tentu saja, apapun yang menyebarkan informasi semacam itu kepada dunia luar harus disembunyikan. Selain itu, jika Anda menjalankan situs web e-niaga, Anda harus menyembunyikannya agar sesuai dengan PCI.

Untuk melakukan ini, tambahkan arahan berikut ke httpd.conf Anda:

FileETag None

13. Nonaktifkan Penggantian .htaccess

.htaccess adalah file penting untuk situs WordPress mana pun. Inilah sebabnya mengapa Anda perlu menguncinya dan memastikan tidak ada orang lain yang dapat mengesampingkan pengaturan konfigurasi Anda.

Untuk menonaktifkan ini, tambahkan yang berikut ini ke httpd.conf Anda di root:

<Directory />
Options -Indexes
AllowOverride None
</Directory>

14. Nonaktifkan SSI dan CGI

File yang mendukung Server Side Includes (SSI) dapat membuka situs Anda hingga sejumlah masalah keamanan jika tidak dicentang. Hal yang sama berlaku untuk skrip CGI. Untuk mencegah salah satu dari hal ini memberdayakan peretas untuk membebani server Anda secara berlebihan atau memasukkan skrip berbahaya ke dalam kode Anda, ingatlah untuk mematikannya atau membatasi apa yang mereka lakukan melalui direktif Opsi.

Berikut beberapa nilai Opsi yang dapat Anda gunakan:

  • Pilihan Semua
  • Opsi TermasukNOEXEC
  • Pilihan -Termasuk
  • Pilihan -ExecCGI
  • Pilihan -Termasuk -ExecCGI
  • Opsi MultiTampilan

Merawat Server Apache Anda

Dalam upaya memperkuat keamanan situs web Anda, berikan perhatian khusus pada server Apache Anda. Masalah seperti kesalahan konfigurasi server dan membiarkan pengaturan default tetap pada tempatnya dapat menempatkan situs Anda pada risiko yang sama besarnya dengan inti yang tidak diperbarui atau praktik pengkodean PHP yang tidak aman.

Ingin memberikan tanggapan Anda atau bergabung dalam percakapan?Tambahkan komentar Anda di Twitter.