<!-- CVS revision of this document "$Revision: 1.3 $"  -->

<chapt id="sec-tools">Herramientas de seguridad en Debian

<p>ARRÉGLAME: Se necesita más contenido.

<p>Además Debian proporciona una cantidad de herramientas de seguridad que
pueden hacer que un equipo con Debian instalado sea apropiado para
propósitos de seguridad. Estos propósitos incluyen la protección de
sistemas de información a través de cortafuegos (tanto a nivel de paquetes 
como a nivel de aplicación), detección de intrusiones (basadas en anfitrión
y en red), evaluación de vulnerabilidades, antivirus, redes privadas, etc.

<p>A partir de Debian 3.0 (<em>woody</em>), el «software» criptográfico
incluido en la distribución se ha integrado en la distribución principal.
OpenSSH y GNU Privacy Guard se han incluido en la instalación principal,
y ahora el cifrado fuerte está presente en navegadores web, servidores web,
bases de datos, y así sucesivamente. Hay prevista una mayor integración de 
criptografía para futuras publicaciones. Este «software», debido a restricciones
de exportación en Estados Unidos, no se incluyó en la distribución principal,
sino que sólo se incluyó en los sitios non-US.

<sect id="vuln-asses">Herramientas de evaluación de vulnerabilidades remotas.
<p>Las herramientas que suministra Debian para ejecutar la
evaluación de vulnerabilidades remotas son: 
<footnote>
Algunas de ellas se proporcionan 
al instalar el paquete <package>harden-remoteaudit</package>.
</footnote>
<list>
<item><package>nessus</package>
<item><package>raccess</package>
<item><package>nikto</package> (sustituto de <prgn>whisker</prgn>)
</list>

<p>Con mucho, la herramienta más completa y actualizada es
<package>nessus</package>, que se compone de un cliente 
(<package>nessus</package>), que es el IGU, y un servidor
(<package>nessusd</package>), el cual lanza los ataques programados.
Nessus incluye vulnerabilidades remotas para un amplio número de sistemas 
incluyendo aplicaciones de red, servidores ftp, servidores www, etc.
Los últimos accesorios de seguridad son capaces de analizar un sitio web y
tratar de descubrir, de las páginas interactivas disponibles, las que 
se podrían atacar. También hay clientes Java y para Win32 (no se incluyen
en Debian) que se pueden usar para conectar con el servidor.

<p>Dese cuenta de que si está usando woody, los paquetes de Nessus están 
verdaderamente desactualizados (vea el fallo <url
 id="http://bugs.debian.org/183524" name="#183524">). No es difícil adaptar los
paquetes disponibles en la versión inestable a woody, pero si le resulta difícil
hacerlo podría pensar en usar los paquetes adaptados proporcionados por uno de
los desarrolladores y disponible en <url 
id="http://people.debian.org/~jfs/nessus/"> (Estas versiones podrían no estar
tan actualizadas como las versiones disponibles en <em>inestable</em>).

<p><package>nikto</package> es un escáner de vulnerabilidades solo para web
que incluye técnicas anti SDI (la mayoría de las cuales nunca más serán 
<em>anti SDI</em>). Se trata de uno de los mejores escáner de cgi 
disponibles, siendo capar de detectar servidores WWW y lanzar sólo un 
determinado conjunto de ataques contra ellos. La base de datos que utiliza para
el análisis se puede modificar fácilmente para proporcionar información nueva.

<sect>Herramientas de escáner de red
<p>Debian proporciona algunas herramientas utilizadas para el análisis
remoto de anfitriones (pero sin evaluación de vulnerabilidades). Estas 
herramientas, en algunos casos, las utilizan los escáneres de evaluación 
de vulnerabilidades como el primer tipo de «ataque» ejecutado contra anfitriones
remotos en un intento por determinar los servicios remotos disponibles.
Actualmente Debian proporciona:
<list>
<item><package>nmap</package>
<item><package>xprobe</package>
<item><package>knocker</package>
<item><package>isic</package>
<item><package>hping2</package>
<item><package>icmpush</package>
<item><package>nbtscan</package> (para auditorías SMB /NetBIOS )
<item><package>fragrouter</package>
<item><prgn>strobe</prgn> (en el paquete <package>netdiag</package>)
<item><package>irpas</package>
</list>

