
<chapt>Antes del compromiso

<sect id="intrusion-detect">Montar el descubrimiento de intrusión

<p>Debian incluye algunas herramientas para detectar intrusiones, las
cuales usted quisiera configurar para montar la defensa de su sistema
local (si es verdaderamente paranoico o si su sistema es realmente
crítico) o para defender otros sistemas en la misma red.

<p>Siempre debe darse cuenta que para mejorar realmente el sistema de
seguridad con la introducción de algunas de estas herramientas, usted
necesitara tener un mecanismo de alerta+respuesta, pero no use el
descubrimiento de intrusión si usted no va a alertar a nadie (i.e. no
malgaste su tiempo configurando cosas que mas tarde no usara).

<p>La maryoría de herramientas de descubrimiento de intrusión sera
también registrada bajo syslog o enviará mensajes hacia el usuario
root. (muchos de ellos pueden ser configurados para enviar correo a
otros usuarios) con respecto al particualar ataque que ha sido
detectado. Un administrador tiene que configurarlos apropiadamente,
para que los falsos-positivos no envíen alertas y a las alertas
también se tengan en cuenta apropiadamente. Las alertas pueden
indicar un ataque en curso y puede no ser útil, por ejemplo, que un
dia mas tarde, después del ataque exitoso este sea descubierto. Para
estar seguro que una política es apropiada sobre la dirección de
alertas y para que los mecanismos técnicos se puedan implementar y
estén en su sitio.

<p>Una interesante fuente de información es <url
id="http://www.cert.org/tech_tips/intruder_detection_checklist.html"
name="CERT's Intrusion Detection Checklist">

<sect1>Detección de intrusos basadas en Red

<p><package>snort</package> es un flexible paquete de sniffer o logger
el cual detecta ataques usando un ataque de asignatura. Este detecta
una variedad de ataques y examinaciones, tales como buffer overflows,
stealth pot scans, ataques CGI, examinaciones SMB y más. Snort tiene
la capacidad de alertar en tiempo real. Esta es una herramienta la
cual debe ser instalada sobre toda ruta para mantener un ojo sobre su
red. Ya instalado <tt>apt-get install snort</tt>,siga las preguntas
y obseve su registro.

<p>Snort en Debian está habilitado con muchos chequeos de seguridad
los cuales usted debe solicitar, sin embargo, usted debe personalizar
el montaje para tomarlo dentro de las consideraciones de servicios
particulares en donde usted avanza sobre su sistema. Usted también
tiene que solicitarlo para recuperar los chequeos adicionales y asi
especificar estos servicios.

<p>Usted también puede usar ambos <prgn>snort</prgn> para establecer
detención de red para un rango de servidor en su red como también
detecta ataques de red sobre su propio servidor.

<p>Hay otras herramientas que pueden ser usadas para detectar ataques
de red (aunque mas simples). <package>Portsentry</package> es otro
interesante paquete que puede sugerir su aislamiento cuando una
examinación es hecha hacia su site. Otras herramientas como
<package>ippl</package> <package>iplogger</package> también detectaran
ataques de IP (TCP Y ICMP), igual que si ellos no suministraran
técnicas avanzadas para la detención de ataques de red. (como lo hace
snort).

<p>Usted puede evaluar cualquiera de estas herramientas con el
programa <prgn>idswakeup</prgn>, un generador falso-positivo que
alerta los NIDSs con plenitud de considerar ataques comunes
disponibles en Debian.

<sect1>Servidores basados en la detención 

<p><package>Tiger</package> es una vieja herramienta de intrusión de
detención la cual ha sido soportada por Debian desde la distribución
de woody. Tiger suministra la forma de revisar asuntos comunes
relatados para los rompimientos de seguridad, passwords, problemas en
archivos del sistema, procesos de comunicación ... La versión de Debian
incluye nueva seguridad específica para Debian: MDSsums da suministros
binarios y también revisa los ya instalados y los paquetes
vulnerables. La falta de instalación hace que <prgn>tiger</prgn>
avance cada día y génere un reporte el cual es enviadao hacia el super
usuario. Los reportes generados pueden darse a través de la
información de un cuidadoso compromiso del sistema.

<p>Hay también un número de registros de auditorias de herramientas,
en el site, como logcheck. Estas herramientas pueden ser absolutamente
usables si se garantiza propiamente para alertar al administrador
sobre eventos inusuales en el sistema de archivos locales.

