Вы находитесь на странице: 1из 73

ndicedecontenido

UNIDAD1RENDIMIENTOYSEGURIDADDELSISTEMA..............................................................5
Losrecursosdelsistemacomoservicios...............................................................................................6
Laseguridadcomoprincipio.................................................................................................................6
Laseguridadenlapractica....................................................................................................................6
Polticadeseguridad:Laspersonas,Lossistemas...............................................................................7
Estrategiasderespuesta.........................................................................................................................7
Fallosybrechasdeseguridad................................................................................................................7
Mtododeanlisisdefallos..................................................................................................................8
Analizarfallos:hiptesis,recopilarinformacin...................................................................................8
Losbeneficiosdemonitoreodelossistemas.........................................................................................8
Herramientasparamonitoreodelared..................................................................................................8
Lared,visinlocal,visinremota.........................................................................................................9
Analizarlossistemasdeficheros...........................................................................................................9
Permisosproblemticos.........................................................................................................................9
Monitoreodeprocesos.........................................................................................................................10
Herramientasparaelmonitoreodeprocesos.......................................................................................10
Generarinformesdelaactividaddelsistema......................................................................................10
Administrarprocesosdeusuarios........................................................................................................11
Ficherosdelogdelsistema..................................................................................................................11
Configurarsyslogdyklog...................................................................................................................11
Analizarficherosdelog.......................................................................................................................11
UNIDAD2ADMINISTRACINDECUENTASDEUSUARIOS......................................................12
Cuentasdeusuarios,informacindecuentas......................................................................................13
Cambiodeserviciodenombre(NSS),getent.....................................................................................13
PluggableAuthenticationModules(PAM),funcionamientodePAM................................................14
Ficheros/etc/pam.d/:comprobacionesyvaloresdecontrol................................................................14
Elficherosystemauth.........................................................................................................................15
pam_unix.so.........................................................................................................................................15
Autentificacinatravsdelared........................................................................................................16
Mdulosauth.......................................................................................................................................16
Seguridaddelascontraseas,polticasdegestindecontraseas......................................................16
Mdulossesin,Utilidadesdeautentificacin....................................................................................17
UNIDAD3CONTROLARELACCESOALOSSERVICIOSDELSISTEMA.................................18
Recursosdelsistemagestionadosporinit...........................................................................................19
Administrarlosscriptsdeiniciodelosservicios................................................................................19

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-1


Loficherosdeldirectorio/etc/sysconfig.............................................................................................19
Serviciosgestionadosporxinetd.........................................................................................................20
Controlesdeaccesopordefectodexinetd...........................................................................................20
Configurarserviciosxinetd..................................................................................................................20
Controlarelaccesoconxinetd,oconpatronesdenombresdemquinas...........................................21
Controlesdeaccesodeaplicacionesyservicios..................................................................................21
Configurartcp_wrappers,xinetdytcp_wrappers................................................................................21
Especificacindeldemonio,especificacindelcliente.......................................................................22
Definirmacros,opcionesextra............................................................................................................23
SELinux,contextosdeseguridaddeSELinux....................................................................................23
LapolticatargeteddeSELinux..........................................................................................................24
AdministrarSELinux,semanage.........................................................................................................24
TiposdeficherosdeSELinux..............................................................................................................24
UNIDAD4CONTROLARELACCESOATRAVSDELARED.....................................................25
Enrutamiento........................................................................................................................................26
PorquIpv6?,Ipv6enGnu/Linux....................................................................................................26
tcp_wrappersyIPv6............................................................................................................................27
Introduccinanetfilter,tablasycadenasennetfilter..........................................................................28
Flujodepaquetesennetfilter...............................................................................................................28
Encajedereglas,accionesdereglas....................................................................................................29
Operacionesbsicasconcadenas........................................................................................................29
Operacionesadicionalesconcadenas..................................................................................................30
Reglas:consideracionesgenerales.......................................................................................................30
Controldeconexiones.........................................................................................................................31
Traduccindedireccionesdered(NAT),ejemplosdeDNAT,deSNAT..........................................31
Persistenciadereglas...........................................................................................................................32
Ejemplode/etc/sysconfig/iptables......................................................................................................32
Ipv6eip6tables....................................................................................................................................33
UNIDAD5ASEGURANDOLOSDATOS............................................................................................34
Lonecesarioparacifrar.......................................................................................................................35
PasoapasoCifrado.............................................................................................................................35
GeneradordeNmerosAleratorios.....................................................................................................35
Losvaloreshashunava..................................................................................................................36
CifradoSimtrico.................................................................................................................................36
CifradoAsimtrico..............................................................................................................................37
InfraestructurasdeLlavesPublicas.....................................................................................................37
CertificadosDigitales..........................................................................................................................38

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-2


Generandocertificadosdigitales..........................................................................................................38
OpenSSH,Autentificacin..................................................................................................................38
ElservidorOpenSSH,configuracin..................................................................................................39
PerfildelservicioSSH.........................................................................................................................39
ElclienteOpenSSH,Forwardingdepuertos.......................................................................................40
AdministrandoLlaves..........................................................................................................................40
Aplicaciones:RPM..............................................................................................................................40
UNIDAD6ORGANIZACINDELOSSISTEMASDERED.............................................................41
Resolucindenombresdemaquina....................................................................................................42
AnalizarconsultasDNScondig,otrasobservaciones........................................................................43
Consultasdirectas,inversas.................................................................................................................43
Consultasdeservidoresdecorreo.......................................................................................................44
ConsultasSOA,datosSOA.................................................................................................................44
Autoridad.............................................................................................................................................45
Transferenciadedominios...................................................................................................................45
ExplorarDNSconhost........................................................................................................................45
IntroduccinalservidorDNS..............................................................................................................46
Perfildecontroldeacceso:BIND.......................................................................................................47
Configuracinbsicadenamed...........................................................................................................47
Configurarlaresolucinlocal.............................................................................................................47
Elpaquetebindchroot.........................................................................................................................48
Elpaquetecachingnameserver...........................................................................................................48
Listasdepatrones................................................................................................................................48
Listasdecontroldeacceso(ACL),ACLspredefinidas......................................................................49
Direccioneseinterfaces.......................................................................................................................49
Permitirconsultas................................................................................................................................50
Permitirrecursin................................................................................................................................50
Permitirtransferencias.........................................................................................................................50
ModificarelcomportamientodeBIND...............................................................................................50
Declararzonasslave............................................................................................................................51
Declararzonasmaster,delegarsubdominios.......................................................................................52
Crearficherosdezonas,concejossobreficherosdezonas.................................................................52
ProbarBIND,utilidadesdecomprobacindesintaxisdeBIND........................................................53
Demoniodecontrolremoto(rndc).......................................................................................................53
Delegacindesubdominios.................................................................................................................53
IntroduccinaDHCP,configurarunservidorDHCPIPv4.................................................................54
UNIDAD7SERVICIOSPARACOMPARTIRARCHIVOS................................................................55

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-3


Protocolodetransferenciadearchivos(FTP)......................................................................................56
NetworkFileService(NFS)................................................................................................................56
OpcionesdepuertosparaelFirewall...................................................................................................57
ServidorNFS,utilidadesNFS,clienteNFS........................................................................................57
ServiciosSamba,configurarSamba,elficherosmb.conf...................................................................58
Configurarficherosydirectorioscompartidos....................................................................................59
ImprimirconelservidorSamba..........................................................................................................59
Mtodosdeautentificacin,Contraseas............................................................................................59
UtilidadesdecomprobacindesintaxisdeSamba..............................................................................59
HerramientasdelclientedeSamba:smbclient,nmblookup,mounts..................................................60
MontarsistemasdeficherosSambacon/etc/fstab..............................................................................60
UNIDAD8SERVICIOSWEB................................................................................................................61
IntroduccinaApache,ConfigurarelservidorApache......................................................................62
Hostsvirtuales.....................................................................................................................................63
ConfigurarelcontroldeaccesodeApache.........................................................................................64
HerramientasdecomprobacindesintaxisdeApache.......................................................................64
Usarficheros.htaccess.........................................................................................................................64
MdulosimportantesdeApache.........................................................................................................65
CifradodecomunicacionesconApache..............................................................................................65
ProxycachconSquid.........................................................................................................................65
Parmetrostilesdelfichero/etc/squid/squid.conf.............................................................................65
UNIDAD9SERVICIOSDECORREOELECTRNICO...................................................................66
Fundamentosdelcorreoelectrnico....................................................................................................67
SimpleMailTransportProtocol(SMTP)............................................................................................67
CortafuegosySMTP...........................................................................................................................67
MailTransportAgents(MTA)............................................................................................................68
UtilizaralternativesparaseleccionarMTA.........................................................................................68
IntroduccinalaconfiguracindePostfix..........................................................................................68
Configuracindecorreoentrante/salientedepostfix..........................................................................69
AliasparacorreoentranteenPostfix...................................................................................................70
ReescrituradedireccionesparacorreosalienteenPostfix..................................................................70
RestriccionesSMTPenPostfix,funcionamientodePostfix...............................................................70
Procmail,unMailDeliveryAgent(MDA)..........................................................................................71
ControldeaccesoenProcmail,configuracindeProcmail................................................................71
Protocolosderecuperacindecorreo..................................................................................................72
ConfiguracindeDovecot...................................................................................................................72
ComprobarelfuncionamientodelprotocoloPOPy/oIMAP.............................................................73

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-4


UNIDAD 1 RENDIMIENTO Y SEGURIDAD
DEL SISTEMA

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-5


Los recursos del sistema como servicios
La infraestructura informtica est compuesta por roles
Sistemas que sirven
Sistemas que solicitan
La infraestructura del sistema se compone de roles
Procesos que sirven
Procesos que solicitan
La infraestructura de procesamiento se compone de roles
Cuentas que sirven
Cuentas que solicitan
Los recursos del sistema, y su uso, debe ser contabilizada como poltica de seguridad del
sistema

La seguridad como principio


reas de Seguridad
Fsica
Local
Remota
Personal

La seguridad en la practica
Por diseo, el sistema sirve recursos disponibles
Por poltica, el sistema conserva los recursos disponibles
El servidor/Host solo sirve lo que debe, y solo a quienes debe
"Es necesario o conocer del host esto?"
"Que necesitamos o conocemos del este acceso?"
"Esto coincide con los registros de comportamiento anteriores del sistema?"
"He aplicado todas las actualizaciones de seguridad pertinentes?"
Monitoreo de recursos del sistema en busca de vulnerabilidades y bajo rendimiento

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-6


