Your basic idea is right, but what you want to do is use a "map." I will follow up with more details when I can pull the code off my server. 

I 444 a number of services that I don't use. I have a script to find the IP addresses of those that trigger a 444 from access.log. If they come from a data center, hosting service, etc., they get on a blocking list for  my firewall. I block the entire IP space. 

Sent: March 19, 2018 5:31 AM
Subject: Aborting malicious requests

Just a thought before I start crafting one. I am creating a location{} block with the intention of populating it with a ton of requests I want to terminate immediately with a 444 response. Before I start, I thought I’d ask to see if anyone has a really good one I can use as a base.

 

For example, we don’t serve PHP so I’m starting with

Location ~* .php {

Return 444;

}

 

Then I can just include this into all my server blocks so I can manage the aborts all in one place. This alone reduces errors in the logs significantly. But now I will have to start adding in all the wordpress stuff, then onto php myadmin, etc. I will end up with something like

 

Location ~* (.php|wp-admin|my-admin) {

Return 444;

}

 

I can imagine the chunk inside the parenthesis is going to be pretty huge which is why I thought I’d reach out to see if anyone has one  already.

 

Thanks,

-mike

 

___________________________________________

Michael Friscia

Office of Communications

Yale School of Medicine

(203) 737-7932 - office

(203) 931-5381 - mobile

http://web.yale.edu

 

_______________________________________________
nginx mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx

Reply via email to