As a general precaution, both clients and server administrators should have some basic network knowledge so that they can come up with their own solutions to any problem that crops up. It will then be unnecessary for the entire company to depend only on the small number of technical specialists in the company.
- Prevent Eavesdropping
- Deterring Identity Spoofing
- Avoiding Denial of service attacks
- Preventing Botnet attack
- Always use secure transmission channels such as the https protocol and others which have an in-built level of security.
- Always encrypt important messages before sending them out.
- When using encryption, remember to use strong encryption algorithms such as DES or MD5 which will take current computers hundreds of years to break. Using weak algorithms such as the Caesar cipher or the XOR shift is almost as good as not using any.
- Always use TCP when sending packets over as in TCP; every packet lost is made known to the recipient unlike in UDP where the sender and the recipient don’t know whether any packets were lost. This is very dangerous. Lost packets could mean that they have been hijacked by a hacker.
- When providing services, always require that your server send out a request and the client reply it to ensure that the client is forced to use his real IP (internet protocol) address.
- Implement a client verification system. There are a lot out there that can be easily implemented and they’ll ensure that the client is who he/she claims to be.
- Try to insist as much as possible on having the clients produce a digital certificate to verify who he/she really is.
- If possible, try to make the client use a program that is made by you so you can send yourself information like his/her true IP to make sure it’s his/her real IP.
- Always have multiple servers running so that whenever there’s an overwhelming load, the main server can always transfer some of the traffic to the other support servers to prevent it from being brought down.
- Implement a smart software firewall which blocks packets from the same IP which come in the hundreds at a time so that the server doesn’t need to process these packets (which will cause it to crash).
- Instead of using resource intensive technologies such as CGI (Common Gateway Interface), use technologies such as mod_perl and JSP (Java Server Pages) instead, as these will only slow down the server in the case of overwhelming traffic instead of crashing it.
- Filter out packet requests which do not seem to ask the server to do much but waste resources. Use a smart filter to differentiate between a real request and a bogus one aimed at crashing the server.
- As a consumer, always install firewalls to prevent bots hidden in your computer from coming alive and unknowingly connecting you to a Botnet.
- Always install and update anti-virus programs to make sure that the most common Trojan Horses do not get installed on your computer without your knowledge.
Network attacks 101
Securing Debian Manual - Before the compromise
Avoiding future denial-of-service attacks
Methods of attack