Poltica de seguridad : Las personas, Los sistemas
Las personas
Gestin de las actividades humanas: incluye polticas de mantenimiento de seguridad
Quien esta a cargo de que?
Quien toma la decisin final sobre falsas alarmas?
Cuando se notifica la aplicacin de la ley?
Los sistemas
Gestin de las actividades del sistema
Sistema regular de monitoreo
Entrar a un servidor externo en caso de compromiso
Monitor de registro con logwatch
Monitor de uso de ancho de banda de entrante y saliente
Copias de seguridad regulares de datos del sistema

Estrategias de respuesta
Asumir la sospecha que el sistema es poco fiable
No ejecutar programas desde el sistema bajo sospecha
Arranque desde medios confiables para verificar intrusiones
Analice los registros del logger remoto y los registros "locales"
Verificar la integridad de los archivos contra un respaldo de la base de datos rpm en
modo solo lectura
Hacer una imagen de la maquina adems, para posterior anlisis/recoleccin-de-evidencia
Limpie la maquina, reinstalar y restaurar una copia de seguridad

Fallos y brechas de seguridad


Ambos afectan el rendimiento del sistema
El rendimiento del sistema es la preocupacin de seguridad
Una avera del sistema produce una falla de la infraestructura
Una falla de infraestructura produce oportunidades para acceso alternativos a recursos
Una oportunidad de accesos alternativos a recursos produce inexplicables accesos
Un inexplicable acceso a recursos es una incumplimiento de las polticas de seguridad

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-7


Mtodo de anlisis de fallos
Caracterizar el problema
Reproducir el problema
Buscar ms informacin

Analizar fallos: hiptesis, recopilar informacin


Hiptesis
Formular una serie de hiptesis
Seleccionar una hiptesis para verificar
Verificar la hiptesis
Tener en cuenta los resultados, entonces reformular o probar una nueva hiptesis, si es
necesario
Si la hiptesis ms fcil no dan resultado positivo, volver a caracterizar el problema
Recopilacin de informacin
comando strace
tail -f logfile
*.debug en syslog
opcin --debug en la aplicacin

Los beneficios de monitoreo de los sistemas


Rendimiento del sistema y seguridad se puede mantener con seguimiento regular del
sistema
Seguimiento del sistema incluye:
Monitoreo y anlisis de la red, vigilancia del sistema de archivos, vigilancia de
procesos, anlisis de los archivos de registros

Herramientas para monitoreo de la red


Interfaces de red (ip) Mostrar que interfaces estn disponibles en un sistema
Escaneo de puertos (nmap ) Mostrar que servicios estn disponibles en un sistema
Sniffers de paquetes (tcpdump , wireshark) Guarda y analiza todo el trfico de red visible
por el "sniffing" del sistema

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-8


La red, visin local, visin remota
Red, una visin Local
La utilidad ip
Llamados por los scripts de inicializacin
Mayor capacidad que ifconfig
Utilizar netstat -ntaupe para una lista de:
Servidores de red activos
Conexiones establecidas
Red, una visin remota
nmap reporta servicios activos en los puertos abiertos para los intentos de conexin remota
Avanzadas opciones de anlisis disponibles
Ofrece deteccin de sistema operativo remoto
Analiza sub-redes pequeas o grandes
No utilice sin el permiso por escrito del administrador del sistema escaneado!
Interfaz Grfica disponible (nmapfe )

Analizar los sistemas de ficheros


Un regular monitoreo del sistema de archivos puede prevenir:
Agotar los recursos del sistema
Infracciones a la seguridad debido a pobres controles de acceso
Monitoreo del sistema de archivos debera incluir:
Seguimiento de la integridad de los datos
Investigacin de archivos sospechoso
Utilidades: df, du

Permisos problemticos
Archivos sin propietarios conocidos pueden indicar acceso no autorizado:
Ubica archivos y directorios con ninguna entrada de usuario o grupo en archivo /etc/passwd:
find / \( -nouser -o -nogroup \)

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-9


Archivos/Directorios con "otros" con permisos de escritura (o+w) puede indicar un problema
Ubicar archivos con otros se puedan escribir:
find / -type f -perm -002
Ubicar directorios con otros se puedan escribir:
find / -type d -perm -2

Monitoreo de procesos
Monitor de procesos para determinar:
Una disminucin del rendimiento o si se ejecutan procesos sospechosos
Utilidades de seguimiento
top
gnome-system-monitor
sar

Herramientas para el monitoreo de procesos


top
Ver la actividad del procesador en tiempo real
De forma interactiva matar o renice procesos
Ver estadsticas actualizadas del sistema en el tiempo, en unidades o totales
Herramientas grficas de seguimiento del sistema:
gnome-system-monitor: Procesos de GNOME, CPU, y monitoreo de memoria
kpm: versin KDE de top

Generar informes de la actividad del sistema


Informes frecuentes, a travs del tiempo
cron genera sa1 y sa2
sar lee y genera registros amigables al humano
Comnmente usados para ajuste de rendimiento
Estadsticas ms precisas
Mtodo de recoleccin en bases de datos binaria

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-10


Intervalos regulares
Evidencia de un patrn establece una actividad "normal"

Administrar procesos de usuarios


Utilizar PAM para establecer controles en limites recursos de cuentas:
pam_access.so puede ser usado para limitar acceso por la cuenta y ubicacin
pam_time.so puede ser usado para limitar el acceso por da y hora
pam_limits.so puede ser usado para limitar disponibilidad de recursos para procesos

Ficheros de log del sistema


Por qu vigilar los archivos de registro?
Que registros controlar?
Registro de servicios:
Muchos demonios envan mensajes a syslogd
Los mensajes del ncleo son manejados por klogd

Configurar syslogd y klog


syslogd y klogd son configurados en /etc/syslog.conf
Sintaxis: facilidad.prioridad lugar_de_registro
Ejemplo: mail.info /dev/tty8

Analizar ficheros de log


En caso de llevarse a cabo de forma regular
Podemos instalar Logwatch para ejecutar a cada hora crond y reportar posibles problemas
En la bsqueda de anomalas, Logwatch utiliza listas negativas
Descarta todo lo normal
Analiza el resto

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-11


UNIDAD 2 ADMINISTRACIN DE
CUENTAS DE USUARIOS

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-12


Cuentas de usuarios, informacin de cuentas
Dos tipos de informacin siempre debe ser proveda para cada cuenta de usuario
Informacin de cuenta: nmero UID, shell por defecto, directorio de trabajo, grupo a los
que pertenece, y as sucesivamente
Autentificacin: un manera de decir que la contrasea proveda en inicio de sesin
para una cuenta es correcta
Informacin de cuenta (Servicio de nombre)
Servicio de nombre accede hasta libreras de funciones que mapea nombres a informacin
Originalmente, servicio de nombre solo se provea por el archivo local como /etc/passwd
Agregar soporte para nuevos servicio de nombre (tal como NIS) requiere re-escritura de libc

Cambio de servicio de nombre (NSS), getent


Cambiar servicio de nombre (NSS)
NSS permite nuevos servicios de nombre para ser agregados sin reescribir libc
Utilizar archivos /lib/libnss_service.so
/etc/nsswitch.conf controla que los servicios de nombre para verificar en que orden
passwd: files nis ldap
getent
getent basededatos
Lista todos los objetos almacenados en la base de datos especificada
getent services
getent basedatos nombre
Busca informacin almacenada en base de datos especifica para un particular nombre
getent passwd smith
Autentificacin
Aplicaciones tradicionalmente autentificadas con contraseas por el uso de funciones libc
Hashes de contraseas siempre al iniciar sesin
Comparar con hashed de contrasea en NSS
Si los valores hashes coinciden, autentificacin pasa
Aplicaciones tuvo que ser reescrito para cambiar como se autentifican los usuarios

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-13


Pluggable Authentication Modules (PAM), funcionamiento de PAM
Pluggable Authentication Modules (PAM)
Mdulos de autentificacin conmutable
Aplicacin llama funciones libpam para autentificar y autorizar usuarios
libpam maneja verificaciones basado en el archivo de configuracin de aplicaciones PAM
Puede incluir verificaciones NSS a travs de libc
Compartido, dinmicamente cdigo configurable
Documentacin: /usr/share/doc/pam-<version>/
Operacin PAM
Mdulos PAM /lib/security/
Cada modulo realiza una prueba acierto o error
Archivos en /etc/security/ pueden afectar como algunos mdulos realizan sus pruebas
Configuracin PAM /etc/pam.d/
Archivos del servicio determina como y cuando los mdulos son usados por
determinados programas

Ficheros /etc/pam.d/: comprobaciones y valores de control


Archivos /etc/pam.d/: Pruebas
Pruebas son organizadas en cuatro grupos:
auth autentifica que el usuario es el usuario
account autoriza la cuenta pueda ser usada
password controla cambios de contraseas
session abiertas, cerradas, y registros de sesin
Cada grupo es llamado cuando es necesario y provee un resultado separado de el servicio
Archivos /etc/pam.d/: Valores de Control
Valores de control determina como cada prueba afecta el resultado global del grupo
required debe pasar, mantener pruebas incluso si falla
requisite segn sea necesario, salvo detener las pruebas en falla
sufficient si pasa hasta aqu, devuelve xito; si falla, ignora prueba y mantiene revisin
optional si la prueba pasa o no es irrelevante
include devuelve valor global de control de pruebas configurada en archivo llamado

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-14


Ejemplo: Archivo /etc/pam.d/login
auth required pam_securetty.so
auth include system_auth
account required pam_nologin.so
account include system_auth
password include system_auth
session required pam_selinux.so close
session optional pam_keyinit.so force revoke
session include system_auth
session required pam_loginuid.so
session optional pam_console.so
session required pam_selinux.so open

El fichero system-auth
system-auth es ampliamente usado
Llamado por la bandera de control include, no un modulo(ej: pam_stack.so)
Contiene pruebas de autentificacin estndar
Compartida por muchas aplicaciones en el sistema
Permite una fcil, consistente administracin del sistema estndar de autentificacin

pam_unix.so
Modulo para autentificacin basada en NSS
auth obtener hashed de contrasea NSS y compara con hash de contrasea entrada
account verifica por espiracin de contrasea
password maneja cambios de contrasea en archivos locales o NIS
session registra inicio y termino de sesin en archivos de registros

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-15


Autentificacin a travs de la red
Gestin central de contraseas
pam_krb5.so(tickets Kerberos V)
pam_ldap.so(binds LDAP)
pam_smb_auth.so (antiguo autentificacin SMB)
pam_winbind.so (SMB a travs de winbindd)
Algunos servicios utilizan NSS/pam_unix.so
NIS, Hesiod, algunas configuraciones de LDAP
Mdulos auth
pam_securetty.so falla si logging in como root en terminal que no esta en /etc/securetty
pam_nologin.so falla si el usuario no es root y el archivo /etc/nologin existe
pam_listfile.so verifica caractersticas de la autentificacin de una lista en un archivo
Una lista de cuentas puede ser permitido o denegado

