HTTP Apache

Cara Melindungi Pelayan Apache Anda

Cara Melindungi Pelayan Apache Anda
Apache adalah pelayan web sumber terbuka yang popular yang tersedia untuk sistem Linux dan Windows. Ini membolehkan konfigurasi untuk pelbagai kes penggunaan, dari laman web HTML hingga kandungan aplikasi web dinamik HyperText Preprocessor (PHP).Apache menyediakan platform yang selamat dan mantap untuk menyebarkan aplikasi web anda. Walau bagaimanapun, masih penting untuk memasang patch keselamatan terkini dan mengkonfigurasi pelayan dengan betul untuk mewujudkan persekitaran yang selamat untuk aplikasi web anda.
Dalam artikel ini, anda akan menemui beberapa petua dan trik untuk memperkuat konfigurasi Pelayan Web Apache anda dan meningkatkan keselamatan umum.

Akaun Pengguna Tanpa Keistimewaan

Tujuan akaun pengguna tanpa root atau tanpa hak adalah untuk menyekat pengguna dari akses yang tidak perlu ke tugas-tugas tertentu dalam sistem. Dalam konteks pelayan web Apache, ini bermaksud bahawa ia harus berfungsi dalam lingkungan terhad dengan hanya izin yang diperlukan. Secara lalai, Apache berjalan dengan hak istimewa akaun daemon. Anda boleh membuat akaun pengguna bukan root yang berasingan untuk mengelakkan ancaman sekiranya berlaku kerentanan keselamatan.

Selanjutnya, jika apache2 dan MySQL berada di bawah kelayakan pengguna yang sama, apa-apa masalah dalam proses perkhidmatan sekali akan memberi kesan kepada yang lain. Untuk mengubah hak istimewa pengguna dan kumpulan untuk pelayan web, pergi ke / etc / apache2, buka envvars file, dan tetapkan pengguna dan kumpulan ke pengguna akun baru yang tidak istimewa, katakan, "apache," dan simpan fail.

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / envvars
... hirup ..
eksport APACHE_RUN_USER = apache
eksport APACHE_RUN_GROUP = apache
... hirup ..

Anda juga boleh menggunakan perintah berikut untuk mengubah kepemilikan direktori pemasangan kepada pengguna bukan root baru.

ubuntu @ ubuntu ~: $ sudo chown -R apache: apache / etc / apache2
Keluarkan arahan berikut untuk menyimpan perubahan:
ubuntu @ ubuntu ~: $ sudo service apache2 mulakan semula

Pastikan Apache Terkini

Apache terkenal kerana menyediakan platform yang selamat dengan komuniti pemaju yang sangat prihatin dan jarang menghadapi masalah keselamatan. Walaupun demikian, adalah normal untuk menemui masalah setelah perisian dilepaskan. Oleh itu, adalah mustahak untuk memastikan pelayan web sentiasa dikemas kini untuk memanfaatkan ciri keselamatan terkini. Dianjurkan juga untuk mengikuti Daftar Pengumuman Pelayan Apache untuk terus mengemas kini tentang pengumuman, siaran, dan kemas kini keselamatan baru dari komuniti pengembangan Apache.

Untuk mengemas kini apache anda menggunakan apt, ketik berikut:

ubuntu @ ubuntu ~: $ sudo apt-get kemas kini
ubuntu @ ubuntu ~: $ sudo apt-get peningkatan

Lumpuhkan Tandatangan Pelayan

Konfigurasi lalai dari Apache Server memperlihatkan banyak perincian mengenai pelayan dan tetapannya. Contohnya, arahan ServerSignature dan ServerTokens yang diaktifkan di / etc / apache2 / apache2.fail conf menambah tajuk tambahan ke Respons HTTP yang mendedahkan maklumat yang berpotensi sensitif. Maklumat ini merangkumi perincian tetapan pelayan, seperti versi pelayan dan OS hosting, yang dapat membantu penyerang dalam proses pengintaian. Anda boleh mematikan arahan ini dengan mengedit apache2.fail conf melalui vim / nano dan tambahkan arahan berikut:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.pengesahan
... hirup ..
Tandatangan Pelayan Mati
... hirup ..
ServerTokens Prod
... hirup ..

Mulakan semula Apache untuk mengemas kini perubahan.

Lumpuhkan Penyenaraian Direktori Pelayan

Senarai Direktori memaparkan semua kandungan yang disimpan dalam folder root atau sub-direktori. Fail direktori boleh merangkumi maklumat sensitif yang tidak dimaksudkan untuk paparan umum, seperti skrip PHP, file konfigurasi, fail yang berisi kata laluan, log, dll.
Untuk tidak membenarkan penyenaraian direktori, ubah fail konfigurasi pelayan Apache dengan mengedit apache2.fail conf sebagai:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.pengesahan
... hirup ..

Pilihan -Indeks

... hirup ..

ATAU

... hirup ..

Pilihan -Indeks

... hirup ..

Anda juga boleh menambahkan arahan ini di .fail htaccess dari direktori laman web utama anda.

Lindungi Tetapan Sistem

The .fail htaccess adalah ciri yang mudah dan hebat yang membolehkan konfigurasi di luar apache2 utama.fail conf. Namun, dalam keadaan di mana pengguna dapat memuat naik file ke pelayan, ini dapat dimanfaatkan oleh penyerang untuk mengunggah sendiri “.fail htaccess ”dengan konfigurasi yang berniat jahat. Oleh itu, jika anda tidak menggunakan ciri ini, anda boleh mematikannya .arahan htaccess, i.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.pengesahan
... hirup ..
#AksesFileName .htaccess
... hirup ..