<!-- 
Ettercap no se incluye dado que es una herramienta de sniffing no un
analizador remoto
-->

<p>Mientras que <package>queso</package> y <package>xprobe</package> proporcionan
únicamente detección de sistemas operativos remotos (utilizando TCP/IP 
fingerprinting<footnote>Sin embargo, la base de datos de fingerprinting de <prgn>Queso</prgn> 
es bastante antigua</footnote>), <package>nmap</package> y
<package>knocker</package> realizan detección de sistemas operativos y escaneo
de puertos de anfitriones remotos. Por otro lado, <package>hping2</package> y
<package>icmpush</package> se pueden utilizar en técnicas de ataques remotos
ICMP.

<p>Diseñado específicamente para redes SMB, <package>nbtscan</package> puede
utilizarse para escanear redes IP y obtener información sobre servidores
con SMB habilitado, incluyendo: nombres de usuarios, nombres de red, direcciones
MAC... 

<p>Por otro lado, <package>fragrouter</package> se puede utilizar para
testear sistemas de detección de intrusos y ver si el SDIR se puede
evitar con ataques de fragmentación.

<p>ARRÉGLAME: Comprobar <url id="http://bugs.debian.org/153117" name="fallo
#153117"> (ITP fragrouter) para ver si se ha incluido.

<p>ARRÉGLAME añadir información basada en 
<url id="http://www.giac.org/practical/gcux/Stephanie_Thomas_GCUX.pdf"
name="Debian Linux Laptop for Road Warriors"> que describe cómo 
utilizar Debian y un ordenador portátil para escanear redes inalámbricas (803.1).
(No volver a enlazar allí).

<sect>Auditorías internas
<p>En la actualidad, <package>tiger</package> es la única herramienta utilizada
en Debian que sirve para ejecutar auditorías internas (también llamadas 
«White box») de anfitriones con el fin de determinar si el sistema de ficheros está
configurado correctamente, qué procesos están escuchando en el anfitrión, etc.

<sect>Auditorías de código fuente
<p>Debian proporciona tres paquetes que sirven para auditar programas con
código fuente C/C++ y encontrar errores de programación que pueden conducir
a potenciales grietas de seguridad:
<list>
<item>flawfinder
<item>rats
<item>splint
</list>

<sect id="vpn">Redes virtuales privadas

<p>Una red privada virtual (RPV) es un grupo de dos o más sistemas de 
computadores, típicamente conectados a una red privada con acceso público
limitado desde la red, que se comunica de forma segura sobre una red pública.
Las RPV pueden conectar un único computador a una red privada (cliente-servidor),
o una LAN remota a una red privada (servidor-servidor). Las RPV a menudo hacen 
uso de cifrado, autenticación fuerte de usuarios remotos o anfitriones, 
y métodos para ocultar la topología de la red privada.

<p>Debian proporciona unos cuantos paquetes para configurar redes privadas
virtuales cifradas:

<list>

<item><package>vtun</package>
<item><package>tunnelv</package> (sección non-US)
<item><package>cipe-source</package>, <package>cipe-common</package>
<item><package>tinc</package>
<item><package>secvpn</package>
<item><package>pptpd</package>
<item><package>freeswan</package>, el cual está obsoleto, y reemplazado por
<item><package>openswan</package> (<url id="http://www.openswan.org/">)

</list>

<P>ARRÉGLAME: Actualizar la información aquí puesto que se escribió con
FreeSWAN en mente. Revise el fallo #237764 y el Message-Id:
&lt;200412101215.04040.rmayr@debian.org&gt;.

