Vous êtes sur la page 1sur 44

GNU/Linux

Servicios en GNU/Linux
Esteban De La Fuente Rubio
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
ndice de contenido
1 Introduccin............................................................................................................................4
1.1 Objetivos...........................................................................................................................4
2 DHCP.....................................................................................................................................5
2.1 Configuracin bsica........................................................................................................6
2.2 DHCP esttico.................................................................................................................7
2.3 BOOTP.............................................................................................................................7
2.3.1 CentOS.....................................................................................................................8
2.3.2 FreeDOS...................................................................................................................8
2.3.3 Utilidades..................................................................................................................9
2.3.4 Men.........................................................................................................................9
2.4 Ejercicios........................................................................................................................11
3 DNS......................................................................................................................................12
3.1 Instalacin......................................................................................................................13
3.2 Configuracin.................................................................................................................13
3.2.1 Servidor maestro.....................................................................................................13
3.2.2 Servidor esclavo.....................................................................................................17
3.2.3 Configuracin de zonas en servidor maestro.........................................................17
3.3 Ejercicios........................................................................................................................19
4 Web......................................................................................................................................20
4.1 Instalacin......................................................................................................................20
4.2 Configuracin general....................................................................................................21
4.3 Mdulos..........................................................................................................................21
4.4 Dominios virtuales.........................................................................................................21
4.5 PHP................................................................................................................................22
4.6 SSL................................................................................................................................23
4.6.1 Crear los certificados..............................................................................................23
4.6.2 Firmar el certificado................................................................................................23
4.6.3 Agregar certificados................................................................................................24
4.6.4 Mltiples dominios utilizando SSL..........................................................................24
4.7 suPHP............................................................................................................................24
4.8 Ejercicios........................................................................................................................25
5 PAM......................................................................................................................................26
5.1 Instalacin......................................................................................................................26
5.2 Base de datos MySQL...................................................................................................27
5.2.1 Instalacin...............................................................................................................27
5.2.2 Creacin de base de datos.....................................................................................27
5.3 Configuracin.................................................................................................................28
5.4 Ejercicios........................................................................................................................28
2013-01-11 Esteban De La Fuente Rubio 2/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
6 FTP.......................................................................................................................................29
6.1 Instalacin......................................................................................................................29
6.2 Configuracin.................................................................................................................29
6.2.1 PAM.........................................................................................................................29
6.2.2 SELinux..................................................................................................................29
6.3 Ejercicios........................................................................................................................29
7 SAMBA.................................................................................................................................30
7.1 Instalacin.......................................................................................................................30
7.2 Configuracin.................................................................................................................31
7.2.1 PAM.........................................................................................................................32
7.2.2 SELinux...................................................................................................................33
7.2.3 Auditora..................................................................................................................33
7.3 Pruebas..........................................................................................................................34
7.4 Ejercicios........................................................................................................................34
8 Recursos..............................................................................................................................35
2013-01-11 Esteban De La Fuente Rubio 3/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
1 Introduccin
El curso de servicios esta diseado para entregar una gua en la instalacin y
configuracin de diversos servicios necesarios en la mayora de las empresas, enfocndose,
bsicamente, en las reas:
Servicios web
Intercambio de archivos
Los temas anteriores corresponden a servicios estndares que pueden ser necesarios
en la mayora de las empresas donde el administrador se encuentre trabajando.
Se recomienda al lector leer antes el curso de Introduccin a GNU/Linux ya que en el
se ven conceptos bsicos que debe tener presente todo administrador del sistema operativo
GNU/Linux. Adicionalmente para aspectos relacionados con administracin de usuarios y
redes se recomienda leer el curso Administracin de GNU/Linux.
Durante el desarrollo del curso se utilizar la distribucin GNU/Linux CentOS (en su
versin 6.2). Esta distribucin es compilada por una comunidad de usuarios a partir del
cdigo que la empresa Red Hat Linux libera de su distribucin Red Hat Linux Enterprise. Se
utilizar esta distribucin ya que es bsicamente una versin de Red Hat sin los
componentes comerciales de dicha compaa, compatible completamente con esta y con los
productos que otras empresas ofrecen para dicha distribucin.
El hardware a utilizar puede ser real o virtual, al igual que en los anteriores cursos. No
existen requisitos especficos en cuanto a disco duro, ni esquema de distribucin del mismo o
cantidad de interfaces de red. Sin embargo de considerarse necesario se indicarn consejos
para mejorar el funcionamiento del sistema en cada tema que se discuta. Adicionalmente se
fija IPv4 para ser utilizado en las configuraciones de los servicios.
1.1 Objetivos
Realizar la instalacin de diferentes servicios sobre plataforma GNU/Linux.
2013-01-11 Esteban De La Fuente Rubio 4/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
2 DHCP
El protocolo DHCP (Dynamic Host Configuration Protocol) permite a los clientes de
una red obtener sus parmetros de configuracin de manera automtica. Un cliente al
conectarse a la red enviar solicitudes consultando por un servidor DHCP que pueda
entregar las datos para que este pueda conectarse a la red. Los parmetros bsicos que son
entregados por el servidor DHCP son la IP y mscara de red de la misma, sin embargo otros
parmetros pueden ser entregados como rutas por defectos, servidores DNS o servidores
NTP, por ejemplo. Se utilizar la implementacin ISC DHCP para proveer del servicio a la red
en CentOS.
El esquema de conexin que se propone en la Topologa 1 para el ejercicio considera
la instalacin del servicio DHCP en la mquina que cumple la funcin de proxy y firewall hacia
Internet, sin embargo es importante considerar que el servicio puede estar instalado en
cualquier mquina de la red, no necesariamente en esta. Sin embargo existen servicios en
las empresas que se instalan en las mismas mquina para evitar tener una mquina por cada
servicio que se esta implementando. Adicionalmente solo se esta mostrando la configuracin
para una interfaz de red, pero se debe considerar que la configuracin de n interfaces ser
muy similar a la presentada.
Topologa 1: Ejercicio DHCP
Se asume eth0 ya configurado (ya sea por DHCP o bien IP esttica, a continuacin se
indican la configuracin para la interfaz eth1 y el acceso hacia la red de Internet desde la
LAN.
Configurar interfaz eth1
# ip addr add 10.0.0.1/24 brd + dev eh1
Habilitar forward de paquetes
2013-01-11 Esteban De La Fuente Rubio 5/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
echo 1 > /proc/sys/ne/ipv4/ip_forward
Instalacin del servicio
# yum insa11 dhcp
2013-01-11 Esteban De La Fuente Rubio 6/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
2.1 Configuracin bsica
Configuracin del servicio (ejemplo del archivo en /usr/share/doc/dhcp*/dhcpd.conf.sample)
# /ec/dhcp/dhcpd.conf
# configuracion comn a odas 1as redes
1og-faci1iy 1oca10, # 1ogs
defau1-1ease-ime 600, # asignacion en segundos
max-1ease-ime 7200, # mxima asignacion en segundos
auhoriaive, # ese servidor es e1 principa1 servidor dhcp
opion domain-name "sasco.c1", # nombre de dominio
opion domain-name-servers 208.67.220.220, 208.67.222.222, # dns
#np-servers np.shoa.c1, # np
# configuracion de 1a red 10.0.0.0/24
subne 10.0.0.0 nemas' 255.255.255.0 {
range 10.0.0.100 10.0.0.254,
opion rouers 10.0.0.1,
}
Iniciar servicio
# service dhcpd sar
Agregar el servicio para que sea ejecutado al inicio del sistema
# ch'config dhcpd on
Conectar un cliente (ejemplo bart) y verificar asignacin de ip
# ip addr show eh0
Verificar rutas
# ip roue show
Verificar servidores DNS
# ca /ec/reso1v.conf
Ping hacia la puerta de enlace
# ping 10.0.0.1
Ping hacia e servidor DNS de OpenDNS
# ping 208.67.222.222
2013-01-11 Esteban De La Fuente Rubio 7/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
2.2 DHCP esttico
# configuracion dhcp esico
hos bar {
hardware eherne 0:0:c0:5d:bd:95,
fixed-address 10.0.0.2,
}
2.3 BOOTP
BOOTP (Bootstrap protocol) es un protocolo de red UDP que permite a computadores
que estn iniciando arrancar desde la red. Esto permite, por ejemplo, arrancar terminales
para conectarse a un mainframe o bien para procesos de instalacin del sistema operativo
por red. El servidor ISC DHCP permite mediante DHCP el uso de BOOTP, entregando a los
equipos la posibilidad de arrancar por red. Para utilizar esta funcionalidad se requiere aparte
del servidor DHCP un servidor TFTP que contendr los ficheros para arrancar la mquina, y
claro se necesitan dichos ficheros (kernel, configuraciones, etc).
# archivo para booear en red (ubicado en /var/1ib/fpboo)
nex-server 10.0.0.1,
fi1ename "pxe1inux.0",
Ya que lo anterior es ubicado en el rea global permitir bootear a cualquier equipo que se
conecte al servidor DHCP utilizando el men de syslinux. No olvidar que esta configuracin (al
igual que otras de la seccin global) puede ser especificada por red o incluso por host (hasta
usando IP esttica). Adems recordar cambiar la IP por la que tenga el servidor TFTP.
Instalacin servidor TFTP
# yum insa11 fp-server
El servidor TFTP instalar (de no existir) el servicio xinetd el cual es utilizado para
arrancar el servicio TFTP, por lo cual ambos deben ser activados al inicio del sistema para la
correcta ejecucin del servidor TFTP. Adems se debe abrir el puerto UDP 69.
# ch'config xined on
# ch'config fp on
Reiniciar servicio xinetd
# service xined resar
Instalacin de syslinux (esto incluye lo necesario para utilizar PXE)
# yum insa11 sys1inux
2013-01-11 Esteban De La Fuente Rubio 8/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
El directorio para los archivos del servidor TFTP es /var/lib/tftpboot y en el se deben copiar
los siguientes archivos para poder arrancar con PXE:
# cp /usr/share/sys1inux/pxe1inux.0 /var/1ib/fpboo/
# cp /usr/share/sys1inux/menu.c32 /var/1ib/fpboo/
# cp /usr/share/sys1inux/vesamenu.c32 /var/1ib/fpboo/
# cp /usr/share/sys1inux/memdis' /var/1ib/fpboo/
# cp /usr/share/sys1inux/mboo.c32 /var/1ib/fpboo/
# cp /usr/share/sys1inux/chain.c32 /var/1ib/fpboo/
# cp /usr/share/sys1inux/pxechain.com /var/1ib/fpboo/
2.3.1 CentOS
Crear directorio para imgenes CentOS y copiarlas (respetar el formato:
distribucin/versin/arquitectura)
# m'dir -p /var/1ib/fpboo/images/cenos/6.2/i386
# cd /var/1ib/fpboo/images/cenos/6.2/i386
# wge hp://fp.inf.ufsm.c1/pub/Linux/CenOS/6.2/os/i386/\
images/pxeboo/inird.img
# wge hp://fp.inf.ufsm.c1/pub/Linux/CenOS/6.2/os/i386/\
images/pxeboo/vm1inuz
# m'dir -p /var/1ib/fpboo/images/cenos/6.2/x86_64
# cd /var/1ib/fpboo/images/cenos/6.2/x86_64
# wge hp://fp.inf.ufsm.c1/pub/Linux/CenOS/6.2/os/x86_64/\
images/pxeboo/inird.img
# wge hp://fp.inf.ufsm.c1/pub/Linux/CenOS/6.2/os/i386/\
images/pxeboo/vm1inuz
2.3.2 FreeDOS
Crear directorio para imgenes FreeDOS y copiarlas
# m'dir -p /var/1ib/fpboo/images/dos
# cd /var/1ib/fpboo/images/dos
# wge hp://www.ibib1io.org/pub/micro/pc-suff/freedos/fi1es/\
disribuions/1.0/fdboo.img
2013-01-11 Esteban De La Fuente Rubio 9/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
2.3.3 Utilidades
Crear directorio para utilidades y agregarlas
# m'dir /var/1ib/fpboo/images/ui1s
# cd /var/1ib/fpboo/images/ui1s
memtest86+
# wge hp://fp.inf.ufsm.c1/pub/Linux/cenos/6.2/os/x86_64/\
iso1inux/memes
2.3.4 Men
Se mostrar a continuacin como crear las opciones de men para las imgenes
antes explicadas, si alguna no se utilizar no es necesario declararla en el men.
Crear directorio para los mens PXE
# m'dir /var/1ib/fpboo/pxe1inux.cfg
Por defecto se buscar el archivo default dentro del directorio anterior (en realidad es la
ltima opcin buscada, ver recursos PXE detallado), este archivo contendr las opciones
para la ejecucin al cargar por red, lo cual puede ser directamente cargar una imagen o, lo
que se hace en este ejemplo, desplegar un men con diversas opciones.
El uso de un men permitir generar todas las opciones que sean necesarias para
poder arrancar los equipos de la red. Las opciones a utilizar en el men son bastantes, las
cuales permiten personalizar bastante el men para PXE, se recomienda ver en los recursos
el enlace a menu.c32
Descargar imagen para el fondo del men (debe ser JPG o PNG de 640x480px)
# wge hp://i76.phoobuc'e.com/a1bums/_37/Moeppe/\
pxe_booscreen01.png -O /var/1ib/fpboo/sp1ash._pg
Crear archivo con el mensaje de ayuda
# /var/1ib/fpboo/he1p.msg
== AYUA ==
E1i_a una opcion de1 menu para arrancar e1 sisema
2013-01-11 Esteban De La Fuente Rubio 10/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Crear el men, en la Imagen 1 ver el resultado de esta configuracin
# /var/1ib/fpboo/pxe1inux.cfg/defau1
EEAULT vesamenu.c32
RROMRT 0
TIMEOUT 300
ONTIMEOUT 1oca1
MENU TITLE RXE boo menu
MENU BACKGROUN sp1ash._pg
E1 he1p.msg
LABEL 1inux
MENU LABEL GNU/Linux:
MENU ISABLE
LABEL cenos_i386
MENU LABEL CenOS 6.2 i386
MENU INENT 1
KERNEL images/cenos/6.2/i386/vm1inuz
ARREN inird=images/cenos/6.2/i386/inird.img ip=dhcp
LABEL cenos_amd64
MENU LABEL CenOS 6.2 x86_64
MENU EEAULT
MENU INENT 1
KERNEL images/cenos/6.2/x86_64/vm1inuz
ARREN inird=images/cenos/6.2/x86_64/inird.img ip=dhcp
MENU SERARATOR
LABEL ui1s
MENU LABEL Ui1idades:
MENU ISABLE
LABEL memes
MENU LABEL ^Memes86+ 4.10
MENU INENT 1
KERNEL images/ui1s/memes
2013-01-11 Esteban De La Fuente Rubio 11/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
MENU SERARATOR
LABEL dos
MENU LABEL OS:
MENU ISABLE
LABEL freedos
MENU LABEL ^EreeOS 1.0
MENU INENT 1
KERNEL memdis'
ARREN inird=images/dos/fdboo.img
Imagen 1: Men de arranque con las opciones definidas
2.4 Ejercicios
1. Por qu el servicio DHCP falla si es iniciado inmediatamente despus de la
instalacin?
2. Por qu se puede realizar ping a la puerta de enlace pero no a la IP de OpenDNS?
3. Cuales son las ventajas de utilizar PXE para arrancar por red?
4. La configuracin para arrancar el instalador de CentOS est incompleta, corregirla.
5. Cmo arrancar una imagen ISO de GNU/Linux mediante PXE?
6. Utilizar TCOS para arrancar un sistema operativo para terminales tontas.
2013-01-11 Esteban De La Fuente Rubio 12/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
3 DNS
El servicio de DNS (Domain Name Server) permite realizar la traduccin de
direcciones en lenguaje humano (nombre de host y nombre de dominio) a direcciones IP.
Existen diferentes conceptos relacionados con DNS que se explicarn a lo largo de este
captulo como resolucin normal resolucin inversa, zonas y vistas. La implementacin de
DNS que se utilizar para trabajar corresponde a la patrocinada por la ISC denominada Bind
(Berkeley Internet Name Domain) el cual es la versin ms utilizada en sistemas operativos
like Unix
1
.
La Imaen ! es una situacin "ipot#tica $ue involucra los conceptos $ue se de%en
mane&ar para poder comprender la con'iuracin del servicio de DN( utilizando BIND.
Imagen 2: Conceptos relacionados con DNS
Una con'iuracin sencilla del servicio de DN( solo re$uerir de un servidor maestro
sin vistas y al menos una zona de'inida para cada tipo de resolucin )normal e inversa). *
pesar del o anterior se recomienda siempre utilizar vistas+ ya $ue de "acerlo y re$uerir en el
'uturo cam%ios $ue las consideren el tra%a&o a realizar ser menor y "a%r menos riesos de
da,ar la con'iuracin ya 'uncional.
-onsiderando un es$uema similar al presentado en la .opolo/a 1 del e&ercicio de
D0-1 )pina 2)+ se realizar el siuiente e&ercicio3 (e crear un servidor de DN( con dos
vistas+ una para la red 14.4.4.45!6 y otra para la red externa+ el servicio de%er estar
1La aplicacin se encuentra disponible para mltiples sistemas operativos, incluyendo Microsoft Windows, por lo
cual las explicaciones realizadas sern aplicables en dicha plataforma.
2013-01-11 Esteban De La Fuente Rubio 13/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
espe&ado en un DN( esclavo y los servidores para consultas sern lo de 7penDN(. No se
considerar deleacin de zonas de un DN( a otro+ se asume $ue todas las zonas son
mane&adas por un mismo servidor DN(. Las zonas a con'iurar se pueden apreciar en la
.a%la 1.
Vista A (red interna) Vista B (red externa)
0.0.10.in-addr.arpa
sasco.cl
facebook.com
1.16.172.in-addr.arpa (asumiendo esta como red externa)
sasco.cl
Tabla 1: Zonas ejercicio DNS
Cada zona normal definida deber contener al menos dos subdominios (diferentes a
www) y se deber determinar que direcciones se resolvern en el caso de cada zona.
Adems en el caso de la red local se deber determinar que nombres de host y dominio
utilizar en la resolucin inversa.
3.1 Instalacin
Existen dos paquetes de BIND en CentOS, bind y bind-chroot, el segundo es la misma
implementacin que la primera, pero enjaulada. Esto provee un nivel extra de seguridad, sin
embargo aqu se utilizar la versin no enjaulada para permitir que los archivos de
configuracin de zonas puedan existir en los directorios de los usuarios, no donde por
defecto debieran ser almacenados. Notar que ambos paquetes corresponden a la versin 9
del servicio.
# yum insa11 bind bind-ui1s
Iniciar servicio
# service named sar
Activar al inicio
# ch'config named on
3.2 Configuracin
El archivo principal de configuracin del servicio de DNS se encuentra en
/etc/named.conf, el cual por defecto viene configurado para funcionar como un servidor de
cach local solamente. A continuacin se presenta la estructura de directorio a utilizar y las
configuraciones necesarias para el ejercicio propuesto.
3.2.1 Servidor maestro
El servidor maestro ser aquel que poseer la configuracin de las zonas del servidor,
2013-01-11 Esteban De La Fuente Rubio 14/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
a l se conectar el esclavo para conseguir las actualizaciones. La estructura de directorios a
utilizar ser:
/var/named/zones/maser/<visa>/<zona>
As se tendr por ejemplo
/ec/named/zones/maser/inerna1/sasco.c1
Notar que no se utilizar el la estructura de directorios definida por defecto, sino que se usar
una propia.
Respaldar archivo de configuracin principal por defecto
# cp /ec/named.conf /ec/named.conf.ba'
Archivo de configuracin principal
# /ec/named.conf
// C1ienes de 1a red 1oca1
ac1 c1iens {
127.0.0.1,
::1,
10.0.0.0/24,
},
// opciones genera1es de1 servicio
opions {
1isen-on { any, },
1isen-on-v6 { any, },
a11ow-query { any, },
recursion yes,
a11ow-recursion { c1iens, },
forwarders { 208.67.222.222, 208.67.220.220, },
// direcorios y archivos
direcory "/var/named",
dump-fi1e "/var/named/daa/cache_dump.db",
saisics-fi1e "/var/named/daa/named_sas.x",
memsaisics-fi1e "/var/named/daa/named_mem_sas.x",
2013-01-11 Esteban De La Fuente Rubio 15/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
// opciones de 1a configuracion por defeco
dnssec-enab1e yes,
dnssec-va1idaion yes,
dnssec-1oo'aside auo,
bind'eys-fi1e "/ec/named.iscd1v.'ey",
},
// configuracion de 1ogging por defeco
1ogging {
channe1 defau1_debug {
fi1e "daa/named.run",
severiy dynamic,
},
},
// visa para 1a red inerna
view "inerna1" {
mach-c1iens { c1iens, },
// Zonas esndares
zone "." IN {
ype hin,
fi1e "named.ca",
},
inc1ude "/ec/named.rfc1912.zones",
// Zonas de1 e_ercicio
zone "0.0.10.in-addr.arpa" {
ype maser,
fi1e "zones/maser/inerna1/0.0.10",
noify yes,
a1so-noify { 10.0.0.2, },
a11ow-ransfer { 10.0.0.2, },
},
zone "sasco.c1" {
2013-01-11 Esteban De La Fuente Rubio 16/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
ype maser,
fi1e "zones/maser/inerna1/sasco.c1",
noify yes,
a1so-noify { 10.0.0.2, },
a11ow-ransfer { 10.0.0.2, },
},
zone "faceboo'.com" {
ype maser,
fi1e "maser/inerna1/faceboo'.com",
noify yes,
a1so-noify { 10.0.0.2, },
a11ow-ransfer { 10.0.0.2, },
},
},
// visa para 1a red exerna
view "exerna1" {
mach-c1iens { any, },
// Zonas de1 e_ercicio
zone "1.16.172.in-addr.arpa" {
ype maser,
fi1e "zones/maser/inerna1/1.16.172",
noify yes,
a1so-noify { 10.0.0.2, },
a11ow-ransfer { 10.0.0.2, },
},
zone "sasco.c1" {
ype maser,
fi1e "maser/exerna1/sasco.c1",
noify yes,
a1so-noify { 10.0.0.2, },
a11ow-ransfer { 10.0.0.2, },
2013-01-11 Esteban De La Fuente Rubio 17/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
},
},
Notar que cada una de las zonas, de ambas vistas, permite ser transferida al servidor
10.0.0.2 el cual actuar como servidor esclavo de este.
2013-01-11 Esteban De La Fuente Rubio 18/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
3.2.2 Servidor esclavo
La configuracin del archivo named.conf para el servidor esclavo es casi idntica al del
servidor maestro, con la excepcin de las zonas, lo cual se detalla ms adelante. La
estructura de directorios a utilizar ser:
/var/named/zones/s1ave/<visa>/<zona>
As se tendr por ejemplo
/ec/named/zones/s1ave/inerna1/sasco.c1
En el caso de las configuraciones de las zonas estas variaran para poder solicitar al
servidor maestro las actualizaciones, se muestra a continuacin el ejemplo de las
modificaciones para la zona sasco.cl, otras zonas debern ser similares.
zone "sasco.c1" {
ype s1ave,
fi1e "zones/s1ave/inerna1/sasco.c1",
masers { 10.0.0.1, },
},
Para probar el servidor esclavo se deber cambiar a la red externa. En un ambiente
real el servidor esclavo deber poder ser accedido desde la red externa utilizando algn
mecanismo, como NAT.
3.2.3 Configuracin de zonas en servidor maestro
Zonas internas
Zona 0.0.10.in-addr.arpa
, /var/named/zones/maser/inerna1/0.0.10
$TTL 3600
@ IN SOA sasco.c1. roo ( , Auoridad para 1a zona
2011111301 , Seria1
3H , Cada cuano consu1ar
1H , Cada cuano reinenar
1W , Cuando de_ara de pregunar
1 ) , Tiempo minimo en e1 cache
@ IN NS sasco.c1.
2013-01-11 Esteban De La Fuente Rubio 19/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
1 IN RTR ns1.sasco.c1.
Zona sasco.cl
, /var/named/zones/maser/inerna1/sasco.c1
$TTL 3600
$ORIGIN sasco.c1.
@ IN SOA sasco.c1. roo (
2011111401
3H
1H
1W
1 )
IN NS sasco.c1.
IN A 10.0.0.1
IN MX 1 aspmx.1.goog1e.com.
IN MX 2 a11.aspmx.1.goog1e.com.
IN MX 2 a12.aspmx.1.goog1e.com.
IN MX 3 aspmx2.goog1emai1.com.
IN MX 3 aspmx3.goog1emai1.com.
IN MX 3 aspmx4.goog1emai1.com.
IN MX 3 aspmx5.goog1emai1.com.
* IN CNAME sasco.c1.
mai1 IN CNAME ghs.goog1e.com.
docs IN CNAME ghs.goog1e.com.
ca1endar IN CNAME ghs.goog1e.com.
, subdominios
$ORIGIN c1ienes.sasco.c1.
@ IN CNAME sasco.c1.
* IN CNAME sasco.c1.
$ORIGIN dev.sasco.c1.
@ IN CNAME sasco.c1.
2013-01-11 Esteban De La Fuente Rubio 20/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
* IN CNAME sasco.c1.
Zona facebook.com
, /var/named/zones/maser/inerna1/faceboo'.com
$TTL 3600
$ORIGIN faceboo'.com.
@ IN SOA faceboo'.com. roo (
2011111401
3H
1H
1W
1 )
IN NS faceboo'.com.
IN A 10.0.0.1
* IN CNAME faceboo'.com.
3.3 Ejercicios
1. Qu puerto utiliza DNS? TCP o UDP?
2. Qu relacin existe entre resolucin normal e inversa?
3. Si tengo 3 zonas normales en una vista, cuntas zonas inversas se requieren?
4. Cul es la relacin entre una zona type: master y una zona type: slave?
5. Cules son las diferencias al declarar la zona si se esta utilizando un subdominio?
6. Por qu el detalle de las zonas se configura solo en el servidor maestro?
7. Por qu el no publicar una zona o servicio no representa una medida de seguridad?
8. Por qu en la zona inversa interna se utiliza sasco.cl como dominio para resolver las
direcciones IP? Se podra utilizar otro dominio? cul?
9. Cul es la importancia del serial y su formato?
10. Qu registro se utiliza para indicar una traduccin a IPv4?
11. Cul es la ventaja de utilizar CNAME?
12. Qu significa el usar ORIGIN?
13. Cul es la diferencia entre que el dominio termine en punto y que no lo haga?
2013-01-11 Esteban De La Fuente Rubio 21/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
14. Cmo se configuran las zonas externas?
2013-01-11 Esteban De La Fuente Rubio 22/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
4 Web
Un servidor web entrega la posibilidad de hospedar pginas web en el servidor
GNU/Linux. Para esta seccin se utilizar el servidor Apache, el cual es el servidor ms
utilizado en sistemas operativos like Unix
2
. Las configuraciones expuestas en esta seccin
incluirn dominios virtuales y seguridad mediante SSL.
4.1 Instalacin
Se instalara la versin 2 de Apache, adicionalmente se instalar PHP como mdulo
del servidor web para ser utilizado como lenguaje de programacin de pginas web
dinmicas en el servidor.
# yum insa11 hpd php
Iniciar servicio
# service hpd sar
Activar al inicio
# service hpd on
Una vez realizada la instalacin se puede ingresar a la pgina por defecto del servidor
web mediante la IP de este. La pgina por defecto se puede apreciar en la Imagen 3, para
cambiar su contenido se debe crear, al menos, un archivo index.html en el directorio
/var/www/html
2La aplicacin se encuentra disponible para mltiples sistemas operativos, incluyendo Microsoft Windows, por lo
cual las explicaciones realizadas sern aplicables en dicha plataforma.
2013-01-11 Esteban De La Fuente Rubio 23/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Imagen 3: Pgina por defecto de Apache
Si lo que desea revisar la configuracin de PHP crear el archivo
/var/www/html/phpinfo.php y abrirlo.
<?php phpinfo(), ?>
4.2 Configuracin general
El archivo de configuracin corresponde al ubicado en /etc/httpd/conf/httpd.conf, el
cual por defecto viene preparado funcionar out of the box, un cambio a realizar en dicho archivo
es definir el nombre del servidor, para evitar una advertencia al iniciar el servicio, esto se
logra agregando lo siguiente al archivo (donde corresponda).
ServerName 1oca1hos:80
Adicionalmente mencionar que archivos ubicados en conf.d/*.conf se cargarn de
forma automtica.
4.3 Mdulos
El servidor web Apache posee un conjunto de caractersticas en su sistema central, y
adems posee la posibilidad de ampliarse mediante la utilizacin de mdulos. En CentOS los
mdulos disponibles se encuentran en el directorio /etc/httpd/modules
Activar mdulo rewrite (por defecto viene activado)
# /ec/hpd/conf/hpd.conf
LoadModu1e rewrie_modu1e modu1es/mod_rewrie.so
Notar la sintaxis corresponde al nombre del mdulo extrado del archivo ubicado en el
2013-01-11 Esteban De La Fuente Rubio 24/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
directorio modules/ ms _module, si queremos desactivarlo basta comentar o eliminar la
lnea.
4.4 Dominios virtuales
Si queremos hospedar ms de un dominio en el servidor deberemos recurrir al uso de
dominios virtuales, estos permitirn en un mismo servidor almacenar cuantos dominios
queramos. Personalmente se recomienda utilizarlos siempre, aunque solo se aloje un
dominio, ya que cuando eventualmente se requiera uno nuevo los cambios a realizar sern
mnimos.
Para utilizar dominios virtuales estos se pueden agregar al final del archivo, se deber
descomentar la siguiente configuracin
NameVirua1Hos *:80
En caso de acceder directamente a la IP del servidor o bien a cualquier dominio que
apunte a la IP del servidor y que no este definido dentro de los dominios virtuales dar como
resultado el despliegue del primer dominio virtual, para evitar esto se recomienda crear como
primer dominio virtual uno que apunte al directorio /var/www/html como se indica a
continuacin.
<Virua1Hos *:80>
ServerName 1oca1hos
ocumenRoo /var/www/hm1
</Virua1Hos>
2013-01-11 Esteban De La Fuente Rubio 25/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
El formato de la configuracin de un dominio virtual se describe, de forma bsica, a
continuacin.
<Virua1Hos *:80>
ServerAdmin webmaser@examp1e.com
ServerName examp1e.com
ServerA1ias www.examp1e.com
ocumenRoo /var/www/vhoss/examp1e.com /hdocs
ErrorLog 1ogs/examp1e.com-error_1og
CusomLog 1ogs/examp1e.com-access_1og common
</Virua1Hos>
La configuracin mostrada para dominio virtual implica que los dominios son
almacenados todos bajo /var/www/vhosts, sin embargo puede resultar interesante que sean
los usuarios del sistema los que tengan una carpeta /home/usuario/www donde dentro
definan los dominios virtuales, adicionalmente dicha carpeta puede servir para guardar la
configuracin de sus zonas de DNS. Personalmente recomiendo esta alternativa, sobre todo
si el sistema hospedar sitios que sern administrados por diferentes usuarios.
Lo anterior implicar cambios en la configuracin del dominio virtual donde en vez de ir
directamente en el archivo de configuracin de Apache se podr incluir a este de la siguiente
forma:
Inc1ude /home/usuario/www/examp1e.com/virua1hos.conf
El problema detectado con esta solucin es que si un usuario tiene su archivo mal
formado, o con una configuracin incorrecta (directorios que no existen) el proceso de carga
del servicio Apache caer, por lo cual se recomienda utilizar con cuidado.
4.5 PHP
PHP por defecto viene sin algunos componentes que pueden resultar tiles, la
instalacin de los mismos depender de los requerimientos del servidor web,
especficamente del lenguaje de programacin PHP. En la Tabla 2 se adjunta una lista con
los paquetes recomendados, la instalacin de estos se hace con la herramienta yum..
2013-01-11 Esteban De La Fuente Rubio 26/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Paquete Descripcin
php-gd Soporte para biblioteca grfica GD
php-mysql Soporte MySQL
php-pgsql Soporte PostgreSQL
php-pear Repositorio de extensiones y aplicaciones
Tabla 2: Paquetes PHP recomendados
4.6 SSL
La utilizacin de SSL permite realizar una conexin segura entre el servidor y el
cliente, esto se logra mediante la utilizacin de certificados digitales. Cada certificado es
firmado por una entidad certificadora que valida la veracidad de estos. A continuacin se
describen los pasos para crear los certificados, firmarlos y utilizarlos.
Instalar paquetes necesarios
# yum insa11 openss1 mod_ss1
4.6.1 Crear los certificados
Crear directorio para guardar los certificados del servidor
# m'dir -p /var/www/vhoss/examp1e.com/ss1
# cd /var/www/vhoss/examp1e.com/ss1
Generar clave: RSA, sin contrasea y de 2048 bits
# openss1 genrsa -ou examp1e.com.'ey 2048
Generar certificado para ser firmado, archivo CSR (Certificate Signing Request)
# openss1 req -new -'ey examp1e.com.'ey -ou examp1e.com.csr
Se preguntarn diferentes campos, donde el ms importantes es el Common Name, el
cual debe ser idntico al nombre de dominio que utilizar el certificado SSL en sus
conexiones. Lo otro importante es dejar la clave en blanco.
Ya que la clave no esta siendo guardada de forma encriptada es muy importante que
solo el usuario root (en realidad, el usuario dueo de la clave) puedan leerla.
4.6.2 Firmar el certificado
El archivo CSR generado anteriormente debe ser firmado por una entidad certificado,
por ejemplo una como Verisign, la cual verificar la autenticidad del mismo. Sin embargo en
2013-01-11 Esteban De La Fuente Rubio 27/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
este caso se muestra como auto firmar el certificado para efecto de pruebas o uso interno.
Esto generar un error en el navegador indicando que el certificado que utiliza el servidor
esta firmado por una entidad certificadora desconocida o no confiable.
# openss1 x509 -req -days 365 -in examp1e.com.csr -sign'ey \
examp1e.com.'ey -ou examp1e.com.cr
Si pretendemos firmar nosotros mismos todos los certificados que se generan para la
empresa, es recomendable generar una clave separada de la usada por el dominio
(example.com.key) una que sea propia del servidor, y con dicha clave firmar los archivos
CSR.
2013-01-11 Esteban De La Fuente Rubio 28/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Otra forma de crear la llave y el certificado firmado por nosotros mismos en una sola
lnea es:
# openss1 req -new -new'ey rsa:4096 -days 365 -nodes -x509 -sub_ \
"/C=CL/ST=Meropo1iana/L=Saniago/O=Examp1e/CN=examp1e.com" \
-'eyou examp1e.com.'ey -ou examp1e.com.cr
4.6.3 Agregar certificados
Los dominios virtuales deben ser definidos para utilizar el puerto 443 y no el 80,
adems se debe agregar dentro de la configuracin del dominio lo siguiente:
SSLEngine on
SSLCerificaeEi1e /var/www/vhoss/examp1e.com/ss1/examp1e.com.cr
SSLCerificaeKeyEi1e /var/www/vhoss/examp1e.com/ss1/examp1e.com.'ey
SeEnvIf User-Agen ".*MSIE.*" no'eepa1ive ss1-unc1ean-shudown
4.6.4 Mltiples dominios utilizando SSL
Por defecto no se puede utilizar ms de un dominio con SSL, y por defecto ya viene
definido uno en /etc/httpd/conf.d/ssl.conf.
Para habilitar mltiples dominios se debe agregar la siguiente opcin al archivo de
configuracin de Apache:
NameVirua1Hos *:443
Personalmente recomiendo utilizar esta configuracin, ya que permitir que mltiples
dominios puedan utilizar HTTPS.
4.7 suPHP
Un problema comn al ejecutar programas escritos en PHP es que todos estos (al
utilizar el mdulo para Apache de PHP) se ejecutan bajo el usuario Apache. Como alternativa
a esto, podemos ejecutar los scripts utilizando la CLI de PHP (o sea, no usando el mdulo
para Apache), al hacer esto podremos utilizar el mdulo suPHP que permitir ejecutar el
cdigo PHP con los permisos del propietario del fichero que contiene el cdigo.
A continuacin se indican los pasos para instalar y configurar el mdulo.
Descargar paquete
# wge hp://p'gs.repoforge.org/mod_suphp/mod_suphp-0.7.1-
1.e16.rf.i686.rpm
2013-01-11 Esteban De La Fuente Rubio 29/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Instalar
# rpm -ivh mod_suphp-0.7.1-1.e16.rf.i686.rpm
Editar el archivo de configuracin de suPHP
# /ec/suphp.conf
[g1oba1|
# [...|
min_gid=100
# [...|
[hand1ers|
[...|
app1icaion/x-hpd-php="php:/usr/bin/php-cgi"
En el archivo del mdulo, comentar todas las lneas dejando solo la que carga el mismo
# /ec/hpd/conf.d/suphp.conf
LoadModu1e suphp_modu1e modu1es/mod_suphp.so
En la configuracin del VirtualHost donde se quiere usar suPHP agregar:
php_admin_f1ag engine off
suRHR_Engine on
AddHand1er app1icaion/x-hpd-php .php
suRHR_AddHand1er app1icaion/x-hpd-php
suRHR_UserGroup <usuario> <grupo>
Reiniciar apache
# service hpd resar
Para probar el mdulo, crear el siguiente programa y ejecutarlo va web:
<?php sysem('/usr/bin/id'), ?>
En caso de problemas del tipo Internal Server Error revisar el registro de error de
apache para el VirtualHost, en este existir informacin que podr ayudar a resolver el
problema.
4.8 PHP APC
APC corresponde a Altertavice PHP Cache, un cach de opcode de PHP.
Instalacin
2013-01-11 Esteban De La Fuente Rubio 30/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
yum insa11 php-pec1-apc
4.9 Ejercicios
1. Para qu es utilizada la opcin -subj en openssl?
2. Implementar los dominios para las zonas definidas en el ejercicio de DNS (sasco.cl y
facebook.com) con todos sus subdominios definidos. Adicionalmente dos de los
subdominios debe utilizar SSL.
3. Por qu aparece el mensaje de certificado SSL no vlido? significa que la conexin
no es encriptada?
2013-01-11 Esteban De La Fuente Rubio 31/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
5 PAM
PAM (Pluggable authentication module) corresponde a un mdulo de autenticacin
que se ubica entre la aplicacin y el sistema contra el que se esta autenticando. De esta
forma una aplicacin en vez de soportar n sistema de autenticacin, puede soportar solo
autenticarse contra PAM, y este realizar la autenticacin contra el sistema que corresponda.
Obviamente PAM debe tener soporte para el sistema contra el que se desea autenticar,
actualmente existe soporte para una gran cantidad de fuentes.
El objetivo de este curso no es cubrir de forma terica PAM, ni tampoco todas las
configuraciones posibles, sino la situacin puntual descrita en el Dibujo 1, donde se muestra
como utilizar una base de datos para almacenar los usuarios y sus contraseas y mediante
PAM autenticar aplicaciones (como ftp o samba) contra ella.
Dibujo 1: PAM utilizando una base de datos como fuente
5.1 Instalacin
Se utilizar una base de datos MySQL como backend de PAM, por lo cual se debe
instalar la biblioteca pam_mysql, sin embargo esta no esta disponible en el sistema ni es
instalable mediante YUM.
Instalacin de dependencias para compilar soporte para MySQL
# yum insa11 pam-deve1 mysq1-deve1
2013-01-11 Esteban De La Fuente Rubio 32/44
vsftpd
PAM
Base de datos
samba
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
2013-01-11 Esteban De La Fuente Rubio 33/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
Descarga paquete pam_mysql, compilacin e instalacin
# wge hp://prdown1oads.sourceforge.ne/pam-mysq1/\
pam_mysq1-0.7RC1.ar.gz
# ar xvzf pam_mysq1-0.7RC1.ar.gz
# cd pam_mysq1-0.7RC1
# ./configure -wih-pam-mods-dir=/1ib64/securiy --wih-openss1
# ma'e insa11
Lo anterior crear los archivos
/1ib64/securiy/pam_mysq1.1a
/1ib64/securiy/pam_mysq1.so
5.2 Base de datos MySQL
5.2.1 Instalacin
Instalacin de la base de datos MySQL
# yum insa11 mysq1-server
Iniciar servicio
# service mysq1d sar
Activar al inicio
# ch'config mysq1d on
Ejecutar asistente para inicializar nueva base de datos (clave de root de MySQL: centos)
# mysq1_secure_insa11aion
Eliminar usuario annimo, eliminar base de datos de pruebas y no permitir conexin remota
del usuario root.
5.2.2 Creacin de base de datos
Crear base de datos y usuario para acceder a la misma
# mysq1 -u roo -p
mysq1> CREATE ATABASE pam,
mysq1> GRANT ALL RRIVILEGES ON pam.* TO 'pam'@'1oca1hos' \
IENTIEIE BY 'cenos',
2013-01-11 Esteban De La Fuente Rubio 34/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
mysq1> ELUSH RRIVILEGES,
Conectar a la base de datos pam con el usuario pam y crear tablas
# mysq1 -u pam -p pam
mysq1> CREATE TABLE users (username VARCHAR(30) NOT NULL RRIMARY KEY,
password VARCHAR(32) NOT NULL),
Insertar usuarios de prueba
mysq1> INSERT INTO users VALUES ('pepio', md5('pepio')),
mysq1> INSERT INTO users VALUES ('_uanio', md5('_uanio')),
Crear usuarios en el sistema
# useradd pepio
# useradd _uanio
5.3 Configuracin
Datos de conexin y tabla de MySQL
# /ec/pam-mysq1.conf
users.hos = 1oca1hos
users.daabase = pam
users.db_user = pam
users.db_passwd = cenos
users.where_c1ause = 1
users.ab1e = users
users.user_co1umn = username
users.password_co1umn = password
users.password_cryp = md5
verbose = 1
Configuracin para que el servicio use MySQL
# /ec/pam.d/<servicio>
auh requisie pam_mysq1.so config_fi1e=/ec/pam-mysq1.conf
accoun required pam_unix.so
5.4 Ejercicios
1. Qu consideraciones se deben tomar al utilizar una base de datos de alguna
2013-01-11 Esteban De La Fuente Rubio 35/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
aplicacin ya existente?
2013-01-11 Esteban De La Fuente Rubio 36/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
6 FTP
File Transfer Protocol fue de los primeros protocolos para la transferencia de archivos
por la red. En esta seccin se explicar como montar un servidor FTP utilizando vsftpd (Very
Secure FTP Daemon) el cual es recomendado para ser utilizado en Red Hat Linux Enterprise
y el disponible en repositorios. Existen otras soluciones como proftpd y pureftpd, las cuales
no estn por defecto en los repositorios de CentOS.
6.1 Instalacin
Instalacin
# yum insa11 vsfpd
Iniciar servicio
# service vsfpd sar
Activar al inicio
# ch'config vsfpd on
Por defecto se permite una conexin en modo annimo al servidor FTP accediendo a
los archivos alojados en /var/ftp.
6.2 Configuracin
El archivo de configuracin del servicio corresponde a /etc/vsftpd/vsftpd.conf, el cual
por defecto permite las conexiones como annimos y con usuarios del sistema.
6.2.1 PAM
Configurar segn indicaciones disponibles en la seccin 5.3, el archivo
/etc/pam.d/vsftpd
6.2.2 SELinux
# seseboo1 -R fp_home_dir on
# seseboo1 -R fpd_connec_db on
6.3 Ejercicios
1. Cmo deshabilitar el acceso de un usuario annimo?
2. Configurar para permitir que puedan entrar usuarios con clave en el sistema y/o
2013-01-11 Esteban De La Fuente Rubio 37/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
MySQL.
3. Cmo utilizar SSL con el servidor vsftp?
2013-01-11 Esteban De La Fuente Rubio 38/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
7 SAMBA
Samba es el servicio en sistemas like Unix que permite, entre otras tareas, compartir
ficheros con el sistema operativo Microsoft Windows a travs del protocolo CIFS (ex SMB).
Igualmente permite el intercambio entre sistemas operativos GNU/Linux.
Utilizando PAM y aprovechando los usuarios creados en la seccin 5.2.2, se propone
el ejercicio descrito en la Tabla 3 de intercambio de archivos, donde se debe compartir tres
carpetas con diferentes permisos. Adicionalmente se requiere llevar auditora de lo que se
realiza en el servicio SAMBA.
/var/samba/carpeta1 /var/samba/carpeta2 /var/samba/carpeta3
juanito
read
write
read
write
-
pepito read
read
write
read
write
Tabla 3: Ejercicio SAMBA
Crear carpetas
# m'dir -p /var/samba/carpea1
# m'dir -p /var/samba/carpea2
# m'dir -p /var/samba/carpea3
7.1 Instalacin
Instalacin
# yum insa11 samba
Iniciar servicio
# service smb sar
Activar al inicio
# ch'config smb on
Por defecto el servicio permite la conexin a los directorios principales de los usuarios
creados en el sistema. Esto significa que al habilitar PAM los usuarios definidos en la base de
datos MySQL (caso presentado en la seccin de PAM) tambin podrn acceder a sus
directorios principales.
2013-01-11 Esteban De La Fuente Rubio 39/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
7.2 Configuracin
El archivo de configuracin de SAMBA corresponde a /etc/samba/smb.conf, y a
continuacin se muestran las configuraciones a agregar para lograr lo planteado
anteriormente (agregar al final)
# /ec/samba/smb.conf
# [.|
[carpea1|
commen = Carpea 1
pah = /var/samba/carpea1
browseab1e = yes
pub1ic = no
gues o' = no
read 1is = _uanio, pepio
wrie 1is = _uanio
creae mas' = 0660
direcory mas' = 0770
force group = smbusers
[carpea2|
commen = Carpea 2
pah = /var/samba/carpea2
browseab1e = yes
pub1ic = no
gues o' = no
read 1is = _uanio, pepio
wrie 1is = _uanio, pepio
creae mas' = 0660
direcory mas' = 0770
force group = smbusers
2013-01-11 Esteban De La Fuente Rubio 40/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
[carpea3|
commen = Carpea 3
pah = /var/samba/carpea3
browseab1e = yes
pub1ic = no
gues o' = no
read 1is = pepio
wrie 1is = pepio
creae mas' = 0660
direcory mas' = 0770
force group = smbusers
Reiniciar servicio
# service smb resar
Creacin de grupo y aadir a usuarios al mismo
# groupadd smbusers
# usermod -a -G smbusers pepio
# usermod -a -G smbusers _uanio
Asignacin de permisos
# chgrp smbusers /var/samba/ -R
# chmod 770 /var/samba/ -R
7.2.1 PAM
Configurar segn indicaciones disponibles en la seccin 5.3, el archivo
/etc/pam.d/samba
Adicionalmente para utilizar PAM se deben modificar/asignar las siguientes opciones
en el archivo de configuracin de SAMBA, en la seccin global:
encryp passwords = no
obey pam resricions = no
c1ien 1anman auh = yes
c1ien p1ainex auh = yes
2013-01-11 Esteban De La Fuente Rubio 41/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
7.2.2 SELinux
Permitir acceso a directorios principales de usuarios
# seseboo1 -R samba_enab1e_home_dirs on
Permitir acceso a directorio /var/samba
# chcon - samba_share_ /var/samba/carpea1
# chcon - samba_share_ /var/samba/carpea2
# chcon - samba_share_ /var/samba/carpea3
Crear poltica personalizada para conexin a base de datos
# yum insa11 po1icycoreui1s-pyhon
# grep smbd /var/1og/audi/audi.1og | audi2a11ow -M smbd_mysq1
# semodu1e -i smbd_mysq1.pp
Lo pasos utilizados para la poltica personalizada estn fuera del contexto de este
curso, sin embargo se muestran para evitar tener que poner SELinux en modo permisivo por
no contar con una poltica que por defecto permita el acceso a MySQL.
7.2.3 Auditora
En la seccin global del archivo de configuracin de SAMBA agregar lo siguiente:
vfs ob_ecs = fu11_audi
fu11_audi:prefix = %u|%I|%m|%S
fu11_audi:success = m'dir rename un1in' rmdir pwrie pread connec \
disconnec
fu11_audi:fai1ure = none
fu11_audi:faci1iy = LOCAL6
fu11_audi:prioriy = NOTICE
Agregar a /etc/rsyslog.conf
1oca16.* /var/1og/samba/audi.1og
Reiniciar servicios
# service smb resar
# service rsys1og resar
2013-01-11 Esteban De La Fuente Rubio 42/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
7.3 Pruebas
Para probar los directorios compartidos utilizar el comando smbclient.
Instalacin
# yum insa11 samba-c1ien
Conexin con usuario juanito
# smbc1ien //1oca1hos/carpea1 -U _uanio
Crear carpeta
smb: \> m'dir c1
Conexin con usuario pepito
Crear carpeta
smb: \> m'dir c2
Revisar registros
ai1 /var/1og/samba/audi.1og
7.4 Ejercicios
1. Qu problema de seguridad se presenta con las contraseas en la configuracin de
este ejercicio?
2. Se podra tener una configuracin ms segura de las carpetas compartidas?
3. Por qu se colocan a los usuarios dentro del mismo grupo?
4. Acceder a carpeta1 con los dos usuarios y crear una carpeta, revisar audit.log
5. Montar carpeta en una ubicacin del sistema de ficheros.
6. Cmo montar un directorio compartido en una mquina remota? cambios en
SELinux?
2013-01-11 Esteban De La Fuente Rubio 43/44
SASCO - http://sasco.cl
GNU/Linux - Servicios en GNU/Linux (licencia GFDL)
8 Recursos
PXE
Configuracin: http://wiki.centos.org/HowTos/PXE/PXE_Setup
Ms detalles: http://pxe.dev.aboveaverageurl.com/index.php/PXE_Booting
menu.c32: http://www.syslinux.org/wiki/index.php/Comboot/menu.c32
bind: http://en.wikipedia.org/wiki/BIND
OpenSSL: http://slacksite.com/apache/certificate.php
Mltiple SSL en una IP: http://www.techrepublic.com/blog/opensource/configure-
apache-to-support-multiple-ssl-sites-on-a-single-ip-address/987
PAM: http://sopa.dis.ulpgc.es/ii-aso/portal_aso/leclinux/seguridad/pam/pam_doc.pdf
vsftpd
SELinux: http://beginlinux.com/blog/2008/11/vsftpd-and-selinux-on-centos/
SSL:
http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFT
P )
Audit: http://chicheblog.wordpress.com/2011/01/21/como-auditar-la-actividad-de-los-
usuarios-en-samba/
2013-01-11 Esteban De La Fuente Rubio 44/44

Vous aimerez peut-être aussi