You are on page 1of 35

GNU/Linux

ServiciosenGNU/Linux

EstebanDeLaFuenteRubio

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

ndicedecontenido
1Introduccin.............................................................................................................................................................4
1.1Objetivos...........................................................................................................................................................4
2DHCP.......................................................................................................................................................................5
2.1Configuracinbsica........................................................................................................................................6
2.2DHCPesttico..................................................................................................................................................7
2.3BOOTP.............................................................................................................................................................7
2.3.1CentOS.....................................................................................................................................................8
2.3.2FreeDOS..................................................................................................................................................8
2.3.3Utilidades..................................................................................................................................................9
2.3.4Men........................................................................................................................................................9
2.4Ejercicios.........................................................................................................................................................11
3DNS........................................................................................................................................................................12
3.1Instalacin.......................................................................................................................................................13
3.2Configuracin..................................................................................................................................................13
3.2.1Servidormaestro....................................................................................................................................13
3.2.2Servidoresclavo.....................................................................................................................................17
3.2.3Configuracindezonasenservidormaestro........................................................................................17
3.3Ejercicios........................................................................................................................................................19
4Web........................................................................................................................................................................20
4.1Instalacin.......................................................................................................................................................20
4.2Configuracingeneral....................................................................................................................................21
4.3Mdulos..........................................................................................................................................................21
4.4Dominiosvirtuales..........................................................................................................................................21
4.5PHP................................................................................................................................................................22
4.6SSL.................................................................................................................................................................23
4.6.1Crearloscertificados..............................................................................................................................23
4.6.2Firmarelcertificado...............................................................................................................................23
4.6.3Agregarcertificados...............................................................................................................................24
4.6.4MltiplesdominiosutilizandoSSL.........................................................................................................24
4.7suPHP.............................................................................................................................................................24
4.8Ejercicios........................................................................................................................................................25
5PAM.......................................................................................................................................................................26
5.1Instalacin.......................................................................................................................................................26
5.2BasededatosMySQL...................................................................................................................................27
5.2.1Instalacin...............................................................................................................................................27
5.2.2Creacindebasededatos....................................................................................................................27
5.3Configuracin.................................................................................................................................................28
5.4Ejercicios........................................................................................................................................................28
20120325

EstebanDeLaFuenteRubio

2/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
6FTP........................................................................................................................................................................29
6.1Instalacin.......................................................................................................................................................29
6.2Configuracin.................................................................................................................................................29
6.2.1PAM........................................................................................................................................................29
6.2.2SELinux..................................................................................................................................................29
6.3Ejercicios........................................................................................................................................................29
7SAMBA..................................................................................................................................................................30
7.1Instalacin.......................................................................................................................................................30
7.2Configuracin..................................................................................................................................................31
7.2.1PAM.........................................................................................................................................................32
7.2.2SELinux..................................................................................................................................................33
7.2.3Auditora.................................................................................................................................................33
7.3Pruebas...........................................................................................................................................................34
7.4Ejercicios.........................................................................................................................................................34
8Recursos................................................................................................................................................................35

20120325

EstebanDeLaFuenteRubio

3/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

1 Introduccin
Elcursodeserviciosestadiseadoparaentregarunaguaenlainstalacinyconfiguracindediversos
serviciosnecesariosenlamayoradelasempresas,enfocndose,bsicamente,enlasreas:

Serviciosweb

Intercambiodearchivos

Lostemasanteriorescorrespondenaserviciosestndaresquepuedensernecesariosenlamayorade
lasempresasdondeeladministradorseencuentretrabajando.
SerecomiendaallectorleeranteselcursodeIntroduccinaGNU/Linuxyaqueenelsevenconceptos
bsicos que debe tener presente todo administrador del sistema operativo GNU/Linux. Adicionalmente para
aspectosrelacionadosconadministracindeusuariosyredesserecomiendaleerelcursoAdministracinde
GNU/Linux.
DuranteeldesarrollodelcursoseutilizarladistribucinGNU/LinuxCentOS(ensuversin6.2).Esta
distribucinescompiladaporunacomunidaddeusuariosapartirdelcdigoquelaempresaRedHatLinuxlibera
desudistribucinRedHatLinuxEnterprise.Seutilizarestadistribucinyaqueesbsicamenteunaversinde
RedHatsinloscomponentescomercialesdedichacompaa,compatiblecompletamenteconestayconlos
productosqueotrasempresasofrecenparadichadistribucin.
Elhardwareautilizarpuedeserrealovirtual,aligualqueenlosanteriorescursos.Noexistenrequisitos
especficosencuantoadiscoduro,niesquemadedistribucindelmismoocantidaddeinterfacesdered.Sin
embargodeconsiderarsenecesarioseindicarnconsejosparamejorarelfuncionamientodelsistemaencada
temaquesediscuta.AdicionalmentesefijaIPv4paraserutilizadoenlasconfiguracionesdelosservicios.

1.1 Objetivos

RealizarlainstalacindediferentesserviciossobreplataformaGNU/Linux.

20120325

EstebanDeLaFuenteRubio

4/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

2 DHCP
ElprotocoloDHCP(DynamicHostConfigurationProtocol)permitealosclientesdeunaredobtenersus
parmetros de configuracin de manera automtica. Un cliente al conectarse a la red enviar solicitudes
consultandoporunservidorDHCPquepuedaentregarlasdatosparaqueestepuedaconectarsealared.Los
parmetrosbsicosquesonentregadosporelservidorDHCPsonlaIPymscaradereddelamisma,sin
embargootrosparmetrospuedenserentregadoscomorutaspordefectos,servidoresDNSoservidoresNTP,
porejemplo.SeutilizarlaimplementacinISCDHCPparaproveerdelservicioalaredenCentOS.
ElesquemadeconexinqueseproponeenlaTopologa1paraelejercicioconsideralainstalacindel
servicioDHCPenlamquinaquecumplelafuncindeproxyyfirewallhaciaInternet,sinembargoesimportante
considerarqueelserviciopuedeestarinstaladoencualquiermquinadelared,nonecesariamenteenesta.Sin
embargoexistenserviciosenlasempresasqueseinstalanenlasmismasmquinaparaevitartenerunamquina
porcadaservicioqueseestaimplementando.Adicionalmentesoloseestamostrandolaconfiguracinparauna
interfazdered,perosedebeconsiderarquelaconfiguracindeninterfacessermuysimilaralapresentada.