Seguridad de las contraseas, polticas de gestin de contraseas


Seguridad de contraeas
pam_unix.so hashes MD5 de contraseas
Hace hashes de contraseas duras de crack
pam_unix.so contraseas shadow
Hace hashes de contraseas visible solo para root
Hace disponible caducidad de contrasea
Otros mdulos pueden soportar mecanismos de envejecimiento de contraseas
Poltica de contrasea
Historial de contrasea
pam_unix.so con argumento remember=N
Fuerza de contrasea
pam_cracklib.so
pam_passwdqc.so
Monitoreo de fallas de ingreso
pam_tally.so

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-16


Mdulos sesin, Utilidades de autentificacin

Mdulos de sesin
pam_limits.so Cumplir limites de recursos
Utilizar /etc/security/limits.conf
pam_console.so Define permisos en dispositivos locales para consola de usuarios
Puede ser usado como un modulo de autentificacin tambin
pam_selinux.so Ayuda a definir contexto SELinux
pam_mkhomedir.so crea un directorio home si este no existe
Utilitarios y Autentificacin
Herramientas de administracin local necesita autentificacin
su, reboot, system-config-*, etc.
pam_rootok.so pasa si se ejecuta como root
pam_timestamp.so para un comportamiento como sudo
pam_xauth.so reenva cookies de autentificacin
Anlisis y resolucin de problemas con PAM
Verificar el sistema de registros en:
/var/log/messages /var/log/secure
Errores de PAM pueden bloquear al usuario root
Mantenga una shell root abierta cuando pruebe PAM, modo mono usuario pasa por alto PAM
Iniciar el sistema usando un disco de rescate

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-17


UNIDAD 3 CONTROLAR EL ACCESO
A LOS SERVICIOS DEL SISTEMA

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-18


Recursos del sistema gestionados por init
Escuchando servicios por conexiones de protocolo serial
Una consola serial
Una mdem
Configurado en /etc/inittab
Llamar el comando rc para ejecutar scripts de inicializacin
Llamar un script para iniciar el administrador grfico X11
Proporciona capacidad de engendrar
co:23:respawn:/sbin/agetty -f /etc/issue.serial 19200 ttyS1

Administrar los scripts de inicio de los servicios


Comnmente conocido como "System V" o "SysV"
Muchos scripts organizado por la semntica del sistema de archivos del directorio
Los recursos de los servicios tambin son habilitados o des-habilitados
Varios archivos de configuracin se utilizan a menudo
La mayora de los servicios inician uno o mas procesos
Los comandos son "envueltos" por scripts
Los servicios son gestionados por estos scripts, encontrados en /etc/init.d/
Ejemplos:
/etc/init.d/network status
service network status

Lo ficheros del directorio /etc/sysconfig


Algunos servicios estn configurados en ellos como corren
named
sendmail
dhcpd
samba
init
syslog

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-19


Servicios gestionados por xinetd
Servicios Transitorios son gestionados por el servicio xinetd
Solicitudes entrantes son negociado por xinetd
Archivos de configuracin son: /etc/xinetd.conf, /etc/xinetd.d/service
Vinculados con libwrap.so
Servicios controlados con chkconfig:
chkconfig tftp on

Controles de acceso por defecto de xinetd


Archivo de configuracin principal
# /etc/xinetd.conf
defaults
{
instances=60
log_type=SYSLOG authpriv
log_on_success=HOST PID
log_on_failure=HOST
cps= 25 30
}
includedir /etc/xinetd.d

Configurar servicios xinetd


Configuracin especfica de servicio
/etc/xinetd.d/service
# default: off
service tftp
{
disable= yes
socket_type=dgram
protocol=udp
wait=yes

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-20


user=root
server=/usr/sbin/in.tftpd
server_args=-c -s /tftpboot
per_source=11
cps=100 2
flags=IPv4
}

Controlar el acceso con xinetd, o con patrones de nombres de mquinas


Sintaxis
Permito con only_from = host_pattern
Deniego con no_access = host_pattern
La especificacin ms exacta es autoritario
Ejemplo
only_from = 192.168.0.0/24
no_access = 192.168.0.1

Controles de acceso de aplicaciones y servicios


Configuracin de servicio especifico
Idntico a Demonios httpd, smbd, squid, etc. proporciona mecanismos de seguridad
de servicio especifico
Configuracin general
Todos los programas vinculados con libwrap.so utilizan archivos comunes de
configuracin
Porque xinetd es vinculado con libwrap.so , sus servicios son llevados a cabo
Verificar por maquina local y/o remota nombre de usuario

Configurar tcp_wrappers, xinetd y tcp_wrappers


Tres etapas de verificacin de acceso
Es el acceso explcitamente permitido?
De lo contrario, es el acceso denegado explcitamente?
De lo contrario, por defecto, el acceso es permitido!

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-21


La configuracin se almacena en dos archivos:
Permitir en /etc/hosts.allow
Denegar en /etc/hosts.deny
Sintaxis bsica:
daemon_list: client_list [:opciones]
Un ejemplo de tcp_wrappers
# /etc/hosts.allow
vsftpd : 192.168.0.
in.telnetd, sshd : .example.com 192.168.2.5
# /etc/hosts.deny
ALL : ALL
xinetd proporciona su propio conjunto de funciones de control de acceso
Basado en maquina o basado en tiempo
tcp_wrappers todava se utiliza
xinetd es compilado con soporte libwrap
Si libwrap.so permite conexin, entonces xinetd evala la configuracin de seguridad

Especificacin del demonio, especificacin del cliente


Especificacin del Demonio
Nombre del demonio:
Aplicaciones pasan el nombre de su ejecutable
Mltiples servicios pueden ser especificados
Utilizar comodn ALL para coincidir con todos los demonios
Existen limitaciones para ciertos demonios
Sintaxis avanzada: demonio@maquina: client_list ...
Especificacin del cliente
Especificacin de la maquina
Por direccin IP (192.168.0.1,10.0.0.)
Por nombre (www.redhat.com, .example.com)
Por mascara de red (192.168.0.0/255.255.255.0)
Por nombre de red

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-22


Definir macros, opciones extra
macros para nombre de maquina
LOCAL, KNOWN, UNKNOWN, PARANOID
macro para maquina y servicio
ALL
EXCEPT
Puede ser usado por un cliente y una lista de servicio
Puede ser anidada
Sintaxis:
daemon_list: client_list [:opt1 :opt2...]
spawn Puede ser usado para iniciar programas adicionales
Expansiones especiales estn disponibles (%c, %s)
Ejemplo:
in.telnetd: ALL : spawn echo "login attempt from %c to %s" | mail -s warning root
DENY Puede ser usado como una opcin en hosts.allow
Ejemplo:
ALL: ALL: DENY
SELinux, contextos de seguridad de SELinux
Control de acceso obligatorio (MAC)-vs-Control de Acceso Discrecional (DAC)
Un conjunto de reglas llamado polticas determina el grado de severidad el control
Los procesos son ya sea restringidos o no restringidos
La poltica define a que procesos de recursos restringidos se les permite el acceso
Cualquier accin que no es explcitamente permitida es, por defecto, denegado
Todos los archivos y procesos tienen un contexto de seguridad
El contexto tiene varios elementos, dependiendo de las necesidades de seguridad
user:role:type:sensitivity:category
user_u:object_r:tmp_t:s0:c0
Not all systems will display s0:c0
ls -Z
ps -Z
Por lo general, vinculado con otras opciones, tal como -e

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-23


La poltica targeted de SELinux
La poltica targeted es cargado en tiempo de instalacin
La mayora de los procesos locales no son restringidos
Principalmente utiliza el elemento tipo enforcement
El contexto de seguridad puede ser cambiado con chcon
chcon -t tmp_t /etc/hosts
Mas seguro utilizar restorecon
restorecon /etc/hosts
Administrar SELinux, semanage
Administracin
Modos: Estricto, Permisivo, Deshabilitado
Cambiar enforcement esta permitido en la poltica Targeted
getenforce
setenforce 0 | 1
Desactivar en GRUB con selinux=0
system-config-selinux
Cambia el modo, y la poltica de controles targeted, cambio de modo requiere reiniciar
/etc/sysconfig/selinux
setroubleshootd Aconseja en como evitar errores, no garantiza seguridad!
SELinux: semanage
Algunas caractersticas son controladas por semanage
Vuelve a compilar pequeas porciones de la poltica
semanage funcin -l
La ms til en entornos de alta seguridad
Tipos de ficheros de SELinux
Un tipo de servicio gestionado es llamado dominio
Permitir reglas en la poltica define que tipo de archivos en un dominio puede acceder
La poltica es almacenada en un formato binario, ocultando las reglas de una mirada casual
Tipos pueden ser vistos con semanage
semanage fcontext -l
public_content_t

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-24


UNIDAD 4 CONTROLAR EL ACCESO
A TRAVS DE LA RED

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-25


Enrutamiento
Enrutadores transportan paquetes entre diferentes redes
Cada maquina necesita una pasarela por defecto para llegar a maquinas fuera de su red
Rutas adicionales pueden ser definidas usando el comando route

Por qu Ipv6?, Ipv6 en Gnu/Linux


Ampliar direcciones
Direccionamiento de 128-bit
Jerarqua de direccin extendida
Formato de cabecera flexible
Base encabezado - 40 octetos
Cabecera siguiente campo, soporta encabezados opcionales para actuales y futuras
extensiones
Mas soporte para auto-configuracin
Direccionamiento enlace-local
Demonio de aviso Router
Configuracin dinmica de maquina protocolo versin 6
Implementando IPv6
Modulo ipv6 del ncleo permite auto configuracin
Configuracin adicional implementado por el script de inicializacin /etc/rc.d/init.d/network
NETWORKING_IPV6=yes en /etc/sysconfig/network
IPV6INIT=yes en /etc/sysconfig/network-scripts/ifcfg-ethX
IPv6: Configuracin dinmica de Interface
Hay dos vas para configurar dinmicamente configurar direcciones Ipv6:
Demonio de aviso (Router Advertisement Daemon)
Se ejecuta en (Linux) puerta de enlace predeterminada - radvd
Slo especifica prefijo y puerta de enlace predeterminada
Se habilita con IPV6_AUTOCONF=yes
ID de interface automticamente generada en base a la direccin MAC del sistema
DHCP versin 6

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-26


