Cualquier servicio externo es un riesgo de seguridad. Usted indicó que está ejecutando una pila LAMP, por lo que asumo que tiene al menos los siguientes servicios en ejecución:
1. SSHd
2. Apache/Nginx
3. PHP
4. MySQL
MySQL por defecto no está orientado externamente, y no debería hacerlo a menos que esté involucrado en un entorno de agrupación o replicación (en cuyo caso hay alternativas a ponerlo en la web amplia, como una VPN).
Apache / Nginx + PHP no se puede hacer internamente si pretende proporcionar contenido a las personas en la web, por lo que estos serán sus principales puntos de ingreso.
SSHd en sí mismo tiene que ser público (no siempre, pero en aras de la simplicidad en este caso). El uso de un par de claves para la autenticación y la desactivación total de la autenticación de contraseña es su mejor opción para evitar que las personas obtengan acceso a través de este servicio.
Hablemos de servicios web. Apache, Nginx y PHP. Estos son los servicios que las personas intentarán explotar para obtener acceso a su máquina, así que hablemos de cómo protegerlos.
Primero, vas a querer aislar los servicios. Si los instaló usted mismo, eso significa asegurarse de que Apache y Nginx se ejecuten como usuarios no root.
En segundo lugar, querrá echar un vistazo a php-fpm o suphp, que permite a PHP operar como un usuario que está separado de su servidor web incluso a nivel de host virtual o de directorio.
Esto logra dos cosas, al quitar los permisos de root de Apache / Nginx, si alguien obtiene el control de ese servicio, no puede afectar nada más que la operación de ese servicio específico.
Cambiar el usuario de php (especialmente en función de cada sitio) aísla al módulo PHP de la interacción con otros sitios en la máquina y con el servidor web, por lo que si tiene un cliente o sitio web con un código explotable, Su servicio completo, otros sitios y su máquina no están en riesgo.