Search code examples
apachesecuritywebserverfirewall

What are alternatives to secure a web-server other than firewall


I'm doing a network security course and trying to wrap my head around all the concepts. One of which is:

What technology other than firewall can be used to allow only a specific customers while block some other customers? Why is firewall not suitable?

During the course, I've been learning about all the security tools such as: firewall (static, dynamic, DPI), Proxy, VPN, Tunnel, all sorts of IDS (signature, anomaly, darknet/greynet and honeypot) then mod_security to secure apache but still puzzled by this question.

Any insights here will be greatly appreciated.


Solution

  • A firewall implied that you block based on the customer IP address. This may work if the customer has his own range of addresses and all requests from him are legitimate.

    It gets complicated when he is with a large cloud provider who who provide a wide range of possible IPs, including IPs from other people.

    For an application one good solution would be to use client-side certificates. In that case, during the TLS handshake (the process of putting in place a TLS (was: SSL) tunnel), the server will request the client to provide a certificate he (the server) trusts. Failure to providing one will break the connection.

    This way, you can distribute the certificate to the clients you want to be able to reach your service and others will be rejected. This solution is better as it uses technologies which were developed exactly to solve this problem. The drawback is that you have to maintain and distribute the certificates (and usually run a PKI).