dhcp6s soporta ms opciones de configuracin
Se habilita con DHCPV6C=yes
IPv6: Configuracin estatica de la Interface
/etc/sysconfig/network-scripts/ifcfg-ethX
IPV6ADDR=<ipv6_address>[/prefix_length]
Alias de dispositivo innecesarios ...
IPV6ADDR_SECONDARIES=<ipv6_address>[/prefix_length] []
IPv6: Configuracin de rutas
Pasarela por defecto
Dinmicamente a partir de radvd o dhcpv6s
Manualmente especificados en /etc/sysconfig/network
IPV6_DEFAULTGW=<IPv6_address[%interface]>
IPV6_DEFAULTDEV=<interface> - solo valida en interfaces punto-a-punto
Rutas esttica
Definido por interface en /etc/sysconfig/network-scripts/route6-ethX
Utilizar sintaxis ip -6 route add
<ipv6_network/prefix> via <ipv6_routeraddress>

tcp_wrappers y IPv6
tcp_wrappers es (consiente) IPv6
Cuando IPv6 se aplica completamente al dominio, asegrese de incluir reglas tcp_wrappers
para direcciones Ipv6
Ejemplo: preservando la conectividad de maquina local, agregar a /etc/hosts.allow
ALL: [::1]
Nuevas y modificadas utilidades
ping6
traceroute6
tracepath6
ip -6
host -t AAAA hostname6.domain6

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-27


Introduccin a netfilter, tablas y cadenas en netfilter
Filtrando en el ncleo: no es demonio
Afirma polticas en capas 2, 3 y 4 de el modelo de referencia OSI
Solo inspecciona cabeceras de paquetes
Consiste en mdulos de netfilter en el ncleo, y el software iptables el espacio de usuario

Tablas de Netfilter y Cadenas


Tabla
Puntos de Filtros
filter nat mangle
INPUT X X
FORWARD X X
OUTPUT X X X
PREROUTING X X
POSTROUTING X X

Flujo de paquetes en netfilter

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-28


Encaje de reglas, acciones de reglas
Reglas en lista ordenada
Los paquetes verificados con cada regla sucesivamente
En la primera coincidencia, el objetivo es evaluado:
Usualmente sale de la cadena
La regla puede especificar varios criterios para coincidir
Cada criterio en una especificacin debe para la regla de coincidir (AND lgico)
Poltica de la cadena se aplica si no hay coincidencia
Regla Targets
Incorporado en los objetivos: DROP, ACCEPT
Extensin de objetivos: LOG, REJECT, cadena personalizada
REJECT enva un aviso devuelta al remitente
LOG conecta al sistema de registro, facilidad kern
LOG coincidencia no sale de la cadena
Objetivo es opcional, pero no mas que uno por regla y por defecto en la poltica de la
cadena si esta ausente
Ejemplo simple
Una regla de INPUT para la tabla filter:

Operaciones bsicas con cadenas


Lista reglas en una cadena o tabla (-L o -vL)
Agrega una regla a una cadena (-A)
Inserta una regla a una cadena (-I)
- I CADENA (inserta como la primera regla)
- I CADENA 3 (inserta como la regla 3)

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-29


Borrar un regla individual (-D)
- D CADENA 3 (Borra la regla 3 de la cadena)
- D CADENA REGLA (Borra la regla explicitamente)
Operaciones adicionales con cadenas
Asignar una poltica a la cadena (-P CADENA OBJETIVO)
ACCEPT (por defecto, incorpora un objetivo)
DROP (Incorpora un objetivo)
REJECT (no permite, una extensin en objetivo)
Limpia todas las reglas de una cadena (-F)
No descarga la poltica
Deja en cero contadores de byte y paquete (-Z [CADENA])
til para la cadena de vigilancia de estadsticas
Administrar cadenas personalizadas (-N, -X)
-N Tu_nombre-de-cadena (agrega cadena)
-X Tu_nombre-de-cadena (borra cadena)
Reglas: consideraciones generales
Sobre todo cerrado es apropiado
iptables -P INPUT DROP o
iptables -A INPUT -j DROP
iptables -A INPUT -j REJECT
Los criterios se aplican tambin a la interface loopback
Las reglas del ejemplo de arriba tiene como efecto colateral de bloquear localhost!
Reglas, como rutas, son ledas en memoria y se debe guardar en un archivo para
persistencia a travs de los reinicios
Las coincidencias pueden ser hechas por:
Direccin IP, o nombre de maquina
Advertencia: Nombres de maquina se resuelve en el momento de insertar regla
Numero de puerto, o nombre de servicio
Argumentos pueden ser negados con '!'
Incluyendo rango de puertos que se indique Inclusive '0:1023'
Las mscaras pueden utilizar notacin VLSN o CIDR

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-30


Control de conexiones
Provee inspeccin de paquetes "state"
Un paquete puede ser verificado en un contexto especifico
Simplifica el diseo de reglas
Sin seguimiento de conexiones, reglas son usualmente en pares (entrante y saliente)
Implementado en coincidencia de extensin "state"
Estados reconocidos: NEW, ESTABLISHED, RELATED, INVALID
Requiere mas memoria
Mdulos de seguimiento de conexin
ip_conntrack_ftp
ip_conntrack_tftp
ip_nat_ftp
ip_nat_tftp (y otros)
/etc/sysconfig/iptables-config
Una regla que permita las conexiones establecidas:
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
Muchas reglas, una para cada servicio permitido:
iptables -A INPUT -m state --state NEW -p tcp --dport 25 -j ACCEPT
Por ltimo, una regla para bloquear todos los dems entrantes:
iptables -A INPUT -m state --state NEW -j DROP

Traduccin de direcciones de red (NAT), ejemplos de DNAT, de SNAT


Traduce una direccin IP en otra (entrante y/o saliente)
Permite "ocultar" direcciones IP internas detrs de una sola direccin IP pblica
Reglas establecidas dentro de la tabla NAT
Tipos de Traduccin de direcciones de Red:
Destination NAT (DNAT) - Ubicado en la cadena PREROUTING donde el filtrado
utiliza traduccin de direccin
Source NAT (SNAT, MASQUERADE) Ubicado en la cadena POSTROUTING donde
el filtrado nunca usa traduccin de direccin

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-31


Ejemplos DNAT
ENTRANTE
iptables -t nat -A PREROUTING -p tcp --dport 80 -j DNAT --to-dest 192.168.0.20
SALIENTE (con redireccin de puerto)
iptables -t nat -A OUTPUT -p tcp --dport 80 -j DNAT --to-dest 192.168.0.200:3128

Ejemplos SNAT
MASQUERADE
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
SNAT
iptables -t nat -A POSTROUTING -j SNAT --to-source 1.2.3.45

Persistencia de reglas
iptables no es un demonio, pero lee reglas en la memoria y sale
Las reglas no son persistentes a travs del reinicio
El servicio iptables almacenara las reglas si se ordena en /etc/sysconfig/iptables
(Asegrese de que este archivo tiene el contexto SELinux correcto!)
Gestin System V puede ser utilizado, y es ejecutado antes que la red es configurada

Ejemplo de /etc/sysconfig/iptables
*filter
:INPUT DROP [573:46163]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [641:68532]
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp dport 143 -j ACCEPT
-A INPUT -p tcp -m tcp dport 22 -j ACCEPT
-A INPUT -p tcp -m tcp dport 25 -s 123.123.123.1 -j ACCEPT
-A INPUT -p tcp -m tcp dport 53 -j ACCEPT
-A INPUT -p udp -m udp dport 53 -j ACCEPT

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-32


-A INPUT -p udp -m udp dport 123 -s 123.123.123.1 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m tcp dport 113 -j REJECT --reject-with \tcp-reset
COMMIT

Ipv6 e ip6tables
filtrado de paquetes para trfico IPv6
Provedo por el paquete iptables-ipv6
Reglas se almacena en /etc/sysconfig/ip6tables
No soporta todava:
Objetivo REJECT
Tabla nat
Seguimiento de conexin con modulo state

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-33


UNIDAD 5 ASEGURANDO LOS
DATOS

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-34


Lo necesario para cifrar
Susceptibilidad de trfico sin cifrar
Sniffing de password/datos
Manipulacin de datos
Manipulacin de autentificacin
Equivalente a envo en tarjetas postales
Tradicionales protocolos inseguros
telnet, FTP, POP3, etc. : claves inseguras
sendmail, NFS, NIS, etc.: informacin insegura
rsh, rcp, etc.: autentificacin insegura

Paso a paso Cifrado


Generador de nmeros aleatorios
Los valores hash una va
Algoritmos simtricos
Algoritmos asimtricos (Llave publica)
Infraestructuras de llave publica
Certificados digitales
Implementacin en:
openssl, gpg

Generador de Nmeros Aleratorios


Nmeros pseudo-aleatorios y fuentes de entropa
Eventos del teclado y ratn
Interrupciones de dispositivo de bloque
El ncleo provee fuente
/dev/random:
Mejor fuente
Bloques cuando entropa agotado

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-35


/dev/urandom:
Saca de entropa hasta el vaciarse
Vuelve a los generadores pseudo-aleatorios
openssl rand [ -base64 ] num

Los valores hash una va


Arbitrariamente datos reducidos a pequea "huella digital"
Arbitraria longitud de entrada
Fija longitud de salida
Si los datos cambian, huellas digitales cambian ("libre de colisiones")
Datos no pueden ser regeneradas a partir de huellas digitales ("una va")
Algoritmos comunes
md2, md5, mdc2, rmd160, sha, sha1
Utilidades comunes
sha1sum [ --check ] file
md5sum [ --check ] file
openssl, gpg
rpm -V

Cifrado Simtrico
Sobre la base de una sola clave
Utilizado al mismo tiempo para cifrar y descifrar
Algoritmos comunes
DES, 3DES, Blowfish, RC2, RC4, RC5, IDEA, CAST5
Utilidades comunes
passwd (DES modificada)
gpg (3DES, CAST5, Blowfish)
openssl

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-36


Cifrado Asimtrico
Sobre la base de par de claves pblica/privada
Con una clave cifra, la otra descifra
Protocolo I: Cifrado sin clave de sincronizacin
Receptor
Genera par de claves pblica/privada: P y S
Publicar la clave publica P, guardar la clave privada S
Remitente
Cifra el mensaje M con la clave pblica receptor
Enviar P(M) para el receptor
Receptor
Descifra con la clave secreta para recuperar: M = S(P (M))
Protocolo II: Firmas digitales
Remitente
Genera par de clave publica/privada: P y S
Publica clave publica P, guarda clave privada S
Cifra mensaje M con clave privada S
Enva a receptor S(M)
Receptor
Descifra con clave publica del remitente para recuperar M= P(S(M))
Combina firma y cifrado
Firmas separadas
Infraestructuras de Llaves Publicas
Cifrado asimtrico depende de la integridad de clave pblica
Dos enfoques desalentar falsas llaves publicas:
Publicando claves de huella digital
Infraestructura de clave publica(PKI)
Distribuir en Web de confianza
Jerarqua de autoridades de certificacin
Certificados digitales

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-37


