GateKeeper allows you to manage access to your IIS based website/blog/webserver by using several mechanisms:
- IP Blacklist & Whitelist
- UserAgent Blacklist & Whitelist
- Hotlink Blacklist & Whitelist
- Robots.txt Violation Honeypot
GateKeeper will work with any ASP.NET website running IIS 6/7. Management pages and User Controls are provided with the solution. And for those using BlogEngine.NET there are special management pages included that integrate with the built-in admin pages.
Here are some screen shots of the management pages:
Config Screen 1
Config Screen 2
IP BlackLlist Screen
The core of this solution is the ability to deny a request based on a list of IP Addresses and UserAgents. So when that BaiduSpider decides to download every single link on your site you can simply add BaiduSpider to your UserAgent list and all future requests
will be denied. If you see a nagging or malicious request coming in from a specific IP Address you can add that to your IP Address list and those will be denied as well.
Now suppose there is an IP Address or UserAgent that you want to allow access under all circumstances. Simply add them to the Whitelist and future requests will be allowed to proceed. Additionally, you can add Urls to the Whitelist to allow to blacklisted requestors
access to only the approved pages and links.
GateKeeper provides a honeypot configuration that will trap requestors who have disregarded your robots.txt file. Simply add an empty anchor tag to your home page pointing to a honeypot address, and then configure GateKeeper to look for any request to that
link. Once the trap is sprung you can have an email sent to you, as well as add that requestor’s IP address to the IP Address Blacklist.
Hotlinking can also be detected and denied. The configuration page allows you to configure which extensions you wish to monitor, as well as indicating which external sites are allowed to hotlink from your site. The default behavior for a hotlinked request is
to display the generic deny message but you can configure an image to display instead.
When a request is denied a configurable deny message is displayed to the user, which can include an optional contact form to allow the user to ask for removal.
All of the management of GateKeeper can be done using the included web pages that serve up User Controls for each management section. If you would prefer to configure your own management console you can add the included User Controls to your own management
page and you’re ready to go.
All configuration is stored in XML files and dynamically updated whenever they are changed.
A sample website is included in the project to help you get started and to show you all of the features.
The current release includes all that is necessary to load GateKeeper into BlogEngine.NET. A duplication exists in configuring the messaging piece but a future BlogEngine.NET Extension will be forthcoming which will inject the credentials at run time so you
don’t have to store the configuration in two places.