You are on page 1of 4

Seguridad Bsica en Linux

El objetivo es dar a conocer los mecanismos mnimos para asegurar un sistema Linux.

Recomendaciones generales
Los primeros pasos para asegurar su sistema Linux son:
1. Verifique las fuentes, es decir verifique que los medios que va a usar para la instalacin no estn
corruptos. Esto se puede realizar por medio del md5sum, debe tomar en cuenta que el archivo que
use para verificar estos hash debe estar firmado.
2. Dimensione las particiones de un tamao adecuado a sus necesidades.
3. Instale slo lo que necesite.
4. Si la distribucin que est instalando posee un firewall instlelo y configrelo correctamente.
5. Utilice un password para root con la complejidad apropiada
6. Utilice el shadow para sus contraseas
7. No instale paquetes de los cuales duda de su procedencia
8. No permita en lo posible el acceso como root en los terminales
9. Evite el uso de los comandos r (Ej. rlogin, rsh.)
10. No permita que se ejecuten servicios que no est utilizando.
11. Revise los permisos y la propiedad de los archivos de configuracin del sistema y los servicios.
12. Mantenga actualizado los parches de su sistema.

Desarrollo Prctico
Parte 1. Servicios en ejecucin
En esta seccin el objetivo es detener los servicios en ejecucin que no se estn utilizando.
a)

Una vez instalado su sistema debe comenzar por revisar que puertos estn abiertos, para ello
utilice nmap (o el nmapfe) con esto se podr determinar qu servicios de red se estn ejecutando:
#nmaplocalhost
StartingNmap4.62(http://nmap.org)at2010100523:23BOT
Interestingportsonlocalhost(127.0.0.1):
Notshown:1711closedports
PORT
STATE SERVICE
22/tcp open
ssh
25/tcp open
smtp
80/tcp open
http
111/tcp
open
rpcbind
Nmapdone:1IPaddress(1hostup)scannedin0.249seconds

Estos son los puertos abiertos en la mquina que se ha rastreado. Recuerde que puede ser vctima
de un engao
b) Para determinar que otros servicios estn corriendo debe saber que nivel de ejecucin (runlevel)
est utilizando, para esto use el comando runlevel y liste los servicios que arrancan y se
detienen en el nivel 2:
#runlevel
N2
1

Material distribuido en WALC 2014, Universidad Eloy Alfaro, Manta, Ecuador


Pg. 1 de 4

Estos son los servicios que se ejecutan en el nivel de arranque 2.


#ls/etc/rc2.d/
README
S16ssh
S20openbsdinetd
S91apache2 S99stopbootlogd
S10rsyslog
S20exim4 S89atd
S99rc.local
S12acpid
S20nfscommon
S89cron S99rmnologin

c)

Para impedir que los servicios que no se estn utilizando se ejecuten utilice el comando updaterc.d (Ejemplo):
#updaterc.dfexim4remove
updaterc.d:/etc/init.d/exim4existsduringrc.dpurge(continuing)
Removinganysystemstartuplinksfor/etc/init.d/exim4...
/etc/rc0.d/K20exim4
/etc/rc1.d/K20exim4
/etc/rc2.d/S20exim4
/etc/rc3.d/S20exim4
/etc/rc4.d/S20exim4
/etc/rc5.d/S20exim4
/etc/rc6.d/K20exim4

Note que sus resultados pueden diferir debido a que tiene otros servicios ejecutndose.
d) Una vez que se impida el arranque de estos servicios hay que detenerlos (Ejemplo):
#/etc/init.d/exim4stop
StoppingMTA:exim4_listener

e)

Una vez realizado este paso revise nuevamente su mquina con el nmap y revise su directorio
/etc/rc2.d/. Recuerde que slo debe dejar activos los servicios que va a utilizar.

f)

Qu sucede si usted desea determinar qu demonio est escuchando conexiones de red por un
determinado puerto? Discuta su respuesta.

Parte 2. Instalacin de un firewall bsico


Construya o instale un firewall:
a)

Primero revise cuales reglas de firewall tiene su mquina activa


#iptablesL

b) Realice ping a la mquina virtual


#pingLAIPDESUMAQUINAVIRTUAL

Para configura las reglas de iptables debe usa polticas por omisin tales como:
iptablesPINPUTDROP
iptablesPOUTPUTDROP
iptablesPFORWARDDROP

c)

Coloque estas reglas bsicas


