Glenn Stok is a systems analyst with a Master’s Degree in Computer Science. He writes instructive articles to help educate his readers.
Many companies fail to protect their websites from cyber-attacks where hackers search for backdoor access to steal customer data. An extreme example was a data leak from a Facebook server in 2019 where hackers located personal information on 419 million users.1
I’ll show you a solution that I implemented on my website to block bots in real-time that search for ways to gain entry.
How to Monitor a Website for Hacking Attempts
I have taken the following steps to monitor and stop attacks on my website as they happen. Large corporations and government agencies can protect their computers that way too. But they don't, as evidence from all the reports of customer's data being stolen.
The process is so easy with code to monitor and discover cyber-attacks that seek to compromise security.
You might be familiar with the page on websites that tell you that you've reached a non-existent page. It's known as a 404 error page. If you click on a link to a page that no longer exists or if you mistype a URL, you will get that 404 error.
I used that error condition to capture information about visitors who got a 404 error. And more importantly, the software code I wrote tracks their activity in real-time to determine if they are attempting to hack into my database.
I capture info such as:
- The visitors IP address
- Their location in the world
- The site and the page they were looking at before they clicked to my website
- The page they were trying to see
- The web browser they were using
- Some of their system information
How can you make use of that info to block hackers? The trick is to automate it.
A large number of simultaneous 404 errors from the same IP address indicates possible hacking. When I look up their DNS authenticity, that sometimes shows, “Could be forged: hostname does not exist.” I find that to be an obvious clue that the visitor is up to no good.
It's quite easy to write a routine to block hacker bots automatically. I'll explain a little later how to automate the process to block hackers and stop cyber-attacks. But we need to start with a review of how to track hacking activity.
How to Track Hacking Activity on a Website
I programmed my website to send me emails of hacker attempts with all the data. So I can see what they are trying to achieve. It's usually a search to find a back door access, admin scripts, SQL database scripts, and PHP setup code. This type of activity indicates an attempt to gain access to my server through one of these routines.
I'm noticing that these attempts always have IP addresses from foreign countries such as China, Japan, Bangladesh, India, Russia, Brazil, Ukraine, Lithuania, and Jordan. It’s rare to catch a hacker from the U.S.
Some of these attacks are so vicious they take up a lot of bandwidth, hitting hundreds of non-existent pages in a matter of seconds. They are hoping to find one that is a back door entry to log in and get vital information.
I keep my customer records offline with no connection to the Internet in any way whatsoever. Besides, I don't have any scripts online that would allow access to my data, but the hackers don't know that.
You might be wondering why I get hit with these attacks. The criminals who run the code to do this are not going after any particular person or company. They have bots that scan randomly through all IP addresses, so they hit every computer server eventually, and websites run on computer servers.
They eventually will find a business or government website that is easy to penetrate, and sometimes they find something useful. Sometimes hackers find an insecure website where they can plant executable code to search for things like customer records.
How Companies Allow Access to Their Data Without Knowing It
Since I watch to see what these hackers are looking for, I have discovered a particular targeted search that happens almost every day. Hackers are looking for a file by the name of crossdomain.xml.
I don’t have that file on my server, but they keep scanning computers until they find it on some server somewhere. It may be a government installation or a big corporate office computer. Eventually, they find one that has this file, and once they do, they have a field day collecting data.
I am shocked that so many companies leave this code on their websites. And worse, they don't monitor it closely to know who is accessing it. I feel that since I find hackers searching for this every day, it must be quite prominent. I wonder if some Webmasters have it on their server and don’t even realize it.
Recommended for you
While monitoring cyber-attacks on my site, I also see many attempts to find a way in through WordPress. I don’t use WordPress. I write my own code. But hackers don’t know that, and their bots merely search for known WordPress vulnerabilities anyway.
About 70% of WordPress sites do not include security updates, and hackers take advantage of that to deface or steal data.2
How to Block Hackers and Stop Cyber Attacks
This last section is for web programmers who want to implement the code on their site. Anyone interested can follow along.
Make a 404.php file and specify that to be the page to display when someone clicks to a non-existent page or enters a non-existent page in their browser. That method will also capture bots that go around the Internet searching for back-door scripts that allow access.
Make the page display a friendly error telling a legitimate visitor that they stumbled upon a non-existent page. Include options to find their way around your website.
Now for the critical part:
Write PHP code that monitors hacker attacks. The method is to keep track of how many requests ended up with error-404's by the same IP address within a specified time—say 30 seconds.
If more errors occur than is a reasonable number for a human, then it is most likely a cyber-hacker bot. Examine the requests for files that include SQL, admin, cross-domain, login, scripts, setup, and anything else that could provide a method of access to a hacker.
If there is a match, then you can safely assume this is a hacker. No one else would be looking for these types of scripts and getting continuous 404 errors while searching.
The next step of the PHP routine is to capture the following data:
- The HTTP referrer (where they came from)
- The redirect status (status code)
- The HTTP user agent (browser info)
- The server signature (webserver info)
- Any other info you might want to track
Write additional PHP code that blocks that IP address. On an Apache server, you do that by adding a deny record to the "htaccess" file. That's the trick to block the hacker, and it takes just milliseconds.
You can also include PHP code to send the details of the hacker attempt to an administrator’s email address for follow up, or you can post that information to a report file that can be printed later for review.
A Central Database of Hacker IP Addresses Is Strongly Needed
Imagine if everyone would share their hacker’s IP address with other field office computers so they can block any discovered hackers too. The possibilities are endless.
With this method, cyber hackers can be stopped in real-time before they succeed in getting through and compromising a server. If they try again from a different IP address, that too will be blocked in real-time. They won't have a chance!
I have other ideas to enhance this implementation, such as developing a way to send hacker's IP addresses to a central database. The United States Cyber Command for Cybersecurity is just the place for that! How about it?
There presently are several sites where you can report hackers. Even the FBI has a “File a Complaint” link on their website for this purpose. But the data has to be entered by a human, and it's time-consuming. I wish I could just let the code I wrote interface with something like that when it happens.
I think all Webmasters need to work together to control cybercrime. They can shut the door to these attacks, and the Internet can be much more secure for us all.
Real-Time World Map of Internet Attacks
- Priyanshu Sahay. (April 4, 2021). “Facebook Data Hacked – 500 Million Accounts Leaked Online.” HackersOnLineClub.com
- Richard Wilford. (February 2019). “7 Ways to Start Protecting Your Website from Cyber Attacks.” Primacy Cybersecurity
This content is accurate and true to the best of the author’s knowledge and is not meant to substitute for formal and individualized advice from a qualified professional.
© 2011 Glenn Stok