Topologa1:EjercicioDHCP
Se asume eth0 ya configurado (ya sea por DHCP o bien IP esttica, a continuacin se indican la
configuracinparalainterfazeth1yelaccesohacialareddeInternetdesdelaLAN.
Configurarinterfazeth1
# ip addr add 10.0.0.1/24 brd + dev eth1
Habilitarforwarddepaquetes
echo 1 > /proc/sys/net/ipv4/ip_forward
Instalacindelservicio
# yum install dhcp

20120325

EstebanDeLaFuenteRubio

5/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

2.1 Configuracinbsica
Configuracindelservicio(ejemplodelarchivoen/usr/share/doc/dhcp*/dhcpd.conf.sample)
# /etc/dhcp/dhcpd.conf
# configuracin comn a todas las redes
log-facility local0; # logs
default-lease-time 600; # asignacin en segundos
max-lease-time 7200; # mxima asignacin en segundos
authoritative; # este servidor es el principal servidor dhcp
option domain-name "sasco.cl"; # nombre de dominio
option domain-name-servers 208.67.220.220, 208.67.222.222; # dns
ntp-servers ntp.shoa.cl; # ntp
# configuracin de la red 10.0.0.0/24
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.254;
option routers 10.0.0.1;
}
Iniciarservicio
# service dhcpd start
Agregarelservicioparaqueseaejecutadoaliniciodelsistema
# chkconfig dhcpd on
Conectaruncliente(ejemplobart)yverificarasignacindeip
# ip addr show eth0
Verificarrutas
# ip route show
VerificarservidoresDNS
# cat /etc/resolv.conf
Pinghacialapuertadeenlace
# ping 10.0.0.1
PinghaciaeservidorDNSdeOpenDNS
# ping 208.67.222.222
20120325

EstebanDeLaFuenteRubio

6/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

2.2 DHCPesttico
# configuracin dhcp esttico
host bart {
hardware ethernet 0:0:c0:5d:bd:95;
fixed-address 10.0.0.2;
}

2.3 BOOTP
BOOTP(Bootstrapprotocol)esunprotocoloderedUDPquepermiteacomputadoresqueestniniciando
arrancardesdelared.Estopermite,porejemplo,arrancarterminalesparaconectarseaunmainframeobienpara
procesosdeinstalacindelsistemaoperativoporred.ElservidorISCDHCPpermitemedianteDHCPelusode
BOOTP,entregandoalosequiposlaposibilidaddearrancarporred.Parautilizarestafuncionalidadserequiere
apartedelservidorDHCPunservidorTFTPquecontendrlosficherosparaarrancarlamquina,yclarose
necesitandichosficheros(kernel,configuraciones,etc).
# archivo para bootear en red (ubicado en /var/lib/tftpboot)
filename "/pxelinux.0";
Yaqueloanterioresubicadoenelreaglobalpermitirbootearacualquierequipoqueseconectealservidor
DHCPutilizandoelmendesyslinux.Noolvidarqueestaconfiguracin(aligualqueotrasdelaseccinglobal)
puedeserespecificadaporredoinclusoporhost(hastausandoIPesttica).
InstalacinservidorTFTP
# yum install tftp-server
ElservidorTFTPinstalar(denoexistir)elservicioxinetdelcualesutilizadoparaarrancarelservicio
TFTP,porlocualambosdebenseractivadosaliniciodelsistemaparalacorrectaejecucindelservidorTFTP.
# chkconfig xinetd on
# chkconfig tftp on
Reiniciarservicioxinetd
# service xinetd restart
Instalacindesyslinux(estoincluyelonecesarioparautilizarPXE)
# yum install syslinux

20120325

EstebanDeLaFuenteRubio

7/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
EldirectorioparalosarchivosdelservidorTFTPes/var/lib/tftpbootyenelsedebencopiarlossiguientesarchivos
parapoderarrancarconPXE:
# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/vesamenu.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/memdisk /var/lib/tftpboot/
# cp /usr/share/syslinux/mboot.c32 /var/lib/tftpboot/
# cp /usr/share/syslinux/chain.c32 /var/lib/tftpboot/

2.3.1 CentOS
CreardirectorioparaimgenesCentOSycopiarlas(respetarelformato:distribucin/versin/arquitectura)
# mkdir -p /var/lib/tftpboot/images/centos/6.2/i386
# cd /var/lib/tftpboot/images/centos/6.2/i386
# wget http://ftp.inf.utfsm.cl/pub/Linux/CentOS/6.2/os/i386/\
images/pxeboot/initrd.img
# wget http://ftp.inf.utfsm.cl/pub/Linux/CentOS/6.2/os/i386/\
images/pxeboot/vmlinuz
# mkdir -p /var/lib/tftpboot/images/centos/6.2/x86_64
# cd /var/lib/tftpboot/images/centos/6.2/x86_64
# wget http://ftp.inf.utfsm.cl/pub/Linux/CentOS/6.2/os/x86_64/\
images/pxeboot/initrd.img
# wget http://ftp.inf.utfsm.cl/pub/Linux/CentOS/6.2/os/i386/\
images/pxeboot/vmlinuz

2.3.2 FreeDOS
CreardirectorioparaimgenesFreeDOSycopiarlas
# mkdir -p /var/lib/tftpboot/images/dos
# cd /var/lib/tftpboot/images/dos
# wget http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/\
distributions/1.0/fdboot.img

20120325

EstebanDeLaFuenteRubio

8/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

2.3.3 Utilidades
Creardirectorioparautilidadesyagregarlas
# mkdir /var/lib/tftpboot/images/utils
# cd /var/lib/tftpboot/images/utils
memtest86+
# wget http://ftp.inf.utfsm.cl/pub/Linux/centos/6.2/os/x86_64/\
isolinux/memtest

