Apache HTTP

Cara Mengamankan Server Apache Anda

Cara Mengamankan Server Apache Anda
Apache adalah server web sumber terbuka populer yang tersedia untuk sistem Linux dan Windows Windows. Ini memungkinkan konfigurasi untuk beragam kasus penggunaan, dari halaman web HTML hingga konten aplikasi web dinamis HyperText Preprocessor (PHP).Apache menyediakan platform yang aman dan tangguh untuk menerapkan aplikasi web Anda. Namun, tetap penting untuk menginstal patch keamanan terbaru dan mengkonfigurasi server dengan benar untuk membangun lingkungan yang aman untuk aplikasi web Anda.
Dalam artikel ini, Anda akan menemukan beberapa tip dan trik untuk memperkuat konfigurasi Apache Web Server Anda dan meningkatkan keamanan umum.

Akun Pengguna Non-Hak Istimewa

Tujuan dari akun pengguna non-root atau unprivileged adalah untuk membatasi pengguna dari akses yang tidak perlu ke tugas-tugas tertentu dalam suatu sistem. Dalam konteks server web Apache, ini berarti harus bekerja di lingkungan terbatas hanya dengan izin yang diperlukan. Secara default, Apache berjalan dengan hak akun daemon. Anda dapat membuat akun pengguna non-root terpisah untuk menghindari ancaman jika terjadi kerentanan keamanan.

Selanjutnya, jika Apache2 dan MySQL berada di bawah kredensial pengguna yang sama, masalah apa pun dalam proses layanan sekali akan berdampak pada yang lain. Untuk mengubah hak pengguna dan grup untuk server web, buka /etc/apache2, buka file envvars, dan atur pengguna dan grup ke pengguna akun non-hak istimewa baru, katakan, "apache," dan simpan file.

ubuntu@ubuntu~:$ sudo vim /etc/apache2/envvars
… gunting…
ekspor APACHE_RUN_USER= apache
ekspor APACHE_RUN_GROUP= apache
… gunting…

Anda juga dapat menggunakan perintah berikut untuk mengubah kepemilikan direktori instalasi menjadi pengguna non-root baru.

ubuntu@ubuntu~:$ sudo chown -R apache:apache /etc/apache2
Keluarkan perintah berikut untuk menyimpan perubahan:
ubuntu@ubuntu~:$ Sudo service Apache2 restart

Tetap Perbarui Apache

Apache terkenal karena menyediakan platform yang aman dengan komunitas pengembang yang sangat peduli yang jarang menghadapi bug keamanan apa pun. Namun demikian, adalah normal untuk menemukan masalah setelah perangkat lunak dirilis. Oleh karena itu, penting untuk selalu memperbarui server web untuk memanfaatkan fitur keamanan terbaru. Disarankan juga untuk mengikuti Daftar Pengumuman Server Apache untuk terus memperbarui diri Anda tentang pengumuman, rilis, dan pembaruan keamanan baru dari komunitas pengembangan Apache.

Untuk memperbarui Apache Anda menggunakan apt, ketikkan yang berikut ini:

ubuntu@ubuntu~:$ sudo apt-get update
ubuntu@ubuntu~:$ Sudo apt-get upgrade

Nonaktifkan Tanda Tangan Server

Konfigurasi default Server Apache memperlihatkan banyak detail tentang server dan pengaturannya. Misalnya, mengaktifkan arahan ServerSignature dan ServerTokens di /etc/Apache2/Apache2.File .conf menambahkan tajuk tambahan ke Respons HTTP yang memaparkan informasi yang berpotensi sensitif sensitive. Informasi ini mencakup detail pengaturan server, seperti versi server dan OS hosting, yang dapat membantu penyerang dalam proses pengintaian. Anda dapat menonaktifkan arahan ini dengan mengedit Apache2.conf melalui vim/nano dan tambahkan direktif berikut:

ubuntu@ubuntu~:$ sudo vim /etc/apache2/apache2.konf
… gunting…
ServerSignature Off
… gunting…
Produk ServerTokens
… gunting…

Mulai ulang Apache untuk memperbarui perubahan.

Nonaktifkan Daftar Direktori Server

Daftar Direktori menampilkan semua konten yang disimpan di folder root atau sub-direktori. File direktori dapat mencakup informasi sensitif yang tidak dimaksudkan untuk tampilan publik, seperti skrip PHP, file konfigurasi, file yang berisi kata sandi, log, dll.
Untuk melarang daftar direktori, ubah file konfigurasi server Apache dengan mengedit file Apache2.file .conf sebagai:

ubuntu@ubuntu~:$ sudo vim /etc/apache2/apache2.konf
… gunting…

Opsi -Indeks

… gunting…

ATAU

… gunting…

Opsi -Indeks

… gunting…

Anda juga dapat menambahkan arahan ini di .htaccess dari direktori situs web utama Anda.

Lindungi Pengaturan Sistem

Itu .htaccess adalah fitur yang nyaman dan kuat yang memungkinkan konfigurasi di luar Apache2 utama main.file conf. Namun, dalam kasus di mana pengguna dapat mengunggah file ke server, ini dapat dimanfaatkan oleh penyerang untuk mengunggah miliknya sendiri “.htaccess” dengan konfigurasi berbahaya. Jadi, jika Anda tidak menggunakan fitur ini, Anda dapat menonaktifkan .htaccess direktif, i.e.:

ubuntu@ubuntu~:$ sudo vim /etc/apache2/apache2.konf
… gunting…
#AccessFileName .htaccess
… gunting…

