¿Cuáles son las formas y herramientas más seguras y efectivas necesarias para proteger y proteger una computadora portátil Debian y un servidor Debian?

Me gustaría agregar algunas cosas a la lista:

  1. Garantizar nombres de host válidos y reversibles
  2. Deshabilite el inicio de sesión raíz en su configuración sshd
  3. No proporcione la contraseña de root, use sudoers y brinde acceso a directorios / binarios específicos según sea necesario
  4. Si ejecuta un servidor de correo, configure correctamente las restricciones de destinatario y nombre de correo
  5. Evite cualquier autenticación de texto sin formato, incluidos sendmail y ftp (como se mencionó anteriormente), pero también la autenticación de texto sin formato para smtp / imap / pop3
  6. Asegúrese de que iptables esté configurado correctamente, incluida una regla de registro y descarte (descartamos paquetes en lugar de rechazarlos para evitar darle al atacante información útil)
  7. Echa un vistazo a “lynis” y “debsecan” también, ya que pueden ser herramientas útiles además de algunas de las mencionadas por Arthur (“fail2ban” es mi favorito en esa lista, con Tiger OR AIDE, no ambos), y no lo hagas. No olvide “resoplar” como IDS de su red

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.

  1. Use el CD netinstall. Esto le dará mucho más control sobre lo que se pone en el hardware que el CD normal.
  2. Use apt-get autoremove para limpiar los programas que no necesita para ejecutar su sistema, algunos programas solo son necesarios para la instalación.
  3. El manual de seguridad se encuentra aquí: http://www.debian.org/doc/manual
  4. Evite sendmail y ftp. Solo habilite ssh desde una red privada. (192.168.xxx.xxx o similar) o solo permita conexiones a ssh desde números de IP específicos. Ni siquiera lo agregue a su computadora portátil. El netinstall no instala un shell seguro.
  5. Aprenda a limitar el comando sudo. Yo personalmente, no le doy a sudo el poder de ejecutar apt-get. Puedes ser más estricto.
  6. No permita que los usuarios de la lista de inicio de sesión gráfico. Eso significa que el único usuario que se sabe que está en el sistema es root. Y se puede evitar que root inicie sesión en una interfaz gráfica. Por otro lado, la computadora portátil no necesita un nombre como usuario. Puede ser cualquier nombre que elijas. Haz que descifren el nombre de usuario y la contraseña.