Certificados Digitales
Autoridades de certificacin
Certificado digital
Propietario: Identidad y clave publica
Emisor: Firma Independiente e Identidad
Periodo de Validez
Tipos
Certificados de Autoridad de certificados
Certificados de servidor
Certificados auto-firmados

Generando certificados digitales


Formato X.509 de certificado
Genera un par de claves publica/privada y define identidad
Dos Opciones:
Utilizar una Autoridad de Certificado
Generar una solicitud de firma (csr)
Enviar csr a CA
Recibir firmado desde CA
Auto-firmar un certificado
Firma con tu propia llave publica

OpenSSH, Autentificacin
OpenSSH reemplaza comnmente, aplicaciones de comunicacin inseguras de red
Proporciona usuario y de autentificacin basada en token
Capaz de hacer un tnel por protocolos inseguros a travs de redireccionamiento de puertos
Configuracin por defecto del sistema (cliente y servidor) reside en /etc/ssh/

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-38


El demonio sshd pueden utilizar varios diferentes mtodos autentificacin
password (enva de forma segura)
Llaves RSA y DSA
Kerberos
s/Llave y IDSeguro
Autentificando maquina usando sistema de par de llaves

El servidor OpenSSH, configuracin


Provee mayor seguridad de datos entre los sistemas en red
Llave de cifrado privada/publica
Compatible con anteriores versiones comerciales de uso restringido de SSH
Implementa seguridad basada en equipo mediante
libwrap.so
Archivo de configuracin SSHD
/etc/ssh/sshd_config
Opciones para considerar
Protocol
ListenAddress
PermitRootLogin
Banner

Perfil del servicio SSH


Tipo: Servicio administrado - System V
Paquetes: openssh, openssh-clients, openssh-server
Demonio: /usr/sbin/sshd
Script: /etc/init.d/sshd
Puerto: 22
Configuracin: /etc/ssh/*, $HOME/.ssh/
Relacionados: openssl, openssh-askpass, openssh-askpass-gnome, tcp_wrappers

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-39


El cliente OpenSSH, Forwarding de puertos
Sesiones de shell segura
ssh nombremaquina
ssh usuario@nombremaquina
ssh nombremaquina comando-remoto
Copia remota segura de archivos y directorios
scp file usuario@maquina:directorio-remoto
scp -r usuario@maquina:directorio-remoto directorio-local
FTP seguro provedo por sshd
sftp maquina
sftp -C usurio@maquina

Administrando Llaves
ssh-add -- collects key palabra_de_paso
ssh-agent -- manages key palabra_de_paso

Aplicaciones: RPM
Dos implementaciones de integridad de archivo
Archivos Instalados
hash One-way MD5
rpm --verify nombre_paquete (o -V)
Archivos de paquetes distribuidos
Firma de llave publica GPG
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-centos*
rpm --checksig nombre_archivo_de_paquete (o -K)

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-40


UNIDAD 6 ORGANIZACIN DE LOS
SISTEMAS DE RED

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-41


Resolucin de nombres de maquina

Algunos servicios de nombre proveen mecanismos para traducir nombre de maquina en direcciones
de capas-inferiores para que los computadores puedan comunicarse
Ejemplo: Nombre --> Direccin MAC (capa enlace)
Ejemplo: Nombre --> Direccin IP (capa red) --> Direccin MAC (capa enlace)
Servicios comunes de nombre de maquina
Archivos (/etc/hosts y /etc/networks)
DNS
NIS
Mltiples cliente para la resolucin de nombres:
"stub"
dig
host
nslookup

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-42


Analizar consultas DNS con dig, otras observaciones
dig +trace centos.org
Lee /etc/resolv.conf para determinar el servidor de nombre
Consulta para los servidores de nombre RAIZ
Continua tras las referencias para buscar registros de nombre (respuestas)
Ver notas por ejemplos de salida, en caso que este restringida la salida DNS
Esto es conocido como una consulta iterativa
Observaciones Iniciales:
Los nombres estn organizados en un rbol invertido con la raz (.) en la parte superior
La jerarqua de nombres DNS permite cruzar las fronteras organizacionales
Los nombres en los registros terminan con un punto cuando est totalmente calificado
Respuestas en la traza anterior son en forma de registros de recursos
Cada recurso tiene cinco campos
domain el dominio o sub-dominio que se consulta
ttl - el tiempo que el registro debe ser almacenado en cach, expresado en segundos
class clasificacin de registro (usualmente IN)
type tipo de registro, such as A o NS
rdata - datos de recursos a los que el dominio mapea
Conceptualmente, una consulta contra el dominio (nombre), que se asigna a la rdata por
una respuesta
En el ejemplo trace,
El registro NS (servidor de nombre) son referencias
El registro A (direccin) es la respuesta final y el tipo de consulta por defecto para dig
Consultas directas, inversas
Bsqueda directa
dig redhat.com
Intentos de recursin primero, como se indica por rd (recursin se desea) en la
seccin de banderas de la salida: si el servidor de nombres permite recursin, el servidor comprueba
la respuesta y devuelve los registros pedidos al cliente
Si el servidor de nombres no permite recursin, entonces el servidor devuelve una referencia a
un dominio de nivel superior, que dig seguir

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-43


Observaciones
La consulta tipo por defecto de dig es A; la rdata de un registro A es una direccin IPv4
Utilizar -t AAAA para solicitar rdata IPv6
Cuando tiene xito, dig devuelve un estado de NOERROR, cuenta una respuesta, y tambin
indica que los servidores de nombres tienen autoridad para el nombre
Bsqueda Reversa
dig -x 209.132.177.50
Observaciones: La seccin de preguntas en la salida muestra que DNS invierte los
octetos de una direccin y agrega in-addr.arpa para calificar completamente la parte de dominio del
registro.
La seccin de respuesta muestra que DNS utiliza registros PTR (puntero) para bsqueda
reversa; en forma adicional, rdata para un registro PTR es un nombre de dominio completamente
cualificado.
Consultas de servidores de correo
Un registro MX mapea un dominio al nombre de dominio completamente calificado de
dominio de un servidor de correo
dig -t mx redhat.com
Observaciones
El campo rdata se extiende para incluir una pieza mas de datos llamada la prioridad
para evitar bsquedas adicionales, los servidores de nombre proveen registros A como respuestas
adicionales que correspondan con el FQDN provedo en el registro MX.
Juntos, un registro MX y sus registros A asociados resuelven el dominio de un servidor
de correo.

Consultas SOA, datos SOA


Un registro SOA marca un servidor como maestro de una autoridad
dig -t soa redhat.com
Observaciones iniciales
El campo dominio es llamado el origen
El campo rdata es extendido para soportar datos adicionales, explicado mas adelante
Normalmente hay un solo servidor de nombres maestro para un dominio; almacena la
copia maestra de sus datos.

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-44


Otro servidor de nombre con autoridad para el dominio o zona son referidos como
esclavos o secundario; ellos sincronizan los datos desde el maestro.
Servidores de nombres FQDN Maestro
Email de contacto
Numero Serial
Actualizar demora antes de verificar nmero de serie
Intervalo de reintentos para servidores esclavos
Espiracin de registros cuando el esclavo no puede comunicarse con su maestro(s)
TTL Mnimo para respuestas negativas ("no such host")

Autoridad
El registro SOA simplemente indica el servidor maestro para el origen (dominio)
Un servidor tiene autoridad si se tiene:
Delegacin del dominio principal: registro NS mas registro A
Una copia local de los datos del dominio, incluyendo el registro SOA
Un servidor de nombre que tiene la delegacin adecuada pero carece de datos del dominio
es llamado un servidor defectuoso (lame server)

Transferencia de dominios
dig -t axfr example.com. @192.168.0.254
Observaciones
Todos los registros para la zona son transferidos
Registros revelan mucho en el conocimiento de la red
Respuesta es demasiado grande para UDP, entonces para transferencia se usa TCP
La mayora de los servidores restringen la zona de transferencia a unas pocas maquinas
(usualmente los servidores de nombre esclavos)
Utilice este comando desde un esclavo para probar los permisos en el maestro

Explorar DNS con host


Para cualquiera de las siguientes consultas, aadir la opcin -v para ver la salida en formato
de archivo de zona
Trace: no disponible

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-45


Delegacin: host -rt ns redhat.com
Force iterativo: host -r redhat.com
Bsqueda reversa: host 209.132.177.50
Bsqueda MX: host -t mx redhat.com
Bsqueda SOA: host -t soa redhat.com
Transferencia de Zona: host -t axfr redhat.com192.168.0.254 o
host -t ixfr=serial example.com. 192.168.0.254

Introduccin al servidor DNS


CentOS Linux utiliza BIND, Berkely Internet Name Daemon
BIND es el servidor DNS ms utilizado en Internet
Una estable y confiable infraestructura en la cual basar un nombre de dominio y la
asociacin de direcciones IP
La referencia de implementacin para DNS RFC's
Corre en un entorno chroot (enjaulado)
Tipo: Servicio administrado System V
Paquetes: bind, bind-utils, bind-chroot
Demonios: /usr/sbin/named, /usr/sbin/rndc
Script: /etc/init.d/named
Puertos: 53 (dominio), 953(rndc)
Configuracin: (bajo /var/named/chroot/) /etc/named.conf, /var/named/*, /etc/rndc.key
Relacionados: caching-nameserver, openssl
Primeros pasos con BIND
Instalar paquetes
bind para binarios bsicos
bind-chroot para seguridad
caching-nameserver para una configuracin inicial
Configurar inicio
service named configtest
service named start
chkconfig named on

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-46


Proceder con la configuracin esencial de named
Perfil de control de acceso: BIND
Netfilter: tcp/udp puertos 53 y 953 entrante; tcp/udp puertos salientes temporales
TCP Wrappers: N/A
ldd `which named` | grep libwrap
strings `which named` | grep hosts
Xinetd: N/A (named es un demonio independiente)
PAM: N/A (no se configura en /etc/pam.d/)
SELinux: si ver notas
Controles de aplicacin especfica: si, discutido ms adelante y en ARM
/usr/share/doc/bind-*/arm/Bv9ARM.{html,pdf}

Configuracin bsica de named