<p>El paquete OpenSWAN es probablemente la mejor elección entre todas, puesto
que asegura la interacción con casi cualquier cosa  que utilice el protocolo de
seguridad IP, IPsec (RFC 2411). De todas formas, los otros paquetes listados
arriba también pueden ayudarle a obtener un túnel seguro en caso de urgencia.
EL protocolo de túnel punto a punto para RPV (PPTP) es propiedad de Microsoft.
Está soportado bajo Linux, pero se sabe que tiene importantes problemas de 
seguridad.

<p> Para más información vea el <url
id="http://www.tldp.org/HOWTO/VPN-Masquerade-HOWTO.html"
name="CóMO RPV-Masquerade"> (abarca IPsec y PPTP),  <url
id="http://www.tldp.org/HOWTO/VPN-HOWTO.html" name="CóMO RPV">
(abarca PPP sobre SSH), y <url
id="http://www.tldp.org/HOWTO/mini/Cipe+Masq.html" name="mini CóMO Cipe">, y
<url id="http://www.tldp.org/HOWTO/mini/ppp-ssh/index.html" name=" mini CóMO 
PPP y SSH">.

<p>También vale la pena obtener <url 
id="http://yavipin.sourceforge.net/" name="Yavipin">, pero todavía no parece
estar disponible el paquete GNU Debian.

<sect1>Túnel punto a punto.

<p>Si quiere proporcionar un servidor de túnel para un entorno combinado
(Sistemas operativos de Microsoft y clientes Linux) e IPsec no es una 
opción (puesto que solo se proporciona para Windows 2000 y Windows XP),
puede utilizar <em>PoPToP</em> (Servidor de túnel punto a punto),
que se proporciona en el paquete <package>pptpd</package>.

<p>Si usted quiere utilizar cifrado y autenticación de Microsoft con el
servidor que proporciona el paquete <package>ppp</package>, fíjese en lo
siguiente extraído de las PUF:

<example>
Sólo es necesario utilizar PPP 2.3.8 si usted quiere cifrado y autenticación
MSCHAPv2/MPPE compatible con Microsoft. El motivo de esto es que el parche
para MSCHAPv2/MPPE que proporciona actualmente (19990813) es contra PPP 2.3.8.
Si no necesita compatibilidad con autenticación/cifrado Microsoft 
cualquier fuente PPP 2.3.x funcionará bien.
</example>

<p>En cualquier caso, también puede aplicar el parche del núcleo 
proporcionado por el paquete <package>kernel-patch-mppe</package>, que
proporciona el módulo pp_mppe para pppd.

<p>Tenga en cuenta que el cifrado en ppptp le fuerza a almacenar las
contraseñas en texto en claro, y que el protocolo MS-CHAPv2 contiene
<url id="http://mopo.informatik.uni-freiburg.de/pptp_mschapv2/"
name="agujeros de seguridad conocidos">.

<sect>Infraestructura de clave pública (ICP).

<p>La infraestructura de clave pública (ICP) es una arquitectura de seguridad
presentada para proporcionar un mayor nivel de confianza al intercambiar 
información a través de redes inseguras. Hace uso del concepto de clave
criptográfica pública y privada para verificar la identidad del emisor
(firmante) y asegurar la privacidad (cifrado).

<p>Cuando se considera una ICP, usted se enfrenta a un amplia variedad de
cuestiones:

<list>

<item>una Autoridad certificadora (AC) que pueda resolver y verificar
certificados, y que trabaje bajo una jerarquía dada.

<item>un directorio para soportar los certificados públicos de usuarios

<item>una base de datos (?) para mantener las listas de revocación de
certificados (LRC)

<item>dispositivos que interactúen con el AC con el fin de imprimir en
tarjetas inteligentes/unidades USB/cualquier cosa que almacene certificados de forma segura

<item>programas listos para usar certificados emitidos por una AC para unirse
en comunicaciones cifradas y comprobar certificados contra LRC (para
autenticación y soluciones completas de inicio de sesión)

