Lindungi Antara Muka Web daripada Serangan Botnet Menggunakan Pelayan Linux
Dalam pembangunan dan pengurusan web, melindungi antara muka web daripada serangan Botnet (botnet) ialah tugas keselamatan yang penting. Serangan botnet merujuk kepada penggodam yang menggunakan sekumpulan komputer atau peranti yang dijangkiti untuk melancarkan serangan dan membuat permintaan jahat berskala besar kepada pelayan web untuk mengatasi sumber dan lebar jalur pelayan, menyebabkan serangan penafian perkhidmatan (DoS) atau penolakan perkhidmatan yang diedarkan ( DoS).
Dalam artikel ini, kami akan memperkenalkan beberapa kaedah menggunakan pelayan Linux untuk melindungi antara muka web daripada serangan Botnet dan memberikan contoh kod yang berkaitan.
Pertama, kita perlu memastikan bahawa firewall pada pelayan Linux dihidupkan dan dikonfigurasikan dengan betul. Firewall boleh menapis dan menyekat permintaan daripada alamat IP tertentu atau julat alamat IP. Berikut ialah contoh menggunakan arahan iptables untuk menghidupkan tembok api dan membenarkan permintaan hanya daripada alamat IP tertentu:
sudo iptables -A INPUT -p tcp -s 特定IP地址 -j ACCEPT sudo iptables -A INPUT -p tcp -j DROP
Sila gantikan "alamat IP khusus" dengan alamat IP yang anda benarkan.
Fail2Ban ialah alat popular untuk menghalang log masuk berniat jahat dan serangan kekerasan. Ia memantau fail log pelayan dan secara automatik menyekat permintaan daripada alamat IP tersebut selepas mengesan berbilang percubaan log masuk yang gagal. Berikut ialah contoh cara memasang dan mengkonfigurasi Fail2Ban pada pelayan Linux:
sudo apt-get install fail2ban sudo vi /etc/fail2ban/jail.local
Tambah kandungan berikut dalam fail jail.local:
[http-get-dos] enabled = true port = http,https filter = http-get-dos logpath = /var/log/apache2/access.log maxretry = 100 findtime = 60 bantime = 600
Simpan fail dan keluar, kemudian mulakan semula perkhidmatan Fail2Ban:
sudo service fail2ban restart
Untuk melindungi antara muka web daripada serangan Botnet, kami boleh mengkonfigurasi beberapa langkah keselamatan tambahan pada pelayan web. Berikut ialah contoh mengkonfigurasi proksi terbalik dan mengehadkan kekerapan menggunakan pelayan Apache:
sudo a2enmod proxy sudo a2enmod proxy_http sudo vi /etc/apache2/conf-available/security.conf
Tambah kandungan berikut dalam fail security.conf:
<IfModule mod_reqtimeout.c> RequestReadTimeout header=20-40,MinRate=500 </IfModule> <Proxy *> Order deny,allow Deny from all Allow from 特定IP地址 </Proxy> ProxyPass / http://localhost:8000/ ProxyPassReverse / http://localhost:8000/
Simpan fail dan keluar, kemudian muat semula konfigurasi pelayan Apache:
sudo service apache2 reload
Sila tukar " Gantikan "Alamat IP Khusus" dengan alamat IP anda yang dibenarkan.
Untuk menghalang bot berniat jahat daripada serangan botnet daripada mengautomasikan permintaan, kami boleh mengukuhkan lagi keselamatan dengan melaksanakan CAPTCHA. Berikut ialah contoh pelaksanaan perlindungan captcha menggunakan rangka kerja Flask Python:
from flask import Flask, request, render_template from flask_wtf import FlaskForm, RecaptchaField from wtforms import StringField, SubmitField from wtforms.validators import DataRequired app = Flask(__name__) app.config['SECRET_KEY'] = 'your_secret_key' app.config['RECAPTCHA_PUBLIC_KEY'] = 'your_recaptcha_public_key' app.config['RECAPTCHA_PRIVATE_KEY'] = 'your_recaptcha_private_key' class MyForm(FlaskForm): name = StringField('Name', validators=[DataRequired()]) recaptcha = RecaptchaField() submit = SubmitField('Submit') @app.route('/', methods=['GET', 'POST']) def index(): form = MyForm() if form.validate_on_submit(): return 'Success!' return render_template('index.html', form=form) if __name__ == '__main__': app.run()
Sila pastikan anda telah menyediakan kunci rahsia dan captcha yang betul dalam aplikasi Flask anda.
Dengan langkah di atas, kami boleh melindungi antara muka web dengan berkesan daripada serangan Botnet. Walau bagaimanapun, sila ingat bahawa keselamatan adalah proses yang berterusan dan kami perlu sentiasa mengemas kini dan meningkatkan langkah perlindungan kami untuk melindungi keselamatan data pelayan dan pengguna kami.
Atas ialah kandungan terperinci Lindungi antara muka web daripada serangan Botnet menggunakan pelayan Linux.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!