<package>logcheck</package>. pude ser enteramente garantizado, pude
enviar mensajes desde eventos recuperados y desde los registros que
son meritorios de atención. El abandono de instalación incluye
perfiles para eventos ignorados y violaciones políticas para tres
diferentes montajes (estación de trabajo, servidor y paranoia). Los
paquetes de Debian incluyen un archivo de configuración
<file>/etc/logcheck/logcheck.conf</file>, dirigido por el programa,
que define al usuario y que también revisa sus envios. También
suministra una forma de paquete que provee servicios para implementar
nuevas políticas en los directorios: 

<file>/etc/logcheck/hacking.d/_packagename_</file>,
<file>/etc/logcheck/violations.d/_packagename_</file>,
<file>/etc/logcheck/violations.ignore.d/_packagename_</file>,
<file>/etc/logcheck/ignore.d.paranoid/_packagename_</file>,
<file>/etc/logcheck/ignore.d.server/_packagename_</file>, and
<file>/etc/logcheck/ignore.d.workstation/_packagename_</file>. Sin embargo, no 
muchos paquetes lo hacen actualmente. Si usted tiene una política que puede ser 
útil para otros usuarios , por favor envielo como un pequeño reporte para los 
paquetes apropiados, mire mas información en 
<file>/usr/share/doc/logcheck/README.Debian</file><p>también algunos de los 
chequeadores de archivo de sistemaintegrados (mire en <ref id="check-integ">) 
puede ser absolutamenetutil para montar la detención de anomalias en un medio 
asegurado. Unaintrusión efectiva, muy seguramente, modificara los archivos en el
sistema de archivos locales en orden para salvar las políticas de
seguridad local. Instala troyanos, crea usuarios...Este evento puede
ser detectado con ellos.

<sect id="kernel-patches">Parches útiles del núcleo

<p>ARREGLAME: Las secciones necesitan como cubrir los parches específicos
que pueden ser instalados en Debian usando el paquete del
kernel-2.x.x-patch-XXX. </p>

<p>Hay algunos parches de núcleos, las cuales incrementan
significativamente los sistemas de seguridad. Aqui hay algunos de
ellos: <p>

<list>

<item>OpenWall patch de Solar Designer. Ésta es una serie útil de
restricciones de parches, como enlaces, FIFOs in <file>/tmp</file>,
restringidos <file>/proc</file>,un archivo manejado por descriptor
especial, sin el área de un grupo de usarios y otros mas.
homepage:<url name="http://www.openwall.com/linux/"
id="http://www.openwall.com/linux/">

<item><em>LIDS &mdash; Intrusión de detención del sistema Linux por
Huagang Xie &amp; Philippe Biondi</em>. Este parche hace que el
proceso duro de creación de Linux sea mas fácil. Usted puede
restringir todos los procesos, dar lo adecuado para escrbir o leer
archivos, o remover, por fallas, y para tener la habilidad de leer
archivos. Además usted también puede capacitarlos para procesos
certeros. Aunque este permenece en la fase beta, este es casi uno de
los sistemas de administrador paranoico. The Homepage: <url
name="http://www.lids.org" id="http://www.lids.org">

<item><em>POSIX Control a acceso de listas. Access Control Lists
(ACLs) para Linux</em> este parche se suma al control de acceso de
listas, un avanzado metodo para restringir accso de listas, hacia el
núcleo de Linux Homepage: <url name="http://acl.bestbits.at/"
id="http://acl.bestbits.at/">

<item><em>Consejo de administrador en linux</em>. Este parche se suma
al decente avance de permisos del sitema para su núcleo de Linux.
Todos los objetos son surtidos en la memoria del núcleo. Homepage: <url
name="http://trustees.sourceforge.net/"
id="http://trustees.sourceforge.net/">

<item><em>Parches internacionales del núcleo</em>. Ésta es una cripta
orientada a los parches del núcleo. Ademas usted tiene que prestar
atención a sus leyes locales con respecto al uso de la criptografia.
Basicamente se suma la posibilidad de usar sistemas de archivos
encriptados. Homepage: <url name="http://www.kerneli.org"
id="http://www.kerneli.org">

<item><em>SubDomain</em>. Es una extención del núcleo para crear mas
seguridad y fácilidades para montar chroot en su medio. Usted puede
especificar los archivos necesarios para el servicio manual de
chrooted y para no compilar los servicios estaticamente. Homepage:
<url name="http://www.immunix.org/subdomain.html"
id="http://www.immunix.org/subdomain.html">