<item>una autoridad de marcas de tiempo para firmar documentos digitalmente

<item>una consola de administración desde la cual se puedan utilizar apropiadamente
todos estos (generación de certificados, control de lista de revocaciones, 
etc...)

</list>

<p> Debian GNU/Linux posee paquetes para ayudarle con algunas cuestiones
de ICP. Estos incluyen <prgn>OpenSSL</prgn> (para generación de certificados),
<prgn>OpenLDAP</prgn> (como directorio para guardar los certificados),
<prgn>gnupg</prgn> y <prgn>openswan</prgn> (con soporte del estándar X.509).
En cualquier caso, en la distribución Woody (Debian 3.0), Debian no tiene
algunas de las autoridades de certificación libremente disponibles como es pyCA,
<url id="http://www.openca.org" name="OpenCA"> o los ejemplos de AC de OpenSSL.
Para una mayor información lea <url id="http://ospkibook.sourceforge.net/" 
name="Open PKI book">.

<sect>Infraestructura SSL

<p>Debian proporciona algunos certificados SSL con la distribución de modo
que se pueden instalar de forma local. Se encuentran en el paquete
<package>ca-certificates</package>. Este paquete proporciona un repositorio
central de certificados que se han enviado a Debian y se han aprobado (esto es,
se han verificado) por el desarrollador del paquete, es útil para algunos 
programas con OpenSSL que verifican las conexiones SSL.


<p>ARRÉGLAME: leer debian-devel para ver si se ha añadido algo más.

<sect>Herramientas antivirus

<p>No hay demasiadas herramientas antivirus incluidas en Debian GNU/Linux,
probablemente sea porque los usuarios de GNU/Linux no están plagados de
virus. El modelo de seguridad de UN*X hace una distinción entre procesos 
privilegiados (administrador) y procesos propios de usuario, por lo tanto un 
ejecutable «hostil» que recibe o crea un usuario no administrador y después 
ejecuta no puede «infectar» ni por otro lado manipular la totalidad del
sistema. En cualquier caso, los gusanos y virus para GNU/Linux existen,
si bien no ha habido (todavía, esperanzadoramente) ninguno que se haya
podido propagar ampliamente en ninguna distribución Debian. De todas formas,
los administradores podrían querer construir pasarelas antivirus que protejan
contra la aparición de virus en otros sistemas más vulnerables en su red.

<p>Actualmente Debian GNU/Linux proporciona las siguientes herramientas
para la construcción de entornos de antivirus:

<list>