Configurar el resolver stub (Delegado)
Define controles de accesos en /etc/named.conf
Declarar clientes match-lists
Interfaces de servidor: listen-on y listen-on-v6
Qu consultas debe ser permitido?
Iterativo: allow-query { match-list; };
Recursin: allow-recursion { match-list; };
Transferencias: allow-transfer { match-list; };
Agregar datos va archivos de zona
Probar!

Configurar la resolucin local


En el servidor de nombre:
Editar /etc/resolv.conf para especificar nameserver 127.0.0.1
Editar /etc/sysconfig/network-scripts/ifcfg-* para especificar PEERDNS=no
Ventajas:
Asegura bsquedas consistentes para todas las aplicaciones

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-47


Simplifica los controles de acceso y resolucin de problemas
Adems en /etc/resolv.conf, donde un usuario sin privilegios puede ver qu servidores de
nombres DHCP proporciona

El paquete bind-chroot
Instala un entorno chroot bajo /var/named/chroot
Mueve archivos existentes de configuracin en el entorno chroot, reemplazando los
archivos originales con enlaces simblicos
Actualiza /etc/sysconfig/named con una opcin named:
ROOTDIR=/var/named/chroot
Concejos
Inspeccionar /etc/sysconfig/named despus de instalar bind-chroot
Ejecutar ps -ef | grep named despus de iniciar named para verificar opciones de
inicio
El paquete caching-nameserver
Provee
named.caching-nameserver.conf
named.ca conteniendo servidores races 'hints'
Archivos de bsqueda Forward y reversa para nombres de maquina local y direcciones
IP (ej:localhost.localdomain)
Concejos
Copiar named.caching-nameserver.conf a named.conf
Cambiar dueo y grupo a root:named
Editar named.conf
Mas adelante se describe esenciales directivas de acceso
Listas de patrones
Una lista separada por punto y coma de direcciones IP o subredes utilizadas con las
directivas de seguridad para control de acceso basado en maquina
Formato
Direccin IP: 192.168.0.1
Punto final: 192.168.0.
CIDR: 192.168.0/24

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-48


Utilice una exclamacin (!) para indicar inversin
Una lista de coincidencias se comprueba en orden detenindose en la primera coincidencia
Ejemplo: { 192.168.0.1; 192.168.0.; !192.168.1.0/24; };

Listas de control de acceso (ACL), ACLs predefinidas


En su forma mas simples, una ACL asigna un nombre a una lista de coincidencias con
direcciones
Puede generalmente ser utilizada en lugar de una lista de coincidencia (Anidacin est
permitido!)
Una buena practica es definir las ACL's en el inicio de /etc/named.conf
Ejemplo de declaraciones
acl "trusted" {192.168.1.21; };
acl "classroom" {192.168.0.0/24; trusted; };
acl "cracker" {192.168.1.0/24; };
acl "mymasters" {192.168.0.254; };
acl "myaddresses" {127.0.0.1; 192.168.0.1; };
Incorporando ACL's
BIND pre-define cuatro ACL's
none - Sin coincidencia con direccin IP
any - Todas las direcciones IP coinciden
localhost - Cualquier direccin IP del servidor de nombre coincide
localnets - Redes directamente-conectadas coinciden
Cual es la diferencia entre la localhost integrada al ACL y myaddresses en el ejemplo
anterior (asumiendo que el servidor es multi tarjeta)?

Direcciones e interfaces
Opcin: listen-on port 53 { match-list; };
Se enlaza named a una interface especifica
Ejemplo: listen-on port 53 { myaddresses; };
listen-on-v6 port 53 { ::1; };
Reiniciar y verificar: netstat -tulpn | grep named

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-49


preguntas:
Qu pasa si listen-on no incluye 127.0.0.1?
Cmo podra el cambio listen-on-v6 a :: (todas las direcciones IPv6) afectar IPv4?
Por defecto: Si listen-on falta, named escucha en todas las interfaces

Permitir consultas
Opcin: allow-query { match-list; };
El servidor provee respuesta de autoridad y en cache a clientes en lista de coincidencia
Ejemplo: allow-query { classroom; cracker; };
Por defecto: Si allow-query falta, named permite a todos
Permitir recursin
Opcin: allow-recursion { match-list; };
Servidor sigue referencias en nombre de clientes en la lista de coincidencia
Ejemplo: allow-recursion { classroom; !cracker; };
Preguntas
Qu sucede si 192.168.1.21 intenta una consulta recursiva?
Qu sucede si 127.0.0.1 intenta una consulta recursiva?
Por defecto: si allow-recursion falta, named permite a todos
Permitir transferencias
Opcin: allow-transfer { match-list; };
Clientes en la lista de coincidencia son habilitados para actuar como servidor esclavo
Ejemplo: allow-transfer { !cracker; classroom; };
Preguntas: Qu sucede si 192.168.1.21 intent la transferencia de esclavo?
Qu sucede si 127.0.0.1 intent la trasferencia de esclavo?
Por defecto: si allow-transfer no est presente, named permite a todos
Modificar el comportamiento de BIND
Opcin: forwarders { match-list; };
Modificador: forward first | only
Dirige named a consultas recursivas de servidores especificados antes o en lugar de seguir
las referencias
Ejemplo: forwarders { mymasters; };
forward only;

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-50


Como puedes determinar si forwarders es requerido?
Si el modificador forward falta, named asume primero

Controles de acceso: Colocando juntos


Ejemplo /etc/named.conf con opciones esenciales de control de acceso:
// acl's hacen las directivas de seguridad ms fciles de leer
acl "myaddresses" { 127.0.0.1; 192.168.0.1; };
acl "trusted" { 192.168.1.21; };
acl "classroom" { 192.168.0.0/24; trusted; };
acl "cracker" { 192.168.1.254; };
options {
# unen a las interfaces especficas
listen-on port 53 { myaddresses; };
listen-on-v6 port 53 { ::1; };
# Asegurarse de que yo siempre puedo consulta para la solucin de problemas
allow-query { localhost; classroom; cracker; };
allow-recursion { localhost; classroom; !cracker; };
/ * No dejes que cracker (incluso de confianza) hacer transferencias de zona * /
allow-transfer { localhost; !cracker; classroom; };
# Utilizar un recursivo, servidor de nombres arriba
forwarders { 192.168.0.254; };
forward only;
};

Declarar zonas slave


zone "example.com" {
type slave;
masters { mymasters; };
file "slaves/ejemplo.zn";
};

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-51


Ejemplo de declaracin de zona dirige el servidor a:
Acta como un servidor de nombre con autoridad para example.com, donde
example.com es el origen como especifica el campo en el registro de dominio SOA
Sera un esclavo para esta zona
Realiza transferencia de zona (AXFR y IXFR) contra las maquinas en opcin masters
Almacena los datos transferidos en /var/named/chroot/var/named/slaves/ejemplo.zn
Recargar named para automticamente crear el archivo
Declarar zonas master, delegar subdominios
zone "example.com" {
type master;
file "example.com.zone";
};
Ejemplo de declaracin de zona dirige el servidor a:
Acta como un servidor de nombre con autoridad para example.com, donde
example.com es el origen como se especifica en campo del registro de dominio SOA
Sera un maestro para esta zona
Leer los datos del maestro desde /var/named/chroot/var/named/example.com.zone
Manualmente crear el archivo maestro antes de recargar named
Crear ficheros de zonas, concejos sobre ficheros de zonas
Contenido de un archivo de zona:
Una coleccin de registros, empezando con el registro SOA
El smbolo @ es una variable representando la zona origen como se especifica en la
declaracin de zona en /etc/named.conf
Comentarios son estilo ensamblador (;)
Precauciones:
BIND agrega el dominio origen a cualquier nombre que no termine en un punto.
Si el campo dominio falta en un registro, BIND utiliza el valor del registro previo
(Peligro! Qu pasa si otro administrador cambia el orden del registro?)
Recordar incrementar el numero serial y recargar named despus de modificar el
archivo de zona
Qu resolvedor DNS especfico pone su salida en formato de archivo de zona?

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-52


Atajos:
No empiece desde cero - copia un archivo de zona existente instalado por el paquete
caching-nameserver
Para guardar escribiendo, agregar $TTL 86400 en la primera linea de el archivo de
zona, entonces omita el TTL de los registros individuales
BIND permite que partas de valores mltiples rdata a travs de lineas cuando se
encierra dentro de parntesis ()
Elija un nombre de archivo para el archivo de zona que refleje el origen de alguna manera
Probar BIND, utilidades de comprobacin de sintaxis de BIND
Operacin
Seleccionar uno de dig, host, o nslookup, y utilizar con pericia para verificar la
operacin del servidor DNS
Ejecutar tail -f /var/log/messages en un shell separado cuando reinicie el servicio
Configuracin
BIND podr fallar al iniciar por errores de sintaxis, por lo que siempre ejecutar service
named configtest despues de editar los archivos de configuracin
configtest ejecuta dos utilidades de sintaxis para archivos especificados en su
configuracin, pero las utilidades se pueden ejecutar separadamente para archivos fuera de su
configuracin
Demonio de control remoto(rndc)
Provee administracin local y remoto de named
El paquete bind-chroot configura rndc
Escucha solo en IPv4 e IPv6 loopbacks
Lee llave desde /etc/rndc.key
Si la clave no coincide, no se puede iniciar o detener el servicio named
No es necesaria configuracin adicional por defecto, en instalacin local
Ejemplo Limpiar el servidor cache: rndc flush
Delegacin de subdominios
Pasos : En el hijo, crear un archivo de zona para almacenar los datos del subdominio
En el padre, agregar un registro NS, en padre, agregar registro A para completar delegacin
Registros encolados
Si el nombre cannico hijo esta en el subdominio que gestiona, el registro A es llamado
un registro encolado

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-53


Introduccin a DHCP, configurar un servidor DHCP IPv4
DHCP: Dynamic Host Configuration Protocol, implementado va dhcpd
dhcpd provee el servicio para clientes IPv4 DHCP y BOOTP IPv4
Tipo: Servicio gestionado SystemV
Paquete: dhcp
Demonio: /usr/sbin/dhcpd
Script: /etc/init.d/dhcpd
Puertos: 67 (bootps), 68 (bootpc)
Configuracin: /etc/dhcpd.conf, /var/lib/dhcpd/dhcpd.leases
Relacionados: dhclient, dhcpv6_client, dhcpv6

Configurando en IPv4 Servidor DHCP


Configurar el servidor en /etc/dhcpd.conf
Ejemplo de configuracin se provee en /usr/share/doc/dhcp-version/dhcpd.conf.sample
Debe haber al menos un bloque subnet, y este debe corresponderse con las interfaces
configuradas.
Ejecutar service dhcpd configtest para verificar sintaxis

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-54


UNIDAD 7 SERVICIOS PARA
COMPARTIR ARCHIVOS

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-55