2.3.4 Men
Semostraracontinuacincomocrearlasopcionesdemenparalasimgenesantesexplicadas,si
algunanoseutilizarnoesnecesariodeclararlaenelmen.
CreardirectorioparalosmensPXE
# mkdir /var/lib/tftpboot/pxelinux.cfg
Pordefectosebuscarelarchivo default dentrodeldirectorioanterior(enrealidadeslaltimaopcin
buscada,verrecursosPXEdetallado),estearchivocontendrlasopcionesparalaejecucinalcargarporred,lo
cualpuedeserdirectamentecargarunaimageno,loquesehaceenesteejemplo,desplegarunmencon
diversasopciones.
Elusodeunmenpermitirgenerartodaslasopcionesqueseannecesariasparapoderarrancarlos
equiposdelared.Lasopcionesautilizarenelmensonbastantes,lascualespermitenpersonalizarbastanteel
menparaPXE,serecomiendaverenlosrecursoselenlaceamenu.c32
Descargarimagenparaelfondodelmen(debeserJPGoPNGde640x480px)
# wget http://i76.photobucket.com/albums/j37/Moeppe/\
pxe_bootscreen01.png -O /var/lib/tftpboot/splash.jpg
Creararchivoconelmensajedeayuda
# /var/lib/tftpboot/help.msg
== AYUDA ==
Elija una opcion del menu para arrancar el sistema

20120325

EstebanDeLaFuenteRubio

9/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Crearelmen,enlaImagen1verelresultadodeestaconfiguracin
# /var/lib/tftpboot/pxelinux.cfg/default
DEFAULT vesamenu.c32
PROMPT 0
TIMEOUT 300
ONTIMEOUT local
MENU TITLE PXE boot menu
MENU BACKGROUND splash.jpg
F1 help.msg
LABEL linux
MENU LABEL GNU/Linux:
MENU DISABLE
LABEL centos_i386
MENU LABEL CentOS 6.2 i386
MENU INDENT 1
KERNEL images/centos/6.2/i386/vmlinuz
APPEND initrd=images/centos/6.2/i386/initrd.img ip=dhcp
LABEL centos_amd64
MENU LABEL CentOS 6.2 x86_64
MENU DEFAULT
MENU INDENT 1
KERNEL images/centos/6.2/x86_64/vmlinuz
APPEND initrd=images/centos/6.2/x86_64/initrd.img ip=dhcp
MENU SEPARATOR
LABEL utils
MENU LABEL Utilidades:
MENU DISABLE
LABEL memtest
MENU LABEL ^Memtest86+ 4.10
MENU INDENT 1
KERNEL images/utils/memtest

20120325

EstebanDeLaFuenteRubio

10/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
MENU SEPARATOR
LABEL dos
MENU LABEL DOS:
MENU DISABLE
LABEL freedos
MENU LABEL ^FreeDOS 1.0
MENU INDENT 1
KERNEL memdisk
APPEND initrd=images/dos/fdboot.img

Imagen1:Mendearranqueconlasopcionesdefinidas

2.4 Ejercicios
1. PorquelservicioDHCPfallasiesiniciadoinmediatamentedespusdelainstalacin?
2. PorqusepuederealizarpingalapuertadeenlaceperonoalaIPdeOpenDNS?
3. CualessonlasventajasdeutilizarPXEparaarrancarporred?
4. LaconfiguracinparaarrancarelinstaladordeCentOSestincompleta,corregirla.
5. CmoarrancarunaimagenISOdeGNU/LinuxmediantePXE?
6. UtilizarTCOSparaarrancarunsistemaoperativoparaterminalestontas.

20120325

EstebanDeLaFuenteRubio

11/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

3 DNS
ElserviciodeDNS(DomainNameServer)permiterealizarlatraduccindedireccionesenlenguaje
humano(nombredehostynombrededominio)adireccionesIP.Existendiferentesconceptosrelacionadoscon
DNSqueseexplicarnalolargodeestecaptulocomoresolucinnormalresolucininversa,zonasyvistas.La
implementacindeDNSqueseutilizarparatrabajarcorrespondealapatrocinadaporlaISCdenominadaBind
(Berkeley Internet Name Domain) el cual es la versin ms utilizada en sistemas operativos
like Unix1.
La Imagen 2 es una situacin hipottica que involucra los conceptos que se deben
manejar para poder comprender la configuracin del servicio de DNS utilizando BIND.

Imagen2:ConceptosrelacionadosconDNS
Una configuracin sencilla del servicio de DNS solo requerir de un servidor maestro
sin vistas y al menos una zona definida para cada tipo de resolucin (normal e inversa). A
pesar del o anterior se recomienda siempre utilizar vistas, ya que de hacerlo y requerir en el
futuro cambios que las consideren el trabajo a realizar ser menor y habr menos riesgos de
daar la configuracin ya funcional.
Considerando un esquema similar al presentado en la Topologa 1 del ejercicio de
DHCP (pgina 5), se realizar el siguiente ejercicio: Se crear un servidor de DNS con dos
vistas, una para la red 10.0.0.0/24 y otra para la red externa, el servicio deber estar
espejado en un DNS esclavo y los servidores para consultas sern lo de OpenDNS. No se
1Laaplicacinseencuentradisponibleparamltiplessistemasoperativos,incluyendoMicrosoftWindows,porlocuallasexplicaciones
realizadassernaplicablesendichaplataforma.

20120325

EstebanDeLaFuenteRubio

12/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
considerar delegacin de zonas de un DNS a otro, se asume que todas las zonas son
manejadas por un mismo servidor DNS. Las zonas a configurar se pueden apreciar en la
Tabla 1.
VistaA(redinterna)

VistaB(redexterna)

0.0.10.inaddr.arpa
sasco.cl
facebook.com

1.16.172.inaddr.arpa(asumiendoestacomoredexterna)
sasco.cl

Tabla1:ZonasejercicioDNS
Cadazonanormaldefinidadeberconteneralmenosdossubdominios(diferentesawww)ysedeber
determinarquedireccionesseresolvernenelcasodecadazona.Ademsenelcasodelaredlocalsedeber
determinarquenombresdehostydominioutilizarenlaresolucininversa.

3.1 Instalacin
ExistendospaquetesdeBINDenCentOS,bindybindchroot,elsegundoeslamismaimplementacin
quelaprimera,peroenjaulada.Estoproveeunnivelextradeseguridad,sinembargoaquseutilizarlaversin
noenjauladaparapermitirquelosarchivosdeconfiguracindezonaspuedanexistirenlosdirectoriosdelos
usuarios,nodondepordefectodebieranseralmacenados.Notarqueambospaquetescorrespondenalaversin
9delservicio.
# yum install bind bind-utils
Iniciarservicio
# service named start
Activaralinicio
# chkconfig named on