<item><url id="http://www.clamav.net" name="Clam Antivirus">,
proporcionado en Debian <em>sarge</em> (actual distribución 3.1).
Se proporcionan paquetes tanto para el escáner de virus 
(<package>clamav</package>) como para el demonio escáner
(<package>clamav-daemon</package> y para los archivos de datos necesarios
para el escáner. Dado que mantener un antivirus actualizado es importante
para que funcione correctamente hay dos formas diferentes de obtener estos
datos: <package>clamav-freshclam</package> que proporciona una manera de actualizar
la base de datos a través de internet automáticamente y 
<package>clamav-data</package> que proporciona los archivos directamente.
<footnote>Si utiliza éste último paquete y está ejecutando una Debian oficial,
la base de datos no estará actualizada con las actualizaciones de seguridad.
Usted podría utilizar tanto <package>clamav-freshclam</package>, como 
<prgn>clamav-getfiles</prgn> para generar nuevos paquetes
 <package>clamav-data</package> o actualizar desde la localización de los 
desarrolladores:
<example>
  deb http://people.debian.org/~zugschlus/clamav-data/ /
  deb-src http://people.debian.org/~zugschlus/clamav-data/ /
</example>
</footnote>

<item><package>mailscanner</package> una pasarela de escáner de virus
en correo electrónico y detector de correo no deseado. Utilizando 
<package>sendmail</package> o <package>exim</package> como base, puede
usar más de 17 programas escáner de virus diferentes (incluido 
<package>clamav</package>)

<item><package>libfile-scan-perl</package>, que proporciona File::Scan,
una extensión de Perl para escanear ficheros en busca de virus. Este módulo
se puede utilizar para crear plataformas independientes de escáneres de virus.

<item><url id="http://www.sourceforge.net/projects/amavis"
name="Amavis Next Generation">, proporcionado en el paquete
<package>amavis-ng</package> y disponible en <em>sarge</em>, el cual es
un escáner de virus en correo que se integra con diferentes ATC (Exim, 
Sendmail, Postfix, o Qmail) y soporta alrededor de quince programas 
escáner de virus (incluido clamav, File::Scan y openantivirus).

<item><url id="http://packages.debian.org/sanitizer"
name="sanitizer">, una herramienta que utiliza el paquete
<package>procmail</package>, que escanea los adjuntos en correo en
busca de virus, bloquea los adjuntos basándose en su nombres,
y más.

<item><url id="http://packages.debian.org/amavis-postfix"
name="amavis-postfix">, un script que proporciona una interfaz entre
un agente de transporte de correo y uno o más escáneres comerciales de virus
(este paquete está construido con soporte para <prgn>postfix</prgn>
ATC solamente).

<item><package>exiscan</package>, un escáner de virus escrito en Perl que
funciona con Exim.

<item><package>sanitizer</package>, un escáner para correo que puede eliminar
adjuntos potencialmente peligrosos.

<item><package>blackhole-qmail</package> un filtro de correo no deseado
para Qmail con soporte integrado para Clamav.
</list>

<p>Algunos demonios de pasarela ya soportan herramientas para construir
entornos de antivirus que incluyen <package>exim4-daemon-heavy</package>
(la versión <em>pesada</em> del ATC Exim), <package>frox</package>
(un servidor proxy caché ftp transparente), 
<package>messagewall</package> (un demonio proxy de SMTP) y
<package>pop3vscan</package> (un proxy transparente de POP3).

<p>Cómo puede ver, Debian actualmente no proporciona programas escáner
de antivirus en la distribución oficial principal (3.0 en el  momento de
escribir esto) pero si proporciona muchas interfaces para construir 
pasarelas de antivirus. El escáner <package>clamav</package> se proporcionará
en la siguiente publicación oficial.

<p>Algunos otros proyectos de antivirus libres que podrían incluirse en futuras
publicaciones de Debian GNU/Linux:

<list>

<item><url id="http://sourceforge.net/projects/openantivirus/" name="Open
Antivirus"> ( ver 
<url
id="http://bugs.debian.org/150698" name="Bug #150698 (ITP oav-scannerdaemon)"> 
y <url id="http://bugs.debian.org/150695" name="fallo #150695 (ITP oav-update)">
).
</list>

<p>ARRÉGLAME: ¿Hay un paquete que proporcione un script para descargar las
últimas firmas de virus desde
<url id="http://www.openantivirus.org/latest.php">?

<p>ARRÉGLAME: chequear si scannerdaemon es el mismo que el demonio escáner 
de open antivirus (leer los ITPs).

<p>En cualquier caso, Debian <em>nunca</em> proporcionará programas
antivirus comerciales tales como: Panda Antivirus,
<!-- 
<url
id="http://www.pandasoftware.com/com/linux/linux.asp" name="Panda
Antivirus">,
<url
id="http://www.networkassociates.com/us/downloads/evals/"
name="NAI Netshield (uvscan)">, -->
NAI Netshield,
<url id="http://www.sophos.com/"
name="Sophos Sweep">, <url id="http://www.antivirus.com"
name="TrendMicro Interscan">, o <url id="http://www.ravantivirus.com"
name="RAV">. Para más indicaciones lea <url
id="http://www.computer-networking.de/~link/security/av-linux_e.txt"
name="mini PUF de software antivirus para Linux">. Esto no significa que 
este software no se pueda instalar correctamente en sistemas Debian.