#iptablesAINPUTilojACCEPT
#iptablesAOUTPUTolojACCEPT
#iptablesAOUTPUTpALLmstatestateESTABLISHED,RELATEDjACCEPT
#iptablesAOUTPUTpTCPd0.0.0.0/0destinationport22mstatestate
NEWjACCEPT
#iptablesAOUTPUTpTCPd0.0.0.0/0destinationport80mstatestate
NEWjACCEPT
#iptablesAOUTPUTpUDPd0.0.0.0/0destinationport53jACCEPT
#iptablesAINPUTpALLmstatestateESTABLISHED,RELATEDjACCEPT
#iptablesAINPUTptcps0.0.0.0/0destinationport80mstatestateNEW
jACCEPT
#iptablesPINPUTDROP
#iptablesPOUTPUTDROP
#iptablesPFORWARDDROP

d) Realice nuevamente ping a la mquina de su compaero. Que resultado obtuvo.


Pg. 2 de 4

Parte 2.1 Parmetros del kernel


Adicionalmente a las reglas de Firewall que pueda configurar en su mquina se recomienda configurar las
opciones de red del kernel al momento del encendido.
a)

Edite el archivo /etc/sysctl.conf y quite el comentario las siguientes lneas:


net.ipv4.conf.all.rp_filter=1
net.ipv4.tcp_syncookies=1net.ipv4.ip_forward=0
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.all.send_redirects=0
net.ipv4.conf.all.log_martians=1
net.ipv4.conf.all.accept_source_route=0

b) Ejecute el comando sysctlp


#sysctlp

Parte 2.2 Golpeo de puertos (Port knocking)


El golpeo de puertos o port knocking es un mecanismo para abrir puertos en un firewall mediante una
secuencia preestablecida de intentos de conexin a puertos que se encuentran cerrados. Una vez que el
firewall recibe la secuencia de conexin correcta, sus reglas son modificadas para permitir a la IP que
realiz los intentos conectarse a un puerto especfico.
a)

Instale el paquete del portknocking


#aptitudeinstallknockd

b) Edite el archivo de configuracin para permitir que el servicio arranque .


La tcnica de golpeo de puertos es sumamente til para agregar un elemento de seguridad
adicional a servicios como SSH.
#nano/etc/default/knockd
#controlifwestartknockdatinitornot
#1=start
#anythingelse=don'tstart
START_KNOCKD=1
#commandlineoptions
#KNOCKD_OPTS="ieth0"

c)

Edite el archivo de configuracin para de las reglas del paquete knockd


#nano/etc/knockd.conf
[options]

logfile=

/var/log/knockd.log
[openSSH]
sequence=7001,8001

seq_timeout=25

command=/sbin/iptables

AINPUTs%IP%ptcpdport22jACCEPT tcpflags=syn
[closeSSH]

sequence=9000,8000

seq_timeout=25

command=

/sbin/iptablesDINPUTs%IP%ptcpdport22jACCEPT

tcpflags=

syn

d) Arranque el servicio para comenzar a utilizarlo


Por favor note que para probar deber hacer el golpeo desde otra estacin.
#/etc/init.d/knockdstart

e)

Para abrir el puerto de la maquina destino se debe enviar la secuencia de apertura


#knockvIPdelamaquinadestino70018001
Pg. 3 de 4

f)

Una vez enviada la secuencia de apertura se procede a establecer la conexin SSH


#sshIPdelamaquinadestino

g) Compruebe que puede que sucede luego de la secuencia de apertura


h) Se pueden observar la bitcora de la apertura con el comando
#tail/var/log/knockd.log

Parte 3.Configuracin del TCP Wrappers


Para configurar el TCP Wrappers los archivos de configuracin son el /etc/hosts.allow y el
/etc/hosts.deny
a)

En el archivo /etc/hosts.allowconfigure su mquina para slo aceptar conexiones ssh


desde su red:
#vi/etc/hosts.allowsshd:
192.168..X.Y/255.255.255.Z

Cambie las IP a los valores que corresponda.


b) Para negar el acceso a el resto de los servicios escriba en el /etc/hosts.deny
#vi/etc/hosts.deny
ALL:ALLexcept127.0.0.1:Deny

Parte 4. Bsqueda de rootkits


Los rootkit son herramientas que tiene como finalidad esconderse a s misma y esconder a otros
programas, procesos, archivos, directorios, llaves de registro, y puertos que permiten a un intruso
mantener el acceso a un sistema para remotamente poder ejecutar acciones o extraer informacin.
a)

Instalar los buscadores de rootkits


#aptitudeinstallchkrootkitrkhunter

b) Ejecutar el chkrootkit y analizar la salida (esta operacin tomara varios minutos)


#chkrootkit
c)

Actualizar el rkhunter y ejecutarlo (esta operacin tomara varios minutos)


#rkhunterupdate
#rkhuntercsk

d) Discuta los resultado obtenidos


e)

Puede revisar la bitcora del rkhunter con el siguiente comando


#more/var/log/rkhunter.log

Pg. 4 de 4

You might also like