OK, así que supongo que conoces bien SELinux. Comenzando con iptables como lo mencionó en su pregunta, puede usar un conjunto de reglas de rechazar todo y aceptar conexiones en el orden que necesite (recuerde poner su acceso remoto primero si lo necesita). También puede cambiar los puertos predeterminados para protocolos utilizados regularmente como SSH y su servidor web para evitar que se descubran en los escaneos de red. Aunque si alguien es lo suficientemente paciente, puede encontrar todos los puertos abiertos en su sistema. También hay Snort para la inspección y filtrado de paquetes complejos y es un software muy capaz.
Para sus necesidades de privacidad y secreto, puede enrutar su tráfico a través de una VPN y / o una red TOR para encriptarlo (y en el caso de TOR, anonimizarlo).
Si está utilizando el servicio SSH, le recomiendo usar claves RSA y huellas digitales en lugar del método de contraseña predeterminado. Es mucho más seguro, pero asegúrese de hacer una copia de seguridad de su clave privada o se encontrará con una miríada de problemas.
Tenga cuidado con los permisos que otorga a los usuarios y servicios. Recuerde mantener todos sus programas actualizados tanto como pueda o si nota que hay una actualización de seguridad. Los errores pueden causar vulnerabilidades en su sistema que definitivamente no desea.
Raramente he visto ningún software antivirus en ningún sistema GNU / Linux, incluso en servidores de producción, ya que el riesgo de ser infectado con un malware basado en Linux es muy bajo. Pero si tiene un servidor en un entorno mixto (con Windows u OSX), entonces debería considerar tener un software AV fuerte, porque el servidor puede transmitir malwares a otros sistemas sin infectarse (piense en los servidores de correo). Recomiendo Avast ya que hace poco falta ClamAV, pero conviene a ti mismo.
También está este artículo de Digital Ocean que encontré bastante útil. Pero tenga en cuenta que la seguridad siempre es relativa. Debe aprender a comportarse de manera segura en cualquier sistema, de lo contrario, puede colocar un sistema detrás de tantas paredes como desee, pero aún existe el elemento humano.