<p>Para más información sobre como establecer un sistema de detección de virus
lea el artículo de Dave Jones <url
id="http://www.linuxjournal.com/article.php?sid=4882" name="Construir un 
sistema de detección de virus en correo electrónico para su red">.


<sect id="gpg-agent">Agente GPG

<p>Actualmente es muy habitual firmar digitalmente (y a veces cifrar) el
correo electrónico. Usted quizá, por ejemplo, haya encontrado que mucha 
gente que participa en listas de correo firma sus correos de la lista.
Las firmas con clave pública son actualmente el único medio de verificar que
un correo electrónico fue enviado por el remitente y no por cualquier otra
persona.

<p>Debian GNU/Linux proporciona un número de clientes de correo con 
capacidad de firmar correo electrónico que interacciona tanto con 
<package>gnupg</package> como con <package>pgp</package>:

<list>
<item><package>evolution</package>.
<item><package>mutt</package>.
<item><package>kmail</package>.
<item><package>mozilla</package> o Thunderbird (proporcionado en el
paquete <package>mozilla-thunderbird</package>) si el accesorio
<url id="http://enigmail.mozdev.org/" name="Enigmail"> está
instalado, el cual se proporciona con <package>mozilla-enigmail</package>
y <package>mozilla-thunderbird-enigmail</package>.

<item><package>sylpheed</package>. Dependiendo de la evolución de la
versión estable de este paquete, usted podría necesitar la versión
<em>bleeding edge</em> (N. del T., versión más inestable),
 <package>sylpheed-claws</package>.

<item><package>gnus</package>, que cuando se instala con el paquete
<package>mailcrypt</package>, es una interfaz de <prgn>emacs</prgn> para
<prgn>gnupg</prgn>.

<item><package>kuvert</package>, el cual proporciona ésta funcionalidad
independientemente del agente de usuario de correo (AUC) que elija para
interactuar con el agente de transporte de correo (ATC).

</list>

<p>Los servidores de claves le permiten descargar las claves públicas
publicadas de forma que usted pueda verificar firmas. Un servidor de claves 
es <url id="http://wwwkeys.pgp.net">. <package>gnupg</package> puede traer 
automáticamente claves públicas que todavía no están en su anillo de claves.
Por ejemplo, para configurar <prgn>gnupg</prgn> para que utilice el anterior
servidor de claves, edite el fichero <file>~/.gnupg/options</file> y añada
la siguiente linea:

<footnote>
Para más ejemplos de como configurar <prgn>gnupg</prgn> revise
<file>/usr/share/doc/mutt/examples/gpg.rc</file>.
</footnote>
<example>
keyserver wwwkeys.pgp.net
</example>

<p>La mayoría de los servidores de claves están enlazados, así que cuando su
clave pública se añade a un servidor, la inserción se propaga a todos los
demás servidores de claves públicas. También hay un paquete de Debian GNU/Linux
<package>debian-keyring</package>, que proporciona todas las claves públicas 
de los desarrolladores de Debian. Los anillos de claves de <prgn>gnupg</prgn>
se instalan en <file>/usr/share/keyrings/</file>.

<p>Para más información:

<list>

<item><url ID="http://www.gnupg.org/faq.html" name="PUF de GnuPG">.

<item><url ID="http://www.gnupg.org/gph/en/manual.html" name="manual de
GnuPG">.

<item><url
ID="http://www.dewinter.com/gnupg_howto/english/GPGMiniHowto.html"
name="Mini cómo de GnuPG (Inglés)">.

<item><url ID="http://www.uk.pgp.net/pgpnet/pgp-faq/"
name="PUF de comp.security.pgp">.

<item><url ID="http://www.cryptnet.net/fdp/crypto/gpg-party.html"
name="CÓMO de fiestas de firma de claves">.

</list>