Protocolo de transferencia de archivos (FTP)
vsftpd el servidor FTP por defectos de CentOS GNU/Linux
Ya no es manejado por xinetd
Permite sistemas, annimos o virtual de acceso de usuarios (solo-FTP)
La jerarqua de directorio annimo es provedo por el RPM vsftpd
/etc/vsftpd/vsftpd.conf es el archivo de configuracin principal
Tipo: Servicio administrado SystemV
Paquete: vsftpd
Demonio: /usr/sbin/vsftpd
Script: /etc/init.d/vsftpd
Puertos: 21 (ftp), 20 (ftp-data)
Configuracin: /etc/vsftpd/vsftpd.conf /etc/vsftpd.ftpusers /etc/pam.d/vsftpd
Registros: /var/log/xferlog
Relacionados: tcp_wrappers, ip_conntrack_ftp, ip_nat_ftp

Network File Service (NFS)


El servicio NFS de CentOS GNU/Linux es similar a otras variantes BSD y UNIX
Recursos exportados son listados en /etc/exports
Servidor notifica cambios en lista de exportados con exportfs -r o service nfs reload
Directorios compartidos se accede mediante el comando mount
El servidor NFS es un servicio RPC y por lo tanto requiere portmap
Tipo: Servicio gestionado System V
Paquete: nfs-utils
Demonios: rpc.nfsd, rpc.lockd, rpciod, rpc.mountd, rpc.rquotad, rpc.statd
Scripts: /etc/init.d/nfs, /etc/init.d/nfslock
Puertos: 2049(nfsd), Otros asignados por portmap (111)
Configuracin: /etc/exports
Relacionados: portmap (obligatorio), tcp_wrappers

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-56


Opciones de puertos para el Firewall
mountd, statd y lockd pueden ser obligados a utilizar un puerto esttico
Ajustar las variables MOUNTD_PORT, STATD_PORT, LOCKD_TCPPORT y
LOCKD_UDPPORT en /etc/sysconfig/nfs
MOUNTD_PORT="4002"
STATD_PORT="4003"
LOCKD_TCPPORT="4004"
LOCKD_UDPPORT="4004"

Servidor NFS, utilidades NFS, cliente NFS


NFS Server
Directorios exportados son definidos en /etc/exports
Cada entrada especifica el/los equipo/s a los que el sistema de archivos es exportado ms
permisos asociados y opciones
Opciones deben especificarse
Opciones por defecto: (ro,sync,root_squash)
root es mapeado a UID 4294967294

Utilidades NFS
exportfs -v
showmount -e hostname
rpcinfo -p hostname

Clientes NFS
Implementado como un modulo del ncleo
/etc/fstab puede ser utilizado para especificar montajes de red
Recursos compartidos con NFS son montados en el arranque por /etc/init.d/netfs
autofs monta recursos compartidos con NFS bajo demanda y desmonta cuando est
inactivo

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-57