3.2 Configuracin
ElarchivoprincipaldeconfiguracindelserviciodeDNSseencuentraen/etc/named.conf,elcualpor
defectovieneconfiguradoparafuncionarcomounservidordecachlocalsolamente.Acontinuacinsepresenta
laestructuradedirectorioautilizarylasconfiguracionesnecesariasparaelejerciciopropuesto.

3.2.1 Servidormaestro
Elservidormaestroseraquelqueposeerlaconfiguracindelaszonasdelservidor,alseconectar
elesclavoparaconseguirlasactualizaciones.Laestructuradedirectoriosautilizarser:
/var/named/zones/master/<vista>/<zona>
Assetendrporejemplo
20120325

EstebanDeLaFuenteRubio

13/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
/etc/named/zones/master/internal/sasco.cl
Notarquenoseutilizarellaestructuradedirectoriosdefinidapordefecto,sinoqueseusarunapropia.
Respaldararchivodeconfiguracinprincipalpordefecto
# cp /etc/named.conf /etc/named.conf.bak
Archivodeconfiguracinprincipal
# /etc/named.conf
// Clientes de la red local
acl clients {
127.0.0.1;
::1;
10.0.0.0/24;
};
// opciones generales del servicio
options {
listen-on { any; };
listen-on-v6 { any; };
allow-query { any; };
recursion yes;
allow-recursion { clients; };
forwarders { 208.67.222.222; 208.67.220.220; };
// directorios y archivos
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
// opciones de la configuracin por defecto
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
20120325

EstebanDeLaFuenteRubio

14/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
bindkeys-file "/etc/named.iscdlv.key";
};
// configuracin de logging por defecto
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
// vista para la red interna
view "internal" {
match-clients { clients; };
// Zonas estndares
zone "." IN {
type hint;
file "named.ca";
};
include "/etc/named.rfc1912.zones";
// Zonas del ejercicio
zone "0.0.10.in-addr.arpa" {
type master;
file "zones/master/internal/0.0.10";
notify yes;
also-notify { 10.0.0.2; };
allow-transfer { 10.0.0.2; };
};
zone "sasco.cl" {
type master;
file "zones/master/internal/sasco.cl";
notify yes;
also-notify { 10.0.0.2; };
20120325

EstebanDeLaFuenteRubio

15/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
allow-transfer { 10.0.0.2; };
};
zone "facebook.com" {
type master;
file "master/internal/facebook.com";
notify yes;
also-notify { 10.0.0.2; };
allow-transfer { 10.0.0.2; };
};
};
// vista para la red externa
view "external" {
match-clients { any; };
// Zonas del ejercicio
zone "1.16.172.in-addr.arpa" {
type master;
file "zones/master/internal/1.16.172";
notify yes;
also-notify { 10.0.0.2; };
allow-transfer { 10.0.0.2; };
};
zone "sasco.cl" {
type master;
file "master/external/sasco.cl";
notify yes;
also-notify { 10.0.0.2; };
allow-transfer { 10.0.0.2; };
};
};
Notarquecadaunadelaszonas,deambasvistas,permitesertransferidaalservidor10.0.0.2elcual
actuarcomoservidoresclavodeeste.
20120325

EstebanDeLaFuenteRubio

16/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

3.2.2 Servidoresclavo
Laconfiguracindelarchivonamed.confparaelservidoresclavoescasiidnticaaldelservidormaestro,
conlaexcepcindelaszonas,locualsedetallamsadelante.Laestructuradedirectoriosautilizarser:
/var/named/zones/slave/<vista>/<zona>
Assetendrporejemplo
/etc/named/zones/slave/internal/sasco.cl
Enelcasodelasconfiguracionesdelaszonasestasvariaranparapodersolicitaralservidormaestrolas
actualizaciones,semuestraacontinuacinelejemplodelasmodificacionesparalazonasasco.cl,otraszonas
debernsersimilares.
zone "sasco.cl" {
type slave;
file "zones/slave/internal/sasco.cl";
masters { 10.0.0.1; };
};
Paraprobarelservidoresclavosedebercambiaralaredexterna.Enunambienterealelservidor
esclavodeberpoderseraccedidodesdelaredexternautilizandoalgnmecanismo,comoNAT.

3.2.3 Configuracindezonasenservidormaestro

Zonasinternas

Zona0.0.10.inaddr.arpa
; /var/named/zones/master/internal/0.0.10
$TTL 3600
@

IN SOA sasco.cl. root ( ; Autoridad para la zona


2011111301

; Serial

3H

; Cada cuanto consultar

1H

; Cada cuanto reintentar

1W

; Cuando dejara de preguntar

1D )

; Tiempo mnimo en el cache

IN NS

sasco.cl.

IN PTR

ns1.sasco.cl.

20120325

EstebanDeLaFuenteRubio

17/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Zonasasco.cl
; /var/named/zones/master/internal/sasco.cl
$TTL

3600

$ORIGIN sasco.cl.
@

IN SOA sasco.cl. root (


2011111401
3H
1H
1W
1D )
IN NS

sasco.cl.

IN A

10.0.0.1

IN MX

aspmx.l.google.com.

IN MX

alt1.aspmx.l.google.com.

IN MX

alt2.aspmx.l.google.com.

IN MX

aspmx2.googlemail.com.

IN MX

aspmx3.googlemail.com.

IN MX

aspmx4.googlemail.com.

IN MX

aspmx5.googlemail.com.

IN CNAME

sasco.cl.

mail

IN CNAME

ghs.google.com.

docs

IN CNAME

ghs.google.com.

calendar

IN CNAME

ghs.google.com.

; subdominios
$ORIGIN clientes.sasco.cl.
@

IN CNAME

sasco.cl.

IN CNAME

sasco.cl.

$ORIGIN dev.sasco.cl.
@

IN CNAME

sasco.cl.

IN CNAME

sasco.cl.

20120325

EstebanDeLaFuenteRubio

18/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Zonafacebook.com
; /var/named/zones/master/internal/facebook.com
$TTL

3600

$ORIGIN facebook.com.
@

IN SOA facebook.com. root (


2011111401
3H
1H
1W
1D )

