Como o cara acima, eu sugeriria iptables . Além disso, se você está pronto para outra camada de segurança, o que é sempre uma boa idéia, dê uma olhada em snort . Estou assumindo que este é um tipo de configuração do servidor doméstico. Se eu fosse você, separaria minha rede para que o servidor da Web ficasse em uma DMZ. Por exemplo, minha rede seria algo como isto.
-----------
| internet |
------------______________________
| |_______ |
| | |
------------- ------------ -------------
| web server| | LAN | | VPN Pool |
------------- ------------ -------------
Eu recomendaria fazer algo assim se o que você está fazendo vai ser usado por um longo período de tempo. Eu uso um hardware Firebox x700 executando pfsense . O pfsense é muito mais simples de configurar regras do que o iptables por causa de um gui existente. Eu também escrevi um pequeno tutorial sobre instalando-o em um x700 , mais pessoas nos fóruns são muito útil. Se você tem uma caixa sobrando com 3 nic's, você pode imitar minha rede. O que você precisa perceber ao hospedar coisas por conta própria não é apenas se preocupar com seu servidor web / db, mas com seus outros computadores LAN, às vezes menos atualizados.