Servicios Samba, configurar Samba, el fichero smb.conf
Servicios Samba
Cuatro principales servicios se proporcionan:
Autentificacin y autorizacin de usuarios
Compartir archivos e impresoras
Resolucin de nombres
Navegacin (servicio de aviso)
Relacionados: smbclient acceso por linea de comandos
Linux puede montar recursos compartidos Samba usando cifs o sistema de archivos smbfs
Perfil del servicio: SMB
Tipo: Servicio gestionado System V
Paquetes: samba, samba-common, samba-client
Demonios: /usr/sbin/nmbd, /usr/sbin/smbd
Script: /etc/init.d/smb
Puertos: [NetBIOS] 137(-ns), 138(-dgm), 139(-ssn), [SMB sobre TCP] 445(-ds)
Configuracin: /etc/samba/*
Relacionados: system-config-samba, testparm
Configurando Samba
Configuracin en /etc/samba/smb.conf
Linux provee una buena comentada configuracin por defecto, adecuada para la
mayora de las situaciones
Herramientas de configuracin estn disponibles
system-config-samba y samba-swat (http://localhost:901)
Editar a mano smb.conf es recomendado
Revisin secciones de smb.conf
smb.conf se inspira en el formato de archivo .ini y se divide [ ] en diferentes secciones
[global] : seccin para la configuracin del servidor genrica o global
[homes] : utilizada para dar acceso a algunos o todos los usuarios a sus directorio raz
[printers] : define los recursos de impresin y servicios
Utilizar testparm para verificar la sintaxis de /etc/samba/smb.conf

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-58


Configurar ficheros y directorios compartidos
Los recursos compartidos deben tener su propia [ ] seccin
Algunas opciones para usar:
public El recurso compartido puede ser accedido por usuario visita
browsable El recurso compartido es visible en la lista de exploracin
writable Se permite leer y escribir en el recurso
printable el recurso es una impresora, no un disco
group Toda conexin al recurso compartido utiliza el grupo especificado como grupo
principal
Imprimir con el servidor Samba
Todas las impresoras definidas en /etc/cups/ printers.conf son compartidas como recurso
por defecto
Puede ser cambiado para permitir solo explcitamente impresoras publicadas
Mtodos de autentificacin, Contraseas
Especificado con security = method
Mtodos validos son:
user : validacin por usuario y contrasea (esto es por defecto)
domain/server : grupo de trabajo con coleccin de datos de autentificacin es usado
ads : acta como miembro de Active Directory con la autentificacin Kerberos
share : validacin de usuario en base por-recurso compartido
Utilidades de comprobacin de sintaxis de Samba
Consideraciones con contraseas cifradas
Almacenado en /etc/samba/smbpasswd
Usuarios agregados con smbpasswd -a user
Usuarios modificados con smbpasswd user
Usuarios deben tener una cuenta local (o ser traducido a una cuenta local a travs de
/etc/samba/smbusers), o implementar winbindd, un servicio separado
testparm es utilizado para verificar la sintaxis de /etc/samba/smb.conf
Puede verificar el permitir/denegar declaraciones para verificar que un equipo puede
acceder al servidor:
testparm /etc/samba/smb.conf station1.example.com 192.168.0.1

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-59


Herramientas del cliente de Samba: smbclient, nmblookup, mounts
Herramienta cliente de Samba: smbclient
Permite la visualizacin de servicios compartidos
smbclient -L hostname
Se puede utilizar como una herramienta de recuperacin de archivo estilo ftp
[student@stationX]$ smbclient //machine/service
> cd directory
> get file
user%password puede ser especificado con -U o por definir y exportando las variables de
entorno USER y PASSWD

Herramienta cliente de Samba: nmblookup


Lista maquina especifica
nmblookup -U WINS_server -R name
Lista todas las maquinas
nmblookup \*

Herramienta cliente de Samba: mounts


Los sistema de archivos SMB y CIFS son soportados por el ncleo de Linux
Utilizar mount para montar un recurso compartido Samba:
mount -t cifs service mountpoint -o option1,option2

Montar sistemas de ficheros Samba con /etc/fstab


Montajes de Samba se pueden realizar automticamente tras el arranque del sistema
mediante la colocacin de una entrada en /etc/fstab
Especificar la ruta UNC para el servidor Samba, el punto de montaje, cifs como el tipo de
formato, y un nombre de usuario.
//stationX/homes /mnt/homes cifs username=bob,uid=bob 00

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-60


UNIDAD 8 SERVICIOS WEB

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-61


Introduccin a Apache, Configurar el servidor Apache
Control de Procesos:
Genera procesos antes de necesitarlos
Adapta nmeros de procesos a la demanda
Carga dinmica de modulo:
En tiempo de ejecucin ampliacin sin recompilar
Virtual hosts:
Mltiples sitios web pueden compartir el mismo servidor web
Tipo: Servicio gestionado SystemV
Paquetes: httpd, httpd-devel, httpd-manual
Demonio: /usr/sbin/httpd
Script: /etc/init.d/httpd
Puertos: 80(http ), 443(https )
Configuracin: /etc/httpd/*, /var/www/*
Relacionados: system-config-httpd, mod_ssl
Configuracin del servidor principal almacenada en /etc/httpd/conf/httpd.conf
Controles generales, parmetros del servidor web, virtual hosts regulares, y acceso
Define nombre de archivos y mime-types
Archivo de configuracin de modulo son almacenado en /etc/httpd/conf.d/*
DocumentRoot por defecto /var/www/html/
Configuracin Servidor Apache
Min y Max servidores de repuesto ( spare )
Configuracin archivo de registro
Bsqueda de nombre de maquina
Mdulos
Virtual Hosts
usuario y grupo

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-62


Configuracin de espacio de nombre de Apache
Especificando un directorio para paginas de usuarios:
UserDir public_html
Configuracin de MIME types:
AddType application/x-httpd-php .phtml
AddType text/html .htm
Declarando archivos de inicio por defecto:
DirectoryIndex index.php index.html default.htm cualqui.era

Hosts virtuales
NameVirtualHost 192.168.0.100:80
<VirtualHost 192.168.0.100:80>
ServerAdmin web@master.es
DocumentRoot /var/www/html/virt1
ServerName virt1.com
ServerAlias www.virt1.com
ErrorLog logs/virt1.error
CustomLog logs/acceso.virt1 common
</VirtualHost>
<VirtualHost 192.168.0.100:80>
ServerAdmin web@master.es
DocumentRoot /var/www/html/virt2
ServerName www.virt2.com
ServerAlias virt2.com
ErrorLog logs/virt2.error
CustomLog logs/acceso.virt2 common
</VirtualHost>

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-63


Configurar el control de acceso de Apache
Apache provee control de nivel acceso a directorio y archivo basado en maquina
Especificaciones de maquina puede incluir punto notacin numrica, red/mascara, y punto
notacin nombre de maquina y dominios
La declaracin Order provee control sobre "order", pero no siempre de la manera esperada
Herramientas de comprobacin de sintaxis de Apache
service httpd configtest
apachectl configtest
httpd -t
Verificar tanto httpd.conf y ssl.conf
Usar ficheros .htaccess
Cambiar la configuracin directorios:
Agregar las definiciones mime-type
Permitir o denegar determinadas maquinas
Configurar base de datos de usuario y contrasea:
Directiva AuthUserFile
Comando htpasswd: htpasswd -cm /etc/httpd/.htpasswd bob
htpasswd -m /etc/httpd/.htpasswd alice

Ejemplo avanzado de .htaccess


AuthName "Bob's Secret Stuff"
AuthType basic
AuthUserFile /var/www/html/.htpasswd
AuthGroupFile /var/www/html/.htgroup
<Limit GET>
require group staff
</Limit>
<Limit PUT POST>
require user bob
</Limit>

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-64


Mdulos importantes de Apache
mod_perl mod_php mod_speling
Cifrado de comunicaciones con Apache
Apache y SSL: https (port 443)
mod_ssl
/etc/httpd/conf.d/ssl.conf
Configuracin de cifrado:
Certificado: /etc/pki/tls/certs/your_host.crt
Llave privada: /etc/pki/tls/private/your_host.key
Generacin de Certificado/Llave: /etc/pki/tls/certs/Makefile
Certificado auto-firmado: make testcert
Solicitud de firma de certificado: make certreq
Proxy cach con Squid
Squid soporta almacenamiento en cache de FTP, HTTP, y otros flujos de datos
Squid enviar solicitudes SSL directamente al servidor origen o a otro proxy
Squid incluye caractersticas avanzadas incluyendo listas de control de acceso, Jerarqua
de cache, y aceleracin HTTP
Tipo:Servicio gestionado SystemV
Paquete: squid Puerto: 3128(squid), (configurable)
Demonio: /usr/sbin/squid
Script: /etc/init.d/squid
Configuracin: /etc/squid/*
Parmetros tiles del fichero /etc/squid/squid.conf
http_port 3128
cache_mem 16 MB
cache_dir ufs /var/spool/squid 1024 16 256
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
http_access allow localhost
http_access deny all

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-65


UNIDAD 9 SERVICIOS DE CORREO
ELECTRNICO

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-66


Fundamentos del correo electrnico

Simple Mail Transport Protocol (SMTP)


RFC-Protocolo estndar para conversar con MTA's
Casi siempre se utiliza el puerto TCP 25
SMTP extendido (ESMTP) provee caractersticas avanzadas para MTA's
Un MTA usa a menudo Local Mail Protocolo Transport (LMTP) para hablar a s mismo
Ejemplo MSP:
mail -vs 'Some Subject' student@stationX.example.com
Usar telnet para solucionar problemas de conexiones SMTP

Cortafuegos y SMTP
Capa de red con Netfilter inspeccin de estado
Entrante y saliente en puerto TCP 25
Capa de aplicacin para proteccin de retransmisin
MTA Interno para que los usuario conecten para enviar y recibir
Maquina inteligente saliente basado en DMZ que retransmite correo de el MTA interno
Concentrador correo entrante basado en DMZ que retransmite correo a el MTA interno
Reglas de filtrado dentro del MTA's DMZ o aplicaciones integradas(ej:Spamassassin)

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-67


Mail Transport Agents (MTA)
CentOS Linux incluye tres MTA's: Sendmail , Postfix (MTA por defecto), y Exim
Caractersticas comunes
Soporte a virtual hosting
Provee re-intento automtico para fallas de entrega y otras condiciones de error
Interoperable con Spamassassin
Control de acceso por defecto
Sendmail y Postfix no tienen componentes setuid
Escucha solo en loopback
Reenvo esta des-habilitado
Utilizar alternatives para seleccionar MTA
Descripcin del sistema alternatives
Despliega o configura MTA preferido y paginas de manual basado en nombre genrico
Nombre genrico es un enlace a un enlace en /etc/alternatives/
Solo los enlace en /etc/alternatives/ son modificados
Cambiando entre MTA's
Detener el actual MTA y des-habilitar arranque al inicio
alternatives --config mta y hacer una eleccin
Iniciar el nuevo MTA y permitir el arranque al inicio
Interfaz Grfica: paquete system-switch-mail-gnome
Introduccin a la configuracin de Postfix
Tipo: Servicio gestionado System V
Paquete: postfix
Demonios: /usr/libexec/postfix/master y otros
Script: /etc/init.d/postfix
Puerto: 25 (smtp)
Configuracin: /etc/postfix/main.cf y otros
Relacionados: procmail
Introduccin a la configuracin de Postfix
/etc/postfix/main.cf

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-68


Pares Llave=valor, son evaluados en el orden en que ellos aparecen
Espacio en blanco al inicio de linea es carcter de continuacin
Llaves pueden ser usados como variables para posteriores pares de llave=valor
llave1=valor1
llave2=$llave1, valor2
postconf
Desplegar por defecto: postconf -d
Desplegar actuales configuraciones no por defecto: postconf -n
Modificar main.cf: postconf -e llave=valor
Mostrar mapas de tipo soportados: postconf -m
Configuracin de correo entrante/saliente de postfix
Configuracin entrante Postfix
Modificar /etc/postfix/main.cf
Escuchar en todas las interfaces
inet_interfaces = all
Especificar cada nombre y el alias por el cual el servidor puede ser referido
mydestination = $myhostname,localhost.$mydomain,localhost,$mydomain
Agregar reglas Netfilter para permitir trafico SMTP
Reiniciar postfix
Configuracin Saliente Postfix
CentOS provee por defecto un /etc/postfix/main.cf
Activa Postfix para actuar como un cliente MSP
Ninguna otra configuracin adicional es necesaria para una sola maquina
Postfix automticamente resuelve nombre de maquina local y dominio
Para hacerse pasar como un dominio
myorigin = $mydomain
masquerade_exceptions = root

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-69


Alias para correo entrante en Postfix
Alias locales: /etc/aliases
Alias Virtuales
1. Habilitar en main.cf
virtual_alias_maps = hash:/etc/postfix/virtual
2. Definir en /etc/postfix/virtual usando el mismo formato como en Sendmail
3. Rehash el archivo: postmap /etc/postfix/virtual
Reescritura de direcciones para correo saliente en Postfix
1. Habilitar en /etc/postfix/main.cf
smtp en el nombre de clave indica slo SMTP(no LMTP )
smtp_generic_maps = hash:/etc/postfix/generic
2. Definir en /etc/postfix/generic
paul@example.com paul@otherexample.com
david@example.com david.lastname@example.com
3. Rehash el archivo: postmap /etc/postfix/generic
Restricciones SMTP en Postfix, funcionamiento de Postfix
Restricciones SMTP en Postfix
1. Crear /etc/postfix/access
Sin etiquetas la versin del archivo de acceso de Sendmail
rehash usando postmap /etc/postfix/access
2. Editar main.cf
smtpd_TAG_restrictions = check_TAG_access hash:/etc/postfix/access, ...
TAG es uno de sender, recipient, o client
Ejemplo:
smtpd_recipient_restrictions =
check_recipient_access hash:/etc/postfix/access,
permit_mynetworks, reject_unauth_destination
Operacin de Postfix
Ajustes en main.cf
Nombres del Servidor: mydestination debe contener el nombre del servidor y alias

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-70


Interfaces de escucha: inet_interfaces = all
Archivar todos los mensajes: always_bcc = address
Ver intercambio SMTP: mail -v user@domain.tld
Ver mensajes diferidos: postqueue -p
Limpiar mensajes diferidos: postqueue -f
Seguir los registros: tail -f /var/log/maillog
Procmail, un Mail Delivery Agent (MDA)
Diferentes usos incluyen:
Ordenar el correo entrante en diferentes carpetas o archivos
Pre-procesamiento de correo
Iniciar un evento o programa cuando es recibido un email
Automticamente reenvo de correo a otros
Habilitando Procmail
Sendmail: habilitado por defecto
Postfix: modificar /etc/postfix/main.cf
mailbox_command = /usr/bin/procmail
Control de acceso en Procmail, configuracin de Procmail
Controles Iniciales
Poltica de SELinux restringe utilidades de correo para ciertos directorios
Procmail se ejecuta como usuario nobody
Procmail tiene como grupo mail
/var/spool/mail es pueden escribir root y el grupo mail
Requerido: cambiar el binario procmail para ejecutar con setgid
chmod g+s $(cual procmail)
Introduccin a la configuracin de Procmail
Los archivos de configuracin se procesan en orden si es que existen
1. /etc/procmailrc
2. ~/.procmailrc
Los elementos dentro de un fichero de configuracin
Directivas: VERBOSE=yes

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-71


Variables: LOGFILE=/var/spool/mail/procmail.log
Recetas: Inicie con un :0 linea y flags
Cero o mas coincidencia de lineas usando expresiones regulares
Una o ms lineas de accin
Ejemplos de receta Procmail
:0*
^From.*joshua*
^Subject:.*ADSL
{
:0 c
! Jim@somedomain.org
:0:
ADSL
}
paginas de manual: procmailex, procmailrc, procmail
Protocolos de recuperacin de correo
Post Office Protocol (POP3)
Todos los datos, incluyendo contraseas, es pasado sin cifrar sobre puerto 110 TCP
Utilizar POP3S para proveer cifrado SSL de datos sobre puerto 995 TCP
Internet Mail Access Protocol (IMAP)
Todos los datos, incluyendo contraseas, es pasado sin cifrar sobre puerto 143 TCP
Utilizar IMAPS para proveer cifrado SSL de datos sobre puerto 993 TCP
Dovecot soporta POP3, POP3S, IMAP, y IMAPS
Configuracin de Dovecot
Tipo: Servicio gestionado SystemV
Paquete: dovecot
Demonio: /usr/sbin/dovecot
Script: /etc/init.d/dovecot
Puertos: 110 (pop3), 995 (pop3s), 143 (imap), 993 (imaps)
Configuracin: /etc/dovecot.conf

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-72


Relacionados: procmail, fetchmail, openssl
Configuracin Dovecot
Escucha en todas las interfaces IPv6 y IPv4 por defecto
Especificar protocolos en /etc/dovecot.conf
protocols = imap imaps pop3 pop3s
Hacer una llave privada y auto firmar un certificado antes usando SSL
1. Confirmar fecha del sistema para evitar problemas de fecha
2. Revisar /etc/dovecot.conf para localizacin de llaves y certificados
3. Ejecutar make -C /etc/pki/tls/certs dovecot.pem
Crea un nico archivo PEM conteniendo ambos la llave y el certificado
4. Copiar el nuevo archivo PEM a ambas localizaciones
Comprobar el funcionamiento del protocolo POP y/o IMAP
Verificando operacin de POP
Verificar la operacin del servidor
Grfica: Thunderbird y Evolution
Modo texto: Mutt y Fetchmail
mutt -f pop://user@server[:port]
mutt -f pops://user@server[:port]
Tambin se puede usar telnet (POP3) o openssl s_client (POP3S)
Identificar problemas con la fecha del certificado o permisos
Verificando operacin de IMAP
Verificando operacin del servidor
Grfica: Thunderbird y Evolution
Modo Texo: Mutt y Fetchmail
mutt -f imap://user@server[:port]
mutt -f imaps://user@server[:port]
Tambin se puede usar telnet (IMAP) o openssl s_client (IMAPS)
Identificar los problemas con la fecha del certificado o permisos

Servicios y Seguridad en Linux LCC201 Ver.1.1. 1-73