IN NS

facebook.com.

IN A

10.0.0.1

IN CNAME

facebook.com.

3.3 Ejercicios
1. QupuertoutilizaDNS?TCPoUDP?
2. Qurelacinexisteentreresolucinnormaleinversa?
3. Sitengo3zonasnormalesenunavista,cuntaszonasinversasserequieren?
4. Culeslarelacinentreunazonatype:masteryunazonatype:slave?
5. Culessonlasdiferenciasaldeclararlazonasiseestautilizandounsubdominio?
6. Porqueldetalledelaszonasseconfigurasoloenelservidormaestro?
7. Porquelnopublicarunazonaoservicionorepresentaunamedidadeseguridad?
8. Porquenlazonainversainternaseutilizasasco.clcomodominiopararesolverlasdireccionesIP?
Sepodrautilizarotrodominio?cul?
9. Culeslaimportanciadelserialysuformato?
10. QuregistroseutilizaparaindicarunatraduccinaIPv4?
11. CuleslaventajadeutilizarCNAME?
12. QusignificaelusarORIGIN?
13. Culesladiferenciaentrequeeldominiotermineenpuntoyquenolohaga?
14. Cmoseconfiguranlaszonasexternas?

20120325

EstebanDeLaFuenteRubio

19/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

4 Web
UnservidorwebentregalaposibilidaddehospedarpginaswebenelservidorGNU/Linux.Paraesta
seccinseutilizarelservidorApache,elcualeselservidormsutilizadoensistemasoperativoslikeUnix2.Las
configuracionesexpuestasenestaseccinincluirndominiosvirtualesyseguridadmedianteSSL.

4.1 Instalacin
Seinstalaralaversin2deApache,adicionalmenteseinstalarPHPcomomdulodelservidorwebpara
serutilizadocomolenguajedeprogramacindepginaswebdinmicasenelservidor.
# yum install httpd php
Iniciarservicio
# service httpd start
Activaralinicio
# service httpd on
UnavezrealizadalainstalacinsepuedeingresaralapginapordefectodelservidorwebmediantelaIP
deeste.LapginapordefectosepuedeapreciarenlaImagen3,paracambiarsucontenidosedebecrear,al
menos,unarchivoindex.htmleneldirectorio/var/www/html

Imagen3:PginapordefectodeApache
SiloquedesearevisarlaconfiguracindePHPcrearelarchivo/var/www/html/phpinfo.phpyabrirlo.
<?php phpinfo(); ?>
2Laaplicacinseencuentradisponibleparamltiplessistemasoperativos,incluyendoMicrosoftWindows,porlocuallasexplicaciones
realizadassernaplicablesendichaplataforma.

20120325

EstebanDeLaFuenteRubio

20/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