<item><em>UserIPAcct</em>. Este no es realmente un parche de seguridad
relatado, pero le permite crear cuotas para el tráfico sobre su
servidor por usuario. Y usted puede traer estadisticas acerca del
tráfico del usuario. Homepage: <url
id="http://ramses.smeyers.be/useripacct">.

<item><em>FreeS/WAN</em>. Si usted quiere usar IPSec con Linux usted
necesita este parche. Usted puede crear VPNs con esta facilidad, igual
para las máquinas de windows, como IPSsec el cual es un estandard
común. Homepage: <url id="http://www.freeswan.org">

</list>

<sect>Evitando rootkits
<p>

<sect1 id="LKM">LKM - Loadable Kernel Modules (módulos cargables en el núcleo)

<p>LKM (Loadable Kernel Modules) son archivos que contienen
dinamicamente modulos caragables del núcleo. Ellos son
dinámicamente cargables en el núcleo para avanzar en tareas asignadas.
SobreGNU/Linux son usadas para expandir la funcionalidad del núcleo.
se pueden tomar grandes ventajas usando LKMs, como habiamos dicho,
ellospueden ser dinamicamente cargables sin la recopilación del
núcleo total, puede ser usado para especificar dispositivos de drivers
(o archivos del sistema) y otros drives de hardware como tarjetas
de sonido, tarjetas de red. Pero algunos crackers deben usar LKMs
para rootkits (knark y adore) para instalar puertas traseras en los
sistemas de GNU/Linux.

<p>LKM rootkits pueden esconder procesos, archivos, directorio y las
mismas conexiones sin modificar el origen de códigos binarios.
Porejemplo, <prgn>ps</prgn> puede tomar procesos de información
desde<file>/proc</file>, un malicioso LKM puede derrocar el núcleo
paraesconder el proceso especifico desde procfs, pero no siempre una
buenacopia de binarios <prgn>ps</prgn> deben alistar todos los
procesos correctos de información.

<sect1>Detector de rootkits.

<p>El trabajo detector puede ser simple y doloroso, o difícil y
agotador, depende de la medida que escoja. Hay dos medidas de defensa
con respecto a la seguridad LKM, la proactiva y reactiva.

<sect2>Defensa proactiva.

<p>La ventaja de esta defensa es que previene algunos daños lkm
rootkit del sistema. La defensa proactiva mas usada es "obteniendo el
primero", este está caragando un diseño LKM para proteger los daños
de un sistema ocasionados por un diseño malicioso. Hay otra medida
para eliminar las capacidades en el núcleo, haciendo el sistema mas
seguro. Por ejemplo, usted remueve la capacidad para detener la carga
y la descarga del módulo del núcleo.

<p>Sobre el sistema de Debian usted puede encontrar algunos paquetes
los cuales son una herramienta proactiva mas segura.

<list>

<item> <package>kernel-patch-2.4-lsm</package> - LSM son los modulos
de seguridad de la estructura Linux.

<item> <package>lcap</package> - Remueve las capacidades en el núcleo,
haciendo del sistema mas seguro.

</list>

<p>Si usted realmente no necesita muchas caracteristicas del núcleo
sobre su GNU/Linux usted tiene que solicitar modulos de soporte
caragables incapacitados durante la configuración del núcleo. Este
previene LKM rootkits, pero usted no debe usar las caracteristicas del
modulo del núcleo sobre su GNU/Linux. Fijese que indiscapacitando los
modulos caragables usted puede sobrecargar el núcleo, en ocasiones no
es necesario.

<p>Para indiscapacitar los modulos de soporte cargables, solo valla a
CONFIG_MODULES=n on <file>.config</file>.

<sect2>Defensa Reactiva.

<p>La ventaja de la defensa reactiva es que tiene una sobrecarga en
los recursos del sistema. Este trabaja comparando el sistema de
llamadas tabulando con una copia limpia conocida en el archivo de un
diskette. La mas obvia desventaja es llamada para el único
administrador cuando el sistema no ha sido comprometido.

<p>El detector de rootkits en Debian puede ser consumado con
<package>chkrootkit</package>. Este programa revisa signos de rootkits
sobre el sistema local y si el objetivo del computador es infectado
con un rootkit.

