Nginx ile IP adresi bloklamak

Nginx serverları üzerinden ip adresi bloklayabilirsiniz.

1. Nginx konfigürasyon dosyasına ihtyacınız var nerede bulmak için;

nginx -t yazın

the configuration file /etc/nginx/nginx.conf syntax is ok gibi bir yazı görünür burada dosyamız etc/nginx altında nginx.conf olarka belirlenmiş. bulduğunuz dosyasıyı açın

nano /etc/nginx/nginx.conf

http satırı içinde yer alan Virtual Host Configs altına

include /etc/nginx/blokip.conf; satırını ekleyin.

2. şimdi sıra geldi blokip.conf dosyasını oluşturmaya. nginx.conf dosyam /etc/nginx altında olduğu için yine bu klasöre geliyorum

cd /etc/nginx ve blokip.conf dosyamı oluşturup açıyorum

nano blokip.conf

3. bir IP adresini blocklamak için deny 1.2.3.4;
bir IP ye izin vermek için allow 1.2.3.4;
tüm networkleri blocklamak deny all;
hepsine izin vermek allow all; yazmalısınız

4. nginx -t

yazıp nginx configürasyon dosyasını test edin. Eğer komutun dönüşü
the configuration file /etc/nginx/nginx.conf syntax is ok ise

service nginx restart ile nginx i yeniden başlatın. Değilse adımları inceleyin hata yaptığınız yeri düzeltin.

Örnek blokip.conf dosyası;

deny 1.2.3.4;
deny 66.123.222.0/24;

IP adresi için 66.123.222.0/24 yazılmasının anlamı 66.123.222.0 ila 66.123.222.255 arasındaki tüm IP adreslerinin bloklanmakdır. Eğer 66.123.0.0/16 yazarsanız 66.123.0.0 ile 66.123.255.255 arasındaki tüm IP leri bloklarsınız. 66.0.0.0/8 yazarsanız ise 66.0.0.0 ile 66.255.255.255 alanındaki IP adresleri bloklanır.

Özetle;
IP/8 Tüm A classları
IP/16 Tüm B classları
IP/24 Tüm C classları ifade eder.

Şimdi serveriniz biraz daha korumalı oldu. İstemediğiniz IPlerden sitenize girişi engellediniz.