4.2 Configuracingeneral
Elarchivodeconfiguracincorrespondealubicadoen/etc/httpd/conf/httpd.conf,elcualpordefectoviene
preparadofuncionaroutofthebox,uncambioarealizarendichoarchivoesdefinirelnombredelservidor,para
evitarunaadvertenciaaliniciarelservicio,estoselograagregandolosiguientealarchivo(dondecorresponda).
ServerName localhost:80
Adicionalmentemencionarquearchivosubicadosenconf.d/*.confsecargarndeformaautomtica.

4.3 Mdulos
ElservidorwebApacheposeeunconjuntodecaractersticasensusistemacentral,yademsposeela
posibilidaddeampliarsemediantelautilizacindemdulos.EnCentOSlosmdulosdisponiblesseencuentran
eneldirectorio/etc/httpd/modules
Activarmdulorewrite(pordefectovieneactivado)
# /etc/httpd/conf/httpd.conf
LoadModule rewrite_module modules/mod_rewrite.so
Notarlasintaxiscorrespondealnombredelmduloextradodelarchivoubicadoeneldirectoriomodules/ms
_module,siqueremosdesactivarlobastacomentaroeliminarlalnea.

4.4 Dominiosvirtuales
Siqueremoshospedarmsdeundominioenelservidordeberemosrecurriralusodedominiosvirtuales,
estospermitirnenunmismoservidoralmacenarcuantosdominiosqueramos.Personalmenteserecomienda
utilizarlossiempre,aunquesolosealojeundominio,yaquecuandoeventualmenteserequieraunonuevolos
cambiosarealizarsernmnimos.
Parautilizardominiosvirtualesestossepuedenagregaralfinaldelarchivo,sedeberdescomentarla
siguienteconfiguracin
NameVirtualHost *:80
EncasodeaccederdirectamentealaIPdelservidorobienacualquierdominioqueapuntealaIPdel
servidoryquenoestedefinidodentrodelosdominiosvirtualesdarcomoresultadoeldesplieguedelprimer
dominiovirtual,paraevitarestoserecomiendacrearcomoprimerdominiovirtualunoqueapuntealdirectorio
/var/www/htmlcomoseindicaacontinuacin.
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/html
</VirtualHost>

20120325

EstebanDeLaFuenteRubio

21/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Elformatodelaconfiguracindeundominiovirtualsedescribe,deformabsica,acontinuacin.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/vhosts/example.com /htdocs
ErrorLog logs/example.com-error_log
CustomLog logs/example.com-access_log common
</VirtualHost>
Laconfiguracinmostradaparadominiovirtualimplicaquelosdominiossonalmacenadostodosbajo
/var/www/vhosts,sinembargopuederesultarinteresantequeseanlosusuariosdelsistemalosquetenganuna
carpeta/home/usuario/wwwdondedentrodefinanlosdominiosvirtuales,adicionalmentedichacarpetapuede
servirparaguardarlaconfiguracindesuszonasdeDNS.Personalmenterecomiendoestaalternativa,sobre
todosielsistemahospedarsitiosquesernadministradospordiferentesusuarios.
Loanteriorimplicarcambiosenlaconfiguracindeldominiovirtualdondeenvezdeirdirectamenteenel
archivodeconfiguracindeApachesepodrincluiraestedelasiguienteforma:
Include /home/usuario/www/example.com/virtualhost.conf
Elproblemadetectadoconestasolucinesquesiunusuariotienesuarchivomalformado,oconuna
configuracinincorrecta(directoriosquenoexisten)elprocesodecargadelservicioApachecaer,porlocualse
recomiendautilizarconcuidado.

4.5 PHP
PHPpordefectovienesinalgunoscomponentesquepuedenresultartiles,lainstalacindelosmismos
dependerdelosrequerimientosdelservidorweb,especficamentedellenguajedeprogramacinPHP. Enla
Tabla2seadjuntaunalistaconlospaquetesrecomendados,lainstalacindeestossehaceconlaherramienta
yum..
Paquete

Descripcin

phpgd

SoporteparabibliotecagrficaGD

phpmysql

SoporteMySQL

phppgsql

SoportePostgreSQL

phppear

Repositoriodeextensionesyaplicaciones

Tabla2:PaquetesPHPrecomendados

20120325

EstebanDeLaFuenteRubio

22/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

4.6 SSL
LautilizacindeSSLpermiterealizarunaconexinseguraentreelservidoryelcliente,estoselogra
mediantelautilizacindecertificadosdigitales.Cadacertificadoesfirmadoporunaentidadcertificadoraque
valida la veracidad de estos.A continuacin se describen los pasos para crear loscertificados, firmarlos y
utilizarlos.
Instalarpaquetesnecesarios
# yum install openssl mod_ssl

4.6.1 Crearloscertificados
Creardirectorioparaguardarloscertificadosdelservidor
# mkdir -p /var/www/vhosts/example.com/ssl
# cd /var/www/vhosts/example.com/ssl
Generarclave:RSA,sincontraseayde2048bits
# openssl genrsa -out example.com.key 2048
Generarcertificadoparaserfirmado,archivoCSR(CertificateSigningRequest)
# openssl req -new -key example.com.key -out example.com.csr
Sepreguntarndiferentescampos,dondeelmsimportantesesel CommonName,elcualdebeser
idnticoalnombrededominioqueutilizarelcertificadoSSLensusconexiones.Lootroimportanteesdejarla
claveenblanco.
Yaquelaclavenoestasiendoguardadadeformaencriptadaesmuyimportantequesoloelusuarioroot
(enrealidad,elusuariodueodelaclave)puedanleerla.

4.6.2 Firmarelcertificado
ElarchivoCSRgeneradoanteriormentedebeserfirmadoporunaentidadcertificado,porejemplouna
comoVerisign,lacualverificarlaautenticidaddelmismo.Sinembargoenestecasosemuestracomoauto
firmarelcertificadoparaefectodepruebasousointerno.Estogenerarunerrorenelnavegadorindicandoqueel
certificadoqueutilizaelservidorestafirmadoporunaentidadcertificadoradesconocidaonoconfiable.
# openssl x509 -req -days 365 -in example.com.csr -signkey \
example.com.key -out example.com.crt
Si pretendemos firmar nosotros mismos todos los certificados que se generan para la empresa, es
recomendablegenerarunaclaveseparadadelausadaporeldominio(example.com.key)unaqueseapropiadel
servidor,ycondichaclavefirmarlosarchivosCSR.

20120325

EstebanDeLaFuenteRubio

23/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Otraformadecrearlallaveyelcertificadofirmadopornosotrosmismosenunasolalneaes:
# openssl req -new -newkey rsa:4096 -days 365 -nodes -x509 -subj \
"/C=CL/ST=Metropolitana/L=Santiago/O=Example/CN=example.com" \
-keyout example.com.key -out example.com.crt

4.6.3 Agregarcertificados
Losdominiosvirtualesdebenserdefinidosparautilizarelpuerto443ynoel80,ademssedebeagregar
dentrodelaconfiguracindeldominiolosiguiente:
SSLEngine on
SSLCertificateFile /var/www/vhosts/example.com/ssl/example.com.crt
SSLCertificateKeyFile /var/www/vhosts/example.com/ssl/example.com.key
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown

4.6.4 MltiplesdominiosutilizandoSSL
PordefectonosepuedeutilizarmsdeundominioconSSL,ypordefectoyavienedefinidounoen
/etc/httpd/conf.d/ssl.conf.
Parahabilitarmltiplesdominiossedebeagregarlasiguienteopcinalarchivodeconfiguracinde
Apache:
NameVirtualHost *:443
Personalmenterecomiendoutilizarestaconfiguracin,yaquepermitirquemltiplesdominiospuedan
utilizarHTTPS.

4.7 suPHP
UnproblemacomnalejecutarprogramasescritosenPHPesquetodosestos(alutilizarelmdulopara
ApachedePHP)seejecutanbajoelusuarioApache.Comoalternativaaesto,podemosejecutarlosscripts
utilizandolaCLIdePHP(osea,nousandoelmduloparaApache),alhacerestopodremosutilizarelmdulo
suPHPquepermitirejecutarelcdigoPHPconlospermisosdelpropietariodelficheroquecontieneelcdigo.
Acontinuacinseindicanlospasosparainstalaryconfigurarelmdulo.
Descargarpaquete
#
wget
http://pkgs.repoforge.org/mod_suphp/mod_suphp-0.7.11.el6.rf.i686.rpm
Instalar
# rpm -ivh mod_suphp-0.7.1-1.el6.rf.i686.rpm
20120325

EstebanDeLaFuenteRubio

24/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
EditarelarchivodeconfiguracindesuPHP
# /etc/suphp.conf
[global]
# [...]
min_gid=100
# [...]
[handlers]
[...]
application/x-httpd-php="php:/usr/bin/php-cgi"
Enelarchivodelmdulo,comentartodaslaslneasdejandosololaquecargaelmismo
# /etc/httpd/conf.d/suphp.conf
LoadModule suphp_module modules/mod_suphp.so
EnlaconfiguracindelVirtualHostdondesequiereusarsuPHPagregar:
php_admin_flag engine off
suPHP_Engine on
AddHandler application/x-httpd-php .php
suPHP_AddHandler application/x-httpd-php
suPHP_UserGroup <usuario> <grupo>
Reiniciarapache
# service httpd restart
Paraprobarelmdulo,crearelsiguienteprogramayejecutarlovaweb:
<?php system('/usr/bin/id'); ?>
EncasodeproblemasdeltipoInternalServerErrorrevisarelregistrodeerrordeapacheparael
VirtualHost,enesteexistirinformacinquepodrayudararesolverelproblema.

4.8 Ejercicios
1. Paraquesutilizadalaopcinsubjenopenssl?
2. ImplementarlosdominiosparalaszonasdefinidasenelejerciciodeDNS(sasco.clyfacebook.com)con
todossussubdominiosdefinidos.AdicionalmentedosdelossubdominiosdebeutilizarSSL.
3. PorquapareceelmensajedecertificadoSSLnovlido?significaquelaconexinnoesencriptada?

20120325

EstebanDeLaFuenteRubio

25/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

5 PAM
PAM(Pluggableauthenticationmodule)correspondeaunmdulodeautenticacinqueseubicaentrela
aplicacinyelsistemacontraelqueseestaautenticando.Deestaformaunaaplicacinenvezdesoportarn
sistemadeautenticacin,puedesoportarsoloautenticarsecontraPAM,yesterealizarlaautenticacincontrael
sistemaquecorresponda.ObviamentePAMdebetenersoporteparaelsistemacontraelquesedeseaautenticar,
actualmenteexistesoporteparaunagrancantidaddefuentes.
El objetivo de estecurso noescubrir deforma terica PAM,ni tampocotodaslas configuraciones
posibles,sinolasituacinpuntualdescritaenelDibujo1,dondesemuestracomoutilizarunabasededatospara
almacenarlosusuariosysuscontraseasymediantePAMautenticaraplicaciones(comoftposamba)contraella.

Basededatos

PAM

vsftpd

samba

Dibujo1:PAMutilizandounabasededatoscomofuente

5.1 Instalacin
SeutilizarunabasededatosMySQLcomobackenddePAM,porlocualsedebeinstalarlabiblioteca
pam_mysql,sinembargoestanoestadisponibleenelsistemaniesinstalablemedianteYUM.
InstalacindedependenciasparacompilarsoporteparaMySQL
# yum install pam-devel mysql-devel

20120325

EstebanDeLaFuenteRubio

26/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Descargapaquetepam_mysql,compilacineinstalacin
# wget http://prdownloads.sourceforge.net/pam-mysql/\
pam_mysql-0.7RC1.tar.gz
# tar xvzf pam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1
# ./configure with-pam-mods-dir=/lib64/security --with-openssl
# make install
Loanteriorcrearlosarchivos
/lib64/security/pam_mysql.la
/lib64/security/pam_mysql.so

5.2 BasededatosMySQL
5.2.1 Instalacin
InstalacindelabasededatosMySQL
# yum install mysql-server
Iniciarservicio
# service mysqld start
Activaralinicio
# chkconfig mysqld on
Ejecutarasistenteparainicializarnuevabasededatos(clavederootdeMySQL:centos)
# mysql_secure_installation
Eliminarusuarioannimo,eliminarbasededatosdepruebasynopermitirconexinremotadelusuarioroot.

5.2.2 Creacindebasededatos
Crearbasededatosyusuarioparaaccederalamisma
# mysql -u root -p
mysql> CREATE DATABASE pam;
mysql> GRANT ALL PRIVILEGES ON pam.* TO 'pam'@'localhost' \
IDENTIFIED BY 'centos';
mysql> FLUSH PRIVILEGES;
20120325

EstebanDeLaFuenteRubio

27/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
Conectaralabasededatospamconelusuariopamycreartablas
# mysql -u pam -p pam
mysql> CREATE TABLE users (username VARCHAR(30) NOT NULL PRIMARY KEY,
password VARCHAR(32) NOT NULL);
Insertarusuariosdeprueba
mysql> INSERT INTO users VALUES ('pepito', md5('pepito'));
mysql> INSERT INTO users VALUES ('juanito', md5('juanito'));
Crearusuariosenelsistema
# useradd pepito
# useradd juanito

5.3 Configuracin
DatosdeconexinytabladeMySQL
# /etc/pam-mysql.conf
users.host

= localhost

users.database

= pam

users.db_user

= pam

users.db_passwd

= centos

users.where_clause

= 1

users.table

= users

users.user_column

= username

users.password_column

= password

users.password_crypt

= md5

verbose

= 1

ConfiguracinparaqueelserviciouseMySQL
# /etc/pam.d/<servicio>
auth

requisite

pam_mysql.so config_file=/etc/pam-mysql.conf

account

required

pam_unix.so

5.4 Ejercicios
1. Quconsideracionessedebentomaralutilizarunabasededatosdealgunaaplicacinyaexistente?

20120325

EstebanDeLaFuenteRubio

28/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

6 FTP
FileTransferProtocolfuedelosprimerosprotocolosparalatransferenciadearchivosporlared.Enesta
seccinseexplicarcomomontarunservidorFTPutilizandovsftpd(VerySecureFTPDaemon)elcuales
recomendado para ser utilizado en Red Hat Linux Enterprise y el disponible en repositorios. Existen otras
solucionescomoproftpdypureftpd,lascualesnoestnpordefectoenlosrepositoriosdeCentOS.

6.1 Instalacin
Instalacin
# yum install vsftpd
Iniciarservicio
# service vsftpd start
Activaralinicio
# chkconfig vsftpd on
Por defecto se permite una conexin en modo annimo al servidor FTP accediendo a los archivos
alojadosen/var/ftp.

6.2 Configuracin
Elarchivodeconfiguracindelserviciocorrespondea/etc/vsftpd/vsftpd.conf,elcualpordefectopermite
lasconexionescomoannimosyconusuariosdelsistema.

6.2.1 PAM
Configurarsegnindicacionesdisponiblesenlaseccin5.3,elarchivo/etc/pam.d/vsftpd

6.2.2 SELinux
# setsebool -P ftp_home_dir on
# setsebool -P ftpd_connect_db on

6.3 Ejercicios
1. Cmodeshabilitarelaccesodeunusuarioannimo?
2. Configurarparapermitirquepuedanentrarusuariosconclaveenelsistemay/oMySQL.
3. CmoutilizarSSLconelservidorvsftp?
20120325

EstebanDeLaFuenteRubio

29/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

7 SAMBA
Sambaeselservicioensistemas like Unixquepermite,entreotrastareas,compartirficherosconel
sistemaoperativoMicrosoftWindowsatravsdelprotocoloCIFS(exSMB).Igualmentepermiteelintercambio
entresistemasoperativosGNU/Linux.
UtilizandoPAMyaprovechandolosusuarioscreadosenlaseccin5.2.2,seproponeelejerciciodescrito
en la Tabla 3 de intercambio de archivos, donde se debe compartir trescarpetascon diferentespermisos.
AdicionalmenteserequierellevarauditoradeloqueserealizaenelservicioSAMBA.
/var/samba/carpeta1

/var/samba/carpeta2

/var/samba/carpeta3

juanito

read
write

read
write

pepito

read

read
write

read
write

Tabla3:EjercicioSAMBA
Crearcarpetas
# mkdir -p /var/samba/carpeta1
# mkdir -p /var/samba/carpeta2
# mkdir -p /var/samba/carpeta3

7.1 Instalacin
Instalacin
# yum install samba
Iniciarservicio
# service smb start
Activaralinicio
# chkconfig smb on
Pordefectoelserviciopermitelaconexinalosdirectoriosprincipalesdelosusuarioscreadosenel
sistema.EstosignificaquealhabilitarPAMlosusuariosdefinidosenlabasededatosMySQL(casopresentado
enlaseccindePAM)tambinpodrnaccederasusdirectoriosprincipales.

20120325

EstebanDeLaFuenteRubio

30/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

7.2 Configuracin
ElarchivodeconfiguracindeSAMBAcorrespondea/etc/samba/smb.conf,yacontinuacinsemuestran
lasconfiguracionesaagregarparalograrloplanteadoanteriormente(agregaralfinal)
# /etc/samba/smb.conf
# []
[carpeta1]
comment = Carpeta 1
path = /var/samba/carpeta1
browseable = yes
public = no
guest ok = no
read list = juanito, pepito
write list = juanito
create mask = 0660
directory mask = 0770
force group = smbusers
[carpeta2]
comment = Carpeta 2
path = /var/samba/carpeta2
browseable = yes
public = no
guest ok = no
read list = juanito, pepito
write list = juanito, pepito
create mask = 0660
directory mask = 0770
force group = smbusers

20120325

EstebanDeLaFuenteRubio

31/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)
[carpeta3]
comment = Carpeta 3
path = /var/samba/carpeta3
browseable = yes
public = no
guest ok = no
read list = pepito
write list = pepito
create mask = 0660
directory mask = 0770
force group = smbusers
Reiniciarservicio
# service smb restart
Creacindegrupoyaadirausuariosalmismo
# groupadd smbusers
# usermod -a -G smbusers pepito
# usermod -a -G smbusers juanito
Asignacindepermisos
# chgrp smbusers /var/samba/ -R
# chmod 770 /var/samba/ -R

7.2.1 PAM
Configurarsegnindicacionesdisponiblesenlaseccin5.3,elarchivo/etc/pam.d/samba
AdicionalmenteparautilizarPAMsedebenmodificar/asignarlassiguientesopcionesenelarchivode
configuracindeSAMBA,enlaseccinglobal:
encrypt passwords = no
obey pam restrictions = no
client lanman auth = yes
client plaintext auth = yes

20120325

EstebanDeLaFuenteRubio

32/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

7.2.2 SELinux
Permitiraccesoadirectoriosprincipalesdeusuarios
# setsebool -P samba_enable_home_dirs on
Permitiraccesoadirectorio/var/samba
# chcon -t samba_share_t /var/samba/carpeta1
# chcon -t samba_share_t /var/samba/carpeta2
# chcon -t samba_share_t /var/samba/carpeta3
Crearpolticapersonalizadaparaconexinabasededatos
# yum install policycoreutils-python
# grep smbd /var/log/audit/audit.log | audit2allow -M smbd_mysql
# semodule -i smbd_mysql.pp
Lopasosutilizadosparalapolticapersonalizadaestnfueradelcontextodeestecurso,sinembargose
muestranparaevitartenerqueponerSELinuxenmodopermisivopornocontarconunapolticaquepordefecto
permitaelaccesoaMySQL.

7.2.3 Auditora
EnlaseccinglobaldelarchivodeconfiguracindeSAMBAagregarlosiguiente:
vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite pread connect \
disconnect
full_audit:failure = none
full_audit:facility = LOCAL6
full_audit:priority = NOTICE
Agregara/etc/rsyslog.conf
local6.*

/var/log/samba/audit.log

Reiniciarservicios
# service smb restart
# service rsyslog restart

20120325

EstebanDeLaFuenteRubio

33/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

7.3 Pruebas
Paraprobarlosdirectorioscompartidosutilizarelcomandosmbclient.
Instalacin
# yum install samba-client
Conexinconusuariojuanito
# smbclient //localhost/carpeta1 -U juanito
Crearcarpeta
smb: \> mkdir c1
Conexinconusuariopepito
Crearcarpeta
smb: \> mkdir c2
Revisarregistros
tail /var/log/samba/audit.log

7.4 Ejercicios
1. Quproblemadeseguridadsepresentaconlascontraseasenlaconfiguracindeesteejercicio?
2. Sepodratenerunaconfiguracinmsseguradelascarpetascompartidas?
3. Porqusecolocanalosusuariosdentrodelmismogrupo?
4. Accederacarpeta1conlosdosusuariosycrearunacarpeta,revisaraudit.log
5. Montarcarpetaenunaubicacindelsistemadeficheros.
6. Cmomontarundirectoriocompartidoenunamquinaremota?cambiosenSELinux?

20120325

EstebanDeLaFuenteRubio

34/35

SASCOhttp://sasco.cl
GNU/LinuxServiciosenGNU/Linux(licenciaGFDL)

8 Recursos

PXE
Configuracin:http://wiki.centos.org/HowTos/PXE/PXE_Setup
Msdetalles: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/configureapachetosupport


multiplesslsitesonasingleipaddress/987

PAM:http://sopa.dis.ulpgc.es/iiaso/portal_aso/leclinux/seguridad/pam/pam_doc.pdf

vsftpd
SELinux:http://beginlinux.com/blog/2008/11/vsftpdandselinuxoncentos/
SSL:http://wiki.vpslink.com/Configuring_vsftpd_for_secure_connections_(TLS/SSL/SFTP

Audit:http://chicheblog.wordpress.com/2011/01/21/comoauditarlaactividaddelosusuariosensamba/

20120325

EstebanDeLaFuenteRubio

35/35

You might also like