<p>Usted también puede usar <url name="SKAT"
id="http://s0ftpj.org/en/site.html">. SKAT revisa el area de memoria
del núcleo a (<file>/dev/kmem</file>) para información acerca del
objetivo del servidor, esta información incluye la instalación de
modulos cargables del núcleo.

<P>ARREGLAME: información adicional sobre como compilar el soporte del
nrúucleo w/o lkm.


<sect>Ideas geniales/paranóicas &mdash; qué debe hacer


<p> Ésta es probablemente la más inestable y divertida sección, ya que
espero que algunas de de los "duh. ideas locas del sonido" puedan ser
realizadas. Siguiendo aqui usted debera encontrar algunas ideas
&mdash;esto depende del punto de vista en donde usted observe si ellos
son genios, paranóicos, locos o si pueden dar una garantía &mdash;
para incrementar su seguridad rápidamente usted no deberá venir y
sacarlo ileso. 


<list>

<item>Jugando alrededor con PAM. Como se dijo en el articulo phrack
56 PAM , lo agradable con PAM es que "usted está limitado únicamente
por lo que pueda pensar" es verdad, imagine la raíz del inicio de
sesión únicamente posible con revisión de impresión o eyescan o
cryptocard (porque yo aqui hago una conjunción OR y no AND). 

<item>Iniciación de sesión fascista. Yo diria que que todo lo que
nosotros hemos hablado acerca de login es "un sueve inicio de sesión".
si usted quiere ejecutar una sesión real, tome una impresora con papel
fanfold y registre todo lo complicado para imprimir sobre el.Los
sonidos divertidos, son confiables y no pueden ser removidos.

<item>Distribución de CD. Esta idea es muy fácil de realizar y ofrece
muy buena seguridad. Crear una distribución de un endurecido Debian,
con propias reglas de barrera, hace imagenes ISO de este y surgen
sobre un CD. lo hace iniciable. Ésta es una lectura única de
distribución con cerca de 600 MB para servicios, y es imposible para
introductores y asi poder empezar a leer/escribir el acceso sobre el
sistema. Solo asegurese siempre de los datos los cuales deben
escribirse sobre "wires". De todas formas, el introductor no puede
cambiar las reglas de barreara, distribuyendo entrdas o iniciar
propios demonios. (el tiene la capacidad, ya que reinicia y tiene que
manejar su sitema de nuevo para cambiarlos) 

<item>El Switch de capacidad del modulo apagado. Cuando desconecta el
uso de modulos del núcleo en un tiempo compilado del núcleo, muchos
núcleo se basan en puertas traseras imposibles para poder
implementarlas, ya que muchos de ellos estan basados en la instalación
de modulos modificados del núcleo.

<item>Entrando a través del cable serial (contribuido por Gaby
Schilders). Dado que que los servidores aun tienen puertos en serie,
imagínese tener una máquina de registro de bitácoras desconectada de
su red en la mitad con un puerto serial multiplexor (antiquisimo o
algo similar). Ahora todos sus servidores registrando a sus puertos
seriales. Con sólo escritura. la máquina de registo únicamente acepta
texto plano como entrada sobre sus puertos seriales y únicamente
escribe en un archivo de registro. Enganche un cd/dvd writer. Cuando
el registro del archivo está cerca de 600&nbsp;MB lo copia al cd-rom.
Ahora si pudieran hacer quemadoras con auto-cambiadores ... No copia
tan dura como la impreosra, pero que puede manejar largos volúmenes y
los cd no toman mucho espacio de almacenamiento. 

<item>Haga que todo sea inmutable (tomado desde Tips-HOWTO, escrito
por Jim Dennis). Despues de que usted instale y configure su sitema
dirigase a través de <file>/bin</file>, <file>/sbin/</file>,
<file>/usr/bin</file>, <file>/usr/sbin</file> y <file>/usr/lib</file>
(y un poco de otros inusuales sospechosos) y hagalo en uso liberal de
<prgn>chattr +i command</prgn>. también se suma en la raiz de archivos
del núcleo. Ahora <prgn>mkdir /etc/.dist/</prgn> copia todo desde
<file>/etc/</file> de la parte interior (Lo hago en dos pasos usando
<file>/tmp/etcdist.tar</file> para evitar la recurrencia) dentro del
directoro (opcionalmente usted puede crear
<file>/etc/.dist.tar.gz</file>) y marquelo como inmutable. 


