Rumah >Operasi dan penyelenggaraan >Apache >Bagaimanakah saya mengkonfigurasi Apache untuk menyekat bot dan pengikis yang berniat jahat?
Mengkonfigurasi Apache untuk menghalang bot dan pengikis yang berniat jahat melibatkan pendekatan pelbagai lapisan yang menggabungkan pelbagai teknik. Tiada penyelesaian tunggal yang tidak jelas, tetapi gabungan kaedah memberikan perlindungan yang mantap. Inilah pecahan strategi yang berkesan:
1. ModSecurity: Ini boleh dikatakan modul Apache yang paling kuat untuk pengurangan bot. ModSecurity adalah firewall aplikasi web (WAF) yang membolehkan anda menentukan peraturan tersuai untuk mengesan dan menyekat lalu lintas yang berniat jahat. Anda boleh membuat peraturan berdasarkan pelbagai kriteria, termasuk alamat IP, ejen pengguna, corak permintaan, dan tajuk HTTP. Sebagai contoh, anda boleh menyekat permintaan yang mengandungi kata kunci tertentu yang sering digunakan oleh pengikis, atau permintaan yang berasal dari julat IP yang berniat jahat. Anda juga boleh memanfaatkan set peraturan pra-bina dari sumber seperti OWASP ModSecurity Core Rule Set (CRS) untuk melaksanakan garis dasar yang mantap dengan cepat. Konfigurasi yang betul memerlukan pemahaman ekspresi biasa dan struktur permintaan HTTP, tetapi hasil dari segi keselamatan adalah penting.
2. .Htaccess Peraturan Fail: Untuk menyekat yang lebih mudah, anda boleh menggunakan fail .htaccess
untuk melaksanakan peraturan asas. Peraturan ini kurang berkuasa daripada modsecurity tetapi boleh berguna untuk membetulkan cepat atau menyekat pelakon buruk yang diketahui. Sebagai contoh, anda boleh menyekat alamat IP atau julat tertentu menggunakan Deny from
Arahan. Anda juga boleh menggunakan peraturan yang lebih canggih menggunakan arahan RewriteEngine
dan RewriteCond
untuk menganalisis permintaan berdasarkan ejen pengguna, merujuk URL, atau tajuk lain. Walau bagaimanapun, berhati -hati dengan peraturan yang kompleks .htaccess
sebagai peraturan yang kurang ditulis boleh memberi kesan negatif terhadap prestasi atau fungsi tapak anda.
3. Penapisan Ejen Pengguna: Bot sering mengenal pasti diri mereka dengan ejen pengguna yang unik atau mencurigakan. Anda boleh menggunakan peraturan ModSecurity atau .htaccess
untuk menyekat permintaan berdasarkan ejen pengguna tertentu. Walau bagaimanapun, ini bukan kaedah yang tidak jelas kerana bot yang canggih dapat dengan mudah memusnahkan ejen pengguna mereka. Pertimbangkan ini langkah tambahan, bukan pertahanan utama.
4. Mengehadkan Kadar: Ini melibatkan mengehadkan bilangan permintaan yang dibenarkan dari satu alamat IP dalam tempoh masa tertentu. Ini penting untuk mengurangkan serangan kekerasan dan mengikis yang berlebihan. Modul Apache seperti mod_evasive
atau mod_limitipconn
secara berkesan dapat melaksanakan pembatas kadar. Modul -modul ini membolehkan anda mengkonfigurasi ambang untuk permintaan sesaat atau minit, mencetuskan tindakan menyekat apabila melebihi.
5. CAPTCHAS: Untuk tindakan sensitif, seperti penyerahan bentuk atau penciptaan akaun, pelaksanaan CAPTCHAS dapat menghalang bot. Walaupun tidak secara langsung konfigurasi Apache, mengintegrasikan perkhidmatan CAPTCHA menambah satu lagi perlindungan perlindungan terhadap serangan automatik.
Beberapa modul Apache cemerlang dalam melindungi terhadap serangan automatik. Pilihan bergantung pada keperluan khusus dan kepakaran teknikal anda:
mod_evasive
, modul ini mengehadkan bilangan sambungan serentak dari satu alamat IP. Ini amat berguna untuk mencegah serangan penafian perkhidmatan (DOS), yang sering dilancarkan oleh bot. Permintaan yang mengehadkan secara berkesan dari alamat IP tunggal bergantung pada menggunakan modul pengurangan kadar seperti mod_evasive
atau mod_limitipconn
. Modul -modul ini membolehkan anda menentukan ambang untuk permintaan sesaat, minit, atau jam. Melebihi ambang ini mencetuskan tindakan seperti penyekatan IP sementara atau kekal.
Contoh Konfigurasi (mod_evasif):
Konfigurasi khusus akan bergantung pada modul yang anda pilih, tetapi inilah idea umum menggunakan mod_evasive
:
<code class="apache"><ifmodule mod_evasive20.c> EvasiveHTTPDDenyStatus 403 EvasiveHTTPDLogFormat "%h %l %u %t \"%r\" %>s %b" DOSEmail nobody@example.com DOSWhitelist 127.0.0.1 DOSPageCount 2 DOSSiteCount 5 DOSPageInterval 1 DOSSiteInterval 1 DOSThreshold 10 </ifmodule></code>
Contoh ini mengkonfigurasi mod_evasive
untuk menyekat alamat IP selepas 10 permintaan dalam selang 1 saat ( DOSThreshold 10
, DOSSiteInterval 1
). Laraskan parameter ini berdasarkan corak lalu lintas dan tahap toleransi anda. Ingatlah untuk menyesuaikan alamat e -mel dan senarai putih yang diperlukan.
Walaupun tidak ada konfigurasi "sempurna", banyak contoh dan sumber boleh didapati dalam talian. Mencari "Apache Mod_Security Rules for Bot Mitigation," "Apache. Htaccess Bot Protection," atau "Apache Rate Limiting Configuration" akan menghasilkan banyak contoh. Walau bagaimanapun, berhati -hati apabila menyesuaikan contoh -contoh ini. Berhati -hati mengkaji peraturan untuk memahami implikasi mereka sebelum melaksanakannya pada pelayan pengeluaran anda. Peraturan yang dikonfigurasikan secara tidak betul boleh menjejaskan pengguna yang sah. Mulakan dengan konfigurasi asas dan secara beransur -ansur menambah peraturan yang lebih ketat seperti yang diperlukan, memantau log pelayan anda dengan teliti untuk sebarang akibat yang tidak diingini. Ingatlah bahawa kerap mengemas kini peraturan anda dan menyesuaikan diri dengan teknik bot yang berkembang adalah penting untuk keberkesanan jangka panjang.
Atas ialah kandungan terperinci Bagaimanakah saya mengkonfigurasi Apache untuk menyekat bot dan pengikis yang berniat jahat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!