ATAU
Lumpuhkan .fail htaccess kecuali untuk direktori yang diaktifkan secara khusus dengan mengedit apache2.fail conf dan mengubah arahan AllowOverRide menjadi Tiada;

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.pengesahan
... hirup ..

AllowOverride Tiada

... hirup ..

Direktori yang selamat dengan Pengesahan

Anda boleh membuat kelayakan pengguna untuk melindungi semua atau beberapa direktori menggunakan utiliti htpasswd. Pergi ke folder pelayan anda dan gunakan arahan berikut untuk membuat a .fail htpasswd untuk menyimpan hash kata laluan untuk kelayakan yang diberikan kepada, misalnya, pengguna bernama dev.

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

Perintah di atas akan meminta pengesahan kata laluan dan kata laluan baru. Anda boleh melihat kucing itu ./ htpasswd file untuk memeriksa hash untuk kelayakan pengguna yang disimpan.

Sekarang, anda dapat mengatur file konfigurasi secara automatik di direktori laman web anda yang perlu anda lindungi dengan mengubah .fail htaccess. Gunakan arahan dan arahan berikut untuk mengaktifkan pengesahan:

ubuntu @ ubuntu ~: $ sudo nano / var / www / your_website /.htaccess
... hirup ..
Asas Jenis Auth
AuthName "Tambah Prompt Dialog"
AuthUserFile / etc / apache2 / user_name / domain_name /.htpasswd
Memerlukan pengguna yang sah
... hirup ..

Ingatlah untuk menambah jalan mengikut jalan anda.

Jalankan Modul yang Diperlukan

Konfigurasi Apache lalai merangkumi modul yang diaktifkan yang mungkin tidak anda perlukan. Modul pra-pemasangan ini membuka pintu untuk masalah keselamatan Apache yang sama ada sudah ada atau boleh wujud pada masa akan datang. Untuk mematikan semua modul ini, pertama-tama anda perlu memahami modul mana yang diperlukan untuk kelancaran pelayan web anda. Untuk tujuan ini, periksa dokumentasi modul apache yang merangkumi semua modul yang ada.

Seterusnya, gunakan arahan berikut untuk mengetahui modul mana yang berjalan di pelayan anda.

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

Apache dilengkapi dengan arahan a2dismod yang kuat untuk mematikan modul. Ini menghalang memuatkan modul dan meminta anda memberi amaran ketika mematikan modul bahawa tindakan tersebut dapat memberi kesan negatif kepada pelayan anda.

[dilindungi e-mel] ~: $ sudo a2dismod module_name

Anda juga boleh mematikan modul dengan memberi komen di baris LoadModule.

Cegah Loris Lambat dan Serangan DoS

Pemasangan lalai pelayan Apache memaksanya untuk menunggu permintaan pelanggan terlalu lama, yang menyebabkan pelayan menyerang Slow Loris dan DoS. Apache2.fail konfigurasi conf memberikan arahan yang boleh anda gunakan untuk menurunkan nilai timeout menjadi beberapa saat untuk mengelakkan jenis serangan ini, i.e.:

ubuntu @ ubuntu ~: $ sudo vim / etc / apache2 / apache2.pengesahan
Masa tamat 60

Selain itu, pelayan Apache baru dilengkapi dengan mod_reqtimeout modul yang berguna yang menyediakan arahan RequestReadTimeout untuk melindungi pelayan dari permintaan yang tidak sah. Arahan ini dilengkapi dengan beberapa konfigurasi yang sukar, jadi anda dapat membaca maklumat berkaitan yang terdapat di halaman dokumentasi.

Lumpuhkan Permintaan HTTP Tidak Perlu

Permintaan HTTP / HTTPS tanpa had juga dapat menyebabkan prestasi pelayan rendah atau serangan DoS. Anda boleh menghadkan penerimaan permintaan HTTP per direktori dengan menggunakan LimitRequestBody hingga kurang dari 100K. Sebagai contoh, untuk membuat arahan untuk folder / var / www / your_website, anda boleh menambahkan arahan LimitRequestBody di bawah AllowOverride All, i.e.:

... hirup ..

Pilihan -Indeks
AllowOverride Semua
LimitRequestBody 995367

... hirup ..

Catatan: Ingatlah untuk memulakan semula Apache setelah perubahan yang berlaku untuk memperbaruinya dengan sewajarnya.

Kesimpulannya

Pemasangan lalai pelayan Apache dapat memberikan banyak maklumat sensitif untuk membantu penyerang dalam serangan. Sementara itu, terdapat banyak cara lain (tidak disenaraikan di atas) untuk melindungi pelayan web Apache. Teruskan meneliti dan terus mengemas kini mengenai arahan dan modul baru untuk melindungi pelayan anda dengan lebih jauh.

OpenTTD vs Simutrans
Membuat simulasi pengangkutan anda sendiri boleh menyeronokkan, santai dan sangat menarik. Itulah sebabnya anda perlu memastikan bahawa anda mencuba s...
Tutorial OpenTTD
OpenTTD adalah salah satu permainan simulasi perniagaan yang paling popular di luar sana. Dalam permainan ini, anda perlu membuat perniagaan pengangku...
SuperTuxKart untuk Linux
SuperTuxKart adalah tajuk hebat yang direka untuk membawa anda pengalaman Mario Kart secara percuma pada sistem Linux anda. Ia cukup mencabar dan meny...