<p>La razón para todo es limitar el daño que usted pueda ocasionar
cuando se registyra como root. Usted no podra sobreescribir archivos
con un desviado operador de redirecciones, usted no podra hacer del
sitema algo inusual con un desviado espacio dentro de un comando
<prgn>rm -fr</prgn> (usted puede permancer haciendo lo suficiente con
los daños de sus datos &mdash: pero sus libs y bins estaran seguros).

<p>Ésta también emplea una variedad de seguridad y rechazo de
servicios de cualquier imposible explosión o algo de mayor dificultad
(ya que muchos de ellos confian en sobre copiar archivos a través de
las acciones de algun programa SUIDque <em>no suministra
arbitrariamente una interfase de comandos</em>)

<p>El único inconveniente de este es cuando se construye y se hace su
<prgn>make install</prgn> sobre varias clases de sistemas binarios.
Sobre la otra mano también previene la instalación desde los archivos
sobre escritos. Cuando usted olvida leer el Makefile y chattr -i los
archivos que pueden ser sobre escritos fallan con el make (y los
directorios para los cuales usted necesita para añadir archivos),
usted solo use el comando chattr y regrese. Usted también puede tener
la oportuinidad de mover sus viejos bins, libs o lo que sea dentro de
un old/directory o puede renombrar, marcar o lo que sea.

<p>Note que esto lo previene de hacer una actualización de los
paquetes de su sistema. Dado que los archivos que ellos suministran no
pueden ser sobre escritos, y usted debe tener un mecanismo para
desactivar la bandera de inmutable sobre todos los binarios antes de
un <prgn>apt-get update</prgn>.

</list>


<sect1>Construyendo un equipo trampa
 
<p>ARREGLAME. Mas contenido específico necesario para Debian

<p>Si usted desea (y también puede implementarlo y dedicarle tiempo)
usted puede mintar todo un equipo trampa (del inglés, <em>honeypot</em>
<footnote>N.T. es un equipo fácil de
acceso el cual permite al acceso de crackers</footnote>)
usando un sistema de Debian GNU/Linux. Usted tiene todas las 
herramientas necesarias en orden para
montar toda la red trampa (N.T. del inglés <em>honeynet</em>, el
<em>honeypot</em> es sólo el servidor falso):
el cortafuegos, los detectores de intrusión y el servidor falso.
Sea cuidadoso. Sin embargo, tiene que estar bien seguro de
que sea alertado a tiempo (vea "la importancia del registro y las
alertas" en la pagina 36 <ref id="log-alerts">), usted debe tomar la
medida apropiada y terminar el compromiso tan pronto como haya visto
suficiente. Los siguientes paquetes le pueden ser de utilidad:

<list>

<item>la tecnología del cortafuegos usted la debera necesitar
(suministrado por Linux Kernel).

<item><package>syslog-ng</package> para enviar el registro desde el
honeypot hacia una máquina de servidor remota.

<item><package>snort</package> para montar la captura de todo la
llegada del trafico de red para honeypot y para detectar ataques.


<item><package>osh</package> el cual puede ser usado para montar una
restricción de comandos de interfase con el inicio de sesión (mire el
bajo Lnce Spitzener).

<item>Claro que si, todos los servidores para su falso servidor
honeypot usted se los puede imaginar (pero no haga duro el
<em>not</em> honeypot)).

<item>y también los falsos servicios, suministrados por
<package>dtk</package> si usted necesita usar el honeypot también como
un servicio de detección de intrusión.

<item>Chequeadores integrales (vea <ref id="check-integ">) y los
toolkit de Coroners y (<package>tct</package>) para hacer una
auditoria de post ataque.

</list>

<p>Usted puede leer más acerca de la construcción de honeypots en el
excelente artículo de Lanze Spitzner para construir un honeypot<url
id="http://www.net-security.org/text/articles/spitzner/honeypot.shtml"name="To
Build a Honeypot"> (desde las serie conocidad de su enemigo), o la
construcción de su propio honeypot de David Raikow <url
id="http://www.zdnetindia.com/techzone/resources/security/stories/7601.htm
"name="Building your own honeypot">. también el proyecto de honeynet
<url id="http://project.honeynet.org/" name="Honeynet Project"> es
dedicado para la construcción de honeypots y auditorias de ataques
hechos para ellos, ésta es una información valios sobre como montar un
honeypot y resultados de auditoría de un ataque (mire el concurso).