ATAU
Nonaktifkan .htaccess kecuali untuk direktori yang diaktifkan secara khusus dengan mengedit Apache2.conf dan mengubah direktif AllowOverRide menjadi None;

ubuntu@ubuntu~:$ sudo vim /etc/apache2/apache2.konf
… gunting…

AllowOverride Tidak Ada

… gunting…

Direktori Aman dengan Otentikasi

Anda dapat membuat kredensial pengguna untuk melindungi semua atau beberapa direktori menggunakan utilitas htpasswd. Buka folder server Anda dan gunakan perintah berikut untuk membuat create .htpasswd untuk menyimpan hash kata sandi untuk kredensial yang diberikan kepada, katakanlah, pengguna bernama dev.

[dilindungi email]~:$ sudo htpasswd -c /etc/apache2/-htpasswd dev

Perintah di atas akan meminta kata sandi baru dan konfirmasi kata sandi. Anda dapat melihat kucing ./htpasswd untuk memeriksa hash untuk kredensial pengguna yang disimpan.

Sekarang, Anda dapat secara otomatis mengatur file konfigurasi di direktori your_website yang perlu Anda lindungi dengan memodifikasi .file htaccess. Gunakan perintah dan arahan berikut untuk mengaktifkan otentikasi:

ubuntu@ubuntu~:$ sudo nano /var/www/your_website/.htaccess
… gunting…
AuthType Dasar
AuthName "Tambahkan Prompt Dialog"
AuthUserFile /etc/Apache2/user_name/domain_name/.htpasswd
Memerlukan pengguna yang valid
… gunting…

Ingatlah untuk menambahkan jalur sesuai milik Anda.

Jalankan Modul yang Diperlukan

Konfigurasi Apache default menyertakan modul yang diaktifkan yang bahkan mungkin tidak Anda perlukan. Modul pra-instal ini membuka pintu untuk masalah keamanan Apache yang sudah ada atau mungkin ada di masa depan. Untuk menonaktifkan semua modul ini, Anda harus terlebih dahulu memahami modul mana yang diperlukan untuk kelancaran fungsi server web Anda. Untuk tujuan ini, lihat dokumentasi modul Apache yang mencakup semua modul yang tersedia.

Selanjutnya, gunakan perintah berikut untuk mencari tahu modul mana yang berjalan di server Anda.

[dilindungi email]~:$ sudo ls /etc/apache2/mods-enabled

Apache hadir dengan perintah a2dismod yang kuat untuk menonaktifkan modul. Ini mencegah pemuatan modul dan meminta Anda dengan peringatan saat menonaktifkan modul bahwa tindakan tersebut dapat berdampak negatif pada server Anda.

[dilindungi email]~:$ sudo a2dismod module_name

Anda juga dapat menonaktifkan modul dengan berkomentar di baris LoadModule.

Mencegah Slow Loris dan Serangan DoS

Instalasi default server Apache memaksanya untuk menunggu permintaan dari klien terlalu lama, yang membuat server terkena serangan Slow Loris dan DoS. apache2.File konfigurasi conf menyediakan arahan yang dapat Anda gunakan untuk menurunkan nilai batas waktu menjadi beberapa detik untuk mencegah jenis serangan ini, saya.e.:

ubuntu@ubuntu~:$ sudo vim /etc/apache2/apache2.konf
Batas waktu 60

Selain itu, server Apache baru dilengkapi dengan modul mod_reqtimeout yang berguna yang menyediakan direktif RequestReadTimeout untuk mengamankan server dari permintaan yang tidak sah. Arahan ini dilengkapi dengan beberapa konfigurasi rumit, sehingga Anda dapat membaca informasi terkait yang tersedia di halaman dokumentasi.

Nonaktifkan Permintaan HTTP yang Tidak Perlu

Permintaan HTTP/HTTPS tak terbatas juga dapat menyebabkan kinerja server rendah atau serangan DoS. Anda dapat membatasi penerimaan permintaan HTTP per direktori dengan menggunakan LimitRequestBody hingga kurang dari 100K. Misalnya, untuk membuat arahan untuk folder /var/www/your_website, Anda dapat menambahkan arahan LimitRequestBody di bawah AllowOverride All, saya.e.:

… gunting…

Opsi -Indeks
IzinkanOverride Semua
LimitRequestBody 995367

… gunting…

Catatan: Ingatlah untuk me-restart Apache setelah perubahan yang diterapkan untuk memperbaruinya sesuai.

Kesimpulan

Instalasi default server Apache dapat menyediakan banyak informasi sensitif untuk membantu penyerang dalam serangan. Sementara itu, ada banyak cara lain (tidak tercantum di atas) untuk mengamankan server web Apache juga. Lanjutkan meneliti dan terus memperbarui diri Anda tentang arahan dan modul baru untuk mengamankan server Anda lebih lanjut.

Distro Linux Terbaik untuk Gaming pada tahun 2021
Sistem operasi Linux telah berkembang jauh dari tampilan aslinya, sederhana, berbasis server. OS ini telah sangat meningkat dalam beberapa tahun terak...
Cara merekam dan streaming sesi permainan Anda di Linux
Dulu, bermain game hanya dianggap sebagai hobi, namun seiring berjalannya waktu, industri game mengalami pertumbuhan yang sangat pesat baik dari segi ...
Game Terbaik untuk Dimainkan dengan Pelacakan Tangan
Oculus Quest baru-baru ini memperkenalkan ide hebat pelacakan tangan tanpa pengontrol. Dengan jumlah permainan dan aktivitas yang terus meningkat yang...