محدود کردن IPها بجز یک IP
دوشنبه, ۲۳ بهمن ۱۳۹۶، ۰۴:۱۴ ب.ظ
تو این آموزش با نحوه محدود کردن IPها بجز یک IP به صفحه ورود وردپرس در وب سرور Nginx آشنا می شویم
بر اساس مطالعات انجام شده بیشترین حملات انجام شده بر روی وردپرس ، حمله از نوع بروت فورث بر روی صفحه لوگین وردپرس بوده است
حال اگر ما دسترسی به این صفحه رو بر روی یک IP خاص تنظیم کنیم ، می توانیم به طور چشم گیری از این حملات جلوگیری کنیم
برای اینکار باید با استفاده از دستور زیر فایل nginx.conf را ویرایش کنیم :
# vi /etc/nginx/nginx.conf
سپس دستور زیر را به ادامه فایل اضافه می کنیم
location ~ ^/blog/(wp-admin|wp-login\.php) {
allow 1.2.3.4;
deny all;
}
بجای ۱٫۲٫۳٫۴ از IP خودتان باید استفاده کنید
در زیر یک فایل کانفیگ ساده رو مشاهده می کنیم :
upstream apachebackend {
server 192.168.1.10:8080 weight=6;
server 192.168.1.11:8080 weight=5;
server 192.168.1.12:8080 weight=5;
server 192.168.1.13:8080 weight=5;
#server 127.0.0.1:8080 weight=1;
}
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
index index.html;
listen ۷۵٫۱۲۶٫۱۵۳٫۲۰۶:۸۰ default;
root /usr/share/nginx/html;
server_name cyberciti.biz www.cyberciti.biz;
## PROXY – Web
location / {
proxy_pass http://apachebackend;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_redirect off;
proxy_buffering off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location ~ ^/(wp-admin|wp-login\.php) {
allow 1.2.3.4;
deny all;
proxy_pass http://apachebackend;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
و در پایان با دستور زیر وب سرور Nginx را دوباره راه اندازی می کنیم :
# /etc/init.d/nginx reload