
Contexto :
Planeo viajar. Quiero hacer una pequeña nube con mi servidor personal. Desearía poder eliminar algunos de mis archivos y eventualmente cargar algunos archivos que no se ejecutarán y que todo esté protegido por una contraseña no trivial.
Soy el único usuario humano.
Netfilter: todos los puertos cerrados excepto el puerto 443. No hay scripts para ejecutar. Apache con los privilegios más bajos posibles.
He desactivado todos los inicios de sesión remotos con un script que se ejecuta automáticamente cada vez que un usuario intenta iniciar sesión en /etc/profile (básicamente expulsa a cualquiera que intente conectarse, ya que solo quiero poder conectarme físicamente a la caja).
Pero solo tengo mi puerto 443 abierto con Apache y una aplicación perfilada para asegurarme de que Apache no haga nada estúpido. Sin base de datos.
Debian Estable 64 bits actualizado.
Pregunta :
¿Será suficiente para asegurar mi caja? ¿Pasé por alto algo? ¿Algún otro consejo?
Gracias
Respuesta1
Este es un tema muy amplio, pero estos son mis dos centavos:
- Cifre sus discos.
- No limite AppArmor a
apache
. - Siempre que tenga un diseño de partición/LVM2 organizado, la mayor parte del sistema se puede montar en modo de solo lectura.
Monte
nodev,nosuid,noexec
todo lo que no necesite esos permisosapt
yaptitude
pueda necesitar permisos de ejecución temporales en/tmp
, puede agregar esto a su archivo/etc/apt/apt.conf
o en un fragmento en/etc/apt/apt.conf.d
:DPkg::Pre-Invoke {"mount -o remount,exec /tmp";}; DPkg::Post-Invoke {"mount -o remount /tmp";};
- Utilice una cuenta que no sea raíz y otorgue solo los
sudo
permisos necesarios a esa cuenta. - Si esto va a estar expuesto a Internet, utilice
fail2ban
odenyhosts
. - Realice actualizaciones de seguridad periódicas.
- Coloque los registros en una partición/volumen lógico separado.
- Tenga copias de seguridad y pruébelas.
- Planifique un posible compromiso.