Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Configuracion Servidores Linux 20130622 JUNIO
Configuracion Servidores Linux 20130622 JUNIO
F(ecute lo siguiente "ara visuali,ar cu&les usuarios est&n conectados en el siste'a! en .u# ti"o de ter'inal
lo est&n aciendo % 'ostrar la infor'acin de usuario definida en el arcivo 8etc8passRd)
"inger
F(ecute lo siguiente "ara ver la bit&cora de acceso de los '&s recientes ingresos a siste'a de todos los
usuarios existentes en el siste'a! es decir un resu'en del contenido del arcivo 8var8log8lastlog)
lastlog
F(ecute lo siguiente "ara visuali,ar la bit&cora de accesos acia el siste'a! es decir un extracto del
contenido del arcivo 8var8log8Rtmp)
last
F(ecute lo siguiente "ara ver con "rivilegios de root el resu'en de la bit&cora de intentos fallidos de acceso
al siste'a! es decir un resu'en del contenido del arcivo 8var8log8btmp)
su !l root !c ,lastb,
!1..,. (peraciones con archivos + directorios.
F(ecute)
"ile /etc/hosts
298
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior devolver& .ue /etc/osts es un arcivo de texto$
/etc/hosts7 5S*)) text
F(ecute)
"ile /boot/grub/e8"s/stage1/:
Lo anterior devolver& .ue /boot/grub/e2fsMstage7M2 es un arcivo de G;and Unified Bootloader % otras
"ro"iedades$
/boot/grub/e8"s/stage1/:7 IRand ?ni"ied ;ootloader stage1/: version @#8B identi"ier
%x8B IR?; version %#9$B con"iguration "ile /boot/grub/stage8
F(ecute)
pd
Lo anterior devolver& el directorio de traba(o actual! en este caso el directorio de inicio del usuario$ Fl
'andato pRd sirve "ara 'ostrar la ruta del directorio de traba(o actual 1pat of wor'ing directory3$
Ca'bie al directorio 8usr8local/usr/local utili,ando el 'andato cd! el cual sirve "ara ca'biar de directorio
1cange directory3)
cd /usr/local
F(ecute el 'andato pRd)
pd
Lo anterior 'ostrar& el directorio de traba(o actual$
-ara regresar a su directorio de inicio 1l3! e(ecute el 'andato cd sin argu'entos)
cd
F(ecute nueva'ente el 'andato pRd "ara verificar .ue se encuentra en su directorio de inicio)
pd
Lo anterior deber& 'ostrar .ue aora se encuentra dentro de su directorio de inicio 1l3$
F(ecute)
ls /usr/local
Lo anterior 'ostrar& el contenido del directorio 8usr8local % de'ostrar& .ue es innecesario ca'biarse a un
directorio en "articular! slo "ara ver su contenido$ Fl 'andato ls sirve "ara listar el contenido del siste'a
de arcivos 1li(t3
29=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
F(ecute)
ls
ls !a
-ri'ero se 'ostrar& .ue el directorio de inicio 1l3 est& vac/oZ des"u#s se 'ostrar& .ue en realidad si a%
contenidoZ los arcivos % directorios de convierten a ocultos al re6no'brar #stos! "oniendo un "unto al inicio
de su no'bre$
# #bash/history #bash/pro"ile #gnome8 #Xauthority
## #bash/logout #bashrc #moCilla
F(ecute)
ls !la
Lo anterior 'ostrar& todo el contenido de su directorio de inicio 1l3! en una lista ordenada "or no'bre! la
cual 'ostrar& ade'&s ta'aos en b%tes! atributos % "er'isos)
total 84
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 81788 #
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
F(ecute)
ls !lar
La salida ser& si'ilar a la del 'andato anterior! ordenando "or no'bre los arcivos! "ero en orden inverso)
total 84
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 817@: #
F(ecute)
ls !hlar
La salida ser& si'ilar a la del 'andato anterior! ordenando los arcivos "or no'bre! en orden inverso! "ero
'ostrando los ta'aos de arcivos en unidades '&s f&ciles de entender)
292
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
total 84H
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
drxr!xr!x# : root root 4#%H sep 8@ 8%7:1 ##
drx!!!!!!# 4 "ulano "ulano 4#%H sep 8@ 817@: #
F(ecute)
ls !Sla
Lo anterior deber& de 'ostrar todo el contenido del directorio de inicio 1l3! 'ostrar& los atributos %
"er'isos % ordenar& los ele'entos "or ta'ao)
total 84
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 817@: #
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
F(ecute)
ls !Slar
La salida ser& si'ilar a la del 'andato anterior! ordenando los arcivos "or ta'ao! "ero en orden inverso)
total 84
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 817@: #
F(ecute)
ls !tla
Lo anterior deber& de 'ostrar todo el contenido del directorio de inicio 1l3! 'ostrar& los atributos %
"er'isos % ordenar& los ele'entos "or feca de 'odificacin)
total 84
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 817@: #
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
F(ecute)
ls !tlar
294
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La salida ser& si'ilar a la del 'andato anterior! ordenando los arcivos "or feca de 'odificacin! "ero en
orden inverso)
total 84
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
drxr!xr!x# : root root 4%96 sep 8@ 8%7:1 ##
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
drx!!!!!!# 4 "ulano "ulano 4%96 sep 8@ 817@: #
F(ecute)
ls !htlar
La salida ser& si'ilar a la del 'andato anterior! "ero 'ostrando los ta'aos de los arcivos en unidades
'&s f&ciles de entender)
total 84H
!r!r!!r!!# 1 "ulano "ulano 184 may @% 117:6 #bashrc
!r!r!!r!!# 1 "ulano "ulano 1$6 may @% 117:6 #bash/pro"ile
!r!r!!r!!# 1 "ulano "ulano 16 may @% 117:6 #bash/logout
drxr!xr!x# : root root 4#%H sep 8@ 8%7:1 ##
!r!!!!!!!# 1 "ulano "ulano 14@ sep 8@ 8%7:9 #bash/history
drx!!!!!!# 4 "ulano "ulano 4#%H sep 8@ 817@: #
F(ecute)
ls !ia
La salida ser& si'ilar a la del 'andato anterior! "ero 'ostrando la infor'acin del n0'ero de inodo .ue
corres"onden a cada uno de los arcivos del directorio de traba(o actual)
4194@%: # 4194@%$ #bash/history 4194@%6 #bash/pro"ile
8 ## 4194@1: #bash/logout 4194@1% #bashrc
F(ecute)
ls !lia
La salida ser& si'ilar a la del 'andato anterior! 'ostrando la infor'acin del n0'ero de inodo .ue
corres"onden a cada uno de los arcivos del directorio de traba(o actual! con detalles)
total 84
4194@%: drx!!!!!! 8 "ulano "ulano 4%96 Oun 81 1674$ #
8 drxr!xr!x 9 root root 4%96 Oun 81 16748 ##
4194@%$ !r!!!!!!! 1 "ulano "ulano 6@ Oun 81 1674$ #bash/history
4194@1: !r!!!!!!! 1 "ulano "ulano 16 mar 86 19788 #bash/logout
4194@%6 !r!!!!!!! 1 "ulano "ulano 19@ mar 86 19788 #bash/pro"ile
4194@1% !r!!!!!!! 1 "ulano "ulano 184 mar 86 19788 #bashrc
F(ecute lo siguiente "ara crear varios arcivos vac/os)
295
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
touch archivo1 archivo8 archivo11 archivo18 archivo1@: archivo846
touch archivo5 archivo; archivoaa archivo5; archivoabc archivo5;*
F(ecute)
ls archivoL1L
La salida de lo anterior deber& 'ostrar todos los arcivos cu%o no'bre inicia con la cadena archivo "ero
slo a.uellos .ue inclu%en el n0'ero ! des"u#s de la cadena arcivo)
archivo1 archivo11 archivo18 archivo1@:
F(ecute)
ls archivoDWL1EL
La salida de lo anterior deber& 'ostrar todos los arcivos cu%o no'bre inicia con la cadena archivo! "ero
slo a.uellos .ue carecen del n0'ero ! en cual.uier "arte des"u#s de la cadena arcivo)
archivo8 archivo5 archivo5; archivo;
archivo846 archivoaa archivoabc archivo5;*
F(ecute)
ls archivo\\\
La salida de lo anterior deber& 'ostrar todos los arcivos cu%o no'bre inicia con la cadena archivo "ero
slo a.uellos .ue inclu%en slo tres caracteres adicionales des"u#s de la cadena arcivo)
archivo1@: archivo846 archivo5;* archivo5;*
F(ecute)
ls archivo\\
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue inclu%en slo dos caracteres adicionales des"u#s de la cadena arcivo)
archivo11 archivo18 archivoaa archivo5;
F(ecute)
ls archivoDD7digit7EEL
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue inclu%en n0'eros des"u#s de la cadena arcivo)
archivo1 archivo11 archivo18 archivo1@: archivo8 archivo846
29A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
F(ecute)
ls archivoDD7loer7EEL
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue ter'inan en letras 'in0sculas)
archivoaa archivoabc
F(ecute)
ls archivoDD7upper7EEL
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue ter'inan en letras 'a%0sculas)
archivo5 archivo5; archivo; archivo5;*
F(ecute)
ls archivoLDWD7digit7EE
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue ter'inan en caracteres distintos a los n0'eros)
archivo5 archivoaa archivo5; archivoabc archivo5;* archivo;
F(ecute)
ls archivoLDc*E
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue ter'inan en c o C)
archivoabc archivo5;*
F(ecute)
ls archivoLDWc*E
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue ter'inan con cual.uier car&cter exce"to c o C)
archivo1 archivo18 archivo8 archivo5 archivo5;
archivo11 archivo1@: archivo846 archivoaa archivo;
F(ecute)
29B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ls archivoDWa51EL
La salida de lo anterior deber& 'ostrar slo los arcivos cu%o no'bre inicia con la cadena archivo "ero slo
a.uellos .ue exclu%en a! + o el n0'ero 7 des"u#s de la cadena arcivo)
archivo8 archivo846 archivo;
F(ecute lo siguiente "ara crear un nuevo directorio)
mkdir eOemplos1
F(ecute lo siguiente "ara intentar generar otro directorio deno'inado ^uno_! "ero dentro del directorio
^e(e'"los2_ 1el cual es inexistente3$
mkdir eOemplos8/uno/
Lo anterior devolver& un 'ensa(e de error co'o el siguiente)
mkdir7 no se puede crear el directorio ceOemplos8/unod7 -o existe el archivo o el
directorio
+ fin de "oder crear el directorio ^uno_! dentro del directorio ^e(e'"los2_! es necesario crear "ri'ero
^e(e'"los2_$ Sin e'bargo "uede indicarle a 'Kdir .ue genere toda la ruta aadiendo la o"cin 6" 1"at3)
mkdir !p eOemplos8/uno
ls
ls eOemplos8
Lo anterior creo el directorio ^e(e'"los2_ % dentro de #ste al directorio ^uno_ % 'ostr al directorio
^e(e'"los2_ % 'ostr dentro de #ste al directorio ^uno_$
Co"ie algunos arcivos "ara ex"eri'entar con este directorio! utili,ando el 'andato cp)
cp /etc/"stab _/eOemplos1/
Juelva a utili,ar el 'andato cp de este 'odo)
cp /etc/passd _/eOemplos1/
Con estos dos "rocedi'ientos! se abr&n co"iado dos distintos arcivos 18etc8fstab % 8etc8passRd3 dentro
del directorio ejemplos4$
?ntente co"iar el directorio ^8e%emplos!8 co'o el nuevo directorio ^8copia!! e(ecutando lo siguiente)
cp _/eOemplos1/ _/copia1
Lo anterior devolver& un error "or.ue l/e(e'"los7 es un directorio)
cp7 se omite el directorio ceOemplos1/d
279
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara reali,ar la co"ia de un directorio! (unto con todo su contenido! debe usar el 'andato cp con la o"cin
-r! lo cual reali,ar& una co"ia recursiva del directorio de origen co'o el directorio de destino indicado$
F(ecute lo siguiente)
cp !r _/eOemplos1/ _/copia1/
Jisualice el contenido de a'bos directorios utili,ando el 'andato ls con la o"cin -l)
ls !l eOemplos1/ copia1/
La salida le 'ostrar& lo siguiente)
copia1/7
total 6
!r!r!!r!! 1 "ulano "ulano 1%:8 abr 8$ 1%7:6 "stab
!r!r!!r!! 1 "ulano "ulano 19:$ abr 8$ 1%7:6 passd
eOemplos1/7
total 6
!r!r!!r!! 1 "ulano "ulano 1%:8 abr 8$ 1%7:4 "stab
!r!r!!r!! 1 "ulano "ulano 19:$ abr 8$ 1%7:4 passd
Notar& .ue las fecas de 'odificacin de los arcivos contenidos en a'bos directorios son diferentes$
Fli'ine el directorio co"ia7! e(ecutando lo siguiente)
rm !"r _/copia1/
-ara reali,ar una co"ia de un directorio! "reservando todos los atributos % "er'isos del contenido del
directorio original! utilice el 'andato cp con la o"cin -a)
cp !a _/eOemplos1/ _/copia1/
-ara reali,ar una co"ia de un directorio! "reservando todos los atributos % "er'isos del contenido del
directorio original! "ero slo co"iando los arcivos .ue ca'biaron res"ecto de el directorio de origen %
viendo una salida descri"tiva! utilice el 'andato cp con las o"ciones -auv)
cp !auv _/eOemplos1/ _/copia1/
Jisualice de nuevo el contenido de a'bos directorios utili,ando el 'andato ls con la o"cin -l)
ls !l _/eOemplos1/ _/copia1/
La salida le 'ostrar& algo si'ilar a lo siguiente)
277
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
copia1/7
total 6
!r!r!!r!! 1 "ulano "ulano 1%:8 abr 8$ 1%7:4 "stab
!r!r!!r!! 1 "ulano "ulano 19:$ abr 8$ 1%7:4 passd
eOemplos1/7
total 6
!r!r!!r!! 1 "ulano "ulano 1%:8 abr 8$ 1%7:4 "stab
!r!r!!r!! 1 "ulano "ulano 19:$ abr 8$ 1%7:4 passd
Notar& .ue las fecas de 'odificacin de los arcivos contenidos en a'bos directorios son id#nticas$
Utilice el 'andato touch "ara ca'biar la feca de 'odificacin del arcivo ^8e%emplos!8fstab)
touch _/eOemplos1/"stab
Utilice el 'andato cp con las o"ciones -a "ara reali,ar una co"ia exacta del directorio de origen % sus
contenidos! -u "ara reali,ar slo la co"ia de los contenido nuevos % utili,ando la o"cin -v "ara ver una
salida detallada)
cp !auv _/eOemplos1/L _/copia1/
Lo anterior debe devolver una salida si'ilar a la siguiente$
ceOemplos1/"stabd !Q ccopia1/"stabd
Utilice de nuevo el 'andato mOdir % genere un directorio deno'inado adicional dentro del directorio de
e%emplos!$
mkdir _/eOemplos1/adicional
+cceda al directorio de ejemplos4 "ara continuar$ F(ecute lo siguiente)
cd _/eOemplos1/
Liste el contenido de este directorio! e(ecutando lo siguiente)
ls
Se 'ostrar&n los arcivos fstab % passRd % el directorio adicional$)
D"ulano^localhost eOemplos1EF
adicional "stab passd
D"ulano^localhost eOemplos1EF
:ueva el arcivo fstab dentro del directorio adicional utili,ando el 'andato mv)
mv "stab adicional/
Fxa'ine el contenido del directorio e%emplos! utili,ando de nuevo el 'andato ls)
272
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ls
Gbtendr& una salida si'ilar a la siguiente)
D"ulano^localhost eOemplos1EF
adicional passd
D"ulano^localhost eOemplos1EF
+cceda al directorio adicional con el 'andato cd
cd adicional
Jisualice el contenido del directorio de traba(o actual e(ecutando el 'andato ls$
ls
Se 'ostrar& una salida si'ilar a la siguiente)
D"ulano^localhost adicionalEF
"stab
D"ulano^localhost adicionalEF
;egrese al directorio e%emplos! .ue se encuentra en el nivel su"erior utili,ando el 'andato cd)
cd ##/
-roceda a eli'inar el arcivo passRd .ue se encuentra en el directorio e%emplos!
rm passd
Iaga lo 'is'o con fstab! el cual se locali,a dentro del directorio adicional)
rm adicional/"stab
Fli'ine el directorio adicional)
rmdir adicional
Genere un nuevo sub6directorio deno'inado directorios!)
mkdir directorios1
Ca'bie a este nuevo directorio)
cd directorios1
F(ecuta lo siguiente)
mkdir -uevo &irectorio
278
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Liste el contenido del directorio de traba(o actual 'ostrando una sola colu'na)
ls !1
Lo anterior cre dos nuevos directorios! uno deno'inado LNuevoM % otro deno'inado LDirectorioM! "or lo
.ue ver& una salida co'o la siguiente)
&irectorio
-uevo
F(ecuta lo siguiente! .ue ser& si'ilar al 0lti'o 'Kdir! "ero .ue en esta ocasin utili,ar& una diagonal inversa
antes del es"acio)
mkdir -uevoK &irectorio
Liste el contenido del directorio de traba(o actual 'ostrando una sola colu'na)
ls !1
Lo anterior cre un nuevo directorio deno'inado LNuevo DirectorioM! "or lo .ue ver& una salida co'o la
siguiente)
&irectorio
-uevo
-uevo &irectorio
La diagonal inversa se utili, co'o car&cter de esca"e "ara indicar .ue es"acio entre LNuevoM %
LDirectorioM es "arte del no'bre el directorio .ue se .uiere crear$
-uede lograrse el 'is'o efecto escribiendo el no'bre del directorio a crear entre co'illas$ F(ecute lo
siguiente)
mkdir ,0tro &irectorio,
Liste el contenido del directorio de traba(o actual 'ostrando una sola colu'na)
ls !1
Lo anterior cre un nuevo directorio deno'inado L(tro DirectorioM! "or lo .ue ver& una salida co'o la
siguiente)
&irectorio
-uevo
-uevo &irectorio
0tro &irectorio
;egrese a su directorio de inicio$
cd
27=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!1..-. Consultar a+udaG p6ginas de manual e informacin.
F(ecute)
ls !!help
Lo anterior 'ostrar& la a%uda del 'andato ls$ -ulse si'ult&nea'ente las teclas ^SI?>@_ % ^;e -&g_ % luego
las teclas ^SI?>@_ % ^+v -&g_Z #sto "er'itir& avan,ar o retroceder en el docu'ento$
-ulse la tecla ^FN@F;_ % e(ecute lo siguiente)
man ls
Lo anterior 'ostrar& el 'anual en es"aol$ -ulse las teclas ^+v -&g_ % ^;e -&g_ "ara avan,ar o retroceder$
-ulse la tecla 8! ingrese la cadena de texto ^director_ % "ulse la tecla ^FN@F;_)
7/director
Lo anterior abr& reali,ado una b0s.ueda en el 'anual del 'andato ls % resaltado las incidencias de la
cadena de texto ^director_$ -ulse la tecla C "ara salir$
Si necesita consultar otros 'anuales relacionados con el 'andato ls! e(ecute el 'andato 'an con la o"cin
6K % el no'bre del 'andato a consultar! del siguiente 'odo
man !k ls
Lo anterior devolver& una extensa salida .ue consistir& en la lista de todas las "&ginas de 'anual .ue
inclu%en infor'acin relacionada con el 'andato ls$
-ara obtener una lista '&s es"ec/fica! e(ecute lo siguiente)
hatis ls
F(ecute lo siguiente)
man !k crontab
Lo anterior devolver& una salida si'ilar a la siguiente! la cual indica .ue a% dos distintos 'anuales "ara
crontab 17 % 23$
crontab (1) ! maintains crontab "iles "or individual users
crontab (:) ! "iles used to schedule the execution o" programs
Las "&ginas de 'anual se organi,an en las siguientes categor/as)
7 corres"onde a 'anuales "ara "rogra'as e(ecutables % guiones del int#r"rete de 'andatos$
2 corres"onde a 'anuales "ara lla'adas del siste'a 1funciones servidas "or el n0cleo3$
272
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
8 corres"onde a 'anuales "ara lla'adas de la biblioteca 1funciones contenidas en las
bibliotecas del siste'a3$
= corres"onde a 'anuales "ara arcivos es"eciales 1se encuentran general'ente en /dev3$
2 corres"onde a 'anuales "ara for'ato de arcivos % convenios$
4 corres"onde a 'anuales "ara (uegos
5 corres"onde a 'anuales "ara "a.uetes de 'acros % convenios$
A corres"onde a 'anuales "ara 'andatos de ad'inistracin del siste'a 1general'ente slo
son "ara root3
B corres"onde a 'anuales "ara rutinas del n0cleo gNo es est&ndarh
n se utili,aba en el "asado "ara clasificar las "&ginas de 'anual nuevas$ Io% en d/a es
obsoleto$
l se utili,aba en el "asado "ara clasificar las "&ginas de 'anual "ara uso local$ Io% en d/a es
obsoleto$
" se utili,aba en el "asado "ara clasificar las "&ginas de 'anual "0blicas$ Io% en d/a es
obsoleto$
o se utili,aba en el "asado "ara clasificar las "&ginas de 'anual antiguas$ Io% en d/a es
obsoleto$
Lo .ue significa .ue crontabP!Q corres"onde al 'anual del "rogra'a crontab % crontabP.Q corres"onde
al 'anual del for'ato del arcivo 8etc8crontab$ -ara consultar #ste 0lti'o e(ecute lo siguiente)
man : crontab
-ara salir! "ulse la tecla C$
F(ecute lo siguiente)
in"o ls
Lo anterior 'ostrar& la "&gina de infor'acin del 'andato ls$ Fl 'andato info se se "uede utili,ar cuando
se carece de "&ginas de 'anual$ -ara salir! "ulse la tecla C$
!1.... Jisuali3ando contenido de archivos.
;egrese a su directorio de inicio$
cd
F(ecute)
274
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
c !m /etc/crontab
Lo anterior devolver& .ue el arcivo /etc/crontab contiene cierto n0'ero de car&cteres$
F(ecute)
c ! /etc/crontab
Lo anterior devolver& .ue el arcivo /etc/crontab contiene cierto n0'ero de "alabras$
F(ecute)
c !l /etc/crontab
Lo anterior devolver& .ue el arcivo /etc/crontab contiene cierto n0'ero de l/neas$
F(ecute)
c !2 /etc/crontab
Lo anterior devolver& .ue la l/nea '&s larga del arcivo /etc/crontab tiene cierto n0'ero de car&cteres$
F(ecute)
c !c /etc/crontab
Lo anterior devolver& .ue el ta'ao del arcivo /etc/crontab es de cierto n0'ero de b%tes$
Utilice el 'andato cat "ara ver el contenido del arcivo 8etc8crontab! e(ecutando lo siguiente)
cat /etc/crontab
Lo anterior devolver& algo si'ilar a lo siguiente)
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
.5)210+root
30.'+/
A >or details see man 4 crontabs
A 'xample o" Oob de"inition7
A #!!!!!!!!!!!!!!!! minute (% ! :9)
A R #!!!!!!!!!!!!! hour (% ! 8@)
A R R #!!!!!!!!!! day o" month (1 ! @1)
A R R R #!!!!!!! month (1 ! 18) 0R OanB"ebBmarBapr ###
A R R R R #!!!! day o" eek (% ! 6) (Sunday+% or $) 0R sunBmonBtueBedBthuB"riBsat
A R R R R R
A L L L L L command to be executed
-ara 'ostrar slo las lineas .ue contengan la cadena de car&cteres root! se utili,a el 'andato gre" co'o
subrutina del siguiente 'odo)
cat /etc/crontab R grep root
275
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior devolver& algo si'ilar a lo siguiente)
.5)210+root
-ara acer lo contrario % slo visuali,ar las l/neas .ue sin la cadena de car&cteres root! se utili,a el 'andato
grep co'o subrutina$ F(ecute lo siguiente)
cat /etc/crontab R grep !v ,root,
Lo anterior devolver& una salida si'ilar a la siguiente)
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
30.'+/
A >or details see man 4 crontabs
A 'xample o" Oob de"inition7
A #!!!!!!!!!!!!!!!! minute (% ! :9)
A R #!!!!!!!!!!!!! hour (% ! 8@)
A R R #!!!!!!!!!! day o" month (1 ! @1)
A R R R #!!!!!!! month (1 ! 18) 0R OanB"ebBmarBapr ###
A R R R R #!!!! day o" eek (% ! 6) (Sunday+% or $) 0R sunBmonBtueBedBthuB"riBsat
A R R R R R
A L L L L L command to be executed
Lo anterior inclu%e ta'bi#n las lineas vac/as$ -ara 'ostrar el 'is'o resultado sin l/neas vac/as! se utili,a el
'is'o 'andato e(ecutando co'o subrutina el 'andato sed con la o"cin -e 1e(ecutar3 % _8]`8d_ co'o
argu'entos! donde sed es un editor "ara filtrado % transfor'acin de texto % 8]`8d se refiere a l/neas
vac/as)
cat /etc/crontab R grep !v ,root, R sed !e Z/`F/dZ
Lo anterior devolver& una salida si'ilar a la siguiente)
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
30.'+/
A >or details see man 4 crontabs
A 'xample o" Oob de"inition7
A #!!!!!!!!!!!!!!!! minute (% ! :9)
A R #!!!!!!!!!!!!! hour (% ! 8@)
A R R #!!!!!!!!!! day o" month (1 ! @1)
A R R R #!!!!!!! month (1 ! 18) 0R OanB"ebBmarBapr ###
A R R R R #!!!! day o" eek (% ! 6) (Sunday+% or $) 0R sunBmonBtueBedBthuB"riBsat
A R R R R R
A L L L L L command to be executed
F(ecute)
head !@ /etc/crontab
Fl 'andato head devolver& la siguiente salida! 'ostrando las 8 "ri'eras l/neas del arcivo /etc/crontab$
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
.5)210+root
F(ecute)
27A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
tail !@ /etc/crontab
Fl 'andato tail devolver& la siguiente salida! 'ostrando las 8 0lti'as l/neas del arcivo /etc/crontab$
A R R R R R
A L L L L L command to be executed
F(ecute)
sort /etc/passd Rgrep %
Lo anterior devolver& co'o la salida el contenido del arcivo /etc/"ass*d! ordenando las l/neas "or no'bre!
"ero slo 'ostrando a.uellas l/neas .ue inclu%en el car&cter 9$
avahi!autoipd7x71$%71$%75vahi )=v422 Stack7/var/lib/avahi!autoipd7/sbin/nologin
avahi7x7$%7$%75vahi m&-S/&-S!S& Stack7/var/run/avahi!daemon7/sbin/nologin
"tp7x7147:%7>1= ?ser7/var/"tp7/sbin/nologin
"ulano7x7:%%7:%%7>ulano de 1al7/home/"ulano7/bin/bash
games7x71871%%7games7/usr/games7/sbin/nologin
gopher7x71@7@%7gopher7/var/gopher7/sbin/nologin
halt7x7$7%7halt7/sbin7/sbin/halt
operator7x7117%7operator7/root7/sbin/nologin
root7x7%7%7root7/root7/bin/bash
shutdon7x767%7shutdon7/sbin7/sbin/shutdon
sync7x7:7%7sync7/sbin7/bin/sync
uucp7x71%7147uucp7/var/spool/uucp7/sbin/nologin
F(ecute)
sort !r /etc/passd Rgrep %
Lo anterior devolver& co'o la salida el contenido del arcivo /etc/"ass*d! ordenando las l/neas "or no'bre!
en orden inverso! "ero slo las l/neas .ue inclu%en el car&cter 9$
uucp7x71%7147uucp7/var/spool/uucp7/sbin/nologin
sync7x7:7%7sync7/sbin7/bin/sync
shutdon7x767%7shutdon7/sbin7/sbin/shutdon
root7x7%7%7root7/root7/bin/bash
operator7x7117%7operator7/root7/sbin/nologin
halt7x7$7%7halt7/sbin7/sbin/halt
gopher7x71@7@%7gopher7/var/gopher7/sbin/nologin
games7x71871%%7games7/usr/games7/sbin/nologin
"ulano7x7:%%7:%%7>ulano de 1al7/home/"ulano7/bin/bash
"tp7x7147:%7>1= ?ser7/var/"tp7/sbin/nologin
avahi7x7$%7$%75vahi m&-S/&-S!S& Stack7/var/run/avahi!daemon7/sbin/nologin
avahi!autoipd7x71$%71$%75vahi )=v422 Stack7/var/lib/avahi!autoipd7/sbin/nologin
De los dos 'andatos anteriores! observe .ue los datos de cada l/nea son deli'itados "or el car&cter ) 1dos
"untos3$ F(ecute lo siguiente)
cat /etc/passd Rgrep % R cut !d ,7, !"1
Fl contenido del arcivo /etc/"ass*d es 'ostrado! "ero slo las l/neas .ue inclu%en el car&cter 9 %
'ostrando slo la "ri'era colu'na de datos del arcivo! definiendo el car&cter ) 1dos "untos3 co'o
deli'itador entre las colu'nas$
27B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
root
sync
shutdon
halt
uucp
operator
games
gopher
"tp
avahi
avahi!autoipd
"ulano
F(ecute)
cat /etc/passd R grep % R cut !d ,7, !"@
Se 'uestra el contenido del arcivo /etc/"ass*d! "eor slo las l/neas .ue inclu%en el car&cter 9 % slo
'ostrando la tercera colu'na de datos del arcivo! definiendo el car&cter ) 1dos "untos3 co'o deli'itador
entre las colu'nas$
%
:
6
$
1%
11
18
1@
14
$%
1$%
:%%
F(ecute)
sort /etc/passd R grep % R cut !d ,7, !"1
Lo anterior 'uestra el contenido del arcivo /etc/"ass*d! ordenando las l/neas "or no'bre! "ero slo
a.uellas .ue contienen el car&cter 9 % slo 'ostrando la "ri'era colu'na de datos! considerando .ue se
utili, el car&cter ) 1dos "untos3 co'o deli'itador entre las colu'nas$
avahi!autoipd
avahi
"tp
"ulano
games
gopher
halt
operator
root
shutdon
sync
uucp
!1..0. /nlaces fsicos + simblicos.
229
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fxisten dos ti"os de enlaces acia arcivos! los f/sicos 1o duros3 % los si'blicos 1o blandos3$ +'bos
"er'iten econo'i,ar es"acio en el siste'a de arcivos cuando a% circunstancias en las cuales se necesita
utili,ar los 'is'os arcivos o directorios en diversos lugares$
Los enlaces f/sicos slo "ueden a"untar acia arcivos dentro de una 'is'a "articin$ B&sica'ente crean
inodos .ue a"untan a un 'is'o arcivo! es decir! se tiene un arcivo con varios no'bres$ Slo es "osible
ver acia .u# arcivo a"untan consultando el n0'ero de inodo! co'o ser/a con el 'andato ls con la o"cin
6i$ Slo se "ueden crear enlaces f/sicos acia arcivos existentes$ Si se borra el arcivo original! #ste
"revalece gracias al enlace f/sico$
Los enlaces si'blicos "ueden acia arcivos % directorios en cual.uier "arte del siste'a de arcivos! sin
i'"ortar en .u# "articin se encuentren$ Son arcivos es"eciales con una ruta acia un arcivo o directorio$
Fl 'andato ls con la o"cin 6l "uede 'ostrar acia dnde a"unta un enlace si'blico en "articular$ Se
"ueden crear enlaces si'blicos .ue a"unten acia arcivos o directorios inexistentes$ Si se borra el arcivo
original! el enlace si'blico si'"le'ente a"untar& acia un arcivo o directorio inexistente$
;egrese al directorio de inicio$
cd
Genere el directorio cd l/"ruebas6enlaces % ca'bia acia #ste$
mkdir _/pruebas!enlaces [ cd _/pruebas!enlaces
Genere un enlace si'blico .ue a"unte acia el arcivo /boot/grub/device$'a")
ln !s /boot/grub/device#map #
Jisualice el resultado con el 'andato ls con la o"cin 6l)
ls !l
La salida debe devolver algo si'ilar a lo siguiente)
total %
lrxrxrx 1 "ulano "ulano 81 Oun 81 1671% device#map !Q /boot/grub/device#map
Co"ie el arcivo /etc/osts dentro del directorio l/"ruebas6enlaces)
cp /etc/hosts #
Genere un enlace f/sico deno'inado osts2 .ue a"unte acia el arcivo osts! e(ecutando lo siguiente)
ln hosts hosts8
Jisualice el resultado con el 'andato ls con la o"cin -l)
ls !l
La salida debe devolver algo si'ilar a lo siguiente)
227
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
total 6
lrxrxrx 1 Obarrios Obarrios 81 Oun 81 1671% device#map !Q /boot/grub/device#map
!r!r!!r!! 8 Obarrios Obarrios 11: Oun 81 1671@ hosts
!r!r!!r!! 8 Obarrios Obarrios 11: Oun 81 1671@ hosts8
Note .ue en la segunda colu'na! la corres"ondiente al n0'ero de inodos utili,ados! a% un n0'ero 2 "ara
los arcivos osts % osts2$
-ara cote(ar .ue efectiva'ente los inodos corres"ondientes de los arcivos osts % osts2 tienen el 'is'o
n0'ero! e(ecute el 'andato ls con la o"cin 6i)
ls !i
La salida debe devolver algo si'ilar a lo siguiente)
496%641 device#map 496%648 hosts 496%648 hosts8
Borre el arcivo osts$
rm hosts
Jerifi.ue .ue el arcivo osts a desa"arecido % .ue el arcivo osts2 "er'anece intacto$
ls !l
La salida debe devolver algo si'ilar a lo siguiente)
total 4
lrxrxrx 1 Obarrios Obarrios 81 Oun 81 1671% device#map !Q /boot/grub/device#map
!r!r!!r!! 1 Obarrios Obarrios 11: Oun 81 1671@ hosts8
@a'bi#n se "ueden generar enlaces si'blicos utili,ando el 'andato c" con la o"cin 6s! del siguiente
'odo)
cp !s hosts8 hosts
Jisualice el resultado con el 'andato ls con la o"cin 6l)
ls !l
La salida debe devolver algo si'ilar a lo siguiente)
total 6
lrxrxrx 1 Obarrios Obarrios 81 Oun 81 1671% device#map !Q /boot/grub/device#map
lrxrxrx 1 Obarrios Obarrios 6 Oun 81 16786 hosts !Q hosts8
!r!r!!r!! 1 Obarrios Obarrios 11: Oun 81 1671@ hosts8
!1..1. $ucles.
;egrese al directorio de inicio$
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cd
F(ecute lo siguiente! donde se utili,a el 'andato perl e(ecutando 1-e3 el guin for1mib7Zmin79Zmiii3o"rint
UmipnUZq! en el cual se genera la variable i .ue es igual a 7 % 'enor a 79 % a la cual se va su'ando %
devuelve una salida con el valor de i con retorno de carro$
perl !e Z"or(Fi+1[Fi]1%[FiXX)eprint ,FiKn,[fZ
Lo anterior devolver& una salida si'ilar a la siguiente)
1
8
@
4
:
6
$
6
9
:odifi.ue el guin del 'andato anterior % ree'"lace '`ian' "or 'N)mero `ian' del siguiente 'odo)
perl !e Z"or(Fi+1[Fi]1%[FiXX)eprint ,-Vmero FiKn,[fZ
Lo anterior devolver& una salida si'ilar a la siguiente)
-Vmero 1
-Vmero 8
-Vmero @
-Vmero 4
-Vmero :
-Vmero 6
-Vmero $
-Vmero 6
-Vmero 9
-ara la salida en un arcivo! aada al 'andato anterior ]] l/texto$txt! lo cual redirigir& la salida acia el
arcivo l/texto$txt)
perl !e Z"or(Fi+1[Fi]1%[FiXX)eprint ,-Vmero FiKn,[fZ QQ _/texto#txt
Lo anterior slo devolver& el s/'bolo de siste'a$ Utilice el 'andato cat "ara visuali,ar el contenido del
arcivo l/texto$txt)
cat _/texto#txt
Lo anterior devolver& una salida si'ilar a la siguiente % .ue corres"onde al contenido del arcivo
l/texto$txt)
228
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-Vmero 1
-Vmero 8
-Vmero @
-Vmero 4
-Vmero :
-Vmero 6
-Vmero $
-Vmero 6
-Vmero 9
-ara acer lo 'is'o .ue i,o con el 'andato perl! "ero utili,ando el 'andato bash! e(ecute lo siguiente)
"or i in e1##9f
do
echo !e ,-Vmero Fi, QQ _/texto!con!bash#txt
done
Lo anterior slo regresa el s/'bolo de siste'a$ Utilice el 'andato cat "ara visuali,ar el contenido del
arcivo l/texto6con6bas$txt! e(ecute lo siguiente)
cat _/texto!con!bash#txt
Lo anterior devolver& una salida si'ilar a la siguiente % .ue corres"onde al contenido del arcivo
l/texto6con6bas$txt)
-Vmero 1
-Vmero 8
-Vmero @
-Vmero 4
-Vmero :
-Vmero 6
-Vmero $
-Vmero 6
-Vmero 9
+ continuacin a"render& a utili,ar funciones '&s avan,adas$ Fn el siguiente caso usted crear& res"aldos de
un con(unto de arcivos de i'&genes! asignando a cada uno un no'bre distinto al .ue ten/an en su
directorio de origen$ -ri'ero crear& un nuevo directorio)
mkdir _/respaldos
F(ecute los siguientes 'andatos)
&- ;>sr;sh#re;'%E<#'s;
"or " in L#png
do
cp F" _/respaldos/copia!F"
done
cd
Lo anterior ar& la co"ia en serie de los arcivos dentro de 8usr8share8pi*maps8 dentro de ^8respaldos8
ante"oniendo en el no'bre de las co"ias la "alabra ^co"ia_$ -ara ver el contenido del directorio
^8respaldos8! e(ecute lo siguiente)
ls _/respaldos/
22=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Se definir&n dos variables 1mo'bre % m'u(er3! creando el arcivo "are(as$txt % usando los datos de #ste % se
e(ecutar& una rutina "or cada con(unto de variables$
cd
echo ,Suan 5na, QQ pareOas#txt
echo ,=edro 'va, QQ pareOas#txt
echo ,=ablo Iaby, QQ pareOas#txt
echo ,Sorge ;ety, QQ pareOas#txt
echo ,=epe Sara, QQ pareOas#txt
hile read hombre muOer
do
echo ,Fhombre es pareOa de FmuOer,
echo ,!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!,
done ] pareOas#txt
!1..4. ;liases.
;egrese a su directorio de inicio$
cd
F(ecute)
touch algo!nuevo#txt
touch otro!nuevo#txt
cp algo!nuevo#txt otro!nuevo#txt
Lo anterior creo los arcivos algo-nuevo.t*t % otro-nuevo.t*t % se cre una co"ia de algo-nuevo.t*t!
sobre escribiendo! sin di&logo "ara confir'ar! al arcivo otro-nuevo.t*t$
F(ecute)
alias cp+,cp !i,
cp algo!nuevo#txt otro!nuevo#txt
Lo anterior cre un alias deno'inado cp! el cual corres"onde al 'andato cp con la o"cin -i 1c" en 'odo
interactivo3! lo cual ace .ue se 'uestre un di&logo de confir'acin antes de sobre6escribir un arcivo$
-ara eli'inar este alias! e(ecute lo siguiente)
unalias cp
F(ecute lo siguiente "ara crear alias personali3ado! deno'inado mandatopersonal)
alias mandatopersonal+,ls !l Rless,
Lo anterior crea un alias .ue consiste en e(ecutar el 'andato ls con la o"cin 6l % .ue ade'&s e(ecutar&
co'o subrutina al 'andato less$ F(ecute mandatopersonal$
mandatopersonal /etc
Lo anterior debe aber 'ostrado el contenido del directorio 8etc! utili,ando less "ara "oder des"la,ar la
"antalla$ -ara salir de less! "ulse la tecla C$
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Los aliases creados "erduran asta .ue es cerrada la sesin del usuario$ -ara .ue cual.uier alias sea
"er'anente "ara un usuario en "articular! a% .ue es"ecificar #stos dentro del arcivo ^8.bashrc 1CentGS!
>edora % ;ed Iat Fnter"rise Linux3 o bien dentro del arcivo ^8.aliases 1SUSF Linux Fnter"rise %
o"enSUSF3$
-ara ver la lista de aliases "redeter'inados del siste'a! slo e(ecute el 'andato alias$
alias
!1..[. ;pagado + reinicio de sistema.
-ara .ue el siste'a finalice a"ro"iada'ente todos los servicios en e(ecucin! guarde en disco las
consignaciones "endientes % des'onte de for'a segura todos los siste'as de arcivos! utilice los 'andatos
reboot o bien poReroff$
-ara reiniciar el siste'a de in'ediato! e(ecute el 'andato reboot)
reboot
Fl 'andato reboot "uede ser utili,ado "or usuarios regulares % su uso es controlado a trav#s de 7;5$
Si re.uiere acer un reinicio del siste'a! con un la"so de tie'"o % un aviso a los usuarios .ue est#n
conectados al siste'a! utili,a el 'andato shutdoRn con la o"cin -r % el n0'ero de 'inutos .ue .uiera dar
de tie'"o antes de reali,ar el "roceso de reinicio$ Fn el siguiente e(e'"lo! el "roceso de reinicio del siste'a
se reali,ar& dentro de 2 'inutos)
shutdon !r :
Si utili,a el 'andato shutdoRn con la o"cin -r! sin '&s argu'entos! de 'odo "redeter'inado el siste'a
reiniciar& en un 'inuto! enviando un 'ensa(e de advertencia a todos los usuarios conectados al siste'a$
Fl 'andato shutdoRn slo "uede ser utili,ado "or el usuario root$
-ara a"agar el siste'a de in'ediato! e(ecute el 'andato poReroff)
poero""
+l igual .ue el 'andato reboot! el 'andato poReroff "uede ser utili,ado "or usuarios regulares % su uso
es controlado a trav#s de 7;5$
Si re.uiere acer un a"agado del siste'a! con un la"so de tie'"o % un aviso a los usuarios .ue est#n
conectados al siste'a! utili,a el 'andato shutdoRn con la o"cin -h % el n0'ero de 'inutos .ue .uiera
dar de tie'"o antes de reali,ar el "roceso de a"agado$ Fn el siguiente e(e'"lo! el "roceso de a"agado del
siste'a se reali,ar& dentro de 2 'inutos)
shutdon !h :
Si utili,a el 'andato shutdoRn con la o"cin -h! sin '&s argu'entos! de 'odo "redeter'inado el siste'a
se a"agar& en un 'inuto! enviando un 'ensa(e de advertencia a todos los usuarios conectados al siste'a$
224
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara cancelar el "rocesos de a"agado o reinicio del siste'a! se utili,a el 'andato shutdoRn con la o"cin
-c$
shutdon !c
;ecuerde .ue el 'andato shutdoRn slo "uede ser utili,ado "or el usuario root$
Contin0e con el docu'ento titulado ^Co'"resin % desco'"resin de arcivos$_
225
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!4. Compresin + descompresin de archivos.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
!4.!. Introduccin.
-or favor! siga los procedimientos al pie de la letra$ Fn varios e(e'"los utili,ar& el car&cter l 1tilde3!
.ue es una for'a de abreviar el directorio de inicio del usuario utili,ado$
!4.!.!. ;cerca de bI7.
N?- es un for'ato de arcivo si'"le! creado original'ente "or -il Lat,! fundador de -LQ+;F! el cual
co'"ri'e cada uno de los arcivos .ue contiene de for'a se"arada! lo cual "er'ite recu"erar cada uno de
los arcvios al'acenados sin tener .ue leer el resto del arcivo N?- .ue los contiene! lo .ue "er'ite un
'e(or rendi'iento$ Cada arcivo "uede ser al'acenado sin co'"resin o con una a'"lia variedad de
algorit'os de co'"resin! aun.ue el '&s utili,ado % "r&ctico es el algorit'o original de -il Lat,$
!4.!.. ;cerca de <;R.
Fl formato de almacenamiento de arcivos conocido co'o @+; o <a"e ;Rciver 1arcivador en cinta3!
fue diseado "ara el al'acena'iento de arcivos en cintas 'agn#ticas$ Fl for'ato se "rocesa de 'anera
lineal! de 'odo .ue es necesario recorrer todo el arcivo "ara "oder "oder extraer cual.uier ele'ento .ue
#ste contenido en el arcivo @+;$ +ctual'ente est& definido en los est&ndares -GS?O$767BBA % -GS?O$762997
!4.!.,. ;cerca de :bI7.
Fl formato de compresin GN?- 1GNU N?-3! creado "or :arK +dler % Jean6lou" Gaill%! es una alternativa a
los for'atos LNQ % otros algorit'os "atentados .ue li'itaban el uso del "rogra'a compress! asta
entonces lo '&s co'0n'ente utili,ado en Unix$ GN?- utili,a la biblioteca Nlib! la cual se basa sobre el
algorit'o Deflate! .ue es una co'binacin del LN55 % la codificacin Iuff'an$ Fs i'"ortante sealar .ue
GN?- slo reali,a la co'"resin de los arcivos! el al'acena'iento se reali,a utili,ando @+; o cual.uier otro
formato de almacenamiento de arcivos$
!4.!.-. ;cerca de $bI7
Fl formato de compresin BN?-2! desarrollado % 'antenido "or Julian Se*ard! utili,a los algorit'os de
co'"resin de Burro*s6Qeeler % el algorit'o de codificacin de Iuff'an$ +un.ue el "orcenta(e de
co'"resin de los arcivos de"ende del contenido de #stos 'is'os! resulta una 'e(or alternativa a N?- %
GN?-! "ero con un 'a%or consu'o de 'e'oria % recursos de siste'a$
!4.!... ;cerca de Bb.
22A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl formato de compresin ON! creado % 'antenido "or Lasse Collin! utili,a el algorit'o de co'"resin
LN:+2! a trav#s de la biblioteca libl,'a$ @iene un 'e(or rendi'iento .ue BN?-2 1consu'e 'enos 'e'oria %
recursos de siste'a3 con 'e(ores tasas de co'"resin$ Fs el for'ato utili,ado o% en d/a "ara la
co'"resin de arcivos @+; de cdigos fuente! aun.ue GN?- a0n es el for'ato '&s utili,ado a la feca "ara
distribucin de cdigo fuente de Soft*are Libre$
!4.. 7rocedimientos.
?ngrese al siste'a co'o el usuario root % aseg0rese .ue est#n instalados los "a.uetes tar! ,i"! un,i"! g,i"!
b,i"2 % x,$
Si utili,a Cent(9! 2edoraF o Red DatF /nterprise &inu*! e(ecute lo siguiente)
yum !y install tar Cip unCip gCip bCip8 xC
Si utili,a open9"9/F o 9"9/F &inu* /nterprise! e(ecute lo siguiente)
yast !i tar Cip unCip gCip bCip8 xC
+l ter'inar! cierre la sesin del usuario root! e(ecutando el 'andato e*it)
exit
!4..!. 7reparativos.
?ngrese nueva'ente al siste'a co'o usuario regular 1fulano3$
+ fin de dis"oner de datos con los cuales ex"eri'entar! co"ie el directorio 8usr8share8pi*maps dentro del
directorio de inicio del usuario utili,ado$
cp !a /usr/share/pixmaps _/
!4... Compresin + descompresin de archivos Y.3ip.
Consulte el 'anual del 'andato 3ip e(ecutando lo siguiente)
man 1 Cip
Consulte el 'anual del 'andato un3ip e(ecutando lo siguiente)
man 1 unCip
Genere un arcivo $,i" e(ecutando lo siguiente)
Cip !r "oo#Cip pixmaps/
-ara 'ostrar la lista del contenido del arcivo foo.3ip! e(ecute)
22B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
unCip !l "oo#Cip
Fxtraiga el contenido del arcivo foo.3ip dentro del directorio ^8e%emplos!8! e(ecutando lo siguiente)
unCip "oo#Cip !d _/eOemplos1/
Si la salida le "regunta si desea sobre6escribir los arcivos existentes! res"onda .ue si a todo "ulsando la
letra ; 1sobre6escriir todo3 % la tecla /N</R$
Fxtraiga el contenido del arcivo foo.3ip dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos del "ri'er nivel con extensin P$"ng! e(ecutando lo siguiente)
unCip "oo#Cip !d _/eOemplos1/ L#png
Si la salida le "regunta si desea sobre6escribir los arcivos existentes! res"onda .ue si a todo "ulsando la
letra ; 1sobre6escriir todo3 % la tecla /N</R$
Fxtraiga el contenido del arcivo foo.3ip dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos del segundo nivel con extensin P$"ng! e(ecutando lo siguiente)
unCip "oo#Cip !d _/eOemplos1/ L/L#png
Si la salida le "regunta si desea sobre6escribir los arcivos existentes! res"onda .ue si a todo "ulsando la
letra ; 1sobre6escriir todo3 % la tecla /N</R$
!4..,. Creacin + e*traccin de archivos Y.tar.
Consulte el 'anual del 'andato tar e(ecutando lo siguiente)
man 1 tar
Genere un arcivo $tar 1sin co'"resin3 e(ecutando lo siguiente)
tar c" "oo#tar pixmaps/
-ara 'ostrar la lista del contenido del arcivo foo.tar! e(ecute)
tar tv" "oo#tar
Fxtraiga el contenido del arcivo foo.tar dentro del directorio ^8e%emplos!8! e(ecutando lo siguiente)
tar xv" "oo#tar !* _/eOemplos1/
Fxtraiga el contenido del arcivo foo.tar dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos con extensin P$"ng! e(ecutando lo siguiente)
tar xv" "oo#tar !* _/eOemplos1/ !!ildcards ZL#pngZ
289
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!4..-. Compresin + descompresin de archivos Y.tar.g3.
Genere un arcivo $tar$g, 1con co'"resin GN?-3 e(ecutando lo siguiente)
tar Cc" "oo#tar#gC pixmaps/
-ara 'ostrar la lista del contenido del arcivo foo.tar.g3! e(ecute)
tar Ctv" "oo#tar#gC
Fxtraiga el contenido del arcivo foo.tar.g3 dentro del directorio ^8e%emplos!8 e(ecutando lo siguiente)
tar Cxv" "oo#tar#gC !* _/eOemplos1/
Fxtraiga el contenido del arcivo foo.tar.g3 dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos con extensin P$"ng! e(ecutando lo siguiente)
tar Cxv" "oo#tar#gC !* _/eOemplos1/ !!ildcards ZL#pngZ
!4.... Compresin + descompresin de archivos Y.tar.b3.
Genere un arcivo $tar$b,2 1con co'"resin BNi"23 e(ecutando lo siguiente)
tar Oc" "oo#tar#bC8 pixmaps/
-ara 'ostrar la lista del contenido del arcivo foo.tar.b3! e(ecute)
tar Otv" "oo#tar#bC8
Fxtraiga el contenido del arcivo foo.tar.b3 dentro del directorio ^8e%emplos!8! e(ecutando lo siguiente)
tar Oxv" "oo#tar#bC8 !* _/eOemplos1/
Fxtraiga el contenido del arcivo foo.tar.b3 dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos con extensin P$"ng! e(ecutando lo siguiente)
tar Oxv" "oo#tar#bC8 !* _/eOemplos1/ !!ildcards ZL#pngZ
!4..0. Compresin + descompresin de archivos Y.tar.*3.
Genere un arcivo $tar$x, 1con co'"resin ON3 e(ecutando lo siguiente)
tar Sc" "oo#tar#xC pixmaps/
-ara 'ostrar la lista del contenido del arcivo foo.tar.*3! e(ecute)
tar Stv" "oo#tar#xC
287
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fxtraiga el contenido del arcivo foo.tar.*3 dentro del directorio ^8e%emplos!8! e(ecutando lo siguiente)
tar Sxv" "oo#tar#xC !* _/eOemplos1/
Fxtraiga el contenido del arcivo foo.tar.*3 dentro del directorio ^8e%emplos!8! "ero slo extra%endo los
arcivos con extensin P$"ng! e(ecutando lo siguiente)
tar Sxv" "oo#tar#xC !* _/eOemplos1/ !!ildcards ZL#pngZ
!4..1. Crear respaldos del sistema de archivos.
-or lo general los res"aldos se acen sin co'"resin! a fin de .ue sean r&"idos % consu'an la 'enor
cantidad de recursos de siste'a "osibles % slo se utili,a co'"resin cuando se tiene un es"acio 'u%
li'itado en el siste'a de arcivo! unidades de cinta u otras unidades de al'acena'iento$
Ia% tres ti"os de res"aldos)
Completos# Se consideran de nivel I$
Diferenciales) Se consideran de nivel !$ Consisten en res"aldos .ue de"enden de un
res"aldo co'"leto "ara "oder restaurar todos los datos! slo arcivando los arcivos nuevos o
.ue ca'biaron res"ecto del 0lti'o res"aldo co'"leto$ Fs decir! "ara restaurar los datos se
re.uiere el 0lti'o res"aldo co'"leto % el res"aldo diferencial$ Io% en d/a se utili,an 'u% "oco!
salvo .ue el ad'inistrador del siste'a sea "oco ex"eri'entado o bien "or.ue as/ es co'o lo
"refiere! "ues consu'en 'uco '&s es"acio en el siste'a de arcivos .ue los res"aldos
incre'entales$
Incrementales) Se consideran de nivel ! cuando a% un solo res"aldo co'"leto antes de
#ste! de nivel cuando a% un res"aldo co'"leto % un res"aldo incre'ental antes de #ste! de
nivel , cuando a% un res"aldo co'"leto % dos incre'entales antes de #ste % as/
sucesiva'ente$ Son si'ilares al res"aldo diferencial! "ero #stos "ueden acerse a "artir de un
res"aldo co'"leto %/o un diferencial %/o otros incre'entales! restaurando los datos en
secuencia! "or lo cual "er'iten aorrar el es"acio dis"onible en el siste'a de arcivos$ Fs
decir! "ara restaurar los datos! se re.uiere el 0lti'o res"aldo co'"leto % uno o '&s res"aldos
incre'entales$
Un res"aldo co'"leto se "uede reali,ar con el 'andato tar! con las o"ciones c"f 1crear arcivo! "reservar
"er'isos! definir no'bre del arcivo3! el no'bre del arcivo P$tar a crear! la o"cin -g 1definir crear un
arcivo incre'ental en el nuevo for'ato de GNU3 % el no'bre del arcivo con extensin Y.snar 1.ue
"roviene de la contraccin de (napsot arcive3$ Yste 0lti'o es utili,ado "or el 'andato tar "ara
al'acenar la infor'acin res"ecto de .u# fue lo .ue se res"ald$ La o"cin p es i'"ortante "ara crear %
restaurar los res"aldos! "ues "er'ite "reservar los "er'isos % atributos originales de los datos$ Si se o'ite
esta o"cin! todo el contenido al'acenado % restaurado ser/a "ro"iedad del usuario root$
Ca'bie al usuario root$ + "artir de este "aso slo "odr& reali,ar los "rocedi'ientos con "rivilegios de root$
su !l
Genere el directorio 8var8respaldos e(ecutando lo siguiente)
mkdir /var/respaldos
Fn el siguiente e(e'"lo se crear& un res"aldo co'"leto del directorio /o'e! guardando los arcivos de
datos e incre'ental dentro de /var/res"aldos$
282
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
tar cp" /var/respaldos/completo#tar K
!g /var/respaldos/registro#snar /home
-ara crear un res"aldo incre'ental! solo se define el no'bre de un nuevo arcivo! utili,ando el 'is'o
arcivo P$snar$
tar cp" /var/respaldos/%n&re<en$#)-3#tar K
!g /var/respaldos/registro#snar /home
-ara crear un segundo res"aldo incre'ental! se e(ecutar/a lo siguiente)
tar cp" /var/respaldos/%n&re<en$#)-/#tar K
!g /var/respaldos/registro#snar /home
-ara crear un tercer res"aldo incre'ental! se e(ecutar/a lo siguiente)
tar cp" /var/respaldos/%n&re<en$#)-#tar K
!g /var/respaldos/registro#snar /home
-ara restaurar los datos! se e(ecutar/a lo siguiente)
tar xp" /var/respaldos/completo#tar K
!g /var/respaldos/registro#snar !* /
tar xp" /var/respaldos/%n&re<en$#)-3#tar K
!g /var/respaldos/registro#snar !* /
tar xp" /var/respaldos/%n&re<en$#)-/#tar K
!g /var/respaldos/registro#snar !* /
tar xp" /var/respaldos/%n&re<en$#)-#tar K
!g /var/respaldos/registro#snar !* /
Los res"aldos ta'bi#n se "ueden acer en '0lti"les vol0'enes cuando el es"acio en las unidades de
al'acena'iento es li'itado$ Se acen de 'odo si'ilar a los res"aldos co'"letos! "ero aadiendo la o"cin
-5! "ara indicar .ue se reali,ar& en '0lti"les vol0'enes % la o"cin -&! "ara indicar el ta'ao del volu'en
en b%tes$
Fn el siguiente e(e'"lo se crear& un res"aldo de /o'e en una unidad de al'acena'iento externa! en
cuatro "artes de = GiB 1=7B=89= b%tes3 cada una! asumiendo .ue /o'e ocu"a 'enos de 74 GiB
174555274 b%tes3 de es"acio en el siste'a de arcivos % .ue la unidad de al'acena'iento externo est&
'ontada en el directorio 8media8DI9C(8)
tar cp" /media/&)S*0/'#r$e63#tar K
!g /media/&)S*0/registro#snar !. !2 4194@%4 /home
tar cp" /media/&)S*0/'#r$e6/#tar K
!g /media/&)S*0/registro#snar !. !2 4194@%4 /home
tar cp" /media/&)S*0/'#r$e6#tar K
!g /media/&)S*0/registro#snar !. !2 4194@%4 /home
tar cp" /media/&)S*0/'#r$e64#tar K
!g /media/&)S*0/registro#snar !. !2 4194@%4 /home
La restauracin de los datos se ace de 'odo si'ilar a la de los res"aldos incre'entales! "ero aadiendo la
o"cin -5 "ara indicar .ue se trata de un res"aldo de varios vol0'enes$
288
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
tar xp" /media/&)S*0/'#r$e63#tar K
!g /media/&)S*0/registro#snar !. !* /
tar xp" /media/&)S*0/'#r$e6/#tar K
!g /media/&)S*0/registro#snar !. !* /
tar xp" /media/&)S*0/'#r$e6#tar K
!g /media/&)S*0/registro#snar !. !* /
tar xp" /media/&)S*0/'#r$e64#tar K
!g /media/&)S*0/registro#snar !. !2 !* /
+l ter'inar los "rocedi'ientos! cierre la sesin de root$
exit
Contin0e con el docu'ento titulado ^Gestin de "rocesos % traba(os$_
28=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
![. :estin de procesos + traba%os.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
![.!. Introduccin.
Fn este docu'ento a"render& el uso de los 'andatos (obs! bg! fg! Kill! Killall! "s! to" % tasKset$
Un 7ID o identidad de "roceso! es un deci'al entero .ue es"ecifica un "roceso o un gru"o de "rocesos$
@odos los "rocesos .ue se e(ecuten en un siste'a "ueden ser ter'inados o ani.uilados utili,ando el
'andato Oill o bien el 'andato Oillall! exce"to "or el proceso con 7ID !! el cual corres"onde sie'"re a
8sbin8init$
Un Eob ID o identidad de traba(o! identifica un traba(o o gru"o de traba(os .ue se e(ecutan en segundo
"lano$ Fl 'andato Oill solo "er'itir& ter'inar o ani.uilar los traba(os originados de una 'is'a consola o
int#r"rete de 'andatos en e(ecucin$
Los traba(os se gestionan a trav#s de los 'andatos bg! fg % (obs$
Los "rocesos se ter'inan nor'al'ente con 9I:</R5 1n0'ero de seal 723 o bien se ani.uilan con 9I:NI&&
1n0'ero de seal B3! utili,ando el 'andato Oill o el 'andato Oillall$
![.. 7rocedimientos.
?ngrese al siste'a co'o root$
Si utili,a CentGS! >edoraH o ;ed IatH Fnter"rise Linux! e(ecute lo siguiente)
yum !y install procps top util!linux!ng
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise! e(ecute lo siguiente)
yast !i procps psmisc util!linux
Cierre la sesin co'o root e ingrese nueva'ente al siste'a co'o usuario regular 1fulano3 o bien e(ecute lo
siguiente)
su !l "ulano
![..!. "so de %obsG bg + fg.
282
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
F(ecute el 'andato sleep con el valor 0II 1"ausa "or 499 segundos3! a fin de utili,ar #ste co'o traba(o de
e(e'"lo$
sleep 6%%
-ulse C@;LiN! lo cual devolver& una salida si'ilar a la siguiente)
`G
D1EX &etenido sleep 6%%
Utilice el 'andato %obs "ara visuali,ar el traba(o detenido)
Oobs
Lo anterior debe devolver la siguiente salida)
D1EX &etenido sleep 6%%
F(ecute el 'andato bg "ara reactivar el traba(o 7 en segundo "lano)
bg 1
La salida deber& devolver lo siguiente)
D1EX sleep 6%% P
F(ecute nueva'ente el 'andato sleep! con el valor 1II % un signo amperson 1j3 al final)
sleep $%% P
La salida devolver& algo si'ilar a lo siguiente! indicando el n0'ero de traba(o 123 % el n0'ero de identidad
de "roceso 1-?D3)
D8E @$66
Con lo anterior abr& enviado este traba(o directa'ente a segundo "lano$
Utilice el 'andato %obs "ara visuali,ar los traba(os en segundo "lano)
D1E! 'Oecutando sleep 6%% P
D8EX 'Oecutando sleep $%% P
-ara enviar a "ri'er "lano el "ri'er traba(o! e(ecute el 'andato fg con ! co'o argu'ento)
"g 1
Lo anterior ar& .ue sleep 0II regrese a "ri'er "lano$
-ara ter'inar este 0lti'o traba(o! "ulse C@;LiC$
284
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
![... "so de psG Oill + Oillall.
Utilice el 'andato ps! con las o"ciones au* 1todos los "rocesos en todas las ter'inales! orientado a
usuarios e inclu%endo todos los "rocesos con o sin un @@R3! utili,ando una tuber/a 1r3 con el 'andato less
"ara "oder observar c'oda'ente la salida % los valores de las colu'nas USF;! -?D! cC-U! c:F:! JSN!
;SS! @@R! S@+@! S@+;@! @?:F % CG::+ND$
ps aux Rless
;e"ita el 'andato anterior! esta ve, utili,ando una tuber/a 1r3 % el 'andato grep "ara visuali,ar sola'ente
los "rocesos cu%o no'bre inclu%an la cadena sleep)
ps aux Rgrep sleep
Lo anterior le devolver& una salida si'ilar a la siguiente)
"ulano @$66 %#% %#% 1%%964 :66 pts/8 S 117:% %7%% sleep $%%
"ulano @68% %#% %#% 1%@@96 6@8 pts/8 SX 117:1 %7%% grep !!color+auto sleep
La segunda colu'na corres"onde al n0'ero de identidad de "roceso 1-?D3! deter'ine el corres"ondiente al
"rocesos sleep 1II$
Utilice el 'andato Oill con este n0'ero de identidad de "roceso! con la finalidad ter'inar #ste de 'anera
nor'al 19I:</R53$
kill @$66
Lo anterior devolver& la siguiente salida)
D8EX 1erminado sleep $%%
F(ecute de nuevo el 'andato sleep! aora con 4II co'o argu'ento! con un signo amperson 1j3 al final! a
fin de generar un nuevo traba(o en segundo "lano$
sleep 6%% P
Lo anterior debe devolver una salida si'ilar a la siguiente)
D1E @68%
La for'a '&s sencilla de ter'inar de 'anera nor'al 1S?G@F;:3 un traba(o! utili,ando el 'andato Oill! es
utili,ar #ste con el n0'ero de traba(o! "recedido "or un signo c! co'o argu'ento$ F(ecute el siguiente
'andato)
kill Y1
La salida solo devolver& el s/'bolo de siste'a$ Si vuelve a "ulsar la tecla FN@F;! la salida ser& si'ilar a la
siguiente)
285
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
D1EX 1erminado sleep 6%%
F(ecute de nuevo el 'andato sleep! aora con 4.I co'o argu'ento! con un signo amperson 1j3 al final! a
fin de generar un nuevo traba(o en segundo "lano$
sleep 6:% P
Lo anterior debe devolver una salida si'ilar a la siguiente)
D1E @6@%
Utilice nueva'ente el 'andato ps! con las o"ciones au*! agregando una tuber/a % el 'andato grep "ara
visuali,ar en la salida sola'ente los "rocesos cu%o no'bre inclu%an la cadena slee")
ps aux Rgrep sleep
Lo anterior le devolver& una salida si'ilar a la siguiente)
"ulano @6@% %#% %#% 1%%964 :64 pts/8 S 117:4 %7%% sleep 6:%
"ulano @6@: %#% %#% 1%@@96 686 pts/8 SX 117:6 %7%% grep !!color+auto sleep
Deter'ine el n0'ero de identidad de "roceso corres"ondiente al "rocesos sleep 4.I$
Utilice el 'andato Oill con este n0'ero de identidad de "roceso! corres"ondiente a sleep 4.I! con la
finalidad aniCuilar #ste 19I:NI&&3$
kill !9 @6@%
Lo anterior debe devolver la siguiente salida)
D1EX 1erminado (killed) sleep 6:%
F(ecute lo siguiente "ara generar dos nuevos traba(os en segundo "lano)
sleep 6%% P sleep $%% P
Lo anterior devolver& algo si'ilar a lo siguiente)
D1E @984
D8E @98:
Utilice el 'andato %obs "ara visuali,ar a'bos traba(os)
Oobs
Lo anterior deber& devolver la siguiente salida)
D1E! 'Oecutando sleep 6%% P
D8EX 'Oecutando sleep $%% P
28A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utilice el 'andato ps! con la o"cin -%! "ara visuali,ar los n0'eros de identidad de "roceso 1-?D3 de estos
traba(os)
ps !O
Lo anterior debe devolver una salida si'ilar a la siguiente)
=)& =I)& S)& 11< 1).' *.&
@684 @684 @684 pts/8 %%7%%7%% bash
@984 @984 @684 pts/8 %%7%%7%% sleep
@98: @98: @684 pts/8 %%7%%7%% sleep
@9@$ @9@$ @684 pts/8 %%7%%7%% ps
Utilice el 'andato Oillall con la cadena ^sleep_ co'o argu'ento! a fin de terminar de 'anera nor'al de
todos los "rocesos deno'inados sleep$
killall sleep
Lo anterior deber& devolver la siguiente salida)
D1E! 1erminado sleep 6%%
D8EX 1erminado sleep $%%
F(ecute lo siguiente "ara generar dos nuevos traba(os en segundo "lano)
sleep 6%% P sleep 9%% P
Lo anterior devolver& algo si'ilar a lo siguiente)
D1E @949
D8E @9:%
Utilice el 'andato %obs "ara visuali,ar a'bos traba(os)
Oobs
Lo anterior deber& devolver la siguiente salida)
D1E! 'Oecutando sleep 6%% P
D8EX 'Oecutando sleep 9%% P
Utilice el 'andato ps! con la o"cin -%! "ara visuali,ar lo n0'eros de identidad de "roceso 1-?D3 de estos
traba(os)
ps !O
Lo anterior debe devolver una salida si'ilar a la siguiente)
28B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
=)& =I)& S)& 11< 1).' *.&
@684 @684 @684 pts/8 %%7%%7%% bash
@949 @949 @684 pts/8 %%7%%7%% sleep
@9:% @9:% @684 pts/8 %%7%%7%% sleep
@9:6 @9:6 @684 pts/8 %%7%%7%% ps
Utilice el 'andato Oillall! con la o"cin -s % el valor [! (unto con la cadena ^sleep_ co'o argu'ento! a fin
de aniCuilar 1ter'inacin anor'al3 de todos los "rocesos deno'inados sleep$
killall !s 9 sleep
Lo anterior deber& devolver la siguiente salida)
D1E! 1erminado (killed) sleep 6%%
D8EX 1erminado (killed) sleep 9%%
![..,. "so de nice + renice.
F(ecute el 'andato tar con las o"ciones (cf "ara generar el arcivo "ix'a"s$tar$b,2 con el contenido del
directorio /lib/'odules! e(ecutando lo siguiente)
tar Oc" modulos#tar#bC8 /lib/modules
+l ter'inar 1luego de unos 'inutos3! utilice el 'andato ti'e "ara cuantificar la e(ecucin del 'andato tar!
con las o"ciones %*f! "ara desco'"ri'ir el arcivo 'odulos$tar$b,2$ Fl ob(etivo ser& cuantificar la
desco'"resin con la "rioridad de "lanificacin 9 1valor "redeter'inado del siste'a3! la cual "er'ite utili,ar
los recursos .ue regular'ente "er'ite utili,ar el siste'a al usuario$
time tar Ox" modulos#tar#bC8
La salida debe devolver algo si'ilar a lo siguiente)
real %m1@#8@$s
user %m18#491s
sys %m1#684s
Del 'is'o 'odo con el 'andato ti'e! utilice el 'andato nice "ara e(ecutar el 'andato tar! con las
o"ciones %*f! "ara desco'"ri'ir el arcivo 'odulos$tar$b,2$ Fl ob(etivo ser& reali,ar la desco'"resin
ca'biando la "rioridad de "lanificacin a 79 1valor "redeter'inado del 'andato nice si es utili,ado sin '&s
argu'entos3! a fin de utili,ar 'enos recursos de siste'a$
time nice !n X1% tar Ox" modulos#tar#bC8
La salida debe devolver algo si'ilar a lo siguiente$
real %m1@#6@6s
user %m18#94$s
sys %m1#9%6s
Los resultados deber&n ser ligera'ente 'a%ores .ue la e(ecucin del 'is'o 'andato con el valor
"redeter'inado de "rioridad de "lanificacin 193$
2=9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Del 'is'o 'odo! utilice aora el 'andato nice! con la o"cin -n % el valor ![! "ara e(ecutar el 'andato tar!
con las o"ciones %*f! con la 'enor "rioridad "osible! "ara desco'"ri'ir el arcivo 'odulos$tar$b,2$ Fl
ob(etivo ser& reali,ar la desco'"resin ca'biando la "rioridad de "lanificacin a 79 1valor "redeter'inado
del 'andato nice3! a fin de utili,ar 'enos recursos de siste'a$
time nice !n X8% tar Ox" modulos#tar#bC8
La salida debe devolver algo si'ilar a lo siguiente$
real %m1@#916s
user %m1@#%4:s
sys %m1#6$:s
Los resultados deber&n ser sensible'ente 'a%ores .ue la e(ecucin del 'is'o 'andato con el valor
"redeter'inado de "rioridad de "lanificacin 193$
Fl usuario regular solo "ude definir valores de "rioridad de "lanificacin del I al ![! "rioridad de
"lanificacin "redeter'inada a "rioridad de "lanificacin 'enos favorable$ Los valores negativos! del -! al
-I! .ue son los '&s favorables! slo los "ude utili,ar root$
Utili,ando el 'andato su! con la o"cin -c! con la cual se indicar& entre co'illas un 'andato a e(ecutar
co'o root! re"ita el 'andato anterior! "ero con valor -I "ara el 'andato nice$
su !c ,time nice !n !8% tar Ox" modulos#tar#bC8,
Lo anterior solicitar& se ingrese la clave de acceso de root % devolver& una salida si'ilar a la siguiente)
real %m1@#@86s
user %m18#6@4s
sys %m1#9$6s
Los resultados deber&n ser sensible'ente inferiores .ue la e(ecucin del 'is'o 'andato con el valor
"redeter'inado de "rioridad de "lanificacin 193$
-ara ca'biar la "rioridad de "lanificacin de un "roceso en e(ecucin! se utili,a el 'andato renice! 'is'o
.ue "er'ite ca'biar la "rioridad "lanificada "or n0'ero de "rocesos! usuario % gru"o$ Los valores de
"rioridad de "lanificacin se "ueden visuali,ar utili,ando el 'andato ps! con las o"ciones al* 1todos los
"rocesos en todas las ter'inales! en for'ato largo e inclu%endo todos los "rocesos con o sin un @@R!
res"ectiva'ente3$ F(ecute el siguiente 'andato)
ps alx Rless
Lo anterior 'ostrar& las colu'nas >! U?D! -?D! --?D! -;?! N?! JSN! ;SS! QCI+N! S@+@! @@R! @?:F % CG::+ND$
Los valores de "rioridad "lanificada corres"onden a la sexta colu'na 1N?3$
Fl siguiente e(e'"lo ca'bia la "rioridad de "lanificacin a -!I al "roceso =245A)
su !c ,renice !n !1% !p 4:6$6,
Fl siguiente e(e'"lo ca'bia la "rioridad de "lanificacin a -!I a todos los "rocesos del usuario fulano)
2=7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
su !c ,renice !n !1% !u "ulano,
Fl siguiente e(e'"lo ca'bia la "rioridad de "lanificacin a -!I a todos los "rocesos del gru"o desarrollo)
su !c ,renice !n !1% !g desarrollo,
Fl siguiente e(e'"lo ca'bia la "rioridad de "lanificacin a -!I al "rocesos 8=245 del usuario fulano)
su !c ,renice !n !1% !p @4:6$ !u "ulano,
![..-. "so del mandato tasOset.
Fste 'andato slo tiene sentido utili,arlo cuando se dis"one de '&s de un C-U lgico en el siste'a$ F(ecute
el 'andato nproc "ara deter'inar el n0'ero de C-Us lgicos en el siste'a)
nproc
Lo anterior slo devolver& el n0'ero de C-Us lgicos del siste'a$
-ara obtener infor'acin '&s detallada! e(ecute el 'andato lscpu)
lscpu
+su'iendo .ue el siste'a dis"one de dos n0cleos lgicos! lo anterior "uede devolver una salida si'ilar a la
siguiente)
5rchitecture7 i666
*=? op!mode(s)7 @8!bit
;yte 0rder7 2ittle 'ndian
C9UHsI1 /
On-)%ne C9UHsI )%s$1 6B3
1hread(s) per core7 1
*ore(s) per socket7 8
Socket(s)7 1
(endor )&7 Ienuine)ntel
*=? "amily7 6
.odel7 14
Stepping7 18
*=? .3C7 18%%#%%%
;ogo.)=S7 @8%%#1%
21d cache7 @8H
21i cache7 @8H
28 cache7 1%84H
Lo anterior re"resenta un resu'en del contenido del arcivo 8proc8cpuinfo! .ue ta'bi#n "uede consultarse
e(ecutando lo siguiente)
less /proc/cpuin"o
2=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl 'andato tasOset es utili,ado "ara establecer u obtener la afinidad de C-U de un "roceso a trav#s de su
-?D o bien "ara e(ecutar un nuevo 'andato con una afinidad de C-U arbitraria$ La afinidad de C-U es una
"ro"iedad de "lanificador del n0cleo de Linux .ue vincula un "rocesos a un con(unto de C-Us en el siste'a$
Fste "lanificador se encargar& de .ue se 'antenga la afinidad de C-U % .ue el "roceso slo se e(ecute en el
C-U o en los C-Us es"ecificados$ Cabe sealar .ue de 'anera nativa el "lanificador del n0cleo de Linux
inclu%e so"orte "ara afinidad natural! la cual consiste en .ue el "lanificador intentar& 'antener los "rocesos
en el 'is'o C-U tanto co'o sea "r&ctico "ara 'antener un buen dese'"eo en el siste'a! "or lo cual la
'ani"ulacin de la afinidad de C-U slo es 0til "ara ciertas tareas % a"licaciones$
Si se es"ecifica una '&scara de bit incorrecta o bien un C-U inexistente! invariable'ente el 'andato
tasOset devolver& un error$
La afinidad de C-U se re"resenta a trav#s de una '&scara de bit 1bitmas'3! donde el bit de 'enor valor
corres"onde al "ri'er C-U lgico % el bit 'a%or corres"onde al 0lti'o C-U lgico$ Las '&scaras de bit se
re"resentan en exadeci'al)
I*IIIIIII!
Corres"onde al C-U <9
I*IIIIIII
Corres"onde al C-U <7
I*IIIIIII,
Corres"onde los C-Us <9 % <7
I*22222222
Corres"onde a todos los C-Us 1<9 asta <873
-ara iniciar un nuevo "roceso con una afinidad de C-U en "articular! se utili,a la siguiente sintaxis)
taskset mascara mandato
F(e'"lo)
taskset %x%%%%%%%1 tar Oc" modulos#tar#bC8 /lib
-ara obtener la afinidad de C-U de un "rocesos en e(ecucin! se e(ecuta el 'andato tasOset con la o"cin
-p "ara indicar .ue se utili,ar& un -?D existente % el n0'ero de -?D co'o argu'entos$
2=8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
taskset !p pid
F(e'"lo)
taskset !p @4:6$
-ara ca'biar la afinidad de C-U de un "rocesos en e(ecucin! se e(ecuta el 'andato tasOset con la o"cin
-p "ara indicar .ue se utili,ar& un -?D existente! la 'ascara de afinidad de C-U deseada % el n0'ero de -?D
co'o argu'entos$
taskset !p mascara pid
F(e'"lo)
taskset !p %x%%%%%%%1 @4:6$
Si se dificulta el uso de '&scaras de bit en exadeci'al! ta'bi#n es "osible utili,ar la o"cin -c % una lista
nu'#rica de C-Us lgicos! donde 9 corres"onde al "ri'er C-U! 7 corres"onde al segundo C-U lgico! 2
corres"onde al tercer C-U lgico % as/ sucesiva'ente$
taskset !c !p lista pid
F(e'"lo)
taskset !c !p 1 @4:6$
@a'bi#n es "osible es"ecificar varios C-U de 'anera si'ult&nea! definiendo una lista de #stos se"arada "or
co'as % .ue ta'bi#n "er'ite definir rangos$ F(e'"los)
taskset !c %B1 tar Oc" modulos#tar#bC8 /lib
taskset !c !p %B8 @4:6$
taskset !c !p 4!$ @4:6$
![.... "so del mandato top.
@o" es una erra'ienta .ue "ro"orciona una visuali,acin continua % en tie'"o real de los "rocesos activos
en un siste'a! co'o una lista .ue de 'odo "redeter'inado lo ace de acuerdo al uso del C-U$ -uede
ordenar la lista "or uso de 'e'oria % tie'"o de e(ecucin$
2==
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara ordenar la lista de "rocesos "or orden de uso de 'e'oria! "ulse 9DI2<K5$ -ara ordena la lista de
"rocesos "or orden de tie'"o de e(ecucin! "ulse 9DI2<K<$ -ara invertir el orden de la lista! "ulse
9DI2<KR$ -ara activar o bien desactivar! la visuali,acin "or ilos! "ulse 9DI2<KD$ -ara ordenar de nuevo
la lista de "rocesos "or orden de uso de C-U! "ulse 9DI2<K7$
-ara 'ostrar los "rocesos de un usuario en es"ec/fico! "ulse la tecla u % defina a continuacin el no'bre del
usuario$
-ara ter'inar o ani.uilar cual.uier "roceso! "ulse la tecla O % defina a continuacin el n0'ero de identidad
de "roceso .ue corres"onda % luego la seal a utili,ar 1B o 723$
-ara ca'biar la "rioridad de "lanificacin de cual.uier "roceso! "ulse la tecla r % a continuacin defina el
n0'ero de identidad de "roceso .ue corres"onda % luego el valor de "rioridad de "lanificacin deseado$
-ara ver el la a%uda co'"leta del 'andato to"! "ulse la tecla h$
2=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
I. "so del mandato lsof
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
I.!. Introduccin.
I.!.!. ;cerca de lsof.
&sof significa 2listar arcivos abiertos3 1list o"en files3$ Fs utili,ado a'"lia'ente en siste'as o"erativos
ti"o 7(9IB "ara acer re"ortes de arcivos % los "rocesos .ue est&n utili,ando a #stos$ Se "uede utili,ar
"ara revisar .ue "rocesos est&n aciendo uso de directorios! arcivos ordinarios! tuber/as 1pipes3! ,calos
de red 1soc'ets3 % dis"ositivos$ Uno de los "rinci"ales usos de deter'inar .ue "rocesos est&n aciendo uso
de arcivos en una "articin cuando esta no se "uede des'ontar$ &sof fue desarrollado "or Jic ;bell!
.uien alguna ve, fue director del Centro de C'"uto de la "niversidad de 7urdue$
I.. /Cuipamiento lgico necesario.
I..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
-ara instalar lsof! e(ecute lo siguiente)
yum !y install lso"
I... /n open9"9/F + 9"9/F &inu* /nterprise.
-ara instalar lsof! e(ecute lo siguiente)
yast !i lso"
I.,. 7rocedimientos.
Fl 'anual co'"leto del 'andato lsof "uede consultarse e(ecutando lo siguiente)
man 6 lso"
-ara ver todos los "rocesos .ue utili,an el siste'a de arcivos en general! e(ecute el 'andato lsof sin
o"ciones u argu'entos)
lso"
2=4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn e(e'"lo de la salida t/"ica ser/a co'o la siguiente)
*0..5-& =)& ?S'R >& 1<=' &'()*' S)G' -0&' -5.'
init 1 root cd &)R 9B@ 4%96 8 /
init 1 root rtd &)R 9B@ 4%96 8 /
init 1 root txt R'I 9B@ @668% 1464@4 /sbin/init
init 1 root mem R'I 9B@ 18:$@6 1$::%$ /lib/ld!8#:#so
init 1 root mem R'I 9B@ 16%8164 1$::14
/lib/i666/nosegneg/libc!8#:#so
init 1 root mem R'I 9B@ 16486 1$::16 /lib/libdl!8#:#so
init 1 root mem R'I 9B@ 9@:%6 1$:6$$ /lib/libselinux#so#1
init 1 root mem R'I 9B@ 84866% 1$::$@ /lib/libsepol#so#1
init 1 root 1%u >)>0 %B1: 1:4@ /dev/initctl
-ara visuali,ar '&s c'oda'ente esta salida! se "uede utili,ar el 'andato less o el 'andato more co'o
subrutinas$ F(e'"lo)
lso" R less
-uede es"ecificarse .ue se 'uestren todos los "rocesos desde un directorio en "articular! sola'ente
es"ecificando este luego de lsof$ Fn el siguiente e(e'"lo se solicita a lsof 'ostrar todos los "rocesos .ue
est#n aciendo uso de algo dentro de /var$
lso" /var
La salida de la anterior "uede ser si'ilar a la siguiente)
*0..5-& =)& ?S'R >& 1<=' &'()*' S)G' -0&' -5.'
auditd 884$ root : R'I 9B1 4%6%:6 :@418%6 /var/log/audit/audit#log
syslogd 8861 root 1 R'I 9B1 11@4$%6 1$%%6:9@ /var/log/messages
syslogd 8861 root 8 R'I 9B1 18461 1$%%6:94 /var/log/secure
syslogd 8861 root @ R'I 9B1 998: 1$%%6:9: /var/log/maillog
syslogd 8861 root 4 R'I 9B1 @@@9 1$%%6:96 /var/log/cron
syslogd 8861 root : R'I 9B1 % 1$%%6:96 /var/log/spooler
syslogd 8861 root 6 R'I 9B1 916 1$%%6:9$ /var/log/boot#log
named 8@:% named cd &)R 9B1 4%96 16@:184% /var/named/chroot/var/named
named 8@:% named rtd &)R 9B1 4%96 16@:18@6 /var/named/chroot
named 8@:% named 9r *3R 1B6 16@:1846 /var/named/chroot/dev/random
rpc#statd 84%$ root cd &)R 9B1 4%96 1:4@@$89 /var/lib/n"s/statd
rpc#statd 84%$ root 6 R'I 9B1 : 8::916@1 /var/run/rpc#statd#pid
Si se .uiere 'ostrar sola'ente el arcivo utili,ado "or un "rocesos en "articular! se utili,a la o"cin 6"
seguida del n0'ero de "roceso$ Fn el siguiente e(e'"lo se solicita a lsof 'ostrar los arcivos utili,ados "or
el "roceso 22A7 .ue arbitraria'ente se e(ecuta en un siste'a)
lso" !p 8861
Si ubiera un "roceso 22A7! la salida "odr/a verse co'o la siguiente)
*0..5-& =)& ?S'R >& 1<=' &'()*' S)G' -0&' -5.'
syslogd 8861 root cd &)R 9B@ 4%96 8 /
syslogd 8861 root rtd &)R 9B@ 4%96 8 /
syslogd 8861 root txt R'I 9B@ @:6%% 146@98 /sbin/syslogd
syslogd 8861 root mem R'I 9B@ 16%8164 1$::14 /lib/i666/nosegneg/libc!8#:#so
syslogd 8861 root mem R'I 9B@ 4666% 1$::89 /lib/libnss/"iles!8#:#so
syslogd 8861 root mem R'I 9B@ 18:$@6 1$::%$ /lib/ld!8#:#so
syslogd 8861 root %u unix %xc%ac"c6% 69%9 /dev/log
syslogd 8861 root 1 R'I 9B1 11@4$%6 1$%%6:9@ /var/log/messages
syslogd 8861 root 8 R'I 9B1 18461 1$%%6:94 /var/log/secure
syslogd 8861 root @ R'I 9B1 998: 1$%%6:9: /var/log/maillog
syslogd 8861 root 4 R'I 9B1 @@@9 1$%%6:96 /var/log/cron
syslogd 8861 root : R'I 9B1 % 1$%%6:96 /var/log/spooler
syslogd 8861 root 6 R'I 9B1 916 1$%%6:9$ /var/log/boot#log
2=5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La o"cin -i ar& .ue se 'uestren todos los arcivos de red 1Internet % *..3 utili,ados "or "rocesos de
red$ Si se .uiere 'ostrar los arcivos de red en uso "or alg0n "roceso de red en "articular! se utili,an las
o"ciones -i seguido de una subrutina con grep % el no'bre de alg0n servicio$ Fn el siguiente e(e'"lo se
"ide a lsof 'ostrar sola'ente los arcivos de red utili,ados "or los "rocesos de red derivados de named)
lso" !i R grep named
Lo anterior "uede devolver una salida si'ilar a la siguiente$
named 8@:% named 8%u )=v4 $%91 ?&= localhost#localdomain7domain
named 8@:% named 81u )=v4 $%98 1*= localhost#localdomain7domain (2)S1'-)
named 8@:% named 88u )=v4 $%9@ ?&= servidor#redlocal#net7domain
named 8@:% named 8@u )=v4 $%94 1*= servidor#redlocal#net7domain (2)S1'-)
named 8@:% named 84u )=v4 $%9: ?&= L7"ilenet!tms
named 8@:% named 8:u )=v6 $%96 ?&= L7"ilenet!rpc
named 8@:% named 86u )=v4 $%9$ 1*= localhost#localdomain7rndc (2)S1'-)
named 8@:% named 8$u )=v6 $%96 1*= localhost6#localdomain67rndc (2)S1'-)
named 8@:% named 86u )=v4 11:@$9% ?&= 198#166#188#17domain
2=A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!. 2unciones b6sicas de vi
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
!.!. Introduccin.
Ji es uno de los editores de texto '&s "oderos % ae(os .ue a% en el 'undo de la infor'&tica$ ;esulta
su'a'ente 0til conocer la funcionalidad b&sica de Ji con la finalidad de facilitar la edicin de arcivos de
texto si'"le! "rinci"al'ente arcivos de configuracin$
!.. 7rocedimientos.
!..!. /Cuipamiento lgico necesario.
-or lo general! vi se instala de 'odo "redefinido en la 'a%or/a de las distribuciones de GNU/Linux a trav#s
del "a.uete vim-minimal 1CentGS! >edoraH % ;ed IatH Fnter"rise Linux3 o vi'6base 1o"enSUSFH %
SUSFH Linux Fnter"rise3$ -uede conseguirse funcionalidad adicional a trav#s de los siguientes "a.uetes)
vim-enhanced Jersin 'e(orada de vi .ue aade color a la sintaxis % otras 'e(oras en la
interfa,$ ?nstala 8usr8bin8vim en CentGS! >edoraH! ;ed IatH Fnter"rise Linux % o"enSUSFH$
Fste "a.uete est& ausente en SUSFH Linux Fnter"rise$
vim-minimalo vim-base) Jersin 'u% b&sica % ligera de vi$ ?nstala 8bin8vi$
vim-B!! o gvim) Jersin de vi "ara 'odo gr&fico! '&s f&cil de utili,ar gracias a los 'en0s %
barra de erra'ientas$ ?nstala 8usr8bin8gvim % los enlaces si'blicos 8usr8bin8evim %
8usr8bin8vim* .ue a"untan acia #ste$
/n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Si reali, una instalacin '/ni'a! instale vi' e(ecutando lo siguiente)
yum !y install vim vim!enhanced vim!minimal
!..!.!. /n open9"9/F + 9"9/F &inu* /nterprise.
Si reali, una instalacin '/ni'a! instale vi' e(ecutando lo siguiente)
yast !i vim vim!base
!.,. Conociendo vi.
2=B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+cceda al siste'a autenticando co'o usuario sin "rivilegios PfulanoQ % realice lo siguiente)
vim holamundo#txt
Lo anterior 'ostrar& una interfa, co'o la siguiente)
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,holamundo#txt, D5rchivo nuevoE %B%!1 1odo
-ulse una ve, el botn n?NSF;@] `o bien la tecla i` % observe los ca'bios en la "antalla
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-- ?NSERTAR -- %!1 1odo
Fn la "arte inferior de la "antalla a"arecer& la "alabra ^IN9/R<;R_$ Fsto significa .ue! al igual .ue
cual.uier otro editor de texto conocido! "uede co'en,ar a insertar texto en el arcivo$ Fscriba la frase
^+lcance Libre_! "ulse la tecla s 1/N</R3 % escriba de forma pro-positiva la frase ^un vuen lugar donde
co'ensar_)
229
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un vuen lugar donde comensar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-- ?NSERTAR -- %!1 1odo
-osicione el cursor del teclado (usto deba(o de la ^v_ de la "alabra ^vuen_ % "ulse de nuevo la tecla
n?NSF;@] del teclado `o bien "ulse la tecla nFsc] % SI?>@i;$ Notar& .ue aora a"arece la "alabra
^;FF:-L+N+;_)
5lcance 2ibre
un vuen lugar donde comensar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-- REEM9LAJAR -- %!1 1odo
-ulse la tecla ^b_ % observe co'o se ree'"la,a la letra ^v_ "ara .uedar la "alabra corregida co'o ^buen_)
227
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comensar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-- REEM9LAJAR -- %!1 1odo
:ueva el cursor con las flecas del teclado % re"ita el "rocedi'iento ree'"la,ando la letra ^s_ "or una ^,_
en la "alabra ^co'ensar_ de 'odo .ue .uede co'o ^co'en,ar_)
5lcance 2ibre
un buen lugar donde empeCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-- REEM9LAJAR -- %!1 1odo
-ulse la tecla nFsc] "ara salir del 'odo de ree'"la,o e in'ediata'ente "ulse la tecla ) 1dos "untos3
seguido de la letra ^*_ con la finalidad de "roceder a guardar el arcivo en el siste'a de arcivos)
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
7
-ulse la tecla s 1/N</R3 % notar& .ue a"arece un 'ensa(e en la "arte inferior de la "antalla .ue indicar&
.ue el arcivo a sido guardado)
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,holamundo#txt, D-uevoE 82B 44* escritos 8B@ 1odo
Juelva a "ulsar la tecla # 1dos "untos3 e luego escriba ^saveas adios'undo$txt_)
228
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
7saveas adiosmunto#txt
-ulse nueva'ente la tecla s 1/N</R3 % observe el 'ensa(e en la "arte inferior de la "antalla .ue indica el
arcivo acaba de ser guardado co'o el arcivo adios'undo$txt)
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
,adiosmundo#txt, D-uevoE 82B 44* escritos 8B@ 1odo
Juelva a "ulsar la tecla ^?NSF;@_ "ara regresar al 'odo de insercin % escriba lo siguiente)
22=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy malo
2a gente Jue conoCco es mala
.i vida ha sido muy mala
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
!! )-S'R15R !! :B84 1odo
+ continuacin "ulse la tecla nFsc] e in'ediata'ente "ulse la tecla # 1dos "untos3 seguido de la
co'binacin de teclas cs8mal8buen8g del siguiente 'odo)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy malo
2a gente Jue conoCco es mala
.i vida ha sido muy mala
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
7Ys/mal/buen/g
-ulse de nuevo la tecla s 1/N</R3 % observe co'o a sido ree'"la,ada la cadena de caracteres ^'al_ "or
la cadena de caracteres ^buen_ en todo el arcivo! .uedando del siguiente 'odo)
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
@ sustituciones en @ lMneas :B1 1odo
Fn el "rocedi'iento anterior! el s/'bolo ^c_ indicaba .ue se a"licar/a un "rocedi'iento a todo el arcivo!
ade'&s de la l/nea 'is'a! la letra ^s_ indicaba .ue se reali,ar/a la b0s.ueda de la cadena de caracteres
^'al_ definida des"u#s de la diagonal 1/3 "or la cadena de caracteres ^buen_ en toda la l/nea! indicado "or
la letra ^g_$
+ continuacin! "osiciones el cursor de teclado utili,ando las flecas del teclado asta el "ri'er car&cter de
la "ri'era l/nea)
5cance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
@ sustituciones en @ lMneas :B1 1odo
+ora "ulse dos veces consecutivas la tecla ^d_! es decir! "ulsar& ^dd_$ Gbserve co'o desa"arece la
"ri'era l/nea)
224
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
-ulse aora la tecla ^"_ "ara volver a "egar la l/nea)
un buen lugar donde comenCar
5lcance 2ibre
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
Gbserve .ue la l/nea ^+lcance Libre_ rea"areci deba(o de la l/nea ^un buen lugar donde co'en,ar_$
Utili,ando las flecas del teclado! colo.ue el cursor del teclado nueva'ente sobre el "ri'er car&cter de la
"ri'era l/nea del arcivo! es decir! sobre la letra ^u_ de la l/nea ^un buen lugar donde co'en,ar_)
225
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
un buen lugar donde comenCar
5lcance 2ibre
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
1B1 1odo
Juelva a "ulsar ^dd_ "ara cortar la l/nea ^un buen lugar donde co'en,ar_ e luego "ulse la tecla ^"_ "ara
"egar la l/nea en el lugar correcto)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
8B1 1odo
Colo.ue aora el cursor sobre la letra ^C_ de la l/nea ^Creo .ue el 'undo es un lugar 'u% bueno_ % "ulse la
tecla ^8_ seguido de ^dd_ % observe co'o son cortadas las tres siguientes lineas)
22A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
@ lMneas menos 8B1 1odo
-ulse la tecla ^"_ una ve,! observe el resultado$ Juelva a "ulsar la tecla ^"_ % observe el resultado$ Las dos
acciones anteriores aadieron aora 4 l/neas restaurando las eli'inadas anterior'ente % agregando tres
l/neas '&s con el 'is'o contenido)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
@ lMneas mUs 8B1 1odo
-ulse aora la tecla # 1dos "untos3 seguido de la tecla ^x_ % la tecla s 1/N</R3 con la finalidad de salir del
editor guardando el arcivo$
SUSFH Linux Fnter"rise carece del "a.uete vim-enhanced! "or lo cual ser& i'"osible se 'uestre el
resaltado de las b0s.uedas$ Si utili,a este siste'a o"erativo! o'ita los siguientes dos "asos$
+bra nueva'ente el arcivo adiosmundo.t*t con vi % "ulse la co'binacin de teclas #8buen! de 'odo .ue
se realice una b0s.ueda de la cadena de caracteres ^buen_ % ade'&s se resalten las coincidencias)
22B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
/buen 8B1 1odo
-ara cancelar el resaltado de los resultados! "ulse la co'binacin de teclas #nohl)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
8B1 1odo
-ulse ; 1co'binacin de las teclas SI?>@ia3 'ientras el cursor "er'anece en la segunda l/nea % observe
.ue iniciar& el 'odo IN9/R<;R colocando el cursor al final de la l/nea donde se encontraba)
249
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
_
-- ?NSERTAR -- 8B1 1odo
-ulse la tecla nFsc] % enseguida o$ Notar& .ue iniciar& el 'odo IN9/R<;R abriendo una nueva l/nea)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
-- ?NSERTAR -- @B1 1odo
-ulse nueva'ente la tecla nFsc] % en seguida la co'binacin d: 1d! luego SI?>@iG3$ Notar& .ue eli'ina
todo el contenido del texto desde la "osicin del cursor asta el final del arcivo)
247
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5lcance 2ibre
un buen lugar donde comenCar
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
$ lMneas menos 8B1 1odo
-ulse la co'binacin #u % notar& .ue el ca'bio se a descartado! regresando las 5 l/neas .ue ab/an sido
eli'inadas)
5lcance 2ibre
un buen lugar donde comenCar
*reo Jue el mundo es un lugar muy bueno
*reo Jue el mundo es un lugar muy bueno
2a gente Jue conoCco es buena
.i vida ha sido muy buena
2a gente Jue conoCco es buena
.i vida ha sido muy buena
_
_
_
_
_
_
_
_
_
_
_
$ lMneas mUs @B%!1 1odo
!.-. (tros mandatos de vi.
5andato Resultado
i go bien la tecla
inserth
?nicia el 'odo insertar antes del cursor
; 1r i SI?>@3 ?nicia el 'odo ree'"la,ar al inicio de la l/nea donde se encuentra el cursor
a ?nicia insertar texto despus del cursor
? 1i i SI?>@3 ?nicia insertar texto al inicio de la l/nea donde se encuentra el cursor
+ 1a i SI?>@3 ?nicia insertar texto al final de la l/nea donde se encuentra el cursor$
o +bre una nueva l/nea e inicia insertar texto en la nueva l/nea$
x Fli'ina el car&cter .ue est# sobre el cursor$
dd Fli'ina o corta la l/nea actual donde se encuentre el cursor$
%% Co"ia la l/nea actual donde se encuentre el cursor$
242
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
D Fli'ina desde la "osicin actual del cursos asta el final de la 'is'a l/nea donde se
encuentra el cursor$
dG Fli'ina todo asta el final del arcivo$
). Salida$ Si a% ca'bios "endientes se i'"edir& la salida$
).k Salida descartando los ca'bios en el arcivo$
)* Guardar el arcivo sin salir$
)*. Guardar el arcivo % sale de vi$
)x lo 'is'o .ue )*.
)saveas /lo/.ue/sea guarda el arcivo co'o otro arcivo donde sea necesario$
)*.k iiencbutfA codifica el arcivo en U@>6A$
)u desacer ca'bios
)red reacer ca'bios$
)/cadena de
caracteres
B0s.ueda de cadenas de caracteres$
)nol Cancelar el resaltado de resultados de B0s.ueda$
)e arcivo Fdita un nuevo arcivo en un nuevo b0fer$
)bn o )bnext Con'uta al siguiente arcivo abierto$
)b" o )b"rev Con'uta al arcivo abierto anterior$
)bd Cierra b0fer activo$
C@;LiQ s o )s"lit Divide ori,ontal'ente en dos b0feres$
C@;LiQ v Divide vertical'ente en dos b0feres$
C@;LiQ * Con'uta entre en b0feres abiertos$
C@;LiQ s Cierra el b0fer activo$
!... 56s all6 de las funciones b6sicas.
?nstale el "a.uete vi'6enanced)
yum !y install vim!enhanced
Utilice vimtutor % co'"lete el tutor interactivo oficial de Ji con la finalidad de .ue cono,ca el resto de
las funcionalidades '&s i'"ortantes$
248
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
. Introduccin a sed
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
.!. Introduccin.
.!.!. ;cerca de sed.
9ed es un editor de e'isiones 1strea' editor3 utili,ado "ara el "rocesa'iento de texto en arcivos$ Utili,a
un lengua(e de "rogra'acin "ara reali,ar transfor'aciones en una e'isin de datos le%endo l/nea "or l/nea
de estos$ >ue desarrollado entre 7B58 % 7B5= "or Lee F$ :c:aon de Bell Labs$ Fst& incluido en las
instalaciones b&sicas de "r&ctica'ente todas las distribuciones de GNU/Linux$
.. 7rocedimientos.
+ continuacin se 'ostrar&n e(e'"los del uso de sed$
Utilice vi "ara crear el arcivo usuario$txt)
vi usuario#txt
?ngrese el siguiente contenido % salga de vi)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Si utili,a el 'andato cat sobre el arcivo! visuali,ar& tal cual el contenido de usuario$txt co'o fue ingresado
en vi$
cat usuario#txt
Si se .uiere convertir a doble es"acio la salida del arcivo usuario$txt! utilice el siguiente 'andato)
sed I usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
24=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara guardar esta salida en el arcivo usuario2$txt! utilice lo siguiente)
sed I usuario#txt Q usuario8#txt
Si se .uiere convertir a doble es"acio la salida del arcivo usuario$txt! utilice el siguiente 'andato)
sed ZI[IZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
-ara guardar esta salida en el arcivo usuario2$txt! utilice lo siguiente)
sed ZI[IZ usuario#txt Q usuario@#txt
Fl contenido de usuario8$txt tendr& tri"le es"acio de se"aracin$ Si se desea convertir un arcivo a doble
es"acio! "ero .ue no a%a '&s de una l/nea vac/a entre cada l/ena con datos! se utili,a lo siguiente)
sed Z/`F/d[IZ usuario@#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Si se desea eli'inar el doble es"acio del arcivo usuario2$txt! se utili,a lo siguiente)
sed Zn[dZ usuario8#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Si se .uiere agregar una l/nea en blanco arriba de toda l/nea .ue contenga la ex"resin regular enga! se
utili,a lo siguiente)
sed Z/enga/ex[p[x[fZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .eng#na 18@
*olonia =erengana
242
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
*iudad de GutanoB *#=# 18@4:6
Si se .uiere agregar una l/nea en blanco deba(o de toda l/nea .ue contenga la ex"resin regular ,! se utili,a
lo siguiente)
sed Z/@/IZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18
*olonia =erengana
*iudad de GutanoB *#=# 184:6
Si se .uiere agregar una l/nea en blanco arriba % deba(o de toda l/nea .ue contenga la ex"resin regular ,!
se utili,a lo siguiente)
sed Z/@/ex[p[x[I[fZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
-ara ree'"la,ar texto se utili,a el 'odelo ts/texto/nuevo6texto/t donde texto "uede ser ta'bi#n una
ex"resin regular$ Fn el siguiente e(e'"lo se ree'"la,ar&n las incidencias del n0'ero "or el n0'ero B)
sed Zs/@/9/gZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18=
*olonia =erengana
*iudad de GutanoB *#=# 18=4:6
Fn el siguiente e(e'"lo se ree'"la,an los es"acios "or tabuladores a todo lo largo de todas las l/neas)
sed Zs/K /Kt/gZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Fn el siguiente e(e'"lo se ree'"la,an solo el "ri'er es"acio de cada l/nea "or un tabulador)
sed Zs/K /Kt/Z usuario#txt
244
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
La siguiente l/nea aade 2 es"acios al inicio de cada l/nea)
sed Zs/`/ /Z usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Fl siguiente 'andato solo i'"ri'e la "ri'era l/nea del arcivo usuario$txt)
sed J usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
Fl siguiente 'andato solo i'"ri'e las "ri'eras dos l/neas del arcivo usuario$txt)
sed 8J usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*alle .engana 18@
Fl siguiente 'andato solo 'uestra las 0lti'as tres l/neas del arcivo usuario$txt)
sed !e 7a !e ZFJ[-[4BF&[baZ usuario#txt
La salida devolver& lo siguiente)
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
Fl siguiente 'andato solo 'ostrar& las l/neas .ue inclu%en ,)
sed Z/@/WdZ usuario#txt
La salida devolver& lo siguiente)
245
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
*alle .engana 18
*iudad de GutanoB *#=# 184:6
Fl siguiente 'andato solo 'ostrar& las l/neas .ue no inclu%en ,)
sed Z/@/dZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
*olonia =erengana
Fl siguiente 'andato "ide 'ostrar la linea .ue est& in'ediata'ente des"u#s de la ex"resin 2ulano! "ero
no la l/nea en si .ue inclu%e 2ulano)
sed !n Z/>ulano/en[p[fZ usuario#txt
La salida devolver& lo siguiente)
*alle .engana 18@
Fl siguiente 'andato "ide 'ostrar la linea .ue est& in'ediata'ente antes de la ex"resin Calle! "ero no la
l/nea en si .ue inclu%e Calle)
sed !n Z/*alle/eg[1Wp[f[hZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgo
.,. $ibliografa.
Fric -e'ent) tt")//student$nort"arK$edu/"e'ente/sed/sed7line$txt
QiKi"edia) tt")//en$*iKi"edia$org/*iKi/Sed
24A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,. Introduccin a ;\N
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,.!. Introduccin.
,.!.!. ;cerca de ;\N.
;\N! cu%o no'bre deriva de la "ri'era letra de los a"ellidos de sus autores +lfred ;o! -eter \einberger %
Brian Nernigan! es un lengua(e de "rogra'acin .ue fue diseado con el ob(etivo de "rocesar datos
basados sobre texto % una de las "ri'eras erra'ientas en a"arecer en Unix$ Utili,a listas en un /ndice
ordenado "or cadenas clave 1listas asociativas3 % ex"resiones regulares$ Fs un lengua(e a'"lia'ente
utili,ado "ara la "rogra'acin de guiones e(ecutables "ues aade funcionalidad a las tuber/as en los
siste'as o"erativos ti"o 7(9IB$ Fst& incluido en las instalaciones b&sicas de "r&ctica'ente todas las
distribuciones de GNU/Linux$
,.!.. /structura de los programas escritos en ;\N.
Fl 'andato aRO utili,a un arcivo o e'isin de ordenes % un arcivo o e'isin de entrada$ Fl "ri'ero indica
co'o "rocesar al segundo$ Fl arcivo de entrada es "or lo general texto con alg0n for'ato .ue "uede ser un
arcivo o bien la salida de otro 'andato$
La sintaxis general utili,ada "ara el 'andato aRO utili,a el siguiente "atrn)
ak ZexpresiTn!regular e orden fZ
Cuando se utili,a el 'andato aRO! #ste exa'ina el arcivo de entrada % e(ecuta la orden cuando encuentra
la ex"resin regular es"ecificada$
Fl siguiente 'odelo e(ecutar/a la orden al inicio del "rogra'a % antes de .ue sean "rocesados los datos del
arcivo de entrada)
ak Z;'I)- e orden fZ
Fl siguiente 'odelo e(ecutar/a la orden al final del "rogra'a % des"u#s de .ue sean "rocesados los datos del
arcivo de entrada)
ak Z'-& e orden fZ
Fl siguiente 'odelo e(ecutar/a la orden "or cada una de las l/neas del arcivo de entrada)
ak Ze orden fZ
24B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,.. 7rocedimientos.
+ continuacin se 'ostrar&n e(e'"los del uso de +QL$
Fl siguiente 'andato es"ec/fica .ue al inicio se i'"ri'a en la salida la frase UIola 'undoU % ter'inar el
"rocesa'iento$
ak Z;'I)- e print ,3ola mundo,[ exit fZ
Lo anterior deber& devolver una salida co'o la siguiente)
3ola mundo
Si se genera el arcivo prueba.t*t del siguiente 'odo)
echo !e ,*olumna1Kt*olumna8Kt*olumna@Kt*olumna4Kn, Q eOemplo#txt
R se visuali,a con el 'andato cat)
cat eOemplo#txt
Devolver& el siguiente contenido)
*olumna1 *olumna8 *olumna@ *olumna4
Si se utili,a el 'andato aRO "ara .ue solo 'uestre la colu'na 7 % la colu'na 8 del siguiente 'odo)
ak Ze print F1B F@fZ eOemplo#txt
La salida devolver& lo siguiente)
*olumna1 *olumna@
Si se utili,a el 'andato aRO "ara .ue solo 'uestre la colu'na 8 % la colu'na 7! en ese orden! del siguiente
'odo)
ak Ze print F@B F1fZ eOemplo#txt
La salida devolver& lo siguiente)
*olumna@ *olumna1
Si se aaden datos al arcivo e%emplo.t*t del siguiente 'odo)
echo !e ,&ato1Kt&ato8Kt&ato@Kt&ato4Kn, QQ eOemplo#txt
echo !e ,&ato:Kt&ato6Kt&ato$Kt&ato6Kn, QQ eOemplo#txt
echo !e ,&ato9Kt&ato1%Kt&ato11Kt&ato18Kn, QQ eOemplo#txt
259
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
R se visuali,a con el 'andato cat)
cat eOemplo#txt
Devolver& el siguiente contenido)
*olumna1 *olumna8 *olumna@ *olumna4
&ato1 &ato8 &ato@ &ato4
&ato: &ato6 &ato$ &ato6
&ato9 &ato1% &ato11 &ato18
Si se utili,a nueva'ente el 'andato aRO "ara .ue solo 'uestre la colu'na 7 % la colu'na 8 del siguiente
'odo)
ak Ze print F1B F@ fZ eOemplo#txt
La salida devolver& lo siguiente)
*olumna1 *olumna@
&ato1 &ato@
&ato: &ato$
&ato9 &ato11
Si se utili,a el 'andato aRO del siguiente 'odo "ara .ue solo 'uestre solo la l/nea cu%a colu'na contenga
la ex"resin regular Dato2)
ak Z/&ato:/ e print fZ eOemplo#txt
La salida devolver& lo siguiente)
&ato: &ato6 &ato$ &ato6
Si se utili,a el 'andato aRO del siguiente 'odo "ara .ue solo 'uestre solo la l/nea cu%a colu'na contenga
la ex"resin regular Dato2 % ade'&s solo las colu'nas 7 % =)
ak Z/&ato:/ e print F1B F4fZ eOemplo#txt
La salida devolver& lo siguiente)
&ato: &ato6
Si se utili,a el 'andato aRO del siguiente 'odo "ara .ue 'uestre solo las l/neas con m6s de ,.
caracteres en el arcivo 8etc8crontab)
ak Zlength Q @:Z /etc/crontab
La salida devolver& algo si'ilar a lo siguiente)
257
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A R R #!!!!!!!!!! day o" month (1 ! @1)
A R R R #!!!!!!! month (1 ! 18) 0R OanB"ebBmarBapr ###
A R R R R #!!!! day o" eek (% ! 6) (Sunday+% or $) 0R sunBmonBtueBedBthuB"riBsat
A L L L L L user!name command to be executed
Si se utili,a el 'andato aRO del siguiente 'odo "ara .ue 'uestre solo las l/neas con menos de ,.
caracteres en el arcivo 8etc8crontab)
ak Zlength ] @:Z /etc/crontab
La salida devolver& algo si'ilar a lo siguiente)
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
.5)210+root
A >or details see man 4 crontabs
A 'xample o" Oob de"inition7
A R #!!!!!!!!!!!!! hour (% ! 8@)
A R R R R R
Utilice el 'andato vi "ara crear el arcivo usuario.t*t)
vi usuario#txt
+ada el siguiente contenido)
>ulano 5lgo
*alle .engana 18@
*olonia =erengana
*iudad de GutanoB *#=# 18@4:6
-ara .ue el 'andato aRO recono,ca cada l/nea co'o un registro co'"leto! en lugar de considerar cada
"alabra co'o una colu'na! se utili,a _$/:IN d 29V'an' e R9V''f_! donde el valor de 29 12ield 9e"arator o
se"arador de ca'"o3 se establece co'o un retorno de carro % el valor de R9 1Record 9e"arator o se"arador
de registro3 se establece co'o una l/nea vac/a$ Si utili,a el siguiente 'andato donde se establecen los
valores 'encionados "ara >S % ;S % se "ide se i'"ri'an los valores de cada registro 1cada l/nea3 se"arados
"or una co'a % un es"acio)
ak Z;'I)- e >S+,Kn,[ RS+,, f K
e print F1 ,B , F8 ,B , F@ ,B , F4 fZ usuario#txt
La salida devolver& lo siguiente)
>ulano 5lgoB *alle .engana 18@B *olonia =erenganaB *iudad de GutanoB *#=# 18@4:6
Fl 'andato aRO "uede reali,ar conteo de l/neas! "alabras % caracteres$ Fl siguiente 'andato se establece
.ue el valor de R sea igual al n0'ero de ca'"os 1Ne* 2ield o N23! c sea igual la longitud de cada ca'"o %
.ue se i'"ri'a el n0'ero de ca'"os! el valor de R % el valor de c)
ak Ze X+ ->[ c X+ length f K
'-& e print K
,*ampos7 , -R B ,Kn=alabras7 , B ,Kn*aracteres7 , c fZ K
usuario#txt
252
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La salida devolver& lo siguiente)
*ampos7 4
=alabras7 18
*aracteres7 $4
Genere el arcivo numeros.t*t con el siguiente contenido! donde las colu'nas ser&n se"aradas "or un
tabulador)
1 8 @ 4
: 6 $ 6
9 1% 11 18
el 'andato aRO "uede reali,ar o"eraciones 'ate'&ticas$ Fl siguiente 'andato establece .ue la variable (
es igual a la su'a del valor de los ca'"os de la primera columna del arcivo numeros.t*t e i'"ri'e el
valor de s)
ak Ze s X+ F1 f '-& e print s fZ numeros#txt
La salida devolver& lo siguiente 1.ue corres"onde al resultado de la su'a de 7i2iB3)
1:
Si se ace lo 'is'o! "ero con los valores de la colu'na 2)
ak Ze s X+ F8 f '-& e print s fZ numeros#txt
La salida devolver& lo siguiente 1.ue corres"onde al resultado de la su'a de 2i4i793)
16
-ara acer conteo de frecuencia de "alabras! Se establece .ue el valor "ara 29 12ield 9e"arator o se"arador
de l/nea3 sea igual a ex"resiones regulares .ue van desde la letra a asta la letra 3 % desde la letra ; asta
la letra b! se establece .ue el valor de la variable i es igual a ! % 'enor al n0'ero de ca'"os$
ak Z;'I)- e >S+,D`a!C5!GEX, f K
e "or (i+1[ i]+->[ iXX) ordsDtoloer(Fi)EXX f K
'-& e "or (i in ords) print iB ordsDiE fZ /etc/crontab
La salida devolver& algo si'ilar a lo siguiente)
258
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1:
Oob 1
to 1
usr 8
root 1
shell 1
mon 1
hour 1
bin @
executed 1
name 1
ed 1
"ri 1
details 1
o" @
"eb 1
eek 1
sun 1
path 1
crontabs 1
or @
be 1
apr 1
de"inition 1
month 8
sbin 8
tue 1
Oan 1
day 8
command 1
"or 1
sunday 1
man 1
mar 1
user 1
minute 1
example 1
see 1
bash 1
sat 1
mailto 1
thu 1
25=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-. "so de los mandatos choRn + chgrp
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-.!. Introduccin.
@anto el 'andato choRn co'o el 'andato chgrp for'an "arte del "a.uete coreutils! el cual se instala de
for'a "redeter'inada en todas las distribuciones de GNU/Linux debido a .ue se trata co'"onente esencial$
U;L) ft")//al"a$gnu$org/gnu/coreutils/
-.. 5andato choRn.
Fl 'andato choRn se utili,a "ara ca'biar el "ro"ietario al cual "ertenece un arcivo o directorio$ -uede
es"ecificarse tanto el no'bre de un usuario! as/ co'o un n0'ero de identidad de usuario 1"ID3$ De 'anera
o"cional! utili,ando un signo de dos "untos 1#3 o bien un "unto 1.3! "er'ite es"ecificar ta'bi#n un no'bre
de gru"o$
Fl 'anual co'"leto del 'andato choRn "uede consultarse e(ecutando lo siguiente)
man 1 chon
-..!. (pciones.
-R
De 'anera descendente ca'bia el "ro"ietario de los directorios (unto con todos sus
contenidos$ De 'anera o"cional ta'bi#n "er'ite ca'biar el gru"o al cual
"ertenecen$
-v Po --verboseQ Salida '&s descri"tiva$
--version Jer el n0'ero de versin del "rogra'a$
--dereference +ct0a sobre enlaces si'blicos en lugar de acerlo sobre el destino$
-h Po --no-dereferenceQ
Fn el caso de enlaces si'blicos! ca'bia el "ro"ietario del destino en lugar del
"ro"io enlace$
--reference
Ca'bia el el "ro"ietario de un arcivo! to'ando co'o referencia el "ro"ietario de
otro$
-... "tili3acin.
chon DopcionesE usuarioD7grupoE archivo(s) o directorio(s)
-.,. 5andato chgrp.
252
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl 'andato chgrp se utili,a "ara ca'biar el gru"o al cual "ertenece un arcivo o directorio$ -uede
es"ecificarse tanto el no'bre de un gru"o! as/ co'o un n0'ero de identidad de gru"o 1:ID3$
Fl 'anual co'"leto del 'andato chgrp "uede consultarse e(ecutando lo siguiente)
man 1 chgrp
-.,.!. (pciones.
-R
De 'anera descendente ca'bia el gru"o al cual "ertenecen los directorios (unto
con todos sus contenidos$
-v Po --verboseQ Salida de chgrp '&s descri"tiva$
--version Jer el n0'ero de versin del "rogra'a$
--dereference +ct0a sobre enlaces si'blicos en lugar de acerlo sobre el destino$
-h Po --no-dereferenceQ
Fn el caso de enlaces si'blicos ca'bia el gru"o del destino en lugar del "ro"io
enlace$
--reference Ca'bia el gru"o de un arcivo to'ando co'o referencia el "ro"ietario de otro$
-.,.. "tili3acin.
chgrp DopcionesE archivo(s) o directorio(s)
-.-. /%emplos.
Fl siguiente 'andato reali,a el ca'bio de "ro"ietario a fulano sobre el arcivo algo$txt$
chon "ulano algo#txt
Fl siguiente 'andato reali,a el ca'bio de "ro"ietario a fulano % el gru"o desarrollo sobre el arcivo
algo$txt$
chon "ulano7desarrollo algo#txt
Fl siguiente 'andato reali,a el ca'bio de "ro"ietario a fulano % el gru"o mail del sub6directorio 5ail (unto
con todo su contenido$
chon !R "ulano7mail .ail
Fl siguiente 'andato reali,a el ca'bio de gru"o a desarrollo sobre el arcivo algo$txt$
chgrp desarrollo algo#txt
254
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.. 7ermisos del 9istema de ;rchivos en
:N"8&inu*.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
..!. Introduccin.
Fn los siste'as o"erativos ti"o 7(9IB cada ele'ento del siste'a de arcivos! co'o arcivos! directorios!
enlaces si'blicos! etc$! tiene la caracter/stica de "oseer "er'isos .ue lo ubican dentro del 'is'o$ Ystos
sirven co'o uno '&s de los niveles de seguridad del siste'a o"erativo al i'"edir .ue cual.uier usuario
"ueda leer! escribir! e(ecutar o acceder a dicos arcivos % directorios de 'anera arbitraria$ Fstos "er'isos
vistos de 'anera b&sica son) lectura 1r! read3! escritura 1R! (rite3 % e%ecucin 1*! e6ecution3 % se
agru"an en blo.ues 1rR*3 "ara 8 diferentes clases 1usuario! gru"o % otros3$
Los "er'isos de acceso de cada arcivo % directorio del siste'a son 'ostrados "or un con(unto de 79
caracteres! los cuales "ro"orcionan infor'acin acerca del ti"o de ele'ento! (unto con "er'isos "ara el
usuario % gru"o "ro"ietario "ara leer! escribir % e(ecutar! co'o se 'uestra en el siguiente e(e'"lo)
!rxr!xr!x 1 "ulano "ulano % Oul @1 16711 algo#txt
La asignacin de "er'isos de acceso 1de lectura! escritura % e(ecucin3 "ueden gestionarse a trav#s de
'odos! los cuales consisten de co'binaciones de n0'eros de tres d/gitos 1usuario! gru"o % otros3 % los
'andatos chmod % setfacl$
... Notacin simblica.
Fl es.ue'a de notacin si'blica se co'"one de 79 caracteres! donde el "ri'er car&cter indica el ti"o de
arcivo)
Jalor Descripcin
! +rcivo regular$
d Directorio$
b +rcivo es"ecial co'o dis"ositivo de blo.ue$
c +rcivo de car&cter es"ecial
l Fnlace si'blico$
p @uber/a no'brada 1>?>G3
s Ncalo de do'inio 1socKet3
Co'o se 'encion anterior'ente! cada clase de "er'isos es re"resentada "or un con(unto de tres
caracteres$ Fl "ri'er con(unto de caracteres re"resenta la clase del usuario! el segundo con(unto de tres
caracteres re"resenta la clase del gru"o % el tercer con(unto re"resenta la clase de ^otros_ 1resto del
'undo3$ Cada uno de los tres caracteres re"resenta "er'isos de lectura! escritura % e(ecucin!
res"ectiva'ente % en ese orden$
F(e'"los)
255
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
7ermisos Descripcin
-rxr-Er!x Directorio con "er'iso 522
&r!r0-r!! +rcivo de car&cter es"ecial con "er'iso 44=$
srxr0Er!x Ncalo con "er'iso 552$
'r!r0-r!! @uber/a 1>?>G3 con "er'iso 44=$
-r!r--r!! +rcivo regular con "er'iso 4==$
..,. Notacin octal.
La notacin octal consiste de valores de tres a cuatro d/gitos en base6A$ Con la notacin octal de tres d/gitos
cada n0'ero re"resenta un co'"onente diferente de "er'isos a establecer) clase de usuario! clase de
gru"o % clase de otros 1resto del 'undo3 res"ectiva'ente$ Cada uno de estos d/gitos es la su'a de sus bits
.ue lo co'"onen 1en el siste'a nu'eral binario3$ Co'o resultado! bits es"ec/ficos se aaden a la su'a
confor'e son re"resentados "or un nu'eral)
Fl Bit de e(ecucin 1acceso en el caso de directorios3 aade ! a la su'a$
Fl bit de escritura aade a la su'a
Fl bit de lectura aade - a la su'a$
Fstos valores nunca "roducen co'binaciones a'biguas % cada una re"resenta un con(unto de "er'isos
es"ec/ficos$ De 'odo tal "uede considerarse la siguiente tabla)
Jalor 7ermiso Descripcin
% !!! -ada
1 !!x STlo eOecuciTn de archivos o acceso a directorios
8 !! STlo escritura
@ !x 'scritura y eOecuciTn de archivos o acceso a directorios
4 r!! STlo lectura
: r!x 2ectura y eOecuciTn de archivos o acceso a directorios
6 r! 2ectura y escritura
$ rx 2ecturaB escritura y eOecuciTn de archivos o acceso a directorios
Cabe sealar .ue el "er'iso 8 1*x3 es el resultado de 7i2 1*ix3! .ue el "er'iso 2 1rx3 es el resultado de
=i7 1rix3! .ue el "er'iso 4 1r*3 es el resultado de =i2 1ri*3 % .ue el "er'iso 5 1r*x3 es el resultado de
=i2i7 1ri*ix3$
..,.!. 56scara de usuario.
La '&scara de usuario 1umas'! abreviatura de user $a(.3 es una funcin .ue establece los "er'isos
"redeter'inados "ara los nuevos arcivos % directorios creados en el siste'a$ -uede establecerse en
notacin octal de tres o cuatro d/gitos o bien en notacin si'blica$ -uede establecerse cual.uier valor "ara
umas'! "ero debe to'arse en consideracin .ue #sta (a'&s "er'itir& crear nuevos arcivos e(ecutables$
Cuando se utili,a la notacin octal de cuatro d/gitos! el "ri'er d/gito sie'"re corres"onde a los "er'isos
es"eciales! "ero el valor de #ste sie'"re ser& 9Z el segundo d/gito corres"onde a la '&scara de la clase
otrosZ el tercer d/gito corres"onde a la '&scara "ara la clase de gru"oZ % el cuarto d/gito corres"onde a la
'&scara "ara la clase de usuario$
#!!!!!!!!!!! =ermisos especiales (siempre es % en umask)
R #!!!!!!!!! *lase de otros
R R #!!!!!!! *lase de grupo
R R R #!!!!! *lase de usuario
R R R R
g g g g
% % 8 8
25A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl valor de la '&scara de usuario! .ue se asigna con el 'andato umasO! corres"onde a los bits contrarios
del "er'iso "redeter'inado .ue se .uiera asignar$ Fs decir! si "or e(e'"lo se .uiere asignar una '&scara
de usuario e.uivalente a 9552 1r*xr*xr6x3! el valor de la '&scara de usuario corres"onder& a 9992 1el
resultado de la o"eracin 555 'enos 5523! .ue ser& lo 'is'o .ue definir ubr*x!gbr*x!obrx$
Si "or e(e'"lo se .uiere asignar una '&scara de usuario e.uivalente a 95== 1r*xr66r663! el valor de la
'&scara de usuario corres"onder& a 9988 1el resultado de la o"eracin 555 'enos 5==3! .ue ser& lo 'is'o
.ue definir ubr*x!gbr!obr$
Los valores nunca "roducen co'binaciones a'biguas % cada una re"resenta un con(unto de "er'isos
es"ec/ficos$ De 'odo tal "uede considerarse la siguiente tabla)
Jalor octal Jalor simblico Descripcin
% rx 2ecturaB escritura y acceso a directorios
1 r! 2ectura y escritura
8 r!x 2ectura y acceso a directorios
@ r!! STlo lectura
4 !x 'scritura y acceso a directorios
: !! STlo escritura
6 !!x STlo acceso a directorios
$ !!! -ada
Fl valor "redeter'inado de la '&scara de usuario del siste'a en CentGS! >edoraH! ;ed IatH Fnter"rise
Linux! o"enSUSFH % SUSFH Linux Fnter"rise es II! es decir se asigna "er'iso 9522 16r*xr6xr6x3 "ara
nuevos directorios % 94== 16r*6r66r663 "ara nuevos arcivos$ Fl siste'a (a'&s "er'ite crear nuevos arcivos
con atributos de e(ecucin$ Fl valor "redeter'inado se define en una variable de entorno del arcivo
8etc8profile % "uede ser ca'biado "or el .ue el ad'inistrador del siste'a considere "ertinente$ Fl valor
ta'bi#n "uede establecerse "or usuario en el arcivo ^8.bashUprofile 1CentGS! >edoraH % ;ed IatH
Fnter"rise Linux3 o bien en el arcivo ^8.profile 1o"enSUSFH % SUSFH Linux Fnter"rise3$
Fl valor "redeter'inado de la '&scara de usuario utili,ado "or el 'andato useradd! "ara la creacin de
directorios de inicio de usuarios! se define en el arcivo 8etc8login.defs$
Fn CentGS! >edoraH % ;ed IatH Fnter"rise Linux el valor "redeter'inado de la '&scara de usuario
utili,ada "or el 'andato useradd es 9955! es decir .ue los directorios de inicio de cada usuario .ue sea
creado en el siste'a tendr& un "er'iso 9599 1r*x6666663$
Fn o"enSUSFH % SUSFH Linux Fnter"rise el valor "redeter'inado de la '&scara de usuario utili,ada "or el
'andato useradd es 9922! es decir 9522 1r*xr6xr6x3! debido a .ue la variable "5;9N est& desabilitada
con una al'oadilla en el arcivo 8etc8login.defs! "ues se reco'ienda se defina #sta variable en el arcivo
8etc8default8useradd$ F(e'"lo)
IR0?=+1%%
30.'+/home
)-5*1)('+!1
'X=)R'+
S3'22+/bin/bash
SH'2+/etc/skel
*R'51'/.5)2/S=002+yes
UMAS.=6677
-ara deter'inar el valor en notacin octal "ara la '&scara de usuario "redeter'inada del siste'a! e(ecute
el 'andato umasO! sin o"ciones ni argu'entos$
umask
25B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara deter'inar el valor en notacin si'blica "ara la '&scara de usuario "redeter'inada del siste'a!
e(ecute el 'andato umasO con la o"cin -9 1'a%0scula3! sin argu'entos$
umask !S
-ara ca'biar la 'ascara de usuario en la sesin activa % "rocesos i(os! se re.uiere e(ecutar el 'andato
umasO con el valor octal deseado$ Fn el siguiente e(e'"lo! se definir& 9992 19552! r*xr*xr6x3 co'o
'&scara de usuario)
umask %%%8
Lo anterior ta'bi#n se "uede acer utili,ando notacin si'blica)
umask u+rxBg+rxBo+rx
..,.. 7ermisos adicionales.
Ia% una for'a de cuatro d/gitos$ Ba(o este es.ue'a el est&ndar de tres d/gitos descrito arriba se convierte
en los 0lti'os tres d/gitos del con(unto$ Fl "ri'er d/gito re"resenta el bit de los "er'isos adicionales$ Fn
siste'as % e.ui"a'iento lgico donde es obligatorio incluir este "ri'er d/gito del con(unto de cuatro % se
"rescinde de asignar "er'isos adicionales! se debe establecer cero co'o valor de #ste$ F(e'"lo)
chmod %$:: /lo/Jue/sea
Fl "ri'er d/gito del con(unto de cuatro es ta'bi#n la su'a de sus bits .ue le co'"onen)
7$ Fl bit pegajoso 1stic'y bit3 aade ! al total de la su'a$
2$ Fl bit setgid aade al total de la su'a$
8$ Fl bit setuid aade - al total de la su'a$
Fl "er'iso SU?D o bit setuid ace .ue cuando se a establecido e(ecucin! el "roceso resultante asu'ir& la
identidad del usuario dado en la clase de usuario 1"ro"ietario del ele'ento3$
Fl "er'iso SG?D o bit setgid ace .ue cuando se a establecido e(ecucin! el "roceso resultante asu'ir& la
identidad del gru"o dado en la clase de gru"o 1"ro"ietario del ele'ento3$ Cuando setgid a sido a"licado a
un directorio! todos los nuevos arcivos creados deba(o de este directorio eredar&n el gru"o "ro"ietario de
este 'is'o directorio$ Cuando se o'ite establecer setgid! el co'"orta'iento "redeter'inado es asignar el
'is'o gru"o del usuario utili,ado "ara crear nuevos arcivos o directorios$
Fl bit pegajoso 1stic'y bit3 significa .ue un usuario slo "odr& 'odificar % eli'inar arcivos % directorios
subordinados dentro de un directorio .ue le "ertene,ca$ Fn ausencia de #ste! se a"lican las reglas generales
% el dereco de acceso de escritura en si slo "er'ite al usuario crear! 'odificar % eli'inar arcivos %
directorios subordinados dentro de un directorio$ Los directorios a los cuales se les a establecido bit
pegajoso restringen las 'odificaciones de los usuarios a slo ad(untar contenido! 'anteniendo control total
sobre sus "ro"ios arcivos % "er'itiendo crear nuevos arcivosZ slo "er'itir& ad(untar o aadir contenido a
los arcivos de otros usuarios$ Fl bit pegajoso es utili,ado en directorios co'o 8tmp % 8var8spool8mail$
De 'odo tal "uede considerarse la siguiente tabla)
2A9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Jalor 7ermiso Descripcin
1 !!! !!! !!$ bit pegajoso
8 !!! !!s !!! bit setgid
@ !!! !!s !!$ bit pegajoso X bit setgid
4 !!s !!! !!! bit setuid
: !!s !!! !!$ bit setuid X bit pegajoso
6 !!s !!s !!! bit setuid X bit setgid
$ !!s !!s !!$ bit setuid X bit setgid X bit pegajoso
Cuando un arcivo carece de "er'isos de e(ecucin o bien si un directorio carece de "er'iso de acceso en
alguna de las clases % se le es asignado un "er'iso es"ecial! #ste se re"resenta con una letra 'a%0scula$
7ermiso Clase /%ecuta 9in e%ecucin
setuid ?suario s S
setgid Irupo s S
pegaOoso (sticky) 0tros t 1
..-. /%emplos.
..-.!. /%emplos permisos regulares.
Jalor octal Jalor umasO Clase de "suario Clase de :rupo Clase de (tros
%4%% %@$$ r!! !!! !!!
%44% %@@$ r!! r!! !!!
%444 %@@@ r!! r!! r!!
%:%% %8$$ r!x !!! !!!
%::% %88$ r!x r!x !!!
%::: %888 r!x r!x r!x
%644 %1@@ r! r!! r!!
%664 %11@ r! r! r!!
%666 %111 r! r! r!
%$%% %%$$ rx !!! !!!
%$11 %%66 rx !!x !!x
%$%$ %%$% rx !!! rx
%$44 %%@@ rx r!! r!!
%$:% %%8$ rx r!x !!!
%$:: %%88 rx r!x r!x
%$$: %%%8 rx rx r!x
%$$$ %%%% rx rx rx
..-.. /%emplos permisos especiales.
Jalor octal Clase de "suario Clase de :rupo Clase de (tros
3644 r! r!! r!T
/644 r! r!S r!!
644 r! r!S r!T
4644 rS r!! r!!
!644 rS r!! r!T
5644 rS r!S r!!
7644 rS r!S r!T
3$$$ rx rx r$
/$:: rx r!s r!x
$:: rx r!s r!$
4$:: rs r!x r!x
!$:: rs r!x r!$
5$:: rs r!s r!x
7$:: rs r!s r!$
.... "so del mandato chmod.
chmod DopcionesE modo archivo
2A7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
F(ecute todos los 'andatos del siguiente e(e'"lo)
mkdir !p _/tmp/
touch _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod $:: _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod u+rBg+rBo+r _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod u+rBg!rBo!r _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod uXxBgXrxBoXrx _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod a!x _/tmp/algo#txt
ls !l _/tmp/algo#txt
chmod a! _/tmp/algo#txt
ls !l _/tmp/algo#txt
La salida debe ser si'ilar a la siguiente)
....!. (pciones del mandato chmod.
-R
Ca'bia "er'isos de for'a descendente en un directorio dado$ Fs la 0nica o"cin de los est&ndares
-GS?O$
-c
:uestra cu&les arcivos an ca'biado reciente'ente en una ubicacin dada
-f
G'ite 'ostrar errores de arcivos o directorios .ue a%a sido i'"osible ca'biar
2A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-v
Descri"cin detallada de los 'ensa(es generados "or el "roceso
-ara obtener una descri"cin co'"leta del uso del 'andato chmod! e(ecute)
man 1 chmod
..... /l mandato chmod + los enlaces simblicos.
Cabe sealar .ue aun.ue es "osible ca'biar con los 'andatos choRn % chgrp el "ro"ietario %/o gru"o al
cual "ertenece un enlace si'blico! el 'andato chmod (a'&s ca'bia los "er'isos de acceso de enlaces
si'blicos! los cuales de cual.uier for'a carecen de relevancia "ues los .ue i'"ortan son los "er'isos de
los arcivos o directorios acia los cuales a"untan$ Si se a"lica el 'andato chmod sobre un enlace
si'blico! invariable'ente se ca'biar& el "er'iso del arcivo o directorio acia el cual a"unta$ Cuando se
a"lica chmod de for'a descendente en un directorio! #ste ignora los enlaces si'blicos .ue "udiera
encontrar en el recorrido$
-or favor! continu# con el docu'ento titulado ^/i(ta( de control de acce(o ) u(o de lo( $andato(
getacl ) (etacl$_
2A8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0. &istas de control de acceso + uso de los
mandatos getfacl + setfacl
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0.!. Introduccin.
Los "rocedi'ientos de este docu'ento re.uieren aber estudiado % co'"rendido "revia'ente los
conce"tos del docu'ento titulado ^0er$i(o( del (i(te$a de archi&o($_
Fste docu'ento describe el uso de listas de control de acceso 1;C&! access control lists3! .ue se utili,an
"ara controlar los "er'isos de acceso de los arcivos % directorios con 'a%or exactitud$ Cada ob(eto del
siste'a "uede ser asociado a una ;C& .ue controla el acceso de 'odo discrecional acia ese ob(eto$
+de'&s! los directorios "ueden tener asociado un ;C& .ue controla los "er'isos de acceso iniciales "ara los
ob(etos creados en el interior de #ste! a los .ue se le deno'ina ;C& "redeter'inado$
Fn resu'en! cuando el siste'a de arcivos a sido 'ontado con la o"cin acl! es "osible asignar "er'isos
de lectura! escritura % e(ecucin "or usuarios %/o gru"os$ Fl so"orte necesario viene abilitado de 'odo
"redeter'inado en CentGS! >edoraH! ;ed IatH Fnter"rise Linux! o"enSUSFH % SUSFH Linux Fnter"rise 77$
Nota.
Fn el caso de SUSFH Linux Fnter"rise 79! se re.uiere aadir la o"cin acl en la colu'na de o"ciones de la
configuracin de los siste'as de arcivos "resentes en el siste'a! editando el arcivo 8etc8fstab)
vi /etc/"stab
F(e'"lo)
/dev/sda1 / ext@ #&)Buser/xattr 1 8
/dev/sda8 /home ext@ #&)Buser/xattr 1 8
/dev/sda@ /var ext@ #&)Buser/xattr 1 8
-ara a"licar los ca'bios de 'anera in'ediata! sin necesidad de reiniciar! se e(ecutar/a)
mount !o remountB#&)Buser/xattr /
mount !o remountB#&)Buser/xattr /home
mount !o remountB#&)Buser/xattr /var
0.. /Cuipamiento lgico necesario.
0..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
2A=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La instalacin est&ndar inclu%e inclu%e el "a.uete el "a.uete acl$ Si se reali,a una instalacin '/ni'a! es
necesario e(ecutar lo siguiente)
yum !y install acl
Si se utili,a >edoraH se "uede instalar ade'&s el "a.uete eiciel! el cual "er'ite gestionar de 'anera
gr&fica las listas de control de acceso desde el ad'inistrador de arcivos 1Nautilus3 del escritorio de GNG:F$
yum !y install eiciel
0... /n open9"9/F + 9"9/F /nterprise &inu*.
La instalacin est&ndar inclu%e el "a.uete acl$ Si se reali, una instalacin '/ni'a! es necesario e(ecutar lo
siguiente)
yast !i acl
Si se utili,a o"enSUSFH 77 o SUSFH Fnter"rise Linux 77 % versiones "osteriores de #stos! se "uede instalar
ade'&s el "a.uete nautilus-eiciel! el cual "er'ite gestionar de 'anera gr&fica las listas de control de
acceso desde el ad'inistrador de arcivos 1Nautilus3 del escritorio de GNG:F$
yast !i nautilus!eiciel
0.,. 7rocedimientos.
Cuando el so"orte "ara listas de control de acceso est& abilitado en los siste'as de arcivos % el "a.uete
acl est& instalado! se "ueden utili,ar los siguientes dos 'andatos)
getfacl
Se utili,a "ara deter'inar los "er'isos establecidos en las listas de control de
acceso de un arcivo o directorio dado$
setfacl
Se utili,a "ara ca'biar los "er'isos en las listas de control de acceso de un
arcivo o directorio dado$
-ara obtener una descri"cin co'"leta del uso del 'andato getfacl! e(ecute)
man 1 get"acl
2A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara obtener una descri"cin co'"leta del uso del 'andato setfacl! e(ecute)
man 1 set"acl
-ara obtener una descri"cin co'"leta del for'ato de las listas de control de acceso! e(ecute)
man : acl
-ara obtener los atributos de las listas de control de acceso de un arcivo o directorio "articular! se e(ecuta
el 'andato getfacl con la ruta del arcivo o directorio co'o argu'ento$ F(e'"lo)
get"acl /home/"ulano
Lo anterior devolver/a una salida si'ilar la siguiente)
get"acl7 'liminando Z/Z inicial en nombres de ruta absolutos
A "ile7 home/"ulano
A oner7 "ulano
A group7 "ulano
user77rx
group77!!!
other77!!!
Lo anterior 'uestra .ue slo el "ro"ietario del directorio tiene "er'isos de lectura! escritura % acceso$
-ara lograr .ue un usuario en "articular "ueda acceder ta'bi#n a este directorio! se e(ecuta el 'andato
setfacl! con la o"cin -m "ara 'odificar la lista de control de acceso! gu!g!oh)gusuario!gru"oh)gr!*!xh % la ruta
del directorio co'o argu'entos$ F(e'"lo)
set"acl !m u7Cutano7rX /home/"ulano
Fn el e(e'"lo anterior se utili, O 'a%0scula "ara indicar .ue slo se a"licar& el bit de acceso de a
directorios evitando a"licar el bit de e(ecucin a los arcivos$
Nota.
Si lo "refiere! ta'bi#n "ude utili,ar notacin octal)
set"acl !m u7Cutano7! /home/"ulano
Lo anterior establece .ue se aaden "er'isos de lectura % acceso al directorio /o'e/fulano "ara el usuario
,utano$
-ara verificar! e(ecute de nuevo el 'andato getfacl con la ruta del directorio 'odificado co'o argu'ento)
get"acl /home/"ulano
Lo anterior devolver/a una salida si'ilar a la siguiente)
2A4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
get"acl7 'liminando Z/Z inicial en nombres de ruta absolutos
A "ile7 home/"ulano
A oner7 "ulano
A group7 "ulano
user77rx
user7Cutano7r!x
group77!!!
mask77r!x
other77!!!
-ueden asignarse "er'isos diferentes "ara otros usuarios$ F(e'"lo)
set"acl !m u7perengano7rX /home/"ulano
Lo anterior establece .ue se aaden "er'isos de lectura! escritura % acceso al directorio /o'e/fulano "ara
el usuario "erengano$ Si utili,a O 'a%0scula se indicar& .ue se trata es"ec/fica'ente del bit de acceso en
lugar de acceso % e(ecucin$
-ara verificar lo anterior! se e(ecuta de nuevo el 'andato getfacl con la ruta del directorio 'odificado co'o
argu'ento)
get"acl /home/"ulano
Lo anterior devolver/a una salida si'ilar a la siguiente)
get"acl7 'liminando Z/Z inicial en nombres de ruta absolutos
A "ile7 home/"ulano
A oner7 "ulano
A group7 "ulano
user77rx
user7perengano7rx
user7Cutano7r!x
group77!!!
mask77rx
other77!!!
Fstos "er'isos .ue se establecieron en la lista de control de acceso del directorio 8home8fulano son
exclusiva'ente "ara #ste$ Cual.uier nuevo arcivo o directorio creado carecer& de estos nuevos "er'isos$
Si se desea .ue #stos "er'isos se vuelvan los "redeter'inados "ara los nuevos arcivos % directorios .ue
sean creados en lo sucesivo dentro del directorio /o'e/fulano! se e(ecuta el 'is'o 'andato setfacl! "ero
aadiendo la o"cin -d "ara definir .ue ser&n los "er'isos "redeter'inados "ara nuevos arcivos %
directorios$ F(e'"lo)
set"acl !d !m u7Cutano7rX /home/"ulano
set"acl !d !m u7perengano7rX /home/"ulano
Se reco'ienda utili,ar O 'a%0scula "ara indicar .ue slo se a"licar& el bit de acceso de a directorios
evitando a"licar el bit de e(ecucin a los arcivos$
2A5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Nota.
Lo anterior ta'bi#n se "uede acer en notacin octal)
set"acl !d !m u7Cutano7! /home/"ulano
set"acl !d !m u7perengano77 /home/"ulano
R la o"cin -d ta'bi#n se "uede integrar a los argu'entos)
set"acl !m -7u7Cutano7: /home/"ulano
set"acl !m -7u7perengano7$ /home/"ulano
R ade'&s si'"lificar estos 0lti'os dos 'andatos en un 0nico 'andato)
set"acl !m d7u7Cutano7:Bd7u7perengano7$ /home/"ulano
-ara verificar todo lo anterior! se e(ecuta de nuevo el 'andato getfacl con la ruta del directorio 'odificado
co'o argu'ento)
get"acl /home/"ulano
Lo anterior devolver/a una salida si'ilar a la siguiente)
get"acl7 'liminando Z/Z inicial en nombres de ruta absolutos
A "ile7 home/"ulano
A oner7 "ulano
A group7 "ulano
user77rx
user7perengano7rx
user7Cutano7r!x
group77!!!
mask77rx
other77!!!
de"ault7user77rx
de"ault7user7perengano7rx
de"ault7user7Cutano7r!x
de"ault7group77!!!
de"ault7mask77rx
de"ault7other77!!!
-ara a"licar los "er'isos de for'a descendente! se e(ecuta el 'andato setfacl con la o"cin -R
1'a%0scula3! la o"cin -m! gu!g!oh)gusuario!gru"oh)gr!*!O!xh % la ruta del directorio co'o argu'ento$ F(e'"lo)
set"acl !R !m u7Cutano7rX /home/"ulano
set"acl !R !m u7perengano7rX /home/"ulano
Fn el e(e'"lo anterior se utili, O 'a%0scula "ara indicar .ue slo se a"licar& el bit de acceso de a
directorios evitando a"licar el bit de e(ecucin a los arcivos$
2AA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Nota.
@a'bi#n "uede si'"lificar estos 0lti'os dos 'andatos en un 0nico 'andato)
set"acl !R !m u7Cutano7rXBu7perengano7rX /home/"ulano
Fn el e(e'"lo anterior se utili, O 'a%0scula "ara indicar .ue slo se a"licar& el bit de acceso de a directorios
evitando a"licar el bit de e(ecucin a los arcivos$
Lo anterior asignar/a "er'isos r-* "ara el usuario ,utano % rR* "ara el usuario "erengano sobre el directorio
8home8fulano + todo su contenidoG pero aplicando slo el bit de acceso a directorios + evitando
asignar bit de e%ecucin a los archivos.
-ara eli'inar los "er'isos de un usuario en "articular de la lista de control de acceso de un directorio en
"articular! se e(ecuta el 'andato setfacl con la o"cin -*! el no'bre del usuario o gru"o % la ruta del
directorio co'o argu'ento$ F(e'"lo)
set"acl !x perengano /home/"ulano
-ara acer lo 'is'o! "ero de for'a descendente! se e(ecuta el 'andato setfacl con la o"cin -R
1'a%0scula3! la o"cin -*! el no'bre del usuario o gru"o % la ruta del directorio co'o argu'ento$ F(e'"lo)
set"acl !R !x perengano /home/"ulano
-ara eli'inar los "er'isos "redeter'inados en la lista de control de acceso! se e(ecuta el 'andato setfacl
con la o"cin -O 166re'ove6default3 % la ruta del directorio co'o argu'ento$ F(e'"lo)
set"acl !k /home/"ulano
-ara eli'inar todos los "er'isos en la lista de control de acceso! de(ando todo co'o en el "unto inicial! se
e(ecuta el 'andato setfacl con la o"cin -b 166re'ove6all3 % la ruta del directorio co'o argu'ento$ F(e'"lo)
set"acl !b /home/"ulano
-ara acer lo 'is'o! "ero de for'a descendente! se e(ecuta el 'andato setfacl con la o"cin -R
1'a%0scula3! la o"cin -b 166re'ove6all3 % la ruta del directorio co'o argu'ento$ F(e'"lo)
set"acl !R !b /home/"ulano
-ara co"iar la lista de control de acceso de un arcivo % a"licarla en otro! se e(ecuta)
get"acl archivo1 R set"acl !!set!"ile+! archivo8
-ara co"iar la lista de control de acceso "rinci"al co'o la lista de control de acceso "redeter'inada! se
e(ecuta)
get"acl !!access /home/"ulano R set"acl !d !.! /home/"ulano
2AB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1. "so del mandato chattr.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1.!. Introduccin.
1.!.!. ;cerca del mandato chattr.
Fl 'andato chattr se utili,a "ara ca'biar los atributos de los siste'as de arcivos e*t!e*t, % e*t-$
Desde cierto "unto de vista! es an&logo al 'andato chmod! "ero con diferente sintaxis % o"ciones$ Utili,ado
adecuada'ente! dificulta las acciones en el siste'a de arcivos "or "arte de un intruso .ue a%a logrado
suficientes "rivilegios en un siste'a$
Fn la 'a%or/a de los casos! cuando un intruso consigue suficientes "rivilegios en un siste'a! lo "ri'ero .ue
ar& ser& eli'inar los registros de sus actividades 'odificando estructuras de los arcivos de bit&coras del
siste'a % otros co'"onentes$ Utili,ar el 'andato chattr cierta'ente no es obst&culo "ara un usuario
ex"erto! "ero! afortunada'ente! la gran 'a%or/a de los intrusos "otenciales no suelen ser ex"ertos en
GNU/Linux o Unix! de"endiendo enor'e'ente de diversos "rogra'as o guiones 1los deno'inados root'its %
zappers3 "ara eli'inar a.uello .ue "er'ita descubrir sus actividades$
Utili,ar el 'andato chattr! incluido en el "a.uete efsprogs! .ue se instala de for'a "redeter'inada en
todas las distribuciones de GNU/Linux "or tratarse de un co'"onente esencial! ace '&s dif/cil borrar o
alterar bit&coras! arcivos de configuracin % co'"onentes del siste'a$ @eodore @sto es el desarrollador %
.uien se encarga de 'antener efsprogs! 'is'o .ue se distribu%e ba(o los t#r'inos de la licencia
:N"8:7&! e inclu%e otras erra'ientas co'o e2fscK! e2label! fscK$ext2! fscK$ext8! fscK$ext=! 'Kfs$ext2!
'Kfs$ext8! 'Kfs$ext=! tune2fs % du'"e2fs! entre 'ucas otras$
Fl 'anual con la descri"cin co'"leta del uso del 'andato chattr "uede consultarse e(ecutando lo
siguiente)
man 1 chattr
U;L) tt")//e2fs"rogs$sourceforge$net/
1.. (pciones.
-R Ca'bia de 'anera descendente los atributos de directorios % sus contenidos$ Los
enlaces si'blicos .ue se encuentren! son ignorado
-J Salida de charttr '&s descri"tiva! 'ostrando ade'&s la versin del "rogra'a$
-v Jer el n0'ero de versin del "rogra'a$
1.,. (peradores.
2B9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
K Iace .ue se aadan los atributos es"ecificados a los atributos existentes de un
arcivo$
- Iace .ue se eli'inen los atributos es"ecificados de los atributos existentes de un
arcivo
V Iace .ue se ree'"lacen los atributos existentes "or los atributos es"ecificados$
1.-. ;tributos.
; Fstablece .ue la feca del 0lti'o acceso 1atime3 no se 'odifica$
a Fstablece .ue el arcivo slo se "uede abrir en 'odo de ad(untar "ara escritura$
c Fstablece .ue el arcivo es co'"ri'ido auto'&tica'ente en el disco "or el n0cleo
del siste'a o"erativo$ +l reali,ar lectura de este arcivo! se desco'"ri'en los
datos$ La escritura de dico arcivo co'"ri'e los datos antes de al'acenarlos en el
disco$
D Cuando se trata de un directorio! establece .ue los datos se escriben de for'a
sincrnica en el disco$ Fs decir! los datos se escriben in'ediata'ente en lugar de
es"erar la o"eracin corres"ondiente del siste'a o"erativo$ Fs e.uivalente a la
o"cin dirs+nc del 'andato mount! "ero a"licada a un subcon(unto de arcivos$
d Fstablece .ue el arcivo no sea candidato "ara res"aldo al utili,ar la erra'ienta
dump$
e ?ndica .ue el arcivo o directorio utili,a extensiones 1e6tents3 "ara la cartograf/a de
blo.ues en la unidad de al'acena'iento! "articular'ente de siste'as de arcivos
Fxt=$ Fl 'andato chattr es inca"a, de eli'inar este atributo$
i Fstablece .ue el arcivo ser& in'utable$ Fs decir! se i'"ide .ue el arcivo sea
eli'inado! reno'brado! .ue se "ueden a"untar enlaces si'blicos acia #ste o
escribir datos en el arcivo$
% Fn los siste'as de arcivos ext8 % ext=! cuando se 'ontan con las o"ciones
dataVordered o dataVRritebacO! se establece .ue el arcivo ser& escrito en el
registro "or diario 1Eournal3$ Si el siste'a de arcivos se 'onta con la o"cin
dataV%ournal 1o"cin "redeter'inada3! todo el siste'a de arcivos se escribe en el
registro "or diario % "or lo tanto el atributo no tiene efecto$
s Cuando un arcivo tiene este atributo! los blo.ues utili,ados en el disco duro son
escritos con ceros! de 'odo .ue los datos no se "uedan recu"erar "or 'edio
alguno$ Fs la for'a '&s segura de eli'inar datos$
9 Cuando el arcivo tiene este atributo! sus ca'bios son escritos de for'a sincrnica
en el disco duro$ Fs decir! los datos se escriben in'ediata'ente en lugar de es"erar
la o"eracin corres"ondiente del siste'a o"erativo$ Fs e.uivalente a la o"cin s+nc
del 'andato mount$
u Cuando un arcivo con este atributo es eli'inado! sus contenidos son guardados
"er'itiendo recu"erar el arcivo con erra'ientas "ara tal fin$
1... "so del mandato chattr.
chattr D!R(E X!+D5ac&diOsSuE D!v versiTnE archivos
1...!. /%emplos.
el siguiente 'andato agrega el atributo in'utable al arcivo algo.t*t$$
chattr Xi algo#txt
Jerifi.ue con el 'andato lsattr el atributo .ue a sido establecido$
2B7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
lsattr algo#txt
Si e(ecuta lo siguiente)
echo ,3ola mundo, Q algo#txt
Lo anterior devolver& un error! "uesto .ue el arcivo se a convertido en in'utable % "or lo tanto se i'"ide
su 'odificacin$
Fl siguiente 'andato eli'ina el atributo in'utable al arcivo algo.t*t$
chattr !i algo#txt
Jerifi.ue con el 'andato lsattr .ue se a eli'inado el atributo$
lsattr algo#txt
Fl siguiente 'andato agrega el 'odo de s/lo adjuntar "ara escritura al arcivo algo.t*t$
chattr Xa algo#txt
Jerifi.ue con el 'andato lsattr el atributo .ue a sido establecido$
lsattr algo#txt
Si e(ecuta lo siguiente)
echo ,3ola mundo, Q algo#txt
+l igual .ue con el atributo i! ser& i'"osible ree'"la,ar contenido$ Sin e'bargo! si e(ecuta lo siguiente)
echo ,3ola mundo, QQ algo#txt
Se "er'itir& aadir datos al arcivo algo.t*t$
Fl siguiente 'andato eli'ina el 'odo de slo ad(untar "ara escritura al arcivo algo.t*t$
chattr !a algo#txt
Jerifi.ue con el 'andato lsattr .ue se a eli'inado el atributo$
lsattr algo#txt
Si se tiene un siste'a de arcivos Fxt8! el siguiente 'andato establece .ue el arcivo algo.t*t slo tendr&
los atributos a! ;! s % 9$
chattr +a5sS algo#txt
2B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn siste'as de arcivos Fxt=! lo anterior sie'"re fallar& "or.ue es i'"osible eli'inar el atributo e con el
'andato chattr$ Fn su lugar! e(ecute lo siguiente)
chattr +ea5sS algo#txt
Jerifi.ue con el 'andato lsattr los atributos .ue an sido establecidos$
lsattr algo#txt
2B8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4. "so del mandato rpm.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
4.!. Introduccin.
4.!.!. ;cerca de R75.
R75 1R-: 7acKage 5anager! anterior'ente conocido co'o Red Iat 7acKage5anager! es un siste'a de
gestin de "a.uetes de e.ui"a'iento lgico "ara GNU/Linux % .ue est& considerado en la Base Fst&ndar
"ara Linux 1&inux 9tandard $ase o &9$3! "ro%ecto cu%o ob(etivo es desarrollar % "ro'over est&ndares "ara
'e(orar la co'"atibilidad entre las distribuciones de GNU/Linux "ara "er'itir a las a"licaciones ser
utili,adas en cual.uier distribucin$
;-: fue original'ente desarrollado "or Red DatG Inc. "ara su distribucin de GNU/Linux % a sido llevado
acia otra distribuciones de GNU/Linux % otros siste'as o"erativos$
;-: utili,a una base de datos .ue se al'acena dentro del directorio 8var8lib8rpm! la cual contiene toda la
'eta6infor'acin de todos los "a.uetes .ue son instalados en el siste'a % .ue es utili,ada "ara dar
segui'iento a todos los co'"onentes .ue son instalados$ Ysto "er'ite instalar % desinstalar li'"ia'ente
todo ti"o de a"licaciones! "rogra'as! bibliotecas co'"artidas! etc$ % gestionar sus de"endencias$
Fl 'andato rpm viene instalado de 'odo "redeter'inado en Cent(9! 2edora! Red Dat /nterprise &inu*
! 9u9/ &inu* /nterprise! open9u9/! 5andriva % las distribuciones derivadas de #stas$
4.. 7rocedimientos.
4..!. Reconstruccin de la base de datos de R75.
Ia% ciertos escenarios en donde se "uede corro'"er la base de datos de R75! c'o un sector daado en la
unidad de al'acena'iento "rinci"al$ Si el dao en el siste'a de arcivos lo "er'ite! la base de datos se
"uede reconstruir f&cil'ente utili,ando el siguiente 'andato)
rpm !!rebuilddb
4... Consulta de paCuetes instalados en el sistema.
Si se desea saber si est& instalado un "a.uete en "articular! se utili,a el 'andato rpm con la o"cin -C! .ue
reali,a una consulta 1query3 en la base de datos "or un no'bre de "a.uete en "articular$ Fn el siguiente
e(e'"lo! se utili,ar& el 'andato rpm "ara "reguntar a la base de datos si est& instalado el "a.uete
coreutils)
rpm !J coreutils
2B=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior debe devolver una salida si'ilar a la siguiente)
coreutils!6#4!16#el6#x66/64
Si se desea conocer .u# infor'acin inclu%e el "a.uete coreutils! se utili,a el 'andato rpm con las
o"ciones -Ci! "ara acer la consulta % solicitar infor'acin del "a.uete 1query info3$ Fn el siguiente e(e'"lo
se consulta la infor'acin del "a.uete coreutils)
rpm !Ji coreutils
Lo anterior debe devolver una salida si'ilar a la siguiente)
-ame 7 coreutils Relocations7 (not relocatable)
(ersion 7 6#4 (endor7 *ent0S
Release 7 16#el6 ;uild &ate7 mih %$ dic 8%11 1:7:47%1 *S1
)nstall &ate7 Oue 1$ may 8%18 8178$74$ *&1 ;uild 3ost7 c6b16n8#bsys#dev#centos#org
Iroup 7 System 'nvironment/;ase Source R=.7 coreutils!6#4!16#el6#src#rpm
SiCe 7 186@6$89 2icense7 I=2v@X
Signature 7 RS5/S351B Oue %6 dic 8%11 1@7:%71: *S1B Hey )& %946"ca8c1%:b9de
=ackager 7 *ent0S ;uildSystem ]http7//bugs#centos#orgQ
?R2 7 http7//#gnu#org/so"tare/coreutils/
Summary 7 5 set o" basic I-? tools commonly used in shell scripts
&escription 7
1hese are the I-? core utilities# 1his package is the combination o"
the old I-? "ileutilsB sh!utilsB and textutils packages#
-uede consultarse cu&les co'"onentes for'an "arte del "a.uete utili,ando el 'andato rpm con las
o"ciones -Cl! donde se reali,a una consulta listando los co'"onentes .ue lo integran 1query list3$ Co'o
e(e'"lo! si se desea conocer cu&les arcivos instal el "a.uete coreutils! e(ecute el siguiente 'andato)
rpm !Jl coreutils
Lo anterior debe devolver una salida 'u% extensa! si'ilar a la siguiente)
/bin/arch
/bin/basename
/bin/cat
/bin/chgrp
/bin/chmod
/bin/chon
/bin/cp
/bin/cut
/bin/date
###
/usr/share/man/man1/users#1#gC
/usr/share/man/man1/vdir#1#gC
/usr/share/man/man1/c#1#gC
/usr/share/man/man1/ho#1#gC
/usr/share/man/man1/hoami#1#gC
/usr/share/man/man1/yes#1#gC
Si se desea consultar a cu&l "a.uete "ertenece un arcivo instalado en el siste'a! se utili,a el 'andato
rpm con las o"ciones -Cf! .ue reali,an una consulta "or un arcivo en el siste'a de arcivos 1query file3$ Fn
el siguiente e(e'"lo se consultar& al 'andato rpm a .ue "a.uete "ertenece el arcivo 8bin8cp)
rpm !J" /bin/cp
Lo anterior debe devolver una salida si'ilar a la siguiente)
2B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
coreutils!6#4!16#el6#x66/64
Si desea consultar la lista co'"leta de "a.uetes instalados en el siste'a! utilice el siguiente 'andato!
donde -Ca significa consultar todo 1query all3)
rpm !Ja
Debido a .ue lo anterior devuelve una lista de'asiado grande "ara "oderla visuali,ar con co'odidad! "uede
utili,arse el 'andato less o bien el 'andato more! co'o subrutina)
rpm !Ja Rless
Si se .uiere locali,ar un "a.uete o "a.uetes en "articular! se "uede utili,ar el 'andato rpm con las
o"ciones -Ca % utili,ar grep co'o subrutina$ Fn el siguiente e(e'"lo se ace una consulta donde se .uiere
conocer .ue "a.uetes est&n instalado en el siste'a % .ue inclu%an la cadena utils en el no'bre$
rpm !Ja Rgrep utils
Lo anterior "udiera devolver una salida si'ilar a la siguiente)
pulseaudio!utils!%#9#81!1@#el6#x66/64
libselinux!utils!8#%#94!:#8#el6#x66/64
glx!utils!$#11!@#el6#x66/64
coreutils!6#4!16#el6#x66/64
xorg!x11!server!utils!$#:!:#8#el6#x66/64
pciutils!@#1#4!11#el6#x66/64
binutils!8#8%#:1#%#8!:#86#el6#x66/64
n"s!utils!lib!1#1#:!4#el6#x66/64
###
sg@/utils!libs!1#86!4#el6#x66/64
alsa!utils!1#%#81!@#el6#x66/64
db4!utils!4#$#8:!16#el6#x66/64
keyutils!libs!1#4!@#el6#x66/64
pciutils!libs!@#1#4!11#el6#x66/64
desktop!"ile!utils!%#1:!9#el6#x66/64
xorg!x11!xkb!utils!$#4!6#el6#x66/64
Si se .uiere revisar en orden cronolgico! de '&s nuevos a '&s antiguos! .ue "a.uetes est&n instalados! se
"uede agregar a -Ca la o"cin --last % less o more co'o subrutina "ara visuali,ar con co'odidad la salida$
rpm !Ja !!lastRless
Lo anterior devuelve una salida extensa dentro con less co'o visor$ -ulse la teclas de arriba 1d3 % aba%o
1e3 o ;v. 76g. % Reg. 76g. "ara des"la,arse en la lista$ -ulse la tecla C "ara salir$
Si se .uiere verificar si los co'"onentes instalados "or un "a.uete R75 an sido 'odificados o alterados o
eli'inados! se "uede utili,ar el 'andato rpm con la o"cin -J! la cual reali,a una verificacin de la
integridad de los co'"onentes de acuerdo a las fir'as digitales de cada co'"onente 1:D2SU: o su'a
:D23$ Fn el siguiente e(e'"lo se verificara si el "a.uete cups a sido alterado)
rpm !( cups
Si alg0n co'"onente fue 'odificado! "uede devolverse una salida si'ilar a la siguiente! donde se indica .ue
el arcivo 8etc8cups8printers.conf fue 'odificado des"u#s de la instalacin del "a.uete cu"s)
2B4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S#:####1 c /etc/cups/printers#con"
Si se desea reali,ar una verificacin de todos los co'"onentes del siste'a! se "uede utili,ar el 'andato
r"' con las o"ciones -Ja! .ue ace una consulta! es"ecifica todos los "a.uetes % solicita se verifi.ue si
ubo ca'bios 1query all 8erify3$
rpm !(a
Lo anterior "uede devolver una salida 'u% extensa! "ero sin duda alguna 'ostrar& todos los co'"onentes
.ue fueron 'odificados o alterados o eli'inados tras la instalacin del "a.uete al .ue "ertenecen$ Un
e(e'"lo de una salida co'0n ser/a)
#######1 c /etc/pki/nssdb/cert6#db
#######1 c /etc/pki/nssdb/key@#db
##:####1 c /etc/pki/nssdb/secmod#db
S#:####1 c /etc/crontab
#######1 c /etc/inittab
S#:####1 c /etc/rc#d/rc#local
S#:####1 c /etc/mail/access
S#:####1 c /etc/mail/local!host!names
S#:####1 c /etc/mail/sendmail#c"
S#:####1 c /etc/mail/sendmail#mc
4..,. Instalacin de paCuetes.
La 'a%or/a de los distribuidores serios de e.ui"a'iento lgico en for'ato ;-: sie'"re utili,an una fir'a
digital -G/Gnu-G 1GNU -rivac% Guard3 "ara garanti,ar .ue #stos son confiables % co'o un '#todo de evitar
.ue "a.uetes alterados! general'ente daados o con 'alas intenciones! "asen inadvertida'ente "or los
siste'as de gestin de "a.uetes co'o %u'! ,%""er! RaS@! etc$! sin ser detectados$ Las fir'as digitales de
los res"onsables de la distribucin sie'"re inclu%en fir'as digitales en el disco de instalacin o bien en
alguna "arte del siste'a de arcivos$ Fn el caso de Cent(9! 2edora % Red Dat /nterprise &inu*! las
fir'as digitales est&n dentro del directorio /etc/"Ki/r"'6g"g/$ +lgunos distribuciones "ueden tener estas
fir'as digitales os"edadas en alg0n servidor I@@- o >@-$ -ara i'"ortar una fir'a digital! se utili,a el
'andato rpm con la o"cin --import$ -ara e(e'"lificar! e(ecute lo siguiente)
rpm !!import http7//#alcancelibre#org/al/52!R=.!H'<
Lo anterior i'"orta la fir'a digital de ;lcance &ibre % "er'itir& detectar si un "a.uete de +lcance Libre fue
alterado o est& corru"to o si fue daado$
Cuando se instalan "a.uetes con fir'a digital validada en el anfitrin local! la salida es si'ilar a la
siguiente)
=reparando### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
17google!chrome!stable AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
Cuando se instalan "a.uetes sin fir'a digital validada en el anfitrin local! la salida es si'ilar a la siguiente)
advertencia7google!chrome!stable/current/x66/64#rpm7 *abecera(4
&S5/S351 SignatureB )& de clave $"ac:9917 -0H'<
=reparando### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
17google!chrome!stable AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
2B5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Descargue la fir'a digital de Google! la cual servir& "ara validar los "a.uetes "ara GNU/Linux en for'ato
;-: .ue distribu%e esta co'"a/a)
get https7//dl!ssl#google#com/linux/linux/signing/key#pub
?'"orte la fir'a digital de Google)
rpm !!import linux/signing/key#pub
Cuando se desee instalar un "a.uete con extensin Y.rpm! sie'"re es conveniente revisar dico "a.uete$
Ia% varias for'as de verificar su contenido antes de "roceder a instalado$ -ara fines de'ostrativos! ingrese
acia tt")//get$adobe$co'/es/flas"la%er/ % descargue el "a.uete
flash-plugin-!!..I.,0-release.*40U0-.rpm 1o bien el "a.uete
flash-plugin-!!..I.,0-release.i.40.rpm "ara siste'as de 82 bit3$
Una ve, descargado el "a.uete flash-plugin! se "uede verificar la infor'acin de #ste utili,ando el
'andato rpm con las o"ciones -Cpi 1query pac'age information! consultar infor'acin del "a.uete3! "ara
reali,ar la consulta es"ecificando .ue se trata de un "a.uete R75 en el siste'a de arcivos$
rpm !Jpi "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
Lo anterior debe devolver una salida si'ilar a la siguiente)
-ame 7 "lash!plugin Relocations7 (not relocatable)
(ersion 7 11#8#8%8#8@6 (endor7 5dobe Systems )nc#
Release 7 release ;uild &ate7 vie 11 may 8%18 %%7@@7:@ *&1
)nstall &ate7 (not installed) ;uild 3ost7 "rbld/lnx/%84
Iroup 7 5pplications/)nternet Source R=.7 "lash!plugin!11#8#8%8#8@6!release#src#rpm
SiCe 7 8%@8%4@9 2icense7 *ommercial
Signature 7 (none)
=ackager 7 5dobe Systems )nc#
?R2 7 http7//#adobe#com/donloads/
Summary 7 5dobe >lash =layer 11#8
&escription 7
5dobe >lash =lugin 11#8#8%8#8@6
>ully Supported7 .oCilla Sea.onkey 1#%XB >ire"ox 1#:XB .oCilla 1#$#1@X
Si se desea conocer .ue co'"onentes va a instalar un "a.uete R75 en "articular! se "uede utili,ar el
'andato rpm con las o"ciones -Cpl! "ara reali,ar la consulta! es"ecificar .ue se trata de un "a.uete R75 %
"ara solicitar la lista de co'"onentes 1query pac'age list3$ Fn el siguiente e(e'"lo se reali,a esta consulta
contra el "a.uete flash-plugin-!!..I.,0-release.*40U0-.rpm)
rpm !Jpl "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
Lo anterior debe devolver una salida si'ilar a la siguiente)
2BA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
/usr/bin/"lash!player!properties
/usr/lib64/"lash!plugin
/usr/lib64/"lash!plugin/2)*'-S'
/usr/lib64/"lash!plugin/R'5&.'
/usr/lib64/"lash!plugin/homecleanup
/usr/lib64/"lash!plugin/lib"lashplayer#so
/usr/lib64/"lash!plugin/setup
/usr/lib64/kde4/kcm/adobe/"lash/player#so
/usr/share/applications/"lash!player!properties#desktop
/usr/share/doc/"lash!plugin!11#8#8%8#8@6
/usr/share/doc/"lash!plugin!11#8#8%8#8@6/readme#txt
/usr/share/icons/hicolor/16x16/apps/"lash!player!properties#png
/usr/share/icons/hicolor/88x88/apps/"lash!player!properties#png
/usr/share/icons/hicolor/84x84/apps/"lash!player!properties#png
/usr/share/icons/hicolor/@8x@8/apps/"lash!player!properties#png
/usr/share/icons/hicolor/46x46/apps/"lash!player!properties#png
/usr/share/kde4/services/kcm/adobe/"lash/player#desktop
-ara verificar si las fir'as digitales de un "a.uete R75 son las 'is'as % el "a.uete est& /ntegro % sin
alteraciones! se "uede utili,ar el 'andato rpm con las o"cin -N! .ue solicita verificar fir'as digitales de un
"a.uete R75 19eys3)
rpm !H "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
Si el "a.uete est& integro! debe devolver una salida si'ilar a la siguiente)
"lash!plugin!11#8#8%8#8@6!release#x66/64#rpm7 sha1 md: ;)'-
Si el "a.uete ;-: fue daado! alterado o est& corru"to! "uede devolver una salida si'ilar a la siguiente)
"lash!plugin!11#8#8%8#8@6!release#x66/64#rpm7 (sha1) dsa sha1 .&: I=I NOT O.
-ara instalar un "a.uete! se utili,a el 'andato rpm con las o"ciones -ivh! .ue significa instalar! devolver
una salida descri"tiva % 'ostrar una barra de "rogreso 1install verbose as3$ Si el "a.uete est& exento de
conflicto con otro %/o res"eta sin sobre6escribir co'"onentes de otro "a.uete! se "roceder& a instalar el
'is'o$ Fn el siguiente e(e'"lo se instalar& el "a.uete flash-plugin-!!..I.,0-release.*40U0-.rpm)
rpm !ivh "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
+su'iendo .ue todas las de"endencias del "a.uete flash-plugin-!!..I.,0-release.*40U0-.rpm
est&n cubiertas! lo anterior debe devolver una salida si'ilar a la siguiente)
=reparing### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
17"lash!plugin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
Si ubiera una versin de #ste "a.uete instalada en el siste'a! rpm -ivh no reali,ar& la instalacin %
devolver& un 'ensa(e res"ecto a .ue la est& instalado dico "a.uete$ ;e"ita el siguiente 'andato)
rpm !ivh "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
+l %a estar instalado el "a.uete flash-plugin! el siste'a deber& devolver una salida si'ilar a la siguiente)
2BB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
=reparing### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
"lash!plugin!11#8#8%8#8@6!release#x66/64#rpm is already installed
Ia% circunstancias % escenarios donde se re.uiere reinstalar de nuevo el "a.uete$ -ara lograr #sto se
agrega la o"cin --force "ara for,ar la re6instalacin de un "a.uete$ Fn el siguiente e(e'"lo se solicita al
'andato rpm for,ar la re6instalacin de el "a.uete flash-plugin-!!..I.,0-release.*40U0-.rpm)
rpm !ivh !!"orce "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
Lo anterior debe devolver una salida si'ilar a la siguiente)
=reparing### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
17"lash!plugin AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
-ara verificar las de"endencias de un "a.uete descargado! se utili,a el 'andato rpm con las o"ciones -Cp %
--reCuires! la cual consulta las de"endencias del "a.uete$ Fn el siguiente e(e'"lo! se consultan las
de"endencias del "a.uete flash-plugin-!!..I.,0-release.*40U0-.rpm)
rpm !Jp !!reJuires "lash!plugin!11#8#8%8#8@6!release#x66/64#rpm
Lo anterior debe devolver una salida si'ilar a la siguiente)
glibc Q+ 8#4
/bin/sh
/bin/sh
/bin/sh
/bin/sh
rpmlib(=ayload>iles3ave=re"ix) ]+ 4#%!1
rpmlib(*ompressed>ile-ames) ]+ @#%#4!1
-ueden acerse consultas a la inversa de lo anterior! es decir! consultar al 'andato rpm .ue "a.uete
"rovee alguna de"endencia en "articular$ Fn el siguiente e(e'"lo se e(ecutar& el 'andato rpm "ara
consultar .u# "a.uete "rovee la de"endencia 8bin8sh$
rpm !J !!hatprovides /bin/sh
Lo anterior debe devolver una salida si'ilar a la siguiente)
bash!4#8#1%!4#"c14#al#x66/64
@a'bi#n "uede consultarse .u# re.uiere de un "a.uete o co'"onente en "articular$ Fn el siguiente e(e'"lo
se consulta al 'andato rpm .ue "a.uetes re.uieren al "a.uete bash$
rpm !J !!hatreJuires /bin/sh
Lo anterior "uede devolver una salida si'ilar a la siguiente)
899
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
rsyslog!4#6#@!@#"c14#x66/64
Oline!%#9#94!%#6#"c14#noarch
dracut!%%9!18#"c14#al#noarch
sendmail!6#14#:!8#"c14#al#8#x66/64
auto"s!:#%#:!@1#"c14#x66/64
cronie!1#4#6!8#"c14#x66/64
=ackageHit!command!not!"ound!%#6#81!@#"c14#al#x66/64
initscripts!9#8%#8!8#"c14#al#1#x66/64
De ser necesario! se "uede incluso acer consultas res"ecto a arcivos 1co'o bibliotecas co'"artidas3 "ara
conocer .ue "a.uetes de"enden de #stos$ Fn el siguiente e(e'"lo se consulta la 'andato rpm .ue
"a.uetes re.uieren a la biblioteca co'"artida libb3.so.!PQP0-bitQ 1utilice ^libb3.so.!_ en lugar de
^libb3.so.!PQP0-bitQ_ en siste'as de 82 bit3)
rpm !J !!hatreJuires ,libbC8#so#1()(64bit),
Lo anterior debe devolver una salida si'ilar a la siguiente % .ue consiste en una lista de "a.uetes R75
instalados en el siste'a .ue de"enden de la biblioteca co'"artida libb3.so.!PQP0-bitQ 1utilice
^libb3.so.!_ en lugar de ^libb3.so.!PQP0-bitQ_ en siste'as de 82 bit3)
bCip8!libs!1#%#:!$#el6/%#x66/64
bCip8!1#%#:!$#el6/%#x66/64
gnupg8!8#%#14!4#el6#x66/64
deltarpm!@#:!%#:#8%%9%91@git#el6#x66/64
python!8#6#6!89#el6#x66/64
libsemanage!8#%#4@!4#1#el6#x66/64
rpm!4#6#%!19#el6/8#1#x66/64
rpm!libs!4#6#%!19#el6/8#1#x66/64
rpm!python!4#6#%!19#el6/8#1#x66/64
elinks!%#18!%#8%#pre:#el6#x66/64
tokyocabinet!1#4#@@!6#el6#x66/64
libarchive!8#6#@!4#el6/8#x66/64
genisoimage!1#1#9!11#el6#x66/64
gnome!v"s8!8#84#8!6#el6#x66/64
libgs"!1#14#1:!:#el6#x66/64
gstreamer!plugins!bad!"ree!%#1%#19!8#el6#x66/64
yelp!8#86#1!1@#el6/8#x66/64
+cceda acia google$co'/cro'e % descargue el "a.uete google-chrome-stableUcurrentU*40U0-.rpm
1o bien descargue el "a.uete google-chrome-stableUcurrentUi,40.rpm "ara siste'as de 82 bit3$
-ara instalar o actuali,ar un "a.uete! se utili,a el 'andato rpm con las o"ciones 6Uv! .ue significa instalar
o actuali,ar! devolver una salida descri"tiva % 'ostrar una barra de "rogreso 1update, verbose, as3 % se
"rocede a instalar %/o actuali,ar el 'is'o)
rpm !?vh google!chrome!stable/current/x66/64#rpm
Si las de"endencias necesarias est&n instaladas en el siste'a! la salida ser& si'ilar la siguiente)
=reparando### AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
17google!chrome!stable AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA D1%%YE
Si faltan de"endencias "or satisfacer! el siste'a devolver& una salida si'ilar a la siguiente)
897
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
error7 'rror de dependencias7
lsb Q+ 4#% es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
libatk!1#%#so#% es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
libgcon"!8#so#4 es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
libXss#so#1 es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
libXcomposite#so#1 es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
libX"ixes#so#@ es necesario por google!chrome!stable!8%#%#11@8#4$!1446$6#i@66
Fvidente'ente se deben instalar "ri'ero los "a.uetes .ue cubran las de"endencias necesarias "ara "oder
instalar el "a.uete google-chrome-stableUcurrentU*40U0-.rpm$ Los "a.uetes necesarios "ueden estar
incluidos en el disco de instalacin o bien estar incluidos en los al'acenes de "a.ueter/a en l/nea$ Salvo .ue
se cono,can los "a.uetes corres"ondientes % se desee acer todo 'anual'ente! lo '&s reco'endable es
instalar las de"endencias a trav#s de el 'andato %u' 1CentGS! >edora % ;ed Iat Fnter"rise Linux3 o bien
los 'andatos %ast o ,%""er 1o"enSUSF % SUSF Linux Fnter"rise3$
+lgunos "a.uetes inclu%en guiones .ue e(ecutan "rocesos .ue "ueden ser re.ueridos "revio o "osterior a la
instalacin$ Si se desea o'itir la e(ecucin de estos guiones! se aade a rpm -ivh o rpm -"vh la o"cin
--noscripts$ Fn el siguiente e(e'"lo! se instalar& el "a.uete
google-chrome-stableUcurrentU*40U0-.rpm sin la e(ecucin de los guiones .ue "udieran estar definidos
dentro del "a.uete R75)
rpm !?vh !!noscripts google!chrome!stable/current/x66/64#rpm
4..,.!. Recuperacin de permisos originales a partir de rpm.
Fn circunstancias en las cuales se reali,aron ca'bios en los "er'isos en el siste'a de arcivos! es "osible
regresar #stos a los "er'isos originales de acuerdo a las es"ecificaciones de los "a.uetes R75
involucrados! e(ecutando el 'andato rpm con la o"cin --setperms! co'o se 'uestra en el siguiente
e(e'"lo)
rpm !!setperms paJuete
Jisualice el "er'iso actual del arcivo 8bin8cp e(ecutando lo siguiente)
ls !l /bin/cp
Lo anterior "uede devolver una salida si'ilar a la siguiente)
!rxr!xr!x# 1 root root 116696 dic $ 8%11 /bin/cp
Ca'bie el "er'iso del arcivo 8bin8cp e(ecutando lo siguiente)
chmod $%% /bin/cp
Juelva a visuali,ar el "er'iso del arcivo 8bin8cp e(ecutando lo siguiente)
ls !l /bin/cp
Lo anterior debe devolver una salida si'ilar a la siguiente)
!rx!!!!!!# 1 root root 116696 dic $ 8%11 /bin/cp
892
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl arcivo 8bin8cp "ertence al "a.uete coreutils % "uede confir'alo e(ecutando lo siguiente)
rpm !J" /bin/cp
Lo anterior debe devolver una salida si'ilar a la siguiente)
coreutils!6#4!16#el6#x66/64
Una ve, .ue se a deter'inado a cu&l "a.uete "ertenece! "ara recu"erar el "er'iso original del arcivo
8bin8cp! e(ecute lo siguiente)
rpm !!setperms coreutils
Juelva a ver el "er'iso de 8bin8cp e(ecutando lo siguiente)
ls !l /bin/cp
Lo anterior debe devolver una salida si'ilar a la siguiente % .ue corres"onde al "er'iso original del arcivo
8usr8bin8passRd)
!rxr!xr!x# 1 root root 116696 dic $ 8%11 /bin/cp
4..-. Desinstalacin de paCuetes.
-ara desinstalar "a.uetes! se utili,a el 'andato rpm con la o"cin 6e! .ue se utili,a "ara eli'inar! seguida
del no'bre del "a.uete$ Fn el siguiente e(e'"lo! se solicita al 'andato rpm desinstalar los "a.uetes nc %
Rget)
rpm !e nc get
Si se carece de de"endencias .ue lo i'"idan! el siste'a slo devolver& el s/'bolo de siste'a$
Si el "a.uete o alguno de sus co'"onentes fuera de"endencia de otro u otros "a.uetes! el siste'a
infor'ar& .ue es i'"osible desinstalar % devolver& la lista de "a.uetes .ue de"enden del .ue se est&
tratando de desinstalar$ Fn el siguiente e(e'"lo se intentar& desinstalar el "a.uete p+thon)
rpm !e python
Co'o el "a.uete p+thon es re.uerido "or 'ucos otros "a.uetes instalados en el siste'a! #ste devolver&
una salida si'ilar a la siguiente)
error7 'rror de dependencias7
python(abi) + 8#6 se necesita para (instalado) python!iniparse!%#@#1!8#1#el6#noarch
python(abi) + 8#6 se necesita para (instalado) python!pycurl!$#19#%!6#el6#x66/64
python(abi) + 8#6 se necesita para (instalado) python!urlgrabber!@#9#1!6#el6#noarch
python(abi) + 8#6 se necesita para (instalado) yum!metadata!parser!1#1#8!16#el6#x66/64
python(abi) + 8#6 se necesita para (instalado) pygpgme!%#1!16#8%%9%684bCr66#el6#x66/64
python(abi) + 8#6 se necesita para (instalado) net!python!%#:8#11!@#el6#x66/64
###
/usr/bin/python se necesita para (instalado) gnome!panel!8#@%#8!14#el6#x66/64
/usr/bin/python se necesita para (instalado) totem!8#86#6!8#el6#x66/64
/usr/bin/python se necesita para (instalado) system!con"ig!"ireall!1#8#8$!:#el6#noarch
/usr/bin/python se necesita para (instalado) redhat!lsb!4#%!@#el6#centos#x66/64
/usr/bin/python8 se necesita para (instalado) "irstboot!1#11%#11!1#el6#x66/64
898
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se desea desinstalar cual.uier "a.uete sin i'"ortar .ue otros de"endan de este! se "uede utili,ar agregar
la o"cin --nodeps$ Fsto es contraindicado % slo debe ser utili,ado en situaciones 'u% "articulares$ Fvite
sie'"re desinstalar "a.uetes .ue sean de"endencia de otros en el siste'a a 'enos .ue va%a a reinstalar
in'ediata'ente un "a.uete .ue cubra las de"endencias .ue se a%an visto afectadas$
89=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
[. "so del mandato +um.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
[.!. Introduccin
[.!.!. ;cerca de Z"5.
Z"5 1Zello* Dog ""dater! 5odified3 es una erra'ienta libre! escrita en -%ton! diseada "ara gestin de
"a.uetes en distribuciones de GNU/Linux .ue utili,an ;-:$ >ue desarrollado "or Set Jidal % otros
colaboradores % es 'antenido actual'ente co'o "arte del "ro%ecto LinuxuDULF de la Universidad de
DuKe$ Desde .ue Set Jidal traba(a en ;ed Iat! ?nc$! "rogra'adores de dica co'"a/a est&n i'"licados en
el desarrollo de %u' % an 'e(orado 'uco su funcionalidad % dese'"eo$
+ctual'ente es el gestor de "a.uetes de facto de CentGS! >edora % ;ed Iat Fnter"rise Linux % otras
distribuciones de GNU/Linux basadas sobre #stas$
+ctuali,ar el siste'a a"licando los '&s recientes "arces de seguridad % correctivos! es o% '&s f&cil
gracias a RU:$ Fl infierno de resolver de"endencias entre "a.uetes ;-: ter'in ace 'ucos aos$ +
continuacin! los "rocedi'ientos "ara utili,ar %u' % reali3ar f6cilmente lo .ue algunos deno'inan
^orrible, difcil y complicado$_
[.. 7rocedimientos
[..!. &istados.
Lo siguiente listar& todos los "a.uetes en la base de datos %u' dis"onibles "ara instalacin )
yum list available R less
Lo siguiente listar& todos los "a.uetes instalados en el siste'a)
yum list installed R less
Lo siguiente listar& slo las versiones instaladas en el siste'a del "a.uete Kernel)
yum list installed kernel
Lo siguiente listar& todos los "a.uetes instalados en el siste'a % .ue "ueden 1% deben3 actuali,arse)
yum list updates R less
892
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo siguiente listar& todos los "a.uetes instalados! dis"onibles % actuali,aciones)
yum list all R less
Lo siguiente listar& slo los "a.uetes instalados! dis"onibles % actuali,aciones cu%o no'bre coincida con la
ex"resin regular ^:tools:_)
yum list LtoolsL
Lo siguiente 'ostrar& la lista de todos los gru"os de "a.uetes dis"onibles en los al'acenes RU:)
yum grouplist
[... $)sCuedas.
;eali,ar una b0s.ueda de alg0n "a.uete o ex"resin regular en la base de datos en alguno de los
al'acenes RU: configurados en el siste'a)
yum search nombre!paJuete
F(e'"lo)
yum search cups
[..,. Consulta de informacin
Consultar la infor'acin contenida en un "a.uete en "articular))
yum in"o nombre!paJuete
F(e'"lo)
yum in"o cups
Consultar la lista de "a.uetes .ue confor'an un gru"o de "a.uetes en "articular)
yum groupin"o ,-ombre del Irupo,
Fl valor de ^;ombre del <rupo_ es de acuerdo a la lista 'ostrada "or la e(ecucin del 'andato +um
grouplist$
F(e'"lo)
yum groupin"o ,Servidor 4eb,
[..-. Instalacin de paCuetes
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! a "artir de los al'acenes en l/nea)
894
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
yum install nombre!paJuete
F(e'"lo)
yum install cups!pd"
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! sin verificacin de fir'as digitales! a
"artir de los al'acenes en l/nea)
yum install !!nogpgcheck nombre!paJuete
F(e'"lo)
yum install !!nogpgcheck cups!pd"
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! a "artir de los al'acenes en l/nea! sin
dialogo de confir'acin)
yum !y install nombre!paJuete
F(e'"lo)
yum !y install cups!pd"
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! locali,ados en el siste'a de arcivos
local)
yum localinstall _/&escargas/paJuete#rpm
F(e'"lo)
yum localinstall google!chrome!stable/current/x66/64#rpm
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! locali,ados en el siste'a de arcivos
local! sin dialogo de confir'acin)
yum !y localinstall _/&escargas/paJuete#rpm
F(e'"lo)
yum !y localinstall google!chrome!stable/current/x66/64#rpm
?nstalacin de "a.uetes con resolucin auto'&tica de de"endencias! sin verificacin de fir'as digitales!
locali,ados en el siste'a de arcivos local)
yum localinstall !!nopgpcheck _/&escargas/paJuete#rpm
F(e'"lo)
895
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
yum localinstall !!nopgpcheck K
google!chrome!stable/current/x66/64#rpm
?nstalacin de gru"os de "a.uetes con resolucin auto'&tica de de"endencias)
yum groupinstall ,-ombre del Irupo,
Fl valor de ^;ombre del <rupo_ es de acuerdo a la lista 'ostrada "or la e(ecucin del 'andato +um
grouplist$
F(e'"lo)
yum groupinstall ,Servidor 4eb,
?nstalacin de gru"os de "a.uetes con resolucin auto'&tica de de"endencias! sin dialogo de confir'acin)
yum !y groupinstall ,-ombre del Irupo,
F(e'"lo)
yum !y groupinstall ,Servidor 4eb,
De 'odo "redeter'inado! la instalacin de gru"os slo incluir& los "a.uetes obligatorios % los
"redeter'inados$ -ara instalar los "a.uetes o"cionales! algo "oco reco'endado! edite el arcivo
8etc8+um.conf)
vim /etc/yum#con"
+ada la o"cin groupUpacOageUt+pes con los valores defaultG mandator+G optional$ F(e'"lo)
DmainE
cachedir+/var/cache/yum/Fbasearch/Freleasever
keepcache+%
debuglevel+8
log"ile+/var/log/yum#log
exactarch+1
obsoletes+1
gpgcheck+1
plugins+1
installonly/limit+@
gro>'_'#&8#ge_$y'es=-e+#>)$B <#n-#$oryB o'$%on#)
A 1his is the de"aultB i" you make this bigger yum onZt see i" the metadata
A is neer on the remote and so youZll ,gain, the bandidth o" not having to
A donload the ne metadata and ,pay, "or it by yum not having correct
A in"ormation#
A )t is esp# importantB to have correct metadataB "or distributions like
A >edora hich donZt keep old packages around# )" you donZt like this checking
A interupting your command line usageB itZs much better to have something
A manually check the metadata once an hour (yum!updatesd ill do this)#
A metadata/expire+9%m
A =?1 <0?R R'=0S 3'R' 0R )- separate "iles named "ile#repo
A in /etc/yum#repos#d
[.... Desinstalacin de paCuetes
89A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fvite utili,ar la o"cin -+ al desinstalar "a.uetes! a 'enos .ue se est# seguro de las consecuencias$
-referente'ente sie'"re corrobore .u# es lo .ue se va a desinstalar antes de res"onder 9i o Zes$
-ara llevar a cabo la desinstalacin de "a.uetes! (unto con todo a.uello .ue de"enda de #stos)
yum remove nombre!paJuete
F(e'"lo)
yum remove cups!pd"
-ara llevar a cabo la desinstalacin de gru"os de "a.uetes con resolucin auto'&tica de de"endencias)
yum groupremove ,-ombre del Irupo,
Fl valor de ^;ombre del <rupo_ es de acuerdo a la lista 'ostrada "or la e(ecucin del 'andato +um
grouplist$
F(e'"lo)
yum groupremove ,Servidor 4eb,
[..0. ;ctuali3ar sistema.
-ara llevar a cabo la actuali,acin del siste'a! e(ecute)
yum update
-ara llevar a cabo la actuali,acin del siste'a! sin dialogo de confir'acin! e(ecute)
yum !y update
-ara llevar a cabo la actuali,acin del siste'a! o'itiendo los "a.uetes con de"endencias rotas! e(ecute)
yum !!skip!broken update
-ara llevar a cabo la actuali,acin de un solo "a.uete del siste'a! e(ecute)
yum update nombre!paJuete
F(e'"lo)
yum update cups
-ara llevar a cabo la actuali,acin de un solo "a.uete del siste'a! sin dialogo de confir'acin! e(ecute)
yum !y update nombre!paJuete
89B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
F(e'"lo)
yum !y update cups
+ctuali,acin de gru"os de "a.uetes con resolucin auto'&tica de de"endencias)
yum groupupdate ,-ombre del Irupo,
Fl valor de ^;ombre del <rupo_ es de acuerdo a la lista 'ostrada "or la e(ecucin del 'andato +um
grouplist$
F(e'"lo)
yum groupupdate ,;ase de datos .ySb2,
+ctuali,acin de gru"os de "a.uetes con resolucin auto'&tica de de"endencias! sin dialogo de
confir'acin)
yum !y groupupdate ,-ombre del Irupo,
F(e'"lo)
yum !y groupupdate ,;ase de datos .ySb2,
[..1. &impie3a del directorio de cache.
Ru' de(a co'o resultado de su uso 'etadatos % "a.uetes al'acenados dentro del directorio
8var8cache8+um8$ Cuando se establece la o"cin OeepcacheV! en el arcivo 8etc8+um.conf! los "a.uetes
;-: .ue se an instalado "ueden ocu"ar 'uco es"acio! "or lo cual conviene eli'inarlos$ De igual 'odo!
"eridica'ente conviene acer lo 'is'o con los 'etadatos vie(os detr&s de servidores "rox%6cace$
+ fin de reali,ar la li'"ie,a de todo el cace de RU: 1'etadatos! "a.uetes! etc$3! "uede e(ecutarse lo
siguiente)
yum clean all
+ fin de reali,ar slo la li'"ie,a de 'etadatos! "uede e(ecutarse lo siguiente)
yum clean metadata
+ fin de reali,ar slo la li'"ie,a de "a.uetes descargados! "uede e(ecutarse lo siguiente)
yum clean packages
[..4. Jerificacin de la base de datos R75.
-ara verificar la base de datos de ;-: en busca de de"endencias rotas! e(ecute)
879
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
yum check
877
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,I. Configuracin + uso de Crond.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,I.!. Introduccin.
,I.!.!. ;cerca del servicio crond.
Fl servicio crond es "ro"orcionado "or el "a.uete cronie 1utili,ado en CentGS 4! >edoraH! o"enSUSFH %
;ed IatH Fnter"rise Linux 43! el cual es un "ro%ecto derivado de vi*ie-cron 1utili,ado en CentGS 2! ;ed
IatH Fnter"rise Linux 2 % SUSFH Linux Fnter"rise 79 % 773 % .ue inclu%e 'e(oras en la configuracin % en la
seguridad! co'o la ca"acidad de utili,ar -+: % SFLinux$
Crond es un servicio del siste'a encargado de e(ecutar 'andatos en orarios deter'inados$ Los 'andatos
"rogra'ados "ueden definirse en el arcivo de configuracin 8etc8crontab$ Se "uede utili,ar ade'&s el
directorio 8etc8cron.d! el cual sirve "ara al'acenar arcivos con el 'is'o for'ato del arcivo
8etc8crontab$
Fl siste'a dis"one ade'&s de varios directorios utili,ados "or el servicio crond)
8etc8cron.dail+) todo lo .ue se colo.ue dentro de este directorios! se e(ecutar& una ve, todos
los d/as$
8etc8cron.ReeOl+) todo lo .ue se colo.ue dentro de este directorios! se e(ecutar& una ve,
cada se'ana$
8etc8cron.monthl+) todo lo .ue se colo.ue dentro de este directorios! se e(ecutar& una ve, al
'es$
Los arcivos contenidos en estos directorios slo "uede ser 'odificados "or root % "ueden incluir arcivos
e(ecutables con alg0n "rogra'a en B+SI o 'andatos "articulares$
Fl servicio utili,a ta'bi#n arcivos locali,ados dentro del directorio 8var8spool8cron! .ue son generados
"or los usuarios regulares a trav#s del 'andato crontab con la o"cin -e % .ue "er'iten a #stos el "oder
"rogra'ar 'andatos$
De 'odo "redeter'inado! todos los usuarios con int#r"rete de 'andatos "ueden utili,ar el servicio crond! a
trav#s del 'andato crontab % "rogra'ar! en los orarios .ue sean necesarios! los 'andatos a los .ue se
tengan "rivilegios$ Fs "osible restringir el uso de este servicio! aadiendo la lista de no'bres de los usuarios
a los cuales se re.uiera denegar el uso de #ste! dentro del arcivo 8etc8cron.den+ 1un no'bre de usuario
"or rengln3$
872
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl "a.uete corres"ondiente al servicio crond inclu%e diferentes 'anuales .ue describen el uso %
configuracin$ -ara obtener una descri"cin detallada del uso del 'andato crontab! e(ecute man !
crontab)
man 1 crontab
-ara obtener una descri"cin detallada del for'ato utili,ado "ara definir las fecas a utili,ar % una
descri"cin detallada de la configuracin del arcivo 8etc8crontab % el for'ato a seguir "ara los arcivos
.ue se al'acenen dentro de los directorios de configuracin 'encionados! e(ecute man . crontab)
man : crontab
,I.. /Cuipamiento lgico necesario.
De 'odo "redeter'inado! tras ser instalado! el servicio crond viene abilitado en los niveles de e(ecucin 2!
8! = % 2 % segura'ente estar& en e(ecucin$
Salvo .ue se a%a eco alg0n ca'bio en el arcivo 8etc8s+sconfig8crond! co'o "or e(e'"lo "ara aadir
alg0n argu'ento al inicio del servicio! es innecesario reiniciar el servicio$ La e(ecucin de los 'andatos
"rogra'ados se reali,a "rocesando el contenido de los arcivos % directorios de configuracin$
,I..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Si utili,a Cent(9 0 o Red DatF /nterprise &inu* 0 o versiones "osteriores de #stos! el "a.uete cronie
se inclu%e en la instalacin "redeter'inada$ De ser necesario! e(ecute lo siguiente "ara instalar el "a.uete
cronie)
yum !y install cronie
Si utili,a Cent(9 . o Red DatF /nterprise &inu* .! #stos siste'as o"erativos utili,an el "a.uete
vi*ie-cron! el cual se inclu%e en la instalacin "redeter'inada$ De ser necesario! e(ecute lo siguiente "ara
instalar el "a.uete vi*ie-cron)
yum !y install vixie!cron
-ara iniciar el servicio "or "ri'era ve, cuando reci#n se a instalado cronie! slo e(ecute)
service crond start
,I... /n open9"9/F.
Fl "a.uete cronie se inclu%e en la instalacin "redeter'inada de o"enSUSFH$ Si fuese necesario! instale el
"a.uete cronie e(ecutando lo siguiente)
yast !i cronie
-ara iniciar el servicio "or "ri'era ve, cuando reci#n se a instalado cronie! slo e(ecute)
rccron start
878
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,I..,. 9"9/F &inu* /nterprise.
Fl "a.uete cron 1alias vi*ie-cron3 se inclu%e en la instalacin "redeter'inada de SUSFH Linux Fnter"rise$
Si fuese necesario! instale el "a.uete cron e(ecutando lo siguiente)
yast !i cron
-ara iniciar el servicio "or "ri'era ve, cuando reci#n se a instalado cronie! slo e(ecute)
rccron start
,I..-. ;nacron.
-ara los siste'as donde es i'"osible .ue el servicio crond se e(ecute las 2= oras! los 842 d/as del ao!
co'o ocurre en los e.ui"os "ort&tiles % siste'as de escritorio! conviene instalar ade'&s el "a.uete
cronie-anacron! el cual se encarga de e(ecutar los 'andatos "rogra'ados "endientes .ue a%a sido
i'"osible "rocesar con el servicio crond! al estar #stos configurados en orarios en los cuales est# a"agado
o sus"endido el siste'a$
Cabe sealar .ue anacron de"ende de cronie o vi*ie-cron! seg0n corres"onda la versin del siste'a
o"erativo$
,I..-.!. Instalacin en Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Si utili,a CentGS 4! >edoraH o ;ed IatH Fnter"rise Linux 4! instale el "a.uete cronie-anacron! e(ecute lo
siguiente)
yum !y install cronie!anacron
;nacron se instala co'o un 'andato "rogra'ado cada ora$
Si utili,a CentGS 2 o ;ed IatH Fnter"rise Linux 2! instale el "a.uete anacron! e(ecute lo siguiente)
yum !y install anacron
Si utili,a CentGS 2 o ;ed IatH Fnter"rise Linux 2! el servicio anacron viene activo en los niveles de
e(ecucin 2! 8! = % 2$ -ara iniciarlo "or "ri'era ve,! e(ecute lo siguiente)
service anacron start
,I..-.. Instalacin en open9"9/F.
-ara instalar anacron! e(ecute lo siguiente)
yast !i cronie!anacron
;nacron se instala co'o un 'andato "rogra'ado cada ora$
,I.,. 7rocedimientos.
87=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,I.,.!. 2ormato para el archivo 8etc8crontab.
Cual.uier usuario .ue sea definido "ara e(ecutar un 'andato "rogra'ado en el arcivo 8etc8crontab! "odr&
e(ecutar todo a.uello "ara lo cual tenga "rivilegios! sie'"re % cuando se defina un int#r"rete de 'andatos
v&lido 1"or e(e'"lo 8bin8bash o 8bin8sh3 en la variable de entorno 9D/&&! as/ co'o las rutas de binarios
e(ecutables .ue sean necesarias! sin i'"ortar lo .ue est# definido en el arcivo 8etc8passRd o las variables
de entorno definidas en el arcivo ^8.bashrc del usuario a utili,ar$
SFELL=;b%n;b#sh
9ATF=;sb%n1;b%n1;>sr;sb%n1;>sr;b%n
.5)210+root
Fl arcivo 8etc8crontab "er'ite ade'&s definir a cu&l usuario enviar un 'ensa(e de correo electrnico con
los resultados de las salidas de los 'andatos .ue las generen % el int#r"rete de 'andatos a utili,ar$
S3'22+/bin/bash
=513+/sbin7/bin7/usr/sbin7/usr/bin
MA?LTO=#)g>%enKg<#%).&o<
Fl arcivo utili,a un for'ato de 5 ca'"os! donde se define! res"ectiva'ente! 'inuto! ora! d/a del 'es!
'es! d/a de la se'ana! usuario a utili,ar % el 'andato a e(ecutar
#!!!!!!!!!!!!!!!!!!!!!!!i .inuto (% ! :9)
R #!!!!!!!!!!!!!!!!!!!!i 3ora (% ! 8@)
R R #!!!!!!!!!!!!!!!!!i &Ma del mes (1 ! @1)
R R R #!!!!!!!!!!!!!!i .es (1 ! 18)
R R R R #!!!!!!!!!!!i &Ma de la semana (% ! 6) (domingo+% o $)B y
R R R R R tambihn acepta como valores7
R R R R R monB tueB edB thuB "riB sat y sun
R R R R R #!!!!!!!!i ?suario
R R R R R R #!i .andato a eOecutar
g g g g g g g
1 14 L L L "ulano /home/"ulano/bin/tarea#sh Q /dev/null 8QP1
,I.,.!.!. 2ormato e*clusivo de cronie.
+ diferencia de vi*ie-cron! con cronie se "ueden o'itir los "ri'eras 2 ca'"os % en su lugar utili,ar las
siguientes o"ciones)
ureboot 1e(ecutar una ve, des"u#s de reiniciar el siste'a3
u%earl% % uannuall% 1e(ecutar anual'ente! es decir) ^% % 1 1 L_3
u'ontl% 1e(ecutar 'ensual'ente! es decir) ^% % 1 L L_3
u*eeKl% 1e(ecutar se'anal'ente! es decir) ^% % L L %_3
udail% 1e(ecutar diaria'ente! es decir) ^% % L L L_3
uourl% 1e(ecutar cada ora! es decir) ^% L L L L_3
2ormato para utili3ar con el mandato crontab -e.
872
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
@odos los usuarios del siste'a "ueden e(ecutar el 'andato crontab con la o"cin -e! a exce"cin de
a.uellos .uienes tengan 8dev8null 1dis"ositivo nulo3 co'o int#r"rete de 'andatos o bien .ue se encuentren
listados en el arcivo 8etc8cron.den+$
-ara los usuarios .ue tengan 8sbin8nologin co'o int#r"rete de 'andatos! ser& necesario se defina
8bin8bash o 8bin8sh en la variable de entorno 9D/&& al inicio del arcivo cron corres"ondiente$ Con este
ti"o de usuarios! abr/a .ue e(ecutar lo siguiente "ara "oder acer uso del 'andato crontab$
su !l usuario !s /bin/bash !c ,crontab !e,
Fl for'ato "ara los usuarios! utili,ando el 'andato crontab con la o"cin -e! es el 'is'o .ue el del arcivo
8etc8crontab! "ero descartando la colu'na .ue define al usuario$
#!!!!!!!!!!!!!!!!!!!!!!!i .inuto (% ! :9)
R #!!!!!!!!!!!!!!!!!!!!i 3ora (% ! 8@)
R R #!!!!!!!!!!!!!!!!!i &Ma del mes (1 ! @1)
R R R #!!!!!!!!!!!!!!i .es (1 ! 18)
R R R R #!!!!!!!!!!!i &Ma de la semana (% ! 6) (domingo+% o $)B y
R R R R R tambihn acepta como valores7
R R R R R monB tueB edB thuB "riB sat y sun
R R R R R #!!!!!!!!i .andato a eOecutar
g g g g g g
1 14 L L L /home/"ulano/bin/tarea#sh Q /dev/null 8QP1
@odos los arcivos de cron generados "or los usuarios se al'acenan sie'"re dentro del directorio
8var8spool8cron! utili,ando el 'is'o no'bre del usuario co'o no'bre de arcivo$ Fs decir! los 'andatos
"rogra'ados "or el usuario fulano! se al'acenar&n en el arcivo 8var8spool8cron8fulano$
,I.,.. /%emplos de configuraciones.
Considerando el siguiente e(e'"lo)
1 1 L L L root "reshclam Q /dev/null 8QP1
Lo anterior significa .ue a las I!#I!! todos los d/as! todos los 'eses! todos los aos! todos los d/as de la
se'ana! se e(ecutar&! co'o el usuario root! el 'andato freshclam$ Se aade al final ^g 8dev8null gh!_
"ara .ue cual.uier dato generado "or la e(ecucin de este 'andato! se descarte % sea enviando al
dis"ositivo nulo del siste'a 18dev8null3 % .ue ta'bi#n se env/e la salida de 9<D/RR acia 9<D("<$
Considerando el siguiente e(e'"lo)
% 8@ L L : root yum !y update Q /dev/null 8QP1
Lo anterior significa .ue a las ,#II! todos los viernes! todos los 'eses! todos aos! se e(ecutar&! co'o el
usuario root! el 'andato +um -+ update$ +l igual .ue en el e(e'"lo anterior! se aade al final ^g
8dev8null gh!_ "ara .ue cual.uier dato generado "or la e(ecucin de este 'andato! se descarte % sea
enviando al dis"ositivo nulo del siste'a 18dev8null3 % .ue ta'bi#n ca'bie el direcciona'iento de 9<D/RR
acia 9<D("<$
Considerando el siguiente e(e'"lo)
L/: L L L L root /sbin/service httpd reload Q /dev/null 8QP1
874
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior significa .ue cada 2 'inutos se e(ecutar&! co'o el usuario root! el 'andato 8sbin8service
httpd reload$
Considerando el siguiente e(e'"lo)
L L/@ L L L root /sbin/service httpd reload Q /dev/null 8QP1
Lo anterior significa .ue cada 8 oras se e(ecutar&! co'o el usuario root! el 'andato 8sbin8service httpd
reload$
Considerando el siguiente e(e'"lo)
L L L/@ L L root /sbin/service httpd reload Q /dev/null 8QP1
Lo anterior significa .ue cada 8 d/as se e(ecutar&! co'o el usuario root! el 'andato 8sbin8service httpd
reload$
Considerando el siguiente e(e'"lo)
@% 1% 8% 8 L "ulano all ,j>eliC cumpleaNos a miW,
Lo anterior significa .ue a las !I#,I! cada I de febrero! todos lo aos! se e(ecutar&! co'o el usuario
fulano! el 'andato Rall 'W2eli3 cumpleaHos a miX'$
Considerando el siguiente e(e'"lo)
^reboot "ulano mail !s ,'l sistema ha reiniciado, alguien^gmail#com
Lo anterior significa .ue cada ve, .ue se reinicie el siste'a! se e(ecutar&! co'o el usuario fulano! el
'andato mail -s '/l sistema ha reiniciado'! 'is'o .ue enviar& con 'ensa(e de correo electrnico a
alguienigmail.com! con el asunto '/l sistema ha reiniciado'$
875
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,!. Configuracin + uso de ;td.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,!.!. Introduccin.
,!.!.!. ;cerca de los mandatos at + batch.
Los 'andatos at % batch se utili,an slo "ara "rogra'ar la e(ecucin de 'andatos de una sola ocasin$ Fn
el caso de .ue se re.uiera "rogra'ar 'andatos "ara ser e(ecutados "eridica'ente! se sugiere acerlo a
trav#s de crontab$
+'bos 'andatos inter"retan otros 'andatos directa'ente desde la entrada est&ndar 1S@D?N3 o a "artir de
un arcivo es"ecificado$ Fl 'andato at "er'ite es"ecificar .ue un 'andato sea e(ecutado a una ora %
feca es"ec/ficos$ Fl 'andato batch e(ecuta los 'andatos slo cuando descienden los niveles de carga de
traba(o del siste'a asta un nivel en "articular$ +'bos 'andatos utili,an el int#r"rete de 'andatos del
siste'a$
,!.. /Cuipamiento lgico necesario.
De 'odo "redeter'inado el servicio atd viene abilitado en los niveles de e(ecucin 2! 8! = % 2 %
segura'ente estar& en e(ecucin$
Salvo .ue se a%a eco alg0n ca'bio en el arcivo 8etc8s+sconfig8atd! co'o "or e(e'"lo "ara aadir
alg0n argu'ento al inicio del servicio! es innecesario reiniciar el servicio$ La e(ecucin de los 'andatos
"rogra'ados se reali,a "rocesando el contenido de los arcivos % directorios de configuracin
,!..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Si utili,a Cent(9 o Red DatF /nterprise &inu*! el "a.uete at se inclu%e en la instalacin
"redeter'inada$ De ser necesario! e(ecute lo siguiente "ara instalar el "a.uete at)
yum !y install at
-ara iniciar el servicio "or "ri'era ve,! en caso de .ue reci#n se a%a instalado atd! e(ecute)
service atd start
,!... /n open9"9/F + 9"9/F &inu* /nterprise.
Fl "a.uete at se inclu%e en la instalacin "redeter'inada de o"enSUSFH$ Si fuese necesario! instale el
"a.uete at e(ecutando lo siguiente)
87A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
yast !i at
-ara iniciar el servicio "or "ri'era ve,! en caso de .ue reci#n se a%a instalado at! e(ecute)
rcat start
,!.,. 7rocedimientos.
,!.,.!. ;rchivos de configuracin 8etc8at.alloR + 8etc8at.den+.
Fl arcivo 8etc8at.den+ se utili,a "ara definir una lista de usuarios a los cuales se les denegar& el uso del
'andato at$ Cuando este arcivo est& vac/o! i'"lica .ue todos los usuarios del siste'a "ueden acer uso
del 'andato at$
Fl arcivo 8etc8at.alloR es inexistente de 'odo "redeter'inado$ Cuando #ste existe! slo los usuarios
listados en su interior "ueden acer uso del 'andato at$
Fn ausencia del arcivo 8etc8at.alloR! el siste'a utili,ar& sie'"re 8etc8at.den+ "ara el control de acceso
al 'andato at$
Fn ausencia de los arcivos 8etc8at.alloR % 8etc8at.den+! slo el usuario root "uede acer uso del
'andato at$
,!.,.. Directorio 8var8spool8at.
@odos los 'andatos "rogra'ados con los 'andatos at % batch se al'acenan dentro del directorio
8var8spool8at$
,!.,.,. 5andato at.
Fl 'andato at se utili,a "ara e(ecutar 'andatos a una deter'inada ora % feca$
Fl 'andato at ace"ta oras en el for'ato DD#55$ Cuando se e(ecuta con una ora .ue %a a "asado! el
siste'a asu'e .ue se refiere al d/a siguiente$ @a'bi#n se "ueden es"ecificar valores co'o midnigt 1'edia
noce! 99)993! noon 172)993 o teatime 174)993$ F(e'"lo)
at 1$7@%
-ara es"ecificar la feca se utili,a el for'ato no'bre6del6'es d/a! sie'"re % cuando se es"ecifi.ue des"u#s
de la ora de e(ecucin$ F(e'"lo)
at 1678% Sep 8$
G"cional'ente ta'bi#n se "uede definir el ao$ F(e'"lo)
at 1678% Sep 8$ 8%14
@a'bi#n se "uede es"ecificar en el for'ato 55DD;;;;! 558DD8;;;; o DD.55.;;;;$ F(e'"los)
87B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
at 1%7@% %11:8%1:
at 1%7@% %1/1:/8%1:
at 1%7@% 1:#%1#8%1:
Los tres e(e'"los anteriores e(ecuta un 'andato el 72 de enero de 2972 a las 79)89 +:$
@a'bi#n es "osible utili,ar una ora es"ec/fica % establecer si se e(ecuta aora 1no*3 '&s unidades de
tie'"o! co'o oras 1urs3! d/as 1days3 % se'anas 1(ee's3$ F(e'"lo)
at 1%7@% no X 1: days
Lo anterior establece se e(ecute un 'andato a las 79)89 +: dentro de 72 d/as$
at 1%7@% no X 6 eeks
Lo anterior establece se e(ecute un 'andato a las 79)89 +: dentro de 4 se'anas$
@a'bi#n "er'ite establecer la e(ecucin utili,ando toda% 1o%3 % to'orro* 1'aana3 co'o argu'entos$
F(e'"lo
at 1878: tomorro
Fl for'ato co'"leto "ara la definicin de tie'"o se "uede consultar exa'inando el contenido del arcivo
8usr8doc8at8timespec$
Una ve, .ue se e(ecuta el 'andato at con alguna ora en "articular! se escribe en "antalla el 'andato o
con(unto de 'andato deseados$ -ara guardar el 'andato % salir del int#r"rete de 'andatos del 'andato at!
"ulse C@;L6D$
Utili,ando la o"cin -f se "uede utili,ar un arcivo es"ec/fico en lugar de la entrada est&ndar$
at 1%7@% today !" /home/usuario/bin/trabaOo#sh
Due es lo 'is'o .ue e(ecutar lo siguiente)
at 1%7@% today ] /home/usuario/bin/trabaOo#sh
Fl 'anual co'"leto del 'andato at "uede consultarse e(ecutando lo siguiente)
man 1 at
,!.,.-. 5andato batch.
Fl 'andato batch se utili,a "ara e(ecutar 'andatos cuando el nivel de carga del siste'a cae "or deba(o de
9$A! o bien el valor .ue se es"ecifi.ue con el 'andato atrun$ Fl 'andato batch "rescinde del uso de
argu'entos % slo "er'ite el uso de la o"cin -f "ara definir el no'bre de un arcivo "ara ser utili,ado en
lugar de la salida est&ndar$ F(e'"lo)
batch !" /home/usuario/bin/trabaOo#sh
Lo anterior es lo 'is'o .ue e(ecutar lo siguiente)
829
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
batch ] /home/usuario/bin/trabaOo#sh
-ara ca'biar el valor de la carga '&xi'o "ara "oder e(ecutar los 'andatos "rogra'ados con el 'andato
batc! se e(ecuta el 'andato atrun con la o"cin -l % el valor de carga deseado$ F(e'"lo)
atrun !l %#9
,!.,... 5andato atC.
Fl 'andato atC 'uestra una lista de todos los 'andatos "endientes$ Cuando se e(ecuta co'o usuario
regular! 'uestra exclusiva'ente los 'andatos "endientes de ese usuario en "articular$ F(e'"lo)
atJ
La salida de lo anterior `cuando a% 'andatos "endientes` "uede ser si'ilar a la siguiente$
$ 1ue Sep 8: 147@%7%% 8%18 a "ulano
: 1hu San 1: 1%7@%7%% 8%1: a "ulano
6 4ed Sep 86 147@%7%% 8%18 a root
6 1hu San 1: 1%7@%7%% 8%1: a Cutano
Fl 'andato atC es en realidad un ata(o del siguiente 'andato)
at !l
Cuando se e(ecuta co'o root! 'uestra todos los 'andatos "endientes de todos los usuarios$
,!.,.0. 5andato atrm.
Fl 'andato atrm se utili,a "ara eli'inar 'andatos "endientes! utili,ando el n0'ero de 'andato co'o
argu'ento$ F(e'"lo)
atrm 8
Lo anterior es lo 'is'o .ue e(ecutar lo siguiente)
at !d 8
827
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,. ;signacin de cuotas en el sistema de archivos.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
,.!. Introduccin.
La utili,acin de cuotas en el siste'a de arcivos "er'ite a los ad'inistradores de siste'as reali,ar la
gestin eficiente del es"acio co'"artido en disco "or '0lti"les usuarios$ Las cuotas restringen la ca"acidad
de los usuarios "ara acceder acia los recursos de siste'a! tales co'o blo.ues 1asignacin de unidades3! e
inodos 1entradas del siste'a de arcivos3$ Cuando una cuota es excedida se a"lica una "ol/tica deter'inada
"or el ad'inistrador$ Las cuotas se ad'inistran individual'ente "or cada siste'a de arcivos % son 0nicas
"ara usuarios %/o gru"os$
,.!.!. ;cerca de las cuotas.
Una cuota de disco es un l/'ite establecido "or un ad'inistrador! el cual restringe ciertos as"ectos del uso
del siste'a de arcivos$ Fl ob(etivo de las cuotas es li'itar! de for'a ra,onable! el es"acio utili,ado en el
siste'a de arcivos$ Suelen configurarse en servidores de correo electrnico! servidores I@@- con
anfitriones virtuales! servidores de arcivos! en algunos siste'as de escritorio % en cual.uier escenario
donde el ad'inistrador del siste'a necesite controlar el es"acio utili,ado "or lo usuarios en el siste'a de
arcivos$
,.!.. ;cerca de Inodos.
De acuerdo a QiKi"edia! un inodo! nodo6i o ta'bi#n nodo /ndice! es una estructura de datos "ro"ia de los
siste'as de arcivos en siste'as o"erativos ti"o -GS?O 17ortable ("erating 9%ste' Interface for Uni*3!
co'o GNU/Linux$ Un inodo contiene las caracter/sticas 1"er'isos! fecas % ubicacin3 de un arcivo regular!
directorio o cual.uier otro ele'ento .ue "ueda contener el siste'a de arcivos$
Cada inodo .ueda identificado en el siste'a de arcivos "or un n0'ero entero 0nico % los directorios
recogen una lista de "are(as for'adas "or un n0'ero de inodo % un no'bre identificativo .ue "er'ite
acceder a un arcivo en "articular$ Cada arcivo tiene un 0nico inodo! "ero "uede tener '&s de un no'bre
en distintos lugares o incluso en el 'is'o directorio! "ara facilitar su locali,acin$
,.!.,. ;cerca de $loCues.
De acuerdo a QiKi"edia! un blo.ue es la cantidad '&s "e.uea de datos .ue "ueden transferirse en una
o"eracin de entrada/salida entre la 'e'oria "rinci"al de una co'"utadora % sus dis"ositivos "erif#ricos o
viceversa$
,.. /Cuipamiento lgico necesario.
,..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
822
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl "a.uete Cuota viene incluido en la instalacin est&ndar$ Si se i,o una instalacin '/ni'a! "uede
instalarse e(ecutando lo siguiente)
yum !y install Juota
,... /n open9"9/F + 9"9/F /nterprise &inu*.
Fl "a.uete Cuota viene incluido en la instalacin est&ndar de 9"9/F &inu* /nterprise 9erver$ Si se i,o
una instalacin '/ni'a o bien se instal 9"9/F &inu* /nterprise DesOtop! "uede instalarse e(ecutando
lo siguiente)
yast !i Juota
,.,. 7rocedimientos.
Durante la instalacin debi asignarse una "articin dedicada "ara! "or 'encionar un e(e'"lo! los
directorios 8var % 8home$
Fdite el arcivo 8etc8fstab$
vi /etc/"stab
Si utili,a Cent(9 0! 2edoraF! Red DatF /nterprise &inu* 0 o 9"9/F &inu* /nterprise !!! "uede
utili,ar cuotas con registro "or diario 1journaled quotas3 sin 'odificar el n0cleo del siste'a o instalar otra
versin de .uota6tools$ Las cuotas con registro "or diario funcionan de 'odo si'ilar al registro "or diario de
los siste'as de arcivos Fxt8/Fxt=! garanti,ando la integridad de los arcivos de cuotas! lo cual evita .ue el
siste'a se vea obligado a e(ecutar auto'&tica'ente el 'andato CuotachecO des"u#s de un a"agado
incorrecto$
+ada a la colu'na de o"ciones de las "articiones 8var % 8home! la o"cin usr%Cuota con el valor
aCuota.user! la o"cin grp%Cuota con el valor aCuota.group % la o"cin %Cfmt con el valor vfsvI)
Si utili,a Cent(9! 2edoraF o Red DatF /nterprise &inu*! el siguiente es un e(e'"lo de c'o "udiera
.uedar la configuracin de las "articiones$
/dev/sda$ /var ext4 de"aultsB>srD,>o$#=#,>o$#.>serBgr'D,>o$#=#,>o$#.gro>'BD,+<$=*+s*6 1 8
/dev/sda: /home ext4 de"aultsB>srD,>o$#=#,>o$#.>serBgr'D,>o$#=#,>o$#.gro>'BD,+<$=*+s*6 1 8
Si utili,a open9"9/F o 9"9/F &inu* /nterprise &inu*! el siguiente es un e(e'"lo de c'o "udiera
.uedar la configuracin de las "articiones$
/dev/sda$ /var ext@ aclBuser/xattrB>srD,>o$#=#,>o$#.>serBgr'D,>o$#=#,>o$#.gro>'BD,+<$=*+s*6 1 8
/dev/sda: /home ext@ aclBuser/xattrB>srD,>o$#=#,>o$#.>serBgr'D,>o$#=#,>o$#.gro>'BD,+<$=*+s*6 1 8
Nota.
Si utili,a Cent(9 .! Red DatF /nterprise &inu* . o 9"9/F &inu* /nterprise !I! oficial'ente #stos carecen
de so"orte "ara cuotas con registro "or diario$ ;e.uieren un "arce en el n0cleo de Linux "ara "oder acer uso de
#stas$ Fn estos siste'as o"erativos slo se "ueden utili,ar cuotas sin registro por diario! "or lo cual slo se
deben aadir las o"ciones usrCuota % grpCuota en el arcivo 8etc8fstab! en la colu'na de o"ciones
corres"ondientes a las "articiones /var % /o'e$ F(e'"lo)
25;'2+/var /var ext@ de"aultsB>sr,>o$#Bgr',>o$# 1 8
25;'2+/home /home ext@ de"aultsB>sr,>o$#Bgr',>o$# 1 8
828
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Deben a"licarse los ca'bios a las "articiones! %a sea reiniciando el siste'a o bien e(ecutando los siguientes
'andatos)
mount !o remount /var
mount !o remount /home
Lo anterior vuelve a leer las o"ciones de 'ontado de cada una de las "articiones % a"lic& los ca'bios
in'ediata'ente$
F(ecute el 'andato CuotachecO con las o"ciones -avugcm! donde a significa .ue se verifican todos los
siste'as de arcivos con so"orte "ara cuotas! v significa .ue se devuelvan 'ensa(es descri"tivos! u
significa .ue se verifi.uen cuotas de usuario! g significa .ue se verifi.uen cuotas de gru"o! c significa o'itir
verificar arcivos de cuota "revios % crear nuevos arcivos % m significa .ue se evite re6'ontar en 'odo de
slo lectura los siste'as de arcivos! .ue ideal'ente se utili,a cuando se tiene "rocesos traba(ando en las
"articiones)
Juotacheck !avugcm
Fl 'anual del 'andato CuotachecO "uede consultarse e(ecutando lo siguiente)
man 6 Juotacheck
-ara activar las cuotas reci#n configuradas! asu'iendo .ue se est&n configurando las "articiones
corres"ondientes a /o'e % /var! e(ecute los siguientes dos 'andatos)
Juotaon /home
Juotaon /var
,.,.!. /dCuota.
Fl 'andato edCuota se utili,a "ara gestionar las cuotas asignadas a usuarios %/o gru"os$ Fl 'anual de #ste
"uede consultarse e(ecutando lo siguiente)
man 6 edJuota
Fs i'"ortante conocer .ue significa cada colu'na 'ostrada "or el 'andato edCuota$
$locOs# Blo.ues$ Corres"onde a la cantidad de blo.ues de 7 Lb .ue est& utili,ando el usuario$
Inodes# ?nodos$ Corres"onde al n0'ero de arcivos .ue est& utili,ando el usuario$ Un inodo 1ta'bi#n conocido
co'o ?ndex Node3 es un a"untador acia sectores es"ec/ficos en la unidad de al'acena'iento en los cuales se
encuentra la infor'acin de un arcivo$ Contiene ade'&s la infor'acin acerca de "er'isos de acceso as/ co'o
los usuarios % gru"os a los cuales "ertenece el arcivo$
9oft# Li'ite de gracia$ Li'ite de blo.ues de 7 LB o inodos .ue el usuario tiene "er'itido utili,ar % .ue "uede
rebasar asta .ue sea excedido el "eriodo de gracia 1de 'odo "redeter'inado son 5 d/as3$
Dard# Li'ite absoluto$ Li'ite .ue no "uede ser rebasado "or el usuario ba(o circunstancia alguna$
-ara asignar cuotas a cual.uier usuario regular! se e(ecuta el 'andato edCuota! es"ecificando co'o
argu'ento el no'bre del usuario$ F(e'"lo)
edJuota "ulano
82=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior deber& devolver algo si'ilar a lo siguiente)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks so"t hard inodes so"t hard
/dev/sda$ 6 % % 1 % %
/dev/sda: 84 % % 1% % %
-ara asignar cuotas a cual.uier gru"o de usuarios regulares! se se e(ecuta el 'andato edCuota con la
o"cin -g! es"ecificando co'o argu'ento el no'bre del gru"o$ F(e'"lo)
edJuota !g desarrollo
Lo anterior deber& devolver algo si'ilar a lo siguiente)
&isk Juotas "or group desarrollo (gid :1%)7
>ilesystem blocks so"t hard inodes so"t hard
/dev/sda$ 48@6 % % 8:1 % %
/dev/sda: 68@4 % % @4% % %
Cuando se asignan cuotas a gru"os! est&s definen los l/'ites en con(unto "ara todo el gru"o de usuarios .ue
"ertene,can a un gru"o deter'inado$
,.,.!.!. Cuota absoluta.
Su"oniendo .ue se .uiere asignar una cuota de disco de 29 :iB "ara el usuario ^fulano_ en en /dev/sda$ %
/dev/sda:! se utili,ar/a lo siguiente)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks so"t hard inodes so"t hard
/dev/sda$ 6 % :18%% 1 % %
/dev/sda: 84 % :18%% 1% % %
Fl usuario sie'"re "odr& rebasar una cuota de gracia "ero nunca una cuota absoluta$
,.,.!.. Cuota de gracia.
De 'odo "redeter'inado el siste'a asigna un periodo de gracia de 5 d/as! .ue se "uede 'odificar con el
'andato edCuota con la opcin -t#
edJuota !t
Donde se "uede establecer un nuevo "eriodo de gracia! %a sea "or d/as! oras! 'inutos o segundos$
Irace period be"ore en"orcing so"t limits "or users7
1ime units may be7 daysB hoursB minutesB or seconds
>ilesystem ;lock grace period )node grace period
/dev/hdb$ $days $days
/dev/hdb: $days $days
822
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La cuota de gracia establece los l/'ites de blo.ues o inodos .ue un usuario tiene en un siste'a de
arcivos en "articular$ Cuando el usuario excede el l/'ite establecido "or la cuota de gracia! el siste'a
advierte al usuario .ue se a excedido la cuota del disco sin e'bargo "er'ite al usuario continuar
escribiendo asta .ue trascurre el tie'"o establecido "or el "eriodo de gracia! tras el cual al usuario se le
i'"ide continuar escribiendo sobre el siste'a de arcivos$ Su"oniendo .ue .uiere asignar una cuota de
gracia de 22 :iB en /dev/sda$ % /dev/sda:! la cual "odr& ser excedida asta "or 5 d/as! se utili,ar/a la
siguiente configuracin)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks so"t hard inodes so"t hard
/dev/sda$ % 8:6%% % % % %
/dev/sda: 84 8:6%% % 1% % %
,.,.!.,. ;plicando cuotas de forma masiva.
Si se .uiere a"licar un 'is'o esu.e'a de cuotas de disco "ara todos los usuarios regulares del siste'a! a
"artir de U?D 297! "or 'encionar un e(e'"lo % asu'iendo .ue utili,ar& co'o "lantilla el es.ue'a de cuotas
de disco del usuario ^fulano_! e(ecute lo siguiente Pnote por favor los dos acentos graves en el
mandatoG pues se trata de un car6cter diferente al apostrofeQ)
edJuota !p "ulano aak !>7 ZF@ Q :%1 eprint F1fZ /etc/passda
,.-. Comprobaciones.
Utilice co'o root el 'andato edCuota "ara 'odificar los l/'ites del usuario fulano e(ecutando lo siguiente)
edJuota "ulano
+signe al usuario ^fulano_ una cuota de gracia de 22 :iB! una cuota absoluta de 29 :iB! un l/'ite de gracia
de 7999 arcivos % un l/'ite absoluto de 7299 arcivos! en todas las "articiones con cuota de disco
abilitada)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks so"t hard inodes so"t hard
/dev/sda$ % /!566 !3/66 % 3666 3!66
/dev/sda: 84 /!566 !3/66 1% 3666 3!66
Desde otra terminal o e(ecutando su -l fulano! acceda acia el siste'a co'o el usuario fulano o
cual.uier otro usuario regular existente en el siste'a$
Fl 'andato Cuota se utili,a "ara verificar las cuotas asignadas a usuarios %/o gru"os$ Fl 'anual de #ste
"uede consultarse e(ecutando lo siguiente)
man 1 Juota
C'o usuario regular! e(ecute el 'andato Cuota)
Juota
Gbserve con deteni'iento la salida)
824
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks Juota limit grace "iles Juota limit grace
/dev/sda$ 6 8:6%% :18%% 1 1%%% 1:%%
/dev/sda: 84 8:6%% :18%% 1% 1%%% 1:%%
;ealice una copia del directorio 8usr8lib co'o el sub6directorio ^8prueba-cuotas dentro de su directorio
de inicio)
cp !r /usr/lib _/prueba!cuotas
Notar& .ue llegar& un 'o'ento en el .ue el siste'a indicar& .ue %a no es "osible continuar co"iando
contenido dentro de ^8prueba-cuotas debido a .ue se a agotado el es"acio en el siste'a de arcivos$
"tilice de nuevo el 'andato Cuota % observe con deteni'iento la salida! en donde a"arecer& un asterisco
(usto (unto a la cantidad en las colu'nas de blo.ues %/o inodos! los cuales indican .ue se an excedido las
cuotas)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks Juota limit grace "iles Juota limit grace
/dev/sda$ 6 8:6%% :18%% 1 1%%% 1:%%
/dev/sda: !3/66L 8:6%% :18%% 5-#ys 3!66L 1%%% 1:%% 5-#ys
-ara "oder volver a escribir sobre el siste'a de arcivos! es necesario liberar es"acio$ Debido a .ue 'u%
"robable'ente "arte del contenido de 8usr8lib se co"i en 'odo de slo lectura! ca'bie "ri'ero los
"er'isos del contenido del directorio! a fin de dis"oner de "er'isos de lectura % escritura)
chmod !R uX _/prueba!cuotas
Fli'ine el directorio ^8prueba-cuotas! (unto con su contenido)
R! final'ente! vuelva a e(ecutar el 'andato Cuota)
rm !"r _/prueba!cuotas
R! final'ente! vuelva a e(ecutar el 'andato Cuota "ara verificar .ue nueva'ente se est& traba(ando dentro
de los l/'ites establecidos)
Juota
La salida debe ser nueva'ente si'ilar a la siguiente)
&isk Juotas "or user "ulano (uid :%1)7
>ilesystem blocks Juota limit grace "iles Juota limit grace
/dev/sda$ 6 8:6%% :18%% 1 1%%% 1:%%
/dev/sda: 84 8:6%% :18%% 1% 1%%% 1:%%
825
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,,. Introduccin a <C78I7
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
,,.!. Introduccin
@C-/?- fue desarrollado % "resentado "or el De"arta'ento de Defensa de FF$UU$ en 7B52 % fue a"licado en
;R7;N/< 1;dvanced Researc 7ro(ects ;genc% Net*orK3! .ue era la red de &rea extensa del De"arta'ento
de Defensa co'o 'edio de co'unicacin "ara los diferentes organis'os de FF$UU$ La transicin acia
@C-/?- en ;R7;N/< se concret en 7BA8$
Se conoce co'o familia de protocolos de Internet al con(unto de "rotocolos de red .ue son
i'"le'entados "or la "ila de "rotocolos sobre los cuales se funda'enta ?nternet % .ue "er'iten la
trans'isin de datos entre las redes de co'"utadoras$
Los dos "rotocolos '&s i'"ortantes % .ue fueron ta'bi#n los "ri'eros en definirse % ta'bi#n los '&s
utili,ados! son <C7 1-rotocolo de Control de @rans'isin o <rans'ission Control 7rotocol3 e I7 1-rotocolo de
?nternet o Internet 7rotocol3! de a/ .ue se deno'ine ta'bi#n co'o Con%unto de 7rotocolos <C78I7$ Los
ti"os de "rotocolos existentes su"eran los cien! ente los cuales "ode'os 'encionar co'o los '&s conocidos
a I@@-! >@-! S:@-! -G-! +;-! etc$
@C-/?- es la "latafor'a .ue sostiene ?nternet % .ue "er'ite la co'unicacin entre diferentes siste'as
o"erativos en diferentes co'"utadoras! %a sea sobre redes de &rea local 1L+N3 o redes de &rea extensa
1Q+N3$
,,.. Niveles de pila
Fn la actualidad contin0a la discusin res"ecto a si el 'odelo @C-/?- de cinco niveles enca(a dentro del
'odelo GS? 1?nterconexin de Siste'as +biertos u ("en9%ste's Interconnection3 de siete niveles$
5odelo Niveles
@C-/?- 2 +"licacin
= @rans"orte
8 ;ed
2 Fnlace
7 >/sico$
GS? 5 +"licacin
4 -resentacin
2 Sesin
= @rans"orte
8 ;ed
2 Fnlace de datos
7 >/sico
,,..!. 5odelo <C78I7
82A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utili,a enca"sula'iento "ara "roveer la abstraccin de "rotocolos % servicios acia diferentes ca"as en la
"ila$ La "ila consiste de cinco niveles)
Nivel Nombre Descripcin
2 ;plicacin Se co'"one de diversos "rotocolos de servicios co'o)
DN9 1Do'ain Na'e S%ste'3
<&9899& 1<rans"ort &a%er 9ecurit%3
<2<7 1<rivial 2ile <ransfer 7rotocol3
2<7 12ile <ransfer 7rotocol3
D<<7 1D%"er <ext <ransfer 7rotocol3
I5;7 1Internet 5esssage ;ccess 7rotocol3
IRC 1Internet Rela% Cat3
NN<7 1Net*orK Ne*s <ransfer 7rotocol3
7(7, 17ost (ffice 7rotocol3
9I7 19ession Iniciation 7rotocol3
95<7 19i'"le 5ail <ransfer 7rotocol3
9N57 19i'"le Net*orK 5anage'ent 7rotcol3
99D 19ecure 9hell3
</&N/<
$it<orrent
R<7 1Real6ti'e <rans"ort 7rotocol3
rlogin
/NR7 1/nd"oint Dandles"ace Redundanc% 7rotocol3
Los "rotocolos de enca'ina'iento co'o $:7 1$order :ate*a% 7rotocol3 % RI7 1Routing Infor'ation
7rotocol3 .ue utili,an trans"orte "or @C- % UD- res"ectiva'ente "ueden ser considerados co'o "arte
de este nivel$
= <ransporte Se co'"one de diversos "rotocolos de servicios co'o)
<C7 1<rans'ision Control 7rotocol3
"D7 1"ser Datagra' 7rotocol3!
DCC7 1Datagra' Congestion Control 7rotocol3
9C<7 19trea' Control <rans'ision 7rotococol3
82B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Nivel Nombre Descripcin
I& 1Internet &inK -rotocol! si'ilar a @C- "ero '&s si'"le3
R"D7 1Reliable "ser Datagra' 7rotocol3! etc$
Los "rotocolos co'o (972 1("en 9ortest 7at 2irst3! .ue corren sobre ?-! "ueden ser ta'bi#n
considerados co'o "arte de esta ca"a$ IC57 1Internet Control 5essage 7rotocol3 e I:57 1Internet
:rou" 5anage'ent 7rotocol3 .ue ta'bi#n utili,an ?-! "ueden ser considerados "arte del Nivel de ;ed$
8 Red Se co'"one de diversos "rotocolos de servicios co'o I7 1inclu%endo I7v- e I7v03$ -rotocolos co'o
;R7 1;ddress Resolution 7rotocol3 % R;R7 1Reverse ;ddress Resolution 7rotocol3 .ue o"eran "or
deba(o de ?-! "ero arriba del Nivel de enlace! de 'odo .ue "ertenecen a un "unto inter'edio entre el
Nivel de ;ed % el Nivel de Fnlace$
2 /nlace Co'"uesto de "rotocolos co'o)
/thernet
\i-2i
<oOen ring
777 1-oint6to6-oint 7rotocol3
9&I7 19erial &ine Internet 7rotocol3
2DDI 1>iber Distributed Data Interface3
;<5 1;s%ncronous <ransfer 7rotocol3
2rame Rela+
95D9 1S*itced 5ulti6'egabit Data 9ervices3
7 2sico :edio f/sico$
Los niveles '&s cercanos altos son los '&s cercanos al usuario! 'ientras .ue los .ue est&n '&s acia aba(o
se encuentran '&s cercanos a la trans'isin f/sica de los datos$ Salvo "or evidentes ra,ones en el "ri'er %
0lti'o niveles! cada nivel tiene un nivel su"erior % un nivel inferior .ue! res"ectiva'ente o bien utili,an un
servicio del nivel o "roveen un servicio$ Un '#todo de abstraccin "ara entender esto es 'irar los niveles
co'o "roveedores o consu'idores de servicios$ F(e'"lo) @C- en el nivel de trans"orte re.uiere un "rotocolo
del nivel de ;ed! co'o ser/a ?-v=! el cual a su ve, re.uiere de un "rotocolo del nivel de enlace! siendo @C-
un "roveedor de servicio "ara los "rotocolos del nivel de a"licacin$
,,..!.!. Nivel de aplicacin
Fs el nivel .ue utili,an los "rogra'as de red '&s co'unes a fin de co'unicarse a trav#s de una red$ La
co'unicacin .ue se "resenta en este nivel es es"ecifica de las a"licaciones % los datos trans"ortados
desde el "rogra'a .ue est&n en el for'ato utili,ado "or la a"licacin % van enca"sulados en un "rotocolo
del Nivel de <ransporte$ Siendo .ue el 'odelo @C-/?- no tiene niveles inter'edios! el nivel de +"licacin
debe incluir cual.uier "rotocolo .ue act0e del 'is'o 'odo .ue los "rotocolos del Nivel de 7resentacin %
Nivel de 9esin del 5odelo (9I$ Los "rotocolos del Nivel de @rans"orte '&s co'0n'ente utili,ados son
@C- % UD-! 'is'os .ue re.uieren un "uerto dis"onible % es"ec/fico "ara el servicio "ara los servidores %
"uertos ef/'eros$ +un.ue los enca'inadores 1routers3 e interru"tores 1s*itces3 no utili,an este nivel! las
a"licaciones .ue controlan el anco de banda si lo utili,an$
,,..!.. Nivel de <ransporte
889
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fste nivel "rinci"al'ente "rovee lo necesario "ara conectar a"licaciones entre si a trav#s de "uertos$
:ientras .ue ?- 1?nternet -rotocol3!del Nivel de ;ed! "rovee sola'ente la 'e(or for'a de entrega! el nivel de
trans"orte es el "ri'er nivel .ue se encarga de la fiabilidad$ De entre todos los "rotocolos de este nivel!
tanto @C- co'o UD- son utili,ados "ara trans"ortar un gran n0'ero de a"licaciones de alto nivel$ Las
a"licaciones en cual.uier nivel se distinguen a trav#s de los "uertos @C- o UD- .ue utilicen$
<C7.
Fl 'e(or e(e'"lo de este nivel es @C-! .ue es un "rotocolo orientado acia conexin .ue resuelve
nu'erosos "roble'as de fiabilidad "ara "roveer una trans'isin de b%tes fiable! %a .ue se encarga
de .ue los datos lleguen en orden! tenga un '/ni'o de correcciones de errores! se descarten datos
du"licados! se vuelvan a enviar los "a.uetes "erdidos o descartados e inclu%a control de congestin
de tr&fico$
La conexiones a trav#s de @C- tienen tres fases)
I. /stablecimiento de la cone*in
+ntes de .ue el cliente intente conectarse con el servidor! #ste 0lti'o debe "ri'ero ligarse
acia el "uerto "ara abrirlo "ara las conexiones! es decir! una apertura pasiva$ Una ve,
establecida! el cliente "uede iniciar la apertura activa$ Se re.uiere de un saludo de tres
eta"as)
7$ La a"ertura activa se reali,a enviando un "a.uete SRN 1sincroni,a3 acia el servidor$
2$ Fn res"uesta! el servidor res"onde con un "a.uete SRN6+CL 1confor'acin de
sincroni,acin3$
8$ >inal'ente el cliente env/a un "a.uete +CL 1confir'acin3 de regreso acia el
servidor$
Fn este "unto tanto cliente co'o servidor an recibido una confor'acin de la
conexin$
II. <ransferencia de datos
Ia% tres funciones clave .ue diferencian a @C- de UD-)
7$ @ransferencia de datos libre de errores$
2$ @ransferencia de datos ordenada$
8$ ;etrans'isin de "a.uetes "erdidos$
=$ Descartado de "a.uetes du"licados$
2$ +(uste en la congestin de la trans'isin de datos$
???$ <erminacin de la cone*in$
Fsta eta"a utili,a un saludo de tres v/as! con cada extre'o de la conexin ter'inando
inde"endiente'ente$ Cuando uno de los extre'os desea detener su "arte de la conexin!
env/a un "a.uete >?N! .ue la otra "arte confir'a con un "a.uete +CL$ -or tanto! una
interru"cin de la conexin re.uiere un "ar de "a.uetes >?N % +CL desde cada lado de la
conexin @C-$
Una conexin "uede .uedar abierta a 'edias cuando uno de los extre'os a ter'inado la
conexin desde su lado "ero el otro extre'o no$ Fl extre'o .ue ter'in la conexin %a no
"uede enviar datos en la conexin! "ero el el otro extre'o s/$
887
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl '#todo '&s co'0n es un saludo de tres eta"as donde un anfitrin + env/a un "a.uete >?N %
el anfitrin B res"onde con un "a.uete >?N % un +CL 1en el 'is'o "aso3 % el anfitrin +
res"onde con un "a.uete +CL$
@C- reali,a las siguientes eta"as en su ,calo)
7$ L?S@FN
2$ SRN6SFN@
8$ SRN6;FCF?JFD
=$ FS@+BL?SIFD
2$ >?N6Q+?@67
4$ >?N6Q+?@62
5$ CLGSF6Q+?@
A$ CLGS?NG
B$ L+S@6+CL
79$@?:F6Q+?@
77$CLGSFD
&I9</N re"resenta la conexin en es"era de "eticiones desde cual.uier "uerto @C- re'oto$
9ZN-9/N< re"resenta la es"era del @C- re'oto "ara enviar de regreso el "a.uete @C- estableciendo
banderas 9ZN % ;CN$ 9ZN-R/CIJ/D re"resenta la es"era "ara el @C- re'oto "ara enviar de regreso
la confir'acin des"u#s de aber enviado de regreso otra confir'acin de conexin al @C- re'oto
1establecido "or el servidor @C-3$ /9<;$&I9D/D re"resenta .ue el "uerto est& listo "ara recibir/enviar
datos desde/acia el @C- re'oto 1lo acen tanto clientes co'o servidores @C-3$ <I5/-\;I<
re"resenta el tie'"o de es"era necesario "ara asegurar .ue el @C- re'oto a recibido la confir'acin
de su solicitud de ter'inacin de la conexin$
"D7.
UD-! a veces referido sarc&stica'ente co'o 7nreliable Datagra' -rotocol 1-rotcolo no fiable de
datagra'a3! es un "rotocolo de datagra'a sin correccinZ no "rovee las garant/a de fiabilidad %
ordena'iento de @C- a los "rotocolos del Nivel de ;plicacin % los datagra'as "ueden llegar en
desorden o "erderse sin notificacin$ Co'o consecuencia de lo anterior es .ue UD- es un "rotocolo
'&s r&"ido % eficiente "ara tareas ligeras o sensibles al tie'"o una interfa, 'u% si'"le entre el Nivel
de Red % Nivel de ;plicacin$ Si se re.uiere alg0n ti"o de fiabilidad "ara los datos trans'itidos!
#sta debe ser i'"le'entada en los niveles su"eriores de la "ila$
+l igual .ue ?- % a diferencia de @C-! es un "rotocolo de 'e(or esfuer,o o no6fiable$ Fl 0nico "roble'a
de fiabilidad .ue resuelve es la correccin de errores en la cabecera % datos trans'itidos a trav#s de
un ca'"o de 74 bits "ara suma de verificacin 1cecKsu'3! una for'a de control de redundancia
con la finalidad de "roteger la integridad de datos verificando .ue no a%an sido corro'"idos$
La estructura de "a.uetes UD- consiste de = ca'"os$
7uerto de origen$ Fncargado de identificar el "uerto .ue env/a % .ue se asu'e ser& el
"uerto acia donde se env/a la res"uesta si se necesita$ Fste ca'"o es o"cional) si no se
utili,a! el valor del ca'"o debe ser 9$
7uerto de destino$ ?dentifica el "uerto de destino$ Fs obligatorio$
&ongitud$ Un ca'"o de 74 bits .ue es"ecifica la longitud del datagra'a co'"leto) cabecera
% datos$ La longitud '/ni'a es de A b%tes %a .ue es la longitud 'is'a de la cabecera$
9uma de verificacin$ Un ca'"o de 74 bits .ue se utili,a "ara verificar errores en cabecera
% datos$
882
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Las a"licaciones '&s co'unes .ue acen uso de este ti"o de "rotocolo son DNS! a"licaciones de
trans'isin de 'edios! vo, sobre ?- 1Jo?-3! @>@- % (uegos en l/nea$
9C<7.
SC@- es un mecanismo de transporte fiable orientado acia conexin$ Fst& orientado ta'bi#n
acia trans'isin de datos "ero no est& orientado acia b%tes co'o @C-$ -rovee '0lti"les
trans'isiones distribuidos sobre una 'is'a conexin$ -uede ade'&s re"resentar una conexin con
'0lti"les direcciones ?- de 'odo .ue si una ?- falla! la conexin no se interru'"e$ Se desarroll
inicial'ente "ara a"licaciones de telefon/a "ero se "uede utili,ar en otras a"licaciones$
DCC7.
DCC- se encuentra en fase de desarrollo % ba(o la tutela de la ?F@> 1?nternet Fngineering @asK >orce3
.ue "retende "roveer la se'&ntica de control de flu(o de @C- % el 'odelo de servicio de datagra'a de
UD- a la vista del usuario$
R<7.
;@- es un "rotocolo de datagra'a .ue fue diseado "ara datos en tie'"o real co'o la trans'isin de
audio % v/deo$ Fs un nivel de sesin .ue utili,a el for'ato de "a.uetes de UD- co'o base$ Sin
e'bargo se considera .ue este "rotocolo "udiera aco'odar deba(o del nivel de trans"orte del 'odelo
@C-/?-$
,,..!.,. Nivel de Red
Fste nivel resuelve el "roble'a de ca"turar los datos a trav#s de una red 0nica$ I7 1Internet 7rotocol3 reali,a
la tarea b&sica de ca"turar los "a.uetes de datos desde una fuente acia un destino$ ?- "uede trans"ortar
datos "ara una gran cantidad de "rotocolos del nivel su"erior 1Nivel de @rans"orte3$ Gtro e(e'"lo de
"rotocolo de este nivel es O$22! .ue es un con(unto de "rotocolos "ara redes Q+N utili,ando l/neas
telefnicas o siste'a ?SDN$
,,..!.-. Nivel de /nlace
Fste nivel no es real'ente "arte del Con%unto de 7rotocolos <C78I7! sino .ue es el '#todo utili,ado "ara
"asar "a.uetes desde el Nivel de ;ed sobre dos diferentes anfitriones$ Fste "roceso "uede ser controlado a
trav#s del e.ui"a'iento lgico utili,ado co'o controlador del dis"ositivo "ara una tar(eta de red as/ co'o
ta'bi#n sobre la 7rogramacin en firme 1>ir'*are3 o circuitos integrados auxiliares 1ci"sets3$ Fstos
"rocesos reali,ar&n funciones de enlace de datos tales co'o aadir una cabecera de "a.uete "ara "re"arar
la trans'isin % entonces trans'itir el todo a trav#s de un 'edio f/sico$
Fste nivel es donde los "a.uetes son interce"tados % enviados acia una ;ed -rivada Jirtual 1J-N3$ Cuando
esto se lleva a acabo! los datos del Nivel de Fnlace se consideran co'o los datos de la a"licacin % "rocede
descendiendo "or la "ila del 'odelo @C-/?- "ara reali,ar la verdadera trans'isin$ Fn el extre'o rece"tor!
los datos suben "or la "ila del 'odelo @C-/?- dos veces! una "ara la J-N % otra "ara el enca'ina'iento
1routing3$
,,..!... Nivel 2sico
+l igual .ue el Nivel de Fnlace! no es real'ente "arte del Con%unto de 7rotocolos <C78I7$ Conte'"la
todas las caracter/sticas f/sicas de la co'unicacin co'o la naturale,a del 'edio! detalles de conectores!
cdigo de canales % 'odulacin! "otencias de seal! longitudes de onda! sincroni,acin % tie'"o de vida as/
co'o distancias '&xi'as$
888
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,,... 5odelo (9I
Fl Con%unto de 7rotocolos <C78I7 1% su corres"ondiente "ila3 an sido utili,ados antes de .ue se
estableciera el 'odelo GS? 1?nterconexin de Siste'as +biertos u ("en 9%ste's Interconnection3 % desde
entonces el 'odelo @C-/?- a sido co'"arado con el 'odelo GS? tanto en libros co'o en instituciones
educativas$ +'bas se relacionan "ero no son e.ui"arables$ Fl 'odelo GS? utili,a siete niveles! 'ientras .ue
el 'odelo @C-/?- utili,a cinco$ Los dos niveles .ue acen la diferencia en el :odelo GS? son el Nivel de
7resentacin % el Nivel de 9esin! 'is'os .ue "odr/an ser e.uivalentes al Nivel de ;plicacin del
'odelo @C-/?-$
Del 'is'o 'odo .ue la "ila del 'odelo @C-/?-! el 'odelo GS? no es lo suficiente'ente diverso en los niveles
inferiores "ara abarcar las verdaderas ca"acidades del Con%unto de 7rotocolos <C78I7$ Un claro e(e'"lo
es .ue falta un nivel inter'edio "ara aco'odar entre el Nivel de Red % el Nivel de <ransporte "ara "oder
deter'inar donde corres"onden los "rotocolos ?C:- e ?G:- % otro nivel inter'edio entre el Nivel de Red %
el Nivel de <ransporte "ara deter'inar donde corres"onden los "rotocolos +;- % ;+;-$
Nivel Nombre Descripcin
5 ;plicacin I@@-! S:@-! SN:-! >@-! @elnet! S?-! SSI! N>S! ;@S-! B577 1F*tensible 5essaging and 7resence
7rotocol3! Qois! FN;- @elnet$
4 7resentacin BDR 1F*ternal Data Re"resentation3! ;9N.! 1;bstract 9%ntax Notation 73! 95$ 19erver 5essage
$locK3!;27 1;""le 2iling 7rotocol3! NC7 1NetQare Core 7rotocol3
2 9esin ;9;7 1;ggregate 9erver ;ccess 7rotocol3! @LS! SSI! ?SG A825 / CC?@@ O$222! R7C 1Re'ote
7rocedure Call3! Net$I(9! ;97 1;""letalK 9ession 7rotocol3! QinsocK! BSD socKets
= <ransporte @C-! UD-! ;@-! SC@-! S-O! +@-! ?L
2 /nlace de datos Fternet! @oKen ring! IDLC! >ra'e rela%! ?SDN! +@:! A92$77 Qi>i! >DD?! ---
7 2sico Define todas las es"ecificaciones f/sicas % el#ctricas de los dis"ositivos! co'o son dis"osicin de
"ines! volta(es! es"ecificaciones de cableado! concentradores! re"etidores! ada"tadores de red!
etc$
Cable! Radio! fibra ptica! Red por palomas$
Los niveles 5 al = se clasifican co'o niveles de anfitrin! 'ientras .ue los niveles inferiores del 7 al 8 se
clasifican co'o niveles de medios$
88=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,-. Introduccin a I7 versin -
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
,-.!. Introduccin.
I7v- es la versin = del -rotocolo de ?nternet 1I7 o Inernet 7rotocol3 % constitu%e la "ri'era versin de ?-
.ue es i'"le'entada de for'a extensiva$ I7v- es el "rinci"al "rotocolo utili,ado en el Nivel de ;ed del
:odelo @C-/?- "ara ?nternet$ >ue descrito inicial 'ente en el ;>C 5B7 elaborado "or la >uer,a de @raba(o en
?ngenier/a de ?nternet 1I/<2 o Internet /ngineering <asK 2orce3 en Se"tie'bre de 7BA7! docu'ento .ue de(
obsoleto al ;>C 549 de Fnero de 7BA9$
?-v= es un "rotocolo orientado acia datos .ue se utili,a "ara co'unicacin entre redes a trav#s de
interru"ciones 1s*itces3 de "a.uetes 1"or e(e'"lo a trav#s de Fternet3$ @iene las siguientes
caracter/sticas)
a Fs un "rotocolo de un servicio de datagra'as no fiable 1ta'bi#n referido co'o de mejor esfuerzo3$
a No "ro"orciona garant/a en la entrega de datos$
a No "ro"orciona ni garant/as sobre la correccin de los datos$
a -uede resultar en "a.uetes du"licado o en desorden$
@odos los "roble'as 'encionados se resuelven en el nivel su"erior en el 'odelo @C-/?-! "or e(e'"lo! a
trav#s de <C7 o "D7$
Fl "ro"sito "rinci"al de I7 es "roveer una direccin 0nica a cada siste'a "ara asegurar .ue una
co'"utadora en ?nternet "ueda identificar a otra$
,-.. Direcciones.
I7v- utili,a direcciones de 82 bits 1= b%tes3 .ue li'ita el n0'ero de direcciones "osibles a utili,ar a
=!2B=!B45!2B2 direcciones 0nicas$ Sin e'bargo! 'ucas de estas est&n reservadas "ara "ro"sitos
es"eciales co'o redes "rivadas! 5ultidifusin 1:ulticast3! etc$ Debido a esto se reduce el n0'ero de
direcciones ?- .ue real'ente se "ueden utili,ar! es esto 'is'o lo .ue a i'"ulsado la creacin de I7v0
1actual'ente en desarrollo3 co'o ree'"la,o eventual dentro de algunos aos "ara I7v-$
,-..!. Representacin de las direcciones.
Cuando se escribe una direccin I7v- en cadenas! la notacin '&s co'0n es la decimal con puntos$ Ia%
otras notaciones basadas sobre los valores de los octetos de la direccin ?-$
Utili,ando co'o e(e'"lo) ***$alcancelibre$org .ue tiene co'o direccin ?- 297$747$7$224 en la notacin
deci'al con "untos)
882
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Notacin Jalor Conversin desde decimal con puntos
Deci'al con "untos 297$747$7$224 6
Iexadeci'al con
"untos
9xCB$9x+7$9x97$9xF2 Cada octeto de la direccin es convertido
individual'ente a exadeci'al$
Gctal con "untos 9877$92=7$9997$98=2 Cada octeto es convertido individual'ente a
octal$
Binario con "untos 77997997$79799997$99999997$77799979 Cada octeto es convertido individual'ente a
binario
Iexadeci'al 9xCB+797F2 Concatenacin de los octetos de exadeci'al
con "untos$
Deci'al 88A25527B= La for'a exadeci'al convertida a deci'al$
Gctal 877292995=2 La for'a exadeci'al convertida a octal$
Binario 77997997797999979999999777799979 La for'a exadeci'al convertida a binario$
Te/ricamente! todos estos for'atos 'encionados deber/an ser reconocidos "or los navegadores 1sin
co'binar3$ +de'&s! en las for'as con "untos! cada octeto "uede ser re"resentado en co'binacin de
diferentes bases$ F(e'"lo) 297$92=7$9x97$224$
,-.,. ;signacin
Desde 7BB8 rige el es.ue'a CIDR 1Classless Inter6Do'ain Routing o Fnca'ina'iento ?nter6Do'inios sin
Clases3 cu%a "rinci"al venta(a es "er'itir la subdivisin de redes % "er'ite las entidades sub6asignar
direcciones ?-! co'o ar/a un ?S- con un cliente$
Fl "rinci"io funda'ental del enca'ina'iento 1routing3 es .ue la direccin codifica infor'acin acerca de
locali,acin de un dis"ositivo dentro de una red$ Fsto i'"lica .ue una direccin asignada a una "arte de una
red no funcionar& en otra "arte de la red$ Fxiste una estructura (er&r.uica .ue se encarga de la asignacin
de direcciones de ?nternet alrededor del 'undo$ Fsta estructura fue creada "ara el CIDR % asta 7BBA fue
su"ervisada "or la I;N; 1Internet ;ssigned Nu'bers ;utorit% o +gencia de +signacin de N0'eros
?nternet3 % sus RIR 1Regional Internet Registries o ;egistros ;egionales de ?nternet3$ Desde el 7A de
Se"tie'bre de 7BBA la su"ervisin est& a cargo de la IC;NN 1Internet Cor"oration for ;ssigned Na'es and
Nu'bers o Cor"oracin de ?nternet "ara los No'bres % N0'eros +signados3$ Cada RIR 'antiene una base
de datos \D(I9 dis"onible al "ublico % .ue "er'ite acer b0s.uedas .ue "roveen infor'acin acerca de
las asignaciones de direcciones ?-$ La infor'acin obtenida a "artir de estas b0s.uedas (uega un "a"el
central en nu'erosas erra'ientas las cuales se utili,an "ara locali,ar direcciones ?- geogr&fica'ente$
,-.,.!. $loCues reservados.
$loCues de direcciones reservadas
$loCue de direcciones CIDR Descripcin Referencia
9$9$9$9/A ;ed actual 1solo v&lido co'o direccin de origen3 ;>C 7599
79$9$9$9/A Red 7rivada ;>C 7B7A
7=$9$9$9/A ;ed de datos "0blicos ;>C 7599
8B$9$9$9/A ;eservado ;>C 75B5
725$9$9$9/A +nfitrin local 1localost3 ;>C 7599
72A$9$9$9/74 ;eservado
74B$22=$9$9/74 Red 7rivada 1Neroconf3 ;>C 8B25
752$74$9$9/72 Red 7rivada ;>C 7B7A
884
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
$loCue de direcciones CIDR Descripcin Referencia
7B7$222$9$9/74
7B2$9$9$9/2=
7B2$9$2$9/2= ;ed de "ruebas ;>C 8889
7B2$AA$BB$9/2= ;etrans'isin desde I7v0 acia I7v- ;>C 894A
7B2$74A$9$9/74 Red 7rivada ;>C 7B7A
7BA$7A$9$9/72 -ruebas de dese'"eo de red ;>C 22==
228$222$222$9/2= ;eservado ;>C 8889
22=$9$9$9/= :ultidifusin 1:ulticast! antes red Clase D3 ;>C 8757
2=9$9$9$9/= ;eservado 1+ntes red Clase F3 ;>C 7599
222$222$222$222 Difusiones 1Broadcast3
,-.,.!.!. Redes privadas.
De los '&s de cuatro mil millones de direcciones "er'itidas "or I7v-! tres rangos est&n es"ecial'ente
reservados "ara utili,arse sola'ente en redes "rivadas$ Fstos rangos no tienen enca'ina'iento fuera de
una red "rivada % las '&.uinas dentro de estas redes "rivadas no "ueden co'unicarse directa'ente con las
redes "0blicas$ -ueden! sin e'bargo! co'unicarse acia redes "0blicas a trav#s de la @raduccin de
Direcciones de ;ed o N;< 1Net*orK ;ddress <ranslation3$
$loCues reservados para redes privadas
Nombre Rango de direcciones I7
Numero de
direcciones I7
<ipo de clase
$loCue CIDR
ma+or
Blo.ue de
2=bits
79$9$9$9 v 79$222$222$222 74!555!272 Wnica clase + 79$9$9$9/A
Blo.ue de
29bits
752$74$9$9 v 752$87$222$222 7!9=A!254
74 clases B
contiguas
752$74$9$9/72
Blo.ue de
74bits
7B2$74A$9$9 v
7B2$74A$222$222
42!282
224 clases C
contiguas
7B2$74A$9$9/74
,-.,.!.. ;nfitrin local P&ocalhostQ
+de'&s de las redes "rivadas! el rango 725$9$9$9 v 725$222$222$222 o 725$9$9$9/A en la notacin CIDR! est&
reservado "ara la co'unicacin del anfitrin local 1localost3$ Ninguna direccin de este rango deber&
a"arecer en una red! sea "0blica o "rivada % cual.uier "a.uete enviado acia cual.uier direccin de este
rango deber& regresar co'o un "a.uete entrante acia la 'is'a '&.uina$
,-.-. Referencia de sub-redes de I7 versin -.
+lgunos seg'entos del es"acio de direcciones de ?-! dis"onibles "ara la versin =! se es"ecifican % asignan
a trav#s de docu'entos R2C 1Re.uest 2or Co''ents o Solicitud De Co'entarios3! .ue son con(untos de
notas t#cnicas % de organi,acin .ue se elaboran desde 7B4B donde se describen los est&ndares o
reco'endaciones de ?nternet! antes +;-+NF@$ F(e'"los de esto son los usos del ;etorno del siste'a
1loo"bacK! ;>C 74=83! las redes "rivadas 1;>C 7B7A3 % Neroconf 1;>C 8B253 .ue no est&n ba(o el control de
los RIR 1Regional Internet Registries o ;egistros ;egionales de ?nternet3$
La '&scara de sub6red es utili,ada "ara se"arar los bits de un identificados de una red a "artir de los bits
del identificados del anfitrin$ Se escribe utili,ando el 'is'o ti"o de notacin "ara escribir direcciones ?-$
885
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
CIDR 56scara de sub-red ;nfitriones
Nombre de la
clase
"so tpico
/A 222$9$9$9 74555274 Clase +
Blo.ue '&s grande definido "or la
?+N+
/B 222$72A$9$9 A8AA49A
/79 222$7B2$9$9 =7B=89=
/77 222$22=$9$9 29B5722
/72 222$2=9$9$9 79=A254
/78 222$2=A$9$9 22=2AA
/7= 222$222$9$9 2427==
/72 222$22=$9$9 787952
/74 222$222$9$9 42284 Clase B
/75 222$222$72A$9 8254A ?S- / negocios grandes
/7A 222$222$7B2$9 748A= ?S- / negocios grandes
/7B 222$222$22=$9 A7B2 ?S- / negocios grandes
/29 222$222$2=9$9 =9B4 ?S- "e.ueos / negocios grandes
/27 222$222$2=A$9 29=A ?S- "e.ueos / negocios grandes
/22 222$222$222$9 792=
/28 222$222$22=$9 272
/2= 222$222$222$9 224 Clase C L+N grande
/22 222$222$222$72A 72A L+N grande
/24 222$222$222$7B2 4= L+N "e.uea
/25 222$222$222$22= 82 L+N "e.uea
/2A 222$222$222$2=9 74 L+N "e.uea
/2B 222$222$222$2=A A
/89 222$222$222$222 =
;edes de unin 1enlaces "unto a
"unto3
/87 222$222$222$22= 2
;ed no utili,able! sugerida "ara
enlaces "unto a "unto 1;>C 89273
/82 222$222$222$222 7 ;uta del anfitrin
,-... Referencias.
a tt")//***$ietf$org/rfc/rfc549$txt
a tt")//***$ietf$org/rfc/rfc5B7$txt
a tt")//***$ietf$org/rfc/rfc74=8$txt
a tt")//***$ietf$org/rfc/rfc7599$txt
a tt")//***$ietf$org/rfc/rfc75B5$txt
a tt")//***$ietf$org/rfc/rfc7B7A$txt
a tt")//***$ietf$org/rfc/rfc22==$txt
a tt")//***$ietf$org/rfc/rfc8927$txt
a tt")//***$ietf$org/rfc/rfc894A$txt
a tt")//***$ietf$org/rfc/rfc8757$txt
a tt")//***$ietf$org/rfc/rfc8889$txt
a tt")//***$ietf$org/rfc/rfc8B25$txt
88A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
88B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,.. Configuracin de red en :N"8&inu*.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
,..!. Introduccin
Configurar los "ar&'etros de red en GNU/Linux re.uiere se entiendan "erfecta'ente los funda'entos de I7
versin - % saber c'o utili,ar cual.uier editor de texto si'"le$
Fn Cent(9 % Red DatF /nterprise &inu*! .ue utili,an n0cleo de Linux versin 2$4! la deteccin de las
tar(etas de red es auto'&tica 'ientras se trate de dis"ositivos so"ortados$ -ara consultar la lista de
dis"ositivos co'"atibles! visite ard*are$redat$co'$
,... 7rocedimientos
,...!. Nombres de los dispositivos.
Las '&s recientes versiones de Cent(9! 2edoraF % Red DatF /nterprise &inu* utili,an un nuevo
es.ue'a "ara los no'bres de los dis"ositivos de red$ Los no'bres se basan sobre su ubicacin f/sica con la
finalidad de facilitar su identificacin$ Los dis"ositivos de red integrados a la tar(eta 'adre utili,an el
es.ue'a emS!GG,G-...TZ los dis"ositivos -C? utili,an el es.ue'a pSranura 7CITpSpuerto ethernetT % `
en el caso de dis"ositivos virtuales` pSranura 7CITpSpuerto ethernetTUSinterfa3 virtualT$ F(e'"los)
e'7 corres"onde al "ri'er dis"ositivo de red integrado en la tar(eta 'adre$
e'2 corres"onde al segundo dis"ositivo de red integrado en la tar(eta 'adre$
e'8 corres"onde al tercer dis"ositivo de red integrado en la tar(eta 'adre$
"7"7 corres"onde al "ri'er dis"ositivo de red en la "ri'era ranura -C?! "ri'er "uerto
eternet$
"2"7 corres"onde al "ri'er dis"ositivo de red en la segunda ranura -C?! "ri'er "uerto
eternet$
"8"7 corres"onde al "ri'er dis"ositivo de red en la tercera ranura -C?! "ri'er "uerto eternet$
"8"2 corres"onde al "ri'er dis"ositivo de red en la tercera ranura -C?! segundo "uerto
eternet$
"8"2M7 corres"onde al "ri'er dis"ositivo de red en la tercera ranura -C?! segundo "uerto
eternet! "ri'er dis"ositivo virtual$
Fl nuevo es.ue'a de no'bres slo a"lica "ara siste'as .ue i'"le'entan S:B?GS versin 2$4 % tablas B %
=7$ -uede cote(arse la versin de S:B?GS e(ecutando co'o usuario root el siguiente 'andato)
biosdecode
-ueden deter'inarse los dis"ositivos de red "resentes en el siste'a revisando el contenido del directorio
8s+s8class8net8)
8=9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ls /sys/class/net/
-uede consultarse la asignacin de no'bres de dis"ositivos de red "resentes en el siste'a! a trav#s del
arcivo /etc/udev/rules$d/596"ersistent6net$rules$
vi /etc/udev/rules#d/$%!persistent!net#rules
Si se dis"one de S:B?GS 2$4 % tablas =7 % B! "ara acer uso del nuevo es.ue'a de no'bres en siste'as
.ue fueron actuali,ados desde una versin anterior de Cent(9! 2edoraF % Red DatF /nterprise &inu*!
slo es necesario eli'inar este arcivo % reiniciar el siste'a$
,.... NetRorO5anager.
+ "artir de Cent(9 . % Red DatF /nterprise &inu* .! se inclu%e NetRorO5anager co'o una
i'"le'entacin alternativa "ara la gestin de "ar&'etros de red desde la interfa, de usuario$ Fn #stos!
NetRorO5anager viene desactivado de 'odo "redeter'inado$
Fn Cent(9 0 % Red DatF /nterprise &inu* 0! NetRorO5anager viene activo de 'odo "redeter'inado!
salvo .ue se aga la instalacin '/ni'a o la instalacin b&sica de servidor$
Si se desea i'"edir .ue NetRorO5anager gestione alg0n dis"ositivo de red en "articular % .ue #ste sea
gestionado "or el servicio netRorO! edite el arcivo de configuracin corres"ondiente al dis"ositivo a
utili,ar$ +su'iendo .ue se trata del dis"ositivo et9! e(ecute)
vi /etc/syscon"ig/netork!scripts/i"c"g!eth%
:odifi.ue el valor del "ar&'etro N5UC(N<R(&&/D % estable,ca no co'o valor de #ste$ F(e'"lo)
&'()*'+eth%
0-;001+yes
;001=R010+static
345&&R+4476$7>*7557&&78&
NM_CONTROLLED=no
)=5&&R+198#166#$%#1%1
-'1.5SH+8::#8::#8::#186
I51'45<+198#166#$%#1
&0.5)-+dominio#tld
&-S1+6#6#6#6
&-S8+6#6#4#4
-ara a"licar los ca'bios! e(ecute lo siguiente)
service netork restart
Fn adelante! 'ientras est# establecido N5UC(N<R(&&/DVno en la configuracin del dis"ositivo de red!
NetRorO5anager ignorar& #sta "or co'"leto$
Si .uiere "rescindir del uso de NetRorO5anager! ta'bi#n se "uede desactivar "or co'"leto este servicio!
siendo .ue su uso slo tiene sentido en una co'"utadora "ort&til .ue se conecta a '0lti"les redes
inal&'bricas o bien un siste'a escritorio donde se .uiere "er'itir al usuario regular "oder controlar los
dis"ositivos de red$
-ara desactivar NetRorO5anager! e(ecute lo siguiente)
8=7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
chkcon"ig -etork.anager o""
service -etork.anager stop
,...,. ;signacin de par6metros de red.
,...,.!. Nombre del anfitrin PD(9<N;5/Q.
Fdite el arcivo 8etc8hosts)
vi /etc/hosts
;es"ete la configuracin de la resolucin de retorno del siste'a$ +ada el no'bre de anfitrin del siste'a %
asocie #ste a alguna de las direcciones ?- locales$ F(e'"lo)
18$#%#%#1 localhost#localdomain localhost
771 localhost6#localdomain6 localhost6
3=/.358.76.363 no<bre.-o<%n%o.$)- no<bre
Fl nombre del anfitrin 1ostname3 debe ser un 2?DN 1acrni'o de 2ull% ?ualified Do'ain Na'e o
No'bre de Do'inio -lena'ente Calificado3 resuelto "or un servidor de no'bres de do'ino 1DNS3$ -uede
definir #ste editando el arcivo 8etc8s+sconfig8netRorO)
vi /etc/syscon"ig/netork
Ca'bie el valor del "ar&'etro IGS@N+:F "or el no'bre de anfitrin .ue corres"onda$ @o'e en cuenta .ue
el no'bre de anfitrin deber& estar resuelto cuando 'enos en el arcivo 8etc8hosts! %! si es "osible!
ta'bi#n en un servidor DNS$
-'140RH)-I+yes
FOSTNAME=no<bre.-o<%n%o.$)-
+ "artir de Cent(9 0 % Red DatF /nterprise &inu* 0! el "ar&'etro D(9<N;5/ "uede ser establecido en
el arcivo de configuracin de cual.uier dis"ositivo de red del siste'a 1"or e(e'"lo
8etc8s+sconfig8netRorO-scripts8ifcfg-ethI3! en lugar del arcivo 8etc8s+sconfig8netRorO$
+su'iendo .ue se utili,ar& el dis"ositivo et9! edite el arcivo
8etc8s+sconfig8netRorO-scripts8ifcfg-ethI)
vi /etc/syscon"ig/netork!scripts/i"c"g!eth%
F(e'"lo)
&'()*'+eth%
0-;001+yes
;001=R010+static
-./*0-1R022'&+no
)=5&&R+198#166#$%#1%1
-'1.5SH+8::#8::#8::#186
I51'45<+198#166#$%#1
FOSTNAME=no<bre.-o<%n%o.$)-
-ara a"licar los ca'bios! e(ecute lo siguiente)
8=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service netork restart
,...,.. Direccin I7G m6scara de sub-red + puerta de enlace.
Los valores de los "ar&'etros de red se asignan a trav#s de los "ar&'etros $((<7R(<( "ara definir
static si se utili,ar& una direccin ?- est&tica o bien dhcp si se asignar& la direccin ?- a trav#s de un
servidor DIC-! I7;DDR "ara definir la direccin ?-! N/<5;9N "ara definir la '&scara de sub6red en for'ato
octal % :;</\;Z "ara definir la "uerta de enlace$
+su'iendo .ue se utili,ar& el dis"ositivo et9! edite el arcivo
8etc8s+sconfig8netRorO-scripts8ifcfg-ethI)
vi /etc/syscon"ig/netork!scripts/i"c"g!eth%
F(e'"lo)
&'()*'+eth%
0-;001+yes
;001=R010+static
-./*0-1R022'&+no
?9ADDR=3=/.358.76.363
NETMAS.=/!!./!!./!!.3/8
GATEMAN=3=/.358.76.3
Fn lugar del "ar&'etro NF@:+SL con un valor octal! "uede utili,ar el "ar&'etro -;F>?O % definir la '&scara
de sub6red en for'ato CIDR$
&'()*'+eth%
0-;001+yes
;001=R010+static
-./*0-1R022'&+no
)=5&&R+198#166#$%#1%1
9REF?X=/!
I51'45<+198#166#$%#1
Los valores de los "ar&'etros anteriores son "ro"orcionados "or el ad'inistrador de la red local en donde
se localice el siste'a .ue est# siendo configurado o bien definidos de acuerdo a una "lanificacin
"revia'ente establecida$ Fl ad'inistrador de la red deber& "ro"orcionar una direccin ?- dis"onible
1?-+DD;3 % una '&scara de la sub6red 1NF@:+SL o -;F>?O3$
-ara a"licar los ca'bios! e(ecute lo siguiente)
service netork restart
,...,.,. 9ervidores de nombres.
Ia% dos "ar&'etros a configurar) do'inio de b0s.ueda "redeter'inado % al 'enos un servidor de no'bres$
Fn Cent(9 0 % Red DatF /nterprise &inu* 0! se "ueden establecer aadiendo al arcivo de
configuracin de cual.uier dis"ositivo de red! los "ar&'etros D(5;IN! DN9!! DN9 % DN9,$
+su'iendo .ue se utili,ar& el dis"ositivo et9! edite el arcivo
8etc8s+sconfig8netRorO-scripts8ifcfg-ethI)
8=8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vi /etc/syscon"ig/netork!scripts/i"c"g!eth%
F(e'"lo)
&'()*'+eth%
0-;001+yes
;001=R010+static
-./*0-1R022'&+no
)=5&&R+198#166#$%#1%1
=R'>)X+8:
I51'45<+198#166#$%#1
DOMA?N=-o<%n%o.$)-
DNS3=8.8.8.8
DNS/=8.8.4.4
-ara a"licar los ca'bios! e(ecute lo siguiente)
service netork restart
Lo anterior actuali,ar& auto'&tica'ente el arcivo 8etc8resolv.conf con el contenido .ue corres"onda$
Fn Cent(9 . % Red DatF /nterprise &inu* . 1% versiones anteriores de #stos3! edite al arcivo
8etc8resolv.conf)
vi /etc/resolv#con"
Fstable,ca o confir'e los servidores del siste'a de resolucin de no'bres de do'inio 1DNS3$ F(e'"lo)
search dominio#tld
nameserver 6#6#6#6
nameserver 6#6#4#4
Si se 'odifica directa'ente el arcivo 8etc8resolv.conf los ca'bios a"lican de 'anera in'ediata! sin
necesidad de reiniciar el servicio netRorO$
,...-. Rutas est6ticos.
Las rutas est&ticas se "ueden aadir e(ecutando el 'andato ip! utili,ando la siguiente sintaxis)
ip route add DredE/DmUscaraE via Dpuerta!de!enlaceE dev DdispositivoE
Fn el siguiente e(e'"lo se definir& la ruta est&tica acia la red ![.!04.,.I con '&scara de 22 bit
1.........!43! "uerta de enlace a trav#s de la direccin ?- !1.!0.!.,0 % a trav#s del dis"ositivo de
red eth!)
ip route add 198#166#@#%/8: via 1$8#16#1#@6 dev eth1
Fs un re.uisito .ue la "uerta de enlace de destino sea alcan,able desde el dis"ositivo utili,ado$ Ser&
i'"osible establecer una ruta est&tica si es i'"osible alcan,ar la "uerta de enlace necesaria$ Si slo se
e(ecuta el 'andato ip % se reinicia el servicio netRorO! los ca'bios se "erder&n$
8==
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se re.uiere establecer las rutas est&ticas adicionales "ara obtener conectividad con otras redes % .ue las
configuraciones corres"ondientes sean "er'anentes! se "ueden generar arcivos "ara cada dis"ositivo de
red .ue sea necesario! en donde se establecen los valores "ara "uerta de enlace! red a la .ue se .uiere
acceder % la '&scara de sub6red corres"ondiente$ Los arcivos se deben generar dentro del directorio
8etc8s+sconfig8netRorO-scripts8 co'o route=>dispositivo? % deben llevar el siguiente for'ato)
I51'45<6+nnn#nnn#nnn#nnn
5&&R'SS6+nnn#nnn#nnn#nnn
-'1.5SH6+nnn#nnn#nnn#nnn
Fn lugar del "ar&'etro NF@:+SL! se "uede utili,ar el "ar&'etro @A,-0B! definiendo la '&scara en for'ato
#0&A$ F(e'"lo)
I51'45<6+nnn#nnn#nnn#nnn
5&&R'SS6+nnn#nnn#nnn#nnn
=R'>)X6+nn
-or citar un e(e'"lo! i'agine'os .ue nos encontra'os dentro de la red 7B2$74A$59$9/22 % se re.uiere
establecer conectividad con las redes 752$74$2$9 % 752$74$8$9! con '&scaras 222$222$222$2=9 12A bit3! a
trav#s de las "uertas de enlace o enrutadores o enca'inadores con direccines ?- 7B2$74A$7$2 % 7B2$74A$7$8!
corres"ondiente'ente "ara cada red citada! a trav#s del "ri'er dis"ositivo Fternet del anfitrin local
1et93$
Genere el arcivo 8etc8s+sconfig8netRorO-scripts8route-ethI utili,ando un editor de texto)
vi /etc/syscon"ig/netork!scripts/route!eth%
La configuracin "ara el escenario descrito arriba! ser/a la siguiente)
I51'45<6+198#166#1#8
5&&R'SS6+1$8#16#8#%
=R'>)X6+86
I51'45<3+198#166#1#@
5&&R'SS3+1$8#16#@#%
=R'>)X3+86
-ara a"licar los ca'bios % "oder acer las co'"robaciones corres"ondientes! e(ecute lo siguiente)
service netork restart
,..... 2uncin de Reenvo de paCuetes para I7 versin -.
Si dis"one de al 'enos 2 dis"ositivos de red % se tiene "laneado i'"le'entar un N+@ o DN+@! se debe
abilitar el reenv/o de "a.uetes "ara ?- versin =$ Fsto se reali,a editando el arcivo 8etc8s+sctl.conf %
estableciendo ! "ara activar o bien de(ar I "ara 'antener inactivo)
vi /etc/sysctl#con"
R ca'biando net.ipv-.ipUforRard V I "or net.ipv-.ipUforRard V !)
net#ipv4#ip/"orard + 1
8=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara a"licar el ca'bio! sin reiniciar el siste'a! slo es necesario e(ecutar lo siguiente)
sysctl ! net#ipv4#ip/"orard+1
,...0. Derramientas para el intrprete de mandatos.
Des"u#s de aber configurado todos los "ar&'etros de red deseados! reinicie el servicio netRorO!
e(ecutando lo siguiente)
service netork restart
-ara co'"robar la conectividad! se "uede e(ecutar el 'andato ping acia cual.uier direccin de la red local
"ara tal fin$
ping !c@ 198#166#$%#1
La o"cin -c, indica .ue slo se ar&n 8 pings acia la direccin ?- de destino$
-ara ver la infor'acin de todos los dis"ositivos de red del siste'a! se e(ecuta lo siguiente)
ip addr sho
Fn el "asado! lo anterior se ac/a utili,ando el 'andato ifconfig$
-ara ver la infor'acin de un dis"ositivo de red es"ec/fico! et9 en el siguiente e(e'"lo! se e(ecuta lo
siguiente)
ip addr sho eth%
Fn el "asado! lo anterior se ac/a utili,ando el 'andato ifconfig ethI$
-ara ver la infor'acin de estado de todos los dis"ositivos de red del siste'a! se e(ecuta lo siguiente)
ip link sho
-ara ver la infor'acin de estado de de un dis"ositivos de red en "articular! et9 en el siguiente e(e'"lo! se
e(ecuta lo siguiente)
ip link sho eth%
-ara detener un dis"ositivo de red! et9 en el e(e'"lo! se e(ecuta lo siguiente)
ip link set eth% don
Fn el "asado! lo anterior se ac/a utili,ando el 'andato ifdoRn ethI$
-ara iniciar un dis"ositivo de red! et9 en el e(e'"lo! se e(ecuta lo siguiente)
8=4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ip link set eth% up
Fn el "asado! lo anterior se ac/a utili,ando el 'andato ifup ethI$
-ara eli'inar todos los "ar&'etros de red de un dis"ositivo es"ec/fico! et9 en el e(e'"lo! se e(ecuta lo
siguiente$
ip addr "lush dev eth%
-ara aadir una direccin ?- a un dis"ositivo! et9 en el siguiente e(e'"lo! se e(ecuta lo siguiente$
ip addr add 198#166#$%#61/8: dev eth%
-ara eli'inar una direccin ?- a un dis"ositivo! et9 en el siguiente e(e'"lo! se e(ecuta lo siguiente$
ip addr del 198#166#$%#61/8: dev eth%
Las rutas est&ticas se "ueden co'"robar utili,ando el siguiente 'andato)
ip route list
Fn el "asado! lo anterior se ac/a utili,ando el 'andato route$
-ara eli'inar todas las rutas est&ticas de"endientes slo del dis"ositivo et9! se e(ecuta lo siguiente)
ip route "lush dev eth%
-ara ca'biar o establecer la "uertas de enlace "redeter'inada del siste'a! 7B2$74A$59$7 en el siguiente
e(e'"lo! a trav#s del dis"ositivo et9! se e(ecuta lo siguiente)
ip route add de"ault via 198#166#$%#1 dev eth%
-ara co'"robar si a% resolucin de no'bres! se "uede reali,ar una consulta acia los servidores DNS
definidos "ara el siste'a! utili,ando)
host dominio#tld
,...1. Direcciones I7 secundarias
Las direcciones ?- secundarias sirven "ara .ue el siste'a res"onda "ara '&s de una direccin ?- a trav#s
del 'is'o dis"ositivo de red$ Son 0tiles en los casos en los cuales se tiene un servicio de os"eda(e de
"&ginas de ?nternet % se desea .ue cada sitio tenga su "ro"ia direccin ?-$ @a'bi#n son 0tiles en los 'uros
cortafuegos donde se .uiere .ue un con(unto de e.ui"os salgan acia ?nternet en'ascarados con una
direccin ?- 1una L+N! "or e(e'"lo3 % otro con(unto de e.ui"os lo agan con una direccin ?- distinta 1una
D:N! "or e(e'"lo3$
Fl "ri'er "aso es 'odificar los "ar&'etros I7;DDR % N/<5;9N de la direccin ?- "rinci"al! "recediendo a
#stos el n0'ero cero)
8=5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
)=5&&R6+198#166#$%#1%1
-'1.5SH6+8::#8::#8::#186
+ada la direccin ?- secundaria % la '&scara de sub6red con los "ar&'etros I7;DDR! % N/<5;9N! 1o
bien 7R/2IB! si "refiere el for'ato CIDR3 del siguiente 'odo)
)=5&&R%+198#166#$%#1%1
-'1.5SH%+8::#8::#8::#186
?9ADDR3=3=/.358.76.3
NETMAS.3=/!!./!!./!!.3/8
-ara agregar otra direccin ?- secundaria! se aade otro con(unto de "ar&'etros I7;DDR % N/<5;9N!
"recedidos con el siguiente n0'ero consecutivo)
)=5&&R%+198#166#$%#1%1
-'1.5SH%+8::#8::#8::#186
)=5&&R1+198#166#$%#@1
-'1.5SH1+8::#8::#8::#186
?9ADDR/=3=/.358.76.43
NETMAS./=/!!./!!./!!.3/8
-uede utili,ar 7R/2IB en lugar de N/<5;9N! definiendo la '&scara de sub6red en for'ato CIDR$
)=5&&R%+198#166#$%#1%1
9REF?X6=/!
)=5&&R1+198#166#$%#@1
9REF?X3=/!
)=5&&R8+198#166#$%#41
9REF?X/=/!
-ara a"licar los ca'bios % "oder acer las co'"robaciones corres"ondientes! e(ecute lo siguiente)
service netork restart
La co'"robacin! al e(ecutar el 'andato ip addr shoR! deber& regresar algo co'o lo siguiente
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 scope host lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth%7 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether %%78@7:a74b7e674@ brd ""7""7""7""7""7""
inet 198#166#$%#1%1/8: brd 198#166#$%#18$ scope global eth%
inet 198#166#$%#@1/8: scope global secondary eth%
inet 198#166#$%#41/8: scope global secondary eth%
inet6 "e6%7788@7:a""7"e4b7e64@/64 scope link
valid/l"t "orever pre"erred/l"t "orever
,...4. &a funcin beroconf.
De 'odo "redeter'inado % a fin de "er'itir la co'unicacin entre dos diferentes siste'as a trav#s de un
cable ;J=2 cru,ado 1crossover3! el siste'a tiene abilitado beroconf! ta'bi#n conocido co'o bero
Configuration NetRorOing o ;utomatic 7rivate I7 ;ddressing 1+-?-+3$ Fs un con(unto de t#cnicas .ue
auto'&tica'ente gestionan la asignacin de direcciones ?- sin necesidad de configuracin de servidores
es"eciales$ -er'ite a usuarios sin conoci'ientos de redes conectar co'"utadoras! i'"resoras en red %
otros art/culos entre s/$
8=A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Sin Neroconf los usuarios sin conoci'ientos tendr/an .ue configurar servidores es"eciales co'o DIC- % DNS
"ara "oder establecer conectividad entre dos e.ui"os$
Fstando abilitado Neroconf! se 'ostrar& un registro en la tabla de rutas est&ticas "ara la red !0[..-.I.I
al e(ecutar el 'andato ip route list)
ip route list
Lo anterior devolver& una salida si'ilar a la siguiente)
198#166#$%#%/8: dev eth% proto kernel scope link src 198#166#$%#1%1
35=./!4.6.6;35 -e* e$h6 s&o'e )%n8 <e$r%& 366/
de"ault via 198#166#$%#1 dev eth%
Si se desea desactivar Neroconf! edite el arcivo 8etc8s+sconfig8netRorO)
vi /etc/syscon"ig/netork
+ada el "ar&'etro N(b/R(C(N2 con el valor +es)
-'140RH)-I+yes
30S1-5.'+nombre#dominio#tld
NOJEROCONF=yes
+l ter'inar! reinicie el servicio netRorO! a fin de .ue surtan efecto los ca'bios)
service netork restart
-ara co'"robar! e(ecute de nuevo con el 'andato ip route list)
ip route list
Lo anterior deber& devolver una salida si'ilar a la siguiente! en la cual la ruta "ara beroconf a
desa"arecido)
198#166#$%#%/8: dev eth% proto kernel scope link src 198#166#$%#1%1
de"ault via 198#166#$%#1 dev eth%
Una ve, eco lo anterior! existen dos servicios en el siste'a en CentGS % ;ed IatH Fnter"rise Linux 2 %
versiones "osteriores! .ue se "ueden desactivar "uesto .ue sirven "ara establecer la co'unicacin a trav#s
de Neroconf! estos son avahi-daemon % avahi-dnsconfd$ Desactivar estos dos servicios aorrar& tie'"o
en el arran.ue % se consu'ir&n algunos pocos menos recursos de sistema$
chkcon"ig avahi!dnscon"d o""
chkcon"ig avahi!daemon o""
service avahi!dnscon"d stop
service avahi!daemon stop
:ucas a"licaciones % co'"onentes "ara el 'odo gr&fico de"enden de Neroconf "ara su correcto
funciona'iento$ -or tanto! es "oco conveniente desactivar este so"orte en un siste'a de escritorio$
8=B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara '&s detalles acerca de beroconf! "uede consultarla infor'acin dis"onible en)
tt")//***$,eroconf$org/
tt")//en$*iKi"edia$org/*iKi/Neroconf
,..,. /%ercicios.
Fste docu'ento cores"onde a los e(ercicios del docu'ento titulado Configuracin de red en GNU/Linux$
,..,.!. Rutas est6ticas.
Fste e(ercicio considera lo siguiente)
7$ Se tiene dos e.ui"os de c'"uto con GNU/Linux instalado en a'bos$
2$ pc!.dominio.tld tiene una direccin ?- 7B2$74A$59$799 con '&scara de sub6red 222$222$222$72A
en el dis"ositivo et9$ Una direccin ?- 752$74$799$7 con '&scara de sub6red 222$222$222$2=9 en el
dis"ositivo et7$
8$ pc.dominio.tld tiene una direccin ?- 7B2$74A$59$792 con '&scara de sub6red 222$222$222$72A
en el dis"ositivo et9$ Carece de otros dis"ositivos de red activos$
Jisualice desde pc.dominio los registros de la tabla de rutas est&ticas$
ip route list
Lo anterior devolver& una salida si'ilar a la siguiente)
198#166#$%#%/8: dev eth% proto kernel scope link src 198#166#$%#8 metric 1
de"ault via 198#166#$%#1 dev eth% proto static
?ntente e(ecutar ping acia la direccin reci#n aadida en pc!.dominio$
ping !c @ 1$8#16#1%%#1
Fl resultado es"erado es .ue ping devuelva .ue a% 799c de "#rdida de "a.uetes$
=)-I 1$8#16#1%%#1 (1$8#16#1%%#1) :6(64) bytes o" data#
!!! 1$8#16#1%%#1 ping statistics !!!
@ packets transmittedB % receivedB 1%%Y packet lossB time 1999ms
-roceda a aadir la ruta est&tica .ue corres"onde es"ecificando la red! 'ascar& de sub6red % "uerta de
enlace necesarios "ara llegar acia 752$74$799$7$
ip route add K
1$8#16#1%%#%/86 K
via 198#166#$%#1%% K
dev eth%
829
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Jisualice de nuevo los registros de la tabla de rutas est&ticas$
ip route list
Lo anterior devolver& una salida si'ilar a la siguiente)
37/.35.366.6;/8 *%# 3=/.358.76.366 -e* e$h6
198#166#$%#%/8: dev eth% proto kernel scope link src 198#166#$%#8 metric 1
de"ault via 198#166#$%#1 dev eth% proto static
?ntente e(ecutar ping acia la direccin reci#n aadida en pc!.dominio$
ping !c @ 1$8#16#1%%#1
Fl resultado es"erado es .ue ping res"onda al "ing! obteni#ndose una salida si'ilar a la siguiente)
=)-I 1$8#16#1%%#1 (1$8#16#1%%#1) :6(64) bytes o" data#
64 bytes "rom 1$8#16#1%%#17 icmp/seJ+% ttl+64 time+%#4:@ ms
64 bytes "rom 1$8#16#1%%#17 icmp/seJ+1 ttl+64 time+%#@66 ms
64 bytes "rom 1$8#16#1%%#17 icmp/seJ+8 ttl+64 time+%#@4$ ms
!!! 1$8#16#1%%#1 ping statistics !!!
@ packets transmittedB @ receivedB %Y packet lossB time 1999ms
rtt min/avg/max/mdev + %#@4$/%#@69/%#4:@/%#%46 msB pipe 8
;einicie el servicio de red! visualice de nuevo los registros de la tabla de rutas est&ticas % co'"ruebe .ue %a
no a% res"uesta al acer ping acia 752$74$799$7 "or.ue el registro en la tabla de rutas est&ticas fue
eli'inado al reiniciar el servicio de red$
service netork restart
ip route list
ping !c @ 1$8#16#1%%#1
-ara acer "er'anente el registro en la tabla de rutas est&ticas utilice un editor de texto el arcivo
8etc8s+sconfig8netRorO-scripts8route-ethI % "onga el siguiente contenido)
5&&R'SS6+1$8#16#1%%#%
-'1.5SH6+8::#8::#8::#84%
I51'45<6+198#166#$%#1%%
+l ter'inar reinicie el servicio de red$
service netork restart
Jisualice nueva'ente los registros de la tabla de rutas est&ticas$
ip route list
Lo anterior debe devolver una salida si'ilar a la siguiente)
37/.35.366.6;/8 *%# 3=/.358.76.366 -e* e$h6
198#166#$%#%/8: dev eth% proto kernel scope link src 198#166#$%#8 metric 1
de"ault via 198#166#$%#1 dev eth% proto static
827
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
?ntente e(ecutar ping acia la direccin reci#n aadida en pc!.dominio$
ping !c @ 1$8#16#1%%#1
;einicie el servicio de red! visualice de nuevo los registros de la tabla de rutas est&ticas % co'"ruebe de
nuevo .ue a% res"uesta al acer "ing acia 752$74$799$7$
service netork restart
route !n
ping !c@ 1$8#16#1%%#1
,..,.. /%ercicio# Direcciones I7 secundarias.
Fste e(ercicio considera lo siguiente)
7$ Fl dis"ositivo ethI tiene una direccin ?- 7B2$74A$59$797/22$ Carece de direcciones ?-
secundarias$
2$ Se aadir& co'o direccin ?- secundaria 7B2$74A$59$27/22$
Jisualice las interfaces de red activas en el siste'a$
ip addr sho
Lo anterior debe devolver una salida si'ilar a la siguiente! donde se 'ostrar& .ue slo est&n activos el
dis"ositivo ethI % el corres"ondiente al dis"ositivo del retorno del siste'a 1loopbac'3)
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 scope host lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth%7 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether %%78@7:a74b7e674@ brd ""7""7""7""7""7""
inet 198#166#$%#1%1/8: brd 198#166#$%#18$ scope global eth%
inet6 "e6%7788@7:a""7"e4b7e64@/64 scope link
valid/l"t "orever pre"erred/l"t "orever
F(ecute el 'andato ping con la o"cin -c, "ara co'"robar si acaso a% alguna res"uesta de la direccin ?-
secundaria del dis"ositivo ethI$
ping !c@ 198#166#$%#:1
Lo anterior debe devolver una salida si'ilar a la siguiente)
=)-I 198#166#$%#:1 (198#166#$%#:1) :6(64) bytes o" data#
!!! 198#166#$%#:1 ping statistics !!!
@ packets transmittedB % receivedB 1%%Y packet lossB time 1999ms
F(ecute el 'andato ip del siguiente 'odo "ara aadir la direccin ?- secundaria 7B2$74A$59$27/22 al
dis"ositivo et9)
822
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ip addr add 198#166#$%#:1/8: dev eth%
F(ecute el 'andato ping con la o"cin -c, "ara co'"robar .ue a%a res"uesta de la direccin ?- secundaria
del dis"ositivo ethI$
ping !c@ 198#166#$%#:1
Lo anterior debe devolver una salida si'ilar a la siguiente)
=)-I 198#166#$%#:1 (198#166#$%#:1) :6(64) bytes o" data#
64 bytes "rom 198#166#$%#:17 icmp/seJ+% ttl+64 time+%#4:@ ms
64 bytes "rom 198#166#$%#:17 icmp/seJ+1 ttl+64 time+%#@66 ms
64 bytes "rom 198#166#$%#:17 icmp/seJ+8 ttl+64 time+%#@4$ ms
!!! 198#166#$%#:1 ping statistics !!!
@ packets transmittedB @ receivedB %Y packet lossB time 1999ms
rtt min/avg/max/mdev + %#@4$/%#@69/%#4:@/%#%46 msB pipe 8
Jisualice las interfaces de red activas en el siste'a$
ip addr sho
Lo anterior debe devolver una salida si'ilar a la siguiente! donde se 'ostrar& .ue est& activa la direccin ?-
secundaria del dis"ositivo ethI)
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 scope host lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth%7 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether %%78@7:a74b7e674@ brd ""7""7""7""7""7""
inet 198#166#$%#1%1/8: brd 198#166#$%#18$ scope global eth%
%ne$ 3=/.358.76.!3;/! s&o'e g)ob#) se&on-#ry e$h6
inet6 "e6%7788@7:a""7"e4b7e64@/64 scope link
valid/l"t "orever pre"erred/l"t "orever
;einicie el servicio netRorO$
service netork restart
Utilice el 'andato ping con la o"cin -c, "ara co'"robar si a0n a% res"uesta desde la direccin ?-
secundaria del dis"ositivo ethI$
ping !c@ 198#166#$%#:1
Lo anterior debe devolver una salida si'ilar a la siguiente)
=)-I 198#166#$%#:1 (198#166#$%#:1) :6(64) bytes o" data#
!!! 198#166#$%#:1 ping statistics !!!
@ packets transmittedB % receivedB 1%%Y packet lossB time 1999ms
Jisualice los dis"ositivos de red activos en el siste'a$
828
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ip addr sho
Lo anterior debe devolver una salida si'ilar a la siguiente! donde se 'ostrar& slo la direccin ?- "rinci"al
del dis"ositivo de red ethI % la corres"ondiente al dis"ositivo del retorno del siste'a 1loopbac'3)
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 scope host lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth%7 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether %%78@7:a74b7e674@ brd ""7""7""7""7""7""
inet 198#166#$%#8/8: brd 198#166#$%#18$ scope global eth%
inet6 "e6%7788@7:a""7"e4b7e64@/64 scope link
valid/l"t "orever pre"erred/l"t "orever
-ara acer "er'anente la direccin secundaria en el dis"ositivo ethI! edite el arcivo
8etc8s+sconfig8netRorO-scripts8ifcfg-ethI % aada el siguiente contenido PWRespete ma+)sculas +
min)sculasXQ)
)=5&&R1+198#166#$%#:1
-'1.5SH1+8::#8::#8::#186
;einicie el servicio de red$
service netork restart
Jisualice las interfaces de red activas en el siste'a$
ip addr sho
Lo anterior debe devolver una salida si'ilar a la siguiente! donde nueva'ente se 'ostrar& .ue est& activa
la direccin ?- secundaria del dis"ositivo ethI)
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 scope host lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth%7 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether %%78@7:a74b7e674@ brd ""7""7""7""7""7""
inet 198#166#$%#1%1/8: brd 198#166#$%#18$ scope global eth%
%ne$ 3=/.358.76.!3;/! s&o'e g)ob#) se&on-#ry e$h6
inet6 "e6%7788@7:a""7"e4b7e64@/64 scope link
valid/l"t "orever pre"erred/l"t "orever
Utilice el 'andato ping con la o"cin -c, "ara co'"robar .ue a%a res"uesta de la direccin ?- secundaria
del dis"ositivo ethI)
ping !c@ 198#166#$%#:1
Lo anterior debe devolver una salida si'ilar a la siguiente)
82=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
=)-I 198#166#$%#:1 (198#166#$%#:1) :6(64) bytes o" data#
64 bytes "rom 198#166#$%#:17 icmp/seJ+% ttl+64 time+%#4:@ ms
64 bytes "rom 198#166#$%#:17 icmp/seJ+1 ttl+64 time+%#@66 ms
64 bytes "rom 198#166#$%#:17 icmp/seJ+8 ttl+64 time+%#@4$ ms
!!! 198#166#$%#:1 ping statistics !!!
@ packets transmittedB @ receivedB %Y packet lossB time 1999ms
rtt min/avg/max/mdev + %#@4$/%#@69/%#4:@/%#%46 msB pipe 8
La direccin ?- secundaria del dis"ositivo ethI estar& activa la siguiente ve, .ue inicie el siste'a o"erativo$
822
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,0. Configuracin de J&;Ns.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,0.!. Introduccin.
De acuerdo a QiKi"edia! 2una 8%A; Cacr/nimo de 1irtual /A! o Aed de Drea %ocal 8irtualE es un mtodo
para crear redes l/gicamente independientes dentro de una misma red fsica. 8arias 8%A;s pueden
coe6istir en un Fnico conmutador fsico o en una Fnica red fsica. $on Ftiles para reducir el tama!o del
dominio de difusi/n y ayudan en la administraci/n de la red, separando segmentos l/gicos de una red de
rea local, impidiendo que puedan intercambiar datos usando la red local.3
Su i'"le'entacin re.uiere de dis"oner de con'utadores 1s*itces3 con ca"acidad "ara JL+N 1"rotocolo
A92$7.3! los cuales deber&n estar previamente configurados "ara gestionar algunas JL+Ns 1% saber
c'o acerlo3 % entender "erfecta'ente ?- versin =$
,0.. /Cuipamiento lgico necesario.
,0..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Fl so"orte necesario "ara configurar JL+Ns se inclu%e (unto con el "a.uete iproute! el cual se inclu%e en la
instalacin "redeter'inada! "ues se trata de un "a.uete obligatorio e indis"ensable "ara el siste'a$ De
'anera alternativa "uede gestionar ta'bi#n las JL+NS a trav#s del "a.uete vconfig 1en co'binacin con
el 'andato ifconfig3! e(ecutando lo siguiente)
yum !y install vcon"ig
,0.,. 7rocedimientos.
Fditar el arcivo 8etc8s+sconfig8netRorO)
vim /etc/syscon"ig/netork
+adir el siguiente "ar&'etro "ara activar el so"orte "ara JL+N! 'is'o .ue "er'itir& .ue "osterior'ente
cargue auto'&tica'ente el 'dulo 4I!C del n0cleo de Linux)
(25-+yes
+su'iendo .ue se utili,a la interfa, et7 "ara acceder a la red local! editar el arcivo de configuracin)
vim /etc/syscon"ig/netork!scripts/i"c"g!eth1
824
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Duitar todos los "ar&'etros de red .ue se a%an establecido % de(ar el contenido co'o el del siguiente
e(e'"lo! en el cual se asu'e .ue la direccin :+C del dis"ositivo de red corres"onde a
--#41#2C#;;#DD#D)
&'()*'+eth1
1<='+'thernet
;001=R010+none
0-;001+yes
345&&R+441871FC1AA1DD1/D
-./*0-1R02'&+no
;einiciar el servicio de red a fin de .ue a"li.ue el ca'bio % "ara .ue cargue de 'anera auto'&tica el
'dulo 4I!C del n0cleo de Linux$
service netork restart
-ueden crearse 'anera te'"oral 1se "erder&n luego de reiniciar el siste'a3 los dis"ositivos de JL+N del
siguiente 'odo)
ip link add link D?S9OS?T?:O name D?S9OS?T?:O.?D-:LAN type vlan id ?D-:LAN
ip addr add ?9;C?DR brd BROADCAST dev D?S9OS?T?:O.?D-:LAN
ip link set dev D?S9OS?T?:O.?D-:LAN up
F(e'"lo)
ip link add link eth1 name e$h3./ type vlan id /
ip addr add 37/.35.6.5!//5 brd 37/.35.6.3/7 dev e$h3./
ip link set dev e$h3./ up
ip link add link eth1 name e$h3. type vlan id
ip addr add 37/.35.6.3/=//5 brd 37/.35.6.3=3 dev e$h3.
ip link set dev e$h3. up
ip link add link eth1 name e$h3.4 type vlan id 4
ip addr add 37/.35.6.3=//5 brd 37/.35.6./!! dev e$h3.4
ip link set dev e$h3.4 up
De 'anera alternativa! "uede acer lo 'is'o utili,ando los 'andatos vconfig % el 'andato ifconfig! del
siguiente 'odo)
vcon"ig add e$h3 /
vcon"ig add e$h3
vcon"ig add e$h3 4
i"con"ig e$h3./ 37/.35.6.5! netmask /!!./!!./!!.3=/
i"con"ig e$h3. 37/.35.6.3/= netmask /!!./!!./!!.3=/
i"con"ig e$h3.4 37/.35.6.3= netmask /!!./!!./!!.3=/
Fn caso de .ue sea necesario! "ara eli'inar los dis"ositivos de JL+N! "uede e(ecutar el 'andato ?- con la
siguiente sintaxis)
ip link set dev D?S9OS?T?:O.?D-:LAN don
ip link delete D?S9OS?T?:O.?D-:LAN
F(e'"lo)
825
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ip link set dev e$h3./ don
ip link delete e$h3./
ip link set dev e$h3. don
ip link delete e$h3.
ip link set dev e$h3.4 don
ip link delete e$h3.4
De 'anera alternativa! "uede utili,ar ta'bi#n el 'andato vconfig con la o"cin rem! seguido del no'bre
del dis"ositivo JL+N$ Siguiendo el e(e'"lo utili,ado en este docu'ento! slo abr/a .ue e(ecutar lo
siguiente)
vcon"ig rem e$h3./
vcon"ig rem e$h3.
vcon"ig rem e$h3.4
-ara .ue los dis"ositivos de JL+Ns sean "er'anentes! es necesario crear! dentro del directorio
8etc8s+sconfig8netRorO-scripts! los arcivos de configuracin de interfa,! siguiendo el siguiente for'ato)
ic"g!D?S9OS?T?:O.?D-:LAN
Fl n0'ero de JL+N! "referente'ente debe corres"onder son el 'i'os utili,ado en el con'utador "rinci"al$
Se debe evitar usar la JL+N 7 1et7$7 o et7$73! 752$74$9$7 co'o ?- "ara el servidor! as/ co'o ta'bi#n
evitar utili,ar la red 752$74$9$9/0! "or.ue suelen corres"onder al n0'ero de JL+N! direccin ?- % seg'ento
de red .ue regular'ente utili,an los con'utadores$
F(e'"lo de contenido de 8etc8s+sconfig8netRorO-scripts8ifcfg-eth!.$
&'()*'+e$h3./
1<='+'thernet
;001=R010+static
0-;001+yes
-./*0-1R02'&+no
)=5&&R+37/.35.6.5!
=R'>)X+/5
;R05&*5S1+37/.35.6.3/7
-'140RH+37/.35.6.54
F(e'"lo de contenido de 8etc8s+sconfig8netRorO-scripts8ifcfg-eth!.,
&'()*'+e$h3.
1<='+'thernet
;001=R010+static
0-;001+yes
-./*0-1R02'&+no
)=5&&R+37/.35.6.3/=
=R'>)X+/5
;R05&*5S1+37/.35.6.3=3
-'140RH+37/.35.6.3/8
F(e'"lo de contenido de 8etc8s+sconfig8netRorO-scripts8ifcfg-eth!.-
82A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
&'()*'+e$h3.4
1<='+'thernet
;001=R010+static
0-;001+yes
-./*0-1R02'&+no
)=5&&R+37/.35.6.3=
=R'>)X+/5
;R05&*5S1+37/.35.6./!!
-'140RH+37/.35.6.3=/
;einiciar nueva'ente el servicio de red a fin de .ue inicien las interfaces de JL+N$
service netork restart
Se "uede verificar con el 'andato ip .ue todas las JL+N est#n "resentes$
ip addr sho
Lo anterior debe devolver una salida si'ilar a la siguiente)
17 lo7 ]200=;5*HB?=B204'R/?=Q mtu 164@6 Jdisc noJueue state ?-H-04-
link/loopback %%7%%7%%7%%7%%7%% brd %%7%%7%%7%%7%%7%%
inet 18$#%#%#1/6 brd 18$#8::#8::#8:: scope host lo
inet 18$#%#%#8/6 brd 18$#8::#8::#8:: scope host secondary lo
inet6 771/186 scope host
valid/l"t "orever pre"erred/l"t "orever
87 eth17 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc p"i"o/"ast state ?= Jlen 1%%%
link/ether 441871FC1AA1DD1/D brd ""7""7""7""7""7""
@7 e$h3./^eth17 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc noJueue state ?=
link/ether 441871FC1AA1DD1/D brd ""7""7""7""7""7""
inet 37/.35.6.5!//5 brd 37/.35.6.3/7 scope global e$h3./
inet6 "e6%77a%%78$""7"ece7:1$8/64 scope link
valid/l"t "orever pre"erred/l"t "orever
47 e$h3.^eth17 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc noJueue state ?=
link/ether 441871FC1AA1DD1/D brd ""7""7""7""7""7""
inet 37/.35.6.3/=//5 brd 37/.35.6.3=3 scope global e$h3.
inet6 "e6%77a%%78$""7"ece7:1$8/64 scope link
valid/l"t "orever pre"erred/l"t "orever
:7 e$h3.4^eth17 ];R05&*5S1B.?21)*5S1B?=B204'R/?=Q mtu 1:%% Jdisc noJueue state ?=
link/ether 441871FC1AA1DD1/D brd ""7""7""7""7""7""
inet 37/.35.6.3=//5 brd 37/.35.6./!! scope global e$h3.4
inet6 "e6%77a%%78$""7"ece7:1$8/64 scope link
valid/l"t "orever pre"erred/l"t "orever
De 'anera alternativa! se "uede verificar con el 'andato ifconfig .ue todas las JL+N est#n "resentes$
i"con"ig
La salida debe ser algo si'ilar a lo siguiente)
82B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
eth1 2ink encap7'thernet 34addr 441871FC1AA1DD1/D
inet6 addr7 "e6%778867b9""7"e@67@6bc/64 Scope72ink
?= ;R05&*5S1 R?--)-I .?21)*5S1 .1?71:%% .etric71
RX packets71@:18146 errors7% dropped7% overruns7% "rame7%
1X packets71:@:66%6 errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen71%%%
RX bytes7444:%86466 (4#1 Ii;) 1X bytes7181@4964@:$ (11#@ Ii;)
)nterrupt7188 .emory7da%%%%%%!da%186%%
e$h3./ 2ink encap7'thernet 34addr 441871FC1AA1DD1/D
inet addr737/.35.6.5! ;cast737/.35.6.3/7 .ask7/!!./!!./!!.3=/
inet6 addr7 "e6%77466$7"c""7"eaa7dd8d/64 Scope72ink
?= ;R05&*5S1 R?--)-I .?21)*5S1 .1?71:%% .etric71
RX packets7% errors7% dropped7% overruns7% "rame7%
1X packets716 errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen7%
RX bytes7% (%#% b) 1X bytes74@@@ (4#8 Hi;)
e$h3. 2ink encap7'thernet 34addr 441871FC1AA1DD1/D
inet addr737/.35.6.3/= ;cast737/.35.6.3=3 .ask7/!!./!!./!!.3=/
inet6 addr7 "e6%77466$7"c""7"eaa7dd8d/64 Scope72ink
?= ;R05&*5S1 R?--)-I .?21)*5S1 .1?71:%% .etric71
RX packets7% errors7% dropped7% overruns7% "rame7%
1X packets716 errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen7%
RX bytes7% (%#% b) 1X bytes748@: (4#1 Hi;)
e$h3.4 2ink encap7'thernet 34addr 441871FC1AA1DD1/D
inet addr737/.35.6.3= ;cast737/.35.6./!! .ask7/!!./!!./!!.3=/
inet6 addr7 "e6%77466$7"c""7"eaa7dd8d/64 Scope72ink
?= ;R05&*5S1 R?--)-I .?21)*5S1 .1?71:%% .etric71
RX packets7% errors7% dropped7% overruns7% "rame7%
1X packets71@ errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen7%
RX bytes7% (%#% b) 1X bytes7@4%: (@#@ Hi;)
lo 2ink encap72ocal 2oopback
inet addr718$#%#%#1 .ask78::#%#%#%
inet6 addr7 771/186 Scope73ost
?= 200=;5*H R?--)-I .1?7164@6 .etric71
RX packets716@ errors7% dropped7% overruns7% "rame7%
1X packets716@ errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen7%
RX bytes781@96 (8%#6 Hi;) 1X bytes781@96 (8%#6 Hi;)
,0.,.!. ;dministrando direcciones I7 de las J&;Ns a travs de un servidor
DDC7.
-ara alivio de los ad'inistradores de siste'as! es "osible utili,ar el servicio de DIC- "ara gestionar la
ad'inistracin de direcciones ?- a trav#s de un servidor DIC-$
Fditar el arcivo 8etc8s+sconfig8dhcpd % definir las interfaces de JL+N a utili,ar (unto con el servidor
DIC-$
&3*=&5RIS+,e$h3./ e$h3. e$h3.4,[
Fditar el arcivo 8etc8dhcpd.conf 1Cent(9 . % Red Dat /nterprise &inu* .3 o bien
8etc8dhcp8dhcpd.conf 1Cent(9 0 % Red Dat /nterprise &inu* 03! definir una seccin "or cada red)
849
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ddns!update!style interim[
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,red!local#net,[
option ntp!servers 8%%#8@#:1#8%:B 1@8#846#61#89B 146#8@4#$#@%[
shared!netork vlan8 e
subnet 37/.35.6.54 netmask /!!./!!./!!.3=/ e
option routers 37/.35.6.5![
option subnet!mask /!!./!!./!!.3=/[
option broadcast!address 37/.35.6.3/7[
option domain!name!servers 37/.35.6.5![
option netbios!name!servers 37/.35.6.5![
range 37/.35.6.55 37/.35.6.3/5[
f
f
shared!netork vlan@ e
subnet 37/.35.6.3/8 netmask /!!./!!./!!.3=/ e
option routers 37/.35.6.3/=[
option subnet!mask /!!./!!./!!.3=/[
option broadcast!address 37/.35.6.3=3[
option domain!name!servers 37/.35.6.3=/[
option netbios!name!servers 37/.35.6.3=/[
range 37/.35.6.36 37/.35.6.3=6[
f
f
shared!netork vlan4 e
subnet 37/.35.6.3=/ netmask /!!./!!./!!.3=/ e
option routers 37/.35.6.3=[
option subnet!mask /!!./!!./!!.3=/[
option broadcast!address 37/.35.6./!![
option domain!name!servers 37/.35.6.3=[
option netbios!name!servers 37/.35.6.3=[
range 37/.35.6.3=4 37/.35.6./!4[
f
f
;einiciar 1o iniciar! seg0n sea el caso3 el servicio dhcpd % co'"robar .ue funcione correcta'ente el
servicio! conectando algunos e.ui"os a los con'utadores involucrados$
service dhcpd restart
847
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,1. Cmo configurar acoplamiento de tar%etas de
red PbondingQ.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,1.!. Introduccin.
Fl controlador bonding! original'ente creado "or Donald $ecOer! est& incluido en "r&ctica'ente todas las
distribuciones de GNU/Linux % "er'ite su'ar las ca"acidades de varias interfaces f/sicas de red con ob(eto
de crear una interfa, lgica$ Fsto se lleva a cabo con el ob(eto de contar con redundancia o bien balanceo de
carga$
,1.. 7rocedimientos.
,1..!. ;rchivo de configuracin 8etc8modprobe.conf.
Se establece el controlador bonding "ara crear la interfa, bondI del siguiente 'odo)
alias bonding bond%
Fl controlador "uede llevar "ar&'etros .ue "er'iten 'odificar su funciona'iento! de entre los cuales los
'&s i'"ortantes son mode % miimon$ + fin de obtener un buen funciona'iento confiable! es i'"ortante
configurar al 'enos #stos dos "ar&'etros$
-ara fines generales! se "uede si'"le'ente configurar del siguiente 'odo)
alias bond% bonding
options bonding mode+% miimon+%
Lo anterior establece en el "ar&'etro mode la "ol/tica de balanceo de carga % tolerancia a fallos % desactiva
en el "ar&'etro miimon la su"ervisin de 5II! .ue corres"onde la configuracin '&s co'0n$
+l ter'inar con el arcivo 8etc8modprobe.conf! es i'"ortante utili,ar el 'andato depmod "ara regenerar
el arcivo modules.dep % los arcivos 'a"a de los controladores$
depmod
Lo anterior solo debe devolver el s/'bolo de siste'as des"u#s de unos segundos$
,1..!.!. 7ar6metro mode.
842
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Se utili,a "ara establecer la "ol/tica ba(a la cual se ar& traba(ar las tar(etas en con(unto$ Los "osibles
valores son)
9 1cero3) Fstablece una "ol/tica de Round-Robin! .ue es un algorit'o .ue asigna una carga e.uitativa %
ordenada a cada "roceso! "ara "ro"orcionar tolerancia a fallos % balanceo de carga entre los 'ie'bros
del arreglo de dis"ositivos$ @odas las trans'isiones de datos son enviadas % recibidas de for'a secuencial
en cada interfa, esclava del arreglo e'"e,ando con la "ri'era .ue est# dis"onible$ /s la poltica
predeterminada del controlador % la .ue funciona "ara la 'a%or/a de los casos$
7 1uno3) Fstablece una "ol/tica de res"aldo activo .ue "ro"orciona tolerancia a fallos$ @odo el tr&fico se
trans'ite a trav#s de una tar(eta % solo se utili,ar& la otra en caso de .ue falle la "ri'era$
2 1dos3) Fstablece una "ol/tica B(R 1e6clusive=or! exclusiva6o3 "ara "ro"orcionar tolerancia a fallos %
balanceo de carga$ Fste algorit'o co'"ara las solicitudes entrantes de las direcciones 5;C asta .ue
coinciden "ara la direccin 5;C 15edia ;ccess Control3 de una de las tar(etas esclavas$ Una ve, .ue se
establece el enlace! las trans'isiones de datos de datos son enviadas en for'a secuencial e'"e,ando con
la "ri'era interfa, dis"onible$
8 1tres3) Fstablece una "ol/tica de Round-Robin! "ara "ro"orcionar tolerancia a fallos % balanceo de
carga$ @odas las trans'isiones de datos son enviadas de for'a secuencial en cada interfa, esclava del
arreglo e'"e,ando con la "ri'era .ue est# dis"onible$
Fn el siguiente e(e'"lo se establece la "ol/tica 9 1cero3)
options bonding <o-e=6
,1..!.. 7ar6metro miimon.
Se utili,a "ara es"ecificar cada cuantos 'ilisegundos se debe su"ervisar el enlace 5II 15edia Inde"endent
Interface3$ Se utili,a cuando se necesita alta dis"onibilidad "ara verificar si la interfa, est& activa % verificar
si a% un cable de red conectado$ Fn el siguiente e(e'"lo se establecen 799 'ilisegundos)
options bonding mode+% <%%<on=366
Se re.uiere .ue todos los controladores del arreglo de tar(etas tengan so"orte "ara 5II$ -ara verificar si el
controlador de la tar(eta tiene so"orte "ara 5II! se utili,a el 'andato ethtool! donde la salida debe devolver
el "ar&'etro &inO Detected con el valor +es$ F(e'"lo)
ethtool eth%
Lo anterior debe devolver algo si'ilar a lo siguiente)
Settings "or eth%7
Supported ports7 D 1= .)) E
Supported link modes7 1%base1/3al" 1%base1/>ull
1%%base1/3al" 1%%base1/>ull
Supports auto!negotiation7 <es
5dvertised link modes7 1%base1/3al" 1%base1/>ull
1%%base1/3al" 1%%base1/>ull
5dvertised auto!negotiation7 <es
Speed7 1%%.b/s
&uplex7 3al"
=ort7 .))
=3<5&7 @8
848
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1ransceiver7 internal
5uto!negotiation7 on
Supports 4ake!on7 pumbg
4ake!on7 d
*urrent message level7 %x%%%%%%%$ ($)
2ink detected7 yes
-ara desactivar esta funcin! se utili,a el valor 9 1cero3$ F(e'"lo)
options bonding mode+% <%%<on=6
,1... ;rchivo de configuracin 8etc8s+sconfig8netRorO-scripts8bondI.
Fste se configura con los 'is'o "ar&'etros .ue una tar(eta nor'al$ ;e.uiere los "ar&'etros (N$((<!
$((<7R(<(! D/JIC/! I7;DDR! N/<5;9N % :;</\;Z$
Fn el siguiente e(e'"lo se configura la interfa, bondI con la direccin ?- est&tica 7B2$74A$9$7! '&scara de
subred 222$222$222$9! "uerta de enlace 7B2$74A$9$22= % la interfa, inicia (unto con el siste'a creando el
arcivo 8etc8s+sconfig8netRorO-scripts8ifcfg-bondI con el siguiente contenido)
&'()*'+bond%
0-;001+yes
;001=R010+static
)=5&&R+198!166#%#1
-'1.5SH+8::#8::#8::#%
I51'45<+198#166#%#8:4
Las interfaces de red a utili,ar co'o esclavas se configuran de la siguiente for'a! considerando .ue se tiene
et9 % et7! el contenido del arcivo 8etc8s+sconfig8netRorO-scripts8ifcfg-ethI ser/a)
&'()*'+eth%
;001=R010+none
0-;001+no
S25('+yes
.5S1'R+bond%
R el contenido del arcivo 8etc8s+sconfig8netRorO-scripts8ifcfg-eth! ser/a)
&'()*'+eth1
;001=R010+none
0-;001+no
S25('+yes
.5S1'R+bond%
,1..,. IniciarG detener + reiniciar el servicio netRorO.
-ara e(ecutar "or "ri'era ve, el servicio netRorO tras configurar el aco"la'iento de tar(etas! utilice)
service netork start
-ara acer .ue los ca'bios ecos tras 'odificar la configuracin surtan efecto! utilice)
service netork restart
84=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara detener el servicio netRorO utilice)
service netork stop
,1.,. Comprobaciones.
-ara verificar .ue la interfa, lgica .ued configurada! en el caso de aber utili,ado las interfaces et9 %
et7! utilice)
i"con"ig
Lo anterior debe devolver algo si'ilar a lo siguiente)
bond% 2ink encap7'thernet 34addr %%7%176%74179*765
inet addr7198#166#1#64 ;cast7198#166#1#8:: .ask78::#8::#8::#%
inet6 addr7 "e6%778%176%""7"e4179c6a/64 Scope72ink
?= ;R05&*5S1 R?--)-I .5S1'R .?21)*5S1 .1?71:%% .etric71
RX packets7:186 errors7% dropped7% overruns7% "rame7%
1X packets7@61$ errors7$ dropped7% overruns7% carrier7%
collisions7@ txJueuelen7%
RX bytes7@49@1@9 (@#@ .i;) 1X bytes749:%8: (46@#4 Hi;)
eth% 2ink encap7'thernet 34addr %%7%176%74179*765
inet6 addr7 "e6%778%176%""7"e4179c6a/64 Scope72ink
?= ;R05&*5S1 R?--)-I S25(' .?21)*5S1 .1?71:%% .etric71
RX packets7:%:6 errors7% dropped7% overruns7% "rame7%
1X packets7@$61 errors7% dropped7% overruns7% carrier7%
collisions7@ txJueuelen71%%%
RX bytes7@4$466: (@#@ .i;) 1X bytes74666@8 (4$$#1 Hi;)
)nterrupt711 ;ase address7%xc%%%
eth1 2ink encap7'thernet 34addr %%7%176%74179*765
inet6 addr7 "e6%778%176%""7"e4179c6a/64 Scope72ink
?= ;R05&*5S1 R?--)-I S25(' .?21)*5S1 .1?71:%% .etric71
RX packets7$8 errors7% dropped7% overruns7% "rame7%
1X packets7@6 errors7$ dropped7% overruns7% carrier7%
collisions7% txJueuelen71%%%
RX bytes7164:4 (16#% Hi;) 1X bytes76@9@ (6#8 Hi;)
)nterrupt71%
lo 2ink encap72ocal 2oopback
inet addr718$#%#%#1 .ask78::#%#%#%
inet6 addr7 771/186 Scope73ost
?= 200=;5*H R?--)-I .1?7164@6 .etric71
RX packets761@6 errors7% dropped7% overruns7% "rame7%
1X packets761@6 errors7% dropped7% overruns7% carrier7%
collisions7% txJueuelen7%
RX bytes76@64664 ($#9 .i;) 1X bytes76@64664 ($#9 .i;)
-ara verificar .ue las interfaces de red est&n funcionando correcta'ente % .ue a% un cable de red
conectado a #stas! se utili,a el 'andato ethtool del siguiente 'odo)
ethtool eth% Rgrep ,2ink detected,
ethtool eth1 Rgrep ,2ink detected,
Si a'bas tar(etas tiene so"orte "ara 5II! lo anterior debe devolver lo siguiente)
2ink detected7 yes
2ink detected7 yes
842
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,1.-. $ibliografa.
@o'as Davis) tt")//***$linuxfoundation$org/en/Net)Bonding
@o'as Davis)
tt")//***$Kernel$org/"ub/linux/Kernel/"eo"le/'arcelo/linux62$=/Docu'entation/net*orKing/bonding$
txt
844
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,4. Cone*in a redes inal6mbricas P\ifiQ desde
terminal.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,4.!. Introduccin.
Configurar % conectarse a una red Qifi desde la interfa, gr&fica es un "rocedi'iento relativa'ente trivial!
de(ando .ue todos los "rocedi'ientos los realicen Net*orK:anager o Conn'an$ Sin e'bargo a
circunstancias en las cuales "uede ser necesario conectarse a una red Qifi desde una ter'inal$ +
continuacin describir# los "rocedi'ientos "ara conectarse a los dos ti"os de redes Qifi '&s utili,ados! QF-
% Q-+! con configuraciones b&sicas utili,adas en dis"ositivos co'o ser/an los "untos de acceso de los
'ode' +DSL de -rodig% ?nfinitu'$
,4.!.!. >?ue es \7;@ >7or Cu debera usarlo en lugar de \/7@
\7; 1\i6>i 7rotected ;ccess3 % \7; es una clase de siste'as "ara el asegura'iento de redes
inal&'bricas$ \7; fue creado en res"uesta a las serias debilidades de otros "rotocolos co'o \/7 1\ired
/.uivalent 7rivac%3$ ?'"le'enta la 'a%or/a de lo .ue confor'a el est&ndar I/// 4I.!!i % fue diseado
"ara funcionar con todas los dis"ositivos "ara redes inal&'bricas! exce"to los "untos de acceso de "ri'era
generacin$ \7; i'"le'enta todo el est&ndar I/// 4I.!!i! "ero no funciona con 'ucos dis"ositivos
vie(os$
\7; fue creado "or el gru"o industrial % co'ercial +lian,a Qi6>i! dueos de la 'arca registrada \i-2i %
certificadores de los dis"ositivos .ue ostenten dico no'bre$
Los datos utili,an el algorit'o ;C= con una clave de 72A bits % un vector de iniciali,acin de =A bits$ Una de
las 'e(oras '&s sobresalientes sobre su "redecesor! \/7! es <NI7 1<e'"oral Ne% Integrit% 7rotocol o
-rotocolo de integridad de clave te'"oral3! el cual consiste en el ca'bio din&'ico 'ientras se utili,a el
siste'a$ Cuando se co'bina con Jectores de Iniciali3acin 'a%ores! ace considerable'ente '&s dif/cil
reali,ar ata.ues "ara la obtencin de llaves! co'o ocurre con \/7$
+de'&s de "ro"orcionar autenticacin % cifra'iento! \7; "ro"orciona 'e(or integridad de la carga 0til$ La
verificacin de redundancia c/clica 1CRC o C%clic Redundanc% CecK3 utili,ada en \/7 es insegura "or.ue
"er'ite alterar la carga 0til % actuali,ar el 'ensa(e de verificacin de redundancia c/clica sin necesidad de
conocer la clave \/7$ Fn ca'bio \7; utili,a un Cdigo de Integridad de 5ensa%e 15IC o 5essage
Integrit% Code3 .ue es en realidad un algorit'o deno'inado 2Gicael3! .ue fue el '&s fuerte .ue se "udo
utili,ar con dis"ositivos antiguos "ara redes inal&'bricas a fin de no de(ar obsoletos a #stos$ Fl Cdigo de
Integridad de 5ensa%e de \7; inclu%e un un 'ecanis'o .ue contrarresta los intentos de ata.ue "ara
vulnerar <NI7 % blo.ues te'"orales$
Fn resu'en! \7; ace '&s dif/cil vulnerar las redes inal&'bricas al incre'entar los ta'aos de las claves
% Jectores de Iniciali3acin! reduciendo el n0'ero de "a.uetes enviados con claves relacionadas %
aadiendo un siste'a de verificacin de 'ensa(es$
845
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+de'&s de "oder utili,ar una clave co'"artida 179N o 7re69ared Ne%3! lo cual su"le la co'"le(idad de
i'"le'entacin de un servidor de autenticacin 4I.!B en ogares % oficinas "e.ueas! \7; "uede
utili,ar 7rotocolos /*tensibles de ;utenticacin 1/;7 o 1/xtensible ;utentication 7rotocol3! co'o los
siguientes)
F+-6@LS
F+-6@@LS/:SCI+-v2
-F+-v9/F+-6:SCI+-v2
-F+-v7/F+-6G@C
F+-6S?:
F+-6LF+-
Fntre los diversos servidores .ue "ueden utili,arse "ara este ti"o de i'"le'entaciones! est& 2reeR;DI"9$
;lcance &ibre cuenta con un 'odesto docu'ento "ara la configuracin de esta i'"le'entacin$
,4.. /Cuipamiento lgico necesario.
,4..!. Instalacin a travs de +um.
Se re.uieren los "a.uetes Rireless-tools % RpaUsupplicant$ -ara instalar o actuali,ar el e.ui"a'iento
lgico necesario en Cent(9! 2edora o Red DatF /nterprise &inu* % versiones "osteriores de #stos! slo
se necesita e(ecutar co'o root lo siguiente)
yum !y install ireless!tools pa/supplicant
Si utili,a open9"9/ o 9"9/ &inu* /nterprise! slo se necesita e(ecutar lo siguiente "ara instalar o
actuali,ar el e.ui"a'iento lgico necesario! en caso de .ue #ste estuviese ausente)
yast !i ireless!tools pa/supplicant
Si utili,a Debian o "buntu % versiones "osteriores! slo se necesita e(ecutar lo siguiente "ara instalar o
actuali,ar el e.ui"a'iento lgico necesario! en caso de .ue #ste estuviese ausente)
sudo apt!get install ireless!tools pa/supplicant
,4... 7reparativos.
Fn siste'as o"erativos basados sobre Cent(9! 2edora! Red Dat /nterprise &inu*! open9"9/ % 9"9/
&inu* /nterprise! el "ri'er "aso consiste en ca'biarse al usuario root)
su !l
Fn siste'as o"erativos basados sobre Ubuntu Linux! se "uede utili,ar el 'andato sudo "ara todos los
"rocedi'ientos! "recediendo todos los 'andatos utili,ados con sudo$
sudo cualJuier mandato utiliCado
F(e'"los)
84A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
sudo i"up lo
sudo icon"ig lan%
sudo ilist lan% scan
Debido a .ue segura'ente el servicio NetRorO5anager ar& conflicto con los "rocedi'ientos! se debe
detener #ste)
service -etork.ananger stop
:ucos co'"onentes del siste'a re.uieren .ue est# activa la interfa, de retorno del siste'a 1loo"bacK3!
"or lo .ue es i'"ortante iniciar #sta)
i"up lo
-ara "oder co'en,ar a utili,ar la interfa, Qifi! solo basta e(ecutar el 'andato iRconfig sobre dica interfa,)
icon"ig lan%
Fs buena idea reali,ar un escaneado de las redes Qifi dis"onibles "ara asegurarse se "uede acceder a la red
Qifi deseada % "ara deter'inar el "rotocolo a utili,ar)
ilist lan% scan
,4..,. ;utenticando en el punto de acceso.
,4..,.!. ; travs de redes \/7.
-ara redes inal&'bricas con autenticacin a trav#s de cifrado QF-! .ue se caracteri,an "or tener una
seguridad 'u% "obre! el "rocedi'iento es si'"le$ Slo basta utili,ar dos 'andatos$ Fl "ri'ero define el
no'bre del "unto de acceso a utili,ar)
icon"ig lan% essid punto!de!acceso
Fl segundo 'andato se utili,a "ara definir la clave de acceso a utili,ar! sea de 4= o 72A bit$
icon"ig lan% key clave!de!acceso
Si se utili,a una clave QF- ti"o +SC??! se define de la siguiente 'anera)
icon"ig lan% key s7clave!de!acceso
,4..,.. ; travs de redes \7;.
Se "rocede a deter'inar el no'bre de la red Qifi a utili,ar % la clave de acceso$ Fl 'andato
RpaUpassphrase se utili,ar& "ara generar un arcivo de configuracin a utili,ar "osterior'ente)
pa/passphrase punto!de!acceso clave!de!acceso Q /root/pa#con"
84B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se reali,a el "rocedi'iento desde Ubuntu Linux! el 'andato anterior fallar& si se utili,a sudo debido a
li'itaciones de seguridad de sudo % deber& utili,arse entonces el siguiente)
sudo bash !c ,pa/passphrase punto!de!acceso clave!de!acceso Q /root/pa#con",
Lo anterior generar& el arcivo Rpa.conf dentro del directorio de inicio del usuario root$
-ara iniciar la autenticacin con la red Qifi! se utili,a el 'andato RpaUsupplicant con las o"ciones -$! "ara
enviar el "rocesos a segundo "lano! 6D! "ara es"ecificar el controlador a utili,ar % 6c! "ara es"ecificar el
arcivo de configuracin creado en el "aso anterior$
pa/supplicant !; !&ext !ilan% !c/root/pa#con"
,4..-. ;signando par6metros de red a la interfa3.
,4..-.!. "tili3ando dhclient.
Lo '&s co'0n es utili,ar el 'andato dhclient "ara de(ar .ue el servidor DIC- del "unto de acceso o la L+N
se encargue de asignar los "ar&'etros de red "ara la interfa,$ Fs buena idea indicar a dhclient .ue libere el
"r#sta'o .ue estuviera asignado en el servidor DIC-)
dhclient !r
-ara obtener una nueva direccin ?-! se utili,a el 'andato dhclient de la siguiente 'anera)
dhclient lan%
,4..-.. ;signando manualmente los par6metros de red.
Si se conocen los datos "ara la configuracin de red! ta'bi#n es "osible asignarlos 'anual'ente$ Fn el
siguiente e(e'"lo! se asigna a la interfa, *lan9 la direccin ?- 7B2$74A$59$29! con '&scara de subred
222$222$222$72A 122 bit3 % "uerta de enlace 7B2$74A$59$7)
ip addr add 198#166#$%#:%/8: dev lan%
ip route add de"ault via 198#166#$%#1 dev lan%
-ara definir el servidor DNS! co'o el usuario root! se edita el arcivo 8etc8resolv.conf % se define la
direccin ?- del servidor DNS a utili,ar$ Fn el siguiente e(e'"lo! se define 7B2$74A$59$7 co'o servidor DNS)
echo ,nameserver 198#166#$%#1, Q /etc/resolv#con"
Si se reali,a el "rocedi'iento desde Ubuntu Linux o Debian! el 'andato anterior fallar& si se utili,a sudo
debido a li'itaciones de seguridad de sudo % deber& utili,arse entonces el siguiente)
sudo bash !c ,echo Znameserver 198#166#$%#1Z Q /etc/resolv#con",
,4..-.,. ;signacin permanente de par6metros de red en Cent(9G 2edora + Red Dat
/nterprise &inu*.
859
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Solo es necesario crear el arcivo de interfa,! dentro de 8etc8s+sconfig8netRorO-scripts8 siguiendo el
siguiente for'ato)
i"c"g!5uto/punto!de!acceso
Co'o e(e'"lo! si se desea conectar el siste'a a un "unto de acceso deno'inado alcance! se debe crear
el arcivo 8etc8s+sconfig8netRorO-scripts8ifcfg-;utoUalcance)
vim /etc/syscon"ig/netork!scripts/i"c"g!5uto/alcance8
Si se va a conectar a trav#s de DIC- % utili,ar cifrado \/7! "oner el siguiente contenido)
-5.'+,5uto alcance8,
0-;001+yes
1<='+4ireless
;001=R010+dhcp
'SS)&+alcance8
.0&'+.anaged
S'*?R)1</.0&'+open
&'>5?21H'<+1
=''R&-S+yes
=''RR0?1'S+yes
&3*=/*2)'-1/)&+nombre!eJuipo
&3*=/30S1-5.'+nombre!eJuipo
Si se va a conectar a trav#s de DIC- % utili,ar cifrado \7;! "oner el siguiente contenido)
-5.'+,5uto alcance8,
0-;001+yes
1<='+4ireless
;001=R010+dhcp
'SS)&+alcance8
.0&'+.anaged
H'</.I.1+4=5!=SH
=''R&-S+yes
=''RR0?1'S+yes
&3*=/*2)'-1/)&+nombre!eJuipo
&3*=/30S1-5.'+nombre!eJuipo
-ara la clave de acceso del "unto de acceso! es necesario crear el arcivo
8etc8s+sconfig8netRorO-scripts8Oe+s-;utoUalcance)
vim /etc/syscon"ig/netork!scripts/keys!5uto/alcance8
Si se va a conectar "or QF-! "oner el siguiente contenido)
H'</=5SS=3R5S'1+clave!de!acceso
Si se va a conectar "or Q-+! "oner el siguiente contenido)
4=5/=SH+clave!de!acceso
Ieco todo lo anterior! ser& "osible iniciar la interfa, e(ecutando el siguiente 'andato)
ip link set lan% up
857
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cuando sea necesario detener la interfa,! se e(ecuta el siguiente 'andato$
ip link set lan% don
,4.,. $ibliografa.
tt")//en$*iKi"edia$org/*iKi/Qi6>iM-rotectedM+ccess
tt")//***$alcancelibre$org/article$""/29959=9=7725=5288
tt")//***$alcancelibre$org/article$""/29959=987A=222787
852
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
,[. "so del mandato nc PNetcatQ.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
,[.!. Introduccin.
,[.!.!. ;cerca de Netcat.
Fl 'andato netcat o nc es una erra'ienta utili,ada "ara su"ervisar % escribir sobre conexiones tanto <C7
co'o "D7$ -uede abrir conexiones <C7! enviar "a.uetes "D7! escucar "eticiones sobre "uertos
arbitrarios tanto <C7 co'o "D7! "er'ite su"ervisar "uertos abiertos % otras 'ucas cosas '&s! tanto "ara
I7v- co'o I7v0$ Fs una de las erra'ientas de diagnstico % seguridad '&s "o"ulares % ta'bi#n una de
las '&s valoradas "or la co'unidad de usuarios de GNU/Linux$
,[.. /Cuipamiento lgico necesario.
,[..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
-ara instalar Netcat! e(ecute lo siguiente)
yum !y install nc
,[... /n open9"9/F + 9"9/F &inu* /nterprise.
-ara instalar Netcat! e(ecute lo siguiente)
yast !i netcat
,[.,. 7rocedimientos en Cent(9G 2edoraF + Red DatF /nterprise
&inu*.
Fl 'anual co'"leto del 'andato nc "uede consultarse e(ecutando lo siguiente)
man 1 nc
,[.,.!. Cone*iones simples.
-ara iniciar una conexin acia alg0n "uerto en alg0n siste'a! se utili,a el 'andato nc seguido de una
direccin I7 % un "uerto al cual conectarse$ Fn el siguiente e(e'"lo se reali,ar& una conexin acia el "uerto
22 195<73 de !1.I.I.!)
858
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
nc 18$#%#%#1 8:
Si a% un servidor de correo funcionado! lo anterior "uede devolver una salida si'ilar a la siguiente! donde
re.uerir& escribir quit % "ulsar la tecla FN@F; "ara cerrar la conexin)
88% localhost#localdomain 'S.1= [ 4edB 86 .ay 8%%6 1%7847:8 !%:%%
,>%$
881 8#%#% localhost#localdomain closing connection
,[.,.. Revisin de puertos.
-ara revisar los "uertos abiertos! se utili,a el 'andato nc con la o"cin ! -3 "ara solicitar se trate de
escucar "or "uertos abiertos % un "uerto o rango de "uertos$ Fn el siguiente e(e'"lo! se "ide al 'andato
nc revisar cu&les "uertos <C7 1'odo "redeter'inado3 est&n abiertos dentro del rango .ue va del "uerto 27
al "uerto 22$
nc !vC 18$#%#%#1 81!8:
Lo anterior "uede devolver una salida si'ilar a la siguiente! si se encontrasen abiertos los "uertos 27! 22 %
22$
*onnection to 18$#%#%#1 81 port Dtcp/"tpE succeededW
*onnection to 18$#%#%#1 88 port Dtcp/sshE succeededW
*onnection to 18$#%#%#1 8: port Dtcp/smtpE succeededW
De 'anera o"cional! se "ueden revisar si est&n abiertos los "uertos UD- abiertos aadiendo la o"cin -u$ Fn
el siguiente e(e'"lo se solicita al 'andato nc revisar cu&les "uertos "D7 se encuentran abiertos entre el
rango co'"rendido entre los "uertos 27 al A9$
nc !Cu 18$#%#%#1 81!6%
Lo anterior "uede devolver una salida si'ilar a la siguiente! donde se asu'e .ue se encuentran abiertos los
"uertos "D7 28! 45 % 4A)
*onnection to 18$#%#%#1 :@ port Dudp/domainE succeededW
*onnection to 18$#%#%#1 6$ port Dudp/bootpsE succeededW
*onnection to 18$#%#%#1 66 port Dudp/bootpcE succeededW
Si se .uiere obtener una salida '&s descri"tiva! slo es necesario e(ecutar el 'andato nc con las o"ciones
-v3 % la direccin I7 si se .uiere revisar "uertos <C7 abiertos o bien nc -v3u "ara "uertos "D7 abiertos!
donde la o"cin -v define se devuelva una salida m6s descriptiva$ Fn el siguiente e(e'"lo se "ide al
'andato nc revisar los "uertos <C7 abiertos entre el "uerto 29 al 22$
nc !vC 18$#%#%#1 8%!8:
La salida de lo anterior ta'bi#n devolver&! a diferencia de utili,ar slo la o"cin -3! cu&les "uertos est&n
cerrados en el rango es"ecificado$
85=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
nc7 connect to 18$#%#%#1 port 8% (tcp) "ailed7 *onnection re"used
*onnection to 18$#%#%#1 81 port Dtcp/"tpE succeededW
*onnection to 18$#%#%#1 88 port Dtcp/sshE succeededW
nc7 connect to 18$#%#%#1 port 8@ (tcp) "ailed7 *onnection re"used
nc7 connect to 18$#%#%#1 port 84 (tcp) "ailed7 *onnection re"used
*onnection to 18$#%#%#1 8: port Dtcp/smtpE succeededW
,[.,.,. Creando un modelo cliente servidor.
Fs relativa'ente si'"le crear un 'odelo cliente/servidor$ Desde una ter'inal .ue ser& utili,ada "ara iniciar
un 'odelo de servidor! se utili,a el 'andato nc con la o"cin -l 1listen o escucar3 seguida de un n0'ero de
"uerto .ue est# desocu"ado$ Fsto ar& .ue nc se co'"orte co'o servidor escucando "eticiones en un
"uerto arbitrario$ Fn el siguiente e(e'"lo se ar& .ue 'andato nc funcione co'o servidor escucando
"eticiones en el "uerto $
nc !l 88888
-ara establecer la conexin co'o cliente! desde otra ter'inal se inicia el 'andato nc es"ecificando co'o
argu'entos una direccin ?- % el nu'ero de "uerto al .ue se .uiera conectar$ Fn el siguiente e(e'"lo se
reali,a la conexin al "uerto de !1.I.I.! 1anfitrin local3)
nc 18$#%#%#1 88888
Con lo anterior! todo lo .ue se escriba desde la ter'inal co'o cliente "odr& ser visto en la ter'inal co'o
servidor$
,[.,.-. <ransferencia de datos.
@o'ando el e(e'"lo anterior! es "osible reali,ar transferencia de datos desde una ter'inal co'o cliente
acia una ter'inal co'o servidor$ La 0nica diferencia es .ue en el servidor se ca'bia el direcciona'iento
de la salida est&ndar 19<D("<3 de la ter'inal! acia un arcivo! co'o se e(e'"lifica a continuacin)
nc !l 88888 Q algo#out
Fn el cliente se reali,a algo si'ilar$ Fn lugar de ingresar datos desde la conexin$ Se ace a "artir de un
arcivo con contenido de la siguiente for'a)
nc 18$#%#%#1 88888 ] algo#in
Fn el e(e'"lo descrito se reali,a la transferencia de datos del arcivo algo.in! desde el "roceso co'o
cliente! acia el arcivo algo.out! en el "roceso co'o servidor$
,[.-. 7rocedimientos en open9"9/F + 9"9/F &inu* /nterprise.
Fl 'anual co'"leto del 'andato netcat "uede consultarse e(ecutando lo siguiente)
man 1 netcat
,[.-.!. Cone*iones simples.
852
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara iniciar una conexin acia alg0n "uerto en alg0n siste'a! se utili,a el 'andato netcat seguido de una
direccin I7 % un "uerto al cual conectarse$ Fn el siguiente e(e'"lo se reali,ar& una conexin acia el "uerto
22 195<73 de !1.I.I.!)
netcat 18$#%#%#1 8:
Si a% un servidor de correo funcionado! lo anterior "uede devolver una salida si'ilar a la siguiente! donde
re.uerir& escribir quit % "ulsar la tecla FN@F; "ara cerrar la conexin)
88% localhost#localdomain 'S.1= [ 4edB 86 .ay 8%%6 1%7847:8 !%:%%
,>%$
881 8#%#% localhost#localdomain closing connection
,[.-.. Revisin de puertos.
-ara revisar los "uertos abiertos! se utili,a el 'andato netcat con la o"cin ! -3 "ara solicitar se trate de
escucar "or "uertos abiertos % un "uerto o rango de "uertos$ Fn el siguiente e(e'"lo! se "ide al 'andato
netcat revisar cu&les "uertos <C7 1'odo "redeter'inado3 est&n abiertos dentro del rango .ue va del
"uerto 27 al "uerto 22$
netcat !vC 18$#%#%#1 81!8:
Lo anterior "uede devolver una salida si'ilar a la siguiente! si se encontrasen abiertos los "uertos 27! 22 %
22$
*onnection to 18$#%#%#1 81 port Dtcp/"tpE succeededW
*onnection to 18$#%#%#1 88 port Dtcp/sshE succeededW
*onnection to 18$#%#%#1 8: port Dtcp/smtpE succeededW
De 'anera o"cional! se "ueden revisar si est&n abiertos los "uertos UD- abiertos aadiendo la o"cin -u$ Fn
el siguiente e(e'"lo se solicita al 'andato netcat revisar cu&les "uertos "D7 se encuentran abiertos entre
el rango co'"rendido entre los "uertos 27 al A9$
netcat !Cu 18$#%#%#1 81!6%
Lo anterior "uede devolver una salida si'ilar a la siguiente! donde se asu'e .ue se encuentran abiertos los
"uertos "D7 28! 45 % 4A)
*onnection to 18$#%#%#1 :@ port Dudp/domainE succeededW
*onnection to 18$#%#%#1 6$ port Dudp/bootpsE succeededW
*onnection to 18$#%#%#1 66 port Dudp/bootpcE succeededW
Si se .uiere obtener una salida '&s descri"tiva! slo es necesario e(ecutar el 'andato netcat con las
o"ciones -v3 % la direccin I7 si se .uiere revisar "uertos <C7 abiertos o bien netcat -v3u "ara "uertos
"D7 abiertos! donde la o"cin -v define se devuelva una salida m6s descriptiva$ Fn el siguiente e(e'"lo
se "ide al 'andato netcat revisar los "uertos <C7 abiertos entre el "uerto 29 al 22$
netcat !vC 18$#%#%#1 8%!8:
La salida de lo anterior ta'bi#n devolver&! a diferencia de utili,ar slo la o"cin -3! cu&les "uertos est&n
cerrados en el rango es"ecificado$
854
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
netcat7 connect to 18$#%#%#1 port 8% (tcp) "ailed7 *onnection re"used
*onnection to 18$#%#%#1 81 port Dtcp/"tpE succeededW
*onnection to 18$#%#%#1 88 port Dtcp/sshE succeededW
netcat7 connect to 18$#%#%#1 port 8@ (tcp) "ailed7 *onnection re"used
netcat7 connect to 18$#%#%#1 port 84 (tcp) "ailed7 *onnection re"used
*onnection to 18$#%#%#1 8: port Dtcp/smtpE succeededW
,[.-.,. Creando un modelo cliente servidor.
Fs relativa'ente si'"le crear un 'odelo cliente/servidor$ Desde una ter'inal .ue ser& utili,ada "ara iniciar
un 'odelo de servidor! se utili,a el 'andato netcat con la o"cin -l 1listen o escucar3 seguida de un
n0'ero de "uerto .ue est# desocu"ado$ Fsto ar& .ue netcat se co'"orte co'o servidor escucando
"eticiones en un "uerto arbitrario$ Fn el siguiente e(e'"lo se ar& .ue 'andato netcat funcione co'o
servidor escucando "eticiones en el "uerto $
netcat !l 88888
-ara establecer la conexin co'o cliente! desde otra ter'inal se inicia el 'andato netcat es"ecificando
co'o argu'entos una direccin ?- % el nu'ero de "uerto al .ue se .uiera conectar$ Fn el siguiente e(e'"lo
se reali,a la conexin al "uerto de !1.I.I.! 1anfitrin local3)
netcat 18$#%#%#1 88888
Con lo anterior! todo lo .ue se escriba desde la ter'inal co'o cliente "odr& ser visto en la ter'inal co'o
servidor$
,[.-.-. <ransferencia de datos.
@o'ando el e(e'"lo anterior! es "osible reali,ar transferencia de datos desde una ter'inal co'o cliente
acia una ter'inal co'o servidor$ La 0nica diferencia es .ue en el servidor se ca'bia el direcciona'iento
de la salida est&ndar 19<D("<3 de la ter'inal! acia un arcivo! co'o se e(e'"lifica a continuacin)
netcat !l 88888 Q algo#out
Fn el cliente se reali,a algo si'ilar$ Fn lugar de ingresar datos desde la conexin$ Se ace a "artir de un
arcivo con contenido de la siguiente for'a)
netcat 18$#%#%#1 88888 ] algo#in
Fn el e(e'"lo descrito se reali,a la transferencia de datos del arcivo algo.in! desde el "roceso co'o
cliente! acia el arcivo algo.out! en el "roceso co'o servidor$
855
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-I. Como utili3ar Netstat.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
-I.!. Introduccin.
-I.!.!. ;cerca de Netstat
Netstat es una erra'ienta utili,ada "ara su"ervisar las conexiones de red! tablas de enca'ina'iento!
estad/sticas de interfaces % asignaturas de 'ultidifusin$ Se utili,a "rinci"al'ente "ara encontrar "roble'as
en una red % "ara 'edir el tr&fico de red co'o una for'a de calcular el dese'"eo de #sta$
-I.. 7rocedimientos.
-ara visuali,ar todas las conexiones activas en el siste'a! tanto @C- co'o UD-! se utili,a la o"cin 6a$
netstat !a
Debido a .ue la cantidad de datos "uede ser 'uca "ara ser visuali,ada con co'odidad en la "antalla del
'onitor! se "uede utili,ar el 'andato less co'o subrutina$
netstat !a R less
+ continuacin se 'uestra un e(e'"lo de la salida)
5ctive )nternet connections (servers and established)
=roto Recv!b Send!b 2ocal 5ddress >oreign 5ddress State
tcp % % L7netbios!ssn L7L 2)S1'-
tcp % % L7submission L7L 2)S1'-
tcp % % L7sunrpc L7L 2)S1'-
tcp % % L7x11 L7L 2)S1'-
tcp % % L7:9%4 L7L 2)S1'-
tcp % % L7ebcache L7L 2)S1'-
udp % % L7"ilenet!tms L7L
udp % % L7"ilenet!nch L7L
udp % % L7"ilenet!rmi L7L
udp % % L7"ilenet!pa L7L
udp % % 198#166#188#17netbios!ns L7L
udp % % servidor%%#c7netbios!ns L7L
5ctive ?-)X domain sockets (servers and established)
=roto Re"*nt >lags 1ype State )!-ode =ath
unix 8 D 5** E S1R'5. 2)S1'-)-I 1$:@% ^/tmp/"am!root!
unix 8 D 5** E S1R'5. 2)S1'-)-I $944 /dev/gpmctl
unix 8 D 5** E S1R'5. 2)S1'-)-I 6991 /var/run/audit/events
unix 8 D 5** E S1R'5. 2)S1'-)-I $4%9 /var/run/dbus/system/bus/socket
unix 8 D 5** E S1R'5. 2)S1'-)-I $:%6 /var/run/pcscd#comm
unix 8 D 5** E S1R'5. 2)S1'-)-I $64$ /var/run/acpid#socket
unix 8 D 5** E S1R'5. 2)S1'-)-I $$@$ /var/run/cups/cups#sock
unix 8 D 5** E S1R'5. 2)S1'-)-I 16$9: ^/tmp/dbus!4?ato6eS?3
-ara 'ostrar solo las conexiones activas "or @C-! se utili,a)
85A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
netstat !t
-ara 'ostrar solo las conexiones activas "or UD-! se utili,a)
netstat !u
-ara 'ostrar las estad/sticas de uso "ara todos los ti"os de conexiones! se utili,a)
netstat !s
Lo anterior "uede devolver una salida si'ilar a la siguiente)
)p7x 8 D E &IR5. 6%1:
6%%: total packets received $989
8 ith invalid addresses5. $696
% "orardedE &IR5. $666
% incoming packets discarded $:%:
$986 incoming packets delivered *0--'*1'& $418
$9%: reJuests sent out1R'5. *0--'*1'& $411
)cmp7 @ D E S1R'5. *0--'*1'& $@49
19 )*.= messages received5. *0--'*1'& $@46
% input )*.= message "ailed# $199
)*.= input histogram7&IR5. $%$1
destination unreachable7 16 694$
echo reJuests7 1 &IR5. 691$
19 )*.= messages sentS1R'5. *0--'*1'& 664:
% )*.= messages "ailed1R'5. *0--'*1'& 6644
)*.= output histogram7a R less
destination unreachable7 16
echo replies7 1
1cp7
114 active connections openings
8 passive connection openings
% "ailed connection attempts
18 connection resets received
% connections established
$688 segments received
$:@@ segments send out
66 segments retransmited
% bad segments received#
1$ resets sent
?dp7
86$ packets received
% packets to unknon port received#
% packet receive errors
8$9 packets sent
1cp'xt7
$ 1*= sockets "inished time ait in "ast timer
1@: delayed acks sent
buick ack mode as activated 86 times
61 packets directly Jueued to recvmsg preJueue#
16@64%64 packets directly received "rom backlog
@918@8% packets directly received "rom preJueue
8%61 packets header predicted
1:8: packets header predicted and directly Jueued to user
4$: acknoledgments not containing data received
1@11 predicted acknoledgments
1 times recovered "rom packet loss due to S5*H data
1 congestion indos "ully recovered
4 congestion indos partially recovered using 3oe heuristic
1@ congestion indos recovered a"ter partial ack
% 1*= data loss events
4 timeouts a"ter S5*H recovery
1 "ast retransmits
85B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4$ other 1*= timeouts
88 &S5*Hs sent "or old packets
1 &S5*Hs received
9 connections reset due to early user close
-ara 'ostrar sola'ente las estad/sticas originadas "or conexiones <C7! se utili,a)
netstat !s !t
Lo anterior "uede devolver una salida si'ilar a la siguiente)
1cp7
114 active connections openings
8 passive connection openings
% "ailed connection attempts
18 connection resets received
% connections established
$688 segments received
$:@@ segments send out
66 segments retransmited
% bad segments received#
1$ resets sent
1cp'xt7
$ 1*= sockets "inished time ait in "ast timer
1@: delayed acks sent
buick ack mode as activated 86 times
61 packets directly Jueued to recvmsg preJueue#
16@64%64 packets directly received "rom backlog
@918@8% packets directly received "rom preJueue
8%61 packets header predicted
1:8: packets header predicted and directly Jueued to user
4$: acknoledgments not containing data received
1@11 predicted acknoledgments
1 times recovered "rom packet loss due to S5*H data
1 congestion indos "ully recovered
4 congestion indos partially recovered using 3oe heuristic
1@ congestion indos recovered a"ter partial ack
% 1*= data loss events
4 timeouts a"ter S5*H recovery
1 "ast retransmits
4$ other 1*= timeouts
88 &S5*Hs sent "or old packets
1 &S5*Hs received
9 connections reset due to early user close
-ara 'ostrar sola'ente las estad/sticas originadas "or conexiones "D7! se utili,a)
netstat !s !u
Lo anterior "uede devolver una salida si'ilar a la siguiente)
?dp7
86$ packets received
% packets to unknon port received#
% packet receive errors
8$9 packets sent
-ara 'ostrar la tabla de enca'ina'ientos! se utili,a)
netstat !r
8A9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior "uede devolver una salida si'ilar a la siguiente)
Hernel )= routing table
&estination Iateay Ienmask >lags .SS 4indo irtt )"ace
198#166#%#% L 8::#8::#8::#% ? % % % eth%
198#166#188#% L 8::#8::#8::#% ? % % % virbr%
169#8:4#%#% L 8::#8::#%#% ? % % % eth%
de"ault 198#166#%#8:4 %#%#%#% ?I % % % eth%
-ara 'ostrar las asignaciones gru"os de 'ultidifusin! se utili,a)
netstat !g
Lo anterior "uede devolver una salida si'ilar a la siguiente)
)=v6/)=v4 Iroup .emberships
)nter"ace Re"*nt Iroup
!!!!!!!!!!!!!!! !!!!!! !!!!!!!!!!!!!!!!!!!!!
lo 1 522!S<S1'.S#.*5S1#-'1
virbr% 1 884#%#%#8:1
virbr% 1 522!S<S1'.S#.*5S1#-'1
eth% 1 884#%#%#8:1
eth% 1 522!S<S1'.S#.*5S1#-'1
lo 1 ""%8771
peth% 1 ""%8771
virbr% 1 ""%87717""%%7%
virbr% 1 ""%8771
vi"%#% 1 ""%8771
eth% 1 ""%87717"":6716b9
eth% 1 ""%8771
xenbr% 1 ""%8771
vi"1#% 1 ""%8771
-ara 'ostrar la tabla de interfaces activas en el siste'a! se utili,a)
netstat !i
Lo anterior "uede devolver una salida si'ilar a la siguiente)
Hernel )nter"ace table
)"ace .1? .et RX!0H RX!'RR RX!&R= RX!0(R 1X!0H 1X!'RR 1X!&R= 1X!0(R >lg
eth% 1:%% % 8@9$ % % % 8%$9 % % % ;.R?
lo 164@6 % :$6% % % % :$6% % % % 2R?
peth% 1:%% % @894 % % % 8:64 % % % ;0R?
vi"%#% 1:%% % 8%$9 % % % 8@9$ % % % ;0R?
vi"1#% 1:%% % 4: % % % @64 % % % ;0R?
virbr% 1:%% % % % % % $8 % % % ;.R?
xenbr% 1:%% % 816 % % % % % % % ;0R?
8A7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-!. "so del mandato ;R7.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
-!.!. Introduccin
-!.!.!. ;cerca de ;R7.
;R7 significa ;ddress Resolution 7rotocol o "rotocolo de resolucin de direcciones$ ;R7 se utili,a "ara
supervisar + modificar la tabla de asignaciones de direcciones I7 % direcciones 5;C 15edia ;ccess
Control3$ ;R7 utili,a un cace .ue consiste en una tabla .ue al'acena las asignaciones entre nivel de
enlace de datos % las direcciones ?- del nivel de red$ Fl nivel de enlace de datos se encarga de gestionar las
direcciones 5;C % el nivel de red de las direcciones I7$ ;R7 asocia direcciones I7 a las direcciones 5;C!
(usto a la inversa del "rotocolo R;R7 .ue asigna direcciones 5;C a las direcciones I7$ -ara reducir el
n0'ero de "eticiones ;R7! cada siste'a o"erativo .ue i'"le'enta el "rotocolo ;R7 'antiene una cace
en la memoria R;5 de todas las recientes asignaciones$
-uede consultarse el 'anual detallado res"ecto del uso del 'andato ar" e(ecutando lo siguiente)
man 6 arp
Fl tie'"o de duracin del cace de la tabla de ;R7 es de 49 segundos$ -uede cote(arse este valor
exa'inando el contenido del arcivo 8proc8s+s8net8ipv-8neigh8default8gcUstaleUtime$
cat /proc/sys/net/ipv4/neigh/de"ault/gc/stale/time
Lo anterior debe devolver el valor 49 en la salida$
Ca'biar el valor de la duracin del cace de la tabla de +;- "uede i'"edir se desborde #sta cuando se
traba(a en redes co'"uestas "or centenares o 'iles de siste'as .ue en con(unto acen de'asiadas
"eticiones +;- .ue "udieran saturar las ca"acidades de un servidor$
Fl valor "uede 'odificarse utili,ando el 'andato s+sctl solicitando ca'biar el valor de la variable
net.ipv-.neigh.default.gcUstaleUtime$ Fn el siguiente e(e'"lo! se ca'bia el valor predeterminado % el
corres"ondiente a la interfa, ethI! a 8499 segundos 17 ora3)
sysctl ! net#ipv4#neigh#de"ault#gc/stale/time+@6%%
sysctl ! net#ipv4#neigh#eth%#gc/stale/time+@6%%
-ara cote(ar .ue el ca'bio reali,ado! e(ecute los siguientes dos 'andatos)
cat /proc/sys/net/ipv4/neigh/de"ault/gc/stale/time
cat /proc/sys/net/ipv4/neigh/eth%/gc/stale/time
8A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior debe devolver el valor 8499 en la salida "ara a'bos 'andatos$
-ara .ue el ca'bio sea "er'anente! edite el arcivo 8etc8s+sctl.conf)
vim /etc/sysctl#con"
R aada al final del arcivo el siguiente contenido! conservando un es"acio antes % des"u#s del signo b
1igual3! asu'iendo .ue se desea ca'biar los valores "redeter'inado % el corres"ondiente a la interfa, et9)
net#ipv4#neigh#de"ault#gc/stale/time + @6%%
net#ipv4#neigh#eth%#gc/stale/time + @6%%
-!.. /Cuipamiento lgico necesario.
Fl 'andato arp for'a "arte del "a.uete net-tools! el cual se instala de 'odo "redeter'inado en CentGS!
;ed IatH Fnter"rise Linux! o"enSUSFH % SUSFH Linux Fnter"rise! "ues se trata de un "a.uete obligatorio$
-!.,. 7rocedimientos.
-ara visuali,ar el cace ;R7 actual! e(ecute lo siguiente$
arp !a
Lo anterior debe devolver algo si'ilar a lo siguiente! en el caso de tratarse de un 0nico siste'a)
m8:4#alcancelibre#org (198#166#1#8:4) at %%71479:79$78$7'9 DetherE on eth%
Cuando se trata de un servidor .ue sirve co'o "uerta de enlace "ara una red de &rea local! la salida de la
tabla "uede ser si'ilar a lo siguiente)
m%:1#redlocal#net (1%#1#1#:1) at %%71@78%7&%7%971' DetherE on eth1
m%46#redlocal#net (1%#1#1#46) at %%7%>71>7;17$1714 DetherE on eth1
m%$@#redlocal#net (1%#1#1#$@) at %%71178:7>679@7>1 DetherE on eth1
m%$%#redlocal#net (1%#1#1#$%) at %%71178:7>67587:8 DetherE on eth1
m%4%#redlocal#net (1%#1#1#4%) at %%7%&76%76'78$7@4 DetherE on eth1
m%@6#redlocal#net (1%#1#1#@6) at %%7%&76%76'78:7>; DetherE on eth1
m%11#redlocal#net (1%#1#1#11) at %%71178>7*$7&%7&$ DetherE on eth1
Fl 'andato arp ace"ta varias o"ciones '&s$ Si se desea visuali,ar la infor'acin en estilo %inu6! se utili,a
sin o"ciones o bien con la o"cin 6e 1redundante! "ues es el 'odo "redeter'inado3$ F(e'"lo)
arp
Lo anterior debe devolver una salida si'ilar a la siguiente)
5ddress 34type 34address >lags .ask )"ace
m%:1#redlocal#net ether %%71@78%7&%7%971' * eth1
m%46#redlocal#net ether %%7%>71>7;17$1714 * eth1
m%$@#redlocal#net ether %%71178:7>67587:8 * eth1
m%$%#redlocal#net ether %%71178:7>679:76' * eth1
m%4%#redlocal#net ether %%7%&76%76'78676> * eth1
m%@6#redlocal#net ether %%71178:7>67:>761 * eth1
8A8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se desea observar lo anterior en for'ato nu'#rico! se utili,a la o"cin 6n)
arp !n
Lo anterior debe devolver una salida si'ilar a la siguiente)
5ddress 34type 34address >lags .ask )"ace
1%#1#1#46 ether %%7%>71>7;17$1714 * eth1
1%#1#1#$% ether %%71178:7>67587:8 * eth1
1%#1#1#$@ ether %%71178:7>679@7>1 * eth1
1%#1#1#4% ether %%7%&76%76'78$7@4 * eth1
1%#1#1#@4 ether %%7%&76%76'78676> * eth1
Si se desea es"ecificar una interfa, en "articular! se utili,a la o"cin 6i! seguida del no'bre de la interfa,$
F(e'"lo)
arp !i eth%
Lo anterior debe regresar algo si'ilar a lo siguiente! en el caso de tratarse de un 0nico siste'a involucrado)
5ddress 34type 34address >lags .ask )"ace
m8:4#alcancelibre#org ether %%71479:79$78$7'9 * eth%
Si se desea aadir un registro 'anual'ente! se "uede acer utili,ando la o"cin 6s! seguida del no'bre de
un anfitrin % la direccin :+C corres"ondiente$ F(e'"lo)
arp !s m8%%#redlocal#net %%7%675176471675&
Si se .uiere eli'inar un registro de la tabla! slo se utili,a la o"cin -d seguida del no'bre del anfitrin 1o
direccin ?-3 .ue se desea eli'inar$ F(e'"lo)
arp !d m8%%#redlocal#net
-ara li'"iar todo el cace! se "uede utili,ar un bucle co'o el siguiente)
"or i in aarp !n R ak Zeprint F1fZ R grep !v 5ddressa
do
arp !d Fi
done
Fn el guin anterior se "ide crear la variable i a "artir de la salida de la e(ecucin del 'andato arp con la
o"cin -n! "ara devolver las direcciones nu'#ricas! 'ostrando a trav#s del 'andato aRO! slo la "ri'era
colu'na de la tabla generada % eli'inando la cadena de caracteres ;ddress$ Ysto genera una lista de
direcciones ?- .ue se asignan co'o valores de la variable i en el bucle! donde se eli'ina cada una de estas
direcciones ?- utili,ando arp -d$
Fl ob(eto de li'"iar el cace de ;R7 es "er'itir corregir los registros de la tabla en ciertos escenarios
donde! "or e(e'"lo! un e.ui"o fue encendido con una direccin I7 .ue %a est# en uso$
8A=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-. Introduccin a I7<;$&/9
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
-.!. Introduccin.
-.!.!. ;cerca de Iptables + Netfilter.
Netfilter es un con(unto de gancos 1DooOs! es decir! t#cnicas de "rogra'acin .ue se e'"lean "ara crear
cadenas de "rocedi'ientos co'o 'ane(ador3 dentro del n0cleo de GNU/Linux % .ue son utili,ados "ara
interce"tar % 'ani"ular "a.uetes de red$ Fl co'"onente 'e(or conocido es el cortafuegos! el cual reali,a
"rocesos de filtracin de "a.uetes$ Los gancos son ta'bi#n utili,ados "or un co'"onente .ue se encarga
del N;< 1acrni'o de Net*orK ;ddress <ranslation o @raduccin de direccin de red3$ Fstos co'"onentes
son cargados co'o 'dulos del n0cleo$
Iptables es el no'bre de la erra'ienta de es"acio de usuario 1"ser 9pace! es decir! &rea de 'e'oria
donde todas las a"licaciones! en 'odo de usuario! "ueden ser interca'biadas acia 'e'oria virtual cuando
sea necesario3 a trav#s de la cual los ad'inistradores crean reglas "ara cada filtrado de "a.uetes % 'dulos
de N;<$ Iptables es la erra'ienta est&ndar de todas las distribuciones 'odernas de GNU/Linux$
U;L) tt")//***$netfilter$org/
-.. /Cuipamiento lgico necesario.
-..!. Instalacin a travs de +um.
Si utili,a Cent(9 . % 4! Red Dat /nterprise &inu* . o 4! solo se necesita reali,ar lo siguiente "ara instalar
o actuali,ar el e.ui"a'iento lgico necesario)
yum !y install iptables
-.,. 7rocedimientos.
-.,.!. Cadenas.
Las cadenas "ueden ser "ara tr&fico entrante 1?N-U@3! tr&fico saliente 1GU@-U@3 o tr&fico reenviado
12(R\;RD3$
-.,.. Reglas de destino.
8A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Las reglas de destino "ueden ser ace"tar conexiones 1;CC/7<3! descartar conexiones 1DR(73! reca,ar
conexiones 1R/E/C<3! enca'ina'iento "osterior 17(9<R("<IN:3! enca'ina'iento "revio 17R/R("<IN:3!
9N;<! N;<! entre otras$
-.,.,. 7olticas por defecto.
Fstablecen cual es la accin a to'ar "or defecto ante cual.uier ti"o de conexin$ La o"cin 6- ca'bia una
"ol/tica "ara una cadena$ Fn el siguiente e(e'"lo se descartan 1DR(73 todas las conexiones .ue ingresen
1?N-U@3! todas las conexiones .ue se reenv/en 12(R\;RD3 % todas las conexiones .ue salgan 1GU@-U@3! es
decir! se descarta todo el tr&fico .ue entre desde una red "0blica % el .ue trate de salir desde la red local$
iptables != )-=?1 DRO9
iptables != FORMARD DRO9
iptables != 0?1=?1 ACCE9T
-.,.-. &impie3a de reglas especficas.
+ fin de "oder crear nuevas reglas! se deben borrar las existentes! "ara el tr&fico entrante! tr&fico reenviado
% tr&fico saliente as/ co'o el N+@$
iptables !> )-=?1
iptables !> FORMARD
iptables !> 0?1=?1
iptables !> !t nat
-.,... Reglas especficas.
Las o"ciones '&s co'unes son)
6+ aade una cadena! la o"cin 6i define una interfa, de tr&fico entrante
6o define una interfa, "ara trafico saliente
6( establece una regla de destino del tr&fico! .ue "uede ser ;CC/7<! DR(7 o R/E/C<$ La
6' define .ue se a"lica la regla si a% una coincidencia es"ec/fica
66state define una lista se"arada "or co'as de distinto ti"os de estados de las conexiones
1?NJ+L?D! FS@+BL?SIFD! NFQ! ;FL+@FD3$
66to6source define .ue ?- re"ortar al tr&fico externo
6s define trafico de origen
6d define tr&fico de destino
66source6"ort define el "uerto desde el .ue se origina la conexin
66destination6"ort define el "uerto acia el .ue se dirige la conexin
6t tabla a utili,ar! "ueden ser nat! filter! 'angle o ra*$
/%emplos de reglas.
;eenv/o de "a.uetes desde una interfa, de red local 1et73 acia una interfa, de red "0blica 1et93)
iptables !5 FORMARD !i eth1 !o eth% !O ACCE9T
+ce"tar reenviar los "a.uetes .ue son "arte de conexiones existentes 1FS@+BL?SIFD3 o relacionadas de
tr&fico entrante desde la interfa, et7 "ara tr&fico saliente "or la interfa, et9)
iptables !5 FORMARD !i eth% !o eth1 !m state !!state 'S15;2)S3'&BR'251'& !O ACCE9T
8A4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-er'itir "a.uetes en el "ro"io 'uro cortafuegos "ara tr&fico saliente a trav#s de la interfa, et9 .ue son
"arte de conexiones existentes o relacionadas)
iptables !5 )-=?1 !i eth% !m state !!state 'S15;2)S3'&BR'251'& !O ACCE9T
-er'itir 1;CC/7<3 todo el tr&fico entrante 1?N-U@3 desde 16s3 cual.uier direccin 19/93 la red local 1et73 %
desde el retorno del siste'a 1lo3 acia 16d3 cual.uier destino 19/93)
iptables !5 )-=?1 !i eth1 !s %/% !d %/% !O ACCE9T
iptables !5 )-=?1 !i lo !s %/% !d %/% !O ACCE9T
Iacer 16(3 SN+@ "ara el tr&fico saliente 16o3 a tr&ves de la interfa, et9 "roveniente desde 16s3 la red local
17B2$74A$9$9/2=3 utili,ando 166to6source3 la direccin ?- R.*.+.3$
iptables !5 9OSTROUT?NG !t nat !s 198#166#%#%/84 !o eth% !O S-51 !!to!source x#y#C#c
Descartar 1DR(73 todo el tr&fico entrante 16i3 desde la interfa, et9 .ue trate de utili,ar la direccin ?-
"0blica del servidor 1R.*.+.33! alguna direccin ?- de la red local 17B2$74A$9$9/2=3 o la direccin ?- del
retorno del siste'a 1725$9$973
iptables !5 )-=?1 !i eth% !s #x#y#x/@8 !O DRO9
iptables !5 )-=?1 !i eth% !s 198#166#%#%/84 !O DRO9
iptables !5 )-=?1 !i eth% !s 18$#%#%#%/6 !O DRO9
+ce"tar 1;CC/7<3 todos los "a.uetes SRN 166s%n3 del "rotocolo @C- 16" tc"3 "ara los "uertos
166destination-port3 de los "rotocolos S:@- 1223! I@@-1A93! I@@-S 1==83 % SSI 1223)
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 8: !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 6% !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 44@ !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 88 !!syn !O ACCE9T
+ce"tar 1;CC/7<3 todos los "a.uetes SRN 166s%n3 del "rotocolo @C- 16tc"3 "ara los "uertos
166destination-port3 del "rotocolos S:@- 1223 en el servidor 1R.*.+.3/823! desde 16s3 cual.uier lugar 19/93
acia 16d3 cual.uier lugar 19/93$
iptables !5 )-=?1 !p tcp !s %/% !d 0.E.y.C/@8 !!destination!port 8: !!syn !O ACCE9T
+ce"tar 1;CC/7<3 todos los "a.uetes SRN 166s%n3 del "rotocolo @C- 16" tc"3 "ara los "uertos
166destination-port3 de los "rotocolos -G-8 17793! -G-8S 1BB23! ?:+- 17=83 % ?:+-S 1BB83)
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 11% !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 99: !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 14@ !!syn !O ACCE9T
iptables !5 )-=?1 !p tcp !s %/% !d %/% !!destination!port 99@ !!syn !O ACCE9T
+ce"tar 1;CC/7<3 el tr&fico entrante 16i3 "roveniente desde la interfa, et7 cuando las conexiones se
estable,can desde el "uerto 166s"ort3 45 "or "rotocolos 16p3 @C- % UD-$
iptables !5 )-=?1 !i eth1 !p tcp !!sport 66 !!dport 6$ !O ACCE9T
iptables !5 )-=?1 !i eth1 !p udp !!sport 66 !!dport 6$ !O ACCE9T
8A5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ce"tar 1;CC/7<3 conexiones de tr&fico entrante 1?N-U@3 "or "rotocolo 16p3 UD- cuando se estable,can
desde 16s3 el servidor DNS 299$88$7=2$275 desde el "uerto 166source-port3 28 acia 16d3 cual.uier destino
19/93)
iptables !5 )-=?1 !p udp !s 8%%#@@#146#81$/@8 !!source!port :@ !d %/% !O ACCE9T
-.,...!. Cerrar accesos.
Descartar 1DR(73 el tr&fico entrante 1?N-U@3 "ara el "rotocolo 16p3 @C- acia los "uerto
166destination-port3 de SSI 1223 % @elnet 1283)
iptables !5 )-=?1 !p tcp !!destination!port 88 !O DRO9
iptables !5 )-=?1 !p tcp !!destination!port 8@ !O DRO9
Descartar 1DR(73 todo ti"o de conexiones de tr&fico entrante 1?N-U@3 desde 16s3 la direccin ?- a$b$c$d)
iptables !5 )-=?1 !s a#b#c#d !O DRO9
;eca,ar 1R/E/C<3 conexiones acia 1GU@-U@3 la direccin ?- a$b$c$d desde la red local)
iptables !5 0?1=?1 !d a#b#c#d !s 198#166#%#%/84 !O REOECT
-.,.0. /liminar reglas.
Fn general se utili,a la 'is'a regla! "ero en lugar de utili,ar 6+ 1a""end3! se utili,a 6D 1delete3$
Fli'inar la regla .ue descarta 1DR(73 todo ti"o de conexiones de tr&fico entrante 1?N-U@3 desde 16s3 la
direccin ?- a$b$c$d)
iptables !& )-=?1 !s a#b#c#d !O DRO9
-.,.1. 5ostrar la lista de cadenas + reglas.
Una ve, cargadas todas las cadenas % reglas de iptables es "osible visuali,ar #stas utili,ando el 'andato
iptables con las o"ciones 6n! "ara ver las listas en for'ato nu'#rico % 6&! "ara solicitar la lista de #stas
cadenas$
iptables !n2
Cuando no a% reglas ni cadenas cargadas! la salida debe devolver lo siguiente)
*hain )-=?1 (policy 5**'=1)
target prot opt source destination
*hain >0R45R& (policy 5**'=1)
target prot opt source destination
*hain 0?1=?1 (policy 5**'=1)
target prot opt source destination
8AA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cuando a% cadenas "resentes! la salida! su"oniendo .ue se utili,arn los e(e'"los de este docu'ento!
debe devolver algo si'ilar a lo siguiente)
*hain )-=?1 (policy &R0=)
target prot opt source destination
5**'=1 all !! %#%#%#%/% %#%#%#%/% state R'251'&B'S15;2)S3'&
5**'=1 all !! %#%#%#%/% %#%#%#%/%
5**'=1 all !! %#%#%#%/% %#%#%#%/%
&R0= all !! 198#166#1#64 %#%#%#%/%
&R0= all !! 1$8#16#%#%/84 %#%#%#%/%
&R0= all !! 18$#%#%#%/6 %#%#%#%/%
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt78: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt76% "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt744@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt788 "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% 198#166#1#64 tcp dpt78: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt711% "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt799: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt714@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt799@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp spt766 dpt76$
5**'=1 udp !! %#%#%#%/% %#%#%#%/% udp spt766 dpt76$
5**'=1 udp !! 8%%#@@#146#81$ %#%#%#%/% udp spt7:@
*hain >0R45R& (policy &R0=)
target prot opt source destination
5**'=1 all !! %#%#%#%/% %#%#%#%/%
5**'=1 all !! %#%#%#%/% %#%#%#%/% state R'251'&B'S15;2)S3'&
*hain 0?1=?1 (policy 5**'=1)
target prot opt source destination
Droot^m%64 _EA iptables !n2
*hain )-=?1 (policy &R0=)
target prot opt source destination
5**'=1 all !! %#%#%#%/% %#%#%#%/% state R'251'&B'S15;2)S3'&
5**'=1 all !! %#%#%#%/% %#%#%#%/%
5**'=1 all !! %#%#%#%/% %#%#%#%/%
&R0= all !! 198#166#1#64 %#%#%#%/%
&R0= all !! 1$8#16#%#%/84 %#%#%#%/%
&R0= all !! 18$#%#%#%/6 %#%#%#%/%
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt78: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt76% "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt744@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt788 "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% 198#166#1#64 tcp dpt78: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt711% "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt799: "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt714@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp dpt799@ "lags7%x1$/%x%8
5**'=1 tcp !! %#%#%#%/% %#%#%#%/% tcp spt766 dpt76$
5**'=1 udp !! %#%#%#%/% %#%#%#%/% udp spt766 dpt76$
5**'=1 udp !! 8%%#@@#146#81$ %#%#%#%/% udp spt7:@
*hain >0R45R& (policy &R0=)
target prot opt source destination
5**'=1 all !! %#%#%#%/% %#%#%#%/%
5**'=1 all !! %#%#%#%/% %#%#%#%/% state R'251'&B'S15;2)S3'&
*hain 0?1=?1 (policy 5**'=1)
target prot opt source destination
-.,.4. IniciarG detener + reiniciar el servicio iptables.
Si est& de acuerdo con las reglas generadas de iptables! utilice el siguiente 'andato "ara guardar #stas)
service iptables save
Las reglas .uedar&n al'acenadas en el arcivo /etc8s+sconfig8iptables$
-ara e(ecutar "or "ri'era ve, el servicio iptables! utilice)
8AB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service iptables start
-ara acer .ue los ca'bios ecos tras 'odificar la configuracin surtan efecto! utilice)
service iptables restart
-ara detener el servicio iptables % borrar todas las reglas utilice)
service iptables stop
-.,.[. ;gregar el servicio iptables al arranCue del sistema.
-ara acer .ue el servicio de iptables est# activo con el siguiente inicio del siste'a! en todos los niveles de
e(ecucin 12! 8! = % 23! se utili,a lo siguiente)
chkcon"ig iptables on
-.-. $ibliografa.
QiKi"edia) tt")//en$*iKi"edia$org/*iKi/?"tables
Dennis G$ +llard % Don Coen tt")//ocean"arK$co'/notes/fire*allMexa'"le$t'l
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
8B9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-,. Configuracin b6sica de 9horeRall.
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-,.!. Introduccin.
-,.!.!. ;cerca de 9horeRall.
9horeRall 1Soreline >ire*all3 es una robusta % extensible herramienta de alto nivel para la
configuracin de muros cortafuego$ 9horeRall slo necesita se definan algunos datos en algunos
arcivos de texto si'"le % #ste crear& las reglas de cortafuegos corres"ondientes a trav#s de iptables$
9horeRall "uede "er'itir utili,ar un siste'a co'o 'uro cortafuegos dedicado! siste'a de '0lti"les
funciones co'o puerta de enlaceG dispositivo de encaminamiento + servidor$
U;L) tt")//***$sore*all$net/
-,.!.. ;cerca de iptables + Netfilter.
Netfilter es un con(unto de gancos 1DooOs! es decir! t#cnicas de "rogra'acin .ue se e'"lean "ara crear
cadenas de "rocedi'ientos co'o gestor3 dentro del n0cleo de GNU/Linux % .ue son utili,ados "ara
interce"tar % 'ani"ular "a.uetes de red$ Fl co'"onente 'e(or conocido es el cortafuegos! el cual reali,a
"rocesos de filtracin de "a.uetes$ Los gancos son ta'bi#n utili,ados "or un co'"onente .ue se encarga
del N;< 1acrni'o de Net*orK ;ddress <ranslation o @raduccin de direccin de red3$ Fstos co'"onentes
son cargados co'o 'dulos del n0cleo$
Iptables es el no'bre de la erra'ienta de es"acio de usuario 17ser $pace! es decir! &rea de 'e'oria
donde todas las a"licaciones! en 'odo de usuario! "ueden ser interca'biadas acia 'e'oria virtual cuando
sea necesario3 a trav#s de la cual los ad'inistradores crean reglas "ara cada filtrado de "a.uetes % 'dulos
de N;<$ Iptables es la erra'ienta est&ndar de todas las distribuciones 'odernas de GNU/Linux$
U;L) tt")//***$netfilter$org/
-,.!.,. ;cerca de iproute.
Iproute es una coleccin de erra'ientas 1ifcfg! i"! rt'on % tc3 "ara GNU/Linux .ue se utili,an "ara
controlar el estableci'iento de la red <C78I7! as/ co'o ta'bi#n el control de tr&fico$ +un.ue ifconfig sigue
siendo la erra'ienta de configuracin de red est&ndar en las distribuciones de GNU/Linux! iproute tiende
a sustituirlo al "roveer so"orte "ara la 'a%or/a de las tecnolog/as 'odernas de red 1inclu%endo ?- versiones
= % 43! "er'itiendo a los ad'inistradores configurar los "ar&'etros de red % el control de tr&fico$
U;L) tt")//linux6net$osdl$org/index$""/?"route2
-,.. Conceptos reCueridos.
-,..!. >?u es una 3ona desmilitari3ada@
8B7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Una ,ona des'ilitari,ada 1D5b3! es "arte de una red .ue no est& dentro de la red interna 1&;N3 "ero
ta'"oco est& directa'ente conectada acia ?nternet$ -odr/a resu'irse co'o una red .ue se locali,a entre
dos redes$ Fn t#r'inos '&s t#cnicos se refiere a un &rea dentro del cortafuegos donde los siste'as .ue la
co'"onen tienen acceso acia las redes interna % externa! sin e'bargo no tienen acceso co'"leto acia la
red interna % ta'"oco acceso co'"leta'ente abierto acia la red externa$ Los cortafuegos % dis"ositivos de
enca'ina'iento 1routers3 "rotegen esta ,ona con funcionalidades de filtrado de tr&fico de red$
Diagra'a de una Nona Des'ilitari,ada$
?'agen de do'inio "0blico to'ada de QiKi"edia % 'odificada con el Gi'"$
-,... >?ue es una Red 7rivada@
Una Red 7rivada es a.uella .ue utili,a direcciones ?- establecidas en el ;>C 7B7A$ Fs decir! direcciones ?-
reservadas "ara Redes 7rivadas dentro de los rangos 79$9$9$9/A 1desde 79$9$9$9 asta 79$222$222$2223!
752$74$9$9/72 1desde 752$74$9$9 asta 752$87$222$2223 % 7B2$74A$9$9/74 1desde 7B2$74A$9$9 asta
7B2$74A$222$2223$
-,..,. >?u es un N;<@
N;< 1acrni'o de Net*orK ;ddress <ranslation o @raduccin de direccin de red3! ta'bi#n conocido co'o
en'ascara'iento de ?-! es una t#cnica 'ediante la cual las direcciones de origen %/o destino de "a.uetes ?-
son reescritas 'ientras "asan a trav#s de un dis"ositivo de enca'ina'iento 1router3 o 'uro cortafuegos$ Se
utili,a "ara "er'itir a '0lti"les anfitriones en una Red 7rivada con direcciones ?- "ara Red 7rivada "ara
acceder acia una ?nternet utili,ando una sola direccin ?- "0blica$
-,..-. >?u es un DN;<@
DN;<! 1acrni'o de Destination Net*orK ;ddress <ranslation o traduccin de direccin de red de destino3
es una t#cnica 'ediante la cual se ace "0blico un servicio desde una Red 7rivada$ Fs decir "er'ite
redirigir "uertos acia direcciones ?- de Red 7rivada$ Fl uso de esta t#cnica "uede "er'itir a un usuario en
?nternet alcan,ar un "uerto en una Red 7rivada 1dentro de una &;N3 desde el exterior a trav#s de un
enca'inador 1router3 o 'uro cortafuegos donde a sido abilitado un N;<$
8B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-,.,. /Cuipamiento lgico necesario.
i"tables) Controla el cdigo del n0cleo de GNU/Linux "ara filtracin de "a.uetes de red$
i"route) Con(unto de utilidades diseadas "ara utili,ar las ca"acidades avan,adas de gestin
de redes del n0cleo de GNU/Linux$$
sore*all) Soreline >ire*all$
Sore*all "uede descargarse en for'ato ;-: desde tt")//***$sore*all$net/$
Si dis"one de un servidor con Cent(9 o Red DatF /nterprise &inu* "uede utili,ar el el al'ac#n RU: de
;lcance &ibre e(ecutando lo siguiente)
cd /etc/yum#repos#d/
get !- http7//#alcancelibre#org/al/server/52!Server#repo
cd
F(ecute lo siguiente "ara instalar el "a.uete shoreRall)
yum !y install shoreall
-,.-. 7rocedimientos.
Fste docu'ento asu'e .ue se an estudiado % a"licado los te'as descritos en los docu'entos titulados
^A*u(te( po(teriore( a la in(talacin de Cent2S 3_ % ^Coniguracin de red en 4!5//inu-_$
-,.-.!. 9horeRall + 9/&inu*.
Los contextos de SFLinux "ara 8sbin8iptables-multi-!.-.1 % 8sbin8ip0tables-multi-!.-.1 ca'biaron del
ti"o binUt al ti"o iptablesUe*ecUt$ Fstable,ca estos nuevos contextos e(ecutando lo siguiente)
restorecon !Rv /sbin
SFLinux i'"edir& e(ecutar algunos co'"onentes de Sore*all instalados en 8usr e i'"edir& acceder acia
8s+s "ara obtener infor'acin res"ecto de los dis"ositivos de red "resentes en el siste'a$ Fl siguiente
"rocedi'iento crea una "ol/tica .ue "er'itir& a Sore*all o"erar nor'al'ente$
Crear el directorio 8usr8share8selinu*8pacOages8shoreRall)
mkdir /usr/share/selinux/packages/shoreall
Ca'biarse al directorio 8usr8share8selinu*8pacOages8shoreRall)
cd /usr/share/selinux/packages/shoreall
Descargar desde ;lcance &ibre el arcivo http#88RRR.alcancelibre.org8linu*8secrets8shoreRall.te)
get http7//#alcancelibre#org/linux/secrets/shoreall#te
Fditar el arcivo shoreRall.te)
8B8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vi shore0#)).$e
Jerificar .ue el arcivo shoreRall.te tenga el siguiente contenido)
module shoreall 1#%[
reJuire e
type shoreall/t[
type usr/t[
type sys"s/t[
class "ile e execute execute/no/trans f[
class dir search[
class dir getattr[
f
A+++++++++++++ shoreall/t ++++++++++++++
allo shoreall/t usr/t7"ile e execute execute/no/trans f[
allo shoreall/t sys"s/t7dir search[
allo shoreall/t sys"s/t7dir getattr[
Crear el arcivo de 'dulo shoreRall.mod a "artir del arcivo shoreRall.te)
checkmodule !. !m !o shoreall#mod shoreall#te
Crear el arcivo de "ol/tica shoreRall.pp a "artir del arcivo shoreRall.mod
semodule/package !o shoreall#pp !m shoreall#mod
?ncluir la "ol/tica al siste'a)
semodule !i /usr/share/selinux/packages/shoreall/shoreall#pp
;egrese al directorio de inicio de root$
cd
-,.-.. ;ctivacin de reenvo de paCuetes para I7v-.
Si se dis"one de '&s de un dis"ositivo de red % se re.uiere i'"le'entar un N+@! DN+@ %/o SN+@! es
indis"ensable activar el reenv/o de "a.uetes "ara ?-v=$ Fdite el arcivo 8etc8s+sctl.conf)
vi /etc/sysctl#con"
+l inicio del arcivo encontrar& el siguiente contenido)
A Hernel sysctl con"iguration "ile "or Red 3at 2inux
A
A >or binary valuesB % is disabledB 1 is enabled# See sysctl(6) and
A sysctl#con"(:) "or more details#
A *ontrols )= packet "orarding
net#ipv4#ip/"orard + %
Ca'bie el valor I de net.ipv-.ipUforRard "or !)
8B=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Hernel sysctl con"iguration "ile "or Red 3at 2inux
A
A >or binary valuesB % is disabledB 1 is enabled# See sysctl(6) and
A sysctl#con"(:) "or more details#
A *ontrols )= packet "orarding
ne$.%'*4.%'_+or0#r- = 3
-ara a"licar los ca'bios e(ecute lo siguiente)
sysctl !p
Lo anterior devolver& co'o salida algo si'ilar a lo siguiente! donde deber& 'ostrarse .ue se a a"licado
net.ipv-.ipUforRard con el valor !)
ne$.%'*4.%'_+or0#r- = 3
net#ipv4#con"#de"ault#rp/"ilter + 1
net#ipv4#con"#de"ault#accept/source/route + %
kernel#sysrJ + %
kernel#core/uses/pid + 1
error7 ,net#bridge#bridge!n"!call!ip6tables, is an unknon key
error7 ,net#bridge#bridge!n"!call!iptables, is an unknon key
error7 ,net#bridge#bridge!n"!call!arptables, is an unknon key
Si se carece de interfaces de red configuradas con ?-v4! es nor'al e inofensivo se 'uestren los tres errores
'ostrados arriba$
-,.-.,. 7rocedimiento de configuracin de 9horeRall.
Se 'odificar&n los siguientes arcivos)
8etc8shoreRall8shoreRall.conf) +rcivo general de configuracin de Sore*all$ Fn este se
activa el servicio % funciones .ue se re.uiera utili,ar$
8etc8shoreRall83ones) Se utili,a "ara definir las ,onas .ue utili,ar& el 'uro cortafuegos$
8etc8shoreRall8interfaces) Se utili,a "ara definir cu&les dis"ositivos de red corres"onden a
una ,ona del 'uro cortafuegos en "articular % las o"ciones .ue se re.uieran "ara cada una de
#stas$
8etc8shoreRall8masC) Se utili,a "ara definir cu&les dis"ositivos utili,ar "ara los
en'ascara'ientos de direcciones ?-$
8etc8shoreRall8polic+) Se utili,a "ara definir las "ol/ticas "redeter'inadas "ara cada ,ona
del 'uro cortafuegos res"ecto de las de'&s ,onas$
8etc8shoreRall8rules) Se utili,a "ara definir las reglas "ara a"ertura de "uertos$
8etc8shoreRall8blacOlist) Se utili,a "ara definir las direcciones ?- o blo.ues de direcciones ?-
.ue se desea "oner en lista negra$
Sore*all viene inactivo de 'odo "redeter'inado$ -ara activar el servicio edite el arcivo
8etc8shoreRall8shoreRall.conf)
vi /etc/shoreall/shoreall#con"
Localice la o"cin 9<;R<"7U/N;$&/D! la cual deber& tener ^No_ co'o valor "redeter'inado)
S15R1?=/'-5;2'&+-o
8B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Ca'bie ^No_ "or ^Zes_)
S15R1?=/'-5;2'&+Nes
Se re.uiere definir cu&les ,onas ser&n gestionadas en el 'uro cortafuegos$ Fdite el arcivo
8etc8shoreRall83ones)
vi /etc/shoreall/Cones
Fncontrar& .ue slo est& definida la ,ona fR con el ti"o fireRall)
" "ireall
Si dis"one de un 0nico dis"ositivo de red slo "odr& definir una ,ona 1net3 ti"o ipv-)
" "ireall
ne$ %'*4
Si dis"one de dos dis"ositivos de red! "uede es"ecificar una segunda ,ona 1loc3 ti"o ipv-! la cual "uede ser
utili,ada "ara acceder desde la red de &rea local)
" "ireall
net ipv4
)o& %'*4
Si dis"one de tres dis"ositivos de red! "uede es"ecificar una tercera ,ona 1dm33 ti"o ipv-! la cual "uede ser
utili,ada "ara acceder desde la ,ona des6'ilitari,ada)
" "ireall
net ipv4
loc ipv4
-<C %'*4
Una ve, definidas la ,onas a utili,ar en el 'uro cortafuegos! se debe definir .ue dis"ositivos de red
corres"onden a cada ,ona del 'uro cortafuegos$ Fdite el arcivo 8etc8shoreRall8interfaces)
vi /etc/shoreall/inter"aces
Si dis"one de un 0nico dis"ositivo de red defina el no'bre del dis"ositivo de red a utili,ar! auto6deteccin de
la direccin de difusin 1broadcast3 % las o"cin blacOlist "ara utili,ar la lista negra de Sore*all % la
o"cin dhcp$ Fsta 0lti'a o"cin slo es necesaria si en la interfa, abr& un cliente o servidor DIC-$ Fl
no'bre del dis"ositivo de red "uede ser et9! et7! "7"7! "2"7! e'7! e'2! etc$! de"endiendo de la versin
de S:B?GS)
ne$ e$h6 -e$e&$ b)#&8)%s$B-h&'
Si dis"one de un segundo dis"ositivo de red "uede asociar #ste a la segunda ,ona del 'uro cortafuegos
1loc3$ ?gual'ente defina .ue se auto6detecte la direccin de difusin % las o"ciones blacOlist % dhcp si las
considera necesarias$
8B4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
net eth% detect blacklistBdhcp
)o& e$h3 -e$e&$ b)#&8)%s$B-h&'
Si dis"one de un tercer dis"ositivo de red "uede asociar #ste a la tercera ,ona del 'uro cortafuegos 1 dm33$
?gual'ente defina .ue se auto6detecte la direccin de difusin % las o"ciones blacOlist % dhcp si las
considera necesarias$ -or lo general las ,onas des6'ilitari,adas "rescinden de servidores DIC- "or tratarse
de redes designadas "ara alo(ar otros servidores con direccin ?- est&tica$
net eth% detect blacklistBdhcp
loc eth1 detect blacklistBdhcp
-<C e$h/ -e$e&$ b)#&8)%s$
Si dis"one de un 0nico dis"ositivo de red! o'ita el siguiente "aso$ Si dis"one de de '&s de un dis"ositivo de
red % se re.uiere abilitar el en'ascara'iento de direcciones ?- de un dis"ositivo acia otro! edite el arcivo
8etc8shoreRall8masC)
vi /etc/shoreall/masJ
Si dis"one de dos dis"ositivos de red! defina en la "ri'era colu'na el dis"ositivo utili,ado "ara la ,ona
corres"ondiente a la red "0blica 1net3 % en la segunda colu'na el dis"ositivo utili,ado "or la ,ona
corres"ondiente a la red de &rea local 1loc3)
e$h6 e$h3
Si dis"one de tres dis"ositivos de red! aada otra l/nea donde se defina en la "ri'era colu'na el dis"ositivo
utili,ado "ara la ,ona corres"ondiente a la red "0blica 1net3 % en la segunda colu'na el dis"ositivo utili,ado
"or la ,ona corres"ondiente a la ,ona des6'ilitari,ada 1dm33)
eth% eth1
e$h6 e$h/
Si ade'&s de tres dis"ositivos de red se dis"one ta'bi#n de '&s de una direccin ?- en el dis"ositivo
corres"ondiente a al red "0blica! "uede configurar el 9N;< 1Source !et(or' Address Translation! 'e(or
conocido en los entornos Qindo*s co'o Secure !et(or' Address Translation3 "ara cada una de las ,onas
.ue ser&n en'ascaradas$ Fn el siguiente e(e'"lo se en'ascara todo el tr&fico originado desde el dis"ositivo
et7 con la direccin ?- 299$7$2$8 % el tr&fico "roveniente del dis"ositivo et2 con la direccin ?- 299$7$2$=$
eth% eth1 /66.3./.
eth% eth8 /66.3./.4
Fdite el arcivo 8etc8shoreRall8polic+
vi /etc/shoreall/policy
Si dis"one de un slo dis"ositivo de red defina slo dos "ol/ticas$ Una .ue "er'ita al 'uro cortafuegos
co'unicarse a cual.uier "arte % otra .ue descarte cual.uier "a.uete "roveniente de la ,ona de red "0blica
1net3 % se guarde bit&cora de la actividad generada % eti.uetada con DR(7)
" all 5**'=1
ne$ #)) DRO9 %n+o
8B5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si dis"one de dos dis"ositivos de red aada una tercera "ol/tica .ue recace todos los "a.uetes
"rovenientes desde la ,ona corres"ondiente a la red de &rea local 1loc3 % se guarde bit&cora de la actividad
generada % eti.uetada con R/E/C<)
" all 5**'=1
net all &R0= in"o
)o& #)) REOECT %n+o
Si dis"one de tres dis"ositivos de red aada una cuarta "ol/tica .ue recace todos los "a.uetes
"rovenientes desde la ,ona corres"ondiente a la ,ona des6'ilitari,ada 1dm33 % se guarde bit&cora de la
actividad generada % eti.uetada con R/E/C<)
" all 5**'=1
net all &R0= in"o
loc all R'S'*1 in"o
-<C #)) REOECT %n+o
Fdite el arcivo 8etc8shoreRall8rules)
vi /etc/shoreall/rules
Deba(o de 9/C<I(N N/\ defina una regla .ue "er'ita el acceso acia el servicio de SSI 1"uerto 22/@C-3
desde cual.uier ,ona del 'uro cortafuegos)
S'*1)0- -'4
ACCE9T #)) +0 $&' //
Si re.uiere abilitar '&s "uertos! "uede acerlo aadiendo l/neas si'ilares es"ecificando el "rotocolo
utili,ado % el "uerto o los "uertos re.ueridos$ Fn el siguiente e(e'"lo se abilitan los "uertos "ara >@-!
I@@-! I@@-S % el rango de "uertos "ara conexiones "asivas "ara el servicio de >@-$
S'*1)0- -'4
5**'=1 all " tcp 88
ACCE9T #)) +0 $&' /6B/3B86B44B666166=
Defina una regla .ue "er'ita acer "ings 1"uerto A/?C:-3 acia el 'uro cortafuegos desde cual.uier ,ona
del 'uro cortafuegos! sin i'"ortar el "uerto de origen! sin i'"ortar la direccin ?- de destino % li'itando a
una tasa de 79 conexiones "or segundo con r&fagas de 2)
S'*1)0- -'4
5**'=1 all " tcp 88
5**'=1 all " tcp 8%B81B6%B44@B@%@%%7@%@%9
ACCE9T #)) +0 %&<' 8 - - 36;se&1!
Si dis"one de dos dis"ositivos de red! "uede abilitar la salida desde la ,ona corres"ondiente a la red de
&rea local 1loc3 acia diversos "uertos en la ,ona corres"ondiente a la red "0blica 1net3$ Fn el siguiente
e(e'"lo se abilita la salida "ara los "uertos 29 1ft"6data3! 27 1ft"3! 22 1ss3! 22 1s't"3! =8 1*ois3! 28 1dns3!
48 1*oisii3! A9 1tt"3! 779 1"o"83! 728 1nt"3! 7=8 1i'a"3! ==8 1tt"s3! =42 1s't"s3! 2A5 1sub'ission3! BB8
1i'a"s3 % BB2 1"o"8s3 "or @C-! los "uertos =8 1*ois3! 28 1dns3! 48 1*oisii3 % 728 1nt"3 "or UD- % los
"ings 1"uerto A "or ?C:-3 li'itado a una tasa de 29 conexiones "or segundo con r&fagas de 79)
8BA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S'*1)0- -'4
5**'=1 all " tcp 88
5**'=1 all " tcp 8%B81B6%B44@B@%@%%7@%@%9
5**'=1 all " icmp 6 ! ! 1%/sec7:
ACCE9T )o& ne$ $&' /6B/3B86B44
ACCE9T )o& ne$ $&' /!B336B34B45!B!87B==B==!
ACCE9T )o& ne$ $&' 4B!B5B3/
ACCE9T )o& ne$ >-' 4B!B5B3/
ACCE9T )o& ne$ %&<' 8 - - /6;se&136
Si dis"one de tres dis"ositivos de red! "uede abilitar la salida desde la ,ona corres"ondiente a la ,ona
des6'ilitari,ada 1dm33 acia diversos "uertos en la ,ona corres"ondiente a la red "0blica 1net3$ Fn el
siguiente e(e'"lo se abilita la salida "ara los "uertos 29 1ft"6data3! 27 1ft"3! 22 1ss3! 22 1s't"3! =8 1*ois3!
28 1dns3! 48 1*oisii3! A9 1tt"3! 779 1"o"83! 728 1nt"3! 7=8 1i'a"3! ==8 1tt"s3! =42 1s't"s3! 2A5
1sub'ission3! BB8 1i'a"s3 % BB2 1"o"8s3 "or @C-! los "uertos =8 1*ois3! 28 1dns3! 48 1*oisii3 % 728 1nt"3
"or UD- % los "ings 1"uerto A "or ?C:-3 li'itado a una tasa de 29 conexiones "or segundo con r&fagas de
79)
S'*1)0- -'4
5**'=1 all " tcp 88
5**'=1 all " tcp 8%B81B6%B44@B@%@%%7@%@%9
5**'=1 all " icmp 6 ! ! 1%/sec7:
5**'=1 loc net tcp 8%B81B6%B44@
5**'=1 loc net tcp 8:B11%B14@B46:B:6$B99@B99:
5**'=1 loc net tcp 4@B:@B6@B18@
5**'=1 loc net udp 4@B:@B6@B18@
5**'=1 loc net icmp 6 ! ! 8%/sec71%
ACCE9T -<C ne$ $&' /6B/3B86B44
ACCE9T -<C ne$ $&' /!B336B34B45!B!87B==B==!
ACCE9T -<C ne$ $&' 4B!B5B3/
ACCE9T -<C ne$ >-' 4B!B5B3/
ACCE9T -<C ne$ %&<' 8 - - /6;se&136
Fdite el arcivo /etc/sore*all/blacKlist)
vi /etc/shoreall/blacklist
Cual.uier direccin ?- o blo.ues de direcciones ?- .ue se aadan a este arcivo .uedar&n auto'&tica'ente
en lista negra$ F(e'"los de algunos blo.ues de direcciones asignados a Xfrica % algunos de los blo.ues de
direcciones controlados "or la 'afia rusa)
41#%#%#%/6
196#%#%#%/6
1:4#%#%#%/6
19$#%#%#%/6
98#841#16%#%/19
91#144#1$6#%/88
818#191#%#%/1$
$9#1$1#6%#%/81
+l ter'inar la configuracin! inicie el 'uro cortafuegos e(ecutando lo siguiente)
service shoreall start
Si falla al iniciar! significa .ue ubo errores de sintaxis en cual.uiera de los arcivos editados$ ;evise el
contenido de la bit&cora de inicio de Sore*all e(ecutando lo siguiente)
tail !6% /var/log/shoreall!init#log
8BB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
;ealice las correcciones "ertinentes e intente iniciar de nuevo el servicio$
-,.-.-. IniciarG detener + reiniciar el servicio shoreRall.
-ara iniciar "or "ri'era ve, el servicio e(ecute lo siguiente)
service shoreall start
-ara reiniciar el servicio shoreRall o bien acer .ue los ca'bios ecos a la configuracin surtan efecto!
e(ecute lo siguiente)
service shoreall restart
-ara detener el servicio shoreRall! e(ecute lo siguiente)
service shoreall stop
-,.-... ;gregar el servicio shoreRall al arranCue del sistema.
De 'odo "redeter'inado el servicio shoreRall viene activo en los niveles de e(ecucin 2! 8! =! % 2$ Si
necesita desactivar el servicio dureante el siguiente inicio del siste'a! e(ecute lo siguiente)
chkcon"ig shoreall o""
-ara acer .ue el servicio de shoreRall .uede nueva'ente activo con el siguiente inicio del siste'a!
e(ecute lo siguiente)
chkcon"ig shoreall on
=99
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
--. Cmo instalar + utili3ar Clam;J en Cent(9
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
--.!. Introduccin.
--.!.!. ;cerca de Clam;J.
Clam;J es un con(unto de erra'ientas antivirus! libre % de cdigo fuente abierto! .ue tiene las siguiente
caracter/sticas)
a Distribuido ba(o los t#r'inos de la Licencia -ublica General GNU versin 2$
a Cu'"le con las es"ecificaciones de fa'ilia de est&ndares 7(9IB 17ortable ("erating 9%ste' Interface for
UN?B o interfa, "ortable de siste'a o"erativo "ara Unix3$
a Fx"loracin r&"ida$
a Detecta '&s de 529 'il virus! gusanos! tro%anos % otros "rogra'as 'aliciosos$
a Ca"acidad "ara exa'inar contenido de arcivos N?-! ;+;! @ar! G,i"! B,i"2! :S GLF2! :S Cabinet! :S CI: % :S
SNDD$
a So"orte "ara ex"lorar arcivos co'"ri'idos con U-O! >SG % -etite$
a +van,ada erra'ienta de actuali,acin con so"orte "ara fir'as digitales % consultas basadas sobre DNS$
U;L) tt")//***$cla'av$net/
--.. /Cuipamiento lgico necesario.
a cla'av
a cla'av6u"date
--..!. Creacin del usuario para Clam;J.
De 'odo "redeter'inado! el usuario "ara Cla'+J asigna a trav#s de los 'andatos fedora-groupadd %
fedora-useradd el U?D % G?D = en el siste'a$ + fin de "revenir un conflicto de U?D/G?D con otros usuarios %
gru"os de siste'a! se reco'ienda crear "revia'ente al gru"o % usuario corres"ondientes "ara Cla'+J)
groupadd !r clamavupdate
useradd !r !s /sbin/nologin !d /var/lib/clamav !. !c Z*lamav database update userZ K
!g clamavupdate clamavupdate
--... Instalacin a travs de +um.
=97
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si dis"one de un servidor con Cent(9 - % .! Red DatF /nterprise &inu* - % . o \hite $o* /nterprise
&inu* - % .! "uede utili,ar el el de"sito %u' de ;lcance &ibre "ara servidores en "roduccin! creando el
arcivo 8etc8+um.repos.d8;&-9erver.repo con el siguiente contenido)
D52!ServerE
name+52 Server para 'nterprise 2inux Freleasever
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgcheck+1
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
La instalacin solo re.uiere utili,ar lo siguiente)
yum !y install clamav clamav!update
La instalacin de los "a.uetes anteriores crea auto'&tica'ente el usuario % directorios necesarios "ara un
funciona'iento nor'al$/"]
--.,. 7rocedimientos.
--.,.!. 9/&inu* + el servicio clamav-milter.
-ara .ue SFLinux "er'ita utili,ar nor'al'ente clamscan! utilice el siguiente 'andato)
setsebool != clamscan/disable/trans 1
-ara .ue SFLinux "er'ita al 'andato freshclam funcionar nor'al'ente % .ue "er'ita actuali,ar la base
de datos de fir'as digitales! utilice el siguiente 'andato)
setsebool != "reshclam/disable/trans 1
--.,.. Configuracin de 2reshclam.
2reshclam es el "rogra'a utili,ado "ara descargar % 'antener actuali,ada la base de datos de virus %
otros "rogra'as 'alignos$
Fl arcivo 8etc8freshclam.conf de los "a.uetes distribuidos "or ;lcance &ibre %a inclu%e las
'odificaciones necesarias "ara "er'itir el funciona'iento del 'andato freshclam$ Sin e'bargo! si se
utili,an "a.uetes "ara >edora! es necesario editar este arcivo % co'entar o eli'inar la l/nea B! .ue inclu%e
si'"le'ente la "alabra inglesa ,6ample % .ue de otro 'od i'"edir/a utili,ar el 'andato freshclam)
AA
AA 'xample con"ig "ile "or "reshclam
AA =lease read the "reshclam#con"(:) manual be"ore editing this "ile#
AA
A *omment or remove the line belo#
P EE#<')e
=92
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl arcivo 8etc8s+sconfig8freshclam de los "a.uetes distribuidos "or ;lcance &ibre %a inclu%e las
'odificaciones necesarias "ara "er'itir la actuali,acin auto'&tica de la base de datos de Clam;J$ Si se
utili,an "a.uetes de >edora % a fin de 'antener actuali,ada la base de datos de fir'as digitales! es
necesario editar el arcivo 8etc8s+sconfig8freshclam con el ob(eto de "er'itir las actuali,aciones
auto'&ticas)
AAA WWWWW R'.0(' .' WWWWWW
AAA R'.0(' .'7 ;y de"aultB the "reshclam update is disabled to avoid
AAA R'.0(' .'7 netork access ithout prior activation
P FRESFCLAM_DELAN=-%s#b)e--0#rn P REMO:E ME
De ser necesario! "uede actuali,ar 'anual'ente % de 'anera in'ediata! la base de datos de fir'as
utili,ando el 'andato freshclam! desde cual.uier ter'inal co'o root$
"reshclam
Fl "a.uete de clamav-update distribuido "or ;lcance &ibre % el "ro%ecto >edora inclu%e un guin de
actuali,acin auto'&tica de la base de datos de Cla'+J % .ue consiste en el arcivo
8etc8cron.d8clamav-update! el cual! a trav#s del servicio crond! se e(ecuta cada tres oras "ara verificar
si ubo ca'bios en la base de datos$
--.,.,. "so b6sico del mandato clamscan.
"ara revisar un arcivo sos"ecoso de estar infectado! se utili,a el 'andato clamscan sin '&s "ar&'etros)
clamscan /cualJuier/archivo
-ara reali,ar al revisin de un directorio % todo su contenido! es decir! de 'anera recursiva! se utili,a el
'andato clamscan con la o"cin -r$
clamscan -r /cualJuier/directorio
-ara es"ecificar .ue los arcivos infectados solo sean 'ovidos a un directorio de cuarentena! se utili,a el
'andato clamscan con la o"cin --move es"ecificando un directorio .ue servir& co'o cuarentena$ Fl
directorio de cuarentena debe de existir "revia'ente$
clamscan --<o*e=;-%re&$or%o;-e;&>#ren$en# !r /cualJuier/directorio
-ara es"ecificar .ue los arcivos infectados sean eli'inados! se utili,a la o"cin --remove con el valor +es$
Fsta o"cin debe ser utili,ada con "recaucin$
clamscan --re<o*e=yes !r /cualJuier/directorio
la salida del 'andato clamscan "uede llegar a ser 'u% extensa$ Si se desea .ue solo se 'uestre la
infor'acin de los arcivos infectados! se utili,a el 'andato clamscan con la o"cin --infected$
clamscan --%n+e&$e- !!remove+yes !r /cualJuier/directorio
-ara .ue el 'andato clamscan guarde la infor'acin de su actividad en una bit&cora en "articular! a fin de
"oder exa'inar "osterior'ente #sta a detalle! se "uede utili,ar #ste con la o"cin --log es"ecificando la
ruta de un arcivo donde se al'acenar& la bit&cora de actividad$
=98
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
clamscan --)og=;ho<e;>s>#r%o;&)#<s&#n.)og !!in"ected !!remove+yes !r /cualJuier/directorio
-ara configurar Clam;J "ara ser utili,ado con un servidor de correo electrnico con 9endmail! consultar el
docu'ento titulado ^C'o configurar cla'av6'ilter$_
=9=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-.. Instalacin + configuracin de C"79.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-..!. Introduccin.
-..!.!. ;cerca de C"79.
C"79 1Co''on "N?O 7rinting 9%ste'3 es un siste'a de i'"resin "ara GNU/Linux % otros siste'as
o"erativos basados sobre el est&ndar -GS?O! distribuido ba(o los t#r'inos de la licencia GNU/G-Lv2$
>ue original'ente desarrollado en 7BB5 "or :icael S*eet! dueo de Fas% Soft*are -roducts! utili,ando en
ese entonces el "rotocolo L-D 1Line -rinter Dae'on "rotocol3! el cual ten/a 'ucas li'itaciones t#cnicas e
inco'"atibilidades entre las diversas 'arcas de i'"resoras! 'otivo "or el cual se ca'bio "or I77 1Internet
7rinting 7rotocol3$ Fn 2992 C"79 fue incluido "or "ri'era ve, en :ac GS O! convirti#ndose en el siste'a de
i'"resin de facto utili,ado asta la feca en ese siste'a o"erativo$ Fn febrero de 2995! ;pple Inc.
contrat co'o e'"leado a :icael S*eet! co'"rando ade'&s el cdigo fuente de CU-S$
C"79 se co'"one de una cola de i'"resin con un "lanificador! un siste'a de filtros "ara convertir los
datos a for'atos .ue "uedan utili,ar las i'"resoras % un siste'a .ue "er'ite enviar estos datos acia la
i'"resora$ -er'ite ade'&s utili,ar cual.uier e.ui"o co'o servidor de i'"resin! a trav#s del "rotocolo I77!
utili,ando el "uerto 0,!8<C7$
Los controladores "ara C"79 utili,an el for'ato 77D 17ostScri"t 7rinter Descri"tion3! desarrollado "or
;dobe 9+stems % .ue consisten en arcivos con extensin P$""d 1o bien P$""d$g, cuando llevan
co'"resin con el algorit'o GN?-3! general'ente creados % 'antenidos "or los fabricantes de i'"resoras!
los cuales contienen el cdigo -ostScri"t necesario "ara utili,ar las caracter/sticas "articulares de un 'odelo
de i'"resora en "articular$ C"79 utili,a este for'ato "ara todas las i'"resoras! incluso las no6-ostScri"t!
utili,ando filtros .ue redirigen salidas cuando el caso lo re.uiere$
C"79 inclu%e ade'&s un con(unto de erra'ientas "ara el int#r"rete de 'andatos .ue "er'iten la gestin
de traba(os de i'"resin$
-... /Cuipamiento lgico necesario.
-...!. /n Cent(9G 2edoraF + Red Dat /nterpriseF &inu*.
Si se reali,a una instalacin est&ndar de Cent(9! 2edora o Red Dat /nterprise &inu*! C"79 viene
incluido de 'odo "redeter'inado$ Si se reali,a una instalacin '/ni'a o bien si durante la instalacin se
exclu% el so"orte "ara i'"resin! e(ecute lo siguiente lo siguiente)
yum !y install cups
=92
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se .uiere .ue C"79 dis"onga de una coleccin co'"leta de controladores "ara i'"resoras! e(ecute lo
siguiente)
yum !y install "oomatic!db!ppds gutenprint!cups printer!"ilters
Si instala el "a.uete cups-pdf! dis"ondr& de una extensin .ue "er'itir& crear arcivos -D> directa'ente
desde CU-S$
yum !y install cups!pd"
Si se tienen i'"resoras 'ulti6funcionales Ie*lett6-acKard! instale ade'&s el "a.uete hpi%s$
yum !y install hpiOs
Si re.uiere una interfa, gr&fica est&ndar! la cual "er'ita la configuracin % ad'inistracin f&cil de
i'"resoras % una erra'ienta .ue "er'ita descargar auto'&tica'ente los controladores .ue sean
necesarios a trav#s de 7acOageNit! instale los "a.uetes s+stem-config-printer % cups-pO-helper!
e(ecutando lo siguiente)
yum !y install system!con"ig!printer cups!pk!helper
-uede si'"lificar todo lo anterior e(ecutando lo siguiente)
yum !y groupinstall print!client print!server
-.... /n open9"9/F + 9"9/F &inu* /nterprise.
La instalacin est&ndar de o"enSUSF % SUSF Fnter"rise Linux inclu%e cu"s % todo lo necesario "ara
configurar la 'a%or/a de las i'"resoras co'"atibles dis"onibles$ Si se reali, una instalacin '/ni'a!
instale con %ast los "a.uetes cups! cups-bacOends! cups-client! foomatic-filters! gutenprint %
+ast-printer ! e(ecutando lo siguiente)
yast !i cups cups!backends cups!client "oomatic!"ilters K
gutenprint yast8!printer
Fl so"orte "ara i'"resoras 'ulti6funcionales de DeRlett-7acOard re.uiere ade'&s instalar los "a.uetes
(pen7rinting77Ds-hpi%s % hplip-hpi%s$ F(ecute lo siguiente)
yast !i 0pen=rinting==&s!hpiOs hplip!hpiOs
+l igual .ue con las otras distribuciones de GNU/Linux! si re.uiere una interfa, gr&fica est&ndar! la cual
"er'ita la configuracin % ad'inistracin f&cil de i'"resoras % una erra'ienta .ue "er'ita descargar
auto'&tica'ente los controladores .ue sean necesarios a trav#s de 7acOageNit! instale los "a.uetes
s+stem-config-printer % cups-pO-helper! e(ecutando lo siguiente)
yast !i system!con"ig!printer cups!pk!helper
-..,. Iniciar servicio + aHadir el servicio al arranCue del sistema.
=94
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-..,.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Fn #stos el '#todo est&ndar "ara iniciar cu"s es a trav#s del 'andato service! .ue ta'bi#n est& "resente
en open9"9/ % 9"9/ &inu* /nterprise$
C"79 es un servicio .ue slo es necesario instalar e iniciar "ara "oder ser utili,ado$ De 'odo
"redeter'inado se abilita en los niveles de e(ecucin 2! 8! = % 2! "or lo cual es innecesario utili,ar el
'andato chOconfig! a 'enos .ue sea "ara desactivar el servicio cups en alg0n de nivel de e(ecucin en
"articular$
F(ecute lo siguiente "ara iniciar el servicio "or "ri'era ve,)
service cups start
Cuando el caso lo a'erite! e(ecute lo siguiente "ara reiniciar el servicio)
service cups restart
F(ecute lo siguiente "ara detener el servicio)
service cups stop
-..,.. /n open9"9/F + 9"9/F &inu* /nterprise.
Si se utili,a open9"9/ o 9"9/ &inu* /nterprise! el '#todo est&ndar es trav#s del 'andato rccups$
F(ecute lo siguiente "ara iniciar el servicio "or "ri'era ve,)
rccups start
Cuando el caso lo a'erite! e(ecute lo siguiente "ara reiniciar el servicio)
rccups restart
F(ecute lo siguiente "ara detener el servicio)
rccups stop
-..-. 5odificaciones necesarias en el muro cortafuegos.
-ara servidores de i'"resin! es necesario abrir en el 'uro cortafuegos el "uerto 487 por <C7 + "D7 1I773$
-..-.!. /n Cent(9G 2edoraF + Red Dat /nterpriseF &inu*.
-..-.!.!. 9+stem-config-fireRall.
Si utili,a el 'uro cortafuegos "redeter'inado del siste'a! "uede e(ecutar el siguiente 'andato)
=95
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
system!con"ig!"ireall
Iabilite Cliente o Servidor de i'"resin en red 1?--3 `seg0n sea el caso` % a"li.ue los ca'bios$
Ierra'ienta s%ste'6config6fire*all abilitando el "uerto 487 "or @C- % UD-$
-..-.!.. 9ervicio iptables.
-uede utili,ar directa'ente el 'andato iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6@1 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6@1 !O 5**'=1
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6@1 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6@1 !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
-ara los clientes del servidor de i'"resin! slo es necesario abrir en el 'uro cortafuegos el "uerto 487 por
"D7 1I773$
Utili,ado el 'andato iptables! "uede e(ecutar lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6@1 !O 5**'=1
service iptables save
=9A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6@1 !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
-..-.!.,. 9horeRall.
Si se va a ser servidor de i'"resin! las reglas "ara el arcivo 8etc8shoreRall8rules corres"onder/an a algo
si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 6@1
5**'=1 all " udp 6@1
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara los clientes de servidor de i'"resin! las reglas "ara el arcivo 8etc8shoreRall8rules corres"onder/an
a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " udp 6@1
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios! e(ecute lo siguiente)
service shoreall restart
-..-.. /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute el 'andato +ast del siguiente 'odo)
yast "ireall
Iabilite Cliente o Servidor ?-- `seg0n sea el caso` o bien abra el "uerto 487 "or @C- % UD- % a"li.ue los
ca'bios$
=9B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de cortafuegos de RaS@! en 'odo gr&fico! abilitando el "uerto 487 "or @C- % UD-$
:dulo de cortafuegos de RaS@! en 'odo texto! abilitando el "uerto 487 "or @C- % UD-$
-.... ;rchivos + directorios de configuracin.
8etc8cups8cupsd.conf se utili,a "ara configurar las directivas % el control de acceso del
servicio cups$
8etc8cups8printers.conf se utili,a "ara guardar la configuracin de las colas de i'"resin$
8etc8cups8lpoptions se utili,a "ara guardar las o"ciones de configuracin es"ec/ficas "ara
cada cola de i'"resin$
8etc8cups8ppd8 corres"onde al directorio donde se guardan los arcivos P$""d
corres"ondientes a cada cola de i'"resin$
8var8spool8cups8 corres"onde al directorio utili,ado "ara la cola de "rocesa'iento de
i'"resin$ +.u/ se encuentran todos los traba(os de i'"resin$
=79
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
;rchivos de bit6coras.
8var8log8cups8accessUlog se utili,a "ara al'acenar la bit&cora de actividad del servicio
cups$
8var8log8cups8errorUlog se utili,a "ara al'acenar la bit&cora de errores del servicio cups$
Cuando a% "roble'as con la configuracin o el funciona'iento del servicio! este es el arcivo
indicado "ara buscar la infor'acin necesaria "ara acer diagnsticos$
8var8log8cups8pageUlog se utili,a "ara al'acenar la bit&cora de traba(os de i'"resin$
7ermitir cone*iones desde anfitriones remotos.
De 'odo "redeter'inado! el servicio cups slo "er'ite conexiones desde localhost#0,!$ Si se re.uiere
co'"artir las i'"resoras con el resto de los siste'a de la red de &rea local! se deben acer algunas
'odificaciones en la configuracin$
-....!. /n Cent(9G 2edoraF o Red Dat /nterpriseF.
La erra'ienta reco'endada es s+stem-config-printer! slo dis"onible desde 'odo gr&fico$ Iabilite lo
siguiente desde $ervidor H #onfiguraci/n H 1pciones del $ervidor)
:ostrar i'"resoras co'"artidas con otros siste'as
-ublicar i'"resoras co'"artidas conectadas a este siste'a
-er'itir la i'"resin desde ?nternet$
=77
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
G"ciones de Servidor de s+stem-config-printer$
+l ter'inar! aga clic en el botn ;ceptar "ara .ue surtan efecto los ca'bios$
-..... /n open9"9/F o 9"9/F &inu* /nterprise.
La erra'ienta reco'endada es el 'dulo 0mpresora de Za9<! dis"onible desde 'odo gr&fico % 'odo
ter'inal$ Iabilite lo siguiente desde el 'en0 ,quipo H $istema H Iast H 0mpresora H #ompartir impresoras)
-er'itir acceso re'oto
-ara e.ui"os en la red local
-ublicar las i'"resoras "or defecto en la red local
=72
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de ?'"resoras de RaS@ en 'odo gr&fico$
Iaga clic en el botn ;ceptar "ara .ue surtan efecto los ca'bios$
@a'bi#n "uede utili,ar el 'dulo printer de RaS@ en 'odo ter'inal$ F(ecute lo siguiente co'o root)
yast printer
Iabilite lo siguiente desde $are @rinters)
+llo* re'ote access
>or co'"uters *itin local net*orK
-ublis "rinters b% default *itin te local net*orK
=78
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de ?'"resoras de RaS@ en 'odo ter'inal$
+"li.ue los ca'bios tabulando asta 1'! "ulse la tecla FN@F;! es"ere 29 segundos "ara .ue a"li.uen los
ca'bios % salga del 'dulo tabulando de nuevo asta 1' % "ulse la tecla FN@F;$
-....,. 5odo terminal.
Si utili,a CentGS! >edoraH o ;ed Iat Fnter"riseH Linux! detenga el servicio cups e(ecutando lo siguiente)
service cups stop
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise! detenga el servicio cups e(ecutando lo siguiente)
rccups stop
Fdite el arcivo 8etc8cups8cupsd.conf)
vim /etc/cups/cupsd#con"
Localice &isten localhost#0,!)
A 0nly listen "or connections "rom the local machine#
L%s$en )o&#)hos$153
Desabilite la o"cin aadiendo una al'oadilla 1s/'bolo j3 al inicio de la l/nea % aada deba(o 7ort 0,!)
A 0nly listen "or connections "rom the local machine#
P L%s$en )o&#)hos$153
A =ermitir acceso remoto
9or$ 53
=7=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Localice lo siguiente)
A Sho shared printers on the local netork#
;rosing 0n
;rose0rder alloBdeny
;rose5llo all
;rose2ocal=rotocols *?=S dnssd
-ara abilitar la funcin de co'"artir i'"resoras % el acceso a las i'"resoras re'otas! aada la o"cin
$roRseRemote7rotocols con el valor C"79 % la o"cin $roRse;ddress con el valor i&(C;&)
A Sho shared printers on the local netork#
;rosing 0n
;rose0rder alloBdeny
;rose5llo all
Bro0seRe<o$e9ro$o&o)s CU9S
Bro0seA--ress KLOCAL
;rose2ocal=rotocols *?=S dnssd
Localice lo siguiente)
]2ocation /Q
0rder alloBdeny
]/2ocationQ
+ada ;lloR all (usto deba(o de (rder alloRGden+)
]2ocation /Q
0rder alloBdeny
A))o0 #))
]/2ocationQ
Guarde el arcivo$
Si utili,a CentGS! >edoraH o ;ed Iat Fnter"riseH Linux! inicie de nuevo el servicio cups e(ecutando lo
siguiente)
service cups start
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise! inicie de nuevo el servicio cups e(ecutando lo siguiente)
rccups start
-..0. ;Hadir o modificar impresoras.
Fn la 'a%or/a de las distribuciones 'odernas % sie'"re % cuando se trate de un dis"ositivo co'"atible! .ue
est# so"ortado "or C"79 % .ue ade'&s dis"onga de un controlador instalado en el siste'a! la
configuracin de las impresoras es autom6tica$ Slo se re.uiere a"agar % encender de nuevo la
i'"resora o desconectar % conectar de nuevo #sta "ara .ue C"79 la detecte % "ueda configurar #sta de
'anera auto'&tica$
=72
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn el caso .ue sea necesario! C"79 dis"one de una interfa, de ad'inistracin! basada sobre I@@-!
dis"onible in'ediata'ente des"u#s de iniciar el servicio cups! a trav#s de http#88localhost#0,!8admin$
Fsta interfa, inclu%e un asistente de configuracin "ara encontrar % aadir nuevas i'"resoras o bien
ad'inistrar las existentes$
Fn distribuciones co'o Cent(9! 2edora % Red Dat /nterprise &inu*! esta interfa, I@@- slo re.uiere
utili,ar la cuenta % clave de acceso del usuario root del anfitrin local % slo est& dis"onible conect&ndose
desde el anfitrin local$
Fn distribuciones co'o open9"9/ % 9"9/ &inu* /nterprise! se re.uiere utili,ar el 'andato lppassRd
"ara aadir un usuario virtual 1se reco'ienda se deno'ine cupsadmin3 "erteneciente al gru"o s+s! a fin de
"oder acer uso de la interfa, I@@-$
lppassd !a !g sys cupsadmin
Fl 'andato lppassRd al'acenar& #ste % otros usuarios virtuales .ue se aadan! en el arcivo
8etc8cups8passRd.md.$
?nterfa, de ad'inistracin de C"79$
-ara obtener una lista de los 'odelos de i'"resoras so"ortados "or C"79 % cu%os controladores est#n
instalados en el siste'a dentro del directorio 8usr8share8cups8model! se e(ecuta el 'andato lpinfo con la
o"cin -m)
lpin"o !m
-ara aadir o 'odificar una i'"resora desde el int#r"rete de 'andatos! se e(ecuta el 'andato lpadmin del
siguiente 'odo)
lpadmin !p -ombre !' !v ?R)7//ruta/nombre !m ppd!impresora
Donde)
=74
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-p se utili,a "ara definir el no'bre .ue utili,ar& C"79 "ara la i'"resora .ue se est&
aadiendo o 'odificando$
-/ define .ue la cola de i'"resin est& abilitada % .ue estar& co'"artida con otros
anfitriones de la red de &rea local$ F.uivale a e(ecutar los 'andatos cupsaccept %
cupsenable con el no'bre de la cola de i'"resin co'o argu'ento$
-v se utili,a "ara definir el U;? 15niform Resource %dentifier o identificador unifor'e de
recurso3 .ue corres"onda a la cola de i'"resin$
-m se utili,a "ara definir el arcivo P$""d a utili,ar! de acuerdo a la no'enclatura de la lista
'ostrada "or el 'andato lpinfo -m$
Fn lugar de la o"cin -m! "uede utili,arse la o"cin -7 1'a%0scula3 "ara definir arcivos P$""d es"ec/ficos
.ue a%an sido descargados desde (pen7rinting 1antes Linux-rinting$org3$
lpadmin !p -ombre !' !v ?R)7//ruta/nombre != archivo#ppd
Los U;? "er'itidos "or C"79 "ara dis"ositivos locales son) "! "fax! scsi % usb$
Los U;? "er'itidos "or C"79 "ara i'"resoras en red son) be! tt"! tt"s! i""! l"d! s'b % socKet$
La configuracin de las i'"resoras se guardar& en el arcivo 8etc8cups8printers.conf$ Si se re.uiere acer
'odificaciones 'anuales! este arcivo "uede 'odificarse con editor de texto slo cuando el servicio cups
est& detenido! "ues de otro 'odo se "erder&n los ca'bios reali,ados con editor de texto$
Los arcivos P$""d .ue se definan con la interfa, I@@- de C"79! la erra'ienta s+stem-config-printer o
bien el 'andato lpadmin! se co"iar&n auto'&tica'ente dentro del directorio 8etc8cups8ppd8$
Fn el siguiente e(e'"lo! se aade %/o 'odifica la configuracin "ara una i'"resora F-SGN F-L62B99!
conectada al anfitrin local "or USB! utili,ando la no'enclatura del arcivo P$""d! 'ostrada "or el 'andato
lpinfo -m % .ue corres"onde al controlador reco'endado "ara este 'odelo es"ec/fico de i'"resora)
lpadmin !p '=2!:9%% !' K
!v usb7//'=S0-/'=2!:9%% K
!m "oomatic7'pson!'=2!:9%%!eplaser#ppd
Fn el siguiente e(e'"lo! se aade %/o 'odifica la configuracin "ara la 'is'a i'"resora! conectada al
anfitrin local "or USB! utili,ando el arcivo e"l2B99$""d! descargado desde (pen7rinting)
lpadmin !p '=2!:9%% !' K
!v usb7//'=S0-/'=2!:9%% K
!= _/&escargas/epl:9%%#ppd
Fn el siguiente e(e'"lo! se aade %/o 'odifica la configuracin "ara la 'is'a i'"resora! "ero conectada en
el servidor ?-- con direccin ?- 7B2$74A$59$2)
lpadmin !p '=2!:9%% !' K
!v ipp7//198#166#$%#8/printers/'=2!:9%% K
!m "oomatic7'pson!'=2!:9%%!eplaser#ppd
Fn el siguiente e(e'"lo! se aade %/o 'odifica la configuracin "ara la 'is'a i'"resora! "ero conectada en
el servidor S:B 1o bien co'"artida desde un anfitrin Qindo*s3 con direccin ?- 7B2$74A$59$2! accediendo
co'o usuario invitado)
=75
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
lpadmin !p '=2!:9%% !' K
!v smb7//servidor/printers/'=2!:9%% K
!m "oomatic7'pson!'=2!:9%%!eplaser#ppd
Fn el siguiente e(e'"lo! se aade %/o 'odifica la configuracin "ara la 'is'a i'"resora! "ero conectada en
el servidor S:B 1o bien co'"artida desde un anfitrin Qindo*s3 con direccin ?- 7B2$74A$59$2! accediendo
con el usuario fulano con clave de acceso 728.*e)
lpadmin !p '=2!:9%% !' K
!v smb7//"ulano718@Je^servidor/printers/'=2!:9%% K
!m "oomatic7'pson!'=2!:9%%!eplaser#ppd
Fn el caso de aber '&s de una i'"resora configurada en C"79! "uede establecerse la i'"resora
"redeter'inada del siste'a e(ecutando el 'andato lpadmin! con la o"cin -d % el no'bre de la cola de
i'"resin co'o argu'ento! co'o se 'uestra en el siguiente e(e'"lo)
lpadmin !d '=2!:9%%
-ara eli'inar una i'"resora de C"79! se e(ecuta el 'andato lpadmin con la o"cin -*! usando co'o
argu'ento el no'bre de la cola de i'"resin a eli'inar$
lpadmin !x '=2!:9%%
-..0.!. Configuracin de opciones de impresin.
Las o"ciones definidas con el 'andato lpoptions se guardan en el arcivo 8etc8cups8lpoptions$ Fl
'andato lpoptions "uede ser utili,ado ta'bi#n "or usuarios regulares! "ero las o"ciones definidas "or
#stos se guardar&n en el arcivo ^8.cups8lpoptions 1Cent(9! 2edoraF o Red DatF /nterprise &inu*3 o
^8.lpoptions 1open9"9/F % 9"9/F &inu* /nterprise3 del usuario utili,ado$
Las o"ciones dis"onibles "ara cada 'odelo de i'"resora "ueden consultarse % verificarse e(ecutando el
'andato lpoptions con la o"cin -l$
lpoptions !p '=2!:9%% !l
Fn el caso de la i'"resora F-SGN F-L62B99! lo anterior 'ostrar& una salida si'ilar a la siguiente)
=ageSiCe/=age SiCe7 *ustom#4)&13x3')I31 L2etter 54 5: ;: 'nv1% 'nv*: 'nv&2 'nv)S0;: 'nv.onarch
'xecutive 2egal
)nputSlot/=aper Source7 1ray1 1ray8 1ray@ 1ray4 1ray: 1ray6 1ray$ 1ray6 1ray9 1ray1% 1ray11 1ray18
1ray1@ 1ray14 1ray1: L5uto
Resolution/Resolution7 @%%x@%%dpi L6%%x6%%dpi 18%%x18%%dpi
*opies/-umber o" *opies7 L1 8 @ 4 : 6 $ 6 9 1% 11 18 1@ 14 1: 16 1$ 16 19 8% 81 88 8@ 84 8: 86 8$ 86
89 @% @1 @8 @@ @4 @: @6 @$ @6 @9 4% 41 48 4@ 44 4: 46 4$ 46 49 :% :1 :8 :@ :4 :: :6 :$ :6 :9 6% 61 68
6@ 64 6: 66 6$ 66 69 $% $1 $8 $@ $4 $: $6 $$ $6 $9 6% 61 68 6@ 64 6: 66 6$ 66 69 9% 91 98 9@ 94 9: 96
9$ 96 99 1%% *ustom#)-1'I'R
.edia1ype/.edia 1ype7 L=lain 1hick 1rans
&uplex/&ouble!Sided =rinting7 &uplex-o1umble &uplex1umble L-one
.anual/.anual >eed o" =aper7 1rue L>alse
1onerSaving/'conomy .ode7 1rue L>alse
*ollate/0utput 0rder7 1rue L>alse
2andscape/0rientation7 1rue L>alse
R)10""/R)1 *ontrol7 1rue L>alse
La salida se inter"reta de la siguiente for'a! donde los valores "redeter'inados se 'uestran (unto con un
asterisco)
=7A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ombre0pciTn/&escripciTn de la opciTn7 valores Lpredeterminado
Fl valor "redeter'inado "ara el ta'ao del "a"el! en la 'a%or/a de los controladores! es ;-$ Fn el siguiente
e(e'"lo se establecer& .ue de 'odo "redeter'inado se utilic# ta'ao carta "ara el ta'ao del "a"el! en
lugar del valor "redeter'inado del arcivo P$""d corres"ondiente! e(ecutando el 'andato lpoptions del
siguiente 'odo)
lpoptions !p '=2!:9%% !o =ageSiCe+2etter
Fn el siguiente e(e'"lo se establecer& .ue! de 'odo "redeter'inado! esta i'"resora utilice ta'ao carta
"ara el ta'ao del "a"el! "ero 'odificando del valor "redeter'inado del arcivo P$""d corres"ondiente! el
cual est& dentro del directorio 8etc8cups8ppd8! e(ecutando el 'andato lpadmin del siguiente 'odo)
lpadmin !p '=2!:9%% !o =ageSiCe+2etter
Fn el siguiente e(e'"lo se establecer& .ue! de 'odo "redeter'inado! se utilice ta'ao oficio "ara el
ta'ao del "a"el! en lugar del valor "redeter'inado del arcivo P$""d corres"ondiente! e(ecutando el
'andato lpoptions del siguiente 'odo)
lpoptions !p '=2!:9%% !o =ageSiCe+2egal
Fn el siguiente e(e'"lo se establecer& 899x899d"i co'o valor "redeter'inado "ara la resolucin de las
i'"resiones)
lpoptions !p '=2!:9%% !o Resolution+@%%x@%%dpi
-..1. Impresin desde el intrprete de mandatos.
Fl estilo S)(te$ 1! .ue es el '#todo "referido! utili,a el 'andato lp con la o"cin -d % el no'bre de la cola
de i'"resin co'o argu'ento$
lp !d -ombre*ola archivo#ps
-ara acer la i'"resin de arcivos locales en una i'"resora re'ota e(ecutando el 'andato lp! se e(ecuta
lo anterior con la o"cin -h % el no'bre o direccin ?- del servidor co'o argu'ento$
lp !d -ombre*ola !h 198#166#$%#8 archivo#ps
Fl 'andato lp "er'ite ade'&s es"ecificar o"ciones de i'"resin cuando el caso lo re.uiera$ Fn el siguiente
e(e'"lo se reali,a la i'"resin de un arcivo en una i'"resora local! definiendo ta'ao oficio "ara el
ta'ao del "a"el)
lp !d -ombre*ola !o =ageSiCe+2egal archivo#ps
Fl estilo 6er.el)! .ue es el '#todo antiguo! utili,a el 'andato lpr con la o"cin -7 1'a%0scula3 % el no'bre
de la cola de i'"resin co'o argu'ento)
lpr != -ombre*ola archivo#ps
=7B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara acer la i'"resin de arcivos locales en una i'"resora re'ota e(ecutando el 'andato lpr! se e(ecuta
lo anterior con la o"cin -D 1'a%0scula3 % el no'bre o direccin ?- del servidor co'o argu'ento)
lpr != -ombre*ola !3 198#166#$%#8 archivo#ps
Fl 'andato lpr ta'bi#n "er'ite es"ecificar o"ciones de i'"resin cuando el caso lo re.uiera$ Fn el
siguiente e(e'"lo se reali,a la i'"resin de un arcivo en una i'"resora local! definiendo ta'ao oficio
"ara el ta'ao del "a"el)
lpr != -ombre*ola !o =ageSiCe+2egal archivo#ps
-..4. Jerificar estados de las colas de impresin.
-ara 'ostrar el estado de todas las colas de i'"resin del siste'a! utili,ando el estilo S)(te$ 1! e(ecute el
'andato lpstat con la o"cin -p)
lpstat !p
-ara 'ostrar el estado de una i'"resora en "articular! e(ecute el 'andato lpstat con la o"cin -p con el
no'bre de la cola de i'"resin co'o argu'ento)
lpstat !p -ombre*ola
-ara 'ostrar el estado de una i'"resora en "articular en un servidor re'oto 1"or e(e'"lo 7B2$74A$59$23!
e(ecute el 'andato lpstat con la o"cin -p con el no'bre de la cola de i'"resin co'o argu'ento % la
o"cin -h con el no'bre del servidor o la direccin ?- corres"ondiente co'o argu'ento)
lpstat !p -ombre*ola !h 198#166#$%#8
-ara 'ostrar el estado de todos los traba(os de i'"resin "endientes en todas las colas de i'"resin del
siste'a! e(ecute el 'andato lpstat con la o"cin -o)
lpstat !o
-ara 'ostrar el estado de todos los traba(os de i'"resin "endientes en una i'"resora en "articular!
e(ecute el 'andato lpstat con la o"cin -o con el no'bre de la cola de i'"resin co'o argu'ento)
lpstat !o -ombre*ola
-ara 'ostrar el estado de una i'"resora en "articular! as/ co'o ta'bi#n el estado de todos los traba(os de
i'"resin "endientes en #sta! e(ecute el 'andato lpstat con la o"cin -p con el no'bre de la cola de
i'"resin co'o argu'ento % la o"cin -o con el no'bre de la cola de i'"resin co'o argu'ento$
lpstat !p -ombre*ola !o -ombre*ola
Si se desea infor'acin '&s detallada! e(ecute el 'andato lpstat con la o"cin -t)
lpstat !t
=29
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se desea el '&xi'o de infor'acin dis"onible! e(ecute el 'andato lpstat con la o"cin -t % la o"cin -l)
lpstat !t !l
-ara 'ostrar el estado de todas las colas de i'"resin del siste'a % los traba(os "endientes! utili,ando el
estilo 6er.ele)! e(ecute el 'andato lpC)
lpJ
-ara 'ostrar el estado de una i'"resora en "articular! e(ecute el 'andato lpC con la o"cin -7 1'a%0scula3
con el no'bre de la cola de i'"resin co'o argu'ento)
lpJ !=-ombre*ola
-ara 'ostrar el estado de todos los traba(os de i'"resin "endientes en todas las colas de i'"resin del
siste'a! e(ecute el 'andato lpC con la o"cin -a)
lpJ !a
-..4.!. Cancelacin de traba%os de impresin.
Fl estilo S)(te$ 1 utili,a el 'andato cancel con el no'bre de la cola de i'"resin % el n0'ero de traba(o
co'o argu'entos$
cancel -ombre*ola!nVmero
Fn el siguiente e(e'"lo se cancela el traba(o de i'"resin 2 en la cola de i'"resin F-L62B99)
cancel '=2!:9%%!:
-ara eli'inar un traba(o de i'"resin en un servidor re'oto! a lo anterior se le aade la o"cin -h con el
no'bre o direccin ?- .ue corres"onda co'o argu'ento$
cancel !h servidor -ombre*ola!nVmero
Fn el siguiente e(e'"lo se cancela el traba(o de i'"resin 2 en la cola de i'"resin F-L62B99 en el servidor
7B2$74A$59$2)
cancel !h 198#166#$%#8 '=2!:9%%!:
Fl estilo 6er.ele) utili,a el 'andato lprm! la o"cin -7 1'a%0scula3! seguida in'ediata'ente del no'bre
de la cola de i'"resin co'o argu'ento % el n0'ero del traba(o de i'"resin .ue se .uiere cancelar)
lprm !=-ombre*ola -Vmero
Fn el siguiente e(e'"lo se cancela el traba(o de i'"resin 2 en la cola de i'"resin F-L62B99)
lprm !='=2!:9%% :
=27
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara eli'inar un traba(o de i'"resin en un servidor re'oto! a lo anterior se le aade la o"cin -h con el
no'bre o direccin ?- .ue corres"onda co'o argu'ento$
lprm !h servidor !=-ombre*ola -Vmero
Fn el siguiente e(e'"lo se cancela el traba(o de i'"resin 2 en la cola de i'"resin F-L62B99 en el servidor
7B2$74A$59$2)
lprm !h 198#166#$%#8 !='=2!:9%% :
=22
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-0. Introduccin al protocolo DN9.
Autor: "oel Barrios &ue!a
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-0.!. /Cuipamiento lgico necesario.
?nstale los "a.uetes bind-utils % %Rhois$
yum !y install bind!utils Ohois
-0.. Conceptos.
-0..!. ;cerca del protocolo DN9 PDomain Name 9+stemQ.
DN9 1acrni'o de Do'ain Na'e 9%ste'3 es una base de datos distribuida % (er&r.uica! .ue al'acena la
infor'acin necesaria "ara los no'bres de do'inio$ Sus usos "rinci"ales son la asignacin de no'bres de
do'inio a direcciones ?- % la locali,acin de los servidores de correo electrnico corres"ondientes "ara cada
do'inio$ Fl DN9 naci de la necesidad de facilitar a los seres u'anos el acceso acia los servidores
dis"onibles a trav#s de ?nternet "er'itiendo acerlo "or un no'bre! algo '&s f&cil de recordar .ue una
direccin I7$
Los 9ervidores DN9 utili,an <C7 % "D7! en el "uerto 28 "ara res"onder las consultas$ Casi todas las
consultas consisten de una sola solicitud "D7 desde un Cliente DN9! seguida "or una sola res"uesta "D7
del servidor$ Se reali,a una conexin <C7 cuando el ta'ao de los datos de la res"uesta exceden los 272
b%tes! tal co'o ocurre con tareas co'o transferencia de 3onas$
-0... >?u es un NIC PNetRorO Information CenterQ@
NIC 1acrni'o de Net*orK Infor'ation Center o Centro de ?nfor'acin sobre la ;ed3 es una institucin
encargada de asignar los no'bres de do'inio en ?nternet %a sean no'bres de do'inio gen#ricos o "or
"a/ses! "er'itiendo "ersonas o e'"resas! 'ontar sitios de ?nternet a trav#s de un I97! 'ediante un DNS$
@#cnica'ente existe un NIC "or cada "a/s en el 'undo % cada uno de #stos es res"onsable "or todos los
do'inios con la ter'inacin corres"ondiente a su "a/s$ -or e(e'"lo) N?C :#xico es la entidad encargada de
gestionar todos los do'inios con ter'inacin .m*! la cual es la ter'inacin corres"ondiente asignada a los
do'inios de :#xico$
-0..,. >?u es un 2?DN P2ull+ ?ualified Domain NameQ@
2?DN 1acrni'o de 2ull% ?ualified Do'ain Na'e o No'bre de Do'inio -lena'ente Calificado3 es un
No'bre de Do'inio a'biguo .ue es"ecifica la "osicin absoluta del nodo en el &rbol (er&r.uico del DNS$ Se
distingue de un no'bre regular "or.ue lleva un "unto al final$
=28
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Co'o e(e'"lo) su"oniendo .ue se tiene un dis"ositivo cu%o no'bre de anfitrin es ^'a.uina7_ % un
do'inio lla'ado ^do'inio$co'_! el 2?DN ser/a ^maCuina!.dominio.com._! as/ es .ue se define de for'a
0nica al dis"ositivo 'ientras .ue "udieran existir 'ucos anfitriones lla'ados ^'a.uina7_! sola'ente
"uede aber uno lla'ado ^maCuina!.dominio.com._$ La ausencia del "unto al final definir/a .ue se
"udiera tratar sola'ente de un "refi(o! es decir ^maCuina!.dominio.com_ "udiera ser un do'inio de otro
'&s largo co'o ^maCuina!.dominio.com.m*_$
La longitud '&xi'a de un 2?DN es de 222 b%tes! con una restriccin adicional de 48 b%tes "ara cada
eti.ueta dentro del no'bre del do'inio$ Sola'ente se "er'iten los caracteres +6N de +SC??! d/gitos % el
car&cter ^6_ 1guin 'edio3$ Sin distincin de 'a%0sculas % 'in0sculas$
Desde 299=! a solicitud de varios "a/ses de Furo"a! existe el est&ndar IDN 1acrni'o de Internationali,ed
Do'ain Na'e3 .ue "er'ite caracteres no6+SC??! codificando caracteres 5nicode dentro de cadenas de
bytes dentro del con(unto nor'al de caracteres de 2?DN$ Co'o resultado! los li'ites de longitud de los
no'bres de do'inio IDN de"enden directa'ente del contenido 'is'o del no'bre$
-0..-. Componentes de DN9.
DNS o"era a trav#s de tres co'"onentes) Clientes DNS! Servidores DNS % Nonas de +utoridad$
-0..-.!. Clientes DN9.
Son "rogra'as .ue e(ecuta un usuario % .ue generan "eticiones de consulta "ara resolver no'bres$
B&sica'ente "reguntan "or la direccin ?- .ue corres"onde a un no'bre deter'inado$
-0..-.. 9ervidores DN9.
Son servicios .ue contestan las consultas reali,adas "or los Clientes DN9$ Ia% dos ti"os de servidores de
no'bres)
a 9ervidor 5aestro) @a'bi#n deno'inado 7rimario$ Gbtiene los datos del do'inio a "artir de un arcivo
alo(ado en el 'is'o servidor$
a 9ervidor /sclavo) @a'bi#n deno'inado 9ecundario$ +l iniciar obtiene los datos del do'inio a trav#s de un
Servidor :aestro 1o "ri'ario3! reali,ando un "roceso deno'inado transferencia de 3ona$
Un gran n0'ero de "roble'as de o"eracin de servidores DNS se atribu%en a las "obres o"ciones de
servidores secundarios "ara las ,ona de DNS$ De acuerdo al R2C !4! el DNS re.uiere .ue al menos tres
servidores e*istan "ara todos los do'inios delegados 1o ,onas3$
Una de las "rinci"ales ra,ones "ara tener al menos tres servidores "ara cada ,ona! es "er'itir .ue la
infor'acin de la ,ona 'is'a est# dis"onible sie'"re % de for'a confiable! acia los Clientes DN9! a
trav#s de ?nternet cuando un servidor DNS de dica ,ona falle! est# fuera de servicio %/o est# inalcan,able$
Contar con '0lti"les servidores ta'bi#n facilita la propagacin de la ,ona % 'e(oran la eficiencia del
siste'a en general al brindar o"ciones a los Clientes DN9 si acaso encontraran dificultades "ara reali,ar
una consulta en un 9ervidor DN9$ Fn otras "alabras) tener '0lti"les servidores "ara una ,ona "er'ite
contar con redundancia + respaldoG del servicio$
Con '0lti"les servidores! "or lo general uno act0a co'o 9ervidor 5aestro o 7rimario % los de'&s co'o
9ervidores /sclavos o 9ecundarios$ Correcta'ente configurados % una ve, creados los datos "ara una
,ona! es innecesario co"iarlos a cada 9ervidor /sclavo o 9ecundario! "ues #ste se encargar& de
transferir los datos de 'anera auto'&tica cada ve, .ue sea necesario$
=2=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Los 9ervidores DN9 res"onden dos ti"os de consultas)
a Consultas Iterativas Pno recursivasQ) Fl cliente ace una consulta al 9ervidor DN9 % #ste le res"onde con
la 'e(or res"uesta .ue "ueda darse basada sobre su cac# o en las ,onas locales$ Si es i'"osible dar una
res"uesta! la consulta se reenv/a acia otro Servidor DNS re"iti#ndose este "roceso asta encontrar al
9ervidor DN9 .ue tiene la bona de ;utoridad ca"a, de resolver la consulta$
a Consultas Recursivas) Fl 9ervidor DN9 asu'e toda la carga de "ro"orcionar una res"uesta co'"leta "ara
la consulta reali,ada "or el Cliente DN9$ Fl 9ervidor DN9 desarrolla entonces Consultas Iterativas
se"aradas acia otros 9ervidores DN9 1en lugar de acerlo el Cliente DN93 "ara obtener la res"uesta
solicitada$
-0..-.,. bonas de ;utoridad.
-er'iten al 9ervidor 5aestro o 7rimario cargar la infor'acin de una ,ona$ Cada bona de ;utoridad
abarca al 'enos un do'inio %! "osible'ente! sus sub6do'inios! si estos 0lti'os son i'"osibles de delegar a
otras ,onas de autoridad$
La infor'acin de cada bona de ;utoridad es al'acenada de for'a local en un arcivo en el 9ervidor
DN9$ Fste arcivo "uede incluir varios ti"os de registros)
<ipo de Registro. Descripcin.
; 1;ddress3
;egistro de direccin .ue resuelve un no'bre de un anfitrin acia una direccin I7v- de
82 bits$
;;;;
;egistro de direccin .ue resuelve un no'bre de un anfitrin acia una direccin I7v0 de
72A bits$
CN;5/ 1Canonical Name3
;egistro de no'bre cannico .ue ace .ue un no'bre sea alias de otro$ Los do'inios con
alias obtienen los sub6do'inios % registros DNS del do'inio original$
5B 15ail F*canger3
;egistro de servidor de correo .ue sirve "ara definir una lista de servidores de correo
"ara un do'inio! as/ co'o la "rioridad entre #stos$
7<R 17ointer3
;egistro de a"untador .ue resuelve direcciones I7v- acia los no'bres anfitriones$ Fs
decir! ace lo contrario al registro ;$ Se utili,a en ,onas de Resolucin Inversa$
N9 1Na'e 9erver3
;egistro de servidor de no'bres! .ue sirve "ara definir una lista de servidores de
no'bres con autoridad "ara un do'inio$
9(; 19tart of ;utorit%3
;egistro de inicio de autoridad! encargado de es"ecificar el 9ervidor DN9 :aestro 1o
-ri'ario3 .ue "ro"orcionar& la infor'acin con autoridad acerca de un do'inio de
?nternet! direccin de correo electrnico del ad'inistrador! n0'ero de serie del do'inio %
"ar&'etros de tie'"o "ara la ,ona$
9RJ 19ervice3
;egistros de servicios! encargados de es"ecificar infor'acin acerca de servicios
dis"onibles a trav#s del do'inio$ -rotocolos co'o 9I7 19ession Initiation 7rotocol3 %
B577 1F*tensible 5essaging and 7resence 7rotocol3 suelen re.uerir registros 9RJ en la
,ona "ara "ro"orcionar infor'acin a los clientes$
<B< 1<e*t3
;egistros de texto! encargados de "er'itir al ad'inistrador insertar texto arbitraria'ente
en un registro DNS$ Fste ti"o de registro es 'u% utili,ado "or los servidores de listas
negras DN9$& 1DN96based $lacKole &ist3 "ara la filtracin de S"a'$ Gtro e(e'"lo de uso
ser/a el caso de las J-N! donde suele re.uerirse un registro <B<! "ara definir una fir'a
digital .ue ser& utili,ada "or los clientes$
Las ,onas .ue se "ueden resolver son)
bonas de Reenvo.
Devuelven direcciones I7 "ara las b0s.uedas ecas "ara no'bres 2?DN 12ull% ?ualified Do'ain
Na'e3$
Fn el caso de do'inios "0blicos! la res"onsabilidad de .ue exista una bona de ;utoridad "ara cada
bona de Reenvo! corres"onde a la autoridad 'is'a del do'inio! es decir .uien est# registrado
co'o autoridad del do'inio la base de datos \D(I9 donde est# registrado el do'inio$ Duienes
ad.uieren do'inios a trav#s de un NIC 1"or e(e'"lo) ***$nic$'x3! son .uienes deben acerse cargo
de las bonas de Reenvo %a sea a trav#s de su "ro"io 9ervidor DN9 o bien a trav#s de los
9ervidores DN9 de su I97$
=22
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Salvo .ue se trate de un do'inio "ara uso en una red local! todo do'inio debe ser "ri'ero tra'itado
con un NIC! co'o re.uisito "ara tener dereco legal a utili,arlo % "oder "ro"agarlo a trav#s de
?nternet$
bonas de Resolucin Inversa.
Devuelven no'bres 2?DN 12ull% ?ualified Do'ain Na'e3 "ara las b0s.uedas ecas "ara
direcciones I7$
Fn el caso de seg'entos de red "0blicos! la res"onsabilidad de .ue exista una bona de ;utoridad
"ara cada bona de Resolucin Inversa! corres"onde a la autoridad 'is'a del seg'ento! es decir!
corres"onde a .uien est# registrado co'o autoridad del blo.ue de direcciones ?-! infor'acin .ue
"uede ser obtenida al consultar una base de datos \D(I9$
Los grandes I97 % algunas e'"resas son .uienes se acen cargo de las bonas de Resolucin
Inversa$
-0.... Derramientas de b)sCueda + consulta.
-0....!. 5andato host.
Fl 'andato host es una erra'ienta si'"le "ara acer consultas en 9ervidores DN9$ Fs utili,ado "ara
obtener las direcciones ?- de los no'bres de anfitrin % viceversa$
De 'odo "redeter'inado! reali,a las consultas en los 9ervidores DN9 .ue est#n definidos en el arcivo
8etc8resolv.conf del anfitrin local! "udiendo definirse de 'anera o"cional cual.uier otro 9ervidor DN9$
host #alcancelibre#org
Lo anterior reali,a una b0s.ueda en los 9ervidores DN9 definidos en el arcivo 8etc8resolv.conf del
siste'a! devolviendo co'o resultado una direccin ?-$
host #alcancelibre#org 6#6#6#6
Lo anterior reali,a una b0s.ueda en los 9ervidor DN9 en la direccin ?- A$A$A$A! devolviendo una direccin
?- co'o resultado$
-0..... 5andato dig.
Fl 'andato dig 1do'ain infor'ation gro"er3 es una erra'ienta flexible "ara reali,ar consultas en
9ervidores DN9$ ;eali,a b0s.uedas % 'uestra las res"uestas .ue son regresadas "or los servidores .ue
fueron consultados$ Debido a su flexibilidad % claridad en la salida! es .ue la 'a%or/a de los ad'inistradores
utili,an dig "ara diagnosticar "roble'as de DNS$
De 'odo "redeter'inado! reali,a las b0s.uedas en los 9ervidores DN9 definidos en el arcivo
8etc8resolv.conf! "udiendo definirse de 'anera o"cional cual.uier otro 9ervidor DN9$ La sintaxis b&sica
ser/a)
dig ^servidor dominio#tld 1)=0
=24
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Donde servidor corres"onde al no'bre o direccin ?- del 9ervidor DN9 a consultar! dominio.tld
corres"onde al no'bre del registro del recurso .ue se est& buscando % <I7( corres"onde al ti"o de consulta
re.uerido 1+NR! +! :O! SG+! NS! etc$3
F(e'"lo)
dig ^6#6#6#6 alcancelibre#org MX
Lo anterior reali,a una b0s.ueda en el 9ervidor DN9 en la direccin ?- A$A$A$A "ara los registros 5B "ara el
do'inio alcancelibre.org$
dig alcancelibre#org NS
Lo anterior reali,a una b0s.ueda en los 9ervidores DN9 definidos en el arcivo 8etc8resolv.conf del
siste'a "ara los registros N9 "ara el do'inio alcancelibre.org$
dig ^6#6#6#6 alcancelibre#org -S
Lo anterior reali,a una b0s.ueda en los 9ervidor DN9 en la direccin ?- A$A$A$A "ara los registros N9 "ara
el do'inio alcancelibre.org$
-0....,. 5andato %Rhois PRhoisQ.
Fl 'andato %Rhois es una erra'ienta de consulta a trav#s de servidores \D(I9$ La sintaxis b&sica es)
Ohois dominio#tld
F(e'"lo)
Ohois alcancelibre#org
Lo anterior regresa la infor'acin corres"ondiente al do'inio alcancelibre.org$
-0.,. 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir en el 'uro cortafuegos el "uerto 28 1dns3! tanto "or @C- co'o UD-$
-0.,.!. 9+stem-config-fireRall.
Si utili,a el 'uro cortafuegos "redeter'inado del siste'a! "uede e(ecutar el siguiente 'andato)
system!con"ig!"ireall
R abilite DNS % a"li.ue los ca'bios$
=25
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Ierra'ienta s%ste'6config6fire*all abilitando el "uerto 28 "or @C- % UD-$
-0.,.. 9ervicio iptables.
-uede utili,ar directa'ente el 'andato iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport :@ !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport :@ !O 5**'=1
service iptables save
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada el siguiente contenido)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport :@ !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport :@ !O 5**'=1
-ara a"licar los ca'bios! reinicie el servicio iptables)
service iptables restart
-0.,.,. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Las reglas "ara "er'itir el acceso al servidor DNS en el anfitrin local corres"onder/an a algo si'ilar a lo
siguiente)
=2A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp :@
5**'=1 all " udp :@
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
Si se desea .ue los clientes de una red de &rea local "uedan acer uso de servidores DNS en ?nternet! es
necesario abrir la salida "ara el "uerto 28 1dns3! "or @C- % UD-$
Las reglas "ara el arcivo 8etc8shoreRall8rules de 9horeRall corres"onder/a a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp :@
5**'=1 all " udp :@
5**'=1 loc net tcp :@
5**'=1 loc net udp :@
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios! reinicie el servicio shoreRall)
service shoreall restart
=2B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-1. Configuracin de servidor de nombres de
dominio PDN9Q.
Autor: "oel Barrios &ue!a
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-1.!. Introduccin.
Fs i'"rescindible "ri'ero estudiar % co'"render! los conce"tos descritos en el docu'ento titulado
^Introduccin al protocolo DN9$_
-1.!.!. ;cerca de $ind P$erOele+ Internet Name DomainQ.
$IND 1acrni'o de $erKele% Internet Na'e Do'ain3 es una i'"le'entacin del "rotocolo DNS % "rovee
una i'"le'entacin libre de los "rinci"ales co'"onentes del Siste'a de No'bres de Do'inio! los cuales
inclu%en)
Un servidor de siste'a de no'bres de do'inio 1na'ed3$
Una biblioteca resolutoria de siste'a de no'bres de do'inio$
Ierra'ientas "ara verificar la o"eracin adecuada del servidor DNS 1bind6utils3$
Fl Servidor DNS B?ND es utili,ado de 'anera a'"lia en ?nternet en a"roxi'ada'ente el BBc de los
servidores DNS del 'undo! "ro"orcionando una robusta % estable solucin$
-1.. /Cuipamiento lgico necesario.
7aCuete. Descripcin.
bind ?nclu%e el 9ervidor DN9 1named3 % erra'ientas "ara verificar su funciona'iento$
bind-libs
Bibliotecas co'"artidas! .ue consisten en rutinas "ara a"licaciones "ara utili,arse cuando se interact0e
con 9ervidores DN9$
bind-chroot
Contiene un &rbol de arcivos .ue "uede ser utili,ado co'o una (aula croot "ara named aadiendo
seguridad adicional al servicio$
bind-utils Coleccin de erra'ientas "ara consultar 9ervidores DN9$
caching-nameserver
+rcivos de configuracin .ue ar&n .ue el 9ervidor DN9 act0e co'o un cac# "ara el servidor de
no'bres$ Fste "a.uete desa"arece en Cent(9 0 % Red DatF /nterprise &inu* 0! "ues su contenido se
incor"or en el "a.uete "rinci"al de bind$
-1..!. Instalacin a travs de +um.
Si se utili,a Cent(9 0 o Red DatF /nterprise &inu* 0! se "uede instalar $ind [.4 utili,ando lo siguiente)
yum !y install bind bind!chroot bind!utils
=89
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se utili,a Cent(9 . o Red DatF /nterprise &inu* . se "uede instalar $ind [.,.0 utili,ando lo
siguiente)
yum !y install bind bind!chroot bind!utils caching!nameserver
Si se utili,a Cent(9 . o Red DatF /nterprise &inu* .! ta'bi#n "uede instalar! aun.ue de 'anera
o"cional! $ind [.1! el cual inclu%e so"orte "ara DN99/C! utili,ando lo siguiente)
yum remove bind!libs bind!utils bind bind!chroot caching!nameserver
yum !y install bind9$ bind9$!chroot bind9$!utils
-1... 2irma digital del servidor.
Con la finalidad de 'e(orar la seguridad! genere una fir'a digital de 272 bits 1el valor "redeter'inado es
72A bits3 "ara el servidor DNS$ F(ecute lo siguiente)
rndc!con"gen !a !r /dev/urandom !b :18 !c /etc/rndc#key
Ca'bie las "ertenencias "ara .ue este arcivo sea "ro"iedad del usuario root % gru"o named)
chon root7named /etc/rndc#key
+segure .ue los "er'isos de acceso sean lectura % escritura "ara usuario! slo lectura "ara gru"o % nada
"ara otros! es decir un "er'iso 4=9 1r*6r666663)
chmod 64% /etc/rndc#key
-1..,. ;ctualice el archivo de cache con los servidores DN9 ra3.
Fl arcivo 8var8named8named.ca contiene la infor'acin de los servidores DNS ra/, necesaria "ara "oder
iniciar el cace de todo servidor DNS de ?nternet$ +ctualice este arcivo "ara evitar "roble'as "ara la
resolucin de algunas ,onas e(ecutando lo siguiente)
get !- http7//#internic#net/domain/named#root K
!0 /var/named/named#ca
+signe "er'iso de lectura % escritura "ara usuario! slo lectura "ara gru"o % nada "ara otros 1r*6r666663$
chmod 64% /var/named/named#ca
Conviene verificar "eridica'ente si a% alguna actuali,acin de este arcivo$ La versin '&s reciente al
'o'ento de redactar este docu'ento corres"onde al 8 de enero de 2978$
Fl arcivo debe "ertenecer a root % el gru"o named$
chon root7named /var/named/named#ca
@a'bi#n "uede e(ecutar lo siguiente "ara lograr el 'is'o fin$
=87
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
dig Xbu"siCe+18%% Xnorec -S # ^a#root!servers#net Q /var/named/named#ca
-1.,. 7rocedimientos.
-1.,.!. 9/&inu* + el servicio named.
+ 'ediados de 299A! Co''on Julnerabilities and Fx"osures List % US6CF;@! re"ortaron .ue el investigador
Dan NaminsO+ descubri una vulnerabilidad .ue afectaba a varias i'"le'entaciones de DN9 1B?ND A % B
antes de B$2$96-7! B$=$26-7 % B$8$26-7Z :icrosoft DNS en todas las versiones de Qindo*s 2999 S-=! O- S-2 %
S-8! as/ co'o Server 2998 S-7 % S-23$
Fsta vulnerabilidad "er'ite a cual.uier atacante re'oto el "oder falsificar tr&fico DNS a trav#s de ciertas
t#cnicas de conta'inacin de cace en servidores .ue reali,an resolucin recursiva 1es decir cuando se usa
la o"cin allo(=recursion abierta a todo el 'undo! co'o ocurre en los servidores DNS "0blicos3 % se
relaciona a insuficiente aleatoriedad de las identidades de transaccin % de los "uertos de origen$ Fs decir!
una vulnerabilidad de entro"/a de insuficiencia de ,calos 1soc'ets3 de DNS 1conocido co'o DN9
Insufficient 9ocOet /ntrop+ Julnerabilit+3$ + trav#s de esta vulnerabilidad un atacante "uede
conta'inar el cace de un servidor DNS % acer .ue los clientes se conecten acia direcciones falsas$ Fs
i'"ortante aclarar .ue en realidad se trata de una vulnerabilidad en el diseo del "rotocolo DNS$
SFLinux "rotege casi "or co'"leto al servicio named contra la vulnerabilidad anterior'ente descrita$ Fs "or
tal 'otivo .ue es i'"ortante utili,ar SFLinux$
+ fin de .ue SFLinux "er'ita al servicio named traba(ar con "er'isos de escritura "ara ,onas 'aestras! es
decir un es.ue'a de servidor 'aestro con servidores esclavos o bien co'o servidor DNS din&'ico! utilice el
siguiente 'andato)
setsebool != named/rite/master/Cones 1
Lo anterior a"lica "ara Cent(9 . % 0 % Red Dat /nterprise &inu* . % 0$
Nota.
Slo "ara Cent(9 . % Red Dat /nterprise &inu* .) -ara definir .ue se desactive la "roteccin de SFLinux "ara el
servicio named! aciendo .ue todo lo anterior'ente descrito en esta seccin "ierda sentido % .ue el servidor sea
"arcial'ente susceptible a la vulnerabilidad descubierta por NaminsOi! utilice el siguiente 'andato)
setsebool != named/disable/trans 1
S/ reali,a el "rocedi'iento anterior! es i'"ortante configurar la funcin de consultas recursivas exclusiva'ente
"ara redes en la .ue se conf/e "lena'ente$
Fsta "ol/tica! al igual .ue otras si'ilares! fue eli'inada en Cent(9 0 % Red Dat /nterprise &inu* 0$
Cual.uier arcivo de ,ona .ue se va%a a utili,ar a trav#s del servicio named! debe contar con los contextos
de SFLinux de usuario de siste'a 1s+stemUu3! rol de ob(eto 1ob%ectUr3 % ti"o ,ona del servicio named
1namedU3oneUt3$
Fn el siguiente e(e'"lo se utili,a el 'andato chcon "ara ca'biar los contextos del arcivo deno'inado
mi-dominio.3one! con el fin de definir los contextos de SFLinux .ue re.uiere #ste)
=82
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cd /var/named/data/
chcon !u system/u !r obOect/r !t named/Cone/t mi!dominio#Cone
Lo anterior sola'ente es necesario si el arcivo mi-dominio.3one fue creado fuera del directorio
8var8named8data8 % fue 'ovido acia este 0lti'o$
Nota.
S/ se utili,a Cent(9 . o Red DatF /nterprise &inu* . % se va a configurar un DNS din&'ico! SFLinux i'"edir&
crear los arcivos Y.%nl 1journal! arcivos de registro "or diario3 corres"ondientes$ Las ,onas de DNS din&'icas
deben ser al'acenadas en directorios es"ec/ficos .ue sola'ente contengan ,onas din&'icas$ Se debe crear el
directorio 8var8named8d+namic "ara tal fin !% configurar #ste "ara .u# "ertene,ca al usuario % gru"o! named %
tenga "er'isos de lectura! escritura % e(ecucin "ara el usuario % gru"o named 15593 % tenga los contextos de
SFLinux de usuario de siste'a 1s+stemUu3! rol de ob(eto 1ob%ectUr3 % ti"o cace del servicio named
1namedUcacheUt3! con el fin de "er'itir escritura en este directorio$
cd /var/named/
mkdir dynamic/
chmod $$% dynamic/
chon named7named dynamic/
chcon !u system/u !r obOect/r !t named/cache/t dynamic/
Fste directorio viene incluido en la instalacin est&ndar de $ind [.1 en Cent(9 0 o Red DatF /nterprise &inu*
0! "or lo cual es innecesario reali,ar el "rocedi'iento anterior con estos siste'as o"erativos$
-1.,.. Configuracin mnima para el archivo 8etc8named.conf.
-uede descargar un arcivo "lantilla desde +lcanceLibre$org! e(ecutando lo siguiente)
cd /etc/
mv named#con" named#con"#original
get http7//#alcancelibre#org/linux/secrets/named#con"
restorecon named#con"
cd
Fdite el arcivo 8etc8named.conf)
vim /etc/named#con"
La configuracin '/ni'a de este arcivo % la cual "er'itir& utili,ar el servicio "ara todo ti"o de uso! es la
siguiente)
=88
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
+or0#r-ers Q
8.8.8.8R
8.8.4.4R
SR
+or0#r- +%rs$R
// STlo habilite lo siguiente si va a utiliCar &-SS'* y si los servidores de
// la secciTn de "orarders tienen soporte para &-SS'*#
-nsse&-en#b)e noR
-nsse&-*#)%-#$%on noR
// dnssec!lookaside auto[
// bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
)ogg%ng Q
&h#nne) -e+#>)$_-eb>g Q
+%)e "-#$#;n#<e-.r>n"R
se*er%$y -yn#<%&R
SR
&#$egory )#<e-ser*ers Q n>))R SR
SR
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rn-&-8ey,[ f[
f[
include ,/etc/rndc#key,[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone "." ?N Q
$y'e h%n$R
+%)e "n#<e-.&#"R
SR
f[
Lo anterior define co'o o"ciones .ue el directorio "redeter'inado ser& 8var8named! se define un arcivo
donde se al'acena la infor'acin del cac# en 8var8named8data8cacheUdump.dbZ un arcivo de
estad/sticas en 8var8named8data8namedUstats.t*t! un arcivo de estad/sticas es"ec/ficas en lo
concerniente al uso de la 'e'oria en 8var8named8data8namedUmemUstats.t*tZ consultas recursivas
"er'itidas sola'ente a 725$9$9$7 % 7B2$74A$7$9/2=! se definen co'o e%emplos de servidores DNS "ara
reenviar consultas a 4.4.4.4 % 4.4.-.-! .ue corres"onden a los servidores DNS "0blicos de Google! los
cuales "uede reempla3ar por los servidores DN9 del proveedor de acceso a Internet utili3ado3Z se
define .ue la "ri'era o"cin al reali,ar una consulta ser& reenviar a los DNS .ue se acaban de definirZ se
inclu%en los arcivos de configuracin 8etc8named.rfc![!.3ones! .ue corres"onde a las ,onas del R2C
![! % la fir'a digital 0nica .ue se gener auto'&tica'ente tras instalar el "a.uete bindZ Se define .ue los
controles se reali,an sola'ente desde 725$9$9$7! acia 725$9$9$7! utili,ando la fir'a digital 0nica$
=8=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
@o'e en consideracin .ue los ca'bios en Cent(9 0 % Red DatF /nterprise &inu* 0 res"ecto de
Cent(9 . % Red DatF /nterprise &inu* .! consisten en .ue se utili,a rndc-Oe+ en lugar de rndcOe+ en
la configuracin de la fir'a digital! se aaden las l/neas corres"ondientes a la configuracin de DN99/C! se
aade configuracin "ara el registro en bit&cora % la ,ona de los servidores ra/, va se"arada del arcivo
named.rfc![!.3ones$ Cent(9 . % Red DatF /nterprise &inu* . "uede utili,ar exacta'ente la 'is'a
configuracin instalando los "a.uetes bind[1! bind[1-chroot! bind[1-libs % bind[1-utils 1desa"arece el
"a.uete caching-nameserver! cu%o contenido se integr al "a.uete bind[13$
Conviene asegurarse .ue el arcivo 8etc8named.conf tenga los contextos corres"ondientes "ara SFLinux a
fin de evitar "otenciales "roble'as de seguridad$
chcon !u system/u !r obOect/r !t named/con"/t /etc/named#con"
-1.,.,. 7reparativos para aHadir dominios.
?deal'ente se deben definir "ri'ero los siguiente datos)
7$ Do'inio a resolver$
2$ Servidor de no'bres "rinci"al 1SG+3$ kste debe ser un nombre Cue +a est plenamente
resueltoG % debe ser un 2?DN 12ull% ?ualified Do'ain Na'e3$
8$ Lista de todos los servidores de no'bres 1NS3 .ue se utili,ar&n "ara efectos de redundancia$
kstos deben ser nombres Cue +a estn plenamente resueltos % deben ser ade'&s
2?DN 12ull% ?ualified Do'ain Na'e3$
=$ Cuenta de correo del ad'inistrador res"onsable de esta ,ona$ Dicha cuenta debe e*istir +
debe ser independiente de la misma 3ona Cue se est6 tratando de resolver.
2$ +l 'enos un servidor de correo 1:O3! con un registro ;! nunca CN;5/$
4$ ?- "redeter'inada del do'inio$
5$ Sub6do'inios dentro del do'inio 1***! 'ail! ft"! ns! etc$3 % las direcciones ?- .ue estar&n
asociadas a #stos$
Fs i'"ortante tener bien en claro .ue los "untos 2! 8 % =! involucran datos .ue deben e*istir
previamente % estar "lena'ente resueltos "or otro servidor DNSZ Lo anterior .uiere decir .ue (a'&s se
deben utili,ar datos .ue sean "arte o de"endan! del 'is'o do'inio .ue se "retende resolver$ De igual
'odo! el servidor donde se i'"le'entar& el DN9 deber& contar con un no'bre 2?DN % .ue est# "revia %
"lena'ente! resuelto en otro DNS$
Co'o regla general! se generar& una ,ona de reenv/o "or cada do'inio sobre el cual se tenga autoridad
"lena % absoluta % se generar& una ,ona de resolucin inversa "or cada red sobre la cual se tenga "lena %
absoluta autoridad$ Fs decir! si se es el "ro"ietario del do'inio 2cualquiercosa.com3! se deber& generar el
arcivo de ,ona corres"ondiente! con el fin de resolver dico do'inio$ -or cada red con direcciones ?-
"rivadas! sobre la cual se tenga control % absoluta autoridad! se deber& generar un arcivo de ,ona de
resolucin inversa a fin de resolver inversa'ente las direcciones ?- de dica ,ona$
;egular'ente la resolucin inversa de las direcciones ?- "0blicas es res"onsabilidad de los "roveedores de
servicio %a .ue son #stos .uienes tienen la autoridad "lena % absoluta sobre dicas direcciones ?-$
@odos los arcivos de ,ona deben "ertenecer al usuario ^na'ed_ a fin de .ue el servicio named "ueda
acceder a #stos o bien 'odificar #stos en el caso de tratarse de ,onas esclavas$
-1.,.-. Creacin de los archivos de 3ona.
=82
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Los siguientes corres"onder/an a los contenidos "ara los arcivos de ,ona re.ueridos "ara la red local % "or
el N?C con el .ue se a%a registrado el do'inio$ Cabe sealar .ue en las ,onas de reenv/o sie'"re se
es"ecifica al 'enos un registro 9(; % un registro N9$ De 'anera o"cional % en caso de .ue exista un
servicio de correo electrnico! aada al 'enos un registro 5B 1:ail Fxcanger o interca'biador de correo3$
Sola'ente necesitar& sustituir no'bres % direcciones ?- % .ui,& aadir nuevos registros "ara co'"le'entar
su red local$
-1.,.-.!. Configuracin mnima para 8etc8named.conf en Cent(9 . + Red DatF
/nterprise &inu* ..
La configuracin '/ni'a del arcivo 8chroot8etc8named.conf % .ue "er'itir& utili,ar el servicio "ara todo
ti"o de uso! es la siguiente)
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
+or0#r-ers Q
8.8.8.8R
8.8.4.4R
SR
+or0#r- +%rs$R
// STlo habilite lo siguiente si va a utiliCar &-SS'* y si los servidores de
// la secciTn de "orarders tienen soporte para &-SS'*#
dnssec!enable no[
dnssec!validation no[
// dnssec!lookaside auto[
// bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
include ,/etc/rndc#key,[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
category lame!servers e null[ f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rn-&8ey,[ f[
f[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
f[
=84
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior define co'o o"ciones .ue el directorio "redeter'inado ser& 8var8named! se define un arcivo
donde se al'acena la infor'acin del cac# en 8var8named8data8cacheUdump.dbZ un arcivo de
estad/sticas en 8var8named8data8namedUstats.t*t! un arcivo de estad/sticas es"ec/ficas en lo
concerniente al uso de la 'e'oria en 8var8named8data8namedUmemUstats.t*tZ consultas recursivas
"er'itidas sola'ente a 725$9$9$7 % 7B2$74A$7$9/2=Z se definen co'o e%emplos de servidores DNS "ara
reenviar consultas a 4.4.4.4 % 4.4.-.-! .ue corres"onden a servidores DNS "0blicos de Google! los cuales
"uede reempla3ar por los servidores DN9 del proveedor de acceso a Internet utili3adoZ se define
.ue la "ri'era o"cin al reali,ar una consulta ser& reenviar a los DNS .ue se acaban de definirZ se inclu%en
los arcivos de configuracin 8etc8named.rfc![!.3ones! .ue corres"onde a las ,onas del R2C ![! % la
fir'a digital 0nica .ue se gener auto'&tica'ente tras instalar el "a.uete bindZ Se define ta'bi#n .ue los
controles se reali,an sola'ente desde 725$9$9$7! acia 725$9$9$7! utili,ando la fir'a digital 0nica$
Conviene asegurarse .ue el arcivo 8etc8named.conf tenga los contextos corres"ondientes "ara SFLinux a
fin de evitar "otenciales "roble'as de seguridad$
chcon !u system/u !r obOect/r !t named/con"/t /etc/named#con"
-1.,.-.. /%emplo de bona de reenvo red local 8var8named8data8red-local.3one.
F112 664%%
^ )- S05 dns#red!local# alguien#gmail#com# (
8%%9%91%%1[ nVmero de serie
866%% [ tiempo de re"resco
$8%% [ tiempo entre reintentos de consulta
6%46%% [ tiempo tras el cual expira la Cona
664%% [ tiempo total de vida
)
^ )- -S dns#red!local#net#
^ )- .X 1% mail
^ )- 1X1 ,v+sp"1 a mx !all,
^ )- 5 198#166#1#1
intranet )- 5 198#166#1#1
maJuina8 )- 5 198#166#1#8
maJuina@ )- 5 198#166#1#@
maJuina4 )- 5 198#166#1#4
)- 5 198#166#1#1
mail )- 5 198#166#1#1
"tp )- *-5.' intranet
dns )- *-5.' intranet
-1.,.-.,. bona de resolucin inversa red local
8var8named8data8!.!04.![.in-addr.arpa.3one
F112 664%%
^ )- S05 dns#red!local# alguien#gmail#com# (
8%%9%91%%1 [ nVmero de serie
866%% [ tiempo de re"resco
$8%% [ tiempo entre reintentos de consulta
6%46%% [ tiempo tras el cual expira la Cona
664%% [ tiempo total de vida
)
^ )- -S dns#red!local#
1 )- =1R intranet#red!local#
8 )- =1R maJuina8#red!local#
@ )- =1R maJuina@#red!local#
4 )- =1R maJuina4#red!local#
-1.,.-.-. bona de reenvo del dominio 8var8named8data8dominio.com.3one
=85
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Su"oniendo .ue i"ot#tica'ente se es la autoridad "ara el do'inio Ldominio.comM! se "uede crear una
bona de Reenvo con un contenido si'ilar al siguiente)
F112 664%%
^ )- S05 +,-n.-o<%n%o.$)-. alguien#gmail#com# (
8%%9%91%%1[ nVmero de serie
866%% [ tiempo de re"resco
$8%% [ tiempo entre reintentos de consulta
6%46%% [ tiempo tras el cual expira la Cona
664%% [ tiempo total de vida
)
^ )- -S +,-n.-o<%n%o.$)-.
^ )- .X 1% mail
^ )- 1X1 ,v+sp"1 a mx !all,
^ )- 5 8%1#161#1#886
servidor )- 5 8%1#161#1#886
)- 5 8%1#161#1#886
mail )- 5 8%1#161#1#886
"tp )- *-5.' servidor
dns )- *-5.' servidor
-1.,.-... bona de resolucin inversa del dominio
8var8named8data8!.!0!.I!.in-addr.arpa.3one
Su"oniendo .ue i"ot#tica'ente se es la autoridad "ara el seg'ento de red I!.!0!.!.I8- 1regular'ente
lo debe de acer el "roveedor de servicio de acceso acia ?nternet3! se "uede crear una bona de
Resolucin Inversa con un contenido si'ilar al siguiente)
F112 664%%
^ )- S05 +,-n.-o<%n%o.$)-. alguien#gmail#com# (
8%%9%91%%1 [ nVmero de serie
866%% [ tiempo de re"resco
$8%% [ tiempo entre reintentos de consulta
6%46%% [ tiempo tras el cual expira la Cona
664%% [ tiempo total de vida
)
^ )- -S +,-n.-o<%n%o.$)-.
1 )- =1R servidor#dominio#com#
8 )- =1R maJuina8#dominio#com#
@ )- =1R maJuina@#dominio#com#
4 )- =1R maJuina4#dominio#com#
Cada ve, .ue aga alg0n ca'bio en alg0n arcivo de ,ona! deber& ca'biar el n0'ero de serie a fin de .ue
to'en efecto los ca'bios de in'ediato cuando se reinicie el servicio named! %a .ue de otro 'odo tendr/a
.ue reiniciar el e.ui"o! algo "oco conveniente$
Las ,onas de resolucin inversa .ue involucran direcciones ?- "0blicas son res"onsabilidad de los ?S-
1"roveedores de servicio de acceso acia ?nternet3$ Crear una ,ona de resolucin inversa sin ser la autoridad
de dica ,ona tiene efecto slo "ara .uien use el servidor DNS reci#n configurado co'o 0nico DNS$
-1.,.-.0. Configuracin de par6metros en el archivo 8etc8named.conf
=8A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
+or0#r-ers Q
8.8.8.8R
8.8.4.4R
SR
+or0#r- +%rs$R
// STlo habilite lo siguiente si va a utiliCar &-SS'* y si los servidores de
// la secciTn de "orarders tienen soporte para &-SS'*#
dnssec!enable no[
dnssec!validation no[
// dnssec!lookaside auto[
// bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
category lame!servers e null[ f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone "re--)o&#)" Q
$y'e <#s$erR
+%)e "-#$#;re--)o&#).Cone"R
#))o0->'-#$e Q noneR SR
f[
Cone "3.358.3=/.%n-#--r.#r'#" Q
$y'e <#s$erR
+%)e "-#$#;3.358.3=/.%n-#--r.#r'#.Cone"R
#))o0->'-#$e Q noneR SR
f[
f[
-1.,... 9eguridad adicional en DN9 para uso p)blico.
Duienes a%an utili,ado en recientes fecas los servicios de DNS ;e"ort! abr&n notado .ue el diagnstico
en l/nea devuelve aora un error .ue! en resu'en! indica .ue el servidor "uede ser susce"tible de
sufrir/"artici"ar en un ata.ue DDo9 1Distributed Denail of 9ervice o denegacin de servicio distribuido3$
=8B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Un DDo9 1Distributed Denial of 9ervice3 es una a'"liacin del ata.ue Do9! se efect0a con la instalacin de
varios agentes re'otos en 'ucas co'"utadoras .ue "ueden estar locali,adas en diferentes "untos del
'undo$ Fl atacante consigue coordinar esos agentes "ara as/! de for'a 'asiva! a'"lificar el volu'en del
saturacin de infor'acin 1flood3! "udiendo darse casos de un ata.ue de cientos o 'illares de
co'"utadoras dirigido a una '&.uina o red ob(etivo$ Fsta t#cnica se a revelado co'o una de las '&s
eficaces % sencillas a la ora de cola"sar servidores! la tecnolog/a distribuida a ido aciendo '&s
sofisticada asta el "unto de otorgar "oder de causar daos serios a "ersonas con escaso conoci'iento
t#cnico$
La falla re"ortada "or la erra'ienta en l/nea de DNS ;e"ort! "ara un servidor DNS .ue "er'ite consultas
recursivas! indicar& algo co'o lo siguiente)
2,AA1A) 1ne or more of your nameservers reports tat it is an open &;$ server. Tis usually means tat anyone in te (orld can query it for domains it is not
autoritative for Cit is possible tat te &;$ server advertises tat it does recursive loo'ups (en it does not, but tat souldnJt appenE. Tis can cause an
e6cessive load on your &;$ server. Alos, it is strongly discouraged to ave a &;$ server be bot autoritative for your domain and be recursive Ceven if it is not
openE, due to te potential for cace poisoning C(it no recursion, tere is no cace, and it is impossible to poison itE. Alos, te bad guys could use your &;$
server as part of an attac', by forging teir 0@ address3
Significa .ue el servidor DNS "uede "er'itir a cual.uiera reali,ar consultas recursivas$ Si se trata de un DNS
.ue se desea "ueda ser consultado "or cual.uiera! co'o "uede ser el caso del DNS de un ?S-! esto es
nor'al % es"erado$ Si se trata de un servidor .ue slo debe consultar la red local o bien .ue se utili,a "ara
"ro"agar do'inios alo(ados de 'anera local! si es conveniente to'ar 'edidas al res"ecto$
Solucin al "roble'a es 'odificar el arcivo named.conf! donde se aade en la seccin de vista local 1vie*
UlocalU3 la o"cin recursion +ese % una o '&s l/neas .ue definan a la red o las redes .ue tendr&n "er'itido
reali,ar todo ti"o de consultas$
==9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e198#166#%#1[ f[
"orard "irst[
dnssec!enable yes[
dnssec!validation yes[
dnssec!lookaside auto[
bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
f[
Lo anterior ace .ue slo se "uedan reali,ar consultas recursivas en el DNS desde 725$9$9$9/A! 79$9$9$9/A!
752$74$9$9/72 % 7B2$74A$9$9/74! %a sea "ara un no'bre de do'inio alo(ado de 'anera local % otros
do'inios resueltos en otros servidores 1e(e'"lo) ***$%aoo$co'! ***$google$co'! ***$alcancelibre$org!
etc3$ Fl resto del 'undo slo "odr& reali,ar consultas sobre los do'inios alo(ados de 'anera local % .ue
est#n configurado "ara "er'itirlo$
Fn la siguiente configuracin de e(e'"lo! se "retende lograr lo siguiente)
a
;ed Local) cual.uier ti"o de consulta acia do'inios externos % locales 1es decir! ***$%aoo$co'!
***$google$co'! alcancelibre$org! ade'&s de $ido$inio.co$3$
a ;esto del 'undo) slo "uede acer consultas "ara la ,ona de $ido$inio.co$
De este 'odo se i'"ide .ue a%a consultas recursivas % con esto i'"edir la "osibilidad de sufrir/"artici"ar
de un ata.ue DDoS$
==7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e198#166#%#1[ f[
"orard "irst[
dnssec!enable yes[
dnssec!validation yes[
dnssec!lookaside auto[
bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,publico, e
match!clients e any[ f[
recursion no[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,midominio.com, e
type master[
"ile ,data/midominio.com#Cone,[
allo!update e none[ f[
allo!trans"er e 8%%#$6#16:#8:8[ 8%%#$6#16:#8:1[ f[
f[
f[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,miredlocal, e
type master[
"ile ,data/miredlocal#Cone,[
allo!update e none[ f[
allo!trans"er e 198#166#%#8[ f[
f[
f[
==2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Un DDo9 1Distributed Denial of 9ervice3 es una a'"liacin del ata.ue Do9! se efect0a con la instalacin de
varios agentes re'otos en 'ucas co'"utadoras .ue "ueden estar locali,adas en diferentes "untos del
'undo$ Fl atacante consigue coordinar esos agentes "ara as/! de for'a 'asiva! a'"lificar el volu'en del
saturacin de infor'acin 1flood3! "udiendo darse casos de un ata.ue de cientos o 'illares de
co'"utadoras dirigido a una '&.uina o red ob(etivo$ Fsta t#cnica se a revelado co'o una de las '&s
eficaces % sencillas a la ora de cola"sar servidores! la tecnolog/a distribuida a ido aciendo '&s
sofisticada asta el "unto de otorgar "oder de causar daos serios a "ersonas con escaso conoci'iento
t#cnico$
La falla re"ortada "or la erra'ienta en l/nea de DNS ;e"ort! "ara un servidor DNS .ue "er'ite consultas
recursivas! indicar& algo co'o lo siguiente)
2,AA1A) 1ne or more of your nameservers reports tat it is an open &;$ server. Tis usually means tat anyone in te (orld can query it for domains it is not
autoritative for Cit is possible tat te &;$ server advertises tat it does recursive loo'ups (en it does not, but tat souldnJt appenE. Tis can cause an
e6cessive load on your &;$ server. Alos, it is strongly discouraged to ave a &;$ server be bot autoritative for your domain and be recursive Ceven if it is not
openE, due to te potential for cace poisoning C(it no recursion, tere is no cace, and it is impossible to poison itE. Alos, te bad guys could use your &;$
server as part of an attac', by forging teir 0@ address3
Significa .ue el servidor DNS "uede "er'itir a cual.uiera reali,ar consultas recursivas$ Si se trata de un DNS
.ue se desea "ueda ser consultado "or cual.uiera! co'o "uede ser el caso del DNS de un ?S-! esto es
nor'al % es"erado$ Si se trata de un servidor .ue slo debe consultar la red local o bien .ue se utili,a "ara
"ro"agar do'inios alo(ados de 'anera local! si es conveniente to'ar 'edidas al res"ecto$
Solucin al "roble'a es 'odificar el arcivo named.conf! donde se aade en la seccin de vista local 1vie*
UlocalU3 la o"cin recursion +ese % una o '&s l/neas .ue definan la red o las redes .ue tendr&n "er'itido
reali,ar todo ti"o de consultas$
==8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e 198#166#$%#1[ f[
"orard "irst[
dnssec!enable yes[
dnssec!validation yes[
dnssec!lookaside auto[
bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
f[
Lo anterior ace .ue slo se "uedan reali,ar todo ti"o de consultas en el DNS desde 725$9$9$9/A! 79$9$9$9/A!
752$74$9$9/72 % 7B2$74A$9$9/74! %a sea "ara un no'bre de do'inio alo(ado de 'anera local % otros
do'inios resueltos en otros servidores 1e(e'"lo) (((.yaoo.com! (((.google.com! (((.alcancelibre.org!
etc3$ Fl resto del 'undo slo "odr& reali,ar consultas sobre los do'inios alo(ados de 'ane(a local % .ue
est#n configurado "ara "er'itirlo$
Fn la siguiente configuracin de e(e'"lo! se "retende lograr lo siguiente)
;ed Local) cual.uier ti"o de consulta acia do'inios externos % locales 1es decir! ***$%aoo$co'!
***$google$co'! alcancelibre$org! ade'&s de $ido$inio.co$3$
;esto del 'undo) slo "uede acer consultas "ara la ,ona de $ido$inio.co$
De este 'odo se i'"ide .ue a%a consultas recursivas % con esto i'"edir la "osibilidad de sufrir/"artici"ar
de un ata.ue DDoS$
===
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e198#166#%#1[ f[
"orard "irst[
dnssec!enable yes[
dnssec!validation yes[
dnssec!lookaside auto[
bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,publico, e
match!clients e any[ f[
recursion no[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,midominio.com, e
type master[
"ile ,data/midominio.com#Cone,[
allo!update e none[ f[
allo!trans"er e 8%4#1@#849#$:[ 8%6#$6#69#$:[ 91#196#88#$:[ f[
f[
f[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,miredlocal, e
type master[
"ile ,data/miredlocal#Cone,[
allo!update e none[ f[
allo!trans"er e 198#166#%#8[ f[
f[
f[
-1.,.0. 9eguridad adicional en DN9 para uso e*clusivo en red local.
==2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se va a tratar de un servidor de no'bres de do'inio "ara uso exclusivo en red local % se .uieren evitar
"roble'as de seguridad de diferente /ndole! "uede utili,arse el "ar&'etro alloR-Cuer+! el cual servir& "ara
es"ecificar .ue slo ciertas direcciones "odr&n reali,ar consultas al servidor de no'bres de do'inio$ Se
"ueden es"ecificar directa'ente direcciones ?-! redes co'"letas o listas de control de acceso .ue deber&n
definirse antes de cual.uier otra cosa en el arcivo 8etc8named.conf$
-1.,.0.!. ;rchivo 8etc8named.conf
options e
directory ,/var/named/,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e
6#6#6#6[
6#6#4#4[
f[
"orard "irst[
dnssec!enable yes[
dnssec!validation yes[
dnssec!lookaside auto[
bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
include ,/etc/rndc#key,[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,red!local, e
type master[
"ile ,data/red!local#Cone,[
allo!update e none[ f[
f[
Cone ,1#166#198#in!addr#arpa, e
type master[
"ile ,data/1#166#198#in!addr#arpa#Cone,[
allo!update e none[ f[
f[
f[
-1.,.1. &as 3onas esclavas.
==4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Las ,onas esclavas se refieren a a.uellas os"edadas en servidores de no'bres de do'inio secundarios %
.ue acen las funciones de redundar las ,onas 'aestras en los servidores de no'bres de do'inio "ri'arios$
Fl contenido del arcivo de ,ona es el 'is'o .ue en servidor "ri'ario$ La diferencia est& en la seccin de
texto utili,ada en named.conf! donde las ,onas se definen co'o esclavas % definen los servidores donde
est& os"edada la ,ona 'aestra$
-1.,.1.!. ;rchivo named.conf 9ervidor DN9 secundario.
vie ,publico, e
match!clients e any[ f[
recursion no[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,dominio#com, e
$y'e s)#*eR
"ile ,dominio#com#Cone,[
<#s$ers Q 3=/.358.3./!4R SR
f[
f[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,red!local, e
$y'e s)#*eR
"ile ,data/red!local#Cone,[
<#s$ers Q 3=/.358.3./!4R SR
f[
Cone ,1#166#198#in!addr#arpa, e
$y'e s)#*eR
"ile ,data/1#166#198#in!addr#arpa#Cone,[
<#s$ers Q 3=/.358.3./!4R SR
f[
f[
+dicional'ente! si desea incre'entar seguridad % desea es"ecificar en el 9ervidor DN9 7rimario .ue
servidores tendr&n "er'itido ser servidores de no'bres de do'inio secundario! es decir! acer
transferencias! "uede utili,ar el "ar&'etro alloR-transfer del siguiente 'odo)
-1.,.1.. ;rchivo named.conf 9ervidor DN9 7rimario.
==5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vie ,publico, e
match!clients e any[ f[
recursion no[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,dominio#com, e
type master[
"ile ,dominio#com#Cone,[
allo!update e none[ f[
#))o0-$r#ns+er Q
/66..345./37R
/66..345./6=R
SR
f[
f[
vie ,local, e
match!clients e
18$#%#%#%/6[
1%#%#%#%/6[
1$8#16#%#%/18[
198#166#%#%/16[
f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone ,red!local, e
type master[
"ile ,data/red!local#Cone,[
allo!update e none[ f[
#))o0-$r#ns+er Q
3=/.358.3.3!R
3=/.358.3.35R
SR
f[
Cone ,1#166#198#in!addr#arpa, e
type master[
"ile ,data/1#166#198#in!addr#arpa#Cone,[
allo!update e none[ f[
#))o0-$r#ns+er Q
3=/.358.3.3!R
3=/.358.3.35R
SR
f[
f[
-1.,.4. 9eguridad adicional para transferencias de 3ona.
Cuando se gestionan do'inios a trav#s de redes "0blicas! es i'"ortante considerar .ue si se tienen
es.ue'as de servidores maestros % esclavos! sie'"re ser& '&s conveniente utili,ar una clave cifrada
en lugar de una direccin ?-! debido a .ue esta 0lti'a "uede ser falsificada ba(o ciertas circunstancias$
Co'0n'ente se definen las direcciones ?- desde las cuales se "er'itir& transferencias de ,onas! utili,ando
una configuracin en el arcivo 8etc8named.conf co'o la e(e'"lificada a continuacin! donde los
servidores esclavos corres"onden a los servidores con direcciones ?- 7B2$74A$7$77 % 7B2$74A$7$72)
==A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cone ,mi!dominio#org, e
type master[
"ile ,data/mi!dominio#org#Cone,[
allo!update e none[ f7
allo!trans"er e 198#166#1#11[ 198#166#1#18[ f[
f[
Lo anterior "er'ite la transferencia de ,ona "ara los servidores con direcciones ?- 7B2$74A$7$77 %
7B2$74A$7$72! los cuales utili,an la siguiente configuracin en el arcivo 8etc8named.conf! e(e'"lificada a
continuacin! donde el servidor "ri'ario 1,onas 'aestras3 corres"onde al servidor con direccin ?-
7B2$74A$7$7)
Cone ,mi!dominio#org, e
type slave[
"ile ,data/mi!dominio#org#Cone,[
masters e 198#166#1#1[ f[
f[
Fl inconveniente del es.ue'a anterior es .ue es f&cil falsificar las direcciones ?-$ + fin de evitar .ue esto
ocurra! el '#todo reco'endado ser& utili,ar una clave cifrada .ue ser& validada en lugar de la direccin ?-$
La llave se crea con el 'andato dnssec-Oe+gen! es"ecificando un algorit'o! .ue "uede ser R9;5D. o
R9;! D9;! DD 1Diffie Dell'an3 o D5;C-5D.! el ta'ao de la llave en octetos 1bits3! el ti"o de la llave! .ue
"uede ser NGNF! IGS@! FN@?@R o USF; % el no'bre es"ec/fico "ara la clave cifrada$ DS+ % ;S+ se utili,an
"ara DN9 9eguro 1DN99/C3! en tanto .ue D5;C-5D. se utili,a "ara <9I: 1<ransfer 9I:nature o
transferencia de fir'a3$ Lo '&s co'0n es utili,ar <9I:$ Fn el siguiente e(e'"lo! se generar& en el directorio
de traba(o actual la clave mi-dominio.org! utili,ando 8dev8random co'o fuente de datos aleatorios! un
algorit'o D5;C-5D. ti"o D(9< de 72A octetos 1bits3)
dnssec!keygen !r /dev/random !a 3.5*!.&: !b 186 !n 30S1 mi!dominio#org
Lo anterior devuelve una salida si'ilar a la siguiente)
Hmi!dominio#org#X1:$X@8@88
+l 'is'o tie'"o se generaran dos arcivos en el directorio 8var8named8! .ue corres"onder/an a
Nmi-dominio.org.K!.1K,,.Oe+ % Nmi-dominio.org.K!.1K,,.private$ Nmi-dominio.org.
K!.1K,,.Oe+ deber& tener un contenido co'o el siguiente! el cual corres"onde al registro .ue se
aade dentro del arcivo de ,ona)
mi!dominio#org# )- H'< :18 @ 1:$ -=u-uxvG5Otd@mriuyg16b++
Nmi-dominio.org.K!.1K,,.private deber& tener un contenido co'o el siguiente)
=rivate!key!"ormat7 v1#8
5lgorithm7 1:$ (3.5*/.&:)
Hey7 -=u-uxvG5Otd@mriuyg16b++
Fn a'bos casos! N7uNu*vb;%td,mriu+g<4?VV corres"onde a la clave cifrada$ +'bos deben tener la
'is'a clave$
Los dos arcivos slo deben tener atributos de lectura "ara el usuario named$
chmod 4%% Hmi!dominio#org#X1:$X@8@88#L
chon named#named Hmi!dominio#org#X1:$X@8@88#L
==B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ fin de "oder ser utili,ados! a'bos arcivos deben ser 'ovidos acia el directorio 8var8named8data8$
mv Hmi!dominio#org#X1:$X@8@88#L/var/named/data/
+ continuacin! restaure los atributos "redeter'inados "ara estos arcivos utili,ando el 'andato
restorecon! del siguiente 'odo)
restorecon !R /var/named/data/
Fn el servidor "ri'ario 1,onas 'aestras3! se aade la siguiente configuracin en el arcivo
8etc8named.conf)
key mi!dominio#org e
algorithm 3.5*!.&:[
secret ,-=u-uxvG5Otd@mriuyg16b++,[
f[
Cone ,mi!dominio#org, e
type master[
"ile ,data/mi!dominio#org#Cone,[
allo!update e none[ f[
allo!trans"er e key mi!dominio#org[ f[
f[
Los servidores esclavos utili,ar/an la siguiente configuracin en el arcivo 8etc8named.conf! en donde se
define la clave % .ue #sta ser& utili,ada "ara reali,ar conexiones acia el servidor "ri'ario 1,onas 'aestras3
17B2$74A$7$7! en el e(e'"lo3)
8ey <%--o<%n%o.org Q
#)gor%$h< FMAC-MD!R
se&re$ "N9>N>E*JAD$-<r%>ygT8T=="R
SR
ser*er 3=/.358.3.3 Q
8eys Q <%--o<%n%o.orgR SR
SR
Cone ,mi!dominio#org, e
type slave[
masters e 198#166#1#1[ f[
f[
-1.,.4.!. Comprobaciones.
@anto en el servidor "ri'ario 1,onas 'aestras3 co'o en los servidores esclavos! utilice el 'andato tail "ara
ver la salida del arcivo 8var8log8messages! "ero slo a.uello .ue contenga la cadena de caracteres
named)
tail !" /var/log/messages Rgrep named
+l reiniciar el servicio named en servidor "ri'ario 1,onas 'aestras3! se debe 'ostrar una salida si'ilar a la
siguiente cuando un servidor esclavo reali,a una transferencia)
=29
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Sep 1% %17:$74% servidor namedD6%48E7 listening on )=v4 inter"ace eth%B 198#166#1#64A:@
Sep 1% %17:$74% servidor namedD6%48E7 command channel listening on 18$#%#%#1A9:@
Sep 1% %17:$74% servidor namedD6%48E7 Cone %#in!addr#arpa/)-7 loaded serial 48
Sep 1% %17:$74% servidor namedD6%48E7 Cone %#%#18$#in!addr#arpa/)-7 loaded serial 199$%88$%%
Sep 1% %17:$74% servidor namedD6%48E7 Cone 8::#in!addr#arpa/)-7 loaded serial 48
Sep 1% %17:$74% servidor namedD6%48E7 Cone
%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#ip6#arpa/)-7 loaded serial 199$%88$%%
Sep 1% %17:$74% servidor namedD6%48E7 Cone localdomain/)-7 loaded serial 48
Sep 1% %17:$74% servidor namedD6%48E7 Cone localhost/)-7 loaded serial 48
Sep 1% %17:$74% servidor namedD6%48E7 Cone mi!dominio#org/)-7 loaded serial 8%%9%91%%1
Sep 1% %17:$74% servidor named7 )niciaciTn de named succeeded
Sep 1% %17:$74% servidor namedD6%48E7 running
Sep 1% %17:$74% servidor namedD6%48E7 Cone mi!dominio#org/)-7 sending noti"ies (serial 8%%9%91%%1)
Se' 36 631!=14= ser*%-or n#<e-"564/(1 &)%en$ 3=/.358.3.33P/8371 $r#ns+er o+ @<%--o<%n%o.org;?N@1 AXFR
s$#r$e-
+l reiniciar el servicio named en los servidores esclavos! se debe 'ostrar una salida si'ilar a la siguiente)
Sep 1% %17:671: servidor namedD:%6%E7 listening on )=v4 inter"ace eth%B 198#166#1#8:@A:@
Sep 1% %17:671: servidor namedD:%6%E7 command channel listening on 18$#%#%#1A9:@
Sep 1% %17:671: servidor namedD:%6%E7 Cone %#in!addr#arpa/)-7 loaded serial 48
Sep 1% %17:671: servidor namedD:%6%E7 Cone %#%#18$#in!addr#arpa/)-7 loaded serial 199$%88$%%
Sep 1% %17:671: servidor namedD:%6%E7 Cone 8::#in!addr#arpa/)-7 loaded serial 48
Sep 1% %17:671: servidor namedD:%6%E7 Cone
%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#ip6#arpa/)-7 loaded serial 199$%88$%%
Sep 1% %17:671: servidor namedD:%6%E7 Cone localdomain/)-7 loaded serial 48
Sep 1% %17:671: servidor namedD:%6%E7 Cone localhost/)-7 loaded serial 48
Sep 1% %17:671: servidor namedD:%6%E7 running
Sep 1% %17:671: servidor named7 )niciaciTn de named succeeded
Se' 36 631!813! ser*%-or n#<e-"!686(1 Cone <%--o<%n%o.org;?N1 $r#ns+erre- ser%#) /66=6=3663
Se' 36 631!813! ser*%-or n#<e-"!686(1 $r#ns+er o+ @<%--o<%n%o.org;?N@ +ro< 3=/.358.3.3P!1 en- o+
$r#ns+er
Se' 36 631!813! ser*%-or n#<e-"!686(1 Cone <%--o<%n%o.org;?N1 sen-%ng no$%+%es Hser%#) /66=6=3663I
-1.,.[. Reiniciar servicio + depuracin de configuracin.
+l ter'inar de editar todos los arcivos involucrados! slo bastar& reiniciar el servidor de no'bres de
do'inio$
service named restart
Si .uere'os .ue el servidor de no'bres de do'inio .uede aadido entre los servicios en el arran.ue del
siste'a! debere'os reali,ar lo siguiente a fin de abilitar named (unto con el arran.ue del siste'a)
chkcon"ig named on
;ealice "rueba de de"uracin % verifi.ue .ue la ,ona a%a cargado con n0'ero de serie)
tail !6% /var/log/messages Rgrep named
Lo anterior! si est& funcionando correcta'ente! deber/a devolver algo "arecido a lo 'ostrado a continuacin)
=27
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Sep 1% %871:71: servidor namedD@%616E7 starting ;)-& 9#8#8 !u named
Sep 1% %871:71: servidor namedD@%616E7 using 1 *=?
Sep 1% %871:71: servidor named7 )niciaciTn de named succeeded
Sep 1% %871:71: servidor namedD@%688E7 loading con"iguration "rom Z/etc/named#con"Z
Sep 1% %871:71: servidor namedD@%688E7 no )=v6 inter"aces "ound
Sep 1% %871:71: servidor namedD@%688E7 listening on )=v4 inter"ace loB 18$#%#%#1A:@
Sep 1% %871:71: servidor namedD@%688E7 listening on )=v4 inter"ace eth%B 198#166#1#1A:@
Sep 1% %871:71: servidor namedD@%688E7 command channel listening on 18$#%#%#1A9:@
Sep 1% %871:716 servidor namedD@%688E7 Cone %#%#18$#in!addr#arpa/)-7 )o#-e- ser%#)
Sep 1% %871:716 servidor namedD@%688E7 Cone 1#166#198#in!addr#arpa/)-7 )o#-e- ser%#) /66=6=3663
Sep 1% %871:716 servidor namedD@%688E7 Cone localhost/)-7 )o#-e- ser%#) 3
Sep 1% %871:716 servidor namedD@%688E7 Cone mi!dominio#com#mx/)-7 )o#-e- ser%#) /66=6=3663
Sep 1% %871:716 servidor namedD@%688E7 running
Sep 1% %871:716 servidor namedD@%688E7 Cone 1#166#198#in!addr#arpa/)-7 sending noti"ies (serial
8%%9%91%%1)
Sep 1% %871:716 servidor namedD@%688E7 Cone mi!dominio#com#mx/)-7 sending noti"ies (serial 8%%9%91%%1)
=22
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-4. Configuracin de servidor DDC7.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-4.!. Introduccin.
-4.!.!. ;cerca del protocolo DDC7.
DDC7 1acrni'o de #ynamic .ost Configuration 0rotocol! .ue se traduce -rotocolo de configuracin
din&'ica de servidores3 es un "rotocolo .ue "er'ite a dis"ositivos individuales en una red de direcciones ?-
obtener su "ro"ia infor'acin de configuracin de red 1direccin ?-Z '&scara de sub6red! "uerta de enlace!
etc$3 a "artir de un servidor DIC-$ Su "ro"sito "rinci"al es acer '&s f&ciles de ad'inistrar las redes
grandes$ DDC7 existe desde 7BB8 co'o "rotocolo est&ndar % se describe a detalle en el ;>C 2787$
Sin la a%uda de un servidor DDC7! tendr/an .ue configurarse de for'a 'anual cada direccin ?- de cada
anfitrin .ue "ertene,ca a una ;ed de Xrea Local$ Si un anfitrin se traslada acia otra ubicacin donde
existe otra ;ed de Xrea Local! se tendr& .ue configurar otra direccin ?- diferente "ara "oder unirse a esta
nueva ;ed de Xrea Local$ Un servidor DDC7 entonces su"ervisa % distribu%e! las direcciones ?- de una ;ed
de Xrea Local asignando una direccin ?- a cada anfitrin .ue se una a la ;ed de Xrea Local$ Cuando! "or
'encionar un e(e'"lo! una co'"utadora "ort&til se configura "ara utili,ar DDC7! a #sta le ser& asignada
una direccin ?- % otros "ar&'etros de red! necesarios "ara unirse a cada ;ed de Xrea Local donde se
localice$
Fxisten tres '#todos de asignacin en el "rotocolo DDC7)
;signacin manual) La asignacin utili,a una tabla con direcciones 5;C 1acrni'o de
"edia Access Control Address! .ue se traduce co'o direccin de Control de +cceso al :edio3$
Slo los anfitriones con una direccin 5;C definida en dica tabla recibir& el ?- asignada en la
'is'a tabla$ Ysto se ace a trav#s del "ar&'etro hardRare ethernet co'binado con den+
unOnoRn-clients$
;signacin autom6tica) Una direccin de ?- dis"onible dentro de un rango deter'inado se
asigna "er'anente'ente al anfitrin .ue la re.uiera$
;signacin din6mica) Se deter'ina arbitraria'ente un rango de direcciones ?- % cada
anfitrin conectado a la red est& configurada "ara solicitar su direccin ?- al servidor cuando
se inicia el dis"ositivo de red! utili3ando un intervalo de tiempo controlable 1"ar&'etros
default-lease-time % ma*-lease-time3! de 'odo .ue la asignacin de direcciones ?- es de
'anera te'"oral % #stas se reutili,an de for'a din&'ica$
U;L) tt")//***$ietf$org/rfc/rfc2787$txt % tt")//***$ietf$org/rfc/rfc2782$txt
-4.!.. ;cerca de dhcp por Internet 9oftRare ConsortiumG Inc.
>undado en 7BB=! ?nternet Soft*are Consortiu'! ?nc$! distribu%e un con(unto de erra'ientas "ara el
"rotocolo DDC7! las cuales consisten en)
=28
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
9ervidor DDC7.
Cliente DDC7.
;gente de retransmisin.
Dicas erra'ientas utili,an un ;7I 1;""lication 7rogra''ing Interface o ?nterfa, de -rogra'acin de
+"licaciones3 'odular diseado "ara ser lo suficiente'ente general "ara ser utili,ado con facilidad en los
siste'as o"erativos .ue cu'"len el est&ndar 7(9IB 10ortable 2perating System %nterface for 7;08 o
interfa, "ortable de siste'a o"erativo "ara Unix3 % no6-GS?O! co'o Qindo*s$
U;L) tt")//isc$org/"roducts/DIC-/
-4.. /Cuipamiento lgico necesario.
-4..!. Cent(9G 2edoraF + Red DatF /nterprise &inu*.
F(ecute lo siguiente "ara instalar o actuali,ar todo necesario)
yum !y install dhcp
-4.,. 5odificaciones necesarias en el muro cortafuegos.
-or lo general! (a'&s se abren "uertos de DIC- a las redes "0blicas$ Fs necesario abrir los "uerto 45 % 4A
1$((<79 % $((<7C3 "or UD-! tanto "ara trafico entrante co'o saliente$
-4.,.!. 9ervicio iptables.
+su'iendo .ue el servicio funcionar& a trav#s de la interfa, eth!! "uede utili,ar el 'andato iptables del
siguiente 'odo)
iptables !5 )-=?1 !i eth1 !p udp !m state !!state -'4 !m udp K
!!sport 6$766 !!dport 6$766 !O 5**'=1
service iptables save
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada el siguiente contenido)
!5 )-=?1 !i eth1 !p udp !m state !!state -'4 !m udp !!sport 6$766 !!dport 6$766 !O 5**'=1
;einicie el servicio iptables a fin de .ue surtan efecto los ca'bios$
service iptables restart
-4.,.. 9horeRall.
Fdite el arcivo 8etc8shoreRall8interfaces)
=2=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vim /etc/shoreall/inter"aces
+su'iendo .ue el servicio funcionar& a trav#s de la interfa, et7 1,ona loc3! aada la o"cin dhcp a las
o"ciones de la interfa, sobre la cual funciona el servicio dhcpd$ Fsta o"cin! tras reiniciar el servicio
shoreRall! abilita las co'unicaciones de entrada % salida! "ara DIC-$
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AG0-' )-1'R>5*' ;R05&*5S1 0=1)0-S
net eth% detect blacklist
loc eth1 detect -h&'Bblacklist
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
;einicie el servicio shoreRall a fin de .ue surtan efecto los ca'bios$
service shoreall restart
-4.-. 9/&inu* + el servicio dhcpd.
Se reco'ienda encarecida'ente de(ar activo SFLinux % de(ar co'o est&n las "ol/ticas "redeter'inadas$
Nota.
Lo siguiente slo a"lica "ara Cent(9 . % Red Dat /nterprise &inu* .$
Si se desea eliminar la proteccin .ue brinda SFLinux al servicio dhcpd! utilice el siguiente 'andato$
setsebool != dhcpd/disable/trans 1
Si se desea eliminar la proteccin .ue brinda SFLinux al siste'a "ara funcionar co'o cliente DDC7! utilice el
siguiente 'andato$
setsebool != dhcpc/disable/trans 1
Ninguna de est&s "ol/ticas existe en Cent(9 0 % Red Dat /nterprise &inu* 0$
-4... IniciarG detener + reiniciarG el servicio dhcpd.
-ara acer .ue el servicio de dhcpd est# activo con el siguiente inicio del siste'a! en todos los niveles de
e(ecucin 12! 8! = % 23! e(ecute lo siguiente)
chkcon"ig dhcpd on
-ara iniciar "or "ri'era ve, el servicio dhcpd! e(ecute)
service dhcpd start
-ara acer .ue los ca'bios ecos a la configuracin del servicio dhcpd surtan efecto! e(ecute)
service dhcpd restart
=22
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara detener el servicio dhcpd! e(ecute)
service dhcpd stop
-4.0. 7rocedimientos.
-4.0.!. ;rchivo de configuracin 8etc8s+sconfig8dhcpd.
Fn el caso de dis"oner '0lti"les dis"ositivos de red en el servidor! se reco'ienda .ue el servicio dhcpd
sola'ente funcione a trav#s de la interfa, de red utili,ada "or la L+N$ Fdite el arcivo
8etc8s+sconfig8dhcpd % agregue el valor ethI! eth!! eth! etc$! co'o argu'ento1s3 del "ar&'etro
DDC7D;R:9 o bien lo .ue corres"onda a la interfa, desde la cual accede la red local$
Fdite el arcivo 8etc8s+sconfig8dhcpd)
vim /etc/syscon"ig/dhcpd
-ara el siguiente e(e'"lo! considerando .ue eth! es la interfa, corres"ondiente a la L+N)
A *ommand line options here
&3*=&5RIS+e$h3
-4.0.. ;rchivo de configuracin dhcpd.conf.
Considerando como e%emplo .ue se tiene una red local con las siguientes caracter/sticas)
Direccin ?- del seg'ento de red) !1.!0.!.I
Direccin ?- de difusin) !1.!0.!.!.
:&scara de sub6red) .........-I 12A bit3
-uerta de enlace) !1.!0.!.!
Servidor de no'bres) !1.!0.!.!
Servidor Qins) !1.!0.!.!
Servidores de tie'"o 1N<73) reco'enda'os utili,ar los de N@-$org `es decir 9$"ool$nt"$org!
7$"ool$nt"$org! 2$"ool$nt"$org % 8$"ool$nt"$org` los cuales son confiables % de acceso gratuito$
;ango de direcciones ?- a asignar de 'odo din&'ico) !1.!0.!. hasta !1.!0.!.!-.
Nota.
Fs indis"ensable conocer + entender perfectamente! todo lo anterior "ara "oder continuar con este docu'ento$
Si se tienen dudas! "or favor! "ri'ero consultar % estudiar! el docu'ento titulado ^Introduccin a I7 versin -$_
-uede utili,ar el contenido de e(e'"lo! .ue se encuentra '&s adelante! para adaptar o bien crear desde
ceroG un nuevo arcivo de configuracin "ara el servicio dhcpd! a(ustando los datos a una red "ara un
con(unto de siste'as en "articular$
-4.0.,. Configuracin b6sica.
Descargue el arcivo "lantilla! con una configuracin '/ni'a reco'endada! desde +lcanceLibre$org!
e(ecutando lo siguiente)
=24
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cd /etc/dhcp/
mv dhcpd#con" dhcpd#con"#original
get http7//#alcancelibre#org/linux/secrets/dhcpd#con"
restorecon dhcpd#con"
cd
Si se utili,a Cent(9 0 o Red Dat /nterprise &inu* 0! edite el arcivo 8etc8dhcp8dhcpd.conf$
vim /etc/dhcp/dhcpd#con"
Nota.
Si se utili,a Cent(9 . o Red Dat /nterprise &inu* .! edite el arcivo 8etc8dhcpd.conf$
vim /etc/dhcpd#con"
-ara efectos "r&cticos! utilice la siguiente "lantilla % 'odifi.ue todo lo .ue est# resaltado$
A Si se tienen problemas con eJuipos con 4indos (ista/$/6 omita el parUmetro
A server!identi"ier# ksto aunJue rompe con el protocolo &3*=B permite a los
A clientes 4indos (ista/$/6 poder comunicarse con el servidor &3*= y aceptar
A la direcciTn )= proporcionada#
A server!identi"ier 37/.35.3.3[
ddns!update!style interim[
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,re--)o&#).ne$,[
option ntp!servers %#pool#ntp#orgB 1#pool#ntp#orgB 8#pool#ntp#orgB @#pool#ntp#org[
shared!netork re-)o&#) e
subnet 37/.35.3.6 netmask /!!./!!./!!./46 e
option routers 37/.35.3.3[
option subnet!mask /!!./!!./!!./46[
option broadcast!address 37/.35.3.3![
option domain!name!servers 37/.35.3.3[
option netbios!name!servers 37/.35.3.3[
range 37/.35.3./ 37/.35.3.34[
f
f
Lo anterior corres"onde a la configuracin b&sica reco'endada "ara un servidor DIC- b&sico$
Una ve, ter'inada la configuracin! "ara iniciar el servicio e(ecute)
service dhcpd start
-4.0.-. ;signacin de direcciones I7 est6ticas.
-ara definir e.ui"os con direcciones ?- est&ticas! "ueden aadirse ta'bi#n en la configuracin de la
siguiente for'a! es"ecificando el no'bre de anfitrin! direccin :+C % direccin ?-)
=25
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
host impresora e
option host!name ,e')!=66.re--)o&#).ne$,[
hardare ethernet 661/41/B15!1!4184[
"ixed!address 37/.35.3.!=[
f
Fdite el arcivo 8etc8dhcp8dhcpd.conf o bien 8etc8dhcpd.conf! seg0n corres"onda)
vim /etc/dhcp/dhcpd#con"
Un e(e'"lo de la configuracin .uedar/a del siguiente 'odo)
A Si se tienen problemas con eJuipos con 4indos (ista/$/6 omita el parUmetro
A server!identi"ier# ksto aunJue rompe con el protocolo &3*=B permite a los
A clientes 4indos (ista/$/6 poder comunicarse con el servidor &3*= y aceptar
A la direcciTn )= proporcionada#
A server!identi"ier 37/.35.3.3[
ddns!update!style interim[
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,re--)o&#).ne$,[
option ntp!servers %#pool#ntp#orgB 1#pool#ntp#orgB 8#pool#ntp#orgB @#pool#ntp#org[
shared!netork re-)o&#) e
subnet 37/.35.3.6 netmask /!!./!!./!!./46 e
option routers 37/.35.3.3[
option subnet!mask /!!./!!./!!./46[
option broadcast!address 37/.35.3.3![
option domain!name!servers 37/.35.3.3[
option netbios!name!servers 37/.35.3.3[
range 37/.35.3./ 37/.35.3.3/[
f
A 'Juipos con )= "iOa#
hos$ %<'resor# Q
o'$%on hos$-n#<e "e')!=66.re--)o&#).ne$"R
h#r-0#re e$herne$ 661/41/B15!1!4184R
+%Ee--#--ress 37/.35.3.3R
S
hos$ '&34 Q
o'$%on hos$-n#<e "'&34.re--)o&#).ne$"R
h#r-0#re e$herne$ 661!61BF1/713C13CR
+%Ee--#--ress 37/.35.3.34R
S
f
Si reali, ca'bios en la configuracin! reinicie el servicio dhcpd a fin de .ue surtan efecto los ca'bios$
service dhcpd restart
-4.0... &imitar el acceso por direccin 5;C.
Fs "osible li'itar el acceso al servidor DIC- a trav#s de la o"cin den+ con el valor unOnoRn-clients %
definiendo una lista de direcciones :+C$ De tal 'odo! a los anfitriones .ue est#n ausentes en dica lista les
ser& denegado el servicio$ F(e'"lo)
=2A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-eny >n8no0n-&)%en$sR
host impresora e
hardare ethernet 661/41/B15!1!4184[
f
host pc1 e
hardare ethernet 661!61BF1/713C13C[
f
Fdite el arcivo 8etc8dhcp8dhcpd.conf o bien 8etc8dhcpd.conf! seg0n corres"onda)
vim /etc/dhcp/dhcpd#con"
Un e(e'"lo de la configuracin .uedar/a del siguiente 'odo! donde slo las direcciones :+C en la lista
"ueden conectarse acia el servidor DIC- % recibir una direccin ?-)
A Si se tienen problemas con eJuipos con 4indos (ista/$/6 omita el parUmetro
A server!identi"ier# ksto aunJue rompe con el protocolo &3*=B permite a los
A clientes 4indos (ista/$/6 poder comunicarse con el servidor &3*= y aceptar
A la direcciTn )= proporcionada#
A server!identi"ier 37/.35.3.3[
ddns!update!style interim[
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,re--)o&#).ne$,[
option ntp!servers %#pool#ntp#orgB 1#pool#ntp#orgB 8#pool#ntp#orgB @#pool#ntp#org[
shared!netork re-)o&#) e
subnet 37/.35.3.6 netmask /!!./!!./!!./46 e
option routers 37/.35.3.3[
option subnet!mask /!!./!!./!!./46[
option broadcast!address 37/.35.3.3![
option domain!name!servers 37/.35.3.3[
option netbios!name!servers 37/.35.3.3[
range 37/.35.3./ 37/.35.3.34[
f
A 2ista de direcciones .5* Jue tendrUn permitido utiliCar el servidor
A &3*=#
A deny unknon!clients impide Jue eJuipos "uera de esta lista puedan
A utiliCar el servicio#
deny unknon!clients[
host impresora e
hardare ethernet 661/41/B15!1!4184[
f
host pc1 e
hardare ethernet 661!61BF1/713C13C[
f
host pc8 e
hardare ethernet F41C71341761FA1AC[
f
host laptop1 e
hardare ethernet 441871FC1AA1DD1/D[
f
host laptop8 e
hardare ethernet 761F31A31=F1761B[
f
f
Si reali, ca'bios en la configuracin! reinicie el servicio dhcpd a fin de .ue surtan efecto los ca'bios$
service dhcpd restart
-4.0.0. Configuracin para funcionar con DN9 din6mico.
=2B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl servidor DNS "uede funcionar de 'odo din&'ico "er'itiendo la actuali,acin en tie'"o real de los
no'bres de anfitrin % las direcciones ?- asociadas a #stos! a trav#s de la infor'acin enviada a trav#s de
un servidor DIC-$
Fdite el arcivo 8etc8dhcp8dhcpd.conf)
vim /etc/dhcp/dhcpd#con"
+su'iendo .ue %a se dis"one de un servidor DNS "revia'ente configurado % funcionando! "ara configurar el
servidor DIC- a fin de .ue actualice auto'&tica'ente los registros corres"ondientes en las ,onas del
servidor DNS! slo basta aadir los "ar&'etros ddns-updates! ddns-domainname!
ddns-rev-domainname! una inclusin "ara utili,ar la 'is'a fir'a digital de la configuracin del DNS %
definir las ,onas de localost! ,ona de re6env/o % ,ona de resolucin inversa del DNS! con los valores
e(e'"lificados a continuacin! sola'ente siendo necesario ree'"la,ar los valores resaltados$
A Si se tienen problemas con eJuipos con 4indos (ista/$/6 omita el parUmetro
A server!identi"ier# ksto aunJue rompe con el protocolo &3*=B permite a los
A clientes 4indos (ista/$/6 poder comunicarse con el servidor &3*= y aceptar
A la direcciTn )= proporcionada#
A server!identi"ier 37/.35.3.3[
ddns!update!style interim[
--ns->'-#$es onR
--ns--o<#%nn#<e "re--)o&#).ne$."R
--ns-re*--o<#%nn#<e "%n-#--r.#r'#."R
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,re--)o&#).ne$,[
option ntp!servers %#pool#ntp#orgB 1#pool#ntp#orgB 8#pool#ntp#orgB @#pool#ntp#org[
%n&)>-e ";e$&;rn-&.8ey"R
Cone )o&#)-o<#%n. Q
'r%<#ry 3/7.6.6.3R
8ey rn-&-8eyR
S
Cone 3.35.37/.%n-#--r.#r'#. Q
'r%<#ry 3/7.6.6.3R
8ey rn-&-8eyR
S
Cone re--)o&#).ne$. Q
'r%<#ry 3/7.6.6.3R
8ey rn-&-8eyR
S
shared!netork re-)o&#) e
subnet 37/.35.3.6 netmask /!!./!!./!!./46 e
option routers 37/.35.3.3[
option subnet!mask /!!./!!./!!./46[
option broadcast!address 37/.35.3.3![
option domain!name!servers 37/.35.3.3[
option netbios!name!servers 37/.35.3.3[
range 37/.35.3./ 37/.35.3.34[
f
f
-ara .ue lo anterior funcione con el servidor DNS! considerando .ue %a est&n instalados los "a.uetes bind %
bind-chroot! se re.uiere generar los arcivos red-local.net.3one % !.!0.!1.in-addr.arpa.3one! dentro
del directorio 8d+namic8$ Ca'bie al directorio 8d+namic8)
cd /var/named/dynamic/
=49
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utilice el 'andato touch "ara crear los arcivos red-local.net.3one % !.!0.!1.in-addr.arpa.3one)
touch re--)o&#).ne$.Cone
touch 3.35.37/.%n-#--r.#r'#.Cone
+'bos arcivos deben tener "er'isos de lectura % escritura "ara usuario % slo lectura "ara gru"o)
chmod 64% re--)o&#).ne$.Cone
chmod 64% 3.35.37/.%n-#--r.#r'#.Cone
+'bos arcivos deben "ertenecer al usuario named % gru"o named$
chon named7named re--)o&#).ne$.Cone
chon named7named 3.35.37/.%n-#--r.#r'#.Cone
Fdite el arcivo /var/na'ed/d%na'ic/red-local.net.3one)
vim re--)o&#).ne$.Cone
Yste deber& tener el siguiente contenido! donde sola'ente ser& necesario aadir al e(e'"lo los registros de
los e.ui"os con ?- fi(a)
F112 664%%
^ )- S05 ser*%-or.re--)o&#).ne$. root#localhost# (
8%111%19%1[
866%%[
$8%%[
6%46%%[
664%%[
)
^ )- -S ser*%-or.re--)o&#).ne$.
ser*%-or )- 5 37/.35.3.3
Fdite el arcivo /var/na'ed/d%na'ic/!.!0.!1.in-addr.arpa.3one)
vim 3.35.37/.%n-#--r.#r'#.Cone
Yste deber& tener el siguiente contenido! donde sola'ente ser& necesario aadir al e(e'"lo los registros de
los e.ui"os con ?- fi(a)
F112 664%%
^ )- S05 ser*%-or.re--)o&#).ne$. root#localhost# (
8%111%19%1[
866%%[
$8%%[
6%46%%[
664%%[
)
^ )- -S ser*%-or.re--)o&#).ne$.
3 )- =1R ser*%-or.re--)o&#).ne$.
Ca'bie al directorio 8etc8)
cd /etc/
=47
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fdite el arcivo 8etc8named.conf)
vim named#con"
Yste deber& tener un contenido si'ilar al siguiente)
options e
directory ,/var/named,[
dump!"ile ,/var/named/data/cache/dump#db,[
statistics!"ile ,/var/named/data/named/stats#txt,[
memstatistics!"ile ,/var/named/data/named/mem/stats#txt,[
"orarders e
6#6#6#6[
6#6#4#4[
f[
"orard "irst[
// STlo habilitar lo siguiente si se va a utiliCar &-SS'*
// y si "orarders tienen soporte para &-SS'*#
dnssec!enable no[
dnssec!validation no[
// dnssec!lookaside auto[
// bindkeys!"ile ,/etc/named#iscdlv#key,[
f[
include ,/etc/rndc#key,[
logging e
channel de"ault/debug e
"ile ,data/named#run,[
severity dynamic[
f[
category lame!servers e null[ f[
f[
controls e
inet 18$#%#%#1 allo e 18$#%#%#1[ f keys e ,rndc!key,[ f[
f[
vie ,local, e
match!clients e 18$#%#%#%/6[ 1$8#16#3#%/86[ f[
recursion yes[
include ,/etc/named#r"c1918#Cones,[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
Cone "re--)o&#).ne$" Q
$y'e <#s$erR
+%)e "-yn#<%&;re--)o&#).ne$.Cone"R
#))o0->'-#$e Q 8ey "rn-&-8ey"R SR
SR
Cone "3.35.37/.%n-#--r.#r'#" Q
$y'e <#s$erR
+%)e "-yn#<%&;3.35.37/.%n-#--r.#r'#.Cone"R
#))o0->'-#$e Q 8ey "rn-&-8ey"R SR
SR
f[
vie ,public, e
match!clients e any[ f[
recursion no[
Cone ,#, )- e
type hint[
"ile ,named#ca,[
f[
f[
=42
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
;egrese al directorio de inicio$
cd
+ctive la "ol/tica de SFLinux! la cual "er'itir& al servidor DNS "oder reali,ar 'odificaciones a los arcivos
de ,ona$
setsebool != named/rite/master/Cones 1
;einicie el servicio named a fin de .ue surtan efecto los ca'bios$
service named restart
;einicie ta'bi#n el servicio dhcpd a fin de .ue surtan efecto los ca'bios % "ara .ue el servidor DIC-
co'ience a interactuar con el servidor DNS$
service dhcpd restart
+ "artir de este 'o'ento! todo cliente .ue tenga definido en su configuracin local un no'bre de anfitrin %
al cual le sea asignada una direccin ?- a trav#s del servidor DIC- reci#n configurado! co'unicar& su
no'bre de anfitrin al servidor DIC-! el cual a su ve, co'unicar& al servidor DNS este 'is'o no'bre
asociada a la direccin ?- asignada al cliente! de 'odo .ue el DNS aadir& auto'&tica'ente el registro
corres"ondiente a las ,onas de re6env/o % de resolucin inversa corres"ondientes$
Jerifi.ue .ue el servidor DNS din&'ico funciona correcta'ente! si'ulando lo .ue en adelante ar&
auto'&tica'ente en segundo "lano el servidor DIC-! aadiendo un "ar de registros a trav#s del 'andato
nsupdate$ F(ecute lo siguiente "ara conectarse al servidor DNS utili,ando la fir'a digital .ue utili,ar&n
tanto el #ste co'o el servidor DIC-)
nsupdate !k /etc/rndc#key
Desde el int#r"rete de 'andatos de nsupdate! e(ecute lo siguiente)
server 18$#%#%#1
update add 'r>eb#.re--)o&#).ne$. 664%% 5 37/.35.3.34
send
update add 34.3.35.37/.%n-#--r.#r'#. 664%% =1R 'r>eb#.re--)o&#).ne$.
send
Juit
Si lo anterior devuelve errores co'o el siguiente)
update "ailed7 R'>?S'&
Significa .ue a% errores en el "rocedi'iento reali,ado o la configuracin o bien .ue la fir'a digital utili,ada
en el arcivo 8etc8named.conf es distinta a la del arcivo 8etc8rndc.Oe+$
Si lo anterior devuelve errores co'o el siguiente)
[ 1S)I error ith server7 tsig indicates error
update "ailed7 R'>?S'&(;5&H'<)
=48
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Significa .ue el no'bre de anfitrin "ertenece a un do'inio distinto al configurado o bien la direccin ?-
"ertenece a otro blo.ue direcciones distinto al configurado$ Corri(a lo necesario si as/ es el caso$
Si el "rocedi'iento conclu% sin errores! aga consultas al servidor DNS "ara prueba.red-local.net %
!1.!0.!.!- "ara cote(ar .ue el servidor DNS ace"t los dos registros aadidos a trav#s de nsupdate!
e(ecutando lo siguiente)
host 'r>eb#.re--)o&#).ne$
host 37/.35.3.34
Lo anterior debe devolver una salida si'ilar a la siguiente)
Droot^servidor _EA host 'r>eb#.re--)o&#).ne$
'r>eb#.re--)o&#).ne$ has address 37/.35.3.34
Droot^servidor _EA host 37/.35.3.34
34.3.35.37/.%n-#--r.#r'# domain name pointer 'r>eb#.re--)o&#).ne$.
Si la salida devuelve errores! significa .ue a% errores en el "rocedi'iento reali,ado o bien el do'inio %
,ona de resolucin inversa son diferentes a los configurados$ Corri(a lo necesario si as/ es el caso$
Si el "rocedi'iento conclu% correcta'ente! utilice el 'andato nsupdate "ara conectarse de nuevo al
servidor DNS e(ecutando lo siguiente)
nsupdate !k /etc/rndc#key
Desde el int#r"rete de 'andatos de nsupdate! e(ecute lo siguiente "ara eli'inar los registros)
server 18$#%#%#1
update delete 'r>eb#.re--)o&#).ne$. 5
send
update delete 34.3.35.37/.%n-#--r.#r'#. =1R
send
Juit
Fsta es! "or cierto! la 'etodolog/a reco'endada "ara aadir o eli'inar registros de ,onas en el servidor DNS
cuando se utili,an ,onas din&'icas$
-4.1. Comprobaciones desde cliente DDC7.
Ieco lo anterior! sola'ente se necesitar& configurar co'o interfaces DIC-! las utili,adas en las estaciones
de traba(o .ue sean necesarias! sin i'"ortar .ue siste'a o"erativo utilicen$
Des"u#s concluida la configuracin % .ue est#n funcionando los servicio corres"ondientes! "ueden acerse
co'"robaciones desde un cliente GNU/Linux! es decir! desde otro eCuipo$ +bra una ter'inal! co'o
usuario root %! asu'iendo .ue se tiene una interfa, de red deno'inada ethI! utilice los siguientes
'andatos "ara desactivar la interfa, ethI % asignar una nueva direccin I7 a trav#s del servidor dhcp$
i"don eth%
dhclient !d !) nombre!eJuipo !3 nombre!eJuipo eth%
Lo anterior deber& devolver el 'ensa(e ^Deter'inando la infor'acin ?- "ara et9$$$_ % el s/'bolo de
siste'a$ -ara corroborar! utilice el 'andato ifconfig "ara visuali,ar los dis"ositivos de red activos en el
siste'a$ -ulse C<R&-C "ara ter'inar el "rogra'a$
=4=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se dis"one de varios servidores DIC- % se desea "robar la configuracin de alguno en "articular! "uede
aadir la o"cin -J al 'andato dhclient! definiendo co'o valor "ara esta o"cin! el 'is'o valor .ue fue
asignado "ara el "ar&'etro server-identifier! establecido en el arcivo 8etc8dhcp8dhcpd.conf del
servidor corres"ondiente$
i"don eth%
dhclient !d !) nombre!eJuipo !3 nombre!eJuipo -: 37/.35.3.3 eth%
Fdite el arcivo 8etc8s+sconfig8netRorO-scripts8ifcfg-ethI o el .ue corres"onda al dis"ositivo de red
"rinci"al del siste'a cliente)
vim /etc/syscon"ig/netork!scripts/i"c"g!eth%
La configuracin "er'anente del dis"ositivo de red! considerando como e%emplo la interfa, et9 con
direccin 5;C 99)97)98)DC)45)28! solicitando los datos "ara los servidores DN9! "uerta de enlace %
servidores de tie'"o! ser/a la siguiente)
&'()*'+eth%
0-;001+yes
?S'R*12+yes
345&&R+%%7%17%@7&*76$78@
1<='+'thernet
-./*0-1R022'&+no
BOOT9ROTO=-h&'
DEFROUTE=yes
9EERDNS=yes
9EERROUTES=yes
9EERNT9=yes
DOMA?N=re--)o&#).ne$
DFC9_CL?ENT_?D=no<bre-e,>%'o
DFC9_FOSTNAME=no<bre-e,>%'o
Si utili,a N5UC(N<R(&&/DV+es! de(e .ue el servicio NetRorO5anager se encargue "or si solo de a"licar
los ca'bios$ Si utili,a N5UC(N<R(&&/DVno! reinicie el servicio netRorO a fin de .ue surtan efecto los
ca'bios$
service netork restart
=42
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-[. Instalacin + configuracin de vsftpd.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
-[.!. Introduccin.
-[.!.!. ;cerca del protocolo 2<7.
2<7 1File Transfer 0rotocol3 o -rotocolo de @ransferencia de +rcivos 1o arcivos infor'&ticos3 es uno de los
"rotocolos est&ndar '&s utili,ados en ?nternet siendo el '&s idneo "ara la transferencia de grandes
blo.ues de datos a trav#s de redes .ue so"orten @C-/?-$ Fl servicio utili,a los "uertos 29 % 27!
exclusiva'ente sobre @C-$ Fl "uerto 29 es utili,ado "ara el flu(o de datos entre cliente % servidor$ Fl "uerto
27 es utili,ando "ara el env/o de rdenes del cliente acia el servidor$ -r&ctica'ente todos los siste'as
o"erativos % "latafor'as inclu%en so"orte "ara >@-! lo .ue "er'ite .ue cual.uier co'"utadora conectada a
una red basada sobre @C-/?- "ueda acer uso de este servicio a trav#s de un cliente >@-$
Fxisten dos '#todos! el 'odo activo % el 'odo "asivo$
U;L) tt")//tools$ietf$org/t'l/rfcB2B
-[.!.!.!. 5odo activo.
Fn este 'odo! el cliente crea una conexin de datos a trav#s del "uerto 29 del servidor! 'ientras .ue en el
cliente asocia esta conexin desde un "uerto aleatorio entre 792= % 42282! enviando el 'andato -G;@ "ara
indicar al servidor el "uerto a utili,ar "ara la transferencia de datos$ @iene co'o desventa(a .ue el cliente
>@- debe estar dis"uesto a ace"tar cual.uier conexin de entrada asociada a "uertos entre 792= % 42282! lo
.ue significa .ue el cliente tendr/a .ue estar detr&s de un 'uro cortafuegos .ue ace"te establecer
conexiones entrantes en este rango de "uertos o bien acceder acia ?nternet sin un 'uro cortafuegos de "or
'edio! lo .ue evidente'ente i'"lica un enor'e riesgo de seguridad$ Fl 'odo activo slo es conveniente en
la ausencia de un 'uro cortafuegos entre el servidor % el cliente! co'o ocurre en los escenarios de una red
de &rea local$
-[.!.!.. 5odo pasivo.
>ue creado co'o una alternativa al "roble'a .ue re"resenta el 'odo activo$ + diferencia de #ste 0lti'o! el
'odo "asivo env/a un 'andato -+SJ en lugar del 'andato -G;@ a trav#s del "uerto de control del servidor$
Yste devuelve co'o res"uesta el n0'ero de "uerto a trav#s del cual debe conectarse el cliente "ara acer
la transferencia de datos$ Fl servidor "uede elegir al a,ar cual.uier "uerto entre 792= % 42282 o bien el
rango de "uertos deter'inado "or el ad'inistrador del siste'a$ Fn el caso de Jsftpd! se "uede definir un
rango arbitrario de "uertos "ara conexiones "asivas utili,ando las o"ciones pasvUminUport %
pasvUma*Uport$ Yste es el '#todo reco'endado "ara servidores de acceso "0blico$
-[.!.. ;cerca del protocolo 2<79.
=44
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
2<79 1ta'bi#n referido co'o 2<7899&3 es la for'a de designar diferentes for'as a trav#s de las cuales se
"ueden reali,ar transferencias seguras de arcivos a trav#s de 2<7 utili,ando 99& o <&9$ Son 'ecanis'os
'u% diferentes a los del "rotocolo S>@- 1S$. File Transfer 0rotocol3$
Fxisten dos diferentes '#todos "ara reali,ar una conexin 99&8<&9 a trav#s de 2<7$ La "ri'era % '&s
antigua es a trav#s del 2<79 Implcito 10mplicit -T@$3! .ue consiste en cifrar la sesin co'"leta a trav#s de
los "uertos BB9 1>@-S3 % BBA 1>@-S Data3! sin "er'itir negociacin con el cliente! el cual est& obligado a
conectarse directa'ente al servidor >@-S con el inicio de sesin 99&8<&9$ Fl segundo '#todo! .ue es el
reco'endado "or el ;>C =275 % el utili,ado "or Jsftpd! es 2<79 /*plcito 1,6plicit -T@$ o 2<7/93! donde
el cliente reali,a la conexin nor'al a trav#s del "uerto 27 % "er'itiendo negociar! de 'anera o"cional! una
conexin <&9$
-[.!.,. ;cerca de R9;.
R9;! acrni'o de los a"ellidos de sus autores! ;on Rivest! +di 9a'ir % Len ;dle'an! es un algorit'o "ara
cifrar claves "0blicas! el cual fue "ublicado en 7B55 % "atentado 7BA8! en FF$UU$! "or el ?nstituto
@ecnolgico de :icigan 15I<3$ R9; es utili,ado en todo el 'undo "ara los "rotocolos destinados "ara el
co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/;S+
-[.!.-. ;cerca de (pen99&.
(pen99& es una i'"le'entacin libre! de cdigo fuente abierto! de los "rotocolos 99& 19ecure 9ocKets
&a%er o Nivel de Ncalo Seguro3 % <&9 1Transport /ayer Security o $eguridad para ;ivel de TransporteE.
,st basado sobre el e6tinto proyecto SS/ea), iniciado por ,ric Ioung y Tim .udson, asta que stos
comenzaron a trabajar para la divisi/n de seguridad de ,G# #orporation.
U;L) tt")//***$o"enssl$org/
-[.!... ;cerca de B..I[.
B..I[ es un est&ndar I<"-< 1estandari,acin de <eleco'unicaciones de la %nternational
Telecommunication 5nion3 "ara infraestructura de claves "0blicas 17NI o 0ublic 9ey %nfrastructure3$ Fntre
otras cosas! establece los est&ndares "ara certificados de claves "0blicas % un algorit'o! "ara validacin de
ruta de certificacin$ Fste 0lti'o se encarga de verificar .ue la ruta de un certificado sea v&lida ba(o una
infraestructura de clave "0blica deter'inada$ Fs decir! desde el certificado inicial! "asando "or certificados
inter'edios! asta el certificado de confian,a e'itido "or una +utoridad Certificadora 1C; o Certification
;utorit%3$
U;L) tt")//es$*iKi"edia$org/*iKi/O$29B
-[.!.0. ;cerca de vsftpd.
Jsftpd 11ery Secure FT0 #aemon3 es un e.ui"a'iento lgico utili,ado "ara i'"le'entar servidores de
arcivos a trav#s del "rotocolo 2<7$ Se distingue "rinci"al'ente "or.ue sus valores "redeter'inados son
'u% seguros % "or su sencille, en la configuracin! co'"arado con otras alternativas co'o -ro>@-D %
Qu6ft"d$ +ctual'ente se "resu'e .ue vsft"d "odr/a ser .ui,& el servidor 2<7 '&s seguro del 'undo$
U;L) tt")//vsft"d$beasts$org/
-[.. /Cuipamiento lgico necesario.
=45
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-[..!. Instalacin a travs de +um.
F(ecute lo siguiente desde una ter'inal si utili,a Cent(9! 2edoraF o Red DatF /nterprise &inu*)
yum !y install vs"tpd
-[.,. ;rchivos de configuracin.
8etc8vsftpd8chrootUlist
Lista .ue definir& usuarios a en(aular o no a en(aular! de"endiendo de la
configuracin$
8etc8vsftpd8vsftpd.conf
+rcivo de configuracin de JS>@-D$
Fl arcivo 8etc8vsftpd8chrootUlist es inexistente! "or lo cual es conveniente crearlo antes de co'en,ar a
traba(ar con la configuracin$ -or favor e(ecute lo siguiente antes de continuar)
touch /etc/vs"tpd/chroot/list
-[.,.!. IniciarG detener + reiniciar el servicio vsftpd.
F(ecute lo siguiente "ara iniciar "or "ri'era ve, el servicio vsftpd)
service vs"tpd start
F(ecute lo siguiente "ara reiniciar el servicio vsftpd o bien acer .ue los ca'bios ecos a la configuracin
surtan efecto)
service vs"tpd restart
F(ecute lo siguiente "ara detener el servicio vsftpd)
service vs"tpd stop
-[.,.. ;gregar el servicio vsftpd al arranCue del sistema.
F(ecute lo siguiente "ara acer .ue el servicio de vsftpd est# activo con el siguiente inicio del siste'a! en
todos los niveles de e(ecucin 12! 8! = % 23)
chkcon"ig vs"tpd on
=4A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-[.-. 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir los "uerto 29 % 27! "or @C- 12<7-D;<; % 2<7! res"ectiva'ente3 % el rango de "uertos
"ara conexiones "asivas .ue se a%a definido$
-[.-.!. 9ervicio iptables.
F(ecute lo siguiente "ara anexar las reglas de iptables corres"ondientes)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8% !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 81 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @%@%%7@%@%9 !O 5**'=1
F(ecute lo siguiente "ara guardar los ca'bios)
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8% !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 81 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @%@%%7@%@%9 !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
-[.-.. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vi /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente! "er'itiendo el acceso acia el servicio >@- desde
cual.uier ,ona del 'uro cortafuegos)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp /6B/3B666166=
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
F(ecute lo siguiente al ter'inar de configurar las reglas "ara 9horeRall a fin de reiniciar el 'uro
cortafuegos)
service shoreall restart
-[... 7rocedimientos.
-[...!. 9/&inu* + el servicio vsftpd.
=4B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
SFLinux controla varias funciones de el servicio vsftpd incre'entando el nivel de seguridad de #ste$
F(ecute lo siguiente "ara "er'itir .ue el servidor >@- "ueda asociarse a cual.uier "uerto sin reservar al
funcionar en 'odo "asivo)
setsebool != "tpd/use/passive/mode 1
F(ecute lo siguiente "ara "er'itir .ue los usuarios anni'os "uedan reali,ar "rocesos de escritura sobre el
siste'a de arcivos)
setsebool != allo/"tpd/anon/rite 1
Si se necesita "er'itir el acceso utili,ando las cuentas de usuarios del anfitrin local! a fin de .ue #stos
"uedan acceder a sus directorio de inicio! se debe abilitar la "ol/tica ftpUhomeUdir)
setsebool != "tp/home/dir 1
F(ecute lo siguiente "ara acer .ue SFLinux "er'ita acceder a los usuarios locales al resto del siste'a de
arcivos)
setsebool != allo/"tpd/"ull/access 1
F(ecute lo siguiente "ara "er'itir .ue el servicio vsftpd "ueda acer uso de siste'as de arcivos re'otos a
trav#s de C?>S 1Sa'ba3 o N>S % .ue ser&n utili,ados "ara co'"artir a trav#s del servicio)
setsebool != allo/"tpd/use/ci"s 1
setsebool != allo/"tpd/use/n"s 1
Nota.
Lo siguiente slo a"lica "ara Cent(9 . % Red DatF /nterprise &inu* .$
F(ecute lo siguiente "ara eli'inar "or co'"leto la "roteccin .ue brinda SFLinux al servicio vsftpd % .ue #ste
funcione nor'al'ente sin esta valiosa "roteccin! aciendo .ue todo lo anterior'ente descrito en esta seccin
"ierda sentido)
setsebool != "tpd/disable/trans 1
Fsta "ol/tica es inexistente en Cent(9 0 % Red DatF /nterprise &inu* 0$
-[.... ;rchivo 8etc8vsftpd8vsftpd.conf.
Utilice un editor de texto % 'odifi.ue el arcivo 8etc8vsftpd8vsftpd.conf$
vi /etc/vs"tpd/vs"tpd#con"
+ continuacin anali,are'os las o"ciones a 'odificar o aadir seg0n se re.uiera "ara necesidades
"articulares$
-[...,. (pcin anon+mousUenable.
=59
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fsta o"cin viene incluida en la configuracin "redeter'inada$ Se utili,a "ara definir si se "er'itir&n los
accesos anni'os al servidor$ Fstable,ca co'o valor Z/9 o N( de acuerdo a lo .ue se re.uiera$
anonymous/enable+<'S
-[...-. (pcin localUenable.
Fsta o"cin viene incluida en la configuracin "redeter'inada$ Fstablece si se van a "er'itir los accesos
autenticados de los usuarios locales del siste'a$ Fstable,ca co'o valor Z/9 o N( de acuerdo a lo .ue se
re.uiera$
local/enable+<'S
-[..... (pcin RriteUenable.
Fsta o"cin viene incluida en la configuracin "redeter'inada$ Fstablece si se "er'ite el 'andato Rrite
1escritura3 en el servidor$ Fstable,ca co'o valor Z/9 o N( de acuerdo a lo .ue se re.uiera$
rite/enable+<'S
-[...0. (pciones anonUuploadUenable + anonUmOdirURriteUenable
+'bas o"ciones vienen incluidas en la configuracin "redeter'inada$
La o"cin anonUuploadUenable es"ec/fica si los usuarios anni'os tendr&n "er'itido subir contenido al
servidor$ -or lo general no es una funcin deseada! "or lo .ue se acostu'bra desactivar #sta$
anon/upload/enable+-0
La o"cin anonUmOdirURriteUenable es"ec/fica si los usuarios anni'os tendr&n "er'itido crear
directorios en el servidor$ +l igual .ue la anterior! "or lo general no es una funcin deseada! "or lo .ue se
acostu'bra desactivar #sta$
anon/mkdir/rite/enable+-0
Nota.
Si se desea .ue los usuarios anni'os "uedan subir arcivos al servidor >@-! se deben de(ar estas dos o"ciones
con valor Z/9! guardar el arcivo 8etc8vsftpd8vsftpd.conf % regresar al int#r"rete de 'andatos "ara crear un
directorio deno'inado 8var8ftp8incoming! el cual debe "ertenecer al usuario % gru"o ftp % tener contexto de
SFLinux ti"o publicUcontentUrRUt$
mkdir /var/"tp/incoming
chon "tp7"tp /var/"tp/incoming
chcon !R !t public/content/r/t /var/"tp/incoming
Se reco'ienda .ue 8var8ftp8incoming est# asignado co'o una "articin inde"endiente al resto del siste'a o
bien se le a"li.ue cuota de disco al usuario ftp! "or.ue de otro 'odo cual.uiera "odr/a f&cil'ente saturar el
es"acio de disco dis"onible! desencadenando una denegacin de servicio en el servidor$
-[...1. (pcin ftpdUbanner.
=57
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fsta o"cin viene incluida en la configuracin "redeter'inada$ Sirve "ara establecer el bander/n de
bienvenida .ue ser& 'ostrado cada ve, .ue un usuario acceda al servidor$ -uede establecerse cual.uier
frase breve .ue considere conveniente! "ero sin signos de puntuacin$
"tpd/banner+;ienvenido al servidor >1= de nuestra empresa
-[...4. /stableciendo %aulas para los usuarios# opciones chrootUlocalUuser +
chrootUlistUfile.
Fstas o"ciones vienen incluidas en la configuracin "redeter'inada$
De 'odo "redeter'inado los usuarios del siste'a .ue se autenti.uen tendr&n acceso a otros directorios del
siste'a fuera de su directorio "ersonal$ Si se desea li'itar a los usuarios a slo "oder utili,ar su "ro"io
directorio "ersonal! "uede acerse f&cil'ente con la o"cin chrootUlocalUuser .ue abilitar& la funcin de
chrootPQ % las o"ciones chrootUlistUenable % chrootUlistUfile! "ara establecer el arcivo con la lista de
usuarios .ue .uedar&n excluidos de la funcin chrootPQ$
chroot/local/user+<'S
chroot/list/enable+<'S
chroot/list/"ile+/etc/vs"tpd/chroot/list
Con lo anterior! cada ve, .ue un usuario local se autenti.ue en el servidor >@-! slo tendr& acceso a su
"ro"io directorio "ersonal % lo .ue #ste contenga$ -or favor recuerde crear el archivo
8etc8vsftpd8chrootUlist debido a .ue de otro 'odo ser& i'"osible .ue funcione correcta'ente el servicio
vsft"d$
Nota.
Cabe sealar .ue la funcin chrootPQ "uede ser "eligrosa si el usuario regular utili,ado tiene acceso al int#r"rete
de 'andatos del siste'a 18bin8bash o 8bin8sh3 % ade'&s "rivilegios de escritura sobre el directorio ra/, de su
"ro"ia (aula 1es decir su directorio de inicio3$ Los directorios de inicio de los usuarios involucrados deben tener
"er'iso 522! sean "ro"iedad de root % se asigne al usuario 8bin8false o 8sbin8nologin co'o int#r"rete de
'andatos$
Lo siguiente corres"onde a lo .ue ser/a necesario e(ecutar "ara 'odificar una cuenta de usuario regular "ara la
cual se .uiera acceder al servidor >@- utili,ando chrootPQ con vsft"d68$x)
chmod $:: /home/mengano
chon root7root /home/mengano
mkdir /home/mengano/uploads
chon mengano7mengano /home/mengano/uploads
usermod !s /sbin/nologin mengano
Jsft"d i'"ide desde la versin 8$9 el ingreso con chrootPQ a todos los usuarios regulares .ue tengan acceso al
int#r"rete de 'andatos o bien .ue "osean "rivilegios de escritura sobre su "ro"io directorio de inicio$
-[...[. (pciones pasvUminUport + pasvUma*Uport.
+'bas o"ciones est&n ausentes en el arcivo 8etc8vsftpd8vsftpd.conf$ ;Hada stas al final del archivo
de configuracin$ -er'iten establecer el rango arbitrario de "uertos utili,ados "ara las conexiones
"asivas$ -uede elegirse cual.uier rango de "uertos entre 792= % 42282! 'is'o .ue deber& ser abilitado en
el 'uro cortafuegos del servidor$ Fn el siguiente e(e'"lo se establece el rango de "uertos "ara conexiones
"asivas de 89899 a 8989B)
=52
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
pasv/min/port+@%@%%
pasv/max/port+@%@%9
-[...!I. Control del ancho de banda.
-[...!I.!. (pcin anonUma*Urate.
Fsta o"cin est6 ausente en la configuracin "redeter'inada$ -uede aadirla al final del arcivo
8etc8vsftpd8vsftpd.conf$ Se utili,a "ara li'itar la tasa de transferencia! en b%tes "or segundo! "ara los
usuarios anni'os! algo su'a'ente 0til en servidores >@- de acceso "0blico$ Fn el siguiente e(e'"lo se
li'ita la tasa de transferencia a 299 Lb "or segundo "ara los usuarios anni'os)
anon/max/rate+:84866
-[...!I.. (pcin localUma*Urate.
Fsta o"cin est6 ausente en la configuracin "redeter'inada$ -uede aadirla al final del arcivo
8etc8vsftpd8vsftpd.conf$ Iace lo 'is'o .ue anonUma*Urate! "ero a"lica "ara usuarios locales del
servidor$ Fn el siguiente e(e'"lo se li'ita la tasa de transferencia a 7 :B "or segundo "ara los usuarios
locales)
local/max/rate+1%46:$6
-[...!I.,. (pcin ma*Uclients.
Fsta o"cin est6 ausente en la configuracin "redeter'inada$ -uede aadirla al final del arcivo
8etc8vsftpd8vsftpd.conf$ Fstablece el n0'ero '&xi'o de clientes .ue "odr&n acceder si'ult&nea'ente
acia el servidor >@-$ Fn el siguiente e(e'"lo se li'itar& el acceso a 29 clientes si'ult&neos$
max/clients+8%
-[...!I.-. (pcin ma*UperUip.
Fsta o"cin est6 ausente en la configuracin "redeter'inada$ -uede aadirla al final del arcivo
8etc8vsftpd8vsftpd.conf$ Fstablece el n0'ero '&xi'o de conexiones .ue se "ueden reali,ar desde una
'is'a direccin ?-$ @o'e en cuenta .ue algunas redes acceden a trav#s de un servidor inter'ediario
1-rox%3 o "uerta de enlace % debido a #sto "odr/an .uedar blo.ueados innecesaria'ente algunos accesos$
Fn el siguiente e(e'"lo se li'ita el n0'ero de conexiones "or ?- si'ult&neas a un '&xi'o de 79$
max/per/ip+1%
-[...!I... 9oporte 99&8<&9.
Siendo .ue todos los datos enviados a trav#s del "rotocolo >@- se acen en texto si'"le 1inclu%endo
no'bres de usuario % claves de acceso3! o% en d/a es 'u% "eligroso o"erar un servidor >@- sin SSL/@LS$
J92<7D "uede ser configurado f&cil'ente "ara utili,ar los "rotocolos 99& 19ecure 9ocKets &a%er o Nivel de
Ncalo Seguro3 % <&9 1<rans"ort &a%er 9ecurit% o Seguridad "ara Nivel de @rans"orte3 a trav#s de un
certificado R9;$
=58
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+cceda al siste'a co'o el usuario root$
+cceda al directorio 8etc8pOi8tls8$
cd /etc/pki/tls/
Fl certificado % fir'a digital se "ueden generar utili,ando el siguiente 'andato! "ara lo cual se utili,ar& una
estructura B..I[! algorit'o de cifrado R9; de 29=A bits! sin <riple D/9! el cual "er'ita iniciar
nor'al'ente! sin interaccin alguna! al servicio vsftpd! con una valide, "or !4. d/as 1cinco aos3$ F(ecute
lo siguiente)
openssl reJ !x:%9 !nodes !days 168: !nekey rsa78%46 K
!keyout private/vs"tpd#key K
!out certs/vs"tpd#crt
Lo anterior solicitar& se ingresen los siguientes datos)
Cdigo de dos letras "ara el "a/s$
Fstado o "rovincia$
Ciudad$
No'bre de la e'"resa o bien la ra,n social$
Unidad o seccin res"onsable del certificado$
No'bre del anfitrin 1>DDN3 o bien do'inio con co'od/n$
Direccin de correo electrnico de la "ersona res"onsable del certificado$
La salida devuelta ser/a si'ilar a la siguiente)
<ou are about to be asked to enter in"ormation that ill be
incorporated into your certi"icate reJuest#
4hat you are about to enter is hat is called a &istinguished -ame or
a &-#
1here are Juite a "e "ields but you can leave some blank
>or some "ields there ill be a de"ault valueB
)" you enter Z#ZB the "ield ill be le"t blank#
!!!!!
*ountry -ame (8 letter code) DI;E7MX
State or =rovince -ame ("ull name) D;erkshireE7D%s$r%$o Fe-er#)
2ocality -ame (egB city) D-eburyE7MeE%&o
0rganiCation -ame (egB company) D.y *ompany 2tdE7E<'res#B S.A. -e C.:.
0rganiCational ?nit -ame (egB section) DE7&ireccion *omercial
*ommon -ame (eg your name or your serverZs hostname) DE7L.-o<%n%o.org
'mail 5ddress DE70eb<#s$erK-o<%n%o.org
Fl arcivo del certificado 1vsftpd.crt3 % el de la fir'a digital 1vsftpd.Oe+3! deben tener "er'isos de slo
lectura "ara el usuario root$
chmod 4%% certs/vs"tpd#crt private/vs"tpd#key
;egrese al directorio de inicio del usuario root$
cd
Fdite el arcivo 8etc8vsftpd8vsftpd.conf)
vi /etc/vs"tpd/vs"tpd#con"
=5=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ada al final de este arcivo todo el siguiente contenido)
A 3abilita el soporte de 12S/SS2
ssl/enable+<'S
A &eshabilita o habilita utiliCar 12S/SS2 con usuarios anTnimos
allo/anon/ssl+-0
A 0bliga a utiliCar 12S/SS2 para todas las operacionesB es decirB
A trans"erencia de datos y autenticaciTn de usuarios locales#
A 'stablecer el valor -0B hace Jue sea o'&%on#) utiliCar 12S/SS2#
"orce/local/data/ssl+<'S
"orce/local/logins/ssl+<'S
A Se pre"iere 12Sv1 sobre SS2v8 y SS2v@
ssl/tlsv1+<'S
ssl/sslv8+-0
ssl/sslv@+-0
A Rutas del certi"icado y "irma digital
rsa/cert/"ile+;e$&;'8%;$)s;&er$s;*s+$'-.&r$
rsa/private/key/"ile+;e$&;'8%;$)s;'r%*#$e;*s+$'-.8ey
A 2os desarrolladores de >ileGilla decidieron con la versiTn @#:#@ Jue
A eliminarMan el soporte para el algoritmo de ci"rado @&'S!*;*!S35B
A con el argumento de Jue este algoritmo es una de los mUs lentos#
A Sin embargo con hsto rompieron compatibilidad con miles de
A servidores >1= Jue utiliCan >1='S# 2a soluciTn temporalB mientras
A los desarrolladores de >ileGilla raConan lo absurdo de su
A decisiTnB es utiliCar la siguiente opciTn7
ssl/ciphers+3)I3
A >ileCilla ademUs reJuiere desactivar la siguiente opciTn Jue puede
A romper compatibilidad con otros clientes# *abe seNalar Jue >ileCilla
A se ha convertido en un desarrollo polMticamente incorrecto por deOar
A de respetar los estUndares#
reJuire/ssl/reuse+-0
Una ve, concluida la configuracin! reinicie el servicio vsftpd e(ecutando el siguiente 'andato)
service vs"tpd restart
-[...!I.0. Clientes recomendados para acceder a 2<7/9.
Fntre los clientes reco'endados "ara acceder a trav#s de 2<7/9! est& &2<7 1co'"ilado con la o"cin
==(it=openssl % e(ecutando con las o"ciones =e Jset ftp)ssl=force trueJ =e Jset ssl)verify=certificate noJ3$
F(e'"lo! asu'iendo .ue se iniciar& una conexin acia el anfitrin 7B2$74A$59$792)
l"tp !e Zset "tp7ssl!"orce trueZ K
!e Zset ssl7veri"y!certi"icate noZ 198#166#$%#1%:
2ile3illa ,.,.* 1configurar conexin co'o -T@,$ = -T@ sobre T%$*$$% e6plcito3 % \in9C7$ +l 'o'ento de
redactar este docu'ento! las versiones 'as recientes de clientes co'o >ire>@- o g>@-! tienen roto el
so"orte "ara >@- sobre @LS/SSL 12<79 % 2<7/93! "or lo .ue "or el 'o'ento es "referible evitarlos$
Si utili,a 2ile3illa es i'"ortante resaltar .ue a "artir de la versin ,..., los desarrolladores to'aron una
absurda decisin .ue eli'in el so"orte "ara el algorit'o de cifrado SSL ,D/9-C$C-9D;! ro'"iendo la
co'"atibilidad con 'iles de servidores >@- .ue utili,an 2<7/9$ La solucin a este "roble'a es aadir la
o"cin sslUciphersVDI:D en el arcivo 8etc8vsftpd8vsftpd.conf$ 2ile3illa dis"one de versiones "ara
:N"8&inu*! 5ac (9 B % \indoRs B78Jista81$ La siguiente i'agen ilustra la configuracin .ue se
re.uiere utili,ar$
=52
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin de cuenta >@-FS en >ile,illa$
Luego de iniciada la conexin! la "ri'era ve, .ue 2ile3illa se conecte al servidor! 'ostrar& una ventana con
la infor'acin del certificado % solicitar& se ace"te #ste$ +ctive la casilla .ue dice 2$iempre confiar en el
certificado en futuras sesiones3 antes de acer clic en el botn de 2Aceptar.3
Dialogo de certificado de >@-FS en >ile,illa$
=54
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.I. Configuracin de (pen99D.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
.I.!. Introduccin.
.I.!.!. ;cerca de 99D.
99D 19ecure 9hell3 es un con(unto de est&ndares % "rotocolo de red .ue "er'ite establecer una
co'unicacin a trav#s de un canal seguro entre un cliente local % un servidor re'oto$ Utili,a una clave
"0blica cifrada "ara autenticar el servidor re'oto %! de 'anera o"cional! "er'itir al servidor re'oto
autenticar al usuario$ SSI "rovee confidencialidad e integridad en la transferencia de los datos utili,ando
cri"tograf/a % 5;C 15essage ;utentication Codes o Cdigos de +utenticacin de :ensa(e3$ De 'odo
"redeter'inado! escuca "eticiones a trav#s del "uerto 22 "or @C-$
.I.!.. ;cerca de 92<7.
92<7 19SI 2ile <ransfer 7rotocol3 es un "rotocolo .ue "rovee funcionalidad de transferencia % 'ani"ulacin
de arcivos a trav#s de un flu(o confiable de datos$ Co'0n'ente se utili,a con 99D "ara "roveer a #ste de
transferencia segura de arcivos$
.I.!.,. ;cerca de 9C7.
9C7 19ecure Cop% o Co"ia Segura3 es una "rotocolo seguro "ara transferir arcivos entre un anfitrin local %
otro re'oto! a trav#s de 99D$ B&sica'ente! es id#ntico a RC7 1Re'ote Cop% o Co"ia ;e'ota3! con la
diferencia de .ue los datos son cifrados durante la transferencia "ara evitar la extraccin "otencial de
infor'acin a trav#s de "rogra'as de ca"tura de las tra'as de red 1pacOet sniffers3$ 9C7 slo
i'"le'enta la transferencia de arcivos! "ues la autenticacin re.uerida es reali,ada a trav#s de 99D$
.I.!.-. ;cerca de (pen99D.
(pen99D 1(pen 9ecure 9hell3 es una alternativa de cdigo fuente abierto! con licencia $9D! acia la
i'"le'entacin "ro"ietaria % de cdigo cerrado 99D creada "or <atu Zllnen$ (pen99D es un "ro%ecto
creado "or el e.ui"o de desarrollo de G"enBSD % actual'ente dirigido "or <heo de Raadt$ Se considera es
'&s segura .ue la versin "rivativa Rlwnen! gracias a la constante auditor/a .ue se reali,a sobre el cdigo
fuente "or "arte de una enor'e co'unidad de desarrolladores! una venta(a .ue brinda el $oft(are %ibre$
G"enSSI inclu%e servicio % clientes "ara los "rotocolos 99D! 92<7 % 9C7$
U;L) tt")//***$o"enss$org/$
.I.. /Cuipamiento lgico necesario.
=55
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.I..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Si reali, una instalacin '/ni'a! e(ecute lo siguiente "ara instalar la "a.ueter/a necesaria)
yum !y install openssh openssh!server openssh!clients
.I... /n open9"9/F + 9"9/F &inu* /nterprise.
Si reali, una instalacin '/ni'a! e(ecute lo siguiente "ara instalar la "a.ueter/a necesaria)
yast !i openssh
.I.,. ;ctivarG desactivarG iniciarG detener + reiniciar el servicio ssh.
De 'odo "redeter'inado! el servicio sshd est& activo en los niveles de e(ecucin 2! 8! = % 2$
.I.,.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
-ara desactivar el servicio sshd de todos los niveles de e(ecucin e(ecute)
chkcon"ig sshd o""
-ara iniciar "or "ri'era ve, el servicio sshd e(ecute)
service sshd start
-ara acer .ue surtan efecto los ca'bios ecos a la configuracin del servicio sshd e(ecute)
service sshd restart
-ara detener el servicio sshd e(ecute)
service sshd stop
.I.,.. /n open9"9/F + 9"9/F &inu* /nterprise.
-ara desactivar el servicio sshd de todos los niveles de e(ecucin e(ecute)
insserv !r sshd
-ara iniciar "or "ri'era ve, el servicio sshd e(ecute)
rcsshd start
-ara acer .ue surtan efecto los ca'bios ecos a la configuracin del servicio sshd e(ecute)
rcsshd restart
=5A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara detener el servicio sshd e(ecute)
service sshd stop
.I.-. 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir el "uerto 22 "or @C- 199D3 o bien el "uerto .ue se a%a seleccionado "ara el servicio$
.I.-.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
.I.-.!.!. 9ervicio iptables.
-uede utili,ar el 'andato iptables del siguiente 'odo)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 88 !O 5**'=1
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 88 !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
.I.-.!.. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vi /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 net " tcp 88
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
Si la red de &rea local 1L+N3 va a acceder acia el servidor reci#n configurado! es necesario abrir el "uerto
corres"ondiente$
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 net " tcp 88
ACCE9T )o& +0 $&' //
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
G bien! acer todo lo anterior! con una sola regla! .ue "er'ita el acceso desde cual.uier ,ona del 'uro
cortafuegos)
=5B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
ACCE9T #)) +0 $&' //
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
Si se decidi ofuscar el "uerto de SSI! "uede utili,ar la siguiente regla! donde! en lugar de 228=7! deber&
es"ecificar el "uerto .ue a%a elegido)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
ACCE9T #)) +0 $&' !/43
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
+l ter'inar de configurar las reglas "ara 9horeRall! reinicie el 'uro cortafuegos! e(ecutando el siguiente
'andato)
service shoreall restart
.I.-.. /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute el 'andato +ast del siguiente 'odo)
yast "ireall
Iabilite 9ecure 9hell 9erver o bien el "uerto seleccionado "ara utili,ar el servicio % a"li.ue los ca'bios$
:dulo de cortafuegos de RaS@! abilitando Secure Sell Server$
.I... 9/&inu* + el servicio sshd.
=A9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si utili,a o"enSUSFH % SUSFH Linux Fnter"rise o'ita la siguiente seccin$
Si se utili,a de Cent(9! 2edoraF o Red DatF /nterprise &inu*! el siste'a inclu%e tres "ol/ticas "ara el
servicio sshd$
.I...!. 7oltica sshUchrootUrRUhomedirs.
Fsta "ol/tica abilita o desabilita! la lectura % escritura de arcivos a trav#s de S>@- en los directorios de
inicio de los usuarios en(aulados$ Fl valor "redeter'inado es desabilitado$ -ara abilitar slo e(ecute)
setsebool != ssh/chroot/r/homedirs 1
.I.... 7oltica fencedUcanUssh.
Fsta "ol/tica "er'ite a usuarios en(aulados a trav#s de S>@- "uedan ingresar ta'bi#n a trav#s de SSI$ Fl
valor "redeter'inado es desabilitado$ -or lo general (a'&s se evita utili,ar esta "ol/tica$ -ara abilitar slo
e(ecute)
setsebool != "enced/can/ssh 1
.I...,. 7oltica sshUchrootUmanageUapacheUcontent.
Fsta "ol/tica "er'ite a usuarios en(aulados a trav#s de S>@- "uedan ad'inistrar contenido de +"ace$ Fl
valor "redeter'inado es desabilitado$ -ara abilitar slo e(ecute)
setsebool != ssh/chroot/manage/apache/content 1
.I...-. 7oltica sshUs+sadmUlogin.
Fsta "ol/tica abilita o desabilita! el acceso a trav#s del servicio de 99D co'o ad'inistrador del siste'a
1contextos s+sadmUr#s+sadmUt! .ue corres"onden a los del directorio de inicio del usuario root o bien .ue
"ueden ser a"licados al directorio de inicio de otro usuario con "rivilegios3$ Fl valor "redeter'inado es
desabilitado$ -ara abilitar slo e(ecute)
setsebool != ssh/sysadm/login 1
.I..... 7oltica alloRUsshUOe+sign.
Fsta "ol/tica abilita o desabilita! el acceso a trav#s de ss utili,ando fir'as digitales$ Fl valor
"redeter'inado es desabilitado$ -ara abilitar slo e(ecute)
setsebool != allo/ssh/keysign 1
-ara '&s detalles! consulte el docu'ento titulado ^Cmo utili3ar (pen99D con autenticacin a travs
de firma digital$_$
.I...0. Conte*to sshUhomeUt.
=A7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl contexto de SFLinux "ara de los directorios ^8.ssh % sus contenidos! debe ser ti"o sshUhomeUt$ Fn caso
de aber actuali,ado el siste'a desde versiones anteriores a CentGS 4$8 o ;ed IatH Fnter"rise Linux 4$8!
"uede re6establecer los contextos e(ecutando lo siguiente)
restorecon !R /root
restorecon !R /home
G bien e(ecutando)
chcon !R !t ssh/home/t /root/#ssh
chcon !R !t ssh/home/t /home/L/#ssh
.I.0. ;rchivos de configuracin.
8etc8ssh8sshdUconfig
+rcivo "rinci"al de configuracin del servidor 99D$
8etc8ssh8sshUconfig
+rcivo "rinci"al de configuracin de los clientes 99D utili,ados desde el anfitrin local$
^8.ssh8config
+rcivo "ersonal "ara cada usuario! .ue al'acena la configuracin utili,ada "or los clientes 99D
utili,ados desde el anfitrin local$ -er'ite al usuario local utili,ar una configuracin distinta a la
definida en el arcivo 8etc8ssh8sshUconfig$
^8.ssh8OnoRnUhosts
+rcivo "ersonal "ara cada usuario! el cual al'acena las fir'as digitales de los servidores 99D a
los .ue se conectan los clientes$ Cuando #stas fir'as ca'bian! se "ueden actuali,ar utili,ando el
'andato ssh-Oe+gen con la o"cin -R % el no'bre del anfitrin co'o argu'ento! el cual eli'ina
la entrada corres"ondiente del arcivo ^8.ssh8OnoRnUhosts! "er'itiendo aadir de nuevo el
anfitrin con una nueva fir'a digital$ F(e'"lo) ssh-Oe+gen -R nombre.dominio.tld$
^8.ssh8authori3edUOe+s
+rcivo "ersonal "ara cada usuario! el cual al'acena los certificados de los clientes 99D! "ara
"er'itir autenticacin acia servidores 99D sin re.uerir contrasea$ Consulte el docu'ento
titulado ^Cmo utili3ar (pen99D con autenticacin a travs de firma digital$_
Cuando se utili,an cuentas con acceso al int#r"rete de 'andatos! las o"ciones su'inistradas al 'andato
ssh tienen "recedencia sobre las o"ciones establecidas en el arcivo ^8.ssh8config! .ue a su ve, tiene
"recedencia sobre las o"ciones definidas en el arcivo 8etc8ssh8sshUconfig$
.I.1. 7rocedimientos.
Fdite el arcivo 8etc8ssh8sshdUconfig$
=A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vi /etc/ssh/sshd/con"ig
+ continuacin se anali,ar&n las o"ciones b&sicas .ue se reco'ienda 'odificar$
.I.1.!. 7ar6metro 7ort.
Una for'a de elevar considerable'ente la seguridad al servicio de 99D! consiste en ca'biar el n0'ero de
"uerto utili,ado "or el servicio! "or otro .ue slo cono,ca el ad'inistrador del siste'a$ + este ti"o de
t#cnicas se les conoce co'o 9eguridad por (scuridad$ La 'a%or/a de los delincuentes infor'&ticos
utili,a guiones .ue buscan servidores .ue res"ondan a "eticiones a trav#s del "uerto 22$ Ca'biar de "uerto
el servicio de SSI dis'inu%e considerable'ente la "osibilidad de una intrusin a trav#s de este servicio$
=ort 88
99D traba(a a trav#s del "uerto 22 "or @C-$ -uede elegirse cual.uier otro "uerto entre el 7922 % 42282$ Fn
el siguiente e(e'"lo! se establecer& el "uerto 228=7)
=ort :8@41
.I.1.. 7ar6metro &isten;ddress.
De 'odo "redeter'inado el servicio de SSI res"onder& "eticiones a trav#s de todas las direcciones
"resentes en todas las interfaces de red del siste'a$ Fn el siguiente e(e'"lo! el servidor a configurar tiene la
direccin ?- ![.!04.!..-! la cual slo "odr/a ser accedida desde la red local)
2isten5ddress 198#166#1#8:4
.I.1.,. 7ar6metro 7ermitRoot&ogin.
Fstablece si se va a "er'itir el ingreso directo del usuario root al servidor SSI$ Si se va a "er'itir el ingreso
acia el servidor desde redes "0blicas! resultar& "rudente utili,ar este "ar&'etro con el valor no! de 'odo
.ue sea necesario ingresar "ri'ero con una cuenta de usuario activa! con un int#r"rete de 'andatos .ue
"er'ita el acceso$
=ermitRoot2ogin no
.I.1.-. 7ar6metro B!!2orRarding.
Fstablece si se "er'itir& la e(ecucin re'ota de a"licaciones gr&ficas .ue utilicen el servidor O77$ ;esultar&
conveniente "ara algunas tareas ad'inistrativas .ue slo "uedan llevarse a cabo con erra'ientas gr&ficas
o bien si se re.uiere utili,ar una a"licacin gr&fica en "articular$ -ara este fin! este "ar&'etro "uede
establecerse con el valor +es$
X11>orarding yes
.I.1... 7ar6metro ;lloR"sers.
-er'ite restringir el acceso "or usuario %/o "or anfitrin$ Fl siguiente e(e'"lo restringe el acceso acia el
servidor 99D "ara .ue slo "uedan acerlo los usuarios fulano % 'engano! desde cual.uier anfitrin$
=A8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
5llo?sers "ulano mengano
Fl siguiente e(e'"lo restringe el acceso acia el servidor 99D "ara .ue slo "uedan acerlo los usuarios
fulano % 'engano! "ero slo desde los anfitriones 79$7$7$7 % 79$2$2$7$
5llo?sers "ulano^1%#1#1#1 mengano^1%#1#1#1 "ulano^1%#8#8#1 mengano^1%#8#8#1
.I.1.0. 7ar6metro "seDN9.
Cuando un cliente reali,a una conexin acia un servidor SSI! #ste 0lti'o intentar& resolver en el DNS
"redeter'inado del siste'a! la direccin ?- del cliente$ Si el servidor DNS "redeter'inado del siste'a
carece de una ,ona de resolucin inversa .ue resuelva un no'bre "ara la direccin ?- del cliente! la
conexin se de'orar& algunos segundos '&s de lo nor'al$ +lgunos ad'inistradores "refieren desactivar
esta funcin! con el fin de agili,ar las conexiones SSI en redes donde se carece de servidores DNS .ue
tengan ,onas de reenv/o "ara resolver los no'bres o ,onas de resolucin inversa "ara resolver las
direcciones ?- de los seg'entos de red local! definiendo el valor no "ara este "ar&'etro$
?se&-S no
Del lado del cliente se reali,a un "roceso de validacin! .ue tiene co'o ob(etivo verificar si se est&n
falsificando registros en un servidor DNS! en el caso de .ue #ste 0lti'o se a%a visto co'"ro'etido en su
seguridad$ La o"cin .ue controla esta funcin es ChecODostI7! tiene establecido +es co'o valor
"redeter'inado % se define en el arcivo 8etc8ssh8sshUconfig 1arcivo de configuracin "ara los clientes
SSI del anfitrin local3$ -or lo general se reco'ienda de%ar intacta esta opcin! con el valor
"redeter'inado! salvo .ue los servidores SSI involucrados care,can de resolucin en alg0n servidor DNS$
Fstablecer el valor no! tiene co'o riesgo el ser susce"tible de conectarse inadvertida'ente a un servidor
distinto al .ue real'ente se .uer/a utili,ar! cu%a resolucin de no'bre de anfitrin a%a sido falsificada %
.ue "udiera estar siendo utili,ado con 'alas intenciones "ara engaar % "oder ca"turar no'bres de usuario
% contraseas! "ara "osterior'ente ser utili,ados "ara acceder al servidor verdadero$
.I.4. 7robando (pen99D.
.I.4.!. ;cceso con intrprete de mandatos.
-ara acceder con int#r"rete de 'andatos acia el servidor! basta con e(ecutar desde el siste'a cliente el
'andato ssh! definiendo co'o argu'entos el usuario a utili,ar! una arroba % la direccin ?- o no'bre del
servidor al cual se .uiera conectar)
ssh usuario^nombre#dominio#tld
Si el servidor SSI o"era en un "uerto diferente al 22! se "uede utili,ar la o"cin -p con el n0'ero de "uerto
utili,ado co'o argu'ento$ Fn el siguiente e(e'"lo! utili,ando la cuenta del usuario %uan! se intentar&
acceder acia el servidor con direccin ?- ![.!04.1I.[[! el cual tiene un servicio de 99D .ue res"onde
"eticiones a trav#s del "uerto 228=7$
ssh !p :8@41 Ouan^198#166#$%#99
.I.4.. <ransferencia de archivos a travs de 92<7.
-ara acceder a trav#s de 92<7 acia el servidor! basta con e(ecutar desde el siste'a cliente el 'andato
sftp definiendo el usuario a utili,ar % el servidor al cual conectar)
=A=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
s"tp usuario^servidor
Fl int#r"rete de 'andatos de 92<7 es 'u% si'ilar al utili,ado "ara el "rotocolo >@- % tiene las 'is'as
funcionalidades$
-ara acceder acia un "uerto en "articular! en el cual est& traba(ando el servicio de SSI! se ace trav#s la
o"cin -o con el valor 7ortVn)mero de puerto$ Fn el siguiente e(e'"lo! utili,ando la cuenta del usuario
%uan! se acceder& a trav#s de 92<7 acia el servidor 7B2$74A$59$BB! el cual tiene traba(ando el servicio de
SSI en el "uerto 228=7$
s"tp !o =ort+:8@41 Ouan^198#166#$%#99
Si dis"one de un escritorio en GNU/Linux! con GNG:F 2$x! "uede acceder acia servidores 99D a trav#s del
"rotocolo 92<7 utili,ando el ad'inistrador de arcivos 1Nautilus3 "ara reali,ar transferencias %
'ani"ulacin de arcivos! es"ecificando el "RI 1"nifor' Resource &ocator o Locali,ador Unifor'e de
;ecursos3 Lsftp#M! seguido del servidor % la ruta acia la .ue se .uiere acceder! seguido del "uerto! en el
caso .ue sea distinto al 22$
Nautilus! accediendo acia un directorio re'oto a trav#s de 92<7$
.I.4..!. Eaulas para los usuarios Cue acceden a travs de 92<7.
La funcin de chroot 1(aula de confina'iento de los usuarios3 viene incluida desde la versin -.[p! de
G"enSSI$ -ara abilitarla! es necesario editar el arcivo /etc/ss/ssdMconfig)
vi /etc/ssh/sshd/con"ig
Casi al final del arcivo! localice la siguiente l/nea)
Subsystem s"tp /usr/libexec/openssh/s"tp!server
Co'ente la l/nea con una al'oadilla % aada el siguiente contenido)
=A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ASubsystem s"tp /usr/libexec/openssh/s"tp!server
S>bsys$e< s+$' %n$ern#)-s+$'
M#$&h Gro>' s+$'>sers
Chroo$D%re&$ory Ah
For&eCo<<#n- %n$ern#)-s+$'
A))o0T&'For0#r-%ng no
Guarde el arcivo % regrese al int#r"rete de 'andatos
;einicie el servicio sshd e(ecutando lo siguiente)
service sshd restart
Utilice el 'andato groupadd "ara crear el gru"o sftpusers$
groupadd s"tpusers
+ada a los usuarios a los cuales se .uiera en(aular! al gru"o sftpusers$
gpassd !a perengano s"tpusers
Ca'bie los "er'isos del directorio de inicio de los usuarios involucrados! "ara .ue "ertene,can a root %
tengan "er'iso de acceso 522$
chon root7root /home/perengano
chmod $:: /home/perengano
>inal'ente! ca'bie el int#r"rete de 'andatos de los usuarios involucrados a 8sbin8nologin$
usermod !s /sbin/nologin perengano
+ "artir de este 'o'ento! los usuarios involucrados "odr&n ingresar al siste'a a trav#s de S>@-! "ero slo
"odr&n tener acceso a su directorio de inicio$
D"ulano^centos6 _EF s+$' perengano^198#166#6%#6
perengano^198#166#6%#6Zs passord7
*onnected to 198#166#6%#6#
s"tpQ '0-
Remote orking directory7 /
s"tpQ )s -#
# ## #bash/logout #bash/pro"ile #bashrc
s"tpQ
.I.4.,. <ransferencia de archivos a travs de 9C7.
-ara reali,ar transferencias de arcivos a trav#s de 9C7! es necesario conocer las rutas de los directorios
ob(etivo del anfitrin re'oto$ + continuacin se describen algunas de las o"ciones '&s i'"ortantes del
'andato scp$
-p 1'in0scula3
-reserva el tie'"o de 'odificacin! tie'"os de acceso % los 'odos del arcivo original$
=A4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-7 1'a%0scula3
Fs"ecifica el "uerto "ara reali,ar la conexin$
-r
Co"ia en 'odo descendente de los directorios es"ecificados$
Fn el siguiente e(e'"lo! se transferir& el arcivo algo.t*t! "reservando tie'"os % 'odos! acia el directorio
de inicio del usuario fulano en el servidor 7B2$74B$9$BB$
scp !p algo#txt "ulano^198#166#$%#997_/
Fn el siguiente e(e'"lo! se transferir& la car"eta 5ail! (unto con todo su contenido! "reservando tie'"os %
'odos! hacia el directorio de inicio del usuario fulano en el servidor 7B2$74B$9$BB$
scp !rp .ail "ulano^198#166#$%#997_/
Fn el siguiente e(e'"lo! se transferir& la car"eta 5ail! (unto con todo su contenido! desde el directorio de
inicio del usuario fulano en el servidor 7B2$74B$9$BB! cu%o servicio de 99D escuca "eticiones a trav#s del
"uerto 228=7! "reservando tie'"os % 'odos! acia el directorio del usuario con el .ue se est& traba(ando en
el anfitrin local$
scp != :8@41 !rp "ulano^198#166#$%#997_/.ail #/
-or favor! contin0e con el docu'ento titulado ^G"enSSI con autenticacin a trav#s de fir'a digital$_
=A5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.!. (pen99D con autenticacin a travs de firma
digital.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
.!.!. Introduccin.
Utili,ar fir'as digitales en lugar de contraseas a trav#s de servicios co'o 99D! 9C7 o 92<7! resulta una
t#cnica '&s segura "ara autenticar dicos servicios! facilitando ta'bi#n la o"eracin de guiones %
erra'ientas de res"aldo .ue utili,an dicos "rotocolos$
.!.. 7rocedimientos
.!..!. 5odificaciones en el 9ervidor remoto.
Si utili,a CentGS! >edoraH o ;ed IatH Fnter"rise Linux acceda co'o ad'inistrador al servidor re'oto %
abilite la "ol/tica "ara SFLinux deno'inada alloRUsshUOe+sign! e(ecutando lo siguiente)
setsebool != allo/ssh/keysign 1 PP exit
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise o'ita el "aso anterior$
+cceda nueva'ente al servidor re'oto "ero con la cuenta de usuario .ue se utili,ar&$ Fn el e(e'"lo se
utili,ar& la 'is'a cuenta de root$
ssh root^servidor
Si utili,a CentGS! >edoraH o ;ed IatH Fnter"rise Linux e(ecute los siguientes 'andatos! los cuales tienen
co'o ob(etivo crear el directorio ^8.ssh8 con "er'iso de acceso de lectura/escritura slo "ara el usuario %
ca'biar el contexto SFLinux al ti"o sshUhomeUt! crear el arcivo ^8.ssh8authori3edUOe+s igual'ente con
"er'iso de acceso de lectura/escritura slo "ara el usuario % ca'biar el contexto SFLinux al ti"o
sshUhomeUt)
mkdir !m %$%% _/#ssh/
chcon !R !t ssh/home/t _/#ssh/
touch _/#ssh/authoriCed/keys
chmod 6%% _/#ssh/authoriCed/keys
chcon !t ssh/home/t _/#ssh/authoriCed/keys
exit
=AA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise slo e(ecute los siguientes 'andatos! los cuales tienen
co'o ob(etivo crear el directorio ^8.ssh8 con "er'iso de acceso de lectura/escritura slo "ara el usuario!
crear el arcivo ^8.ssh8authori3edUOe+s igual'ente con "er'iso de acceso de lectura/escritura slo "ara
el usuario)
mkdir !m %$%% _/#ssh/
touch _/#ssh/authoriCed/keys
chmod 6%% _/#ssh/authoriCed/keys
exit
.!... 5odificaciones en el cliente.
.!...!. :enerar firma digital Pfirma digital p)blicaQ.
Se debe generar una fir'a digital 1fir'a digital "0blica3 creada con D9; 1Digital 9ignature ;lgorit' o
+lgorit'o de >ir'a digital3$ 9i se desea evitar utili3ar contraseHa para autenticarG slo se pulsa la
tecla /N</R$ Si asigna contrasea! est& ser& utili,ada "ara autenticar el certificado creado cada ve, .ue se
.uiera utili,ar #ste "ara autenticar re'ota'ente$
ssh!keygen !t dsa
Fl "rocedi'iento devolver& una salida si'ilar a la siguiente)
Ienerating public/private dsa key pair#
'nter "ile in hich to save the key (/home/usuario/#ssh/id/dsa)7
'nter passphrase (empty "or no passphrase)7
'nter same passphrase again7
<our identi"ication has been saved in /home/usuario/#ssh/id/dsa#
<our public key has been saved in /home/usuario/#ssh/id/dsa#pub#
1he key "ingerprint is7
8c7$@7@%7"e7687817a:7:87$67497@$7cd7:$7a"7@67d" usuario^cliente
Nota# Fs i'"ortante resaltar .ue si desea utili,ar la fir'a digital sin contrasea! (a'&s se deber& establecer
una contrasea durante la generacin de la fir'a digital$ Cuando el di&logo de ssh-Oe+gen solicite una
contrasea con confir'acin! slo debe "ulsar la tecla /N</R % continuar el "rocedi'iento$
Lo anterior genera los arcivos los arcivos ^8.ssh8idUdsa % ^8.ssh8idUdsa.pub! los cuales deben tener
"er'iso de acceso 499 1slo lectura % escritura "ara el usuario3$
chmod 6%% _/#ssh/eid/dsaBid/dsa#pubf
]Si utili,a CentGS! >edoraH o ;ed IatH Fnter"rise Linux debe ca'biar los contextos de ^8.ssh8 al ti"o
sshUhomeUt)
chcon !R !t ssh/home/t _/#ssh/
Si utili,a o"enSUSFH o SUSFH Linux Fnter"rise o'ita el "aso anterior$
Co"ie el contenido del arcivo corres"ondiente a la fir'a digital "0blica D9; 1es decir idUdsa.pub3 dentro
del arcivo ^8.ssh8authori3edUOe+s del usuario a utili,ar en el servidor re'oto$ Fn el siguiente e(e'"lo se
utili,a la cuenta de root del servidor re'oto$
cat _/#ssh/id/dsa#pubRssh root^servidor ,cat QQ/root/#ssh/authoriCed/keys,
=AB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara "oder acceder al servidor desde cual.uier cliente! basta co"iar los arcivos idUdsa % idUdsa.pub
dentro del directorio ^8.ssh8! de la cuenta de usuario de cada cliente desde el .ue se re.uiera reali,ar
conexin acia el servidor$ @endr& serias i'"licaciones de seguridad si el arcivo idUdsa cae en 'anos
e.uivocadas o se ve co'"ro'etido$ /ste archivo deber6 ser considerado como altamente
confidencial$
-ueden generarse diferentes fir'as digitales "ara cada usuario .ue deba ingresar a trav#s de SSI al
servidor re'oto$ Si'"le'ente se aHade el contenido del arcivo ^8.ssh8idUdsa.pub de cada usuario al
arcivo ^8.ssh8authori3edUOe+s de la cuenta de usuario a utili,ar en el servidor re'oto$ -ueden agregarse
cuantas fir'as digitales en este arcivo co'o sean necesarias$ Si acaso se ve co'"ro'etida la seguridad de
alguna fir'a digital! se debe eli'inar #sta del arcivo ^8.ssh8authori3edUOe+s del servidor re'oto$
.!..,. Comprobaciones.
Si se o'iti asignar contrasea "ara la llave D9;! deber& "oderse acceder acia el servidor re'oto sin
necesidad de autenticar con la contrasea del usuario re'oto$ Si fue asignada una contrasea a la clave
D9;! se "odr& acceder acia el servidor re'oto autenticando con la contrasea definida a la clave D9; %
sin necesidad de autenticar con la contrasea del usuario re'oto$
=B9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.. Configuracin + uso de N<7.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
..!. Introduccin.
..!.!. ;cerca de N<7.
N<7 1!et(or' Time 0rotocol3 es un "rotocolo `de entre los '&s antiguos "rotocolos de ?nternet 17BA23`
utili,ado "ara la sincroni,acin de relo(es de siste'as co'"utacionales a trav#s de redes! aciendo uso de
interca'bio de "a.uetes 1unidades de infor'acin trans"ortadas entre nodos a trav#s de enlaces de datos
co'"artidos3 % latencia variable 1tie'"o de de'ora entre el 'o'ento en .ue algo inicia % el 'o'ento en
.ue su efecto inicia3$ N<7 fue original'ente diseado `% sigue siendo 'antenido` "or Dave :ills! de la
universidad de Dela*are$
N@- utili,a el algorit'o de :ar,ullo 1inventado "or Leit :ar,ullo3! el cual sirve "ara seleccionar fuentes de
origen "ara la esti'acin exacta del tie'"o a "artir de un n0'ero deter'inado de fuentes de origen
desordenadas! utili,ando la escala "<C$
La versin = del "rotocolo "uede 'antener el tie'"o con un 'argen de 79 'ilisegundos a trav#s de la red
'undial! alcan,ado exactitud de 299 'icrosegundos$ Fn redes locales! ba(o condiciones idneas! este
'argen se "uede reducir considerable'ente$
Fl "rotocolo traba(a a trav#s del "uerto 728! 0nica'ente a trav#s de "D7$
U;L) tt")//***$ietf$org/rfc/rfc7892$txt
..!.!.!. /stratos.
N<7 utili,a el siste'a (er&r.uico de estratos de relo($
/strato I) son dis"ositivos! co'o relo(es :79 o radio relo(es! .ue carecen de conectividad acia redes$ Slo
est&n conectados a co'"utadoras .ue son las encargadas de distribuir los datos$
/strato !) Los siste'as se sincroni,an con dis"ositivos del estrato 9$ Los siste'as de este estrato son
referidos co'o servidores de tie'"o$
/strato ) Los siste'as env/an sus "eticiones N@- acia servidores del estrato 7! utili,ando el algorit'o de
:ar,ullo "ara recabar las 'e(ores 'uestra de datos! descartando .ue "are,can "roveer datos errneos %
co'"artiendo datos con siste'as del 'is'o estrato 2$ Los siste'as de este estrato act0an co'o servidores
"ara el estrato 8$
/strato ,) Los siste'as utili,an funciones si'ilares a las del estrato 2! sirviendo co'o servidores "ara el
estrato =$
=B7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
/strato -) Los siste'as utili,an funciones si'ilares a las del estrato 8$
Lista de servidores "0blicos! de estrato 7 % 2! en tt")//Ko"ernix$co'/E.bnt" %
tt")//***$eecis$udel$edu/l'ills/nt"/servers$t'l
..!.. ;cerca de "<C.
"<C 1Coordinated 5niversal Time o @ie'"o Universal Coordinado3 es un est&ndar de alta "recisin de
tie'"o at'ico$ @iene segundos unifor'es definidos "or <;I 1<ie'"o ;t'ico Internacional o 0nternational
Atomic Time3! con segundos intercalares o adicionales .ue se anuncian a intervalos irregulares "ara
co'"ensar la desaceleracin de la rotacin del "laneta @ierra! as/ co'o otras discre"ancias$ Fstos segundos
adicionales "er'iten a "<C estar casi a la "ar del @ie'"o Universal 1"< o 5niversal Time3! el cual es otro
est&ndar "ero basado sobre el &ngulo de rotacin de la @ierra! en lugar de el "aso unifor'e de los segundos$
U;L) tt")//es$*iKi"edia$org/*iKi/U@C
... /Cuipamiento lgico necesario.
...!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
F(ecute lo siguiente "ara instalar o actuali,ar todo necesario)
yum !y install ntp ntpdate
.... /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute lo siguiente "ara instalar o actuali,ar todo necesario)
yast !i ntp
..,. 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir el acceso acia el "uerto !, slo "or UD- 1N<73$
..,.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
..,.!.!. 9+stem-config-fireRall.
Si utili,a el 'uro cortafuegos "redeter'inado del siste'a! "uede e(ecutar el siguiente 'andato)
system!con"ig!"ireall
R abilite el acceso al "uerto 728 "or UD- % a"li.ue los ca'bios$
=B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Ierra'ienta s%ste'6config6fire*all abilitando el "uerto 728 "or UD-$
..,.!.. 9ervicio iptables.
-uede utili,ar directa'ente el 'andato iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 18@ !O 5**'=1
service iptables save
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada el siguiente contenido)
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 18@ !O 5**'=1
-ara a"licar los ca'bios! reinicie el servicio iptables)
service iptables restart
..,.!.,. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Las reglas corres"onder/a a algo si'ilar a lo siguiente! asu'iendo .ue slo se va a "er'itir a la red de &rea
local acceder al servidor N@- "ara "er'itir a #stos sincroni,ar la ora del siste'a)
=B8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 loc " udp 18@
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
Si se va a "er'itir a la red de &rea local acceder acia servidores de tie'"o locali,ados en ?nternet! en lugar
de utili,ar un servidor en la 'is'a red de &rea local! es necesario utili,ar las siguientes reglas)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 loc net udp 18@
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios! reinicie el servicio shoreRall)
service shoreall restart
..,.. /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute el 'andato +ast del siguiente 'odo)
yast "ireall
R abilite xnt" Server o Servidor xnt"! seg0n sea el caso o bien abra el "uerto 728 "or UD- % a"li.ue los
ca'bios$
:dulo de cortafuegos de RaS@! en 'odo gr&fico! abilitando servidor xnt"$
=B=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de cortafuegos de RaS@! en 'odo texto! abilitando xnt" Server$
..-. IniciarG detener + reiniciar el servicio ntpd.
..-.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Fl '#todo est&ndar "ara activar o desactivar el servicio es trav#s del 'andato chOconfig$
-ara acer .ue el servicio de ntpd est# activo con el siguiente inicio del siste'a! en todos los niveles de
e(ecucin 12! 8! = % 23! se e(ecuta lo siguiente)
chkcon"ig ntpd on
Fl '#todo est&ndar "ara controlar el servicio es trav#s del 'andato service$
-ara iniciar el servicio "or "ri'era ve,! slo necesita e(ecutar)
service ntpd start
-ara reiniciar el servicio slo se necesita e(ecutar)
service ntpd restart
-ara detener el servicio! slo necesita e(ecutar)
service ntpd stop
..-.. /n open9"9/F + 9"9/F &inu* /nterprise.
=B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl '#todo est&ndar "ara activar o desactivar el servicio es trav#s del 'andato insserv$
-ara acer .ue el servicio de ntpd est# activo con el siguiente inicio del siste'a! en todos los niveles de
e(ecucin 12! 8! = % 23! se e(ecuta lo siguiente)
insserv ntp
Fl '#todo est&ndar "ara controlar el servicio es trav#s del 'andato rcntp$
-ara iniciar el servicio "or "ri'era ve,! slo necesita e(ecutar)
rcntp start
-ara reiniciar el servicio slo se necesita e(ecutar)
rcntp restart
-ara detener el servicio! slo necesita e(ecutar)
rcntp stop
.... 7rocedimientos.
....!. Derramienta ntpdate
Una for'a 'u% sencilla de sincroni,ar el relo( del siste'a con cual.uier servidor de tie'"o es a trav#s del
'andato ntpdate$ Se trata de una erra'ienta si'ilar a rdate % se utili,a "ara establecer la feca % ora
del siste'a utili,ando N<7$ Fl siguiente e(e'"lo reali,a una consulta directa N<7! utili,ando el 'andato
ntpdate con la o"cin -u! "ara definir se utilice un "uerto sin "rivilegios! acia el servidor 5.pool.ntp.org$
ntpdate !u %#pool#ntp#org
La o"cin -u se utili,a cuando a% un cortafuegos .ue i'"ide la salida desde el "uerto 728/UD- o bien si el
servicio ntp est& funcionando % utili,ando el "uerto 728/UD-$
Fl 'anual co'"leto del 'andato ntpdate "uede consultarse e(ecutando lo siguiente)
man 6 ntpdate
..... ;rchivo de configuracin 8etc8ntp.conf.
Fl 'anual co'"leto "ara el for'ato del arcivo 8etc8ntp.conf "uede consultarse e(ecutando lo siguiente)
man : ntp#con"
.....!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
=B4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Los siste'as o"erativos co'o CentGS! >edoraH % ;ed IatH Fnter"rise Linux! se inclu%e un arcivo de
configuracin 8etc8ntp.conf! con una configuracin "ara uso general .ue "er'ite traba(ar co'o cliente
N<7$ Se reco'ienda res"aldar #ste "ara futuras consultas % utili,ar un nuevo arcivo en su lugar)
mv /etc/ntp#con" /etc/ntp#con"#original
Genere el nuevo arcivo 8etc8ntp.conf .ue "er'itir& funcionar co'o servidor N<7 en la red de &rea local)
vim /etc/ntp#con"
+ada el siguiente contenido % 'odifi.ue lo .ue considere "ertinente! co'o ser/an los valores resaltados)
=B5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Se establece la polMtica predeterminada para cualJuier
A servidor de tiempo utiliCado7 se permite la sincroniCaciTn
A de tiempo con las "uentesB pero sin permitir a la "uente
A consultar (noJuery)B ni modi"icar el servicio en el
A sistema (nomodi"y) y declinando proveer mensaOes de
A registro (notrap)#
restrict de"ault nomodi"y notrap noJuery
restrict !6 de"ault nomodi"y notrap noJuery
A =ermitir todo el acceso a la inter"aC de retorno del
A sistema#
restrict 18$#%#%#1
restrict !6 771
A Se le permite a las redes local sincroniCar con el servidor
A pero sin permitirles modi"icar la con"iguraciTn del
A sistema y sin usar a hstos como iguales para sincroniCar#
A *ambiar por las Jue correspondan a sus propias redes locales#
restrict 3=/.358.3.6 mask /!!./!!./!!.6 nomodi"y notrap
restrict 3=/.358.76.6 mask /!!./!!./!!.3/8 nomodi"y notrap
restrict 37/.35.3.6 mask /!!./!!./!!./46 nomodi"y notrap
restrict 36.6.3.6 mask /!!./!!./!!./48 nomodi"y notrap
A ReloO local indisciplinado#
A 'ste es un controlador emulado Jue se utiliCa sTlo como
A respaldo cuando ninguna de las "uentes reales estUn
A disponibles#
"udge 18$#18$#1#% stratum 1%
server 18$#18$#1#%
A 5rchivo de variaciones#
dri"t"ile /var/lib/ntp/dri"t
broadcastdelay %#%%6
A 5rchivo de claves si acaso "uesen necesarias para realiCar
A consultas
keys /etc/ntp/keys
A 2ista de servidores de tiempo de estrato 1 o 8#
A Se recomienda tener al menos @ servidores listados#
A .as servidores en7
A http7//kopernix#com/\J+ntp
A http7//#eecis#udel#edu/_mills/ntp/servers#html
server 6.'oo).n$'.org iburst
server 3.'oo).n$'.org iburst
server /.'oo).n$'.org iburst
server .'oo).n$'.org iburst
A =ermisos Jue se asignarUn para cada servidor de tiempo#
A 'n los eOemplosB se impide a las "uente consultar o modi"icar
A el servicio en el sistemaB asM como tambihn enviar mensaOe de
A registro#
restrict 6.'oo).n$'.org mask 8::#8::#8::#8:: nomodi"y notrap noJuery
restrict 3.'oo).n$'.org mask 8::#8::#8::#8:: nomodi"y notrap noJuery
restrict /.'oo).n$'.org mask 8::#8::#8::#8:: nomodi"y notrap noJuery
restrict .'oo).n$'.org mask 8::#8::#8::#8:: nomodi"y notrap noJuery
A Se activa la di"usiTn hacia los clientes
broadcastclient
-ara a"licar los ca'bios! e(ecute lo siguiente)
service ntpd restart
-ara sincroni,ar la ora de in'ediato en este servidor reci#n configurado! e(ecute)
=BA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ntpdate !u %#pool#ntp#org
...... /n open9"9/F + 9"9/F &inu* /nterprise.
Fvite 'odificar directa'ente el arcivo 8etc8ntpd.conf! "ues el '#todo "referido de configuracin es a
trav#s del 'dulo corres"ondiente de Za9<$ Fn su lugar utilice el 'dulo Cliente N@- de RaS@! e(ecutando
lo siguiente)
yast ntp!client
Conserve el relo( local indisci"linado! defina los servidores N@- a utili,ar % a"li.ue los ca'bios$
:dulo de Cliente N@- de RaS@! en 'odo gr&fico! configurando co'o servidor N@-$
=BB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de Cliente N@- de RaS@! en 'odo texto! configurando co'o servidor N@-$
-ara sincroni,ar la ora de in'ediato en este servidor reci#n configurado! e(ecute)
ntpdate !u %#pool#ntp#org
....,. Configuracin de clientes.
+su'iendo .ue los clientes GNU/Linux %a tiene instalados los "a.uetes de N@- % .ue el servidor tiene una
direccin ?- 752$74$7$7! verifi.ue "ri'ero .ue a% conectividad acia el nuevo servidor .ue acaba de
configurar e(ecutando co'o root lo siguiente)
ntpdate !u 1$8#16#1#1
Lo anterior debe devolver una salida si'ilar a la siguiente)
16 Sep 1@7@%71: ntpdateD491@E7 adOust time server 1$8#16#1#1 o""set !%#%%%618 sec
Si lo anterior falla! verifi.ue la configuracin en el servidor % su 'uro cortafuegos$
....,.!. ;signacin autom6tica a travs de servidor DDC7.
La for'a '&s si'"le % "r&ctica de re"licar auto'&tica'ente la asignacin de servidores N@- en la red de
&rea local! es a trav#s de un servidor DIC-$
Fdite el arcivo 8etc8dhcp8dhcpd.conf o 8etc8dhcpd.conf! de acuerdo a la versin de siste'a o"erativo
utili,ado)
vim /etc/dhcp/dhcpd#con"
299
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utilice la o"cin ntp-servers "ara definir una lista se"arada "or co'as de todos los servidores N@- .ue se
.uiera utili,ar en la red de &rea local)
ddns!update!style interim[
ignore client!updates[
authoritative[
de"ault!lease!time 9%%[
max!lease!time $8%%[
option ip!"orarding o""[
option domain!name ,red!local#net,[
o'$%on n$'-ser*ers 37/.35.3.3[
shared!netork redlocal e
subnet 1$8#16#1#% netmask 8::#8::#8::#198 e
option routers 1$8#16#1#1[
option subnet!mask 8::#8::#8::#198[
option broadcast!address 1$8#16#1#6@[
option domain!name!servers 1$8#16#1#1[
option netbios!name!servers 1$8#16#1#1[
range 1$8#16#1#8 1$8#16#1#:6[
f
f
;einicie el servicio dhcpd a fin de .ue surtan efecto los ca'bios$
service dhcpd restart
-ara '&s detalles acerca de la configuracin de servidor DIC-! "or favor consulte el docu'ento titulado
^#onfiguraci/n de servidor &.#@$_
....,.. Configuracin manual en Cent(9G 2edoraF + Red DatF /nterprise &inu*.
Fdite el arcivo 8etc8ntpd.conf)
vim /etc/ntp#con"
+ada o 'odifi.ue el siguiente contenido)
dri"t"ile /var/lib/ntp/dri"t
restrict de"ault kod nomodi"y notrap nopeer noJuery
restrict !6 de"ault kod nomodi"y notrap nopeer noJuery
restrict 18$#%#%#1
restrict !6 771
server 37/.35.3.3 iburst
include"ile /etc/ntp/crypto/p
keys /etc/ntp/keys
R reinicie el servicio ntp a fin de .ue surtan efecto los ca'bios)
service ntpd restart
....,.,. Configuracin manual en open9"9/F + 9"9/F &inu* /nterprise.
Fvite 'odificar arcivo 8etc8ntpd.conf! "ues el '#todo "referido de configuracin es a trav#s de RaS@$
vim /etc/ntp#con"
297
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utilice el 'dulo Cliente N@- de RaS@! e(ecutando lo siguiente)
yast ntp!client
Fli'ine el relo( local indisci"linado! defina el servidor N@- a utili,ar % a"li.ue los ca'bios$
:dulo de Cliente N@- de RaS@! en 'odo gr&fico$
:dulo de Cliente N@- de RaS@! en 'odo texto$
292
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
298
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.,. Configuracin de servidor N29.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
.,.!. Introduccin.
N29 1Net*orK 2ile 9%ste'3! es un "o"ular "rotocolo utili,ado "ara co'"artir siste'as de arcivos de
'anera trans"arente entre anfitriones dentro de una red de &rea local$ Fs utili,ado "ara siste'as de
arcivos distribuido$
>ue desarrollado en 7BA= "or Sun :icros%ste's! teniendo en 'ente la inde"endencia del anfitrin! siste'a
o"erativo! "rotocolo de trans"orte$ >unciona a trav#s de los "rotocolos BDR 1nivel de "resentacin del
'odelo GS? de @C-/?-3 % (NC R7C 1nivel de sesin del 'odelo GS? de @C-/?-3$
Fs 'u% "o"ular entre siste'as basados sobre el est&ndar -GS?O % viene incluido en la 'a%or/a de #stos de
'odo "redeter'inado$ Fs 'u% f&cil de configurar % utili,ar! sin e'bargo cabe sealar .ue a% .uienes
deno'inan cari!osamente a N29 co'o K;o -ile $ecurityK! "ues carece de so"orte "ara validar usuarios "or
contraseas! co'o lo acen otras alternativas co'o Sa'ba$ Su seguridad se basa sobre listas de de control
de acceso co'"uestas "or direcciones ?- o no'bres de anfitrin$ Fs "or #sto .ue es i'"ortante .ue el
ad'inistrador de la red de &rea local co'"renda .ue un servidor N>S "uede ser un serio "roble'a de
seguridad! si #ste es configurado incorrecta'ente$
Fxisten tres versiones de N>S .ue se utili,an o% en d/a)
N29v) Fs la versin '&s antigua % 'e(or so"ortada$
N29v,) @iene '&s caracter/sticas .ue N>Sv2! co'o el 'ane(o de arcivos de ta'ao variable
% 'e(ores infor'es de errores$ Slo es "arcial'ente co'"atible con los clientes "ara N>Sv2$
N29v-) Fs la versin '&s 'oderna! %! entre otras cosas! inclu%e so"orte "ara seguridad a
trav#s de Lerberos! so"orte "ara +CL % utili,a o"eraciones con descri"cin del estado$
Salvo .ue se trate de directorios de acceso "0blico! se reco'ienda utili,ar N29 slo dentro de una red de
&rea local detr&s de un 'uro contrafuegos % .ue slo se "er'ita el acceso a los anfitriones .ue integren la
red de &rea local % evitar co'"artir siste'as de arcivos con infor'acin sensible a trav#s de ?nternet$
.,.. /Cuipamiento lgico necesario.
.,..!. /n Cent(9G 2edora + Red Dat /nterprise &inu*.
Fl "a.uete nfs-utils viene incluido (unto con la instalacin est&ndar de estos siste'as o"erativos % contiene
tanto las erra'ientas de cliente co'o las de servidor$ De ser necesario! co'o "or e(e'"lo en el caso de
una instalacin '/ni'a! e(ecute lo siguiente "ara instalar todo lo necesario)
29=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
yum !y install n"s!utils
Si "refiere una erra'ienta gr&fica "ara configurar el servidor N>S! "uede instalar ta'bi#n el "a.uete
s+stem-config-nfs)
yum !y install system!con"ig!n"s
.,... Instalacin en open9"9/ + 9"9/ &inu* /nterprise.
Fn estos siste'as o"erativos! existen dos "a.uetes a instalar) nfs-client! .ue corres"onde a las
erra'ientas "ara clientes N>S % nfs-Oernel-server! .ue corres"onde a las erra'ientas de servidor N>S$
+'bos "a.uetes est&n incluidos en la instalacin est&ndar de o"enSUSF % SUSF Linux Fnter"rise$ Fn caso
de aber eco una instalacin '/ni'a! e(ecute lo siguiente "ara instalarlos)
yast !i n"s!client n"s!kernel!server
Si "refiere una erra'ienta! .ue funciona tanto desde la ter'inal co'o desde el escritorio! "ara configurar
el siste'a co'o cliente N>S! "uede instalar ta'bi#n el "a.uete +ast-nfs-client$
yast !i yast8!n"s!client
Si "refiere una erra'ienta! .ue funciona tanto desde la ter'inal co'o desde el escritorio! "ara configurar
el siste'a co'o servidor N>S! "uede instalar ta'bi#n el "a.uete +ast-nfs-server$
yast !i yast8!n"s!server
.,.,. Definir los puertos utili3ados por N29.
Fl siguiente "aso "uede ser o'itido en o"enSUSF % SUSF Linux Fnter"rise! gracias a .ue 9u9/2ireRall
detecta auto'&tica'ente los "uertos aleatorios utili,ados "or el servicio nfsserver$
Fn CentGS! >edora % ;ed Iat Fnter"rise Linux es i'"ortante definir los "uertos fi(os .ue utili,ar& N>S! "ues
el cortafuegos es inca"a, de abrir din&'ica'ente los "uertos aleatorios .ue de 'odo "redeter'inado utili,a
#ste$
Fdite el arcivo 8etc8s+sconfig8nfs)
vi /etc/syscon"ig/n"s
Iabilite o bien 'odifi.ue! los siguientes "ar&'etros! estableciendo los valores 'ostrados a continuacin)
Rb?015&/=0R1+6$:
20*H&/1*==0R1+@86%@
20*H&/?&==0R1+@8$69
.0?-1&/=0R1+698
S151&/=0R1+668
@a'bi#n "uede establecer los "uertos desde la ventana ^Configuracin de servidor_ de la erra'ienta
s+stem-config-nfs$
292
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin del Servidor en s+stem-config-nfs$
Si el servidor N>S va a traba(ar sin 'uro cortafuegos en una red de &rea local! este "aso es innecesario$
.,.-. Iniciar servicio + aHadir el servicio al inicio del sistema.
.,.-.!. /n Cent(9G 2edora + Red Dat /nterprise &inu*.
Si se reali, una instalacin est&ndar! los servicios re.ueridos "or nfs! es decir rpcbind % nfslocO! estar&n
activos % funcionando$ Slo en el caso de aber reali,ado una instalacin '/ni'a! es necesario iniciar
"ri'ero estos dos servicios! e(ecutando lo siguiente)
service rpcbind start
service n"slock start
De 'odo "redeter'inado los servicios rpcbind % nfslocO estar&n activos en los niveles de e(ecucin 8! = %
2$
De 'odo "redeter'inado el servicio nfs estar& inactivo$ -ara activar este servicio en los niveles de
e(ecucin 8 % 2! es decir los niveles reco'endados! e(ecute lo siguiente)
chkcon"ig !!level @: n"s on
Fl '#todo est&ndar "ara detener! iniciar o reiniciar el servicio nfs! es trav#s del 'andato service! el
no'bre del servicio 1nfs3 % reload! restart! start o sto" co'o argu'entos$
-ara iniciar el servicio "or "ri'era ve,! slo necesita e(ecutar)
service n"s start
-ara volver a leer la configuracin del servicio % a"licar los ca'bios! sin interru'"ir las conexiones
existentes! slo se necesita e(ecutar)
service n"s reload
-ara reiniciar el servicio slo se necesita e(ecutar)
service n"s restart
294
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara detener el servicio! slo necesita e(ecutar)
service n"s stop
-ara verificar el estado del servicio! slo necesita e(ecutar)
service n"s status
.,.-.. /n open9"9/ + 9"9/ &inu* /nterprise.
Fl '#todo est&ndar "ara agregar el servicio al inicio del siste'a es a trav#s del 'andato insserv$ -ara
activar el servicio en los niveles de e(ecucin 8 % 2! e(ecute lo siguiente)
insserv n"sserver
Fl '#todo est&ndar "ara detener! iniciar o reiniciar el servicio! es trav#s del 'andato rcnfsserver$
-ara iniciar el servicio "or "ri'era ve,! slo necesita e(ecutar)
rcn"sserver start
-ara volver a leer la configuracin del servicio % a"licar los ca'bios! sin interru'"ir las conexiones
existentes! slo se necesita e(ecutar)
rcn"sserver reload
-ara reiniciar el servicio slo se necesita e(ecutar)
rcn"sserver restart
-ara detener el servicio! slo necesita e(ecutar)
rcn"sserver stop
-ara verificar el estado del servicio! slo necesita e(ecutar)
rcn"sserver status
.,... 5odificaciones necesarias en los archivos 8etc8hosts.alloR +
8etc8hosts.den+.
Conviene establecer un "oco de seguridad extra a trav#s de tcpURrapper 1tcpd3! sobre todo si el servidor
N>S slo va a o"erar en una red de &rea local sin 'uro cortafuegos$
Fdite el arcivo 8etc8hosts.den+)
vi /etc/hosts#deny
295
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ada el siguiente contenido)
portmap7 522
lockd7 522
mountd7 522
rJuotad7 522
statd7 522
Fdite el arcivo 8etc8hosts.alloR)
vi /etc/hosts#allo
+su'iendo .ue se va a "er'itir el acceso a las redes ![.!04.1I.I8.! !1.!0.!.I84 % !I.I.!.I8[!
aada el siguiente contenido)
portmap7 198#166#$%#%/8:B 1$8#16#1#%/86B 1%#%#1#%/89
lockd7 198#166#$%#%/8:B 1$8#16#1#%/86B 1%#%#1#%/89
mountd7 198#166#$%#%/8:B 1$8#16#1#%/86B 1%#%#1#%/89
rJuotad7 198#166#$%#%/8:B 1$8#16#1#%/86B 1%#%#1#%/89
statd7 198#166#$%#%/8:B 1$8#16#1#%/86B 1%#%#1#%/89
Los ca'bios a"lican de 'anera in'ediata! sin reiniciar servicio alguno$
.,.0. 5odificaciones necesarias en el muro cortafuegos.
verifi.ue e(ecutando el 'andato rpcinfo con la o"cin -p los "uertos % "rotocolos utili,ados "or los
servicios portmapper! nfs! locOd! mountd! rCuotad % statd$
rpcin"o !p
La salida debe ser si'ilar a la siguiente$
29A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
program vers proto port service
1%%%%% 4 tcp 111 portmapper
1%%%%% @ tcp 111 portmapper
1%%%%% 8 tcp 111 portmapper
1%%%%% 4 udp 111 portmapper
1%%%%% @ udp 111 portmapper
1%%%%% 8 udp 111 portmapper
1%%%11 1 udp 6$: rJuotad
1%%%11 8 udp 6$: rJuotad
1%%%11 1 tcp 6$: rJuotad
1%%%11 8 tcp 6$: rJuotad
1%%%%@ 8 tcp 8%49 n"s
1%%%%@ @ tcp 8%49 n"s
1%%%%@ 4 tcp 8%49 n"s
1%%88$ 8 tcp 8%49 n"s/acl
1%%88$ @ tcp 8%49 n"s/acl
1%%%%@ 8 udp 8%49 n"s
1%%%%@ @ udp 8%49 n"s
1%%%%@ 4 udp 8%49 n"s
1%%88$ 8 udp 8%49 n"s/acl
1%%88$ @ udp 8%49 n"s/acl
1%%%81 1 udp @8$69 nlockmgr
1%%%81 @ udp @8$69 nlockmgr
1%%%81 4 udp @8$69 nlockmgr
1%%%81 1 tcp @86%@ nlockmgr
1%%%81 @ tcp @86%@ nlockmgr
1%%%81 4 tcp @86%@ nlockmgr
1%%%%: 1 udp 698 mountd
1%%%%: 1 tcp 698 mountd
1%%%%: 8 udp 698 mountd
1%%%%: 8 tcp 698 mountd
1%%%%: @ udp 698 mountd
1%%%%: @ tcp 698 mountd
-ara servidores de N>Sv=! en realidad slo es necesario abrir en el 'uro cortafuegos el "uerto I-[8<C7
1nfs3! "ues es esta versin de( de de"ender del servicio de 'a"a de "uertos 1"ort'a"3$ Sin e'bargo! "ara
"oder traba(ar con co'"atibilidad "ara N>Sv2 % N>Sv8! es necesario abrir los "uertos !!!8"D7! !!!8<C7!
008<C7! 008"D7! 41.8<C7! 41.8"D7! 4[8<C7! 4[8"D7! I[8<C7! I-[8"D7! ,4I,8<C7 %
,10[8"D7$ Los "uertos .ue se abran "ara los servicios locOd! mountd! rCuotad % statd deben
corres"onder con los 'is'o "uertos definidos el arcivo 8etc8s+sconfig8nfs$
.,.0.!. /n Cent(9G 2edora + Red Dat /nterprise &inu*.
.,.0.!.!. Derramienta s+stem-config-fireRall.
Si utili,a el 'uro cortafuegos "redeter'inado del siste'a! "uede e(ecutar el siguiente 'andato)
system!con"ig!"ireall
Iabilite los "uertos !!!8"D7! !!!8<C7! 008<C7! 008"D7! 41.8<C7! 41.8"D7! 4[8<C7! 4[8"D7!
I[8<C7! I-[8"D7! ,4I,8<C7 % ,10[8"D7 % a"li.ue los ca'bios$
29B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S%ste'6config6fire*all abilitando "uertos "ara N>S$
.,.0.!.. 9ervicio iptables.
Si lo "refiere! ta'bi#n "uede utili,ar directa'ente el 'andato iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8%49 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 8%49 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 111 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 111 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 668 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 668 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6$: !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6$: !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 698 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 698 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @86%@ !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport @8$69 !O 5**'=1
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8%49 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 8%49 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 111 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 111 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 668 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 668 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6$: !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 6$: !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 698 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 698 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @86%@ !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport @8$69 !O 5**'=1
R reinicie el servicio iptables)
279
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service iptables restart
.,.0.!.,. 9horeRall.
Las reglas "ara el arcivo 8etc8shoreRall8rules de 9horeRall corres"onder/an a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 111B668B6$:B698B8%49B@86%@
5**'=1 all " udp 111B668B6$:B698B8%49B@8$69
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios en Sore*all! e(ecute lo siguiente)
service shoreall restart
.,.0.. /n open9"9/ + 9"9/ &inu* /nterprise.
F(ecute el 'andato +ast del siguiente 'odo)
yast "ireall
R abilite !FS Ser&er Ser&ice o Ser&icio de Ser&idor !FS % a"li.ue los ca'bios$ Ysto abilitar& todos
los "uertos necesarios$
:dulo de cortafuegos de RaS@! en 'odo gr&fico! abilitando el Ser&icio de Ser&idor !FS$
277
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de cortafuegos de RaS@! en 'odo texto! abilitando !FS Ser&er Ser&ice$
.,.1. 7rocedimientos.
.,.1.!. /l archivo 8etc8e*ports.
Fs el arcivo utili,ado "ara configurar los directorios .ue se co'"artir&n a trav#s de N>S$ Fl for'ato
utili,ado es el siguiente)
/directorio/a/compatir an"itriones(opciones)
Se "uede co'"artir cual.uier directorio del siste'a % sus res"ectivos subdirectorios! exce"to "or a.uellos
subdirectorios .ue est#n en otros siste'as de arcivos$
Los anfitriones se "ueden definir "or do'inios! no'bres de anfitrin! direcciones ?- o seg'entos de blo.ues
de direcciones ?-$
Las o"ciones utili,adas "ueden ser las siguientes)
ro % rR) Slo lectura o lectura % escritura! res"ectiva'ente$ Jalor "redeter'inado es rR$
linOUrelative % linOUabsolute) convertir los enlaces si'blicos absolutos en enlaces
si'blicos relativos o bien de(ar los enlaces si'blicos co'o est&n! res"ectiva'ente$ Jalor
"redeter'inado es linKMabsolute$
noUrootUsCuash % rootUsCuash) res"eta el uid/gid 9 1root3 o bien traslada uid/gid 9 acia
uid/gid del usuario anni'o de N>S$ Jalor "redeter'inado es rootMs.uas$
sCuashUuids % sCuashUgids) es"ecifica una lista de uids o gids .ue se trasladar&n al usuario
anni'o utili,ado "or N>S$ F(e'"lo) s.uasMuidsb9672!29!22629$
272
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
allUsCuash) traslada todos los uid % gid acia el uid % gid del usuario anni'o utili,ado "or
N>S$ Co'0n'ente utili,ado "ara co'"artir directorios de acceso "0blico! co'o el directorio
8var8ftp8pub$
anonuid % anongid) establecen en for'a ex"l/cita el uid % gid del usuario anni'o utili,ado
"or N>S$ F(e'"lo) anonuidb729!anongidb799$
Fl 'anual .ue detalla el for'ato % o"ciones del arcivo 8etc8e*ports "uede consultarse e(ecutando lo
siguiente)
man : exports
-ara ver la lista de clientes conectados al servidor N>S! se e(ecuta el 'andato shoRmount)
shomount
-ara ver la lista de clientes conectados al servidor N>S % los directorios utili,ados "or cada uno! se e(ecuta el
'andato shoRmount con la o"cin -a)
shomount !a
Fl 'anual .ue detalla las o"ciones del 'andato shoRmount "uede consultarse e(ecutando lo siguiente)
man 6 shomount
.,.1.!.!. /%emplos de configuracin del archivo 8etc8e*ports.
Fn el siguiente e(e'"lo! se co'"arte el directorio local 8home en 'odo lectura + escritura 1rR3 a todos
los anfitriones de !1.!0.!.I84! res"etando el uid % gid de root 1noUrootUsCuash3)
/home 1$8#16#1#%/86(rBno/root/sJuash)
Fn el siguiente e(e'"lo! se co'"arte el directorio local 8var8RRR en 'odo lectura + escritura 1rR3 a
!1.!0.!.! res"etando el uid % gid de root 1noUrootUsCuash3 % a !1.!0.!., en 'odo de slo lectura!
trasladando todos los uid % gid al usuario anni'o utili,ado "or N>S 1rootUsCuash es el valor "or o'isin3)
/var/ 1$8#16#1#8(rBno/root/sJuash) 1$8#16#1#@(roBall/sJuash)
.,.1.!.. Derramienta s+stem-config-nfs en Cent(9G 2edora + Red Dat /nterprise &inu*.
La configuracin de los directorios a ex"ortar! con sus "osibles o"ciones! en el arcivo 8etc8e*ports! as/
co'o la configuracin de los "uertos de N>S en el arcivo 8etc8s+sconfig8nfs! "ueden acer desde la
erra'ienta gr&fica s+stem-config-nfs$
278
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Ierra'ienta gr&fica s+stem-config-nfs$
.,.1.!.,. Za9< nfs-server en open9"9/ + 9"9/ &inu* /nterprise.
La configuracin de los directorios a ex"ortar! con sus "osibles o"ciones! en el arcivo 8etc8e*ports! as/
co'o la configuracin de o"ciones del servidor N>S! "ueden acer utili,ando el 'dulo nfs-server de RaS@$
F(ecute lo siguiente)
yast n"s!server
:dulo nfs-server de RaS@$
.,.1.. Jerificacin del servicio.
27=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl 'andato rpcinfo se utili,a "ara verificar el estado de servidores N>S % otros servidores .ue funcionan
sobre ;-C$
-ara verificar el estado de los servicios en el anfitrin local! e(ecute)
rpcin"o
-ara ver las estad/sticas de uso en el anfitrin local! e(ecute el 'andato rpcinfo con la o"cin -m)
rpcin"o !m
-ara 'ostrar una lista de todos los "rogra'as ;-C en el anfitrin local! e(ecute el 'andato rpcinfo con la
o"cin -p)
rpcin"o !p
-ara 'ostrar una lista '&s concisa de todos los "rogra'as ;-C en el anfitrin local! e(ecute el 'andato
rpcinfo con la o"cin -s)
rpcin"o !s
-ara 'ostrar los trans"ortes so"ortados "or el anfitrin local! e(ecute el 'andato rpcinfo con la o"cin -<!
udp! el no'bre o direccin ?- del anfitrin local % nfs co'o argu'entos$ F(e'"lo)
rpcin"o !1 udp localhost n"s
-ara verificar el estado de los servicios en un anfitrin re'oto! e(ecute el 'andato rpcinfo con el no'bre o
direccin ?- de un servidor N>S re'oto co'o argu'ento$ F(e'"lo)
rpcin"o 198#166#1#64
-ara ver las estad/sticas de uso en un anfitrin re'oto! e(ecute el 'andato rpcinfo con la o"cin -m % el
no'bre o direccin ?- de un servidor N>S re'oto co'o argu'ento$ F(e'"lo)
rpcin"o !m 198#166#1#64
-ara 'ostrar una lista de todos los "rogra'as ;-C en un anfitrin re'oto! e(ecute el 'andato rpcinfo con
la o"cin -p % el no'bre o direccin ?- de un servidor N>S re'oto co'o argu'ento$ F(e'"lo)
rpcin"o !p 198#166#1#64
-ara 'ostrar una lista '&s concisa de todos los "rogra'as ;-C en un anfitrin re'oto! e(ecute el 'andato
rpcinfo con la o"cin -s % el no'bre o direccin ?- de un servidor N>S re'oto co'o argu'ento$ F(e'"lo)
rpcin"o !s 198#166#1#64
-ara 'ostrar los trans"ortes so"ortados "or un anfitrin re'oto! e(ecute el 'andato rpcinfo con la o"cin
-<! udp! el no'bre o direccin ?- de un servidor N>S re'oto % nfs co'o argu'entos$ F(e'"lo)
272
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
rpcin"o !1 udp 198#166#1#64 n"s
.,.1.,. 5onta%e de sistemas de archivos N29.
-ara 'ontar siste'as de arcivos ti"o N>S se utili,a el 'andato mount con la siguiente sintaxis)
mount D!o opcionesE servidor7/directorio /punto/montaOe
-ara acer "er'anentes los "untos de 'onta(e! se aaden entradas en el arcivo 8etc8fstab! utili,ando el
siguiente for'ato)
servidor7/directorio /punto/montaOe n"s4 opciones % %
Las "osibles o"ciones "ara a'bos arcivos! son las siguientes)
rsi3e) Define el ta'ao del b0fer "ara lectura$ Fl valor "redeter'inado es 792= b%tes$ Si se
incre'enta a A7B2 b%tes! 'e(ora considerable'ente el rendi'iento del servidor N>S al acer
la lectura de datos desde el cliente$ F(e'"lo) 'ount 6o rsi,ebA7B2 servidor)/directorio
/'nt/servidor
Rsi3e) Define el ta'ao del b0fer "ara escrituras$ Fl valor "redeter'inado es 792= b%tes$ Si
se incre'enta a A7B2 b%tes! 'e(ora considerable'ente el rendi'iento del servidor N>S al
acer la escritura de datos desde el cliente$ F(e'"lo) 'ount 6o *si,ebA7B2 servidor)/directorio
/'nt/servidor
hard % soft) Fl "ri'ero ace .ue las a"licaciones .ue est#n utili,ando el siste'a de arcivos
re'oto entren en "ausa cuando falle o se interru'"a la conectividad con el servidor N>S!
"udiendo utili,arse en co'binacin con la o"cin intr "ara "oder interru'"ir las a"licaciones
"ausadas$ Fl segundo "er'ite! des"u#s de un tie'"o .ue se define con la o"cin ti'eo!
descartar las conexiones fallidas o interru'"idas acia un servidor N>S$
intr) -er'ite interru'"ir las a"licaciones %/o los "rocesos .ue a%an sido "ausados tras la
falla o interru"cin de conectividad con un servidor N>S$
timeo) Se utili,a "ara establecer el l/'ite de tie'"o en d#ci'as de segundo usado antes de la
"ri'era retrans'isin des"u#s de .ue a fallado o se a interru'"ido una conexin a un
servidor N>S$ Fl valor "or o'isin es 5 d#ci'as de segundo! tras lo cual se du"lica "or cada
ex"iracin ;-C! asta un '&xi'o de 49 segundos$ Se reco'ienda au'entar el valor en redes
con 'uca congestin$
auto % noauto) Fl "ri'ero define si el siste'a de arcivos re'oto se 'ontar&
auto'&tica'ente (unto con el inicio del siste'a$ Fl segundo i'"ide .ue se 'onte
auto'&tica'ente el siste'a de arcivos re'oto$ Fl valor "redeter'inado es auto$
user) "er'ite a los usuarios regulares "oder 'ontar un siste'a de arcivos N>S$
+uto'&tica'ente aade las o"ciones noe*ec! nosuid % nodev 1"roibido e(ecutar arcivos
de este siste'a de arcivos! "roibido utili,ar SU?D! "roibido el uso de dis"ositivos de blo.ue!
res"ectiva'ente3$
Fl 'anual .ue detalla las o"ciones de 'ontado "ara N>S "ara el arcivo 8etc8fstab % .ue ta'bi#n son
utili,adas "or el 'andato mount! "ueden consultarse e(ecutando lo siguiente)
274
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
man : n"s
.,.1.-. 5odulo nfs de Za9< en open9"9/ + 9"9/ &inu* /nterprise.
-ara configurar los siste'as de arcivos re'otos "ara ser 'ontados en el siste'a de arcivos local! el
'#todo "referido es utili,ar el 'dulo nfs de RaS@$ F(ecute lo siguiente)
yast n"s
Defina los servidores! directorios re'otos! "untos de 'onta(e % o"ciones a utili,ar % a"li.ue los ca'bios$
:dulo de nfs de RaS@! en 'odo texto$
.,.4. /%ercicios.
.,.4.!. Compartir un volumen N29 para acceso p)blico.
Si acaso fuese inexistente! genere el directorio local 8var8ftp8pub)
test !d /var/"tp/pub RR mkdir !p /var/"tp/pub
Co"ie cual.uier contenido de acceso "0blico dentro de este directorio$
-ara co'"artir el directorio local 8var8ftp8pub en 'odo de slo lectura 1ro3! edite el arcivo
8etc8e*ports)
vi /etc/exports
275
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+su'iendo .ue se trata del directorio "0blico de el servidor >@- del siste'a! .ue #ste se co'"artir& en
'odo de slo lectura 1o"cin ro3 convirtiendo todos los U?D % G?D de los clientes al usuario anni'o de
N>S 1o"cin allUsCuash3! a toda la red de &rea local % .ue #sta corres"onde a ![.!04.1I.I8.! aada el
siguiente contenido)
/var/"tp/pub 198#166#$%#%/8:(roBall/sJuash)
Si utili,a CentGS! >edora o ;ed Iat Fnter"rise Linux! e(ecute lo siguiente "ara a"licar los ca'bios)
service n"s restart
Si utili,a o"enSUSF o SUSF Linux Fnter"rise Server! e(ecute lo siguiente "ara a"licar los ca'bios)
rcn"sserver restart
.,.4.!.!. ;cceso desde los clientes N29.
Co'o root! desde el anfitrin cliente! e(ecute el 'andato shoRmount con la o"cin -e "ara consultar los
vol0'enes ex"ortados "or el servidor N>S)
shomount !e 198#166#$%#8
La salida debe ser si'ilar a la siguiente)
'xport list "or 198#166#$%#87
/var/"tp/pub 198#166#$%#%/8:
Si acaso fuese inexistente! genere el directorio local 8var8ftp8pub)
test !d /var/"tp/pub RR mkdir !p /var/"tp/pub
:onte el directorio re'oto ![.!04.1I.#8var8ftp8pub en el directorio local 8var8ftp8pub#
mount !o hardBintrBro 198#166#$%#87/var/"tp/pub /var/"tp/pub
Jerifi.ue con el 'andato df .ue se a 'ontado con #xito el directorio re'oto$
d" !h
-ara configurar "er'anente'ente el directorio re'oto! edite el arcivo 8etc8fstab)
vi /etc/"stab
+ada el siguiente contenido)
198#166#$%#87/var/"tp/pub /var/"tp/pub n"s4 hardBintrBro % %
;einicie el siste'a % verifi.ue .ue el directorio re'oto 'ont exitosa'ente$
27A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.,.[. $ibliografa.
es$*iKi"edia$org/*iKi/Net*orKM>ileMS%ste'
27B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.-. Configuracin b6sica de 9amba.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
.-.!. Introduccin.
.-.!.!. ;cerca del protocolo 95$.
95$ 1acrni'o de Server "essage 6loc'3 es un "rotocolo! del Nivel de 7resentacin del 'odelo GS? de
@C-/?-! creado en 7BA2 "or ?B:$ +lgunas veces es referido ta'bi#n co'o CI29 1+crni'o de Common
%nternet File System! tt")//sa'ba$org/cifs/3 tras ser reno'brado "or :icrosoft en 7BBA$ Fntre otras cosas!
:icrosoft aadi al "rotocolo so"orte "ara enlaces si'blicos % duros as/ co'o ta'bi#n so"orte "ara
arcivos de gran ta'ao$ @or mera coincidencia! #sto ocurri "or la 'is'a #"oca en .ue Sun :icros%ste's
i,o el lan,a'iento de QebN>S 1una versin extendida de N29!
tt")//***$sun$co'/soft*are/*ebnfs/overvie*$x'l3$
95$ fue original'ente diseado "ara traba(ar a trav#s del "rotocolo NetB?GS! el cual a su ve, traba(a sobre
Net$/"I 1acrni'o de !etB01$ ,6tended 5ser %nterface! .ue se traduce co'o ?nterfa, de Usuario
Fxtendida de NetB?GS3! I7B897B 1acrni'o de %nternet 0ac'et ,-cange*Sequenced 0ac'et ,-cange! .ue
se traduce co'o Intercambio de paCuetes inter-red8Intercambio de paCuetes secuenciales3 o N$<!
aun.ue ta'bi#n "uede traba(ar directa'ente sobre <C78I7$
.-.!.. ;cerca de 9amba.
S+:B+ es un con(unto de "rogra'as original'ente creados "or +ndre* @ridgell % actual'ente 'antenidos
"or Te $AGBA Team! ba(o la Licencia -ublica General GNU % .ue i'"le'entan en siste'as basados sobre
UN?OH el "rotocolo 95$$ Sirve co'o ree'"la,o total "ara Qindo*sH N@! Qar"H! N>SH o servidores
Net*areH$
.-.. /Cuipamiento lgico necesario.
Necesitar& tener instalados los siguientes "a.uetes)
sa'ba) Servidor S:B$
sa'ba6client) Diversos clientes "ara el "rotocolo S:B$
sa'ba6co''on) +rcivos necesarios "ara cliente % servidor$
Instalacin a travs de +um.
Si utili,a Cent(9! 2edoraF o Red DatF /nterprise &inu*! slo e(ecute)
yum !y install samba samba!client samba!common
229
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn el caso de Cent(9 0 % Red DatF /nterprise &inu* 0! se instalar& 9amba ,.0.[$
Fn el caso de Cent(9 . % Red DatF /nterprise &inu* .! se instalar& 9amba ,.I.,,! sin e'bargo a%
o"cin a utili,ar en su lugar 9amba ,...- instalando los "a.uetes samba,*! samba,*-client %
samba,*-common$
yum remove samba samba!client samba!common
yum !y install samba@x samba!client@x samba!common@x
.-.,. 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir los "uertos 782 al 78B "or @C- % UD- % el "uerto ==2 "or @C-$
.-.,.!. 9ervicio iptables.
-uede utili,ar directa'ente el 'andato iptables e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 1@:71@9 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 1@:71@9 !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 44: !O 5**'=1
service iptables save
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada el siguiente contenido)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 1@:71@9 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m udp !p udp !!dport 1@:71@9 !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 44: !O 5**'=1
-ara a"licar los ca'bios! reinicie el servicio iptables)
service iptables restart
.-.,.. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
-ara "er'itir el acceso desde cual.uier ,ona del 'uro cortafuegos o si slo se tiene una ,ona en el 'uro
cortafuegos! las reglas corres"onder/an a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 1@:71@9B44:
5**'=1 all " udp 1@:71@9
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
227
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S/ se tienen varias ,onas en el 'uro cortafuegos % slo se desea "er'itir el acceso desde la ,ona
corres"ondiente a red local! e(ecute$
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 loc " tcp 1@:71@9B44:
5**'=1 loc " udp 1@:71@9
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
+l ter'inar de configurar las reglas "ara 9horeRall! reinicie el 'uro cortafuegos! e(ecutando el siguiente
'andato)
service shoreall restart
.-.-. 9/&inu* + el servicio smb.
+ fin de .ue SFLinux "er'ita al servicio smb la escritura co'o usuario anni'o! e(ecute)
setsebool != allo/smbd/anon/rite 1
+ fin de .ue SFLinux "er'ita al servicio smb funcionar co'o Controlador -ri'ario de Do'inio 17DC!
7ri'ar% Do'ain Controler3! e(ecute)
setsebool != samba/domain/controller 1
+ fin de .ue SFLinux "er'ita al servicio smb co'"artir los directorios de inicio de los usuarios locales del
siste'a! e(ecute)
setsebool != samba/enable/home/dirs 1
+ fin de .ue SFLinux desactive la "roteccin "ara los directorios de inicio de los usuarios a trav#s del
servicio smb! e(ecute)
setsebool != use/samba/home/dirs 1
+ fin de .ue SFLinux "er'ita al servicio smb crear nuevos directorios de inicio "ara los usuarios a trav#s de
-+: 1o"eracin co'0n en Controladores -ri'arios de Do'inio3! e(ecute)
setsebool != samba/create/home/dirs 1
+ fin de .ue SFLinux "er'ita al servicio smb funcionar co'o un organi,ador de 'a"a de "uertos
1portmappper3! e(ecute)
setsebool != samba/portmapper 1
+ fin de .ue SFLinux "er'ita al servicio smb e(ecutar guiones dentro del directorio 8var8lib8samba8scripts
en sin confina'iento! e(ecute)
setsebool != samba/run/uncon"ined 1
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ fin de .ue SFLinux "er'ita al servicio smb co'"artir todos los recursos en 'odo de slo lectura! e(ecute)
setsebool != samba/export/all/ro 1
+ fin de .ue SFLinux "er'ita al servicio smb co'"artir todos los recursos en 'odo de lectura % escritura!
e(ecute)
setsebool != samba/export/all/r 1
-ara definir .ue un directorio ser& co'"artido a trav#s del servicio smb! co'o "or e(e'"lo
8var8samba8publico % .ue se debe considerar co'o contenido ti"o Sa'ba! e(ecute)
chcon !t samba/share/t /var/samba/publico
Cada nuevo directorio .ue va%a a ser co'"artido a trav#s de Sa'ba! debe ser configurado co'o acaba de
describirse antes de ser configurado en el arcivo 8etc8samba8smb.conf$
.-... Iniciar el servicio + aHadirlo al arranCue del sistema.
-ara iniciar los servicios nmb % smb "or "ri'era ve,! e(ecute)
service nmb start
service smb start
Si reali,a alg0n ca'bio en la configuracin de la o"cin netbios name! es necesario reiniciar el servicio
nmb! el cual es el encargado de "roveer el servidor de no'bres "ara los clientes a trav#s de NetB?GS sobre
?-$
service nmb restart
Si va a a"licar alg0n ca'bio en cual.uier otra o"cin de la configuracin! co'o son los recursos
co'"artidos! slo es necesario reiniciar el servicio smb)
service smb restart
-ara .ue los servicios nmb % smb inicien auto'&tica'ente (unto con el siste'a! slo utilice los dos
siguientes 'andato)
chkcon"ig nmb on
chkcon"ig smb on
.-.0. 7rocedimientos.
.-.0.!. ;lta de cuentas de usuario.
+signe una contrasea al usuario root$ Ysta "uede ser distinta a la utili,ada en el siste'a$
smbpassd !a root
228
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fs i'"ortante sincroni,ar las cuentas entre el servidor 9amba % las estaciones Qindo*sH$ Fs decir! si en
una '&.uina con Qindo*sH ingresa'os co'o el usuario fulano con contrasea 4LMq(e! en el servidor
9amba deber& existir ta'bi#n dica cuenta con ese 'is'o no'bre % la 'is'a contrasea$ Co'o la
'a%or/a de las cuentas de usuario .ue se utili,ar&n "ara acceder acia 9amba no re.uieren acceso al
int#r"rete de 'andatos del siste'a! no es necesario asignar contrasea con el 'andato passRd % se
deber& definir 8sbin8nologin o bien 8bin8false co'o int#r"rete de 'andatos "ara la cuenta de usuario
involucrada$
useradd !s /sbin/nologin >s>#r%o
smbpassd !a >s>#r%o
Fs o"cional asignar contrasea con el 'andato passRd$ Cual.uier cuenta de usuario a la cual se a%a
o'itido asignar contrasea a trav#s del 'andato passRd! estar& co'o cuenta inactiva "ara el resto de
los servicios$
Si se necesita .ue las cuentas se "uedan utili,ar "ara acceder acia otros servicios co'o ser/an @elnet! SSI!
etc! es decir! .ue se "er'ita acceso al int#r"rete de 'andatos! ser& necesario es"ecificar 8bin8bash co'o
int#r"rete de 'andatos % ade'&s se deber& asignar una contrasea en el siste'a con el 'andato passRd)
useradd !s /bin/bash >s>#r%o
passd >s>#r%o
smbpassd !a >s>#r%o
.-.0.. /l archivo lmhosts
Fs necesario e'"e,ar resolviendo de 'anera local los no'bres Net$I(9! asoci&ndolos con las direcciones
?- corres"ondientes! en el arcivo 8etc8samba8lmhosts 1l'osts es acrni'o de &+N 5anager hosts3$
Fdite el arcivo 8etc8samba8lmhosts con cual.uier editor de texto si'"le$
vim /etc/samba/lmhosts
Fl no'bre ;etB01$ debe tener un m6*imo de doce caracteres alfanumricos$ Nor'al'ente se utili,a el
no'bre corto del servidor! bien o el no'bre corto .ue se asigno co'o alias a la interfa, de red$ Si se edita el
arcivo 8etc8samba8lmhosts! se encontrar& un contenido si'ilar al siguiente)
18$#%#%#1 localhost
Se "ueden aadir los no'bres % direcciones ?- de cada uno de los anfitriones de la red local$ Co'o '/ni'o
debe definirse el no'bre del anfitrin del servidor 9amba! (unto con su corres"ondiente direccin ?-)
18$#%#%#1 localhost
3=/.358.76.3 ser*%-or
De 'anera o"cional! ta'bi#n "uede aadir el resto de los anfitriones de la red local$ La se"aracin de
ca'"os se ace con un tabulador$ F(e'"lo)
18$#%#%#1 localhost
198#166#$%#1 servidor
198#166#$%#8 Ooel
198#166#$%#@ blanca
198#166#$%#4 aleOandro
198#166#$%#: sergio
198#166#$%#6 isaac
198#166#$%#$ "inanCas
198#166#$%#6 direccion
22=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.-.0.,. (pciones principales del archivo smb.conf.
Fdite el arcivo 8etc8samba8smb.conf con cual.uier editor de texto si'"le$
vim /etc/samba/smb#con"
Dentro de este arcivo! encontrar& infor'acin .ue ser& de utilidad % .ue est& co'entada con al'oadillas
1s/'bolo j3 % varios e(e'"los co'entados con "unto % co'a 1s/'bolo e3! siendo estos 0lti'os los .ue se
"ueden to'ar co'o referencia "ara configurar$
.-.0.,.!. (pcin RorOgroup.
Se utili,a "ara establecer el gru"o de traba(o)
orkgroup + .)IR?=0
.-.0.,.. (pcin netbios name.
-er'ite establecer arbitraria'ente un no'bre de anfitrin distinto al detectado auto'&tica'ente$ Fste
no'bre de anfitrin deber& corres"onder con el establecido en el arcivo 8etc8samba8lmhosts)
netbios name + servidor
.-.0.,.,. (pcin server string.
Fs de car&cter infor'ativo "ara los usuarios de la red de &rea local$ -er'ite definir una descri"cin breve
acerca del servidor$
server string + Servidor Samba Yv en Y2
.-.0.,.-. (pcin hosts alloR.
-er'ite establecer seguridad adicional estableciendo la lista de control de acceso de anfitriones$ Fn #sta se
"ueden definir direcciones ?- individuales o redes .ue tendr&n "er'iso de acceso acia el servidor$ Si! "or
'encionar un e(e'"lo! la red consiste en las anfitriones con direccin ?- .ue van desde 7B2$74A$59$7 asta
7B2$74A$59$22=! el rango de direcciones ?- .ue se definir& en hosts alloR ser& ^![.!04.1I._! de 'odo tal
.ue slo se "er'itir& el acceso dicas '&.uinas$ Fn el siguiente e(e'"lo se definen las redes
7B2$74A$59$9/2= % 7B2$74A$85$9/2=! es"ecificando los tres "ri'eros octetos de la direccin ?- de red! as/
co'o cual.uier direccin ?- de la red 725$9$9$9/A 1retorno del siste'a o loopbac'3! siendo necesario definir
slo el "ri'er octeto de dico seg'ento)
hosts allo + 18$#B 198#166#$%#B 198#166#@$#
.-.0.,... (pcin name resolve order.
De 'odo "redeter'inado est& ausente de la configuracin$ -uede aadirla des"u#s de la o"cin
'encionada arriba$ Define el orden a trav#s del cual se tratar& de resolver los no'bres NF@B?GS$ Si utili,a el
siguiente e(e'"lo! se establece .ue "ri'ero se intentar& resolver los no'bres NF@B?GS con la infor'acin
del arcivo 8etc8samba8lmhosts! luego el arcivo 8etc8hosts! luego a trav#s de consultas en el servidor
Q?NS %! si todo lo anterior falla! a trav#s de la direccin ?- de difusin de la red local$
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
name resolve order + lmhosts hosts ins bcast
Si se va a utili,ar un servidor Q?NS en otro servidor o se est& configurando el siste'a slo co'o cliente
S:B! se "ueden agili,ar las co'unicaciones con el resto de los e.ui"os de la red local estableciendo Rins
co'o la "ri'era o"cin "ara resolucin de no'bres NF@B?GS)
name resolve order + 0%ns lmhosts hosts bcast
Nota.
Nautilus! el gestor de arcivos "redeter'inado del escritorio de GNG:F! re.uiere .ue est# "resente esta 0lti'a
configuracin en el arcivo 8etc8samba8smb.conf del anfitrin desde el cual se e(ecute % .ue ade'&s se
es"ecifi.ue Rins en el orden de resolucin de no'bres del arcivo 8etc8nssRitch.conf del anfitrin desde el cual
se e(ecute$ De otro 'odo Nautilus 'ostrar& invariable'ente un error cada ve, .ue se intente conectar a cual.uier
servidor de red utili,ando un no'bre NF@B?GS$
Guarde el arcivo /etc/sa'ba/s'b$conf! regrese al int#r"rete de 'andatos % edite el arcivo 8etc8nssRitch.conf)
vim /etc/nssitch#con"
Fn CentGS 4 % ;ed IatH Fnter"rise Linux 4! alrededor de la l/nea 8A! localice lo siguiente)
hosts7 "iles dns
+ada Rins des"u#s de dns)
hosts7 "iles dns 0%ns
Fn versiones recientes de >edoraH o"enSUSFH o UbuntuH! encontrar& lo siguiente alrededor de la l/nea 48)
"iles mdns4/minimal D-01>0?-&+returnE dns
+ada Rins des"u#s de dns)
"iles mdns4/minimal D-01>0?-&+returnE dns 0%ns
.-.0.,.0. (pcin interfaces.
-er'ite establecer desde .ue interfaces de red del siste'a se escucar&n "eticiones$ 9amba reca,ar&
todas las conexiones "rovenientes desde cual.uier otra interfa, o direccin ?-! sin definir$ Ysto es 0til cuando
9amba se e(ecuta en un servidor .ue sirve ade'&s de "uerta de enlace "ara la red local! i'"idiendo se
estable,can conexiones acia este servicio desde ?nternet o bien fuera del blo.ue o seg'ento! de
direcciones de la red local$
Los valores ace"tados "ara esta o"cin consisten una lista se"arada "or co'as o es"acios! con los no'bres
de las interfaces 1lo! et9! et7! etc$3 % direcciones ?- utili,ada en una interfa, en "articular! con la '&scara
de sub6red en for'ato CIDR 1Classless Inter6Do'ain Routing3! es decir! ex"resada en bits$ F(e'"lo)
inter"aces + loB eth1B 198#166#$%#8:4/8:
.-.0.-. (pcin remote announce.
224
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La o"cin remote announce se encarga de .ue el servidor Sa'ba se anuncie a si 'is'o de for'a
"eridica acia uno o '&s gru"os de traba(o es"ec/ficos$ Se utili,a cuando se necesita .ue el servidor
9amba a"are,ca en otros gru"os de traba(o existentes en la red de &rea local$ Fl gru"o de traba(o de
destino "uede estar en donde sea! 'ientras exista una ruta % sea "osible la difusin exitosa de "a.uetes$
Los valores .ue "ueden ser utili,ados son direcciones ?- de difusin 1broadcast3 de la red utili,ada 1es decir
la 0lti'a direccin ?- del seg'ento de red3 %/o no'bres de gru"os de traba(o$ Fn el siguiente e(e'"lo se
define .ue el servidor 9amba se anuncie a trav#s de las direcciones ?- de difusin ![.!04.1I.!1 1.ue
corres"onde a la direccin ?- de difusin de la red ![.!04.1I.I8.3 % ![.!04.... 1.ue corres"onde a
la direccin ?- de difusin de la red ![.!04..I8-3! acia los gru"os de traba(o D(5INI(! % D(5INI(
.ue corres"onden a estas redes$
remote announce + 198#166#$%#18$/&0.)-)01B 198#166#8#8::/&0.)-)08
-ara a"licar los ca'bios! reinicie los servicios smb % nmb)
service smb restart
service nmb restart
.-.0... Impresoras en 9amba.
Las i'"resoras se co'"arten de 'odo "redeter'inado! as/ .ue slo a% .ue reali,ar algunos a(ustes$ Si se
desea .ue se "ueda acceder acia la i'"resora co'o usuario invitado sin contrasea! basta con aadir
public V Zes 1.ue es lo 'is'o .ue guest oO V Zes3 en la seccin de i'"resoras$ Fdite el arcivo
/etc/sa'ba/s'b$conf)
vim /etc/samba/smb#con"
Localice la seccin de i'"resoras % aada "ublic b Res a la configuracin)
DprintersE
comment + 'l comentario Jue guste#
path + /var/spool/samba
printable + <es
broseable + -o
ritable + no
printable + yes
'>b)%& = Nes
-ara a"licar los ca'bios! reinicie el servicio smb)
service smb restart
-ara la ad'inistracin de las colas de i'"resin! anterior'ente se ac/a utili,ando la o"cin printer
admin! definiendo una lista de usuarios o gru"os$ +ctual'ente se ace de 'anera si'ilar a c'o se ace
en en Qindo*s! utili,ando "ol/ticas! e(ecute)
net !S ser*%-or !? roo$ rpc rights grant +>)#no Se=rint0perator=rivilege
.-.0.0. Compartiendo directorios a travs de 9amba.
-ara los directorios o vol0'enes .ue se ir&n a co'"artir! en el 'is'o arcivo de configuracin encontrar&
distintos e(e'"los "ara distintas situaciones "articulares$ Fn general! "uede utili,ar el siguiente e(e'"lo .ue
funcionar& "ara la 'a%or/a)
225
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Dlo/Jue/seaE
comment + *omentario Jue se le ocurra
path + /cualJuier/ruta/Jue/desee/compartir
-rocure .ue los no'bres de los recursos a co'"artir tengan un '&xi'o de 72 caracteres! utili,ando slo
caracteres alfanu'#ricos de la tabla de caracteres +SC??$
Fl volu'en "uede utili,ar cual.uiera de las siguientes o"ciones)
(pcin Descripcin
guest ok Define si se "er'itir& el acceso co'o usuario invitado$ Fl valor "uede ser <es o
-o$
public Fs un eCuivalente de la ao"cin guest oO! es decir define si se "er'itir& el
acceso co'o usuario invitado$ Fl valor "uede ser <es o -o$
broseable
Define si se "er'itir& 'ostrar este recurso en las listas de recursos
co'"artidos$ Fl valor "uede ser <es o -o$
ritable Define si se "er'itir& la escritura$ Fs la o"cin contraria de read only$ Fl valor
"uede ser <es o -o$ F(e'"los) critable + <esd es lo mismo Cue cread
only + -od$ Gbvia'ente critable + -od es lo mismo Cue cread only
+ <esd
valid users Define los usuarios o gru"os! .ue "odr&n acceder al recurso co'"artido$ Los
valores "ueden ser no'bres de usuarios se"arados "or co'as o bien no'bres
de gru"o antecedidos "or una u$ F(e'"lo) "ulanoB menganoB
^administradores
rite list Define los usuarios o gru"os! .ue "odr&n acceder con "er'iso de escritura$ Los
valores "ueden ser no'bres de usuarios se"arados "or co'as o bien no'bres
de gru"o antecedidos "or una u$ F(e'"lo) "ulanoB menganoB
^administradores
admin users Define los usuarios o gru"os! .ue "odr&n acceder con "er'isos ad'inistrativos
"ara el recurso$ Fs decir! "odr&n acceder acia el recurso reali,ando todas las
o"eraciones co'o su"er6usuarios$ Los valores "ueden ser no'bres de usuarios
se"arados "or co'as o bien no'bres de gru"o antecedidos "or una u$ F(e'"lo)
"ulanoB menganoB ^administradores
directory mask Fs lo 'is'o .ue directory mode$ Define .u# "er'iso en el siste'a tendr&n
los subdirectorios creados dentro del recurso$ F(e'"los) 1$$$
create mask Define .ue "er'iso en el siste'a tendr&n los nuevos arcivos creados dentro
del recurso$ F(e'"lo) %644
Fn el siguiente e(e'"lo se co'"artir& a trav#s de Sa'ba el recurso deno'inado e%emplo! el cual est&
locali,ado en el directorio 8var8samba8e%emplo del disco duro$ Se "er'itir& el acceso a cual.uiera "ero
ser& un recurso de slo lectura salvo "ara los usuarios ad'inistrador % fulano$ @odo directorio nuevo .ue sea
creado en su interior tendr& "er'iso 1.. 1drR*r-*r-*3 % todo arcivo .ue sea "uesto en su interior tendr&
"er'isos 0-- 1-rR-r--r--3$
Genere el nuevo directorio 8var8samba8e%emplo e(ecutando lo siguiente)
mkdir !p /var/samba/eOemplo
Ca'bie el contexto de SFLinux! a fin de .ue este directorio sea considerado co'o contenido Sa'ba$
chcon !t samba/share/t /var/samba/eOemplo
Ca'bie asigne "er'isos de lectura! escritura % e(ecucin a los usuarios fulano % ,utano)$
set"acl !m u7"ulano7$Bu7Cutano7$ /var/samba/eOemplo
Fdite el arcivo 8etc8samba8smb.conf)
22A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vim /etc/samba/smb#con"
+l final del arcivo aada el siguiente contenido)
DeOemploE
comment + Recurso de eOemplo
path + /var/samba/eOemplo
guest ok + <es
read only + <es
rite list + "ulanoB Cutano
directory mask + %$::
create mask + %644
-ara a"licar los ca'bios! reinicie el servicio smb)
service smb restart
.-.0.0.!. (cultando archivos Cue inician con punto.
Fs "oco conveniente .ue los usuarios "uedan acceder! notando la "resencia de arcivos ocultos 1arcivos de
configuracin! "or lo general3! es decir arcivos cu%o no'bre co'ien,a con un "unto! co'o es el caso del
directorio de inicio del usuario en el servidor 9amba 1$basrc! $basM"rofile! $basMistor%! etc$3$ -uede
utili,arse la o"cin hide dot files! con el valor Zes! "ara 'antenerlos ocultos$
hide dot "iles + <es
Fsta o"cin es 0til "ara co'"le'entar la configuracin de los directorios "ersonales de los usuarios$
Fdite el arcivo 8etc8samba8smb.conf)
vim /etc/samba/smb#con"
Localice la configuracin corres"ondiente a los directorios de inicio de los usuarios % aada la o"cin hide
dot files con el valor Zes! co'o se 'uestra a continuacin)
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
h%-e -o$ +%)es = Nes
-ara a"licar los ca'bios! reinicie el servicio smb)
service smb restart
.-.1. Comprobaciones.
.-.1.!. 5odo te*to desde :N"8&inu*.
.-.1.!.!. 5onta%e de recursos compartidos desde :N"8&inu*.
Desde un cliente GNU/Linux! abra una ter'inal % utilice el 'andato mOdir "ara crear un "unto de 'onta(e)
22B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
mkdir /mnt/eOemplo
Utilice el 'andato mount! con la o"cin -t con el valor cifs! la o"cin -o "ara es"ecificar con username el
no'bre de usuario a utili,ar! la ruta del recurso co'"artido en el servidor Sa'ba % el "unto de 'onta(e a
utili,ar)
mount !t ci"s !o username+"ulano //servidor/eOemplo /mnt/eOemplo
Lo anterior solicitar& se ingrese la contrasea del usuario utili,ado en el servidor Sa'ba es"ecificado$
-ara acer "er'anente lo anterior! utilice un editor de texto "ara crear el arcivo 8etc8credentials)
vim /etc/credentials
+ada el siguiente contenido! es"ecificando el no'bre de usuario % contrasea .ue ser&n utili,ados
es"ec/fica'ente con el recurso co'"artido involucrado)
username+"ulano
passord+contraseNa
Ca'bie los "er'isos de acceso del arcivo! de 'odo .ue slo el usuario root "ueda ver % 'odificar el
contenido de #ste)
chmod 6%% /etc/credentials
Fdite el arcivo 8etc8fstab)
vim /etc/"stab
+ada el siguiente contenido! es"ecificando con las o"ciones uid % gid los n0'eros de "ID % :ID del
usuario % gru"o del anfitrin local .ue utili,ar&n el recurso$ De 'odo "redeter'inado! este recurso ser&
'ontado auto'&tica'ente con el siguiente reinicio de siste'a$
//servidor/eOemplo /mnt/eOemplo ci"s credentials+/etc/credentialsBuid+1%%:Bgid+1%%: % %
Utilice las o"ciones noauto % user si se "refiere .ue el recurso sea 'ontado 'anual'ente "or un usuario
del anfitrin local)
//servidor/eOemplo /mnt/eOemplo ci"s credentials+/etc/credentialsBuid+1%%:Bgid+1%%:Bno#>$oB>ser
% %
.-.1.!.. Derramienta smbclient desde :N"8&inu*.
?ndudable'ente el '#todo '&s "r&ctico % ta'bi#n el '&s sencillo "ara utili,ar % acer "ruebas de
diagnstico! es el 'andato smbclient$ Yste "er'ite acceder ac/a cual.uier servidor Sa'ba o Qindo*sH! de
'odo si'ilar a co'o se ace con el 'andato ftp en el int#r"rete de 'andatos$
-ara acceder al cual.uier recurso de alguna '&.uina Qindo*sH o servidor Sa'ba! deter'ine "ri'ero .ue
vol0'enes o recursos co'"artidos "osee #sta$ Utilice el 'andato smbclient del siguiente 'odo)
289
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
smbclient !? usuario !2 servidor
Lo anterior devolver& una salida si'ilar la siguiente)
&omain+D.)!&0.)-)0E 0S+D?nixE Server+DSamba @#6#9!1:1#el6E
Sharename 1ype *omment
!!!!!!!!! !!!! !!!!!!!
homes &isk 3ome &irectories
netlogon &isk -etork 2ogon Service
ejemplo Disk ejemplo
)=*F )=* )=* Service (Servidor Samba @#:#4!66#el6/%#8 en mi!servidor)
5&.)-F )=* )=* Service (Servidor Samba @#:#4!66#el6/%#8 en mi!servidor)
epl:9%% =rinter *reated by system!con"ig!printer 1#8#x
hp8::%b =rinter *reated by system!con"ig!printer 1#8#x
5nonymous login success"ul
&omain+D.)!&0.)-)0E 0S+D?nixE Server+DSamba @#6#9!1:1#el6E
Server *omment
!!!!!!!!! !!!!!!!
mi!servidor Servidor Samba @#6#9!1:1#el6 en mi!servidor
4orkgroup .aster
!!!!!!!!! !!!!!!!
.)!&0.)-)0 .)!S'R()&0R
La siguiente corres"onde a la sintaxis b&sica "ara "oder navegar los recursos co'"artidos "or la '&.uina
Qindo*sH o el servidor S+:B+)
smbclient //alguna/maJuina/recurso !? usuario
F(e'"lo)
smbclient //S'R()&0R/'S'.=20 !? "ulano
Des"u#s de e(ecutar lo anterior! el siste'a solicitar& se "ro"orcione la contrasea del usuario fulano en el
e.ui"o deno'inado %0;7B$
smbclient //S'R()&0R/'S'.=20 !? "ulano
added inter"ace ip+198#166#$%#186 bcast+198#166#$%#18$ nmask+8::#8::#8::#186
=assord7
&omain+D"ulanoE 0S+D?nixE Server+DSamba @#6#9!1:1#el6E
smb7 Q
-ueden utili,arse casi los 'is'os 'andatos .ue en el int#r"rete de ftp! co'o ser/an get! 'get! "ut! del! etc$
.-.1.. 5odo gr6fico
.-.1..!. Desde el escritorio de :N(5/.
Si utili,a GNG:F 2$x o su"erior! #ste inclu%e un 'dulo de cliente S:B "ara Nautilus 1gnome-vfs-smb! en
Cent(9 . o gvfs-smb! en Cent(9 03! el cual "er'ite acceder acia los recursos co'"artidos a trav#s de
servidores Sa'ba$ Slo a% .ue acer clic en 9ervidores de red 1'en0 de GNG:F o bien el 'is'o
Nautilus3$ -ara .ue funcione correcta'ente! se re.uiere .ue exista un servidor Q?NS en la red local! se
tenga establecida la o"cin name resolve order en el arcivo 8etc8samba8smb.conf % .ue la o"cin
hosts del arcivo 8etc8nssRitch.conf inclu%a Rins$
287
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.-.1... Desde \indoRs.
Desde Qindo*s deber& ser "osible acceder sin "roble'as acia cual.uier servidor 9amba! co'o si fuese
acia cual.uier otro siste'a con Qindo*s$
282
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
... Cmo configurar 9amba denegando acceso a
ciertos archivos.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
...!. Introduccin.
Fn algunos casos "uede ser necesario denegar el acceso a ciertas extensiones de arcivos! co'o arcivos
de siste'a % arcivos de 'ulti'edios co'o :-8! :-=! :-FG % DivO$
Fste docu'ento considera .ue usted %a a le/do "revia'ente! a detalle % en su totalidad el 'anual ^C'o
configurar Sa'ba b&sico_$ % .ue a configurado exitosa'ente 9amba co'o servidor de arcivos$
.... 7rocedimientos.
Fl "ar&'etro veto files se utili,a "ara es"ecificar la lista! se"arada "or diagonales! de a.uellas cadenas de
texto .ue denegar&n el acceso a los arcivos cu%os no'bres contengan estas cadenas$ Fn el siguiente
e(e'"lo! se denegar& el acceso acia los arcivos cu%os no'bres inclu%an la "alabra 2$ecurity3 % los .ue
tengan extensin o ter'inen en 2.tmp3)
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
hide dot "iles + <es
*e$o +%)es = ;LSe&>r%$yL;L.$<';
Fn el siguiente e(e'"lo! se denegar& el acceso acia los arcivos .ue tengan las extensiones o ter'inen en
2.mpM3! 2.mpN3! 2.mpeg3 % 2.avi3 en todos los directorios "ersonales de todos los usuarios del siste'a)
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
hide dot "iles + <es
*e$o +%)es = ;L.<';L.<'4;L.<'g;L.#*%;L.$<';
...,. ;plicando los cambios.
-ara acer .ue los ca'bios ecos surtan efecto tras 'odificar la configuracin! utilice)
service smb restart
288
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
...-. Comprobaciones.
Con la finali,ad de reali,ar "ruebas! genere con el 'andato echo del siste'a un arcivo deno'inado
prueba.mp,)
echo ,archivo .=@ de pruebas, Q prueba#mp@
Si a0n no existiera! genere al usuario fulano)
useradd "ulano
Utilice el 'andato smbpassRd % asigne !,CRe co'o clave de acceso al usuario fulano)
smbpassd !a "ulano
+cceda con smbclient acia el servidor 9amba con el usuario fulano)
smbclient //18$#%#%#1/"ulano !?"ulanoY18@Je
Lo anterior debe devolver una salida si'ilar a la siguiente)
&omain+D.%64E 0S+D?nixE Server+DSamba @#8#%rc1!14#9#el:#alE
smb7 Q
Utili,ando el 'andato put del intrprete 95$! suba el arcivo prueba.t*t al directorio "ersonal de
fulano)
smb7 Q '>$ 'r>eb#.<'
Lo anterior debe devolver una salida si'ilar a la siguiente indicando el 'ensa(e
N<U9<;<"9U($E/C<UN;5/UN(<U2("ND co'o res"uesta! lo cual indica .ue no fue "er'itido subir el
arcivo prueba.mp,)
smb7 Q put prueba#mp@
NT_STATUS_OBOECT_NAME_NOT_FOUND o'en%ng re<o$e +%)e 'r>eb#.<'
smb7 Q
-ara salir del intrprete 95$ utilice el 'andato e*it)
smb7 Q exit
28=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.0. Cmo configurar 9amba con 7apelera de
Recicla%e.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
.0.!. Introduccin.
Fn algunas circunstancias! es necesario aadir una 7apelera de Recicla%e 1Rec+cle $in3 "ara evitar la
eli'inacin "er'anente del contenido de un directorio co'"artido a trav#s de 9amba$ Fs "articular'ente
0til "ara los directorios "ersonales de los usuario$
Fste docu'ento considera .ue usted %a a le/do "revia'ente! a detalle % en su totalidad el 'anual ^C'o
configurar Sa'ba b&sico_$ % .ue a configurado exitosa'ente 9amba co'o servidor de arcivos$
.0.. 7rocedimientos
La 7apelera de Recicla%e se activa aadiendo al recurso a co'"artir los "ar&'etros vfs ob%ects %
rec+cle#repositor+ del 'odo e(e'"lificado a continuacin)
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
*+s obDe&$s = re&y&)e
re&y&)e1re'os%$ory = Re&y&)e B%n
Lo anterior creara el ob(eto rec+cle! .ue al'acenar& los contenidos eli'inados desde el cliente en un
subdirectorio deno'inado Rec+cle $in! el cual es creado si #ste no existiera$ Si el contenido de Rec+cle
$in es eli'inado! #ste se ar& de for'a "er'anente$
Fn el caso de directorios co'"artidos .ue sean accedidos "or distintos usuarios! el subdirectorio Rec+cle
$in se crea con "er'isos de acceso solo "ara el "ri'er usuario .ue eli'ine contenido$ Lo correcto es solo
utili,arlo en directorios co'"artidos .ue solo sean utili,ados "or un solo usuario$ De ser necesario! se "uede
ca'biar el "er'iso de acceso del subdirectorio Rec+cle $in con el 'andato chmod de I1II a !111 "ara
"er'itir a otros usuarios utili,ar #ste! to'ando en cuenta .ue de esta for'a el contenido conservar& los
"rivilegios de cada usuario % los contenidos solo "odr&n ser eli'inados "er'anente'ente "or sus
"ro"ietarios corres"ondientes$
Se "ueden aadir '&s o"ciones "ara lograr un co'"orta'iento '&s si'ilar al de una 7apelera de
Recicla%e nor'al en \indoRs$ Fl "ar&'etro rec+cle#versions define .ue si a% dos o '&s arcivos con el
'is'o no'bre % estos son enviados a la 7apelera de Recicla%e! se 'antendr&n todos donde los arcivo
'&s recientes tendr&n un no'bre con el es.ue'a LCop+ j* of nombre-archivoM 1es decir! Copia j* del
nombre-archivo3$ Fl "ar&'etro rec+cle#Oeeptree define .ue si se eli'ina un directorio con
subdirectorios % contenido! se 'antendr& la estructura de #stos$
282
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
v"s obOects + recycle
recycle7repository + Recycle ;in
re&y&)e1*ers%ons = Nes
re&y&)e18ee'$ree = Nes
Se "uede definir ade'&s .ue se exclu%an arcivos 1rec+cle#e*clude3 % directorios 1rec+cle#e*cludeUdir3
de ser enviado a la 7apelera de Recicla%e cierto ti"o de contenido % sea eli'inado de for'a "er'anente
de in'ediato$ Las listas "ara arcivos % directorios son se"aradas "or tuber/as 1m3 % ace"tan co'odines 1Y %
@3$ Fn el siguiente e(e'"lo se exclu%en los arcivos con extensiones Y.tmp! Y.temp! Y.o! Y.ob%! ^`Y! Y.^@@!
Y.log! Y.trace % Y.<57 % los directorios 8tmp! 8temp % 8cache$
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
v"s obOects + recycle
recycle7repository + Recycle ;in
recycle7versions + <es
recycle7keeptree + <es
re&y&)e1eE&)>-e = L.$<'UL.$e<'UL.oUL.obDUVWLUL.VXXUL.)ogUL.$r#&eUL.TM9
re&y&)e1eE&)>-e-%r = ;$<'U;$e<'U;&#&he
Si no se .uiere .ue se guarden versiones distintas de arcivos con el 'is'o no'bre! "ara algunas
extensiones! es "osible acerlo definiendo el "ar&'etro rec+cle#noversions % una lista de extensiones de
arcivos se"arados "or tuber/as 1m3$ Fn el siguiente e(e'"lo! se indica .ue no se guarden diferentes
versiones de arcivos con el 'is'o no'bre .ue tengan las extensiones Y.doc! Y.ppt! Y.dat % Y.ini$
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
v"s obOects + recycle
recycle7repository + Recycle ;in
recycle7versions + <es
recycle7keeptree + <es
recycle7exclude + L#tmpRL#tempRL#oRL#obOR_FLRL#_\\RL#logRL#traceRL#1.=
recycle7excludedir + /tmpR/tempR/cache
re&y&)e1no*ers%ons = L.-o&UL.''$UL.-#$UL.%n%
@a'bi#n es "osible definir un '/ni'o % un '&xi'o de ta'ao en b+tes a trav#s de los "ar&'etros
rec+cle#minsi3e! .ue define un ta'ao '/ni'o % rec+cle#ma*si3e! .ue define un ta'ao '&xi'o$
Cual.uier arcivo .ue est# fuera de estos l/'ites establecidos! ser& eli'inado "er'anente'ente de for'a
in'ediata$ Fn el siguiente e(e'"lo se define .ue solo "odr&n ser enviados a la 7apelera de Recicla%e los
arcivos .ue tengan un ta'ao '/ni'o de 79 b%tes % un ta'ao '&xi'o de 2729 b%tes 12 :B3
DhomesE
comment + 3ome &irectories
broseable + no
ritable + yes
hide dot "iles + <es
v"s obOects + recycle
recycle7repository + Recycle ;in
recycle7versions + <es
recycle7keeptree + <es
recycle7exclude + L#tmpRL#tempRL#oRL#obOR_FLRL#_\\RL#logRL#traceRL#1.=
recycle7excludedir + /tmpR/tempR/cache
recycle7noversions + L#docRL#pptRL#datRL#ini
284
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
re&y&)e1<%ns%Ce = 36
re&y&)e1<#Es%Ce = !3/6
.0.,. ;plicando los cambios.
-ara acer .ue los ca'bios ecos surtan efecto tras 'odificar la configuracin! utilice)
service smb restart
.0.-. Comprobaciones.
Con la finali,ad de reali,ar "ruebas! genere con el 'andato echo del siste'a un arcivo deno'inado
prueba.t*t)
echo ,archivo de pruebas, Q prueba#txt
Si a0n no existiera! genere al usuario fulano)
useradd "ulano
Utilice el 'andato smbpassRd % asigne !,CRe co'o clave de acceso al usuario fulano)
smbpassd !a "ulano
+cceda con smbclient acia el servidor 9amba con el usuario fulano)
smbclient //18$#%#%#1/"ulano !?"ulanoY18@Je
Lo anterior debe devolver una salida si'ilar a la siguiente)
&omain+D.%64E 0S+D?nixE Server+DSamba @#8#%rc1!14#9#el:#alE
smb7 Q
Utili,ando el 'andato put del intrprete 95$! suba el arcivo prueba.t*t al directorio "ersonal de
fulano)
smb7 Q '>$ 'r>eb#.$E$
Lo anterior debe devolver una salida si'ilar a la siguiente)
smb7 Q put prueba#txt
putting "ile prueba#txt as prueba#txt (%B4 kb/s) (average %B4 kb/s)
smb7 Q
Jisualice el contenido del directorio actual desde el intrprete 95$ utili,ando el 'andato dir"ara verificar
.ue se a subido el arcivo prueba.t*t)
smb7 Q -%r
285
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior debe devolver una salida si'ilar a la siguiente)
smb7 Q dir
# & % 4ed Sun 16 8%7447@9 8%%6
## & % 4ed Sun 16 8%7%4714 8%%6
#bashrc 3 184 4ed Sun 16 8%7%4714 8%%6
#bash/pro"ile 3 1$6 4ed Sun 16 8%7%4714 8%%6
#bash/logout 3 84 4ed Sun 16 8%7%4714 8%%6
prueba#txt 5 19 4ed Sun 16 8%7447@9 8%%6
@41$@ blocks o" siCe :84866# 1814@ blocks available
smb7 Q
Fli'ine el arcivo prueba.t*t utili,ando el 'andato del desde el intrprete 95$)
smb7 Q -e) 'r>eb#.$E$
smb7 Q
Jisualice de nuevo el contenido del directorio con el 'andato dir! lo cual debe devolver una salida si'ilar a
la siguiente donde a desa"arecido el arcivo prueba.t*t % aora a"arece el directorio Rec+cle $in)
smb7 Q -%r
# & % 4ed Sun 16 8%7:8749 8%%6
## & % 4ed Sun 16 8%7%4714 8%%6
#bashrc 3 184 4ed Sun 16 8%7%4714 8%%6
#bash/pro"ile 3 1$6 4ed Sun 16 8%7%4714 8%%6
#bash/logout 3 84 4ed Sun 16 8%7%4714 8%%6
#Cshrc 3 6:6 4ed Sun 16 8%7%4714 8%%6
#kde &3 % 4ed Sun 16 8%7%4714 8%%6
#emacs 3 :1: 4ed Sun 16 8%7%4714 8%%6
Re&y&)e B%n & % 4ed Sun 16 8%7:8749 8%%6
@41$@ blocks o" siCe :84866# 1814@ blocks available
smb7 Q
+cceda al directorio Rec+cle $in utili,ando el 'andato cd)
smb7 Q smb7 Q &- "Re&y&)e B%n"
Jisualice el contenido con el 'andato dir! lo cual debe devolver una salida si'ilar a la siguiente donde se
'uestra .ue el arcivo prueba.t*t! .ue fue eli'inado con el 'andato del! aora est& dentro del directorio
Rec+cle $in$
smb7 Re&y&)e B%nQ -%r
# & % 4ed Sun 16 8%7:8749 8%%6
## & % 4ed Sun 16 8%7:8749 8%%6
'r>eb#.$E$ 5 19 4ed Sun 16 8%7447@9 8%%6
@41$@ blocks o" siCe :84866# 18141 blocks available
-ara salir del intrprete 95$ utilice el 'andato e*it.
28A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.1. Cmo configurar 9amba como cliente o servidor
\IN9.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red:ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
.1.!. Introduccin.
\IN9 1\indo*s Internet Na'e 9ervice3 es un servidor de no'bres de "ara NetB?GS! .ue se encarga de
'antener una tabla con la corres"ondencia entre direcciones ?- % no'bres Net$I(9! de los e.ui"os .ue
confor'an la red local$ Fsta lista "er'ite locali,ar r&"ida'ente a otro e.ui"o dentro de la red$ +l utili,ar un
servidor \IN9 se evita el reali,ar b0s.uedas innecesarias a trav#s de difusin 1broadcast3 reduciendo
sustancial'ente el tr&fico de red$ La resolucin de no'bres e' 9ambase lleva a cabo reali,ando consultas
en el siguiente orden)
!. Servidor \IN9
. ?nfor'acin del arcivo 8etc8samba8lmhosts
,. ?nfor'acin del arcivo 8etc8hosts
-. Difusin 1broadcast3
Fste docu'ento considera .ue usted %a a le/do "revia'ente! a detalle % en su totalidad! el 'anual ^C'o
configurar Sa'ba b&sico_$ % .ue a configurado exitosa'ente 9amba co'o servidor de arcivos$
.1.. 7rocedimientos.
@odos los "ar&'etros descritos a continuacin! se definen en la seccin SglobalT del arcivo
8etc8samba8smb.conf$
vim /etc/samba/smb#con"
.1..!. 7ar6metros Rins server + Rins support.
Se "uede definir .ue el servidor 9amba reci#n configurado se convierta en un servidor \IN9 o bien utili,ar
un servidor \IN9 %a existente$ No es posible ser cliente + servidor al mismo tiempo$ Los "ar&'etros
Rins server % Rins support! .ue se definen en la seccin SglobalT del arcivo 8etc8samba8smb.conf!
son 'utua'ente exclu%entes$
Si el siste'a va ser utili,ado co'o servidor \IN9! debe abilitarse el "ar&'etro Rins support con el valor
+es)
ins support + <es
28B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si el siste'a va a utili,ar un servidor \IN9 e*istente! debe abilitarse el "ar&'etro Rins server % co'o
valor se es"ecifica la direccin ?- .ue utilice el servidor \IN9$ Fn el siguiente e(e'"lo se define al siste'a
con direccin ?- ![.!04.!.! co'o servidor \IN9)
ins server + 198#166#1#1
.1... 7ar6metro name resolve order
Define en 9amba el orden de los '#todos a trav#s de los cuales se intentar& resolver los no'bres
Net$I(9$ -ueden definirse asta asta cuatro valores) *ins! l'osts! osts % bcast! co'o se 'uestra en el
siguiente e(e'"lo$
name resolve order + ins lmhosts hosts bcast
.1..,. 7ar6metro Rins pro*+.
Cuando su valor es +es! "er'ite a 9amba co'o servidor inter'ediario 1pro*+3 "ara otro servidor \IN9$
ins proxy + yes
Fl valor "redeter'inado de este "ar&'etro es no$
.1..-. 7ar6metro dns pro*+.
Cuando su valor es +es! "er'ite a 9amba reali,ar b0s.uedas en un servidor DN9 si le es i'"osible
deter'inar un no'bre a trav#s de un servidor \IN9$
dns proxy + yes
Fl valor "redeter'inado de este "ar&'etro es no$
.1.... 7ar6metro ma* ttl.
Fl "ar&'etro ma* ttl define el '&xi'o tie'"o de vida en segundos "ara los no'bres Net$I(9 .ue an
sido consultados co'o cliente \IN9 en un servidor \IN9$ su valor "redeter'inado es .[II! .ue
corres"onde a tres d/as$ 7or lo general no es necesario modificar este par6metro$ Si las direcciones
?- de los e.ui"os .ue integran la red local ca'bian de'asiado frecuente'ente! "uede reducirse este
tie'"o$ Fn el siguiente e(e'"lo! se definen =A oras co'o tie'"o '&xi'o de vida "ara los no'bres
Net$I(9)
max ttl + 664%%
.1..0. 7ar6metros ma* Rins ttl + min Rins ttl.
2=9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Los "ar&'etros ma* Rins ttl % min Rins ttl! corres"onden a los tie'"os '&xi'o % '/ni'o!
res"ectiva'ente! en escala de segundos! .ue tendr&n de vida los no'bres Net$I(9 .ue an sido asignados
"or el servidor 9amba$ Fl valor "redeter'inado de ma* Rins ttl! es .!4-II! es decir! 4 d/as % el valor
"redeter'inado de min Rins ttl! es !0II! es decir! 4 oras$ 7or lo general no es necesario modificar
estos par6metros$ Si las direcciones ?- de los e.ui"os .ue integran la red local ca'bian 'u%
frecuente'ente! "ueden 'odificarse estos tie'"os$ Fn el siguiente e(e'"lo se redundan los valores
"redeter'inados)
max ins ttl + :164%%
min ins ttl + 816%%
.1.,. ;plicando los cambios.
-ara acer .ue los ca'bios ecos surtan efecto tras 'odificar la configuracin! reincie los servicios smb %
nmb)
service smb restart
service nmb restart
2=7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.4. InstalacinG configuracin + optimi3acin de
9pamassassin.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
.4.!. Introduccin.
.4.!.!. ;cerca de 9pam;ssassin.
9pam;ssassin es una i'"le'entacin .ue utili,a un siste'a de "untuacin! basado sobre algorit'os de
ti"o gen#tico! "ara identificar 'ensa(es .ue "udieran ser sos"ecosos de ser correo 'asivo no solicitado!
aadiendo cabeceras a los 'ensa(es de 'odo .ue "ueda ser filtrados "or el cliente de correo electrnico o
5"; 15ail "ser ;gent3$
U;L) tt")//s"a'assassin$a"ace$org/
.4.!.. ;cerca de 7rocmail.
-roc'ail es un "rogra'a .ue funciona co'o 5D; 15ail Deliver% ;gent o +gente de Fntrega de Correo3 .ue
se utili,a "ara gestionar la entrega de correo local en el siste'a$ +de'&s de lo anterior! "er'ite ta'bi#n
reali,ar filtracin auto'&tica del correo electrnico! "re6ordena'iento % otras tareas$
-roc'ail "uede ser utili,ado indistinta'ente con Send'ail o bien -ostfix$
U;L) tt")//***$"roc'ail$org
.4.. /Cuipamiento lgico necesario.
.4..!. Instalacin a travs de +um.
Si dis"one de un servidor con Cent(9 . o 0 o bien Red DatF /nterprise &inu* . o 0! "uede utili,ar el
siguiente 'andato)
yum !y install spamassassin procmail
Si se utili,a Send'ail co'o servidor de correo electrnico! procmail %a debe estar instalado! "ues es
de"endencia del "a.uete sendmail$ Si se utili,a -ostfix co'o servidor de correo electrnico! es necesario
editar el arcivo 8etc8postfi*8main.cf % aadir o desco'entar mailbo*Ucommand V 8usr8bin8procmail o
bien si'"le'ente e(ecutar los siguientes dos 'andatos$
postcon" !e Zmailbox/command + /usr/bin/procmailZ
service post"ix restart
2=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se .uiere instalar "a.uetes adicionales "ara incre'entar las ca"acidades de filtrado de S"a'assassin! se
"ude crear el arcivo 8etc8+um.repos.d8;&-9erver.repo$ Si dis"one de un servidor con Cent(9 . o 0 o
bien Red DatF /nterprise &inu* . o 0! "uede utili,ar el el al'ac#n RU: de ;lcance &ibre "ara
servidores en "roduccin! descargando el arcivo
http#88RRR.alcancelibre.org8al8server8;&-9erver.repo dentro del directorio 8etc8+um.repos.d8)
cd /etc/yum#repos#d/
get !- http7//#alcancelibre#org/al/server/52!Server#repo
cd
Fste arcivo! .ue se guarda co'o 8etc8+um.repos.d8;&-9erver.repo! debe tener el siguiente contenido)
D52!ServerE
name+52 Server para 'nterprise 2inux Freleasever
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgcheck+1
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
Ieco lo anterior! ser& "osible instalar los "a.uetes perl-5ail-972! perl-Ra3or-;gent! p+3or!
spamassassin-2u33+(cr! popler-utils % rec)
yum !y install perl!.ail!S=> perl!RaCor!5gent pyCor
yum !y install spamassassin!>uCCy0cr poppler!utils re8c
.4.,. 9/&inu* + el servicio spamasssassin.
.4.,.!. 7olticas de 9/linu*.
+ fin de .ue SFLinux "er'ita al servicio spamassassin conectarse a servicios externos! co'o Ra3or o
7+3or! utilice el siguiente 'andado)
setsebool != spamassassin/can/netork 1
+ fin de .ue SFLinux "er'ita a los usuarios del siste'a utili,ar spamassassin desde sus directorios de
inicio! utilice el siguiente 'andato)
setsebool != spamd/enable/home/dirs 1
Nota.
Lo siguiente slo a"lica "ara Cent(9 . % Red DatF /nterprise &inu* .$
Si se desea desactivar toda gestin de SFLinux sobre el servicio spamassassin! aciendo .ue todo lo anterior
"ierda sentido % eli'inando la "roteccin .ue brinda esta i'"le'entacin! utilice el siguiente 'andato)
setsebool != spamd/disable/trans 1
Fsta "ol/tica es inexistente en Cent(9 0 % Red DatF /nterprise &inu* 0$
.4.,.. (tros a%ustes de 9/&inu*.
+ fin de .ue SFLinux "er'ita a spamassassin aadir registros a la bit&cora del servicio de Ra3or! es
necesario generar una nueva "ol/tica$
2=8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Genere un nuevo directorio deno'inado 8usr8share8selinu*8pacOages8spamd)
mkdir ;>sr;sh#re;se)%n>E;'#&8#ges;s'#<-
Ca'biarse al directorio 8usr8share8selinu*8pacOages8spamd)
cd ;>sr;sh#re;se)%n>E;'#&8#ges;s'#<-
Si se utili,a Cent(9 0 o Red Dat /nterprise &inu* 0! Descargar el arcivo
http#88RRR.alcancelibre.org8linu*8secrets8el08spamd.te)
get http7//#alcancelibre#org/linux/secrets/el6/spamd#te
Fditar el arcivo reci#n descargado)
vim spamd#te
+segurarse .ue tenga el siguiente contenido)
module spamd 1#%[
reJuire e
type spamc/t[
type admin/home/t[
type sendmail/t[
type spamd/t[
type root/t[
class lnk/"ile read[
class "i"o/"ile rite[
class "ile e ioctl read open getattr append f[
f
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t root/t7"ile e ioctl append f[
allo spamd/t admin/home/t7"ile e read ioctl open getattr append f[
A+++++++++++++ spamc/t ++++++++++++++
allo spamc/t sendmail/t7"i"o/"ile rite[
allo spamc/t admin/home/t7"ile e read open f[
Lo anterior fue obtenido de la salida del 'andato dmesgmgrep auditmauditalloR -m spamdgspamd.te
en un siste'a donde SFLinux i'"ed/a a spamassassin reali,ar escritura sobre la bit&cora de ;a,or$ Fn si!
define .ue se "er'ita aadir contenido al arcivo 8ra3or-agent.log$
Si se utili,a Cent(9 . o Red Dat /nterprise &inu* .! Descargar el arcivo
http#88RRR.alcancelibre.org8linu*8secrets8el.8spamd.te)
get http7//#alcancelibre#org/linux/secrets/el:/spamd#te
Fditar el arcivo reci#n descargado)
vim spamd#te
+segurarse .ue tenga el siguiente contenido)
2==
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
module spamd 1#%[
reJuire e
type spamc/t[
type sendmail/t[
type spamd/t[
type root/t[
class lnk/"ile read[
class "i"o/"ile rite[
class "ile e ioctl append f[
f
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t root/t7"ile e ioctl append f[
A+++++++++++++ spamc/t ++++++++++++++
allo spamc/t sendmail/t7"i"o/"ile rite[
+ continuacin! se genera el arcivo de 'dulo "ara SFLinux 1spamd.mod3 utili,ando el 'andato
checOmodule de la siguiente for'a)
checkmodule !. !m !o spamd#mod spamd#te
Luego! se "rocede a e'"a.uetar el arcivo spamd.mod co'o el arcivo spamd.pp)
semodule/package !o spamd#pp !m spamd#mod
>inal'ente se vincula el arcivo spamd.pp obtenido con las "ol/ticas actuales de SFLinux % se cargan #stas
en el n0cleo en e(ecucin)
semodule !i /usr/share/selinux/packages/spamd/spamd#pp
Una ve, cargadas las nuevas "ol/ticas! se "ueden eli'inar los arcivos spamd.te % spamd.mod! "ues slo
ser& necesario .ue exista el arcivo binario spamd.pp$
.4.-. 7rocedimientos.
.4.-.!. Iniciar el servicio + aHadirlo a los servicios de arranCue del sistema.
chkcon"ig spamassassin on
service spamassassin restart
Cabe sealar! .ue slo es necesario utili,ar el servicio spamassassin si el servidor de correo electrnico
dis"one de una gran cantidad de usuarios o bien tiene una elevada cantidad de tr&fico$ Si se dis"one de
"ocos usuarios! es "osible utili,ar el 'andato spamassassin a trav#s del arcivo 8etc8procmailrc o bien
^8.procmailrc$
.4.-.. Configuracin de 7rocmail.
Ia% tres for'as de utili,ar -roc'ail "ara acer uso de S"a'assassin$
.4.-..!. "tili3ando el mandato spamassassin.
2=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La for'a '&s si'"le de utili,ar S"a'assassin es aciendo uso del 'andato con el 'is'o no'bre$ >unciona
bien slo si se tienen "ocos usuarios! "ues genera una instancia de #ste cada ve, .ue se utili,a o llega un
'ensa(e de correo electrnico al siste'a$ La siguiente es la configuracin reco'endada "ara el arcivo
8etc8procmailrc! s/ se desea .ue a"li.ue a todos los usuarios del siste'a o bien el arcivo ^8.procmailrc
del directorio de inicio de un usuario en "articular! si slo se desea .ue sea utili,ado "or algunos usuarios)
7%"
R /usr/bin/spamassassin
S/ se dis"one de 'ucos usuarios! es '&s conveniente utili,ar el 'andato spamc! 'is'o .ue re.uiere est#
funcionado el servicio spamassassin$ La siguiente es la configuracin reco'endada "ara el arcivo
8etc8procmailrc! s/ se desea .ue a"li.ue a todos los usuarios del siste'a o bien el arcivo ^8.procmailrc
del directorio de inicio de un usuario en "articular! si slo se desea .ue sea utili,ado "or algunos usuarios)
7%"
R /usr/bin/spamc
@odo lo anterior ace .ue el correo electrnico sea exa'inado % 'arcado co'o $pam si alcan,a una
cantidad suficiente de "untos$ Si se desea reali,ar un filtrado enviando el correo calificado co'o $pam acia
una ca"eta de correo 1^8mail89pam3! se "uede utili,ar lo siguiente)
7%"
R /usr/bin/spamc
A 2os mensaOes marcados como spam se almacenan en carpeta de spam
161
L YX-S'#<-S$#$>s1 Nes
WFOME;<#%);S'#<
.4.-.,. Configuracin del archivo 8etc8mail8spamassassin8local.cf.
Fdite el arcivo 8etc8mail8spamassassin8local.cf$
vim /etc/mail/spamassassin/local#c"
Se "ueden 'odificar % aadir "ar&'etros con valores! entre los cuales se "ueden configurar los siguientes)
2=4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
re.uiredMits Se utili,a "ara establecer la cantidad de "untos acu'ulados %
asignados "or 9pam;ssassin! en un 'ensa(e "ara considerar el
#ste co'o S"a'$ Fl valor "redeter'inado es .! ace"ta deci'ales
% se "uede a(ustar con un valor inferior o 'a%or de acuerdo al
criterio del ad'inistrador$ F(e'"lo) =$2
re"ortMsafe Deter'ina si el 'ensa(e! si es calificado co'o s"a'! se inclu%e en
un ad(unto! con el valor 7 o se de(a el 'ensa(e tal % co'o est&! con
el valor 9$ Fl valor "redeter'inado es I$
re*riteMeader Define con .ue cadena de caracteres se aadir& al 'ensa(e "ara
identificarlo co'o S"a'$ Fl valor "redeter'inado es S97;5T %
"uede ca'biarse "or lo .ue considere a"ro"iado el ad'inistrador$
F(e'"lo) reRriteUheader 9ub%ect S9pam@T
*itelistMfro' Se utili,a "ara definir .ue (a'&s se considere co'o S"a' los
'ensa(es de correo electrnico cu%o re'itente sea un do'inio o
cuenta de correo electrnico en "articular$ Se "ueden definir
varias l/neas$ F(e'"lo)
*itelistMfro' Pu'ido'inio$algo
*itelistMfro' Pualcancelibre$org
*itelistMfro' 297$747$7$224
*itelistMto Si utili,a una lista de correo electrnico 1ma%ordomo o mailman3
% se desea evitar .ue accidental'ente se considere S"a' un
'ensa(e de correo electrnico e'itido "or una de estas listas! se
"uede definir .ue nunca se considere S"a' el correo e'itido "or
dica lista$ F(e'"lo) *itelistMto 'ail'an6usersualgo$algo
blacKlistMfro' Se "uede definir .ue todo el correo electrnico "roveniente de un
do'inio o cuenta de correo electrnico en "articular sie'"re sea
considerado co'o S"a'$ F(e'"lo) blacKlistMfro'
alguienus"a''er$co'
Ia% una erra'ienta de configuracin de S"a'+ssassin! .ue "er'ite generar el arcivo
8etc8mail8spamassassin8local.cf! en tt")//***$%rex$co'/s"a'/s"a'config$""$
De "ri'era instancia! aada al arcivo 8etc8mail8spamassassin8local.cf sus direcciones ?- locales con el
"ar&'etro RhitelistUfrom$ F(e'"lo)
A 1hese values can be overridden by editing _/#spamassassin/user/pre"s#c"
A (see spamassassin(1) "or details)
A 1hese should be sa"e assumptions and allo "or simple visual si"ting
A ithout risking lost emails#
reJuired/hits :
report/sa"e %
rerite/header SubOect DS=5.E
0h%$e)%s$_+ro< 3/7.6.6.3
0h%$e)%s$_+ro< 3=/.358.3.=3
0h%$e)%s$_+ro< /63.353.3.//5
2=5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S/ se utili,a el 'andato spamassassin en el arcivo 8etc8procmailrc o ^8.procmailrc! los ca'bios surten
efecto de in'ediato$ S/ se utili,a el 'andato spamc! "ara .ue surtan efecto los ca'bios se re.uiere
reiniciar el servicio spamassassin)
service spamassassin restart
.4... Conse%os para sacarle me%or provecho a 9pamassassin
utili3ando sa-learn.
:ucos ad'inistradores de servidores utili,an S"a'assassin "ara filtrar los 'ensa(es de correo electrnico
.ue llegan a sus servidores$ Si e'bargo! son 'u% "ocos los .ue conocen % utili,an la erra'ienta sa-learn!
incluida con 9pamassassin! 'is'a .ue sirve "ara entrenar % ensear a identificar spam 1o correo catarra3
al "ro"io 9pamassassin$
Fsencial'ente! el 'andato sa-learn sirve "ara entrenar al co'"onente clasificador Ba%esiano de
S"a'assassin$
La for'a .ue sugiero consiste en utili,ar el cliente de correo electrnico % 'over todos los 'ensa(es .ue se
consideren co'o spam a una car"eta destinada "ara tal finalidad! co'o "or e(e'"lo ^8mail89pam % 'over
de la car"eta de spam todos a.uellos 'ensa(es .ue se consideran co'o leg/ti'os a cual.uier otra car"eta
de correo o bien el bu,n de entrada$
+cto seguido! se utili,a el 'andato sa-learn! con las o"ciones --spam! "ara indicar .ue se trata de
'ensa(es de s"a' % la o"cin --mbo*! "ara indica .ue se trata de un bu,n de correo en for'ato mbo*! lo
cual "er'itir& exa'inar todos los 'ensa(es contenidos en #ste)
sa!learn !!spam !!mbox _/mail/Spam
-ara .ue los 'ensa(es .ue se clasificaron incidental'ente co'o spam % .ue fueron 'ovidos a otra car"eta
1co'o "or e(e'"lo ^8mail85ensa%es3 o bien el bu,n de entrada 18var8spool8mail8usuario3! se utili,a el
'andato sa-learn con las o"ciones --ham! "ara indicar .ue es correo leg/ti'o % .ue se debe de(ar de
considerar #ste co'o spam % la o"cin --mbo*! "ara indica .ue se trata de un bu,n de correo en for'ato
mbo*! lo cual "er'itir& exa'inar todos los 'ensa(es contenidos en #ste)
sa!learn !!ham !!mbox _/mail/.ensaOes
sa!learn !!ham !!mbox /var/spool/mail/usuario
De este 'odo % considerando .ue se utili,a el arcivo ^8.promailrc! lo cual slo a"licar/a "ara el usuario
utili,ado o bien 8etc8procmailrc! s/ se desea .ue a"li.ue "ara todos los usuarios del servidor! contiene algo
si'ilar a lo siguiente)
.5)2&)R+F30.'/mail
20I>)2'+F30.'/mail/log
A send mail through spamassassin
7%"
R /usr/bin/spamassassin
A.ensOes marcados como spamB ponerlos en carpeta de spam
7%7
L `X!Spam!Status7 <es
Spam
2=A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Se conseguir& .ue la 'a%or/a los 'ensa(es de spam si'ilares a los .ue se 'ovieron a la car"eta
^8mail89pam! en adelante ser&n '&s f&ciles de identificar % filtrar % los 'ensa(es .ue incidental'ente se
clasificaron co'o spam! de(ar&n de ser clasificados co'o tales o bien ser& '&s dif/cil .ue sean clasificados
co'o spam$
@odo lo anterior "uede ser utili,ado co'o el usuario root! lo cual ar/a .ue los nuevos filtros creados al
entrenar a 9pamassassin a"li.uen "ara todos los usuarios o bien co'o cual.uier usuario! lo cual slo
tendr/an efecto "ara #ste en "articular$
Si alguien tiene inter#s en a"render '&s acerca del 'andato sa-learn! "uede acerlo consultando desde
una ter'inal de texto e(ecutando man sa-learn$
.4.0. Incrementando las capacidades de filtrado.
+ fin de enri.uecer la ca"acidad de deteccin de spam de 9pamassassin! "ueden instalarse "a.uetes
o"cionales co'o perl-5ail-972! perl-Ra3or-;gent$ Los tres brindan ca"acidades adicionales de filtracin
de spam! descritas '&s adelante % "ueden contribuir de 'anera significativa a reducir la cantidad de spam
.ue de otro 'odo podra "asar "or alto 9pamassassin$
-ara los todos los "rocedi'ientos descritos a continuacin! se considera .ue en el servidor de correo
electrnico se utili,a co'o siste'a o"erativo Cent(9 . % 0 o bien Red Dat /nterprise &inu* . % 0! se
tienen instalados los "a.uetes procmail 1re.uisito del "a.uete sendmail % o"cional "ara el "a.uete
postfi*3 % spamassassin % .ue se tiene configurado al 'enos lo siguiente en el arcivo 8etc8procmailrc)
A send mail through spamassassin
7%"
R /usr/bin/spamc
A 2os mensaOes marcados como Spam se almacenan en carpeta _/mail/Spam
7%7
L `X!Spam!Status7 <es
F30.'/mail/Spam
-ri'era'ente % con la finalidad de actuali,ar el (uego de reglas % filtros de S"a'assassin! es conveniente
utili,ar el 'andato sa-update de ve, en cuando! a lo su'o una o dos veces al 'es$ Los (uegos de reglas %
filtros de S"a'assassin real'ente sufren "ocos ca'bios a lo largo del ao % se al'acenan en un
sub6directorio dentro de 8var8lib8spamassassin8$ Slo es necesario conservar el sub6directorio con la
versin '&s reciente$ Fl siguiente 'andato reali,ar& la consulta % actuali,acin de reglas % filtros de
S"a'assassin % reiniciar& el servicio sola'ente si se descarg una actuali,acin)
sa!update !v PP service spamassassin restart
La o"cin 6v ace .ue se 'uestre una salida .ue inclu%e una descri"cin de los canales actuali,ados$ Si
desea una salida li'"ia! sin 'ensa(es descri"tivos! e(ecute lo siguiente)
sa!update PP service spamassassin restart
-ara instalar el con(unto de "a.uetes .ue enri.uecer&n las ca"acidades de filtrado de 9pamassassin!
considerando .ue tiene configurados los al'acenes RU: "ara +L Server de +lcance Libre! e(ecute lo
siguiente)
yum !y install perl!.ail!S=> perl!RaCor!5gent pyCor
yum !y install spamassassin!>uCCy0cr poppler!utils
2=B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se utili,an "a.uetes "rovenientes de otros al'acenes RU: distintos a los de +lcance Libre! el
co'"le'ento "ara 7+3or incluido dentro de 9pamassassin re.uerir& ade'&s el "a.uete
perl-Digest-9D;)
yum !y install perl!&igest!S35
+ fin de .ue 9pamassassin "ueda utili,ar los co'"le'entos .ue acen uso de los co'"le'entos .ue se
activan con estos co'"onentes! es necesario reiniciar el servicio spamassassin)
service spamassassin restart
.4.0.!. (ptimi3ando 9pamassassin.
Si se tiene un servidor de correo electrnico con 'uca carga de traba(o! conviene o"ti'i,ar
spamasassassin co'"ilando las reglas de #ste "ara convertirlas a for'ato binario$ -ara tal fin es necesario
.ue est# instalados los "a.uetes rec % gcc)
yum !y install re8c gcc
R enseguida se e(ecuta el 'andato sa6co'"ile)
sa!compile
Si la sintaxis del arcivo 8etc8mail8spamassassin8local.cf est& correcta! el siste'a debe reali,ar la
co'"ilacin % al'acenar los binarios dentro de 8var8lib8spamassassin8compiled8$ Lo anterior deber& ser
re"etido cada ve, .ue se realicen 'odificaciones del arcivo 8etc8mail8spamassassin8local.cf o bien se
actualice el con(unto de reglas con el 'andato sa-update$
.4.0.. >7or Cu 7erl-5ail-972G 7erl-Ra3or-;gentG 7+3orG
9pamassassin-2u33+(cr + poppler-utils@
.4.0..!. 7erl-5ail-972.
7erl-5ail-972 ?'"le'enta una "roteccin contra la falsificacin de direcciones en el env/o de correo
electrnico conocida co'o 972 19ender 7olic% 2ra'e*orK o Convenio de ;e'itentes3$ >unciona reali,ando
consultas a los servidores DNS en busca del registro @O@ "ara 972 .ue es"ec/fica los servidores de correo
electrnico autori,ados "ara enviar correo electrnico "ara un do'inio en "articular$
-ara .ue un do'inio en "articular o bien el "ro"io do'inio! sea excluido de este ti"o de filtracin! re.uiere
contar con un registro si'ilar al siguiente! lo cual establece .ue preferentemente se descartan co'o
e'isores de correo electrnico todos a.uellos servidores .ue care,can de registro ti"o :O o ti"o +)
dominio#com# )- 1X1 ,v+sp"1 a mx _all,
G bien! si se .uiere algo '&s estricto! donde se descartan "or co'"leto co'o e'isores de correo electrnico
todos a.uellos servidores .ue care,can de registro ti"o :O o ti"o +)
dominio#com# )- 1X1 ,v+sp"1 a mx !all,
.4.0... 7erl-Ra3or-;gent.
229
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
7erl-Ra3or-;gent es la i'"le'entacin -erl de Ra3or! .ue es una red distribuida % colaborativa dedicada
a la deteccin % filtracin de spam$ Consiste en un catalogo de "ro"agacin de spam .ue es actuali,ado
constante'ente$ Se co'"le'enta de 'anera 'utua con 7+3or$
.4.0..,. 7+3or.
7+3or es si'ilar a Ra3or % funciona de la 'is'a for'a co'o una red distribuida % colaborativa dedicada a
la deteccin % filtracin de spam$ + diferencia de 7erl-Ra3or-;gent! est& escrito en -%ton$ Se
co'"le'enta de 'anera 'utua con Ra3or$
.4.0..-. 9pamassassin-2u33+(cr.
Suele aber casos en los cuales se env/an 'ensa(es de spam .ue slo inclu%en una i'agen incrustada en el
'ensa(e! con el fin de evadir los filtros de los servidores de correo electrnico$ 2u33+(cr es un
co'"le'ento 1plugin3 "ara 9pamassassin el cual est& enfocado sobre este ti"o de spam$ Utili,a :(CR
14;7 2ptical Caracter Recognition o ;econoci'iento T"tico de Caracteres de GNU3 % otros '#todos "ara
anali,ar el contenido de las i'&genes % "oder distinguir entre correo ordinario % correo spam$
.4.0.... 7oppler-utils.
Fste con(unto de erra'ientas es utili,ado "or S"a'assassin "ara gestionar los contenidos de los
docu'entos en for'ato -D>! "articular'ente las erra'ientas co'o pdftops! pstopnm % pdfinfo$ Fs
alta'ente reco'endado instalarlo$
227
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.[. Configuracin simple para ;ntivirus +
;ntispam.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
.[.!. 7rocedimientos
Si utili,a ;&D(9! #ste %a dis"one de la configuracin necesaria "ara instalar todos los "a.uetes necesarios$
Si dis"one de un servidor con Cent(9 o Red DatF /nterprise &inu*! "uede utili,ar el el al'ac#n RU: de
;lcance &ibre "ara servidores en "roduccin! descargando el arcivo
http#88RRR.alcancelibre.org8al8server8;&-9erver.repo dentro del directorio 8etc8+um.repos.d8)
get !- http7//#alcancelibre#org/al/server/52!Server#repo K
!0 /etc/yum#repos#d/52!Server#repo
+su'iendo .ue tiene configurados los al'acenes RU: de ;lcance &ibre! instale los "a.uetes
spamassassin! clamav % clamav-update$
yum !y install spamassassin clamav clamav!update
+ctive las siguientes "ol/ticas de SFLinux)
setsebool != clamd/use/Oit 1
setsebool != clamscan/can/scan/system 1
setsebool != spamassassin/can/netork 1
setsebool != spamd/enable/home/dirs 1
+ctualice la base de datos del antivirus Cla'+J! e(ecutando lo siguiente)
"reshclam
+ctualice el con(unto de reglas de S"a'assassin! e(ecutando lo siguiente)
sa!update !v
Lo anterior deber& indicar .u# co'"onentes de 9pamassassin fueron actuali,ados$
Nota.
-ara o"ti'i,ar % extender el funciona'iento de 9pamassassin! estudie el docu'ento titulado ^Cmo instalar +
configurar 9pamassassin$_
Utili,ando el 'andato touch! genere el arcivo 8etc8procmailrc)
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
touch /etc/procmailrc
Fdite el arcivo 8etc8procmailrc)
vim /etc/procmailrc
+ada el siguiente contenido)
S3'22+/bin/sh
A Si desea almacenar toda la in"ormaciTn de actividad
A de =rocmail en una bitUcoraB descomente lo siguiente#
A20I>)2'+/var/log/procmail#log
A *on"iguraciTn basada sobre http7//bulma#net/body#phtml\n)d-oticia+19$6
A y adecuada y actualiCadaB por Soel ;arrios &ueNas#
5(/R'=0R1+a/usr/bin/clamscan !!stdout !!no!summary ! R cut !d7 !" 8a
()R?S+ai" D ,F5(/R'=0R1, W+ , 0H, E[ then echo <es[ else echo -o["ia
A 5Nade el campo de reporte *lam5(#
7%"
R "ormail !i ,X!(irus7 F()R?S,
A Si el mensaOe es positivo a virusB se cambia el asunto#
7%"
L `X!(irus7 <es
R "ormail !i ,(irus7 F5(/R'=0R1, !i ,SubOect7 .'-S5S' *0- ()R?S7 F5(/R'=0R1,
A 3acer pasar todo el correo electrTnico a travhs de spamassassin
7%"
R /usr/bin/spamassassin
Con lo anterior! en adelante todo el correo ser& exa'inado "ri'ero "or Clam;J % 9pamassassin %
clasificado antes de ser entregado al usuario$ Fs innecesario reiniciar el servicio sendmail o servicio alguno$
Fsta solucin es "erfecta "ara servidores de correo electrnico con poco carga de traba%o$
Si se tiene un servidor de correo electrnico con 'uca carga de traba(o! instale el "a.uete
cla'av6scanner6s%svinit)
yum !y install clamav!scanner!sysvinit
?nicie el servicio cla'd$scan! e(ecutando lo siguiente)
service clamd#scan start
?nicie el servicio s"a'assassin! e(ecutando lo siguiente$
service spamassassin start
+ada los servicios clamd.scan % spamassassin! al inicio del siste'a)
chkcon"ig clamd#scan on
chkcon"ig spamassassin on
Genere un enlace si'blico co'o 8etc8clamd.conf! .ue a"unte acia 8etc8clamd.d8scan.conf)
228
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
ln !s /etc/clamd#d/scan#con" /etc/clamd#con"
Fdite el arcivo 8etc8procmailrc % ca'bie 8usr8bin8clamscan "or 8usr8bin8clamdscan %
8usr8bin8spamassassin "or 8usr8bin8spamc$
S3'22+/bin/sh
A Si desea almacenar toda la in"ormaciTn de actividad
A de =rocmail en una bitUcoraB des!comente lo siguiente#
A20I>)2'+/var/log/procmail#log
A *on"iguraciTn basada sobre http7//bulma#net/body#phtml\n)d-oticia+19$6
A y adecuada y actualiCadaB por Soel ;arrios &ueNas#
5(/R'=0R1+a/usr/bin/&)#<-s&#n !!stdout !!no!summary ! R cut !d7 !" 8a
()R?S+ai" D ,F5(/R'=0R1, W+ , 0H, E[ then echo <es[ else echo -o["ia
A 5Nade el campo de reporte *lam5(#
7%"
R "ormail !i ,X!(irus7 F()R?S,
A Si el mensaOe es positivo a virusB se cambia el asunto#
7%"
L `X!(irus7 <es
R "ormail !i ,(irus7 F5(/R'=0R1, !i ,SubOect7 .'-S5S' *0- ()R?S7 F5(/R'=0R1,
A 3acer pasar todo el correo electrTnico a travhs de spamassassin
7%"
R /usr/bin/s'#<&
Con lo anterior! tendr& una solucin ace"table! barata! confiable! r&"ida % sencilla! "ara servidores de correo
electrnico con mucha carga de traba%o$
Si! ade'&s! necesita .ue todos los 'ensa(es de S"a' % los 'ensa(es infectados con virus sean 'ovidos
auto'&tica'ente a la car"eta de correo ^8mail8EunO! utilice la siguiente configuracin "ara el arcivo
8etc8procmailrc)
22=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
S3'22+/bin/sh
A Si desea almacenar toda la in"ormaciTn de actividad
A de =rocmail en una bitUcoraB descomente lo siguiente#
A20I>)2'+/var/log/procmail#log
A *on"iguraciTn basada sobre http7//bulma#net/body#phtml\n)d-oticia+19$6
A y adecuada y actualiCadaB por Soel ;arrios &ueNas#
5(/R'=0R1+a/usr/bin/clamdscan !!stdout !!no!summary ! R cut !d7 !" 8a
()R?S+ai" D ,F5(/R'=0R1, W+ , 0H, E[ then echo <es[ else echo -o["ia
A 5Nade el campo de reporte *lam5(#
7%"
R "ormail !i ,X!(irus7 F()R?S,
A Si el mensaOe es positivo a virusB se cambia el asunto#
7%"
L `X!(irus7 <es
R "ormail !i ,(irus7 F5(/R'=0R1, !i ,SubOect7 .'-S5S' *0- ()R?S7 F5(/R'=0R1,
A Si el mensaOe es positivo a virusB se almacena en F30.'/mail/Sunk
7%7
L `X!(irus7 <es
WFOME;<#%);O>n8
A Si lo deseaB puede enviar los mensaOes in"ectados a /dev/null#
A 3acer pasar todo el correo electrTnico a travhs de spamassassin
7%"
R /usr/bin/spamc
A 2os mensaOes marcados como spamB se almacenan en F30.'/mail/Sunk
161
L YX-S'#<-S$#$>s1 Nes
WFOME;<#%);O>n8
Si lo desea! "uede descargar una co"ia del arcivo 8etc8procmailrc desde +lcanceLibre$org! con el
contenido anterior$
get http7//#alcancelibre#org/linux/secrets/procmailrc !0 /etc/procmailrc
+ fin de .ue todo lo anterior funcione correcta'ente! es i'"rescindible .ue los usuarios generen % se
suscriban con antelacin a la car"eta ?:+- `D(5/8mail8EunO$ Fs i'"ortante 'encionar .ue con el "ri'er
'ensa(e .ue sea "rocesado! la car"eta ?:+- `D(5/8mail8EunO ser& "ro"iedad de root! con "er'iso de slo
lectura "ara root! salvo .ue a%a sido creada % suscrita "revia'ente "or el usuario$
-ara auto'ati,ar lo anterior "ara las cuentas de usuario .ue sean creadas en lo subsecuente! e(ecute lo
siguiente "ara .ue /etc/sKel inclu%a el arcivo ^8mail8EunO % "ara .ue la car"eta ?:+- corres"ondiente est#
suscrita de 'odo "redeter'inado$
mkdir !m $%% /etc/skel/mail
touch /etc/skel/mail/Sunk
chmod 6%% /etc/skel/mail/Sunk
echo ,Sunk, Q /etc/skel/mail/#subscriptions
chmod 6%% /etc/skel/mail/#subscriptions
Si desea aorrarse traba(o % ex"licaciones a los usuarios existentes! "uede e(ecutar lo siguiente)
222
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cd /home
"or user in L
do
mkdir !m $%% Fuser/mail
touch Fuser/mail/Sunk
chmod 6%% Fuser/mail/Sunk
echo ,Sunk, QQ Fuser/mail/#subscriptions
chmod 6%% Fuser/mail/#subscriptions
chon !R Fuser7Fuser Fuser/mail/
done
cd !
Si tiene inter#s en 'e(orar % o"ti'i,ar! el filtrado de spam! consulte el docu'ento titulado ^Cmo instalar
+ configurar 9pamassassin$_
224
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0I. Introduccin a los protocolos de correo
electrnico.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0I.!. Introduccin.
0I.!.!. 7reparativos.
+ fin de "oder reali,ar todas las "ruebas corres"ondientes a cada "rotocolo! instale con el 'andato +um los
"a.uetes netcat 1nc3! dovecot % postfi* o bien sendmail$
Si elige utili,ar sendmail! e(ecute lo siguiente)
yum !y install mailx nc dovecot sendmail
Si elige utili,ar postfi*! e(ecute lo siguiente)
yum !y install mailx nc dovecot post"ix
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! o'ita el siguiente "aso$ Si utili,a Cent(9 0 o Red Dat
/nterprise &inu* 0! edite el arcivo 8etc8dovecot8conf.d8!I-mail.conf)
vim /etc/dovecot/con"#d/1%!mail#con"
+lrededor de la l/nea 89 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! estable,ca
mbo*#^8mail#IN$(BV8var8mail8cu co'o valor de la o"cin mailUlocation$
A See doc/iki/(ariables#txt "or "ull list# Some examples7
A
A mail/location + maildir7_/.aildir
A <#%)_)o&#$%on = <boE1V;<#%)1?NBOX=;*#r;<#%);A>
A mail/location + mbox7/var/mail/Yd/Y1n/Yn7)-&'X+/var/indexes/Yd/Y1n/Yn
A
A ]doc/iki/.ail2ocation#txtQ
A
mail/location + <boE1V;<#%)1?NBOX=;*#r;<#%);A>
Si se va a utili,ar Send'ail co'o :@+ "redeter'inado! es i'"ortante definir un gru"o de acceso de correo
en la configuracin de Dovecot$ Si se va a utili,ar -ostfix se "uede o'itir los dos siguientes "asos$
+lrededor de la l/nea 772 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! localice la o"cin
mailUprivilegedUgroup! desco'ente #sta % defina co'o valor el gru"o mail)
225
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Iroup to enable temporarily "or privileged operations# *urrently this is
A used only ith )-;0X hen either its initial creation or dotlocking "ails#
A 1ypically this is set to ,mail, to give access to /var/mail#
mail/privileged/group + <#%)
+lrededor de la l/nea 722 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! localice la o"cin
mailUaccessUgroups! desco'ente #sta % defina ta'bi#n co'o valor el gru"o mail)
A Irant access to these supplementary groups "or mail processes# 1ypically
A these are used to set up access to shared mailboxes# -ote that it may be
A dangerous to set these i" users can create symlinks (e#g# i" ,mail, group is
A set hereB ln !s /var/mail _/mail/var could allo a user to delete othersZ
A mailboxesB or ln !s /secret/shared/box _/mail/mybox ould allo reading it)#
mail/access/groups + <#%)
Se re.uiere .ue los usuarios locales "ertene,can al gru"o mail "ara .ue lo anterior re"resente un "roble'a
de seguridad$
Nota.
Fs i'"ortante sealar -ostfix crea auto'&tica'ente los bu,ones de entrada con "er'iso I0II 16r*66666663 % "or
tanto i'"ide utili,ar bu,ones de entrada co'"artidos! 'ientras .ue Send'ail lo ace con "er'iso I00I
16r*6r*66663 % "or tanto "er'ite utili,ar bu,ones de entrada co'"artidos$ Fn a'bos casos los "er'isos
"redeter'inados de los bu,ones de entrada slo se "ueden ca'biar 'odificando % co'"ilando de nuevo el cdigo
fuente$
Si se utili,a Send'ail co'o :@+ "redeter'inado! debido al "er'iso I00I con el .ue son creados los bu,ones de
entrada! a Dovecot le ser& i'"osible generar auto'&tica'ente las car"etas e /ndices ?:+-! "ues #ste fallar& al
co"iar el gru"o al .ue "ertenece el bu,n de entrada cuando #ste tiene "er'isos de lectura % escritura "ara
gru"o$ -or lo tanto se obtendr/an continua'ente los siguientes errores en la bit&cora 8var8log8maillog)
.ar 81 887@174: mail dovecot7 pop@("ulano)7 'rror7 mkdir(/home/"ulano/mail/#imap/)-;0X) "ailed7
0peration not permitted
.ar 81 887@174: mail dovecot7 pop@("ulano)7 'rror7 *ouldnZt open )-;0X7 )nternal error occurred# Re"er
to server log "or more in"ormation# D8%1@!%@!81 887@174:E
.ar 81 887@174: mail dovecot7 pop@("ulano)7 *ouldnZt open )-;0X top+%/%B retr+%/%B del+%/%B siCe+%
Fs "or #sto .ue! en el caso de utili,ar Send'ail co'o :@+ "redeter'inado! se re.uiere configurar .ue Dovecot
tenga "rivilegios de acceso sobre el gru"o mail$ De otro 'odo el ad'inistrador del siste'a estar/a obligado a
crear 'anual'ente los directorios l/'ail/$i'a"/?NBGO de todos los usuarios locales o ca'biar 'anual'ente los
"er'isos de todos los bu,ones de entrada de 9449 a 9499 % re"etir cual.uiera de las dos o"eraciones cada ve,
.ue se genere un nuevo usuario$
Si se utili,a -ostfix co'o :@+ "redeter'inado! es innecesario definir valor alguno en las o"ciones
mailUprivilegedUgroup % mailUaccessUgroups "ues los bu,ones de entrada se crean con "er'iso I0II % "or
tanto carecen de "er'isos de lectura % escritura "ara gru"o$
Guarde el arcivo % salga del editor de texto$
?nicie % active el servicio dovecot e(ecutando)
service dovecot start
chkcon"ig dovecot on
Fstable,ca sendmail o postfi*! co'o agente de trans"orte de correo 15<;! 5ail <rans"ort ;gent3
"redeter'inado del siste'a! utili,ando el 'andato alternatives! del siguiente 'odo)
alternatives !!con"ig mta
22A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo anterior devolver& una salida si'ilar a la siguiente! donde deber& elegir entre postfi* % sendmail co'o
:@+ "redeter'inado del siste'a)
3ay 8 programas Jue proporcionan ZmtaZ#
SelecciTn *omando
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1 /usr/sbin/sendmail#post"ix
LX 8 /usr/sbin/sendmail#sendmail
=resione )ntro para mantener la selecciTn actualDXE o escriba el nVmero de la selecciTn7 8
Si eligi utili,ar sendmail en lugar de postfi*! detenga este 0lti'o 1es el :@+ "redeter'inado en Cent(9
0 % Red Dat /nterprise &inu* 03 e inicie el servicio sendmail)
service post"ix stop
chkcon"ig post"ix o""
service sendmail start
chkcon"ig sendmail on
Si eligi utili,ar postfi* en lugar de sendmail! detenga este 0lti'o] 1es el :@+ "redeter'inado en
Cent(9 . % Red Dat /nterprise &inu* .3 e inicie el servicio postfi*)
service sendmail stop
chkcon"ig sendmail o""
service post"ix start
chkcon"ig post"ix on
Fn todo 'o'ento "odr& con'utar de nuevo entre Send'ail o -ostfix! co'o :@+ "redeter'inado del
siste'a! utili,ando este 'is'o "rocedi'iento$
0I.!.. 7rotocolos utili3ados.
0I.!..!. 95<7 P9imple 5ail <ransfer 7rotocolQ.
Fs un protocolo est6ndar de ?nternet! del Nivel de ;plicacin utili,ado! "ara la trans'isin de correo
electrnico a trav#s de una conexin @C-/?-$ Yste es! de eco! el 0nico "rotocolo utili,ado "ara la
trans'isin de correo electrnico a trav#s de ?nternet$ Fs un "rotocolo basado sobre texto % relativa'ente
si'"le! donde se es"ecifica un destinatario o '0lti"les destinatarios! en un 'ensa(e .ue es transferido$ + lo
largo de los aos an sido 'ucas las "ersonas .ue an editado o contribuido a las es"ecificaciones de
95<7! entre las cuales est&n Jon -ostel! Fric +ll'an! Dave CrocKer! Ned >reed! ;andall Gellens! Jon Llensin
% Leit :oore$
-ara deter'inar el servidor 95<7 "ara un do'inio dado! se utili,an los registros 5B 15ail F*canger3 en la
Nona de +utoridad corres"ondiente al ese 'is'o do'inio contestado "or un 9ervidor DN9$ Des"u#s de
establecerse una conexin entre el re'itente 1el cliente3 % el destinatario 1el servidor3! se inicia una sesin
95<7! e(e'"lificada a continuacin$
22B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
*liente7
F n& 3/7.6.6.3 /!
Servidor7 1rying 18$#%#%#1###
*onnected to localhost#localdomain (18$#%#%#1)#
'scape character is Z`EZ#
88% nombre#dominio 'S.1= Sendmail 6#1@#1/6#1@#1[ SatB 16 .ar 8%%6 167%878$ !%6%%
*liente7 FELO )o&#)hos$.)o&#)-o<#%n
Servidor7 8:% nombre#dominio 3ello localhost#localdomain D18$#%#%#1EB pleased to meet you
*liente7 MA?L FROM1Z+>)#noK)o&#)hos$.)o&#)-o<#%n[
Servidor7 8:% 8#1#% ]"ulano^localhost#localdomainQ### Sender ok
*liente7 RC9T TO1Z+>)#noK)o&#)hos$.)o&#)-o<#%n[
Servidor7 8:% 8#1#: ]"ulano^localhost#localdomainQ### Recipient ok
*liente7 DATA
Servidor7 @:4 'nter mailB end ith ,#, on a line by itsel"
*liente7 S>bDe&$1 Mens#De -e 'r>eb#
Fro<1 +>)#noK)o&#)hos$.)o&#)-o<#%n
To1 +>)#noK)o&#)hos$.)o&#)-o<#%n
Fo)#. \s$e es >n <ens#De -e 'r>eb#.
A-%os.
.
Servidor7 8:% 8#%#% k8).8RO5%%@96$ .essage accepted "or delivery
*liente7 TU?T
Servidor7 881 8#%#% nombre#dominio closing connection
Servidor7 *onnection closed by "oreign host#
La descri"cin co'"leta del "rotocolo original 9<57 est& definida en el R2C 4!! aun.ue el "rotocolo
utili,ado o% en d/a! ta'bi#n conocido co'o /95<7 1/xtended 9i'"le 5ail <ransfer 7rotocol3! est&
definido en el R2C 4!$ 95<7 traba(a sobre <C7 en el "uerto 22$
0I.!... 7(7, P7ost (ffice 7rotocol version ,Q.
Fs un protocolo est6ndar de ?nternet! del Nivel de ;plicacin! .ue recu"era el correo electrnico desde
un servidor re'oto a trav#s de una conexin @C-/?- desde un cliente local$ Fl diseo de 7(7, % sus
"redecesores es "er'itir a los usuarios recu"erar el correo electrnico! 'ientras est&n conectados en una
red % 'ani"ular los 'ensa(es recu"erados sin necesidad de "er'anecer conectados$ + "esar de .ue 'ucos
clientes de correo electrnico inclu%en so"orte "ara de(ar el correo en el servidor! todos los clientes de -G-8
recu"eran todos los 'ensa(es % los al'acenan co'o mensa%es nuevos en la co'"utadora o anfitrin!
utili,ado "or el usuario! eli'inan los 'ensa(es en el servidor % ter'inan la conexin$
Des"u#s de establecerse una conexin entre el cliente % el servidor! se inicia una sesin 7(7,!
e(e'"lificada a continuacin$
249
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
*liente7
F n& 3/7.6.6.3 336
Servidor7 1rying 18$#%#%#1###
*onnected to localhost#localdomain (18$#%#%#1)#
'scape character is Z`EZ#
X0H dovecot ready#
*liente7 USER +>)#no
Servidor7 X0H
*liente7 9ASS clave de accceso
Servidor7 X0H 2ogged in#
*liente7 STAT
Servidor7 X0H 1 $86
*liente7 L?ST
Servidor7 X0H 1 messages7
1 $86
#
*liente7 RETR 3
Servidor7 X0H $86 octets
Return!=ath7 ]"ulano^localhost#localdomainQ
Received7 "rom localhost#localdomain (localhost#localdomain D198#166#1#8:4E)
by localhost#localdomain (6#1@#1/6#1@#1) ith S.1= id k8).8RO5%%@96$
"or ]"ulano^localhost#localdomainQ[ SatB 16 .ar 8%%6 167%@781 !%6%%
&ate7 SatB 16 .ar 8%%6 167%878$ !%6%%
.essage!)d7 ]8%%6%@1688%@#k8).8RO5%%@96$^localhost#localdomainQ
SubOect7 .ensaOe de prueba
>rom7 "ulano^localhost#localdomain
1o7 "ulano^localhost#localdomain
Status7 0
*ontent!2ength7 4@
2ines7 8
X!?)&7 8%8
X!Heyords7
3ola# kste es un mensaOe de prueba#
5dios#
#
*liente7 TU?T
Servidor7 X0H 2ogging out#
*onnection closed by "oreign host#
7(7, est& definido en el R2C ![,[$ 7(7, traba(a sobre <C7 en el "uerto 779$
0I.!..,. I5;7 PInternet 5essage ;ccess 7rotocolQ.
Fs un protocolo est6ndar de ?nternet! del Nivel de ;plicacin! utili,ado "ara acceder acia el correo
electrnico al'acenado en un servidor re'oto! a trav#s de una conexin @C-/?- desde un cliente local$
La versin '&s reciente de I5;7 es la =! revisin 7 % est& definida en el R2C ,.I!$ I5;7 traba(a sobre <C7
en el "uerto 7=8$
>ue diseado "or :arK Cris"in en 7BA4 co'o una alternativa '&s 'oderna .ue resolviera las deficiencias
del "rotocolo 7(7,$ Las caracter/sticas '&s i'"ortantes de I5;7 inclu%en)
So"orte "ara los 'odos de o"eracin conectado 1connected3 % desconectado 1disconnected3!
"er'itiendo a los clientes de correo electrnico "er'ane,can conectados el 'is'o tie'"o
.ue su interfa, "er'ane,ca activa! descargando los 'ensa(es! "or "artes o co'"letos!
confor'e se necesite$
+ diferencia de 7(7,! "er'ite accesos si'ult&neos desde '0lti"les clientes % "ro"orciona los
'ecanis'os necesarios "ara .ue #stos detecten los ca'bios ecos "or otro cliente de correo
electrnico .ue est# conectado de 'anera concurrente al 'is'o bu,n de correo$
247
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-er'ite a los clientes obtener individual'ente cual.uier "arte 5I5/ 1acrni'o de
5ulti6-ur"ose Internet 5ail /xtensions o Fxtensiones de correo de ?nternet de "ro"sitos
'0lti"les3! as/ co'o ta'bi#n obtener "orciones de las "artes individuales o bien los 'ensa(es
co'"letos$
+ trav#s de banderas definidas en el "rotocolo! "er'ite vigilar la infor'acin de estado de
los 'ensa(es de correo electrnico .ue se 'antengan en el servidor$ -or e(e'"lo! si el estado
del 'ensa(e es ledo! no ledo! respondido o eliminado$
?nclu%e so"orte "ara '0lti"les bu,ones de correo electrnico! "er'itiendo crear! reno'brar o
eli'inar! 'ensa(es de correo electrnico "resentes en el servidor dentro de car"etas % 'over
estos 'ensa(es entre distintas cuentas de correo electrnico$ Fsta caracter/stica ta'bi#n
"er'ite al servidor "ro"orcionar acceso acia los car"etas "0blicas % las co'"artidas$
?nclu%e so"orte "ara reali,ar b0s.uedas del lado del servidor a trav#s de 'ecanis'os .ue
"er'iten obtener resultados de acuerdo a varios criterios! "er'itiendo evitar .ue los clientes
de correo electrnico tengan .ue descargar todos los 'ensa(es desde el servidor$
Las es"ecificaciones del "rotocolo I5;7 definen un 'ecanis'o ex"l/cito 'ediante el cual
"uede ser 'e(orada su funcionalidad a trav#s de extensiones$ Un e(e'"lo es la extensin
I5;7 ID&/! la cual "er'ite sincroni,ar ente el servidor % el cliente a trav#s de avisos$
Des"u#s de establecerse una conexin entre el cliente % el servidor! se inicia una sesin I5;7! e(e'"lificada
a continuacin$
*liente7
F n& 3/7.6.6.3 34
Servidor7 1rying 18$#%#%#1###
*onnected to localhost#localdomain (18$#%#%#1)#
'scape character is Z`EZ#
L 0H dovecot ready#
X0H dovecot ready#
*liente7 E LOG?N +>)#no clave de acceso
Servidor7 x 0H 2ogged in#
*liente7 E SELECT %nboE
Servidor7 L >25IS (K5nsered K>lagged K&eleted KSeen K&ra"t)
L 0H D='R.5-'-1>25IS (K5nsered K>lagged K&eleted KSeen K&ra"t KL)E >lags permitted#
L 1 'X)S1S
L % R'*'-1
L 0H D?-S''- 1E >irst unseen#
L 0H D?)&(52)&)1< 11%%:69@68E ?)&s valid
L 0H D?)&-'X1 8%@E =redicted next ?)&
x 0H DR'5&!4R)1'E Select completed#
*liente7 E FETCF 3 H+)#gs bo-y"he#-er.+%e)-s Hs>bDe&$I(I
Servidor7 L 1 >'1*3 (>25IS (KSeen) ;0&<D3'5&'R#>)'2&S (S?;S'*1)E e@%f
SubOect7 .ensaOe de prueba
)
x 0H >etch completed#
#
*liente7 E FETCF 3 Hbo-y"$eE$(I
Servidor7 L 1 >'1*3 (;0&<D1'X1E e4:f
3ola# kste es un mensaOe de prueba#
5dios#
)
x 0H >etch completed#
*liente7 E LOGOUT
Servidor7 L ;<' 2ogging out
x 0H 2ogout completed#
*onnection closed by "oreign host#
0I.. Referencias.
242
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
http#88RRR.ietf.org8rfc8rfc.t*t
http#88RRR.ietf.org8rfc8rfc4!.t*t
http#88RRR.ietf.org8rfc8rfc4!.t*t
http#88RRR.ietf.org8rfc8rfc![,[.t*t
http#88RRR.ietf.org8rfc8rfc,.I!.t*t
248
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0!. Configuracin b6sica de 9endmail.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0!.!. Introduccin.
Fs i'"rescindible "ri'ero estudiar % co'"render! los conce"tos descritos en el docu'ento titulado
^Introduccin a los protocolos de correo electrnico$_
0!.!.!. ;cerca de 9endmail.
Fs el '&s "o"ular agente de trans"orte de correo 1:@+ o 5ail <rans"ort ;gent3! res"onsable! .ui,&! de "oco
'&s del 59c del correo electrnico del 'undo$ +un.ue "or largo tie'"o se le a criticado "or 'ucos
incidentes de seguridad! lo cierto es .ue #stos sie'"re an sido resueltos en "ocas oras$
U;L) tt")//***$send'ail$org/$
0!.!.. ;cerca de Dovecot.
Dovecot es un servidor de -G-8 e ?:+-! de cdigo fuente abierto! .ue funciona en Linux % siste'as
basados sobre UnixH % diseado con la seguridad co'o "rinci"al ob(etivo$ Dovecot "uede utili,ar tanto el
for'ato mbo* co'o maildir % es co'"atible con las i'"le'entaciones de los servidores UQ6?:+- % Courier
?:+-$
U;L) tt")//dovecot$"rocontrol$fi/$
0!.!.,. ;cerca de 9;9& + C+rus 9;9&.
9;9& 19i'"le ;utentication and 9ecurit% &a%er3 es una i'"le'entacin diseada "ara la seguridad de
datos en "rotocolos de ?nternet$ Dese'"are(a los 'ecanis'os de la autenticacin desde "rotocolos de
a"licaciones! "er'itiendo! en teor/a! cual.uier 'ecanis'o de autenticacin so"ortado "or S+SL! "ara ser
utili,ado en cual.uier "rotocolo de a"licacin .ue sea ca"a, de utili,ar S+SL$ +ctual'ente S+SL es un
"rotocolo de la ?F@> 1Internet /ngineering <asK 2orce3 .ue a sido "ro"uesto co'o est&ndar$ Fst&
es"ecificado en el R2C creado "or Jon :e%ers en la Universidad Carnegie :ellon$
C+rus 9;9& es una i'"le'entacin de 9;9& .ue "uede ser utili,ada del lado del servidor o bien del lado
del cliente % .ue inclu%e co'o "rinci"ales 'ecanis'os de autenticacin so"ortados a +NGNR:GUS!
C;+:6:D2! D?GFS@6:D2! GSS+-? % -L+?N$ Fl cdigo fuente inclu%e ta'bi#n so"orte "ara los 'ecanis'os
LGG?N! S;-! N@L:! G-@ % LF;BF;GSMJ=$
U;L) tt")//asg$*eb$c'u$edu/sasl/sasl6librar%$t'l$
0!.. /Cuipamiento lgico necesario.
24=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
c%rus6sasl
c%rus6sasl6"lain
dovecot
'=
'aKe
send'ail6cf
send'ail
Instalacin a travs de +um.
Si se utili,a de Cent(9 o Red Dat /nterprise &inu* e(ecute lo siguiente)
yum !y install sendmail sendmail!c" dovecot m4 make K
cyrus!sasl cyrus!sasl!plain
Si acaso estuviese instalado! eli'ine el "a.uete c%rus6sasl6gssa"i! %a .ue este utili,a el '#todo de
autenticacin GSS+-?! 'is'o .ue re.uerir/a de la base de datos de cuentas de usuario de un servidor
Lerberos$ De igual 'anera! si estuviese instalado! eli'ine el "a.uete c%rus6sasl6'd2! %a .ue este utili,a los
'#todos de autenticacin C;+:6:D2 % Digest6:D2! 'is'os .ue re.uer/an asignar las contraseas "ara
S:@- a trav#s del 'andato sasl"ass*d2$ GutlooK carece de so"orte "ara estos '#todos de autenticacin$
yum remove cyrus!sasl!gssapi cyrus!sasl!md:
0!.,. 7rocedimientos.
0!.,.!. Definiendo 9endmail como agente de transporte de correo
predeterminado.
Fl 'andato alternatives! con la o"cin --config % el valor mta! se utili,a "ara con'utar el servicio de
correo electrnico del siste'a % elegir .u# "rogra'a utili,ar$ Slo es necesario utili,ar #ste si "revia'ente
estaban instalados -ostfix o Fxi'$ S/ este es el caso! e(ecute lo siguiente desde una ter'inal % defina
9endmail co'o agente de trans"orte de correo 15<;! 5ail <rans"ort ;gent3! seleccionado #ste$
alternatives !!con"ig mta
Lo anterior devolver& una salida si'ilar a la siguiente! donde deber& elegir entre postfi* % sendmail co'o
:@+ "redeter'inado del siste'a)
3ay 8 programas Jue proporcionan ZmtaZ#
SelecciTn *omando
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
1 /usr/sbin/sendmail#post"ix
LX 8 /usr/sbin/sendmail#sendmail
=resione )ntro para mantener la selecciTn actualDXE o bien escriba el nVmero de la selecciTn7 8
Si estuviera "resente postfi*! detenga #ste 1es el 5<; "redeter'inado en Cent(9 0 % Red Dat
/nterprise &inu* 03 e inicie el servicio sendmail)
242
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service post"ix stop
chkcon"ig post"ix o""
service sendmail start
chkcon"ig sendmail on
0!.,.. ;lta de cuentas de usuario + asignacin de contraseHas.
La autenticacin "ara 95<7! a trav#s de cual.uier '#todo 17&;IN! &(:IN! Digest-5D. o CR;5-5D.3!
re.uiere se active! e inicie! el servicio saslauthd del siguiente 'odo)
chkcon"ig saslauthd on
service saslauthd start
Fl alta de usuarios es la 'is'a .ue co'o con cual.uier otro usuario del siste'a$ Send'ail utili,ar& el
servicio saslauthd "ara autenticar a los usuarios a trav#s de los '#todos 7&;IN % &(:IN! con o"cin a
utili,ar ta'bi#n Digest-5D. o bien CR;5-5D.$
Fl alta de las cuentas del usuario en el siste'a! la cual se sugiere se asigne 8dev8null o 8sbin8nologin
co'o int#r"rete de 'andatos! "ude acerse del siguiente 'odo)
useradd !s /dev/null usuario
La asignacin de contraseas! "ara "er'itir autenticar a trav#s de 95<7! 7(7,! e I5;7! utili,ando el
'#todo 7&;IN o bien el '#todo &(:IN! se ace exacta'ente igual .ue con cual.uier otra cuenta de
usuario del siste'a! co'o se 'uestra a continuacin)
passd usuario
F(ecutando lo anterior! el siste'a solicitar& se ingrese una contrasea! con confir'acin$ -refiera utili,ar
buenas contraseas % de este 'odo evitar& "roble'as de seguridad$
Nota.
La asignacin de contraseas "ara autenticar 95<7! a trav#s de '#todos cifrados 1CR;5-5D. % DI:/9<-5D.3!
en siste'as con versin de Send'ail co'"ilada contra 9;9&- 1;ed IatH Fnter"rise Linux 2! CentGS 2 %
versiones "osteriores de #stos3! "uede acerse a trav#s del 'andato saslpassRd del siguiente 'odo! to'ando
en consideracin .ue (utlooO + (utlooO /*press carecen de soporte para autenticar contraseHas a travs
de estos mtodosG los cuales reCuieren adem6s tener instalado el paCuete c+rus-sasl-md. en el servidor
para la gestin de contraseHas)
saslpassd8 usuario
-uede 'ostrarse la lista de los usuarios con contrasea asignada a trav#s de S+SL62 utili,ando el 'andato
sasldblistusers$
Si los usuarios se van a dar de alta siguiendo el for'ato usuarioOdominio.tld en lugar de slo usuario! una
"r&ctica co'0n en los servidores con '0lti"les do'inios virtuales! es necesario aadir al servicio saslauthd
la o"cin -r! la cual "er'ite co'binar el no'bre de usuario % do'inio antes de "asar "or el 'ecanis'o de
autenticacin$ Si #ste es el caso! se debe editar el arcivo 8etc8s+sconfig8saslauthd)
vi /etc/syscon"ig/saslauthd
R aadir la o"cin -r a los argu'entos de 2&;:9)
244
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A &irectory in hich to place saslauthdZs listening socketB pid "ileB and so
A on# 1his directory must already exist#
S0*H'1&)R+/var/run/saslauthd
A .echanism to use hen checking passords# Run ,saslauthd !v, to get a list
A o" hich mechanism your installation as compiled ith the ablity to use#
.'*3+pam
A 0ptions sent to the saslauthd# )" the .'*3 is other than ,pam, uncomment
A the next line#
A &5'.0-0=1S+!!user saslauth
A 5dditional "lags to pass to saslauthd on the command line# See saslauthd(6)
A "or the list o" accepted "lags#
FLAGS=-r
R reiniciar el servicio saslauthd$
service saslauthd restart
0!.,.,. Dominios a administrar.
Fdite el arcivo 8etc8mail8local-host-names)
vi /etc/mail/local!host!names
Fstable,ca los do'inios locales .ue ser&n ad'inistrados$ Fn el siguiente e(e'"lo se establecen = do'inios
a ad'inistrar! donde tld 1Top /evel #omain o do'inio de nivel su"erior3 corres"onder/a a $co'! $org! $net!
etc$)
dominio1#tld
dominio8#tld
dominio@#tld
dominio4#tld
-roceda a crear el arcivo 8etc8mail8rela+-domains)
touch /etc/mail/relay!domains
Fdite el arcivo 8etc8mail8rela+-domains .ue acaba de crear)
vi /etc/mail/relay!domains
Fstable,ca los no'bres de los do'inios .ue tendr&n "er'itido re6trans'itir correo electrnico desde el
servidor$ @#cnica'ente tendr& casi el 'is'o contenido de 8etc8mail8local-host-names! a 'enos .ue se
desee excluir alg0n do'inio en "articular o bien se trate de servidor de correo secundario "ara otro do'inio
en otro servidor$
dominio1#tld
dominio8#tld
dominio@#tld
dominio4#tld
0!.,.-. Control de acceso
245
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara definir las listas de control de acceso! edite el arcivo 8etc8mail8access)
vi /etc/mail/access
Debe incluir en el arcivo 8etc8mail8access todas las direcciones I7 locales del servidor 1las .ue
devuelva el 'andato ip addr shoR3$
-uede incluir ta'bi#n la lista direcciones ?-! do'inios o bien cuentas de correo electrnico! a las .ue se
.uiera otorgar "er'isos de re6trans'isin sin restricciones o con "er'iso "ara enviar correo electrnico slo
a cuentas locales$ -uede definir ta'bi#n una lista negra de direcciones de correo electrnico! do'inios %
direcciones ?-! a las .ue se desee denegar el acceso$ Considere .ue)
Cual.uier ele'ento .ue va%a aco'"aado de R/&;Z! tendr& "er'itido enviar correo
electrnico! sin necesidad de autenticar % re-transmitir #ste sin restriccin alguna$
Cual.uier ele'ento .ue va%a aco'"aado de (N! tendr& "er'itido enviar correo electrnico!
sin necesidad de autenticar! "ero slo a las cuentas locales$
Cual.uier ele'ento .ue va%a aco'"aado de R/E/C<! tendr& "roibida cual.uier ti"o de
co'unicacin de correo electrnico$
Nota.
Ja'&s configure una seg'ento co'"leto de red local con R'25<! %a .ue de(ar/a de tener sentido utili,ar
autenticacin a trav#s de S:@- % "otencial'ente "odr/a "er'itir .ue los "roble'as de seguridad de 'a.uinas
infectadas con virus! gusanos o tro%anos! se 'agnifi.uen! siendo .ue "er'itir/a el env/o! sin restricciones! de
correo electrnico infectado o bien cantidades extraordinarias de spam! originadas "or los e.ui"os cu%a seguridad
se a%a visto co'"ro'etida$
F(e'"lo de configuracin "ara el arcivo 8etc8mail8access)
24A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
*onnect7localhost#localdomain R'25<
*onnect7localhost R'25<
*onnect718$#%#%#1 R'25<
A
A &irecciTn )= del propio servidor#
*onnect7198#166#$%#:1 R'25<
A
A 0tros servidores de correo en la 25- a los Jue se les permitirU enviar
A correo libremente a travhs del propio servidor de correo#
*onnect7198#166#$%#:8 R'25<
A
A &irecciones )= Jue sTlo podrUn entregar correo de "orma localB es decirB
A no pueden enviar correo "uera del propio servidor#
*onnect7198#166#8#84 0H
A
A 2ista negra
usuario^molesto#com R'S'*1
productoinutil#com#mx R'S'*1
1%#4#:#6 R'S'*1
A
A ;loJues de 5sia =aci"ic -etorksB )S= desde el cual se emite la mayor
A parte del Spam del mundo#
A 2as redes involucradas abarcan 5ustraliaB SapTnB *hinaB *orea del SurB
1aianB
A 3ong Hong e )ndia por lo Jue bloJuear el correo de dichas redes signi"ica
A cortar comunicaciTn con estos paMsesB pero acaba con entre el 6%Y y 6%Y
A del Spam#
888 R'S'*1
881 R'S'*1
88% R'S'*1
819 R'S'*1
816 R'S'*1
818 R'S'*1
811 R'S'*1
81% R'S'*1
8%@ R'S'*1
8%8 R'S'*1
14%#1%9 R'S'*1
1@@ R'S'*1
61 R'S'*1
6% R'S'*1
:9 R'S'*1
:6 R'S'*1
0!.,... ;lias de la cuenta del usuario root.
Fs "eligroso autenticarse con la cuenta del usuario root! a trav#s de cual.uier ti"o de red! slo "ara revisar
los 'ensa(es de correo electrnico originados "or el siste'a$ Se reco'ienda definir alias "ara la cuenta del
usuario root! acia la cual se entregar& todo el correo electrnico original'ente dirigido a root$
Fdite el arcivo 8etc8aliases)
vi /etc/aliases
+l final de #ste! defina a .ue cuenta de usuario regular le ser& entregado el correo electrnico original'ente
destinado a root)
root7 "ulano
24B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara convertir el arcivo /etc/aliases en /etc/aliases$db! .ue es el arcivo! en for'ato de base de datos! .ue
utili,ar& send'ail % "ara verificar .ue la sintaxis est# correcta o bien si existen aliases du"licados! e(ecute el
siguiente 'andato)
nealiases
Lo anterior! debe devolver una salida si'ilar a la siguiente)
/etc/aliases7 $$ aliasesB longest 1% bytesB $$$ bytes total
0!.,.0. Configuracin de funciones de 9endmail.
-ara definir! ca'biar o aadir funciones! edite el arcivo 8etc8mail8sendmail.mc$
vi /etc/mail/sendmail#mc
0!.,.0.!. conf95<7U&(:INU59:.
Fste "ar&'etro "er'ite establecer el 'ensa(e de bienvenida al establecer la conexin al servidor$ Fs "osible
ocultar el no'bre % la versin de Send'ail! #sto con el ob(eto de agregar seguridad por oscuridad$ >unciona
de 'anera sencilla! aciendo .ue! .uien estable,ca una conexin acia el servidor! sea inca"a, deter'inar
.u# versin de Send'ail se est& utili,ando % con #sto dificultar a un delincuente o abusador del servicio! el
deter'inar .ue vulnerabilidad es"ec/fica a"rovecar$ Desco'ente lo siguiente en el arcivo
8etc8mail8sendmail.mc! eli'inando el dnl % el es"acio .ue le antecede)
dnl A
dnl A &o not advertiCe sendmail version#
dnl A
-e+%neH]&on+SMT9_LOG?N_MSG@B]WD Sen-<#%)R Wb@I-n)
dnl A
dnl A de"ault logging level is 9B you might ant to set it higher to
dnl A debug the con"iguration
dnl A
dnl de"ine(acon"20I/2'('2ZB a9Z)dnl
Guarde los ca'bios % salga del editor$
;einicie el servicio sendmail)
service sendmail restart
;ealice una conexin al "uerto 22$ Gbtendr& una salida si'ilar a la siguiente)
F n& 3/7.6.6.3 /!
1rying 18$#%#%#1###
*onnected to mail#dominio#tld#
'scape character is Z`EZ#
88% mail#dominio#tld 'S.1= Sendmail [ .onB 1$ .ay 8%%4 %8788789 !%:%%
,>%$
881 8#%#% mail#dominio#tld closing connection
*onnection closed by "oreign host#
F
0!.,.0.. conf;"<DU(7<I(N9.
259
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Juelva a edita el arcivo 8etc8mail8sendmail.mc)
vi /etc/mail/sendmail#mc
La siguiente l/nea viene abilitada de 'odo "redeter'inado % "er'itir& reali,ar el "roceso de autenticacin
a trav#s del "uerto 22! utili,ando el '#todo 7&;IN o bien el '#todo &(:IN! los cuales trans'iten el
no'bre de usuario! (unto con su corres"ondiente contrasea! en texto si'"le! garanti,ando 799c de
co'"atibilidad con todos los clientes de correo electrnico existentes$ Sin e'bargo! #sto ta'bi#n i'"lica un
enor'e riesgo de seguridad! "or lo cual se reco'ienda i'"le'entar seguridad a trav#s de SSL/@LS$
de"ine(a??*=/.5)2'R/.5XZB a8%%%%%%Z)dnl
de"ine(acon"?S'R&;/S='*ZB a/etc/mail/userdb#dbZ)dnl
de"ine(acon"=R)(5*</>25ISZB aautharningsBnovr"yBnoexpnBrestrictJrunZ)dnl
-e+%neH]&on+AUTF_O9T?ONS@B]A@I-n)
dnl A
dnl A 1he "olloing allos relaying i" the user authenticatesB and disallos
dnl A plaintext authentication (=25)-/20I)-) on non!12S links
-ara aadir la seguridad necesaria! consulte % estudie el docu'ento titulado ^Cmo configurar 9endmail
+ Dovecot con soporte 99&8<&9$_
$
Nota.
Si utili,a la siguiente l/nea! en lugar de la 'encionada arriba! se desactivar& la funcin .ue "er'ite la
autenticacin enviando las contraseas en texto si'"le! a trav#s de conexiones sin cifrar 1SSL/@LS3 % se abilitar&
la funcin .ue slo "er'ite autenticar con contraseas en texto si'"le a trav#s de SSL/@LS % a trav#s de '#todos
.ue utilicen contraseas cifradas! co'o ser/a C;+:6:D2 % D?GFS@6:D2 con o sin SSL/@LS$ /sto obliga a utili3ar
99&8<&9 para reali3ar cone*iones a travs de cualCuier cliente de correo electrnico o bien clientes de
correo electrnico con soporte para autenticacin a travs de CR;5-5D. + DI:/9<-5D.$
@odos clientes de correo electrnico conocidos! exce"to GutlooK % GutlooK Fx"ress3! inclu%en so"orte "ara
C;+:6:D2 % D?GFS@6:D2$ Las conexiones sin SSL/@LS re.uieren a tener instalado el "a.uete c+rus-sasl-md. en
el servidor % asignar las contraseas "ara S:@- a trav#s del 'andato saslpassRd$
dnl A 1he "olloing allos relaying i" the user authenticatesB and disallos
dnl A plaintext authentication (=25)-/20I)-) on non!12S links
dnl A
-e+%neH]&on+AUTF_O9T?ONS@B]A '@I-n)
dnl A
dnl A =25)- is the pre"erred plaintext authentication method and used by
dnl A .oCilla .ail and 'volutionB though 0utlook 'xpress and other .?5s do
dnl A use 20I)-# 0ther mechanisms should be used i" the connection is not
Conviene abilitar esta o"cin en lugar de la anterior una ve, .ue se a configurado el soporte 99&8<&9 para
9endmail! "ues obliga a los usuarios a autenticarse utili,ando slo conexiones SSL/@LS$
0!.,.0.,. <R"9<U;"<DU5/CD + conf;"<DU5/CD;NI959.
Si se desea utili,ar S:@- con autenticacin! se re.uieren des6co'entar las siguientes dos l/neas del arcivo
8etc8mail8sendmail.mc! eli'inando el dnl % el es"acio .ue les "recede)
257
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
dnl A =25)- is the pre"erred plaintext authentication method and used by
dnl A .oCilla .ail and 'volutionB though 0utlook 'xpress and other .?5s do
dnl A use 20I)-# 0ther mechanisms should be used i" the connection is not
dnl A guaranteed secure#
dnl A =lease remember that saslauthd needs to be running "or 5?13#
dnl A
TRUST_AUTF_MECFH]EXTERNAL D?GEST-MD! CRAM-MD! LOG?N 9LA?N@I-n)
-e+%neH]&on+AUTF_MECFAN?SMS@B ]EXTERNAL GSSA9? D?GEST-MD! CRAM-MD!LOG?N 9LA?N@I-n)
dnl A
dnl A Rudimentary in"ormation on creating certi"icates "or sendmail 12S7
dnl A cd /etc/pki/tls/certs[ make sendmail#pem
0!.,.0.-. D;/5(NU(7<I(N9.
De 'odo "redeter'inado! 9endmail escuca "eticiones slo a trav#s de la interfa, de retorno del siste'a
1725$9$9$73! e ignorando otros dis"ositivos de red$ Slo se necesita eli'inar la restriccin de la interfa, de
retorno "ara "oder recibir correo desde ?nternet o desde la red de &rea local$ Localice la siguiente l/nea
resaltada)
dnl A 1he "olloing causes sendmail to only listen on the )=v4 loopback address
dnl A 18$#%#%#1 and not on any other netork devices# Remove the loopback
dnl A address restriction to accept email "rom the internet or intranet#
dnl A
DAEMON_O9T?ONSH]9or$=s<$'BA--r=3/7.6.6.3B N#<e=MTA@I-n)
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port :6$ "or
dnl A mail "rom .?5s that authenticate# Roaming users ho canZt reach their
dnl A pre"erred sendmail daemon due to port 8: being blocked or redirected "ind
dnl A this use"ul#
dnl A
&5'.0-/0=1)0-S(a=ort+submissionB -ame+.S5B .+'aZ)dnl
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port 46:B but
dnl A starting immediately in 12S mode upon connecting# =ort 8: or :6$ "olloed
Fxa'ine este "ar&'etro % eli'ine el valor ;ddrV!1.I.I.!! ade'&s de la co'a 1!3 .ue le antecede! de
'odo .ue .uede co'o se 'uestra a continuacin)
dnl A 1he "olloing causes sendmail to only listen on the )=v4 loopback address
dnl A 18$#%#%#1 and not on any other netork devices# Remove the loopback
dnl A address restriction to accept email "rom the internet or intranet#
dnl A
DAEMON_O9T?ONSH]9or$=s<$'B N#<e=MTA@I-n)
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port :6$ "or
dnl A mail "rom .?5s that authenticate# Roaming users ho canZt reach their
dnl A pre"erred sendmail daemon due to port 8: being blocked or redirected "ind
dnl A this use"ul#
dnl A
&5'.0-/0=1)0-S(a=ort+submissionB -ame+.S5B .+'aZ)dnl
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port 46:B but
dnl A starting immediately in 12S mode upon connecting# =ort 8: or :6$ "olloed
Fl "uerto 2A5 1sub'ission3 "uede ser utili,ado ta'bi#n "ara env/o de correo electrnico$ -or est&ndar se
utili,a co'o "uerto alternativo en los casos donde un cortafuegos i'"ide a los usuarios acceder acia
servidores de correo electrnico! los cuales nor'al'ente traba(an a trav#s del "uerto 22$ -ara este fin! se
re.uiere desco'entar la l/nea .ue inclu%e D;/5(NU(7<I(N9Pn7ortVsubmissionG NameV59;G
5V/a_Qdnl! co'o se ilustra a continuacin! resaltado en negrita)
252
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
dnl A 1he "olloing causes sendmail to only listen on the )=v4 loopback address
dnl A 18$#%#%#1 and not on any other netork devices# Remove the loopback
dnl A address restriction to accept email "rom the internet or intranet#
dnl A
&5'.0-/0=1)0-S(a=ort+smtpB -ame+.15Z)dnl
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port :6$ "or
dnl A mail "rom .?5s that authenticate# Roaming users ho canZt reach their
dnl A pre"erred sendmail daemon due to port 8: being blocked or redirected "ind
dnl A this use"ul#
dnl A
DAEMON_O9T?ONSH]9or$=s>b<%ss%onB N#<e=MSAB M=E#@I-n)
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port 46:B but
dnl A starting immediately in 12S mode upon connecting# =ort 8: or :6$ "olloed
0!.,.0... 2/;<"R/PnacceptUunresolvableUdomains_Q.
De 'odo "redeter'inado! co'o una for'a de "er'itir el env/o local del correo del "ro"io siste'a en una
co'"utadora de escritorio o una co'"utadora "ort&til! est& se utili,a el "ar&'etro
2/;<"R/PnacceptUunresolvableUdomains_Q$ Se reco'ienda desactivar esta funcin a fin de i'"edir se
ace"te correo de do'inios inexistentes 1general'ente utili,ado "ara el env/o de correo 'asivo no solicitado
o 9pam3$ Co'ente esta l/nea colocando un dnl % un es"acio! del siguiente 'odo)
dnl A 4e strongly recommend not accepting unresolvable domains i" you ant to
dnl A protect yoursel" "rom spam# 3oeverB the laptop and users on computers
dnl A that do not have 84x$ &-S do need this#
dnl A
-n) FEATUREH]#&&e'$_>nreso)*#b)e_-o<#%ns@I-n)
dnl A
dnl >'51?R'(arelay/based/on/.XZ)dnl
dnl A
0!.,.0.0. /nmascaramiento.
Des6co'ente las siguientes tres l/neas % ada"te el valor de 5;9?"/R;D/U;9 "ara definir la '&scara .ue
utili,ar& el servidor "ara enviar correo electrnico 1es decir! define lo .ue va des"u#s de la u en la direccin
de correo3)
.5Sb?'R5&'/5S(a-o<%n%o3.$)-Z)dnl
>'51?R'(masJuerade/envelope)dnl
>'51?R'(masJuerade/entire/domain)dnl
Si se van a ad'inistrar '0lti"les do'inios! aada a.uellos deban conservar su "ro"ia '&scara! utili,ando el
"ar&'etro 5;9?"/R;D/U/BC/7<I(N del siguiente 'odo)
.5Sb?'R5&'/5S(adominio1#tldZ)dnl
MASTUERADE_EXCE9T?ONH]-o<%n%o/.$)-@I-n)
MASTUERADE_EXCE9T?ONH]-o<%n%o.$)-@I-n)
MASTUERADE_EXCE9T?ONH]-o<%n%o4.$)-@I-n)
>'51?R'(masJuerade/envelope)dnl
>'51?R'(masJuerade/entire/domain)dnl
0!.,.0.1. Control del correo chatarra PspamQ a travs de DN9$&s.
Si se desea utili,ar listas negras "ara 'itigar el correo catarra 1spam3! "ueden aadir la siguiente l/nea
"ara definir la lista negra de 9pamCop.net! casi al final del arcivo 8etc8mail8sendmail.mc % (usto arriba
de GA0%,ACsmtpEdnl)
258
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
dnl .5Sb?'R5&'/&0.5)-(localhost#localdomain)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomainalias#com)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomain#lan)dnl
FEATUREH]enh-nsb)@B ]b).s'#<&o'.ne$@B ]"S'#< b)o&8e- see1 h$$'1;;s'#<&o'.ne$;b).sh$<)X"W^Q&)%en$_#--rS@B ]$@I-n)
.5)2'R(smtp)dnl
.5)2'R(procmail)dnl
dnl .5)2'R(cyrusv8)dnl
0!.,.1. Configuracin de Dovecot.
0!.,.1.!. (pciones del archivo 8etc8dovecot8dovecot.conf en Cent(9 0 + Red Dat
/nterprise &inu* 0.
Cent(9 0 % Red Dat /nterprise &inu* 0 utili,an la versin .I de Dovecot % "or lo cual ca'bia
radical'ente la configuracin res"ecto de la versin !.I.*! utili,ada en Cent(9 . % Red Dat /nterprise
&inu* . % versiones anteriores$ Fdite el arcivo 8etc8dovecot8dovecot.conf % desco'ente el "ar&'etro
protocols! estableciendo co'o valor pop, imap lmtp$
A =rotocols e ant to be serving#
protocols + imap pop@ lmtp
0!.,.1.. (pciones del archivo 8etc8dovecot8conf.d8!I-mail.conf en Cent(9 0 + Red Dat
/nterprise &inu* 0.
+lrededor de la l/nea 89 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! estable,ca
mbo*#^8mail#IN$(BV8var8mail8cu co'o valor del "ar&'etro mailUlocation$
A See doc/iki/(ariables#txt "or "ull list# Some examples7
A
A mail/location + maildir7_/.aildir
A mail/location + mbox7_/mail7)-;0X+/var/mail/Yu
A mail/location + mbox7/var/mail/Yd/Y1n/Yn7)-&'X+/var/indexes/Yd/Y1n/Yn
A
A ]doc/iki/.ail2ocation#txtQ
A
mail/location + <boE1V;<#%)1?NBOX=;*#r;<#%);A>
Fn este 'is'o arcivo! alrededor de la l/nea 772! localice la o"cin mailUprivilegedUgroup! desco'ente
#sta % defina co'o valor el gru"o mail)
A Iroup to enable temporarily "or privileged operations# *urrently this is
A used only ith )-;0X hen either its initial creation or dotlocking "ails#
A 1ypically this is set to ,mail, to give access to /var/mail#
mail/privileged/group + <#%)
+lrededor de la l/nea 722 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! localice la o"cin
mailUaccessUgroups! desco'ente #sta % defina ta'bi#n co'o valor el gru"o mail)
A Irant access to these supplementary groups "or mail processes# 1ypically
A these are used to set up access to shared mailboxes# -ote that it may be
A dangerous to set these i" users can create symlinks (e#g# i" ,mail, group is
A set hereB ln !s /var/mail _/mail/var could allo a user to delete othersZ
A mailboxesB or ln !s /secret/shared/box _/mail/mybox ould allo reading it)#
mail/access/groups + <#%)
Se re.uiere .ue los usuarios locales "ertene,can al gru"o mail "ara .ue lo anterior re"resente un "roble'a
de seguridad$
25=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cabe sealar .ue la versin de dovecot incluida en Cent(9 0 % Red DatF /nterprise &inu* 0! es
obligatorio generar un certificado! "ues slo "er'itir& conexiones sin @LS desde 725$9$9$7$ Siga el
"rocedi'iento descrito en el docu'ento titulado Cmo configurar 9endmail + Dovecot con soporte
99&8<&9$
0!.,.1.,. (pciones del archivo 8etc8dovecot8conf.d8!I-auth.conf en Cent(9 0 + Red Dat
/nterprise &inu* 0.
De 'odo "redeter'inado Dovecot slo "er'ite autenticar con texto si'"le sin SSL/@LS desde el anfitrin
local$ La autenticacin de usuarios desde anfitriones re'otos slo se "er'ite a trav#s de SSL/@LS$ Si
re.uiere "er'itir la autenticacin de usuarios sin SSL/@LS `algo poco prudente en servidores en
produccin! "ero "erfecto "ara reali,ar "ruebas si'"les de autenticacin` edite el arcivo
/etc/dovecot/conf$d/796aut$conf)
vi /etc/dovecot/con"#d/1%!auth#con"
Localice la o"cin disableUplainte*tUauth)
AA
AA 5uthentication processes
AA
A &isable 20I)- command and all other plaintext authentications unless
A SS2/12S is used (20I)-&)S5;2'& capability)# -ote that i" the remote )=
A matches the local )= (ie# youZre connecting "rom the same computer)B the
A connection is considered secure and plaintext authentication is alloed#
P-%s#b)e_')#%n$eE$_#>$h = yes
Duite la al'oadilla % ca'bie el valor +es "or no)
AA
AA 5uthentication processes
AA
A &isable 20I)- command and all other plaintext authentications unless
A SS2/12S is used (20I)-&)S5;2'& capability)# -ote that i" the remote )=
A matches the local )= (ie# youZre connecting "rom the same computer)B the
A connection is considered secure and plaintext authentication is alloed#
-%s#b)e_')#%n$eE$_#>$h = no
Se reco'ienda de(ar la o"cin disableUplainte*tUauth con la o"cin +es a fin de obligar a los usuarios a
autenticar slo a travs de cone*iones 99&8<&9$
0!.,.1.-. (pciones del archivo 8etc8dovecot8dovecot.conf en Cent(9 . + Red Dat
/nterprise &inu* ..
Si utili,a Cent(9 . o Red DatF /nterprise &inu* .! slo debe editar el arcivo 8etc8dovecot.conf %
abilitar los servicios de ?:+- %/o -G-8! del siguiente 'odo 1est&n abilitados de 'odo "redeter'inado
"o"8! "o"8s! i'a"! e i'a"s3)
A =rotocols e ant to be serving7
A imap imaps pop@ pop@s
'ro$o&o)s = %<#' %<#'s 'o' 'o's
0!.,.4. ;Hadir al inicio del sistema e iniciar servicios dovecot + sendmail.
252
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl servicio dovecot! en cual.uiera de las versiones de los siste'as o"erativos 'encionados! se agrega al
inicio del siste'a del siguiente 'odo)
chkcon"ig dovecot on
-ara iniciar el servicio dovecot! se e(ecuta lo siguiente)
service dovecot start
-ara a"licar ca'bios en la configuracin del servicio dovecot! se e(ecuta lo siguiente)
service dovecot restart
Fl servicio sendmail se agrega al inicio del siste'a! e(ecutando lo siguiente)
chkcon"ig sendmail on
-ara iniciar el servicio sendmail! se e(ecuta lo siguiente)
service sendmail start
-ara reiniciar servicio sendmail! slo bastar& e(ecutar)
service sendmail restart
-robar servidor enviando/recibiendo 'ensa(es con CU+LDU?F; cliente est&ndar de correo electrnico con
so"orte "ara -G-8/?:+-/S:@- con so"orte "ara autenticar a trav#s de S:@- utili,ando los '#todos LGG?N o
-L+?N$
-ara detectar "osibles errores! se "uede exa'inar el contenido de la bit&cora de correo electrnico del
siste'a! utili,ando el 'andato tail! con la o"cin -f! sobre el arcivo 8var8log8maillog! co'o se 'uestra a
continuacin)
tail !" /var/log/maillog
0!.-. 5odificaciones necesarias en el muro cortafuegos.
Co'o 'edida de seguridad! sie'"re abra los "uertos del cortafuegos slo asta des"u#s de finali,ar la
configuracin del servidor de correo electrnico % .ue slo asta .ue a%a co'"robado las configuraciones$
-ara el funciona'iento nor'al de un servicio de correo electrnico est&ndar! es necesario abrir los "uertos
22 1s't"3! =42 1s't"s3! 2A5 1sub'ission3! 779 1"o"83! 7=8 1i'a"3! BB8 1i'a"s3 % BB2 1"o"8s3! todos "or @C-$
0!.-.!. 9ervicio iptables.
-uede utili,ar iptables! e(ecutando lo siguiente)
254
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8: !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 11% !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 14@ !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 46: !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport :6$ !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 99@ !O 5**'=1
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 99: !O 5**'=1
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 8: !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 11% !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 14@ !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 46: !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport :6$ !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 99@ !O 5**'=1
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 99: !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
0!.-.. 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vi /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 8:B46:B:6$
5**'=1 all " tcp 11%B14@B99@B99:
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
+l ter'inar de configurar las reglas "ara 9horeRall! reinicie el 'uro cortafuegos! e(ecutando el siguiente
'andato)
service shoreall restart
0!... &ecturas posteriores.
Se reco'ienda consultar los docu'entos titulados ^Cmo configurar 9endmail + Dovecot con soporte
99&8<&9_! ^Configuracin avan3ada de 9endmail_! ^Cmo instalar + configurar 9pamassassin_ %
^Configuracin simple para ;ntivirus + ;ntispam_$
255
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0. Configuracin de 9endmail + Dovecot con
soporte 99&8<&9.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0.!. Introduccin.
Fste docu'ento re.uiere la lectura % co'"rensin "revia del docu'ento titulado ^Configuracin b6sica
de 9endmail$_
0.!.!. ;cerca de D9;.
D9; 1Digital 9ignature ;lgorit' o +lgorit'o de >ir'a digital3 es un algorit'o creado "or el N?S@ 1National
Institute of 9tandards and <ecnolog% o ?nstituto Nacional de Nor'as % @ecnolog/a de FF$UU$3! "ublicado el
89 de agosto de 7BB7! co'o "ro"uesta "ara el "roceso de fir'as digitales$ Se utili,a "ara fir'ar
infor'acin! '&s no "ara cifrar #sta$
U;L) tt")//es$*iKi"edia$org/*iKi/DS+
0.!.. ;cerca de R9;.
R9;! acrni'o de los a"ellidos de sus autores! ;on Rivest! +di 9a'ir % Len ;dle'an! es un algorit'o "ara
el cifra'iento de claves "0blicas .ue fue "ublicado en 7B55! "atentado en FF$UU$ en 7BA8 "or el el ?nstituto
@ecnolgico de :icigan 15I<3$ R9; es utili,ado a'"lia'ente en todo el 'undo "ara los "rotocolos
destinados "ara el co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/;S+
0.!.,. ;cerca de B..I[.
B..I[ es un est&ndar I<"-< 1estandari,acin de <eleco'unicaciones de la International
<eleco''unication "nion 3 "ara infraestructura de claves "0blicas 17NI o 7ublic Ne% Infrastructure3$ Fntre
otras cosas! establece los est&ndares "ara certificados de claves "0blicas % un algorit'o "ara validacin de
ruta de certificacin$ Fste 0lti'o se encarga de verificar .ue la ruta de un certificado sea v&lida ba(o una
infraestructura de clave "0blica deter'inada$ Fs decir! desde el certificado inicial! "asando "or certificados
inter'edios! asta el certificado de confian,a e'itido "or una +utoridad Certificadora 1C; o Certification
;utorit%3$
U;L) tt")//es$*iKi"edia$org/*iKi/O$29B
0.!.-. ;cerca de (pen99&.
25A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
(pen99& es una i'"le'entacin libre! de cdigo abierto! de los "rotocolos 99& 19ecure 9ocKets &a%er o
Nivel de Ncalo Seguro3 % <&9 1<rans"ort &a%er 9ecurit% o Seguridad "ara Nivel de @rans"orte3$ Fst& basado
sobre el extinto "ro%ecto 99&ea+! iniciado "or Fric Roung % @i' Iudson! asta .ue #stos co'en,aron a
traba(ar "ara la divisin de seguridad de F:C Cor"oration$
U;L) tt")//***$o"enssl$org/
0.. 7rocedimientos.
@odos los "rocedi'ientos deben reali,arse co'o el usuario root$
0..!. :enerando firma digital + certificado para ambos servicios.
+cceda al directorio 8etc8pOi8tls8$
cd /etc/pki/tls/
La creacin de la fir'a digital % certificado re.uiere utili,ar una clave con algorit'o R9; de 29=A octetos
1bits3! con estructura B..I[ % sin DFS$ Fn el e(e'"lo a continuacin! se establece una valide, "or 7A22 d/as
1cinco aos3 "ara el certificado creado)
openssl reJ !x:%9 !nodes !nekey rsa78%46 !days 168: K
!out certs/-o<%n%o.$)-#crt !keyout private/-o<%n%o.$)-#key
Lo anterior solicitar& se ingresen varios datos)
Cdigo de dos letras "ara el "a/s$
Fstado o "rovincia$
Ciudad$
No'bre de la e'"resa o ra,n social$
Unidad o seccin$
No'bre del anfitrin$
Direccin de correo$
La salida debe devolver algo si'ilar a lo siguiente)
Ienerating a 1%84 bit &S5 private key
riting ne private key to Zsmtp#keyZ
!!!!!
<ou are about to be asked to enter in"ormation that ill be
incorporated into your certi"icate reJuest#
4hat you are about to enter is hat is called a &istinguished -ame
or a &-#
1here are Juite a "e "ields but you can leave some blank
>or some "ields there ill be a de"ault valueB
)" you enter Z#ZB the "ield ill be le"t blank#
!!!!!
*ountry -ame (8 letter code) DI;E7MX
State or =rovince -ame ("ull name) D;erkshireE7D%s$r%$o Fe-er#)
2ocality -ame (egB city) D-eburyE7MeE%&o
0rganiCation -ame (egB company) D.y *ompany 2tdE7E<'res#B S.A. -e C.:.
0rganiCational ?nit -ame (egB section) DE7D%re&&%on Co<er&%#)
*ommon -ame (egB your name or your serverZs hostname) DE7L.-o<%n%o.$)-
'mail 5ddress DE70eb<#s$erK-o<%n%o.&o<
25B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si defini un no'bre de anfitrin absoluto 1e(e'"lo) 'ail$do'inio$tld3! el certificado slo ser& v&lido cuando
el servidor de correo electrnico sea invocado con el no'bre definido en el ca'"o Common Name$ Fs
decir! slo "odr& utili,arlo cuando se defina mail.dominio.tld co'o servidor 95<7/I5;7/7(7, con
so"orte <&9 desde el cliente de correo electrnico$ >uncionar& incorrecta'ente si se invoca al servidor
co'o! "or 'encionar un e(e'"lo! correo.dominio.tld$ Fs "or eso .ue se sugiere utili,ar Y.dominio.com si
se "lanea acceder acia el 'is'o servidor con diferentes subdo'inios del 'is'o do'inio$
+ fin de facilitar a los clientes de correo electrnico el "oder gestionar una futura actuali,acin de
certificado! conviene aadir una uella distintiva indubitable 1finger"rint3 al certificado$
openssl x:%9 !subOect !"ingerprint !noout !in certs/-o<%n%o.$)-#crt
Fs indis"ensable .ue todos los arcivos de claves % certificados tengan "er'isos de acceso de slo lectura
"ara el usuario root)
chmod 4%% certs/-o<%n%o.$)-#crt private/-o<%n%o.$)-#key
;egrese al directorio de inicio del usuario root$
cd
0... Configuracin de 9endmail.
0...!. 7ar6metros de 8etc8mail8sendmail.mc.
Fdite el arcivo /etc/'ail/send'ail$'c)
vim /etc/mail/sendmail#mc
Fs necesario configurar los siguiente "ar&'etros a fin de .ue Send'ail utilice la clave % certificado reci#n
creados)
de"ine(acon"*5*'R1/=513ZBa/etc/pki/tls/certsZ)dnl
de"ine(acon"*5*'R1ZBa/etc/pki/tls/certs/ca!bundle#crtZ)dnl
-e+%neH]&on+SER:ER_CERT@B];e$&;'8%;$)s;&er$s;-o<%n%o.$)-.&r$@I-n)
-e+%neH]&on+SER:ER_.EN@B];e$&;'8%;$)s;'r%*#$e;-o<%n%o.$)-.8ey@I-n)
Fl acceso cifrado con @LS es o"cional si se reali,an conexiones a trav#s del "uerto 22 % obligatorio si se
acen a trav#s del "uerto =42$ Fl "uerto 2A5 1sub'ission3! "uede ser ta'bi#n utili,ado "ara env/o de correo
electrnico$ -or est&ndar se utili,a co'o "uerto alternativo en los casos donde un cortafuegos i'"ide a los
usuarios acceder acia servidores de correo traba(ando "or "uerto 22$ :S GutlooK Fx"ress carece de so"orte
"ara usar @LS a trav#s del "uerto 2A5! "ero el resto de los clientes de correo electrnico con so"orte @LS si
lo tienen$
+ fin de abilitar el "uerto =42 1s't"s3! a trav#s de @C-! se debe desco'entar la l/nea .ue contiene
D;/5(NU(7<I(N9Pn7ortVsmtpsG NameV<&95<;G 5Vs_Qdnl! co'o se 'uestra a continuacin!
resaltado en negrita)
2A9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
dnl A 1he "olloing causes sendmail to only listen on the )=v4 loopback address
dnl A 18$#%#%#1 and not on any other netork devices# Remove the loopback
dnl A address restriction to accept email "rom the internet or intranet#
dnl A
&5'.0-/0=1)0-S(a=ort+smtpB -ame+.15Z)dnl
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port :6$ "or
dnl A mail "rom .?5s that authenticate# Roaming users ho canZt reach their
dnl A pre"erred sendmail daemon due to port 8: being blocked or redirected "ind
dnl A this use"ul#
dnl A
&5'.0-/0=1)0-S(a=ort+submissionB -ame+.S5B .+'aZ)dnl
dnl A
dnl A 1he "olloing causes sendmail to additionally listen to port 46:B but
dnl A starting immediately in 12S mode upon connecting# =ort 8: or :6$ "olloed
dnl A by S15R112S is pre"erredB but roaming clients using 0utlook 'xpress canZt
dnl A do S15R112S on ports other than 8:# .oCilla .ail can 0-2< use S15R112S
dnl A and doesnZt support the deprecated smtps[ 'volution ]1#1#1 uses smtps
dnl A hen SS2 is enabled!! S15R112S support is available in version 1#1#1#
dnl A
dnl A >or this to ork your 0penSS2 certi"icates must be con"igured#
dnl A
DAEMON_O9T?ONSH]9or$=s<$'sB N#<e=TLSMTAB M=s@I-n)
dnl A
dnl A 1he "olloing causes sendmail to additionally listen on the )=v6 loopback
dnl A device# Remove the loopback address restriction listen to the netork#
+ fin de .ue surtan efecto los ca'bios! es necesario reiniciar el servicio sendmail$
service sendmail restart
0.... Comprobaciones.
;ealice una conexin con el 'andato nc 1netcat3 o bien el 'andato telnet! al "uerto 22 del siste'a$
?ngrese el 'andato /D&( con el do'inio configurado$ La salida deber& devolver! entre todas las funciones
del servidor % entre #stas debe devolver una l/nea .ue indica 9<;R<<&9$ La salida "uede ser si'ilar a la
siguiente)
n& 3/7.6.6.3 /!
88% dominio#com 'S.1= Sendmail [ SatB 19 Sun 8%1% 167167%8 !%:%%
eh)o -o<%n%o.&o<
8:%!dominio#com 3ello localhost#localdomain D18$#%#%#1EB pleased to meet you
8:%!'-35-*'&S151?S*0&'S
8:%!=)='2)-)-I
8:%!6;)1.).'
8:%!S)G'
8:%!&S-
8:%!'1R-
8:%!5?13 20I)- =25)-
/!6-STARTTLS
8:%!&'2)('R;<
8:% 3'2=
TU?T
-ara salir! slo escriba DU?@ % "ulse la tecla FN@F;$
F(ecute los siguientes 'andatos "ara verificar el so"orte SSL/@LS! estableciendo conexiones SSL % @LS acia
los "uertos 22! =42 % 2A5)
2A7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
openssl s/client !crl" !connect 18$#%#%#178: !starttls smtp
openssl s/client !connect 18$#%#%#1746:
openssl s/client !crl" !connect 18$#%#%#17:6$ !starttls smtp
La salida de todo lo anterior ser& 'u% extensa! 'ostrando la infor'acin de los certificados utili,ados$
+l reali,ar la configuracin del cliente de correo electrnico! "odr& es"ecificarse conexin "or SSL! @LS o
S@+;@@LS$ @ras ace"tar el certificado! deber& ser "osible autenticar! con no'bre de usuario % clave de
acceso % enviar correo electrnico$
0..,. Configuracin de Dovecot.
0..,.!. Configuracin de Dovecot en Cent(9 0 + Red Dat /nterprise &inu* 0.
Cent(9 0 % Red Dat /nterprise &inu* 0 utili,an la versin .I de Dovecot % "or lo cual ca'bia
radical'ente la configuracin res"ecto de la versin !.I.*! utili,ada en Cent(9 . % Red Dat /nterprise
&inu* .$
Fdite el arcivo 8etc8dovecot8conf.d8!I-ssl.conf)
vim /etc/dovecot/con"#d/1%!ssl#con"
Desco'ente las siguientes l/neas resaltadas en negrita)
A SS2/12S support7 yesB noB reJuired# ]doc/iki/SS2#txtQ
ss) = yes
A ='. encoded X#:%9 SS2/12S certi"icate and private key# 1heyZre opened be"ore
A dropping root privilegesB so keep the key "ile unreadable by anyone but
A root# )ncluded doc/mkcert#sh can be used to easily generate sel"!signed
A certi"icateB Oust make sure to update the domains in dovecot!openssl#cn"
ss)_&er$ = Z;e$&;'8%;$)s;&er$s;-o<%n%o.$)-.&r$
ss)_8ey = Z;e$&;'8%;$)s;'r%*#$e;-o<%n%o.$)-.8ey
+ fin de .ue surtan efecto los ca'bios! es necesario reiniciar el servicio dovecot$
service dovecot restart
0..,.. Configuracin de Dovecot en Cent(9 . + Red Dat /nterprise &inu* ..
Fdite el arcivo 8etc8dominio.tld.conf)
vim /etc/-o<%n%o.$)-#con"
+seg0rese .ue el "ar&'etro protocols est#n establecidos co'o valores) imap imaps pop, pop,s$
protocols + imap imaps pop@ pop@s
De 'odo "redeter'inado! el so"orte SSL de Dovecot est& activo$ Jerifi.ue .ue el "ar&'etro sslUdisable
tenga el valor no o bien slo est# co'entado$
Assl/disable + no
2A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
R se es"ecifican las rutas del certificado % clave a trav#s de los "ar&'etros sslUcertUfile % sslUOe+Ufile! del
siguiente 'odo)
ssl/cert/"ile + /etc/pki/tls/certs/-o<%n%o.$)-#crt
ssl/key/"ile + /etc/pki/tls/private/-o<%n%o.$)-#key
+ fin de .ue surtan efecto los ca'bios! es necesario reiniciar el servicio dovecot$
service dovecot restart
0..-. Comprobaciones.
F(ecute los siguientes 'andatos "ara verificar el so"orte SSL/@LS! estableciendo conexiones SSL % @LS acia
los "uertos 779! BB2! 7=8 % BB8)
openssl s/client !connect 18$#%#%#1799@
openssl s/client !connect 18$#%#%#1799:
openssl s/client !crl" !connect 18$#%#%#1711% !starttls pop@
openssl s/client !crl" !connect 18$#%#%#1714@ !starttls imap
La salida de todo lo anterior ser& 'u% extensa! 'ostrando la infor'acin de los certificados utili,ados$
Si lo "refiere! utilice cual.uier cliente de correo electrnico con so"orte "ara SSL! @LS o S@+;@@LS %
configure #ste "ara conectarse acia el siste'a a trav#s de I5;79 1"uerto BB83 o bien 7(7,9 1"uerto BB23$
@ras ace"tar el certificado del servidor! el siste'a deber& "er'itir autenticar! con no'bre de usuario % clave
de acceso % reali,ar la lectura del correo electrnico$
0.... Configuracin de :N(5/ /volution.
-ara GNG:F Fvolution! la configuracin de ?:+- o -G-8 se reali,a seleccionando el ti"o de servidor!
definiendo el no'bre del servidor utili,ado "ara crear el certificado! no'bre de usuario % usar encri"tacin
segura @LS$
2A8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin ?:+-! en GNG:F Fvolution$
Se ace lo 'is'o "ara la configuracin de S:@- 1utili,ar conexin segura @LS3! "ero considerando ade'&s
.ue ta'bi#n se "uede utili,ar el "uerto 2A5 1sub'ission3 en caso de .ue el "roveedor de acceso a ?nternet
del cliente a%a restringido el uso del "uerto 22 1s't"3$
2A=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin S:@-! GNG:F Fvolution$
0..0. Configuracin 5o3illa <hunderbird.
-ara :o,illa @underbird! se define el no'bre del servidor utili,ado "ara crear el certificado! usuario % usar
conexin segura @LS$
2A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin ?:+-! :o,illa @underbird$
Se ace lo 'is'o "ara la configuracin de S:@- 1utili,ar conexin segura @LS3! "ero considerando ade'&s
.ue ta'bi#n se "uede utili,ar el "uerto 2A5 1sub'ission3 en caso de .ue el "roveedor de acceso a ?nternet
del cliente a%a restringido el uso del "uerto 22 1s't"3$
2A4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0,. Configuracin avan3ada de 9endmail.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0,.!. ;ntes de continuar.
Fste docu'ento re.ueire la lectura "revia de los docu'entos titulados ^Introduccin a los protocolos
de correo electrnico_! ^Configuracin b6sica de 9endmail_ % ^Cmo configurar 9endmail +
Dovecot con soporte 99&8<&9$_
0,.. "suarios Jirtuales.
Si se desea brindar un servicio de os"eda(e de do'inios virtuales! "er'itiendo .ue los usuarios env/en %
reciban! correo electrnico! utili,ando sus "ro"ios do'inios! se deben aHadir los siguientes "ar&'etros
resaltados! (usto deba(o de la funcin de virtusertable del arcivo 8etc8mail8sendmail.mc)
de"ine(acon"10/)&'-1ZB a%Z)dnl
dnl >'51?R'(delay/checks)dnl
>'51?R'(ano/de"ault/msaZB adnlZ)dnl
>'51?R'(asmrshZB a/usr/sbin/smrshZ)dnl
>'51?R'(avirtusertableZBahash !o /etc/mail/virtusertable#dbZ)dnl
FEATUREH]gener%&s$#b)e@B]h#sh -o ;e$&;<#%);gener%&s$#b)e.-b@I-n)
GENER?CS_DOMA?N_F?LEH];e$&;<#%);gener%&s--o<#%ns@I-n)
>'51?R'(redirect)dnl
>'51?R'(alays/add/domain)dnl
>'51?R'(use/c/"ile)dnl
>'51?R'(use/ct/"ile)dnl
Se generan tres arcivos nuevos dentro del directorio /etc/mail)
touch /etc/mail/virtusertable
touch /etc/mail/genericstable
touch /etc/mail/generics!domains
Fl arcivo 8etc8mail8virtusertable sirve "ara definir .u# cuentas virtuales de correo electrnico se
entregan en ciertos bu,ones! de deter'inados usuarios$ Fdite el arcivo 8etc8mail8virtusertable)
vim /etc/mail/virtusertable
Fl for'ato de este arcivo "er'ite .ue la separacin de columnas se haga con tabuladores! a fin de
"oder alinear los registros % "oder tener todo 'e(or organi,ado$ Fn el e(e'"lo a continuacin! se entrega el
correo de (ebmasterOdominio4.net en la cuenta 'engano % el correo de (ebmasterOdominioL.com! en el
bu,n del usuario "erengano)
ebmaster^dominio1#net mengano
ebmaster^dominio8#com perengano
2A5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara acer .ue el correo electrnico del usuario mengano salga del servidor co'o
(ebmasterOdominio4.net % .ue el del usuario perengano salga co'o (ebmasterOdominioL.com! es
necesario definir en el arcivo 8etc8mail8genericstable! el contenido contrario del arcivo
8etc8mail8virtusertable$
Genere el arcivo 8etc8mail8genericstable)
touch /etc/mail/genericstable
Fdite el arcivo 8etc8mail8genericstable)
vim /etc/mail/generictable
Defina el contenido contrario del arcivo en el arcivo 8etc8mail8virtusertable! del siguiente 'odo)
mengano ebmaster^dominio1#net
perengano ebmaster^dominio8#com
-ara efectos "r&cticos % salvo Cue se reCuiera Cue ha+a m6s de una cuenta virtual de correo
electrnico para un mismo usuario o bien! Cue dos o m6s usuarios emitan mensa%es con la
misma cuenta de correo electrnico! se "uede 'antener sincroni,ados a'bos arcivos! traba(ando
directa'ente con 8etc8mail8virtusertable! e(ecutando el siguiente guin! el cual se encargar& de "asar el
texto desde el arcivo 8etc8mail8virtusertable! con el orden invertido de las colu'nas! acia el arcivo
8etc8mail8genericstable$
hile read cuenta usuario garbage
do
echo !e ,FeusuariofKtFecuentaf, QQ /etc/mail/genericstable
done ] /etc/mail/virtusertable
Fl arcivo 8etc8mail8generics-domains debe contener "r&ctica'ente lo 'is'o .ue el arcivo
8etc8mail8local-host-names! '&s los do'inios .ue va%an a ser gestionados co'o do'inios virtuales$
dominio#com
dominio1#net
dominio8#com
?nvariable'ente los arcivos 8etc8mail8virtusertable.db % 8etc8mail8genericstable.db! deben
actuali,arse con el contenido de 8etc8mail8virtusertable % 8etc8mail8genericstable! res"ectiva'ente!
cada ve, .ue se se realicen cual.uier ti"o de ca'bio! co'o actuali,ar! aadir o eli'inar! cuentas de correo
virtuales$
"or " in virtusertable genericstable
do
makemap hash /etc/mail/Fe"f#db ] /etc/mail/Fe"f
done
0,.,. /ncaminamiento de dominios.
2AA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Send'ail inclu%e so"orte "ara reali,ar en re6enca'ina'iento de do'inios de correo a trav#s del "ar&'etro
2/;<"R/Pnmailertable_Gnhash -o 8etc8mail8mailertable.db_Q .ue debe estar habilitado de modo
predeterminado en el arcivo 8etc8mail8sendmail.mc$ Fsta funcin "er'ite a Send'ail reali,ar
traduccin de do'inios! es"ecificar un agente de entrega % ca'biar el enca'ina'iento establecido en un
DNS$
0,.,.!. Redundancia del servidor de correo.
Cuando se tiene un do'inio de correo electrnico .ue recibe 'uco tr&fico! es conveniente establecer
redundancia en el servicio "ara garanti,ar .ue el correo sie'"re ser& recibido % llegar& a los bu,ones de
correo acia los .ue est& destinado$
Se re.uieren dos servidores de correo$ Uno deber& estar registrado en la ,ona del do'inio en el DNS co'o
servidor de correo primario 1'ail$do'inio$co'3 % otro deber& estar registrado en la ,ona del do'inio en
el DNS co'o servidor de correo secundario 1'ail2$do'inio$co'3 a fin de contar con redundancia$
!
.
Defina en la ,ona de DNS de do'inio$co' un servidor de correo "ri'ario 1'ail$do'inio$co'3 % un servidor de
correo secundario 1'ail2$do'inio$co'3
.
Configure nor'al'ente el servidor de correo "ri'ario 1'ail$do'inio$co'3 "ara ad'inistrar el correo de
do'inio$co'$
,
.
Configure el servidor de correo secundario 1'ail2$do'inio$co'3 del 'is'o 'odo! "ero no aada do'inio$co'
en el arcivo 8etc8mail8local-host-names %a .ue de otro 'odo el correo ser& tratado co'o local % (a'as
"odr& ser entregado en el servidor de correo "ri'ario$
-
.
Debe de estar listado do'inio$co' en el arcivo 8etc8mail8rela+-domains en el servidor de correo
secundario 1'ail2$do'inio$co'3 a fin de "er'itir la retrans'isin de #ste acia el servidor de correo "ri'ario
1'ail$do'inio$co'3$
.
.
Fn el servidor de correo secundario 1'ail2$do'inio$co'3 'odifi.ue el arcivo 8etc8mail8mailertable % defina
.ue do'inio$co' ser& entregado en el servidor de correo "ri'ario utili,ando el no'bre "lena'ente resuelto
en la ,ona del DNS$
dominio#com smtp7mail#dominio#com
Si lo desea! "uede es"ecificar la direccin ?- en lugar del no'bre)
dominio#com smtp7D1$8#16#1#:%E
0
.
;einicie Send'ail
service sendmail restart
1
.
Fn adelante el correo de do'inio$co' ser& entregado nor'al'ente % de "ri'era instancia en el servidor de
correo "ri'ario 1'ail$do'inio$co'3! "ero cuando #ste! "or alguna ra,n! se vea i'"osibilitado "ara recibir
conexiones! el servidor de correo secundario 1'ail2$do'inio$co'3 definido en la ,ona de DNS recibir& todo el
correo de do'inio$co' % lo entregar& en el servidor de correo "ri'ario 1'ail$do'inio$co'3 cuando #ste
re6estable,ca o"eraciones nor'al'ente$
0,.,.. 9ervidor de correo intermediario.
Send'ail "uede servir de inter'ediario de correo electrnico %a sea "ara filtrado de correo con un antivirus!
e.ui"a'iento lgico "ara filtrado de correo catarra o bien co'o inter'ediario entre una red "0blica % un
servidor en red local$ Se re.uieren dos servidores de correo$ Uno .ue ser& el servidor de correo inter'ediario
1"rox%$do'inio$co'3! .ue de for'a obligatoria deber& estar definido en la ,ona de DNS del do'inio co'o
servidor de correo "ri'ario 1un registro :O3 % otro .ue servir& co'o servidor de correo de destino
1'ail$do'inio$co'3$
!.
Fl servidor de correo .ue funcionar& co'o inter'ediario 1"rox%$do'inio$co'3 se configura nor'al'ente! "ero
no aada do'inio$co' en el arcivo 8etc8mail8local-host-names %a .ue de otro 'odo el correo ser& tratado
co'o local % (a'as "odr& ser entregado en el servidor de correo de destino 1'ail$do'inio$co'3$
2AB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
.
Debe de estar listado do'inio$co' en el arcivo 8etc8mail8rela+-domains en el servidor de correo
inter'ediario 1"rox%$do'inio$co'3 a fin de "er'itir la retrans'isin de #ste acia el servidor de correo
"ri'ario 1'ail$do'inio$co'3$
,.
La direccin - del servidor de destino 1'ail$do'inio$co'3 debe estar listada en el arcivo 8etc8mail8access
con R/&;Z 1retrans'isin autori,ada3 del servidor de correo inter'ediario 1"rox%$do'inio$co'3$
-.
La direccin - del servidor de inter'ediario 1"rox%$do'inio$co'3 debe estar listada en el arcivo
8etc8mail8access con R/&;Z 1retrans'isin autori,ada3 del servidor de correo de destino 1'ail$do'inio$co'3$
..
Fn el servidor de correo inter'ediario 1"rox%$do'inio$co'3 'odifi.ue el arcivo 8etc8mail8mailertable %
defina .ue do'inio$co' ser& entregado en el servidor de correo de destino 1'ail$do'inio$co'3 utili,ando el
no'bre 2?DN 12ull% ?ualified Do'ain Na'e3 % "lena'ente resuelto$
dominio#com smtp7mail#dominio#com
0.
Si lo desea! "uede es"ecificar la direccin ?- en lugar del no'bre)
dominio#com smtp7D1$8#16#1#:%E
1.
Fn el servidor de correo de destino 1'ail$do'inio$co'3! des6co'ente % defina pro*+.dominio.com co'o valor
"ara el "ar&'etro definePn95;R<UD(9<_Gnsmtp.+our.provider_Q! de 'odo .ue pro*+.dominio.com sea el
servidor de retrans'isin 1s'art ost)
de"ine(aS.5R1/30S1ZBaproxy#dominio#comZ)
4.
;einicie Send'ail en a'bos servidores de correo$
service sendmail restart
0,.-. Jerificando el servicio.
Desde una ter'inal! e(ecute el 'andato nc dirigido acia el "uerto 22 de la direccin ?- "rinci"al del
siste'a)
F nc 198#166#%#8:4 8:
Si Send'ail est& funcionando correcta'ente! se establecer& una conexin exitosa % deber& devolver una
salida si'ilar a la siguiente)
1rying 1$8#16#1#:%###
*onnected to nombre#dominio (1$8#16#1#:%)#
'scape character is Z`EZ#
88% nombre#dominio 'S.1= Sendmail 6#1@#1/6#1@#1[ SunB : .ar 8%%6 8174:7:1 !%6%%
F(ecute el 'andato D/&( seguido del no'bre del anfitrin)
3'20 nombre#dominio
Gbtendr& una salida si'ilar a esta)
8:% nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
F(ecute el 'andato /D&( seguido del no'bre del anfitrin)
'320 nombre#dominio
Gbtendr& una salida si'ilar a #sta % .ue 'ostrar& las funciones del servidor)
2B9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
8:%!nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
8:%!'-35-*'&S151?S*0&'S
8:%!=)='2)-)-I
8:%!6;)1.).'
8:%!S)G'
8:%!&S-
8:%!'1R-
8:%!5?13 &)I'S1!.&: *R5.!.&:
8:%!&'2)('R;<
8:% 3'2=
F(ecute el 'andato ?"I< "ara cerrar la conexin$
b?)1
Fl servidor deber& contestar lo siguiente al ter'inar la conexin)
881 8#%#% nombre#dominio closing connection
*onnection closed by "oreign host#
La salida co'"leta de todo el "rocedi'iento anterior debe lucir si'ilar a esto 1'andatos utili,ados
resaltados en negrita3)
D"ulano^nombre _EF n& 37/.35.3.!6 /!
1rying 1$8#16#1#:%###
*onnected to nombre#dominio (1$8#16#1#:%)#
'scape character is Z`EZ#
88% nombre#dominio 'S.1= Sendmail 6#1@#1/6#1@#1[ SunB : .ar 8%%6 8174:7:1 !%6%%
FELO no<bre.-o<%n%o
8:% nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
EFLO no<bre.-o<%n%o
8:%!nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
8:%!'-35-*'&S151?S*0&'S
8:%!=)='2)-)-I
8:%!6;)1.).'
8:%!S)G'
8:%!&S-
8:%!'1R-
8:%!5?13 &)I'S1!.&: *R5.!.&:
8:%!&'2)('R;<
8:% 3'2=
TU?T
881 8#%#% nombre#dominio closing connection
*onnection closed by "oreign host#
0,... 7ruebas de envo de correo.
0,...!. "tili3ando nc.
Utili,ar el 'andato nc "er'ite conocer % exa'inar co'o funciona real'ente la interaccin entre un servidor
de correo % un cliente de correo$
+bra una sesin con nc dirigido acia el "uerto 22 de la direccin ?- "rinci"al del siste'a$
nc 1$8#16#1#:% 8:
Salude al siste'a con el 'andato D/&( seguido del no'bre del anfitrin$
2B7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
3'20 nombre#dominio
Fl servidor de correo deber& contestarle)
8:% nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
F(ecute el 'andato 5;I& 2R(5 es"ecificando la cuenta de correo de un usuario local de sus siste'a del
siguiente 'odo)
.5)2 >R0.7 ]"ulano^nombre#dominioQ
Fl servidor de correo deber& contestarle lo siguiente! a 'enos .ue es"ecifi.ue una cuenta de correo con un
do'inio distinto a los es"ecificados en el arcivo 8etc8mail8rela+-domains)
8:% 8#1#% ]"ulano^nombre#dominioQ### Sender ok
F(ecute el 'andato RC7< <( es"ecificando una cuenta de correo existente en el servidor del siguiente
'odo)
R*=1 107 ]root^nombre#dominioQ
Fl servidor de correo deber& contestarle lo siguiente)
8:% 8#1#: ]root^nombre#dominioQ### Recipient ok
F(ecute el 'andato D;<;)
&515
Fl servidor de correo deber& contestarle lo siguiente)
@:4 'nter mailB end ith ,#, on a line by itsel"
Fnseguida se ingresa el texto .ue desee incluir en le 'ensa(e de correo electrnico$ +l ter'inar finalice con
un "unto en una nueva l/nea$
3olaB este es un mensaOe de prueba#
#
Fl siste'a deber& contestarle algo si'ilar a lo siguiente)
8:% 8#%#% k86@'HH%%68%9 .essage accepted "or delivery
F(ecute el 'andato ?"I<)
b?)1
Fl servidor deber& contestar lo siguiente al ter'inar la conexin)
2B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
881 8#%#% nombre#dominio closing connection
*onnection closed by "oreign host#
La salida co'"leta de todo el "rocedi'iento anterior debe lucir si'ilar a esto 1'andatos utili,ados
resaltados en negrita3)
D"ulano^nombre _EF n& 37/.35.3.!6 /!
1rying 1$8#16#1#:%###
*onnected to nombre#dominio (1$8#16#1#:%)#
'scape character is Z`EZ#
88% nombre#dominio 'S.1= Sendmail 6#1@#1/6#1@#1[ SunB : .ar 8%%6 817:6714
!%6%%
FELO no<bre.-o<%n%o
8:% nombre#dominio 3ello nombre#dominio D1$8#16#1#:%EB pleased to meet you
MA?L FROM1 Z+>)#noKno<bre.-o<%n%o[
8:% 8#1#% ]"ulano^nombre#dominioQ### Sender ok
RC9T TO1 Zroo$Kno<bre.-o<%n%o[
8:% 8#1#: ]root^nombre#dominioQ### Recipient ok
DATA
@:4 'nter mailB end ith ,#, on a line by itsel"
Fo)#B es$e es >n <ens#De -e 'r>eb#.
.
8:% 8#%#% k86@'HH%%68%9 .essage accepted "or delivery
TU?T
881 8#%#% nombre#dominio closing connection
*onnection closed by "oreign host#
0,.... "tili3ando mutt.
:utt! t#r'ino utili,ado en la lengua inglesa "ara referirse a "erros 'esti,os! es un cliente de correo
electrnico 1:U+ o 5ail "ser ;gent3 "ara 'odo texto$ ?nclu%e so"orte "ara color! ilos! :?:F! -G-/G-G!
"rotocolos -G-8! ?:+- % NN@- % "ara los for'atos de correo 5aildir % mbo*$
Basta e(ecutar 'utt % "ulsar las teclas indicadas la interfa, de texto "ara reali,ar diversas tareas$ -ara
enviar un 'ensa(e de correo electrnico siga este "rocedi'iento)
!. Co'o usuario sin "rivilegios! e(ecute mutt$
. ;es"onda con la tecla LsM "ara confir'ar .ue se crear& ^85ail$
,. Una ve, iniciada la interfa, de texto de mutt! "ulse la tecla LmM "ara crear un nuevo 'ensa(e$
-.
Fn la "arte inferior de la "antalla a"arece un di&logo "ara el destinatario 1<o# 3$ ?ngrese una cuenta de correo
electrnico v&lida o alguna .ue exista al 'enos en el do'inio de la ;ed Local 1&;N3$
..
Fn la "arte inferior de la "antalla a"arece un di&logo "ara ingresar el asunto del 'ensa(e 19ub%ect# 3$ ?ngrese
un t/tulo "ara el 'ensa(e$
0.
Fnseguida 'utt iniciar& vi "ara crear el texto .ue se enviar& en el 'ensa(e$ ?nicie el 'odo de insertar texto
1i3 de vi e ingrese algunas "alabras$ +l ter'inar! guarde % salga de vi 1#RC3$
1.
@ras ter'inar con el editor de texto si'"le vi! mutt "resentar& una vista "revia del 'ensa(e$ Confir'e .ue los
datos son los correctos % "ulse la tecla L+M "ara enviar el 'ensa(e$ Si necesita ca'biar alguno de #stos! "ulse
LtM "ara ca'biar el destinatario o bien "ulse la tecla LsM! "ara ca'biar el ca'"o de asunto del 'ensa(e$
4.
:utt le devolver& a la "antalla "rinci"al$ Si recibe un 'ensa(e de res"uesta! seleccione #ste % "ulse la tecla
/N</R "ara visuali,ar el contenido$
[. Si desea res"onder el 'ensa(e! "ulse la tecla LrM % re"ita los "rocedi'ientos del "aso = al 5$
Si lo desea! ta'bi#n "uede utili,ar 'utt desde la linea de 'andatos$
2B8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
echo !e K
,3olaB soy Fe?S'Rf en Fe30S1-5.'f#KnK
=or "avor responde este mensaOe#KnKnSaludos#, K
R mutt K
!s ,.ensaOe enviado desde Fe30S1-5.'f, K
"ulano^maJuina#dominio
Lo anterior env/a un 'ensa(e de correo electrnico acia la cuenta fulanou'a.uina$do'inio! con el asunto
^5ensa%e enviado desde nombre.dominio_ con el siguiente contenido co'o texto del 'ensa(e)
3olaB soy >s>#r%o en no<bre.-o<%n%o
=or "avor responde este mensaOe#
Saludos#
2B=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0-. (pciones avan3adas de seguridad para
9endmail.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0-.!. Introduccin.
Debido a la naturale,a del correo electrnico! es "osible "ara un atacante inundar f&cil'ente el servidor %
desencadenar en una denegacin de servicio$ >en'enos co'o el deno'inado correo 'asivo no solicitado
o S"a' no acen las cosas '&s f&ciles % las ad'inistracin de un servidor de correo "uede tornarse una
"esadilla$ +adir o"ciones avan,adas de seguridad se convierte en algo indis"ensable$
0-.. 2unciones.
@odas las funciones ex"licadas a continuacin "ueden incluirse en el arcivo /etc/mail/sendmail#mc (usto
deba(o de la 0lti'a l/nea .ue inclu%a de"ine % arriba de la "ri'era l/nea .ue inclu%a >'51?R'$
0-..!. conf5;BURC7<9U7/RU5/99;:/
Fste "ar&'etro sirve "ara establecer un n0'ero '&xi'o de destinatarios "ara un 'ensa(e de correo
electrnico$ De 'odo "redeter'inado Send'ail establece un '&xi'o de 224 destinatarios$ Fn el siguiente
e(e'"lo se li'itar& el n0'ero de destinatarios a 29)
de"ine(acon".5X/R*=1S/='R/.'SS5I'ZB a8%Z)dnl
0-... conf$;DURC7<U<DR(<<&/
Fste "ar&'etro sirve "ara establecer el tie'"o de letargo .ue se utili,ar& "or cada destinatario .ue
sobre"ase el l/'ite establecido "or con".5X/R*=1S/='R/.'SS5I'$ De 'odo "redeter'inado Send'ail no
establece tie'"o de letargo$ Fn el siguiente e(e'"lo se establecer&n 2 segundos de letargo "or cada
destinatario reca,ado "or sobre"asar el l/'ite de destinatarios "er'itidos)
de"ine(acon";5&/R*=1/13R0112'ZB a8Z)dnl
0-..,. conf7RIJ;CZU2&;:9
2B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cuando se establece co'o valor xgoa*a%t! se desabilitan varios 'andatos S:@- co'o FO-N % J;>R! los
cuales "udieran ser utili,ados "ara revelar los no'bres de usuarios locales a un s"a''er$ @a'bi#n
desabilita las notificaciones de entrega! el cual es un 'ecanis'o co'un'ente utili,ado "or .uienes env/an
correo 'asivo no solicitado "ara verificar/confir'ar la existencia de una cuenta activa % ace .ue el siste'a
solicite obligatoria'ente IFLG o FILG antes de utili,ar el 'andato :+?L$ :ucos "rogra'as de utili,ados
"ara enviar correo 'asivo no solicitado ni si.uiera se 'olestan en utili,ar IFLG o FILG$ De 'odo
"redeter'inado los valores de conf-;?J+CRM>L+GS son xaut*arnings!novrf%!noex"n!restrict.runt! ca'bie
"or lo siguiente)
de"ine(acon"=R)(5*</>25ISZBagoaayZ)dnl
0-..-. conf5;BUD/;D/R9U&/N:<D
Fst# "ar&'etro se utili,a "ara definir el ta'ao '&xi'o "er'itido "ara la cabecera de un 'ensa(e en b%tes$
+lgunos "rogra'as utili,ados "ara enviar s"a' tratan de i'"edir .ue los :@+ "uedan registrar
transacciones generando cabeceras 'u% grandes$
Li'itar le ta'ao de las cabeceras ace '&s dif/cil la e(ecucin de guin .ue ex"lote vulnerabilidades
recientes 1desborda'ientos de b0fer3 en UQ ?:+-! GutlooK % GutlooK Fx"ress$
La 'a%or "arte de los 'ensa(es de correo electrnico tendr&n cabeceras de 'enos de 2 Lb 129=A b%tes3$ Un
'ensa(e de correo electrnico ordinario! "or 'u% exagerado .ue resulte el ta'ao de la cabecera! rara ve,
utili,ar& una cabecera .ue sobre"ase los 2 Lb o 4 Lb! es decir! de 2729 o 47== b%tes$ Fn el siguiente
e(e'"lo se li'itar& el ta'ao '&xi'o de la cabecera de un 'ensa(e a 74 Lb 1re.urerido "ara :ailScanner3)
de"ine(acon".5X/3'5&'RS/2'-I13ZB a16@64Z)dnl
Fl valor sugerido es 74 Lb 1748A= b%tes3$ +u'ente o dis'inu%a el valor a su discresin$
0-.... conf5;BU5/99;:/U9Ib/
Fste "ar&'etro sirve "ara es"ecificar el ta'ao '&xi'o "er'itido "ara un 'ensa(e de correo electrnico en
b%tes$ -uede es"ecificarse lo .ue el ad'inistrador considera a"ro"iado$ Fn el siguiente e(e'"lo se li'itar&
el ta'ao '&xi'o de un 'ensa(e a 8 :B)
de"ine(acon".5X/.'SS5I'/S)G'ZB a@14:$86Z)dnl
0-..0. conf5;BUD;/5(NUCDI&DR/N
Fste "ar&'etro sirve "ara es"ecificar cuantos "rocesos i(os se "er'itir&n si'ult&nea'ente en el servidor
de correo$ De 'odo "redeter'inado send'ail no establece l/'ites "ara este "ar&'etro$ Si se sobre "asa el
l/'ite de conexiones si'ult&neas! el resto ser&n de'oradas asta .ue se ter'inen las conexiones
existentes % de(en lugar "ara nuevas conexiones$ Fn el siguiente e(e'"lo se li'itar& el n0'ero de
conexiones si'ult&neas acia el servidor a 2)
de"ine(acon".5X/&5'.0-/*3)2&R'-ZB a:Z)dnl
0-..1. confC(NN/C<I(NUR;</U<DR(<<&/
2B4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fste "ar&'etro sirve "ara establecer el nu'ero de conexiones '&xi'as "or segundo$ De 'odo
"redeter'inado send'ail no establece l/'ites "ara este "ar&'etro$ Fn el siguiente e(e'"lo se li'itar& a =
conexiones "or segundo)
de"ine(acon"*0--'*1)0-/R51'/13R0112'ZB a4Z)dnl
2B5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0.. Instalacin + configuracin de 7ostfi* + Dovecot
con soporte para <&9 + autenticacin.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
0..!. Introduccin.
Fs i'"rescindible "ri'ero estudiar % co'"render! los conce"tos descritos en el docu'ento titulado
^Introduccin a los protocolos de correo electrnico$_
0..!.!. ;cerca de 7ostfi*.
7ostfi*! original'ente conocido "or los no'bres J:ailer e ?B: Secure :ailer! es un "o"ular agente de
trans"orte de correo 1:@+ o 5ail <rans"ort ;gent3! creado con la "rinci"al intencin de ser una alternativa
'&s r&"ida! f&cil de ad'inistrar % segura .ue Send'ail$ >ue original'ente escrito "or Qietse Jene'a
durante su estancia en el @o'as J$ Qatson ;esearc Center de ?B:$
U;L) tt")//***$"ostfix$org/$
0..!.. ;cerca de Dovecot.
Dovecot es un servidor de -G-8 e ?:+- de fuente abierta .ue funciona en Linux % siste'as basados sobre
UnixH % diseado con la seguridad co'o "rinci"al ob(etivo$ Dovecot "uede utili,ar tanto el for'ato mbo*
co'o maildir % es co'"atible con las i'"le'entaciones de los servidores UQ6?:+- % Courier ?:+-$
U;L) tt")//dovecot$"rocontrol$fi/$
0..!.,. ;cerca de 9;9& + C+rus 9;9&.
9;9& 19i'"le ;utentication and 9ecurit% &a%er3 es un estructura "ara la seguridad de datos en "rotocolos
de ?nternet$ Dese'"are(a 'ecanis'os de la autenticacin desde "rotocolos de a"licaciones! "er'itiendo! en
teor/a! cual.uier 'ecanis'o de autenticacin so"ortado "or S+SL "ara ser utili,ado en cual.uier "rotocolo
de a"licacin .ue ca"a, de utili,ar S+SL$ +ctual'ente S+SL es un "rotocolo de la ?F@> 1Internet /ngineering
<asK 2orce3 .ue a sido "ro"uesto co'o est&ndar$ Fst& es"ecificado en el R2C creado "or Jon
:e%ers en la Universidad Carnegie :ellon$
C+rus 9;9& es una i'"le'entacin de 9;9& .ue "uede ser utili,ada del lado del servidor o del lado del
cliente % .ue inclu%e co'o "rinci"ales 'ecanis'os de autenticacin so"ortados a +NGNR:GUS! C;+:6:D2!
D?GFS@6:D2! GSS+-? % -L+?N$ Fl cdigo fuente inclu%e ta'bi#n so"orte "ara los 'ecanis'os LGG?N! S;-!
N@L:! G-@ % LF;BF;GSMJ=$
U;L) tt")//asg$*eb$c'u$edu/sasl/sasl6librar%$t'l$
2BA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0..!.-. ;cerca de D9;.
D9; 1Digital 9ignature ;lgorit' o +lgorit'o de >ir'a digital3 es un algorit'o creado "or el N?S@ 1National
Institute of 9tandards and <ecnolog% o ?nstituto Nacional de Nor'as % @ecnolog/a de FF$UU$3! "ublicado el
89 de agosto de 7BB7! co'o "ro"uesta "ara el "roceso de fir'as digitales$ Se utili,a "ara fir'ar
infor'acin! '&s no "ara cifrar #sta$
U;L) tt")//es$*iKi"edia$org/*iKi/DS+
0..!... ;cerca de R9;.
R9;! acrni'o de los a"ellidos de sus autores! ;on Rivest! +di 9a'ir % Len ;dle'an! es un algorit'o "ara
el cifra'iento de claves "0blicas .ue fue "ublicado en 7B55! "atentado en FF$UU$ en 7BA8 "or el el ?nstituto
@ecnolgico de :icigan 15I<3$ R9; es utili,ado a'"lia'ente en todo el 'undo "ara los "rotocolos
destinados "ara el co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/;S+
0..!.0. ;cerca de B..I[.
B..I[ es un est&ndar I<"-< 1estandari,acin de <eleco'unicaciones de la International
<eleco''unication "nion 3 "ara infraestructura de claves "0blicas 17NI o 7ublic Ne% Infrastructure3$ Fntre
otras cosas! establece los est&ndares "ara certificados de claves "0blicas % un algorit'o "ara validacin de
ruta de certificacin$ Fste 0lti'o se encarga de verificar .ue la ruta de un certificado sea v&lida ba(o una
infraestructura de clave "0blica deter'inada$ Fs decir! desde el certificado inicial! "asando "or certificados
inter'edios! asta el certificado de confian,a e'itido "or una +utoridad Certificadora 1C; o Certification
;utorit%3$
U;L) tt")//es$*iKi"edia$org/*iKi/O$29B
0..!.1. ;cerca de (pen99&.
(pen99& es una i'"le'entacin libre! de cdigo abierto! de los "rotocolos 99& 19ecure 9ocKets &a%er o
Nivel de Ncalo Seguro3 % <&9 1<rans"ort &a%er 9ecurit% o Seguridad "ara Nivel de @rans"orte3$ Fst& basado
sobre el extinto "ro%ecto 99&ea+! iniciado "or Fric Roung % @i' Iudson! asta .ue #stos co'en,aron a
traba(ar "ara la divisin de seguridad de F:C Cor"oration$
U;L) tt")//***$o"enssl$org/
0... /Cuipamiento lgico necesario.
?nstalar los "a.uetes postfi*! dovecot! c+rus-sasl % c+rus-sasl-plain)
yum !y install post"ix dovecot cyrus!sasl cyrus!sasl!plain
Si acaso estuviese instalado! eli'ine el "a.uete c%rus6sasl6gssa"i! %a .ue este utili,a el '#todo de
autenticacin GSS+-?! 'is'o .ue re.uerir/a de la base de datos de cuentas de usuario de un servidor
Lerberos)
yum remove cyrus!sasl!gssapi
2BB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
De igual 'anera! si estuviese instalado! eli'ine el "a.uete c%rus6sasl6'd2! %a .ue este utili,a los '#todos
de autenticacin C;+:6:D2 % Digest6:D2! 'is'os .ue re.uer/an asignar las claves de acceso "ara S:@- a
trav#s del 'andato sasl"ass*d2$ GutlooK carece de so"orte "ara estos '#todos de autenticacin$
yum remove cyrus!sasl!md:
0..,. 7rocedimientos.
@odos los "rocedi'ientos deben reali,arse co'o el usuario root$
0..,.!. Definiendo 7ostfi* como agente de transporte de correo
predeterminado.
Fl 'andato alternatives! con la o"cin alternatives66config 'ta! se utili,a "ara con'utar el servicio de
correo electrnico del siste'a % elegir .ue "a.uete utili,ar$ Slo es necesario utili,ar #ste si "revia'ente
estaban instalados Send'ail o Fxi'$ S/ este es el caso! e(ecute lo siguiente desde una ter'inal % defina
7ostfi* co'o agente de trans"orte de correo 15<;! 5ail <rans"ort ;gent3! seleccionado #ste$
alternatives !!con"ig mta
Lo anterior devolver& una salida si'ilar a la siguiente! donde deber& elegir entre postfi* % sendmail co'o
:@+ "redeter'inado del siste'a)
3ay 8 programas Jue proporcionan ZmtaZ#
SelecciTn *omando
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
LX 1 /usr/sbin/sendmail#post"ix
8 /usr/sbin/sendmail#sendmail
=resione )ntro para mantener la selecciTn actualDXE o escriba el nVmero de la selecciTn7 1
Si estuviera "resente sendmail! detenga #ste 1es el 5<; "redeter'inado en Cent(9 . % Red Dat
/nterprise &inu* .3 e inicie "ostfix)
service sendmail stop
chkcon"ig sendmail o""
service post"ix start
chkcon"ig post"ix on
0..,.. 9/&inu* + 7ostfi*.
+ fin de .ue SFLinux "er'ita a -ostfix escribir el el directorio de entrada de correo electrnico
18var8spool8mail83! es necesario abilitar la siguiente "ol/tica)
setsebool != allo/post"ix/local/rite/mail/spool 1
Solo en Cent(9 . % Red Dat /nterpise &inu* .! a fin de .ue SFLinux "er'ita la lectura de correo
electrnico! es necesario abilitar la siguiente "ol/tica)
setsebool != mail/read/content 1
499
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn Cent(9 0 % Red Dat /nterpise &inu* 0! esta "ol/tica de( de existir! "ues se volvi innecesaria$
0..,.,. Configuracin de 7ostfi*.
0..,.-. :enerando firma digital + certificado para ambos servicios.
+cceda al directorio 8etc8pOi8tls8$
cd /etc/pki/tls/
La creacin de la fir'a digital % certificado re.uiere utili,ar una clave con algorit'o R9; de 29=A octetos
1bits3! con estructura B..I[ % sin DFS$ Fn el e(e'"lo a continuacin! se establece una valide, "or 7A22 d/as
1cinco aos3 "ara el certificado creado)
openssl reJ !x:%9 !nodes !nekey rsa78%46 !days 168: K
!out certs/-o<%n%o.$)-#crt !keyout private/-o<%n%o.$)-#key
Lo anterior solicitar& se ingresen varios datos)
Cdigo de dos letras "ara el "a/s$
Fstado o "rovincia$
Ciudad$
No'bre de la e'"resa o ra,n social$
Unidad o seccin$
No'bre del anfitrin$
Direccin de correo$
La salida debe devolver algo si'ilar a lo siguiente)
Ienerating a 1%84 bit &S5 private key
riting ne private key to Zsmtp#keyZ
!!!!!
<ou are about to be asked to enter in"ormation that ill be
incorporated into your certi"icate reJuest#
4hat you are about to enter is hat is called a &istinguished -ame
or a &-#
1here are Juite a "e "ields but you can leave some blank
>or some "ields there ill be a de"ault valueB
)" you enter Z#ZB the "ield ill be le"t blank#
!!!!!
*ountry -ame (8 letter code) DI;E7MX
State or =rovince -ame ("ull name) D;erkshireE7D%s$r%$o Fe-er#)
2ocality -ame (egB city) D-eburyE7MeE%&o
0rganiCation -ame (egB company) D.y *ompany 2tdE7E<'res#B S.A. -e C.:.
0rganiCational ?nit -ame (egB section) DE7D%re&&%on Co<er&%#)
*ommon -ame (egB your name or your serverZs hostname) DE7L.-o<%n%o.$)-
'mail 5ddress DE70eb<#s$erK-o<%n%o.&o<
Si defini un no'bre de anfitrin absoluto 1e(e'"lo) 'ail$do'inio$tld3! el certificado slo ser& v&lido cuando
el servidor de correo electrnico sea invocado con el no'bre definido en el ca'"o Common Name$ Fs
decir! slo "odr& utili,arlo cuando se defina mail.dominio.tld co'o servidor 95<7/I5;7/7(7, con
so"orte <&9 desde el cliente de correo electrnico$ >uncionar& incorrecta'ente si se invoca al servidor
co'o! "or 'encionar un e(e'"lo! correo.dominio.tld$ Fs "or eso .ue se sugiere utili,ar Y.dominio.com si
se "lanea acceder acia el 'is'o servidor con diferentes subdo'inios del 'is'o do'inio$
497
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ fin de facilitar a los clientes de correo electrnico el "oder gestionar una futura actuali,acin de
certificado! conviene aadir una uella distintiva indubitable 1finger"rint3 al certificado$
openssl x:%9 !subOect !"ingerprint !noout !in certs/-o<%n%o.$)-#crt
Fs indis"ensable .ue todos los arcivos de claves % certificados tengan "er'isos de acceso de slo lectura
"ara el usuario root)
chmod 4%% certs/-o<%n%o.$)-#crt private/-o<%n%o.$)-#key
;egrese al directorio de inicio del usuario root$
cd
0..,.-.!. ;rchivo de configuracin 8etc8postfi*8master.cf.
Fditar el arcivo 8etc8postfi*8master.cf)
vim /etc/post"ix/master#c"
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! debe desco'entar las siguientes l/neas resaltadas en
negrita)
smtp inet n ! n ! ! smtpd
s>b<%ss%on %ne$ n - n - - s<$'-
-o s<$'-_en+or&e_$)s=yes
-o s<$'-_s#s)_#>$h_en#b)e=yes
-o s<$'-_&)%en$_res$r%&$%ons='er<%$_s#s)_#>$hen$%&#$e-BreDe&$
s<$'s %ne$ n - n - - s<$'-
-o s<$'-_$)s_0r#''er<o-e=yes
-o s<$'-_s#s)_#>$h_en#b)e=yes
-o s<$'-_&)%en$_res$r%&$%ons='er<%$_s#s)_#>$hen$%&#$e-BreDe&$
Si utili,a Cent(9 0 o Red Dat /nterprise &inu* 0! debe desco'entar las siguientes l/neas resaltadas en
negrita)
smtp inet n ! n ! ! smtpd
s>b<%ss%on %ne$ n - n - - s<$'-
-o s<$'-_$)s_se&>r%$y_)e*e)=en&ry'$
-o s<$'-_s#s)_#>$h_en#b)e=yes
-o s<$'-_&)%en$_res$r%&$%ons='er<%$_s#s)_#>$hen$%&#$e-BreDe&$
-o <%)$er_<#&ro_-#e<on_n#<e=OR?G?NAT?NG
s<$'s %ne$ n - n - - s<$'-
-o s<$'-_$)s_0r#''er<o-e=yes
-o s<$'-_s#s)_#>$h_en#b)e=yes
-o s<$'-_&)%en$_res$r%&$%ons='er<%$_s#s)_#>$hen$%&#$e-BreDe&$
-o <%)$er_<#&ro_-#e<on_n#<e=OR?G?NAT?NG
0..,.-.. ;rchivo de configuracin 8etc8postfi*8main.cf.
+ continuacin! se debe editar el arcivo 8etc8postfi*8main.cf)
vim /etc/post"ix/main#c"
492
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Respetando el resto del contenido original de este archivo % asu'iendo .ue el no'bre de anfitrin
del servidor es mail.dominio.com % .ue se va a utili,ar "ara gestionar el correo electrnico de
dominio.com! solo se deben locali3ar + configurar los siguientes "ar&'etros)
A 1odo lo siguiente solo reJuiere descomentarse o bien modi"icar la lMnea
A correspondiente Jue esth descomentada#
A &e"inir el nombre de an"itriTn del sistema (hostname)#
myhostname + mail#-o<%n%o.&o<
A &e"inir el dominio principal a gestionar#
mydomain + -o<%n%o.&o<
myorigin + Fmydomain
A &e"inir se trabaOe por todas las inter"aces#
A &e modo predeterminado solo trabaOa por la inter"aC de retorno del sistema
A (loopback)B es decirB solo escucha peticiones a travhs de sobre 18$#%#%#1
Ainet/inter"aces + localhost
inet/inter"aces + all
A Si se van a maneOar mUs dominios de correo electrTnicoB aNadirlos tambihn#
mydestination + FmyhostnameB FmydomainB localhost#localdomainB localhost
A &e"inir tus redes localesB eOemplo asume Jue tu 25- es 198#166#1#%/84
mynetorks + 198#166#1#%/84B 18$#%#%#%/6
A Si se van a maneOar mUs dominios de correo electrTnicoB aNadirlos tambihn#
relay/domains + Fmydestination
A )mportante para poder utiliCar 'ro&<#%) para "iltrar correo#
mailbox/command + /usr/bin/procmail
A 1odo lo siguiente estU ausente en la con"iguraciTn#
A 5Nadir todo al "inal del archivo main#c"
A
smtpd/tls/security/level + may
smtpd/tls/*5"ile + /etc/pki/tls/certs/ca!bundle#crt
A 2as rutas deben corresponder a las del certi"icado y "irma digital creados#
smtpd/tls/key/"ile + /etc/pki/tls/private/dominio#tld#key
smtpd/tls/cert/"ile + /etc/pki/tls/certs/dominio#tld#crt
smtpd/tls/auth/only + no
smtp/use/tls + yes
smtpd/use/tls + yes
smtp/tls/note/starttls/o""er + yes
smtpd/tls/loglevel + 1
smtpd/tls/received/header + yes
smtpd/tls/session/cache/timeout + @6%%s
tls/random/source + dev7/dev/urandom
A Soporte para autenticar a travhs de S5S2#
A smtpd/sasl/local/domain + A Solo como re"erencia#
smtpd/sasl/auth/enable + yes
smtpd/sasl/security/options + noanonymous
broken/sasl/auth/clients + yes
smtpd/sasl/authenticated/header + yes
smtpd/recipient/restrictions + permit/sasl/authenticatedBpermit/mynetorksBreOect/unauth/destination
+ fin de aorrar tie'"o reali,ando b0s.ueda de los "ar&'etros anteriores! todo lo anterior ta'bi#n se "uede
configurar utili,ando el 'andato postconf! del siguiente 'odo)
498
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
postcon" !e Zmyhostname + mail#-o<%n%o.&o<Z
postcon" !e Zmydomain + -o<%n%o.&o<Z
postcon" !e Zmyorigin + FmydomainZ
postcon" !e Zinet/inter"aces + allZ
postcon" !e Zmydestination + FmyhostnameB FmydomainB localhost#localdomainB localhostZ
postcon" !e Zmynetorks + 3=/.358.3.6;/4B 18$#%#%#%/6Z
postcon" !e Zrelay/domains + FmydestinationZ
postcon" !e Zmailbox/command + /usr/bin/procmailZ
postcon" !e Zsmtpd/tls/*5"ile + /etc/pki/tls/certs/ca!bundle#crtZ
postcon" !e Zsmtpd/tls/key/"ile + /etc/pki/tls/private/dominio#tld#keyZ
postcon" !e Zsmtpd/tls/cert/"ile + /etc/pki/tls/certs/dominio#tld#crtZ
postcon" !e Zsmtpd/tls/auth/only + noZ
postcon" !e Zsmtp/use/tls + yesZ
postcon" !e Zsmtpd/use/tls + yesZ
postcon" !e Zsmtp/tls/note/starttls/o""er + yesZ
postcon" !e Zsmtpd/tls/loglevel + 1Z
postcon" !e Zsmtpd/tls/received/header + yesZ
postcon" !e Zsmtpd/tls/session/cache/timeout + @6%%sZ
postcon" !e Ztls/random/source + dev7/dev/urandomZ
postcon" !e Zsmtpd/sasl/auth/enable + yesZ
postcon" !e Zsmtpd/sasl/security/options + noanonymousZ
postcon" !e Zbroken/sasl/auth/clients + yesZ
postcon" !e Zsmtpd/sasl/authenticated/header + yesZ
postcon" !e Zsmtpd/recipient/restrictions +
permit/sasl/authenticatedBpermit/mynetorksBreOect/unauth/destinationZ
0..,.-.,. ;rchivo de configuracin 8etc8aliases.
Se debe editar ta'bi#n el arcivo 8etc8aliases)
vim /etc/aliases
Se debe definir .ue el correo del usuario root se entregue al cual.uier otro usuario del siste'a$ Fl ob(etivo
de esto es .ue (a'&s se tenga necesidad de utili,ar la cuenta del usuario root % se "refiera en su lugar una
cuenta de usuario sin "rivilegios$ Solo se re.uiere desco'entar la 0lti'a l/nea de este arcivo! .ue co'o
e(e'"lo entrega el correo del usuario root al usuario marc % definir un usuario existente en el siste'a
Aroot7 marc
roo$1 +>)#no
+l ter'inar! se e(ecuta el 'andato postalias "ara generar el arcivo 8etc8aliases.db .ue ser& utili,ado "or
7ostfi*)
postalias /etc/aliases
0..,... Configuracin de Dovecot en Cent(9 . + Red Dat /nterprise &inu* ..
0..,...!. 7ar6metros del archivo 8etc8dovecot.conf.
Fditar el arcivo 8etc8dovecot.conf)
vim /etc/dovecot#con"
Fn el "ar&'etro protocols! se deben activar todos los servicios 1i'a"! i'a"s! "o"8 % "o"8s3$
protocols + imap imaps pop@ pop@s
49=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
De 'odo "redeter'inado! el so"orte SSL de Dovecot est& activo$ Jerifi.ue .ue el "ar&'etro sslUdisable
tenga el valor no o bien solo est# co'entado$
Assl/disable + no
R se es"ecifican las rutas del certificado % clave a trav#s de los "ar&'etros sslUcertUfile % sslUOe+Ufile! del
siguiente 'odo)
ssl/cert/"ile + /etc/pki/tls/&er$s/dominio#tld#crt
ssl/key/"ile + /etc/pki/tls/'r%*#$e/dominio#tld#key
0..,.0. Configuracin de Dovecot en Cent(9 0 + Red Dat /nterprise &inu* 0.
Cent(9 0 % Red Dat /nterprise &inu* 0 utili,an la versin .I de Dovecot % "or lo cual ca'bia
radical'ente la configuracin res"ecto de la versin !.I.*! utili,ada en Cent(9 . % Red Dat /nterprise
&inu* .$
0..,.0.!. 7ar6metros del archivo 8etc8dovecot8dovecot.conf.
Fdite el arcivo 8etc8dovecot8dovecot.conf % desco'ente el "ar&'etro protocolos! estableciendo co'o
valor pop, imap lmtp$
A =rotocols e ant to be serving#
protocols + imap pop@
0..,.0.. 7ar6metros del archivo 8etc8dovecot8conf.d8!I-mail.conf.
+lrededor de la l/nea 89 del arcivo 8etc8dovecot8conf.d8!I-mail.conf! estable,ca
mbo*#^8mail#IN$(BV8var8mail8cu co'o valor del "ar&'etro mailUlocation$
mail/location + mbox7_/mail7)-;0X+/var/mail/Yu
0..,.0.,. 7ar6metros del archivo 8etc8dovecot8conf.d8!I-ssl.conf.
Fn el arcivo 8etc8dovecot8conf.d8!I-ssl.conf! desco'ente las siguientes l/neas resaltadas en negrita)
A SS2/12S support7 yesB noB reJuired# ]doc/iki/SS2#txtQ
ss) = yes
A ='. encoded X#:%9 SS2/12S certi"icate and private key# 1heyZre opened be"ore
A dropping root privilegesB so keep the key "ile unreadable by anyone but
A root# )ncluded doc/mkcert#sh can be used to easily generate sel"!signed
A certi"icateB Oust make sure to update the domains in dovecot!openssl#cn"
ss)_&er$ = Z;e$&;'8%;$)-;&er$s;-o<%n%o.$)-.8ey
ss)_8ey = Z;e$&;'8%;$)s;'r%*#$e;-o<%n%o.$)-.8ey
0..,.1. Iniciar servicios + aHadir stos al arranCue del sistema.
Se deben aadir al arran.ue del siste'a e iniciar 1o reiniciar3 los servicios saslauthd! dovecot % postfi*)
492
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
chkcon"ig saslauthd on
chkcon"ig dovecot on
chkcon"ig post"ix on
service saslauthd start
service dovecot start
service post"ix restart
0..,.4. 9oporte para &5<7.
Si utili,a Cent(9 0 o Red hat /nterprise &inu* 0! es decir Dovecot .I % 7ostfi* .0.0! "odr& utili,ar
&5<7 1&ocal 5ail <ransfer 7rotocol3 o "rotocolo de trans"orte local de correo$ Fste "rotocolo esta basado
sobre el "rotocolo S:@- % est& diseado co'o una alternativa a S:@- "ara situaciones donde el lado
rece"tor carece de cola de correo 1queue mail3! co'o un :@+ .ue entiende conversaciones S:@-$ -uede ser
utili,ado co'o una for'a alternativa % '&s eficiente "ara el trans"orte de correo entre -ostfix % Dovecot$
Fdite el arcivo 8etc8dovecot8dovecot.conf % aada lmtp a los valores del "ar&'etro protocolos! de la
siguiente for'a$
A =rotocols e ant to be serving#
protocols + imap pop@ )<$'
+ fin de "oder acer uso de &5<7 de 'anera a"ro"iada! es necesario aadir el siguiente "ar&'etro en el
arcivo 8etc8postfi*8main.cf)
virtual/transport + lmtp7unix7/var/run/dovecot/lmtp
G bien e(ecutar lo siguiente)
postcon" !e Zvirtual/transport + lmtp7unix7/var/run/dovecot/lmtpZ
R reiniciar los servicios dovecot % postfi*$
service dovecot restart
service post"ix restart
0..,.[. 5odificaciones necesarias en el muro cortafuegos.
Si se utili,a un cortafuegos con "ol/ticas estrictas! co'o "or e(e'"lo 9horeRall! es necesario abrir! ade'&s
de los "uertos 22! 779! 7=8 % 2A5 "or @C- 195<7! 7(7,! I5;7 % 9ubmission! res"ectiva'ente3! los
"uertos =42! BB8 % BB2 "or @C- 195<79! I5;7 % 7(7,9! res"ectiva'ente3$
Fditar el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Las reglas "ara el arcivo 8etc8shoreRall8rules de 9horeRall corres"onder/a a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
ACCE9T ne$ +0 $&' /!B336B34B45!B!87B==B==!
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
494
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara .ue to'en efecto los ca'bios! a% .ue reiniciar el servicio Sore*all$
service shoreall restart
0..,.!I. ReCuisitos en la 3ona de reenvo en el servidor DN9.
Fs indis"ensable .ue exista un DNS .ue resuelva correcta'ente el do'inio % a"unte el servicio de correo
electrnico acia la ?- del servidor de correo electrnico reci#n configurado$ +su'iendo .ue se i,o
correcta'ente todo lo 'encionado en este docu'ento! la 0nica for'a en .ue se i'"osibilitar/a la llegada
%/o salida del correo electrnico se est# utili,ando un enlace +DSL con ?- din&'ica 1restringido "or le
"roveedor "ara utili,ar el "uerto 223 o bien .ue el servidor DNS .ue resuelve el do'inio! est# a"untando
acia otra direccin ?- "ara el servicio de correo electrnico$ Fn el DNS se re.uieren al 'enos los siguientes
registros! donde **.**.**.** corres"onde a la ?- del servidor de correo electrnico$
F112 664%%
^ )- S05 dns1#isp#com alguien#algo#com (
8%1%%619%1 [ -Vmero de serie
866%% [ 1iempo de re"resco
$8%% [ 1iempo entre reintentos
6%46%% [ tiempo de espiraciTn
664%% [ 1iempo total de vida
)
^ )- -S dns1#isp#com#
^ )- -S dns8#isp#com#
^ )- 5 a#b#c#d
K ?N MX 36 <#%)
K ?N TXT "*=s'+3 # <E -#))"
<#%) ?N A EE.EE.EE.EE
)- 5 a#b#c#d
"tp )- 5 a#b#c#d
0..-. Comprobaciones.
0..-.!. ; travs de terminal.
;ealice una conexin con el 'andato nc 1netcat3 o bien el 'andato telnet! al "uerto 22 del siste'a$
?ngrese el 'andato /D&( con el do'inio configurado$ La salida deber& devolver! entre todas las funciones
del servidor! una l/nea .ue indica 9<;R<<&9$ La salida "uede ser si'ilar a la siguiente)
n& 3/7.6.6.3 /!
88% emachine#alcancelibre#org 'S.1= =ost"ix
EFLO -o<%n%o.&o<
8:%!mail#dominio#com
8:%!=)='2)-)-I
8:%!S)G' 1%84%%%%
8:%!(R><
8:%!'1R-
/!6-STARTTLS
/!6-AUTF 9LA?N LOG?N
/!6-AUTF=9LA?N LOG?N
8:%!'-35-*'&S151?S*0&'S
8:%!6;)1.).'
8:% &S-
TU?T
-ara salir! solo escriba DU?@ % "ulse la tecla FN@F;$
0..-.. ; travs de clientes de correo electrnico.
495
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utilice cual.uier cliente de correo electrnico con so"orte "ara @LS/SSL % configure #ste "ara conectarse
acia el siste'a a trav#s de I5;79 1"uerto BB83 o bien 7(7,9 1"uerto BB23$ @ras ace"tar el certificado del
servidor! el siste'a deber& "er'itir autenticar! con no'bre de usuario % clave de acceso % reali,ar la lectura
del correo electrnico$
0..-..!. Configuracin de :N(5/ /volution.
-ara GNG:F Fvolution! la configuracin de ?:+- o -G-8! se reali,a seleccionando el ti"o de servidor!
definiendo el no'bre del servidor utili,ado "ara crear el certificado! no'bre de usuario % usar encri"tacin
segura @LS$
Configuracin ?:+-! en GNG:F Fvolution$
Se ace lo 'is'o "ara la configuracin de S:@- 1utili,ar conexin segura @LS3! "ero considerando ade'&s
.ue ta'bi#n se "uede utili,ar el "uerto 2A5 1sub'ission3 en caso de .ue el "roveedor de acceso a ?nternet
del cliente a%a restringido el uso del "uerto 22 1s't"3$
49A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin S:@-! GNG:F Fvolution$
0..-... Configuracin 5o3illa <hunderbird.
-ara :o,illa @underbird! se define el no'bre del servidor utili,ado "ara crear el certificado! usuario % usar
conexin segura @LS$
49B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin ?:+-! :o,illa @underbird$
Se ace lo 'is'o "ara la configuracin de S:@- 1utili,ar conexin segura @LS3! "ero considerando ade'&s
.ue ta'bi#n se "uede utili,ar el "uerto 2A5 1sub'ission3 en caso de .ue el "roveedor de acceso a ?nternet
del cliente a%a restringido el uso del "uerto 22 1s't"3$
Configuracin S:@-! :o,illa @underbird$
0.... 5odificaciones necesarias en el muro cortafuegos.
479
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se utili,a un cortafuegos con "ol/ticas estrictas! co'o "or e(e'"lo 9horeRall! es necesario abrir! ade'&s
de los "uertos 22! 779! 7=8 % 2A5 "or @C- 195<7! 7(7,! I5;7 % 9ubmission! res"ectiva'ente3! los
"uertos =42! BB8 % BB2 "or @C- 195<79! I5;7 % 7(7,9! res"ectiva'ente3$
La regla "ara el arcivo 8etc8shoreRall8rules de 9horeRall corres"onder/a a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 8:B11%B14@B46:B:6$B99@B99:
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
477
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
00. Cmo instalar + configurar ;mavisd-neR con
7ostfi* en Cent(9.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
00.!. Introduccin.
Fste docu'ento "er'itir& configurar -ostfix "ara utili,ar a'avisd6ne* "ara el control de virus % correo
spam$ Se re.uiere aber configurado "revia'ente -ostfix de la for'a en .ue se describe en el docu'ento
titulado ^#/mo instalar y configurar @ostfi6 en #ent1$ P con soporte para T%$ y autenticaci/n.3
00.!.!. ;cerca de ;mavisd-neR.
;mavisd-neR es una interfa, confiable % de alto dese'"eo entre el agente de tras"orte de correo 15<;!
5ail <rans"ort ;gent3 % uno o '&s su"ervisores de contenido! co'o es el caso de su"ervisores anti6virus!
%/o S"a'+ssassin$ Fst& escrito en -erl "ara asegurar su alta confiabilidad! "ortabilidad % facilidad de
'anteni'iento$
>unciona co'unic&ndose con el :@+ a trav#s de /95<7 1/xtended Si'"le 5ail <ransfer 7rotocol o
-rotocolo Si'"le de @ransferencia de Correo3 o bien &5<7 1&ocal 5ail <ransfer 7rotocol o -rotocolo de
@ransferencia Local de Correo3! a trav#s de "rogra'as auxiliares! con un diseo .ue i'"ide se "uede "arder
correo electrnico de 'anera incidental$
U;L) tt")//***$i(s$si/soft*are/a'avisd/
00.. /Cuipamiento lgico necesario.
00..!. Creacin del usuario para Clam;J.
De 'odo "redeter'inado! en los "a.uetes ;-: basados sobre los dis"onibles "ara >edora! el usuario "ara
Cla'+J se asigna a trav#s de los 'andatos fedora-groupadd % fedora-useradd el U?D % G?D = en el
siste'a$ + fin de "revenir un conflicto de U?D/G?D con otros usuarios % gru"os de siste'a! se reco'ienda
crear "revia'ente al gru"o % usuario corres"ondientes "ara Cla'+J)
groupadd !r clamav
useradd !r !s /sbin/nologin !d /var/lib/clamav !. !c Z*lamav 5ntivirusZ !g clamav
clamav
00... Configuracin de depsitos Z"5 para Cent(9 . + Red Dat /nterprise
&inu* ..
Se "ueden utili,ar el siguiente de"sito RU: "ara la "latafor'a Fnter"rise Linux 2$
472
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
D52!ServerE
name+'nterprise 2inux Freleasever ! Fbasearch ! 52 Server
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
?nstalar los "a.uetes necesarios se utili,a el siguiente 'andato)
yum !y install amavisd!ne clamav!update clamav!server cabextract tne"
yum !y install arO lha unCoo p$Cip p$Cip!plugins
Lo anterior ta'bi#n instalar& todas las de"endencias necesarias$
00.,. 7rocedimientos.
00.,.!. Configuracin de 9/&inu*.
00.,.!.!. 7rocedimiento para crear poltica.
Crear el directorio /usr8share8selinu*8pacOages8amavisd)
mkdir /usr/share/selinux/packages/amavisd
Ca'biarse al directorio /usr8share8selinu*8pacOages8amavisd)
cd /usr/share/selinux/packages/amavisd
Descargar desde ;lcance &ibre el arcivo http#88RRR.alcancelibre.org8linu*8secrets8amavisd.te)
get http7//#alcancelibre#org/linux/secrets/amavisd#te
Fditar el arcivo amavisd.te)
vim #<#*%s-.$e
Jerificar .ue el arcivo amavisd.te tenga el siguiente contenido)
module amavisd 1#%[
reJuire e
type traceroute/port/t[
type amavis/t[
type clamd/t[
type spamd/t[
type initrc/var/run/t[
type amavis/var/run/t[
type root/t[
class dir e rite search add/name f[
class lnk/"ile read[
class udp/socket name/bind[
class "ile e ioctl append read lock f[
f
A+++++++++++++ amavis/t ++++++++++++++
allo amavis/t initrc/var/run/t7"ile e read lock f[
478
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
allo amavis/t traceroute/port/t7udp/socket name/bind[
A+++++++++++++ clamd/t ++++++++++++++
allo clamd/t amavis/var/run/t7dir e rite search add/name f[
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t root/t7"ile e ioctl append f[
Crear el arcivo de 'dulo amavisd.mod a "artir del arcivo amavisd.te)
checkmodule !. !m !o amavisd#mod amavisd#te
Crear el arcivo de "ol/tica amavisd.pp a "artir del arcivo amavisd.mod
semodule/package !o amavisd#pp !m amavisd#mod
?ncluir la "ol/tica al siste'a)
semodule !i /usr/share/selinux/packages/amavisd/amavisd#pp
00.,.. Configuracin de ;mavisd-neR.
Fditar el arcivo /etc8amavisd8amavisd.conf
vim /etc/amavisd/amavisd#con"
Locali,ar la siguiente l/nea)
Fmydomain + Zexample#comZ[ A a convenient de"ault "or other settings
Ca'biar "or lo siguiente)
Fmydomain + Zdominio#comZ[ A a convenient de"ault "or other settings
00.,.,. Configuracin de 7ostfi*.
Fditar el arcivo /etc8postfi*8master.cf
vim /etc/post"ix/master#c"
+adir al final de #ste todo lo siguiente)
A *on"iguraciTn de amavisd!ne
amavis"eed unix ! ! n ! 8 lmtp
!o lmtp/data/done/timeout+18%%
!o lmtp/send/x"orard/command+yes
!o disable/dns/lookups+yes
!o max/use+8%
18$#%#%#171%%8: inet n ! n ! ! smtpd
!o content/"ilter+
!o smtpd/delay/reOect+no
!o smtpd/client/restrictions+permit/mynetorksBreOect
!o smtpd/helo/restrictions+
!o smtpd/sender/restrictions+
!o smtpd/recipient/restrictions+permit/mynetorksBreOect
!o smtpd/data/restrictions+reOect/unauth/pipelining
47=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!o smtpd/end/o"/data/restrictions+
!o smtpd/restriction/classes+
!o mynetorks+18$#%#%#%/6
!o smtpd/error/sleep/time+%
!o smtpd/so"t/error/limit+1%%1
!o smtpd/hard/error/limit+1%%%
!o smtpd/client/connection/count/limit+%
!o smtpd/client/connection/rate/limit+%
!o receive/override/options+no/header/body/checksBno/unknon/recipient/checksBno/miltersBno/addres
s/mappings
!o local/header/rerite/clients+
!o smtpd/milters+
!o local/recipient/maps+
!o relay/recipient/maps+
Fditar el arcivo /etc8postfi*8main.cf)
vim /etc/post"ix/main#c"
+adir al final de #ste lo siguiente)
content/"ilter + amavis"eed7D18$#%#%#1E71%%84
Lo anterior se "uede definir auto'&tica'ente en el arcivo /etc8postfi*8main.cf e(ecutando)
postcon" !e Zcontent/"ilter + amavis"eed7D18$#%#%#1E71%%84Z
Fditar el arcivo /etc8aliases)
vim /etc/aliases
Definir un alias "ara la cuenta virusalert)
virusalert7 "ulano
-ara .ue surtan efecto los ca'bios! e(ecutar)
postalias /etc/aliases
00.,.-. IniciarG detener + reiniciar el servicio spamass-milter.
+adir los servicios clamd.amavisd % amavisd a los servicios de arran.ue del siste'a)
chkcon"ig clamd#amavisd on
chkcon"ig amavisd on
?niciar los servicios clamd.amavisd % amavisd)
service clamd#amavisd start
service amavisd start
;einiciar el servicio postfi*)
service post"ix restart
472
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
00.,... 7ostfi* con dominios virtuales + ;mavisd-neR.
-ara "oder utili,ar -ostfix con dominios virtuales % +'avisd6ne*! es indis"ensable editar el
arcivo /etc8amavisd8amavisd.conf)
vim /etc/amavisd/amavisd#con"
R 'odificar los valores del "ar&'etro ulocalUdomainsUmaps$ Fl valor "redeter'inado es el siguiente)
^local/domains/maps + ( D,#Fmydomain,E )[
Se deben agregar los do'inios virtuales de la siguiente 'anera)
^local/domains/maps + ( D,#Fmydomain,B ,dominio#com,B ,otrodominio#net,B ,otrodominio#org,E )[
R "ara .ue surtan efecto los ca'bios! se debe reiniciar el servicio amavisd)
service amavisd restart
474
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
01. Cmo configurar 7ostfi* en Cent(9 para utili3ar
dominios virtuales con usuarios del sistema.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
01.!. Introduccin.
Fste docu'ento "er'itir& configurar -ostfix "ara utili,ar '0lti"les do'inios virtuales! utili,ando los usuarios
locales del siste'a$ Se re.uiere aber configurado "revia'ente -ostfix de la for'a en .ue se describe en el
docu'ento titulado 2#/mo instalar y configurar @ostfi6 en #ent1$ con soporte para T%$ y autenticaci/n.3 Se
reco'ienda leer! estudiar % a"licar ta'bi#n los "rocedi'ientos descritos en el docu'ento titulado 2#/mo
instalar y configurar Amavisd=ne( con @ostfi6 en #ent1$.3
01.. 7rocedimientos.
01..!. ;%ustes en el servicio saslauthd.
Si los usuarios se van a dar de alta siguiendo el for'ato usuarioOdominio.tld en lugar de slo usuario! una
"r&ctica co'0n en los servidores con '0lti"les do'inios virtuales! es necesario aadir al servicio saslauthd
la o"cin -r! la cual "er'ite co'binar el no'bre de usuario % do'inio antes de "asar "or el 'ecanis'o de
autenticacin$ Si #ste es el caso! se debe editar el arcivo 8etc8s+sconfig8saslauthd)
vim /etc/syscon"ig/saslauthd
R aadir la o"cin -r a los argu'entos de 2&;:9)
A &irectory in hich to place saslauthdZs listening socketB pid "ileB and so
A on# 1his directory must already exist#
S0*H'1&)R+/var/run/saslauthd
A .echanism to use hen checking passords# Run ,saslauthd !v, to get a list
A o" hich mechanism your installation as compiled ith the ablity to use#
.'*3+pam
A 0ptions sent to the saslauthd# )" the .'*3 is other than ,pam, uncomment
A the next line#
A &5'.0-0=1S+!!user saslauth
A 5dditional "lags to pass to saslauthd on the command line# See saslauthd(6)
A "or the list o" accepted "lags#
FLAGS=-r
R reiniciar el servicio saslauthd$
service saslauthd restart
475
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
01... Configuracin de 9/&inu*.
-or lo general! la 'a%or/a de los docu'entos dis"onibles en ?nternet reco'iendan desactivar SFLinux! sin
'a%ores argu'ento o ex"licaciones$ Sin e'bargo! acer #sto i'"lica renunciar a una 'agn/fica "roteccin
.ue brinda al siste'a esta i'"ortante i'"le'entacin de seguridad$ @engo un le'a "ersonal .ue 'e gusta
citar "ara ex"licar 'i o"inin res"ecto de SFLinux)
Gs vale tenerlo y jams necesitarlo, que necesitarlo y carecer de ste.
Si es "osible utili,ar SFLinux (unto con do'inios virtuales$ Cuando se .uiere i'"le'entar un servicio de
os"eda(e con do'inios virtuales % se utili,a 8home "ara crear los directorios de inicio de los do'inios
virtuales! se re.uieren "ocos o ning0n a(uste en SFLinux$ Sin e'bargo! a% escenarios donde se utili,a
8var8RRR "ara crear los directorios de inicio de los do'inios virtuales$ S/ se ace de este 'odo % s/ se
.uiere 'antener SFLinux activo! es necesario generar una "ol/tica .ue "er'ita a los servicios de -ostfix o
Send'ail! Dovecot! -%,or % S"a'assassin "oder reali,ar lectura! escritura % otros atributos sobre directorios
% arcivos con contexto httpdUs+sUcontentUt$ Fl siguiente "rocedi'iento sirve "ara crear la "ol/tica
necesaria$
01...!. 7rocedimiento para crear poltica.
Crear el directorio 8usr8share8selinu*8pacOages8virtualmail)
mkdir /usr/share/selinux/packages/virtualmail
Ca'biarse al directorio 8usr8share8selinu*8pacOages8virtualmail)
cd /usr/share/selinux/packages/virtualmail
Descargar desde ;lcance &ibre el arcivo http#88RRR.alcancelibre.org8linu*8secrets8virtualmail.te)
get http7//#alcancelibre#org/linux/secrets/virtualmail#te
Fditar el arcivo virtualmail.te)
vim *%r$>#)<#%).$e
Jerificar .ue el arcivo virtualmail.te tenga el siguiente contenido)
47A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
module virtualmail 1#%[
reJuire e
type pyCor/t[
type sendmail/t[
type post"ix/local/t[
type post"ix/postdrop/t[
type post"ix/master/t[
type procmail/t[
type spamc/t[
type dovecot/t[
type tmp/t[
type httpd/log/t[
type httpd/sys/content/t[
type httpd/con"ig/t[
type spamd/t[
type system/mail/t[
class "i"o/"ile rite[
class "ile e read lock rename create rite getattr link unlink append f[
class dir e search read rite getattr remove/name add/name f[
f
A+++++++++++++ dovecot/t ++++++++++++++
allo dovecot/t httpd/sys/content/t7dir e rite search read remove/name getattr add/name f[
allo dovecot/t httpd/sys/content/t7"ile e rite getattr link rename read lock create unlink f[
A+++++++++++++ post"ix/local/t ++++++++++++++
allo post"ix/local/t httpd/sys/content/t7dir search[
A+++++++++++++ post"ix/postdrop/t ++++++++++++++
allo post"ix/postdrop/t tmp/t7"ile e getattr append f[
allo post"ix/postdrop/t httpd/log/t7"ile getattr[
A+++++++++++++ post"ix/master/t ++++++++++++++
allo post"ix/master/t httpd/con"ig/t7dir search[
A+++++++++++++ procmail/t ++++++++++++++
allo procmail/t httpd/sys/content/t7dir search[
A+++++++++++++ pyCor/t ++++++++++++++
allo pyCor/t httpd/sys/content/t7dir e rite search f[
A+++++++++++++ spamc/t ++++++++++++++
allo spamc/t sendmail/t7"i"o/"ile rite[
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t httpd/sys/content/t7dir e rite search getattr f[
allo spamd/t httpd/sys/content/t7"ile e read getattr f[
A+++++++++++++ system/mail/t ++++++++++++++
allo system/mail/t httpd/sys/content/t7"ile append[
Crear el arcivo de 'dulo virtualmail.mod a "artir del arcivo virtualmail.te)
checkmodule !. !m !o virtualmail#mod virtualmail#te
Crear el arcivo de "ol/tica virtualmail.pp a "artir del arcivo virtualmail.mod
semodule/package !o virtualmail#pp !m virtualmail#mod
?ncluir la "olitica al siste'a)
semodule !i /usr/share/selinux/packages/virtualmail/virtualmail#pp
47B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
01..,. Configuracin de 7ostfi*.
01..,.!. ;rchivo 8etc8postfi*8main.cf.
Fditar el arcivo 8etc8postfi*8main.cf)
vim ;e$&;'os$+%E;<#%n.&+
Definir los siguientes "ar&'etros)
A 'stablecer el valor de myhostname como localhost#localdomain
A 1ambihn se puede de"inir cualJuier otro dominioB siempre y cuando sea distinto
A a cualJuiera de los de"inidos en los valores de virtual/alias/domains o en
A virtual/alias/maps#
<yhos$n#<e = )o&#)hos$.)o&#)-o<#%n
A &e"inir el valor predeterminado para mydomain
<y-o<#%n = )o&#)hos$.)o&#)-o<#%n
A &e"inir los valores predeterminados para mydestination y relay/domains
<y-es$%n#$%on = W<yhos$n#<eB )o&#)hos$.W<y-o<#%nB )o&#)hos$
re)#y_-o<#%ns = W<y-es$%n#$%on
A Recomendado#
A Sunto con virtual/alias/mapsB reemplaCa a virtual/maps
A Se utiliCa para declarar los dominios virtuales#
A Se puede prescindir de hste si se aNaden dominios en /etc/post"ix/virtual#
*%r$>#)_#)%#s_-o<#%ns = W*%r$>#)_#)%#s_<#'s
A 0bligatorio#
A Sunto con virtual/alias/domainsB reemplaCa a virtual/maps
A Se utiliCa para declarar la reescritura de direcciones# 'Oemplo7
A Obarrios^dominio#com Ooel
A 'Oemplo hace Jue todo correo para Ooel^dominio#com se entregue a Ooel
A Si se Juiere precindir de utiliCar *%r$>#)_#)%#s_-o<#%nsB aNadir tambihn los
A dominios en este "ormato7
A dominio#com dominio#com
A otrodominio#net otrodominio#net
A otrodominio#org otrodominio#org
A Si se hace lo anteriorB comentar *%r$>#)_#)%#s_-o<#%ns#
*%r$>#)_#)%#s_<#'s = h#sh1;e$&;'os$+%E;*%r$>#)
A Recomendado#
A 's la contraparte de #)%#s_-#$#b#se = ;e$&;#)%#ses
A Se utiliCa para reescritura de direcciones de salida# 'Oemplo7
A Ooel Ooel#barrios
A 'Oemplo hace Jue todo el correo de Ooel salga como Ooel#barrios
canonical/maps + hash7/etc/post"ix/canonical
A Recomendado#
A Se utiliCa solo para reescribir la direcciTn de salida de una cuenta#
A 'Oemplo7
A Ooel Obarrios^dominio#com
A 'Oemplo hace Jue todo el correo de Ooel salga como Obarrios^dominio#com
sen-er_&#non%&#)_<#'s = h#sh1;e$&;'os$+%E;sen-er_&#non%&#)
A 0pcional#
A =oco utiliCado# ?tiliCar virtual/alias/maps en su lugar#
A *onsiderar Jue se procesa antes Jue canonical/maps#
A Se utiliCa solo para reescribir solo la direcciTn de entrada de una cuenta#
A 'Oemplo7
A Obarrios^dominio#com Ooel
A 'Oemplo hace Jue todo correo para Obarrios^dominio#com se entregue a Ooel
recipient/canonical/maps + hash7/etc/post"ix/recipient/canonical
429
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
@odo lo anterior se "uede reali,ar ta'bi#n e(ecutando el 'andato postconf "ara cada "ar&'etro)
postcon" !e Zmyhostname + localhost#localdomainZ
postcon" !e Zmydomain + localhost#localdomainZ
postcon" !e Zmydestination + FmyhostnameB localhost#FmydomainB localhostZ
postcon" !e Zrelay/domains + FmydestinationZ
postcon" !e Zvirtual/alias/domains + Fvirtual/alias/mapsZ
postcon" !e Zvirtual/alias/maps + hash7/etc/post"ix/virtualZ
postcon" !e Zcanonical/maps + hash7/etc/post"ix/canonicalZ
postcon" !e Zsender/canonical/maps + hash7/etc/post"ix/sender/canonicalZ
postcon" !e Zrecipient/canonical/maps + hash7/etc/post"ix/recipient/canonicalZ
+l ter'inar! genere los arcivos 8etc8postfi*8senderUcanonical % 8etc8postfi*8recipientUcanonical)
touch /etc/post"ix/sender/canonical
touch /etc/post"ix/recipient/canonical
01..,.. ;rchivos 8etc8postfi*8virtual + 8etc8postfi*8senderUcanonical.
Fditar el arcivo 8etc8postfi*8virtual)
vim ;e$&;'os$+%E;*%r$>#)
Crear la tabla de cuentas de correo electrnico virtuales de entrada! es"ecificando a .ue cuenta de usuario
local se entrega cada direccin$
dominio#com dominio#com
otrodominio#net otrodominio#net
otrodominio#org otrodominio#org
Ooel^dominio#com Ooel
Ouan^dominio#com Ouan
pablo^dominio#com pablo
pedro^dominio#com pedro
hugo^otrodominio#net hugo
luis^otrodominio#org luis
ebmaster^dominio#com Ooel^dominio#com
ebmaster^otrodominio#net hugo^otrodominio#net
ebmaster^otrodominio#org luis^otrodominio#org
Fditar el arcivo 8etc8postfi*8senderUcanonical)
vim ;e$&;'os$+%E;sen-er_&#non%&#)
Crear la tabla de cuentas de correo electrnico virtuales de salida! es"ecificando las direcciones de salida
.ue utili,ar& cada usuario$ Fs decir! casi lo contrario a lo establecido en /etc/"ostfix/virtual! "ero
es"ecificando un 0nico usuario "ara cada cuenta de correo electrnico$ Ja'&s se es"ecifi.ue '&s de un
usuario "or cuenta de correo electrnico! ni '&s de una cuenta de correo electrnico "or usuario$
Ooel Ooel^dominio#com
Ouan Ouan^dominio#com
pablo pablo^dominio#com
pedro pedro^dominio#com
hugo hugo^otrodominio#net
luis luis^otrodominio#org
427
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utili,ar el 'andato postmap con los arcivos 8etc8postfi*8canonical! 8etc8postfi*8recipientUcanonical!
8etc8postfi*8senderUcanonical % 8etc8postfi*8virtual a fin de generar los arcivos $db corres"ondientes %
.ue surtan efecto los ca'bios luego de reiniciar el servicio postfi*)
postmap /etc/post"ix/canonical
postmap /etc/post"ix/recipient/canonical
postmap /etc/post"ix/sender/canonical
postmap /etc/post"ix/virtual
01..-. Reiniciar el servicio postfi*.
+ fin de .ue surtan efecto todos los ca'bios! se debe reiniciar el servicio postfi*)
service post"ix restart
422
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
04. /nvo de correo a todos los usuarios del
sistema.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
04.!. 7rocedimientos
7$ Lo "ri'ero ser& generar un arcivo en el siste'a! el cual tendr& co'o contenido una lista de los
usuarios del siste'a a los .ue se .uiere enviar un 'ensa(e$ Yste "uede locali,arse en cual.uier lugar
del siste'a! co'o "or e(e'"lo /etc/mail/allusers$ -uede editarse el arcivo /etc/mail/allusers %
aadir individual'ente cada usuario .ue se desee confor'e esa lista o bien! si se .uiere aadir a
todos los usuarios del siste'a! e(ecutar lo siguiente)
ak !>7 ZF@ Q :%% e print F1 fZ /etc/passd Q /etc/mail/allusers
2$ + continuacin! debe 'odificarse el arcivo /etc/aliases % aadir al final del 'is'o)
allusers7 7include7/etc/mail/allusers
7$ +l ter'inar slo debe e(ecutarse el 'andato nealiases o bien reiniciar el servicio de Send'ail 1el
guin de inicio se encarga de acer todo lo necesario3$
8$ -ara "robar! bastar& con enviar un 'ensa(e de correo electrnico a la cuenta allusers del servidor$
04.. ;cerca de la seguridad
Fvite a toda costa utili,ar allusers o "alabras 'u% obvias co'o alias de correo "ara enviar a todas las
cuentas$ Segura'ente .uienes se dedican a enviar correo 'asivo no solicitado o correo catarra 1$pam3!
tratar&n de enviar correo a este alias en el servidor$ No les facilite el traba(o a esas "ersonas % trate de
utili,ar un alias ofuscado o en clave$ F(e'"lo) QjjMRsjeiQRS$
428
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
0[. Cmo configurar clamav-milter.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
0[.!. Introduccin.
0[.!.!. ;cerca de clamav-milter.
Clamav-milter es un co'"onente "ara aadir 17lug-in3 "ara la biblioteca de filtros de correo 1libmilter3
de 9endmail! .ue se encarga de acer "asar todo el correo entrante! inclu%endo todo lo .ue se reciba a
trav#s de rmail8""C7! a trav#s del Clam;J! .ue a su ve, es un "oderoso % robusto 'otor! con
licencia'iento libre! "ara la deteccin de gusanos! tro%anos % virus$ Jerifica el correo electrnico durante la
conexin con el servidor de correo .ue re'ite #ste ulti'o % lo reca,a auto'&tica'ente si #ste inclu%e
alg0n gusanos! tro%anos o virus$
+l igual .ue clamav-milter! el cual es utili,ado "ara la filtracin de S"a'! re"resenta una excelente
alternativa "ues tiene un ba(o consu'o de recursos de siste'a! aci#ndolo idneo "ara servidores con
sustento f/sico obsoleto o donde otras a"licaciones tiene 'a%or "rioridad en la utili,acin de recursos de
siste'a$
U;L) tt")//***$cla'av$net/
0[.!.. ;cerca de Clam;J.
Clam;J es un con(unto de erra'ientas antivirus! libre % de cdigo fuente abierto! .ue tiene las siguiente
caracter/sticas)
a Distribuido ba(o los t#r'inos de la Licencia -ublica General GNU versin 2$
a
Cu'"le con las es"ecificaciones de fa'ilia de est&ndares 7(9IB 17ortable ("erating 9%ste' Interface for
UN?B o interfa, "ortable de siste'a o"erativo "ara Unix3$
a Fx"loracin r&"ida$
a Detecta '&s de 529 'il virus! gusanos % tro%anos! inclu%endo virus "ara :S Gffice$
a
Ca"acidad "ara exa'inar contenido de arcivos N?-! ;+;! @ar! G,i"! B,i"2! :S GLF2! :S Cabinet! :S CI: % :S
SNDD$
a So"orte "ara ex"lorar arcivos co'"ri'idos con U-O! >SG % -etite$
a +van,ada erra'ienta de actuali,acin con so"orte "ara fir'as digitales % consultas basadas sobre DNS$
U;L) tt")//***$cla'av$net/
0[.. /Cuipamiento lgico necesario.
a send'ail 1"revia'ente configurado3 a send'ail6cf
a 'aKe a '=
42=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
a cla'av a cla'av6'ilter
0[..!. Creacin del usuario para Clam;J.
De 'odo "redeter'inado! en los "a.uetes ;-: basados sobre los dis"onibles "ara >edora! el usuario "ara
Cla'+J se asigna a trav#s de los 'andatos fedora-groupadd % fedora-useradd el U?D % G?D = en el
siste'a$ + fin de "revenir un conflicto de U?D/G?D con otros usuarios % gru"os de siste'a! se reco'ienda
crear "revia'ente al gru"o % usuario corres"ondientes "ara Cla'+J)
groupadd !r clamav
useradd !r !s /sbin/nologin !d /var/lib/clamav !. !c Z*lamav 5ntivirusZ !g clamav clamav
0[... Instalacin a travs de +um.
Si dis"one de un servidor con Cent(9 . % 0 o Red DatF /nterprise &inu* . % 0! "uede utili,ar el el
al'ac#n RU: de ;lcance &ibre "ara servidores en "roduccin! descargando el arcivo
http#88RRR.alcancelibre.org8al8server8;&-9erver.repo dentro del directorio 8etc8+um.repos.d8)
cd /etc/yum#repos#d/
get !- http7//#alcancelibre#org/al/server/52!Server#repo
cd
Fste arcivo! .ue se guarda co'o 8etc8+um.repos.d8;&-9erver.repo! debe tener el siguiente contenido)
D52!ServerE
name+52 Server para 'nterprise 2inux Freleasever
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgcheck+1
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
La instalacin a trav#s del 'andato +um re.uiere utili,ar lo siguiente)
yum !y install clamav!milter clamav!milter!sysv clamav!data!empty clamav!update
clamav!scanner clamav!scanner!sysvinit
0[.,. 7rocedimientos.
0[.,.!. 9/&inu* + el servicio clamav-milter.
0[.,.!.!. Cent(9 . + Red Dat /nterprise &inu* ..
Fn CentGS 2 !% ;ed Iat Fnter"rise Linux 2 se debe crear una "ol/tica "ara "er'itir al servicio clamd.scan
utili,ar EI< % la funcin e6ecmemCE$
Genere un nuevo directorio deno'inado 8usr8share8selinu*8pacOages8clamd)
mkdir ;>sr;sh#re;se)%n>E;'#&8#ges;&)#<-
Ca'biarse al directorio 8usr8share8selinu*8pacOages8clamd)
cd ;>sr;sh#re;se)%n>E;'#&8#ges;&)#<-
422
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Descargar el arcivo http#88RRR.alcancelibre.org8linu*8secrets8clamd.te)
get http7//#alcancelibre#org/linux/secrets/clamd#te
Fditar el arcivo reci#n descargado)
vim clamd#te
+segurarse .ue tenga el siguiente contenido)
module clamd 1#%[
reJuire e
type clamd/t[
class process execmem[
f
A+++++++++++++ clamd/t ++++++++++++++
allo clamd/t sel"7process execmem[
Lo anterior fue obtenido de la salida del 'andato cat 8var8log8audit8audit.logmgrep auditmauditalloR
-m clamdgclamd.te en un siste'a donde SFLinux i'"ed/a a clamav-milter utili,ar la funcin
e6ecmemCE$
+ continuacin! se genera un el arcivo de 'dulo "ara SFLinux 1clamd.mod3 utili,ando el 'andato
checOmodule de la siguiente for'a)
checkmodule !. !m !o clamd#mod clamd#te
Luego! se "rocede a e'"a.uetar el arcivo clamd.mod co'o el arcivo clamd.pp)
semodule/package !o clamd#pp !m clamd#mod
>inal'ente se vincula el arcivo clamd.pp obtenido con las "ol/ticas actuales de SFLinux % se cargan #stas
en el n0cleo en e(ecucin)
semodule !i /usr/share/selinux/packages/clamd/clamd#pp
Una ve, cargadas las nuevas "ol/ticas! se "ueden eli'inar los arcivos clamd.te % clamd.mod! "ues solo
ser& necesario .ue exista el arcivo binario clamd.pp$
+ fin de evitar reali,ar todo lo anterior! "er'itir .ue el servicio clamd.scan "ueda utili,ar la funcin
e6ecmemCE % .ue SFLinux i'"ida las conexiones del servicio clamav-milter acia el servicio clamd.scan!
utilice el siguiente 'andato)
setsebool != clamd/disable/trans 1
-ara .ue SFLinux "er'ita al servicio clamav-milter funcionar nor'al'ente % .ue "er'ita reali,ar la
revisin de correo electrnico! utilice el siguiente 'andato)
setsebool != clamscan/disable/trans 1
424
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara .ue SFLinux "er'ita al 'andato freshclam funcionar nor'al'ente % .ue "er'ita actuali,ar la base
de datos de fir'as digitales! utilice el siguiente 'andato)
setsebool != "reshclam/disable/trans 1
0[.,.!.. Cent(9 0 + Red Dat /nterprise &inu* 0.
Fn CentGS 4 % ;ed Iat Fnter"rise Linux 4 solo existe una "ol/tica a configurar % es clamdUuseU%it! la cual
"er'ite al servicio clamd.scan utili,ar EI< % la funcin e6ecmemCE$
setsebool != clamd/use/Oit on
0[.,.. ReCuisitos previos.
Se re.uiere un servidor de correo con 9endmail! "revia'ente configurado % funcionando "ara enviar %
recibir correo electrnico$ -ara '&s detalles al res"ecto! consultar el docu'ento titulado 2#onfiguraci/n
bsica de $endmail C@arte 0E.3$
0[.,.,. ;rchivo 8etc8mail8sendmail.mc.
Fs necesario agregar el siguiente contenido en el arcivo 8etc8mail8sendmail.mc! (usto arriba de la l/nea
5;I&/RPsmtpQdnl$
)-=?1/.5)2/>)21'R(aclamavZB aS+local7/var/run/clamav!milter/clamav#sockB >+B 1+S74m[R74mZ)dnl
de"ine(acon")-=?1/.5)2/>)21'RSZB a&)#<#*Z)dnl
Si se co'bina con 9pamassassin 5ilter! .uedar/a del siguiente 'odo)
)-=?1/.5)2/>)21'R(aclamavZB aS+local7/var/run/clamav!milter/clamav#sockB >+B 1+S74m[R74mZ)dnl
)-=?1/.5)2/>)21'R(aspamassassinZB aS+unix7/var/run/spamass!milter/spamass!milter#sockB >+B
1+*71:m[S74m[R74m['71%mZ)dnl
de"ine(acon".)21'R/.5*R0S/*0--'*1ZBatB bB OB /B B B Z)dnl
de"ine(acon".)21'R/.5*R0S/3'20ZBasB B B B B Z)dnl
de"ine(acon")-=?1/.5)2/>)21'RSZB as'#<#ss#ss%nB&)#<#*Z)dnl
0[.,.-. Configuracin.
Clamav-milter de"ende total'ente de la base de datos de Clam;J$ Fl funciona'iento est&ndar! .ue
consiste en reca,ar correo electrnico .ue contenga virus % otros "rogra'as 'alignos! funciona sin
necesidad de "ar&'etros adicionales$ Las banderas de inicio "ara cla'av6'ilter est&n definidas en el
arcivo 8etc8s+sconfig8clamav-milter! 'is'o .ue "er'ite funcionar nor'al'ente sin necesidad de
'odificar un solo "ar&'etro! a 'enos .ue se necesite es"ecificar alguna o"cin avan,ada definida en la
"&gina de 'anual de cla'av6'ilter$
man clamav!milter
0[.,... IniciarG detener + reiniciar el servicio clamav-milter.
Desde la versin 9$B2! Cla'+J6'ilter re.uiere est# funcionando cla'dscan co'o servicio$ Los "a.uetes de
Cla'+J inclu%en lo necesario a trav#s de cla'av6scanner$ Solo se re.uiere agregar al arran.ue del siste'a
% se inicia los servicios clamd.scan % clamav-milter del siguiente 'odo % orden)
425
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
chkcon"ig clamd#scan on
service clamd#scan start
chkcon"ig clamav!milter on
service clamav!milter start
Fl arcivo 8etc8freshclam.conf de los "a.uetes distribuidos "or ;lcance &ibre %a inclu%e las
'odificaciones necesarias "ara "er'itir el funciona'iento del 'andato freshclam$ Sin e'bargo! si se
utili,an "a.uetes "ara >edora! es necesario editar este arcivo % co'entar o eli'inar la l/nea B! .ue inclu%e
si'"le'ente la "alabra inglesa ,6ample % .ue de otro 'od i'"edir/a utili,ar el 'andato freshclam)
AA
AA 'xample con"ig "ile "or "reshclam
AA =lease read the "reshclam#con"(:) manual be"ore editing this "ile#
AA
A *omment or remove the line belo#
P EE#<')e
Fl arcivo 8etc8s+sconfig8freshclam de los "a.uetes distribuidos "or ;lcance &ibre %a inclu%e las
'odificaciones necesarias "ara "er'itir la actuali,acin auto'&tica de la base de datos de Clam;J$ Si se
utili,an "a.uetes de >edora % a fin de 'antener actuali,ada la base de datos de fir'as digitales! es
necesario editar el arcivo 8etc8s+sconfig8freshclam con el ob(eto de "er'itir las actuali,aciones
auto'&ticas)
AAA WWWWW R'.0(' .' WWWWWW
AAA R'.0(' .'7 ;y de"aultB the "reshclam update is disabled to avoid
AAA R'.0(' .'7 netork access ithout prior activation
P FRESFCLAM_DELAN=-%s#b)e--0#rn P REMO:E ME
+ntes de "oner en o"eracin el servidor! es reco'endable actuali,ar 'anual'ente % de 'anera in'ediata!
la base de datos de fir'as utili,ando el 'andato freshclam! desde cual.uier ter'inal co'o root$
"reshclam
+l ter'inar! considerando .ue est& instalado el "a.uete sendmail-mc! el cual "er'ite reconfigurar
9endmail a "artir del arcivo 8etc8mail8sendmail.mc! se debe reiniciar el servicio sendmail "ara .ue
surtan efectos los ca'bios$
service sendmail restart
42A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1I. Cmo configurar spamass-milter.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1I.!. Introduccin.
1I.!.!. ReCuisitos previos.
Se re.uiere un servidor de correo con 9endmail! "revia'ente configurado % funcionando "ara enviar %
recibir correo electrnico$ -ara '&s detalles al res"ecto! consultar el docu'ento titulado 2#onfiguraci/n
bsica de $endmail3$
Se re.uiere ade'&s leer % estudiar "revia'ente la infor'acin del docu'ento titulado 2#/mo instalar y
configurar $pamassassin.3
1I.!.. ;cerca de spamass-milter.
9pamass-milter es un co'"onente adicional 17lug-in3 "ara la biblioteca de filtros de correo 1libmilter3 de
9endmail! .ue se encarga de acer "asar todo el correo entrante! inclu%endo todo lo .ue se reciba a trav#s
de rmail8""C7! a trav#s de 9pam;ssassin! .ue a su ve, es un "oderoso % robusto co'"onente de filtrado
de correo$
;e"resenta una excelente alternativa "ues tiene un ba(o consu'o de recursos de siste'a! aci#ndolo
idneo "ara servidores con sustento f/sico obsoleto o donde otras a"licaciones tiene 'a%or "rioridad en la
utili,acin de recursos de siste'a$
U;L) tt")//savanna$nongnu$org/"ro(ects/s"a'ass6'ilt/
1I.!.,. ;cerca de 9pam;ssassin.
9pam;ssassin es una i'"le'entacin .ue utili,a un siste'a de "untuacin! basado sobre algorit'os de
ti"o gen#tico! "ara identificar 'ensa(es .ue "udieran ser sos"ecosos de ser correo 'asivo no solicitado!
aadiendo cabeceras a los 'ensa(es de 'odo .ue "uedan ser filtrados "or el cliente de correo electrnico o
5"; 15ail "ser ;gent3$
U;L) tt")//s"a'assassin$a"ace$org/
1I.. /Cuipamiento lgico necesario.
a send'ail 1"revia'ente configurado3 a send'ail6cf
a 'aKe a '=
a s"a'assassin a s"a'ass6'ilter
42B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
a "erl6:ail6S-> a "erl6;a,or6+gent
a "%,or
1I..!. Instalacin a travs de +um.
Si dis"one de un servidor con Cent(9 - o . o bien Red DatF /nterprise &inu* - o .! "uede utili,ar el
de"sito %u' de ;lcance &ibre "ara servidores en "roduccin)
D52!ServerE
name+52 Server para 'nterprise 2inux Freleasever
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgcheck+1
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
La instalacin solo re.uiere utili,ar lo siguiente)
yum !y install spamass!milter perl!.ail!S=> perl!RaCor!5gent pyCor
1I.,. 7rocedimientos.
1I.,.!. 9/&inu* + el servicio spamass-milter.
+ fin de .ue SFLinux "er'ita al servicio spamassassin conectarse a servicios externos! co'o ra,or o -%,or!
utilice el siguiente 'andado)
setsebool != spamassassin/can/netork 1
+ fin de .ue SFLinux "er'ita a los usuarios del siste'a utili,ar spamassassin desde sus directorios de
inicio! utilice el siguiente 'andato)
setsebool != spamd/enable/home/dirs 1
Si se desea desactivar toda gestin de SFLinux sobre los servicios spamass-milter % spamassassin!
aciendo .ue todo lo anterior "ierda sentido % eli'inando la "roteccin .ue brinda esta i'"le'entacin!
utilice los siguientes 'andatos)
setsebool != spamd/disable/trans 1
setsebool != spamass/milter/disable/trans 1
1I.,.!.!. ;%ustes adicionales.
+ctuali,aciones recientes en las "ol/ticas de SFLinux i'"edir&n .ue el servicio spamass-milter "ueda
si.uiera iniciar$ -or lo tanto! es i'"erativo instalar las "ol/ticas de SFLinux corres"ondientes$
Genere un nuevo directorio deno'inado 8usr8share8selinu*8pacOages8spamassmilter)
mkdir ;>sr;sh#re;se)%n>E;'#&8#ges;s'#<#ss<%)$er
Ca'biarse al directorio 8usr8share8selinu*8pacOages8spamassmilter)
489
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cd ;>sr;sh#re;se)%n>E;'#&8#ges;s'#<#ss<%)$er
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! descargar el arcivo
http#88RRR.alcancelibre.org8linu*8secrets8el.8spamassmilter.te)
get http7//#alcancelibre#org/linux/secrets/el:/spamassmilter#te
Fditar el arcivo reci#n descargado)
vim spamassmilter#te
+segurarse .ue tenga el siguiente contenido)
module spamassmilter 1#%[
reJuire e
type spamass/milter/data/t[
type spamass/milter/t[
type pyCor/t[
type initrc/var/run/t[
type spamd/t[
class dir e search read create rite getattr remove/name add/name f[
class "ile e read create ioctl rite getattr unlink append f[
f
A+++++++++++++ pyCor/t ++++++++++++++
allo pyCor/t spamass/milter/data/t7dir e rite search create getattr add/name f[
allo pyCor/t spamass/milter/data/t7"ile e read rite create getattr f[
A+++++++++++++ spamass/milter/t ++++++++++++++
allo spamass/milter/t initrc/var/run/t7"ile e rite getattr f[
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t spamass/milter/data/t7dir e rite search read remove/name create getattr add/name f[
allo spamd/t spamass/milter/data/t7"ile e rite getattr read create unlink ioctl append f[
Lo anterior fue obtenido de la salida del 'andato cat 8var8log8audit8audit.logmgrep auditmauditalloR
-m spamassmiltergspamassmilter.te en un siste'a Cent(9 . donde SFLinux i'"ed/a a
spamass-milter funcionar correcta'ente$
Si utili,a Cent(9 0 o Red Dat /nterprise &inu* 0! descargar el arcivo
http#88RRR.alcancelibre.org8linu*8secrets8el08spamassmilter.te)
get http7//#alcancelibre#org/linux/secrets/el6/spamassmilter#te
Fditar el arcivo reci#n descargado)
vim spamassmilter#te
+segurarse .ue tenga el siguiente contenido)
module spamassmilter 1#%[
reJuire e
type spamass/milter/data/t[
type spamass/milter/t[
type pyCor/t[
487
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
type initrc/var/run/t[
type spamc/t[
type spamd/t[
class dir e search read create rite open getattr remove/name add/name f[
class "ile e read create ioctl rite open getattr unlink append f[
f
A+++++++++++++ pyCor/t ++++++++++++++
allo pyCor/t spamass/milter/data/t7dir e rite search create getattr add/name f[
allo pyCor/t spamass/milter/data/t7"ile e read rite create getattr f[
A+++++++++++++ spamass/milter/t ++++++++++++++
allo spamass/milter/t initrc/var/run/t7"ile e rite getattr f[
A+++++++++++++ spamd/t ++++++++++++++
allo spamd/t spamass/milter/data/t7dir e rite open search read remove/name create getattr
add/name f[
allo spamd/t spamass/milter/data/t7"ile e rite open getattr read create unlink ioctl append f[
A+++++++++++++ spamc/t ++++++++++++++
allo spamc/t spamass/milter/data/t7"ile open[
Lo anterior fue obtenido de la salida del 'andato cat 8var8log8audit8audit.logmgrep auditmauditalloR
-m spamassmiltergspamassmilter.te en un siste'a Cent(9 0 donde SFLinux i'"ed/a a
spamass-milter funcionar correcta'ente$
+ continuacin! se genera un el arcivo de 'dulo "ara SFLinux 1spamassmilter.mod3 utili,ando el
'andato checOmodule de la siguiente for'a)
checkmodule !. !m !o spamassmilter#mod spamassmilter#te
Luego! se "rocede a e'"a.uetar el arcivo spamassmilter.mod co'o el arcivo spamassmilter.pp)
semodule/package !o spamassmilter#pp !m spamassmilter#mod
>inal'ente se vincula el arcivo spamassmilter.pp obtenido con las "ol/ticas actuales de SFLinux % se
cargan #stas en el n0cleo en e(ecucin)
semodule !i /usr/share/selinux/packages/spamassmilter/spamassmilter#pp
Una ve, cargadas las nuevas "ol/ticas! se "ueden eli'inar los arcivos spamassmilter.te %
spamassmilter.mod! "ues solo ser& necesario .ue exista el arcivo binario spamassmilter.pp$
1I.,.. ;rchivo 8etc8mail8sendmail.mc.
Fditar el arcivo 8etc8mail8sendmail.mc)
vim ;e$&;<#%);sen-<#%).<&
Fs necesario agregar el siguiente contenido en el arcivo 8etc8mail8sendmail.mc! (usto arriba de
5;I&/RPsmtpQdnl$
dnl .5Sb?'R5&'/&0.5)-(localhost)dnl
dnl .5Sb?'R5&'/&0.5)-(localhost#localdomain)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomainalias#com)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomain#lan)dnl
?N9UT_MA?L_F?LTERH]s'#<#ss#ss%n@B ]S=>n%E1;*#r;r>n;s'#<#ss-<%)$er;s'#<#ss-<%)$er.so&8B F=B
T=C13!<RS14<RR14<RE136<@I-n)
-e+%neH]&on+M?LTER_MACROS_CONNECT@B]$B bB DB _B Q-#e<on_n#<eSB Q%+_n#<eSB Q%+_#--rS@I-n)
482
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-e+%neH]&on+M?LTER_MACROS_FELO@B]sB Q$)s_*ers%onSB Q&%'herSB Q&%'her_b%$sSB Q&er$_s>bDe&$SB
Q&er$_%ss>erS@I-n)
-e+%neH]&on+M?LTER_MACROS_EN:RC9T@B]rB *B J@I-n)
.5)2'R(smtp)dnl
.5)2'R(procmail)dnl
dnl .5)2'R(cyrusv8)dnl
Si se co'bina con Clam;J 5ilter! .uedar/a del siguiente 'odo)
dnl .5Sb?'R5&'/&0.5)-(localhost)dnl
dnl .5Sb?'R5&'/&0.5)-(localhost#localdomain)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomainalias#com)dnl
dnl .5Sb?'R5&'/&0.5)-(mydomain#lan)dnl
?N9UT_MA?L_F?LTERH]&)#<#*@B ]S=)o&#)1;*#r;r>n;&)#<#*-<%)$er;&)#<#*.so&8B F=B T=S14<RR14<@I-n)
?N9UT_MA?L_F?LTERH]s'#<#ss#ss%n@B ]S=>n%E1;*#r;r>n;s'#<#ss-<%)$er;s'#<#ss-<%)$er.so&8B F=B
T=C13!<RS14<RR14<RE136<@I-n)
-e+%neH]&on+M?LTER_MACROS_CONNECT@B]$B bB DB _B Q-#e<on_n#<eSB Q%+_n#<eSB Q%+_#--rS@I-n)
-e+%neH]&on+M?LTER_MACROS_FELO@B]sB Q$)s_*ers%onSB Q&%'herSB Q&%'her_b%$sSB Q&er$_s>bDe&$SB
Q&er$_%ss>erS@I-n)
-e+%neH]&on+M?LTER_MACROS_EN:RC9T@B]rB *B J@I-n)
-e+%neH]&on+?N9UT_MA?L_F?LTERS@B ]s'#<#ss#ss%nB&)#<#*@I-n)
.5)2'R(smtp)dnl
.5)2'R(procmail)dnl
dnl .5)2'R(cyrusv8)dnl
1I.,.,. ;rchivo 8etc8s+sconfig8spamass-milter.
Fditar el arcivo 8etc8s+sconfig8spamass-milter)
vim ;e$&;sys&on+%g;s'#<#ss-<%)$er
Fl arcivo 8etc8s+sconfig8spamass-milter inclu%e el siguiente contenido)
AAA 0verride "or your di""erent local con"ig
AS0*H'1+/var/run/spamass!milter/spamass!milter#sock
AAA Standard parameters "or spamass!milter are7
AAA != /var/run/spamass!milter#pid (=)& "ile)
AAA
AAA -ote that the !" parameter "or running the milter in the background
AAA is not reJuired because the milter runs in a rapper script that
AAA backgrounds itsel"
AAA
AAA <ou may add another parameters hereB see spamass!milter(1)
A'X1R5/>25IS+,!m !r 1:,
De for'a "redeter'inada! a trav#s del "ar&'etro -m! spamass-milter desactiva la 'odificacin del asunto
del 'ensa(e 19ub%ect#3 % la cabecera Content-<+pe#! lo cual es conveniente "ara aadir cabeceras % se
"rocesado "osterior'ente! %! a trav#s del "ar&'etro -r !.! reca,a los 'ensa(es de correo electrnico
cuando #stos tienen asignados 72 "untos o '&s$ Se "ueden 'odificar el n0'ero de "untos '/ni'os "ara
reca,ar directa'ente el correo electrnico sos"ecoso de ser $pam incre'entando el valor "ara el
"ar&'etro -r$ La reco'endacin es asignar un valor 'a%or al definido en el arcivo
8etc8mail8spamassassin8local.cf$ Si! "or e(e'"lo! se establece en #ste 0lti'o reCuiredUhits -.. %
reRriteUheader 9ub%ect d9pam@f % en el arcivo 8etc8s+sconfig8spamass-milter se establece
/B<R;U2&;:9V'-m -r !I'! ocurrir& lo siguiente)
7$ @odos los 'ensa(es 'arcados con =$= "untos o 'enos! se entregar&n in'ediata'ente al
usuario sin 'odificaciones visibles$
2$ @odos los 'ensa(es 'arcados desde =$2 asta B$B "untos se entregar&n al usuario con el
asunto 'odificado aadiendo a #ste oS"a'Eq al inicio$
488
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
8$ @odos los 'ensa(es .ue est#n 'arcados con 79$9 "untos o '&s ser&n reca,ados
auto'&tica'ente$
Basado sobre el e(e'"lo 'encionado! el contenido del arcivo 8etc8s+sconfig8spamass-milter .uedar/a
del siguiente 'odo)
AAA 0verride "or your di""erent local con"ig
AS0*H'1+/var/run/spamass!milter/spamass!milter#sock
AAA Standard parameters "or spamass!milter are7
AAA != /var/run/spamass!milter#pid (=)& "ile)
AAA
AAA -ote that the !" parameter "or running the milter in the background
AAA is not reJuired because the milter runs in a rapper script that
AAA backgrounds itsel"
AAA
AAA <ou may add another parameters hereB see spamass!milter(1)
EXTRA_FLAGS="-< -r 36"
1I.,.-. ;rchivo 8etc8procmailrc.
Si se desea .ue el correo 'arcado con una '/ni'a "untuacin "ara ser considerado 9pam 1igual o su"erior
al valor definido "ara el "ar&'etro reCuiredUhits del arcivo /etc/'ail/s"a'assassin/local$cf3 se entregue
en una car"eta diferente al bu,n de entrada! "ara ser consultado a trav#s de un *eb'ail 1S.uirrel'ail o
Grou"Gffice3 o bien un cliente con so"orte ?:+- 1:icrosoft GutlooK! GNG:F Fvolution o :o,illa @underbird3!
se "uede crear el arcivo 8etc8procmailrc)
vim ;e$&;'ro&<#%)r&
R aadirle el siguiente contenido)
A 3acer pasar el correo por spamassassin
7%"
R /usr/bin/spamc
A .over mensaOes positivos a Spam hacia la capeta _/mail/Spam del usuario
7%7
L `X!Spam!Status7 <es
F30.'/mail/Spam
Lo anterior define una regla condicionada a .ue la cabecera del 'ensa(e inclu%a B-9pam-9tatus# Zes! el
cual es agregado "or 9pam;ssassin cuando a% casos .ue su"eran el '/ni'o de "untos "ara ser
considerado 9pam! de 'odo .ue todo correo .ue inclu%a esta cabecera ser& al'acenado en la car"eta
mail89pam "ro"iedad del usuario a .uien sea destinado el 'ensa(e$ +l estar en 8etc8procmailrc! esta regla
se a"lica a todas la cuentas de usuario en el servidor$ Co'binado con todo lo anterior! ocurrir& lo siguiente)
7$ @odos los 'ensa(es 'arcados con =$= "untos o 'enos! se entregar&n in'ediata'ente al
usuario sin 'odificaciones visibles$
2$ @odos los 'ensa(es 'arcados desde =$2 asta B$B "untos se entregar&n al usuario con el
asunto 'odificado aadiendo a #ste oS"a'Eq al inicio % se al'acenar&n en la ca"eta
^8mail89pam del usuario$
8$ @odos los 'ensa(es .ue est#n 'arcados con 79$9 "untos o '&s ser&n reca,ados
auto'&tica'ente$
48=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
;rchivo 8etc8s+sconfig8spamassassin.
+ fin de .ue spamass-milter % spamassassin traba(en (untos! es necesario exista el directorio de
configuracin "ara el usuario sa-milt .ue se utili,ar& "ara iniciar spamd! el cual corres"onde al servicio
spamassassin$ -or lo general! este directorio se crea auto'&tica'ente al instalar el "a.uete
spamassassin$
Fste directorio debe "ertenecer al usuario sa-milt % gru"o sa-milt$
chon !R sa!milt7sa!milt /var/lib/spamassassin
Se edita el arcivo 8etc8s+sconfig8spamassassin)
vim ;e$&;sys&on+%g;s'#<#ss#ss%n
R se aaden las o"ciones -u sa-milt -* --virtual-config-dirV8var8lib8spamassassin! las cuales
es"ecifican .ue se iniciar& co'o el usuario sa-milt! .ue se desactivar& la configuracin "or usuario % .ue se
utili,ar& 8var8lib8spamassassin co'o directorio virtual de configuracin$ De tal 'odo! el arcivo debe
.uedar de la siguiente for'a)
A 0ptions to spamd
S9AMDO9T?ONS="-- -& -<! -F -> s#-<%)$ -E --*%r$>#)-&on+%g--%r=;*#r;)%b;s'#<#ss#ss%n"
1I.,... IniciarG detener + reiniciar el servicio spamass-milter.
Se agrega al arran.ue del siste'a % se inicia el servicio spamassasin del siguiente 'odo)
chkcon"ig spamassassin on
service spamassassin start
Fl servicio spamass-milter se agrega al arran.ue del siste'a % se inicia del siguiente 'odo)
chkcon"ig spamass!milter on
service spamass!milter start
+l ter'inar! considerando .ue est& instalado el "a.uete sendmail-mc! el cual "er'ite a"licar ca'bios en la
configuracin 9endmail a "artir del arcivo 8etc8mail8sendmail.mc! se debe reiniciar el servicio sendmail
"ara .ue surtan efectos los ca'bios reali,ado en el arcivo 'encionado$
service sendmail restart
+ fin de 'antener actuali,ado el (uego de reglas % filtros de S"a'assassin! es conveniente actuali,ar #stos
de ve, en cuando! a lo su'o una o dos veces al 'es$ Los (uegos de reglas % filtros de S"a'assassin
real'ente sufren "ocos ca'bios a lo largo del ao % se al'acenan en un sub6directorio dentro de
8var8lib8spamassassin8$ Solo es necesario conservar el sub6directorio con la versin '&s reciente$ Fl
siguiente 'andato reali,ar& la consulta % actuali,acin de reglas % filtros de S"a'assassin % reiniciar& el
servicio sola'ente si se descarg una actuali,acin)
sa!update PP service spamassassin restart
482
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1!. Introduccin a (pen&D;7.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1!.!. Introduccin.
1!.!.!. ;cerca de &D;7.
&D;7 1&igt*eigt Director% ;ccess 7rotocol3 es un "rotocolo "ara consulta % 'odificacin de servicios de
directorio .ue se dese'"ean sobre @C-/?-$ &D;7 utili,a el 'odelo O$299 "ara su estructura! es decir! se
estructura &rbol de entradas! cada una de las cuales consiste de un con(unto de atributos con no'bre % .ue
a su ve, al'acenan valores$
Fl inicio de la o"eracin Start@LS en un servidor LD+-! establece la co'unicacin <&9 1<rans"ort &a%er
9ecurit% o Seguridad "ara Nivel de @rans"orte3 a trav#s del 'is'o "uerto 8AB "or @C-$ -rovee
confidencialidad en el trans"orte de datos e "roteccin de la integridad de datos$ Durante la negociacin! el
servidor env/a su certificado con estructura O$29B "ara verificar su identidad$
U;L) tt")//en$*iKi"edia$org/*iKi/LD+-
1!.!.. ;cerca de R9;.
R9;! acrni'o de los a"ellidos de sus autores! ;on Rivest! +di 9a'ir % Len ;dle'an! es un algorit'o "ara
el cifra'iento de claves "0blicas .ue fue "ublicado en 7B55! "atentado en FF$UU$ en 7BA8 "or el el ?nstituto
@ecnolgico de :icigan 15I<3$ R9; es utili,ado a'"lia'ente en todo el 'undo "ara los "rotocolos
destinados "ara el co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/;S+
1!.!.,. ;cerca de B..I[.
B..I[ es un est&ndar I<"-< 1estandari,acin de <eleco'unicaciones de la International
<eleco''unication "nion 3 "ara infraestructura de claves "0blicas 17NI o 7ublic Ne% Infrastructure3$ Fntre
otras cosas! establece los est&ndares "ara certificados de claves "0blicas % un algorit'o "ara validacin de
ruta de certificacin$ Fste 0lti'o se encarga de verificar .ue la ruta de un certificado sea v&lida ba(o una
infraestructura de clave "0blica deter'inada$ Fs decir! desde el certificado inicial! "asando "or certificados
inter'edios! asta el certificado de confian,a e'itido "or una +utoridad Certificadora 1C; o Certification
;utorit%3$
U;L) tt")//es$*iKi"edia$org/*iKi/O$29B
1!.!.-. ;cerca de (pen99&.
484
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
(pen99& es una i'"le'entacin libre! de cdigo abierto! de los "rotocolos 99& 19ecure 9ocKets &a%er o
Nivel de Ncalo Seguro3 % <&9 1<rans"ort &a%er 9ecurit% o Seguridad "ara Nivel de @rans"orte3$ Fst& basado
sobre el extinto "ro%ecto 99&ea+! iniciado "or Fric Roung % @i' Iudson! asta .ue #stos co'en,aron a
traba(ar "ara la divisin de seguridad de F:C Cor"oration$
U;L) tt")//***$o"enssl$org/
485
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1. Cmo configurar (pen&D;7 como servidor de
autenticacin
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1.!. Introduccin.
-or favor! leer el docu'ento titulado ^?ntroduccin a G"enLD+-$_
1.. /Cuipamiento lgico necesario.
o"enlda"6clients62$x
o"enlda"6servers62$x
autconfig
autconfig6gtK 1o"cional3
'igrationtools
Instalacin a travs de +um.
Si utili,a Cent(9 0 o Red DatF /nterprise &inu* 0! e(ecute lo siguiente "ara instalar o actuali,ar! el
e.ui"a'iento lgico necesario)
yum !y install openldap openldap!clients openldap!servers nss!pam!ldapd
yum !y install authcon"ig authcon"ig!gtk migrationtools
Nota.
Si utili,a Cent(9 . o Red DatF /nterprise &inu* .! e(ecute lo siguiente "ara instalar o actuali,ar el
e.ui"a'iento lgico necesario)
yum !y install openldap openldap!clients openldap!servers nss/ldap
yum !y install authcon"ig authcon"ig!gtk
1.,. 7rocedimientos.
1.,.!. 9/&inu* + el servicio ldap.
Fl servicio slapd funcionar& "erfecta'ente con SFLinux activo en 'odo de imposici/n 1enforcing3$
48A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
@odo el contenido del directorio 8var8lib8ldap debe tener contexto ti"o slapdUdbUt$
chcon !R !t slapd/db/t /var/lib/ldap
Lo anterior solo ser& necesario si se restaura un res"aldo eco a "artir de un siste'a sin SFLinux$
1.,.. Certificados para <&9899&.
Fs 'u% i'"ortante utili,ar @LS/SSL cuando se configura el siste'a "ara fungir co'o servidor de
autenticacin! "or lo cual el siguiente "rocedi'iento es obligatorio$ Si utili,a Cent(9 0 o Red DatF
/nterprise &inu* 0! re.uerir& al 'enos openldap-.-.,-!0.el0! debido a .ue la versiones anteriores
tienen roto el so"orte "ara @LS/SSL$
Ca'bie al directorio 8etc8pOi8tls8certs)
cd /etc/pki/tls/certs
La creacin de la fir'a digital % certificado re.uiere utili,ar una fir'a digital con algorit'o R9; de 29=A
octetos % estructura *.I[$ De 'odo "redeter'inado se establece una valide, "or 842 d/as 1un ao3 "ara el
certificado .ue se crear&$
rm !" slapd#pem
make slapd#pem
cd !
Lo anterior solicitar& se ingresen varios datos)
Cdigo de dos letras "ara el "a/s$
Fstado o "rovincia$
Ciudad$
No'bre de la e'"resa o ra,n social$
Unidad o seccin$
No'bre del anfitrin$
Direccin de correo$
La salida ser/a si'ilar a la siguiente)
48B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Ienerating a 8%46 bit RS5 private key
################XXXXXX
#XXXXXX
riting ne private key to Zdovecot#keyZ
!!!!!
<ou are about to be asked to enter in"ormation that ill be
incorporated into your certi"icate reJuest#
4hat you are about to enter is hat is called a &istinguished -ame
or a &-#
1here are Juite a "e "ields but you can leave some blank
>or some "ields there ill be a de"ault valueB
)" you enter Z#ZB the "ield ill be le"t blank#
!!!!!
*ountry -ame (8 letter code) DI;E7MX
State or =rovince -ame ("ull name) D;erkshireE7D%s$r%$o Fe-er#)
2ocality -ame (egB city) D-eburyE7MeE%&o
0rganiCation -ame (egB company) D.y *ompany 2tdE7
M% e<'res#B S.A. -e C.:.
0rganiCational ?nit -ame (egB section) DE7D%re&&%on Co<er&%#)
*ommon -ame (egB your name or your serverZs hostname) DE7
ser*%-or.-o<%n%o.$)-
'mail 5ddress DE70eb<#s$erK-o<%n%o.$)-
Fl certificado solo ser& v&lido cuando el servidor &D;7 sea invocado con el no'bre definido en el ca'"o
Common Name$ Fs decir! slo "odr& utili,arlo cuando se defina co'o no'bre de anfitrin! es decir
servidor.dominio.tld$ -ara .ue esto funcione! ser& indis"ensable .ue un servidor DNS se encargue de la
resolucin del no'bre de anfitrin del servidor LD+- "ara toda la red de &rea local$
Fs indis"ensable .ue el arcivo .ue contiene la fir'a digital % el certificado tenga "er'isos de acceso de
lectura % escritura "ara el usuario root % "er'isos de acceso de slo lectura "ara el gru"o ldap)
chon root7ldap /etc/pki/tls/certs/slapd#pem
chmod 64% /etc/pki/tls/certs/slapd#pem
Fdite el arcivo 8etc8s+sconfig8ldap)
vi /etc/syscon"ig/ldap
+lrededor de la l/nea 29! localice <SL+-DMLD+-Sbno)
PSLA9D_LDA9S=no
Fli'ine la al'oadilla 1<3 % ca'bie no "or %es! de 'odo .ue .uede co'o 9&;7DU&D;79V+es$
SLA9D_LDA9S=yes
1.,.,. Creacin de directorios.
Con fines de organi,acin se crear& un directorio es"ec/fico "ara este directorio % se configurar& con
"er'isos de acceso exclusiva'ente al usuario % gru"o lda"$
mkdir /var/lib/ldap/autenticar
chmod $%% /var/lib/ldap/autenticar
Se re.uiere co"iar el arcivo D$UC(N2I:.e*ample dentro del directorio 8var8lib8ldap8autenticar8! co'o
el arcivo D$UC(N2I:$ Fs decir! e(ecute lo siguiente)
4=9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cp /usr/share/openldap!servers/&;/*0->)I#example /var/lib/ldap/autenticar/&;/*0->)I
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! e(ecute lo siguiente)
cp /etc/openldap/&;/*0->)I#example /var/lib/ldap/autenticar/&;/*0->)I
@odo el contenido del directorio 8var8lib8ldap8autenticar debe "ertenecer al usuario % gru"o ldap$ F(ecute
lo siguiente)
chon !R ldap7ldap /var/lib/ldap/autenticar
1.,.-. Creacin de claves de acceso para &D;7.
-ara crear la clave de acceso .ue se asignar& en LD+- "ara el usuario ad'inistrador del directorio! e(ecute
lo siguiente)
slappassd
Lo anterior debe devolver co'o salida un cri"togra'a! si'ilar al 'ostrado a continuacin)
eSS35f2nmG2>e'1/Cebp$5y'>%9-lIa11d4ckC
Co"ie % res"alde este cri"togra'a$ Fl texto de la salida ser& utili,ado '&s adelante en el arcivo
8etc8openldap8slapd.conf % se definir& co'o clave de acceso "ara el usuario Administrador! .uien tendr&
todos los "rivilegios sobre el directorio$
1.,... ;rchivo de configuracin 8etc8openldap8slapd.conf.
Se debe crear 8etc8openldap8slapd.conf co'o arcivo nuevo)
touch /etc/openldap/slapd#con"
vim /etc/openldap/slapd#con"
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! el arcivo 8etc8openldap8slapd.conf %a existe! e inclu%e
contenido de e(e'"lo$ -uede ree'"la,ar todo el contenido en su totalidad! "or el e(e'"lificado a continuacin$
Fl arcivo 8etc8openldap8slapd.conf debe de tener definidos todos los arcivos de es.ue'a '/ni'os
re.ueridos$ De tal 'odo! el inicio del arcivo debe contener algo si'ilar a lo siguiente)
include /etc/openldap/schema/corba#schema
include /etc/openldap/schema/core#schema
include /etc/openldap/schema/cosine#schema
include /etc/openldap/schema/duacon"#schema
include /etc/openldap/schema/dyngroup#schema
include /etc/openldap/schema/inetorgperson#schema
include /etc/openldap/schema/Oava#schema
include /etc/openldap/schema/misc#schema
include /etc/openldap/schema/nis#schema
include /etc/openldap/schema/openldap#schema
include /etc/openldap/schema/ppolicy#schema
include /etc/openldap/schema/collective#schema
4=7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Se deben abilitar los "ar&'etros <&9C;Certificate2ile! <&9Certificate2ile % <&9CertificateNe+2ile
estableciendo las rutas acia el certificado % clave$
12S*5*erti"icate>ile /etc/pki/tls/certs/ca!bundle#crt
12S*erti"icate>ile /etc/pki/tls/certs/slapd#pem
12S*erti"icateHey>ile /etc/pki/tls/certs/slapd#pem
+ fin de "er'itir conexiones desde clientes con G"enLD+- 2$x! establecer el arcivo de n0'ero de "roceso %
el arcivo de argu'entos de LD+-! deben estar "resentes los siguientes "ar&'etros! con los
corres"ondientes valores)
allo bind/v8
pid"ile /var/run/openldap/slapd#pid
args"ile /var/run/openldap/slapd#args
-ara concluir con el 8etc8openldap8slapd.conf! se aade lo siguiente! .ue tiene co'o finalidad el definir la
configuracin del nuevo directorio .ue en adelante se utili,ar& "ara autenticar a toda la red de &rea local)
database bdb
su""ix ,dc+-o<%n%oBdc+tld,
rootdn ,cn+5dministradorBdc+-o<%n%oBdc+tld,
rootp eSS35f2nmG2>e'1/Cebp$5y'>%9-lIa11d4ckC
directory /var/lib/ldap/autenticar
A )ndices a mantener para esta base de datos
index obOect*lass eJBpres
index ouBcnBmailBsurnameBgivenname eJBpresBsub
index uid-umberBgid-umberBloginShell eJBpres
index uidBmember?id eJBpresBsub
index nis.ap-ameBnis.ap'ntry eJBpresBsub
Fn resu'en! el arcivo 8etc8openldap8slapd.conf debiera .uedar de 'odo si'ilar al siguiente)
4=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
include /etc/openldap/schema/corba#schema
include /etc/openldap/schema/core#schema
include /etc/openldap/schema/cosine#schema
include /etc/openldap/schema/duacon"#schema
include /etc/openldap/schema/dyngroup#schema
include /etc/openldap/schema/inetorgperson#schema
include /etc/openldap/schema/Oava#schema
include /etc/openldap/schema/misc#schema
include /etc/openldap/schema/nis#schema
include /etc/openldap/schema/openldap#schema
include /etc/openldap/schema/ppolicy#schema
include /etc/openldap/schema/collective#schema
12S*5*erti"icate>ile /etc/pki/tls/certs/ca!bundle#crt
12S*erti"icate>ile /etc/pki/tls/certs/slapd#pem
12S*erti"icateHey>ile /etc/pki/tls/certs/slapd#pem
allo bind/v8
pid"ile /var/run/openldap/slapd#pid
args"ile /var/run/openldap/slapd#args
database bdb
su""ix ,dc+-o<%n%oBdc+tld,
rootdn ,cn+5dministradorBdc+-o<%n%oBdc+tld,
rootp eSS35f2nmG2>e'1/Cebp$5y'>%9-lIa11d4ckC
directory /var/lib/ldap/autenticar
A )ndices a mantener para esta base de datos
index obOect*lass eJBpres
index ouBcnBmailBsurnameBgivenname eJBpresBsub
index uid-umberBgid-umberBloginShell eJBpres
index uidBmember?id eJBpresBsub
index nis.ap-ameBnis.ap'ntry eJBpresBsub
A 3abilitar supervisiTn
database monitor
A =ermitir solo a rootdn ver la supervisiTn
access to L
by dn#exact+,cn+5dministradorBdc+-o<%n%oBdc+tld, read
by L none
-or seguridad! el arcivo 8etc8openldap8slapd.conf deber& tener "er'isos de lectura + escritura! slo
"ara el usuario ldap$
chon ldap7ldap /etc/openldap/slapd#con"
chmod 6%% /etc/openldap/slapd#con"
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* . o bien versiones de o"enlda" anteriores a la 2$=! o'ita los
siguientes tres "asos$
Fli'ine el con(unto de arcivos % directorios .ue co'"onen los configuracin "redeter'inada)
rm !r" /etc/openldap/slapd#d/L
Fs necesario iniciali,ar los arcivos de la base de datos "ara el contenido del directorio
8var8lib8ldap8autenticar! "or tanto e(ecute lo siguiente)
echo ,, R slapadd !" /etc/openldap/slapd#con"
4=8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Convierta el arcivo 8etc8openldap8slapd.conf en el nuevo subcon(unto de arcivos ldif .ue ir&n dentro
del directorio 8etc8ldap8slapd.d)
slaptest !" /etc/openldap/slapd#con" !> /etc/openldap/slapd#d
@odo el contenido de los directorios 8etc8ldap8slapd.d % 8var8lib8ldap8autenticar deben "ertenecer al
usuario % gru"o ldap$ F(ecute lo siguiente)
chon !R ldap7ldap /etc/openldap/slapd#d /var/lib/ldap/autenticar
;estable,ca los contextos de SFLinux "ara los directorios 8etc8ldap8slapd.d % 8var8lib8ldap8autenticar
e(ecutando lo siguiente)
restorecon !R /etc/openldap/slapd#d /var/lib/ldap/autenticar
1.,.0. Inicio del servicio.
?nicie el servicio slapd % aada #ste al resto de los servicios .ue arrancan (unto con el siste'a! e(ecutando
los siguientes dos 'andatos)
service slapd start
chkcon"ig slapd on
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! inicie el servicio slapd % aada #ste al resto de los servicios
.ue arrancan (unto con el siste'a)
service ldap start
chkcon"ig ldap on
1.,.1. 5igracin de cuentas e*istentes en el sistema.
Fdite el arcivo 8usr8share8migrationtools8migrateUcommon.ph)
vim /usr/share/migrationtools/migrate/common#ph
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! edite el arcivo
8usr8share8openldap8migration8migrateUcommon.ph)
vim /usr/share/openldap/migration/migrate/common#ph
:odifi.ue los los valores de las variables `D/2;"&<U5;I&UD(5;IN % F&'>5?21/;5S' a fin de .ue .ueden
del siguiente 'odo)
A &e"ault &-S domain
F&'>5?21/.5)2/&0.5)- + ,-o<%n%o.$)-,[
A &e"ault base
F&'>5?21/;5S' + ,-&=-o<%n%oB-&=$)-,[
4==
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ continuacin! a% .ue crear el ob(eto .ue a su ve, contendr& el resto de los datos en el directorio!
utili,ando migrateUbase.pl "ara generar el arcivo base.ldif$
Genere el arcivo base.ldif! e(ecutando lo siguiente)
/usr/share/migrationtools/migrate/base#pl Q base#ldi"
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! "uede generar el arcivo base$ldif e(ecutando lo siguiente)
/usr/share/openldap/migration/migrate/base#pl Q base#ldi"
Utilice el 'andato ldapadd "ara insertar los datos necesarios$ Las o"ciones utili,adas con este 'andato
son las siguientes)
!x autenticaciTn simple
!4 solicitar clave de acceso
!& binddn -ombre &istinguido (dn) a utiliCar
!h an"itriTn Servidor 2&5= a acceder
!" archivo archivo a utiliCar
Una ve, entendido lo anterior! se "rocede a insertar la infor'acin generada en el directorio utili,ando lo
siguiente)
ldapadd !x !4 !& Zcn+5dministradorB dc+-o<%n%oB dc+tldZ !h 18$#%#%#1 !" base#ldi"
Una ve, eco lo anterior! se "odr& co'en,ar a "oblar el directorio con datos$ Lo "ri'ero ser& i'"ortar los
gru"os % usuarios existentes en el siste'a$ ;ealice la i'"ortacin de usuarios creando los arcivos
group.ldif % passRd.ldif! utili,ando migrateUgroup.pl % migrateUpassRd.pl$
F(ecute los siguientes dos 'andatos)
/usr/share/migrationtools/migrate/group#pl /etc/group group#ldi"
/usr/share/migrationtools/migrate/passd#pl /etc/passd passd#ldi"
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! e(ecute los siguientes dos 'andatos)
/usr/share/openldap/migration/migrate/group#pl /etc/group group#ldi"
/usr/share/openldap/migration/migrate/passd#pl /etc/passd passd#ldi"
Lo anterior crear& los arcivos group.ldif % passRd.ldif! los cuales incluir&n la infor'acin de los gru"os %
cuentas en el siste'a! inclu%endo las claves de acceso$ Los datos se "odr&n insertar en el directorio LD+-
utili,ando lo siguiente)
ldapadd !x !4 !& Zcn+5dministradorB dc+-o<%n%oB dc+tldZ !h 18$#%#%#1 !" group#ldi"
ldapadd !x !4 !& Zcn+5dministradorB dc+-o<%n%oB dc+tldZ !h 18$#%#%#1 !" passd#ldi"
1.-. Comprobaciones.
+ntes de configurar el siste'a "ara utili,ar LD+- "ara autenticar! es conveniente verificar .ue todo funciona
correcta'ente$
4=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl siguiente 'andato verifica .ue directorios dis"onibles existen en el servidor 725$9$9$7$
ldapsearch !h 18$#%#%#1 !x !b ZZ !s base Z(obOectclass+L)Z naming*ontexts
Lo anterior debe devolver una salida si'ilar a lo siguiente)
A extended 2&)>
A
A 2&5=v@
A base ]Q ith scope base
A "ilter7 (obOectclass+L)
A reJuesting7 naming*ontexts
A
A
dn7
naming*ontexts7 dc+-o<%n%oBdc+tld
A search result
search7 8
result7 % Success
A numResponses7 8
A num'ntries7 1
Fl siguiente 'andato debe devolver toda la infor'acin de todo el directorio solicitado
1dcbdominio!dcbtld3$
ldapsearch !x !b Zdc+-o<%n%oBdc+tldZ Z(obOectclass+L)Z
Gtro e(e'"lo es reali,ar una b0s.ueda es"ec/fica! "ara un usuario en "articular$ +su'iendo .ue en el
directorio existe el usuario deno'inado fulano! e(ecute lo siguiente)
ldapsearch !x !b Zuid+"ulanoBou+=eopleBdc+-o<%n%oBdc+tldZ
Lo anterior debe regresar algo si'ilar a lo siguiente)
4=4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A extended 2&)>
A
A 2&5=v@
A base uid+"ulanoBou+=eopleBdc+-o<%n%oBdc+tld ith scope sub
A "ilter7 (obOectclass+L)
A reJuesting7 522
A
A "ulanoB =eopleB dominio#tld
dn7 uid+"ulanoBou+=eopleBdc+-o<%n%oBdc+tld
uid7 "ulano
cn7 "ulano
obOect*lass7 account
obOect*lass7 posix5ccount
obOect*lass7 top
obOect*lass7 shado5ccount
user=assord77 xxxxxxxxxxxx
shado2ast*hange7 18:94
shado.ax7 99999
shado4arning7 $
loginShell7 /bin/bash
uid-umber7 :%:
gid-umber7 :%:
home&irectory7 /home/"ulano
A search result
search7 8
result7 % Success
A numResponses7 8
A num'ntries7 1
1... Configuracin de clientes.
Los clientes Cent(9 0 % Red Dat /nterprise &inu* 0! re.uieren tener instalados los "a.uetes
nss-pam-ldap! autconfig % openldap-clients-.-.,-!0.el0 1las versiones anteriores de este 0lti'o
tienen roto el so"orte "ara @LS/SSL3)
yum !y install authcon"ig openldap!clients nss!pam!ldapd
Nota.
Los clientes Cent(9 . % Red Dat /nterprise &inu* . re.uieren tener instalados los "a.uetes nssUldap!
autconfig % o"enlda"6clients)
yum !y install authcon"ig openldap!clients nss/ldap
Defina los valores "ara los "ar&'etros host % base! a fin de establecer acia .ue servidor % a .ue directorio
conectarse! en el arcivo 8etc8pamUldap.conf$
vim /etc/pam/ldap#con"
Nota.
Si utili,a Cent(9 . o Red DatF /nterprise &inu* .! defina lo anterior en el arcivo 8etc8ldap.conf$
vim /etc/ldap#con"
4=5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara fines "r&cticos! el valor del "ar&'etro uri corres"onde al no'bre del servidor LD+-! "revia'ente
resuelto "or un DNS % el valor del "ar&'etro base debe ser el 'is'o .ue se es"ecific en el arcivo
8etc8openldap8slapd.conf "ara el "ar&'etro suffi*$ Considerando .ue el no'bre de anfitrin del servidor
LD+- est& resuelto "or un servidor DNS! co'o servidor.dominio.tld! "uede definir lo siguiente)
uri ldap7//ser*%-or.-o<%n%o.$)-/
base -&=-o<%n%oB-&=$)-
ssl start/tls
tls/checkpeer no
pam/passord md:
+su'iendo .ue el servidor LD+- tiene definido co'o no'bre de anfitrin servidor.dominio.tld!
"revia'ente resuelto en un servidor DNS! e(ecute lo siguiente)
authcon"ig !!useshado !!enablemd: !!enablelocauthoriCe K
!!enablemkhomedir --en#b)e)-#' --en#b)e)-#'#>$h K
--)-#'ser*er=ser*%-or.-o<%n%o.$)- K
--)-#'b#se-n=-&=-o<%n%oB-&=$)- --en#b)e)-#'$)s !!update
Si utili,a Cent(9 0 o Red DatF /nterprise &inu* 0! con openldap-clients-.-.,-!..el0 % versiones
anteriores! utilice --disableldaptls! en lugar de --enableldaptls$
+l ter'inar! debe iniciar % agregar a los servicios de arran.ue del siste'a al servicio nslcd$
chkcon"ig nslcd on
service nslcd start
1.0. ;dministracin.
Fxisten 'ucos "rogra'as "ara acceder % ad'inistrar servidores LD+-! "ero la 'a%or/a slo sirven "ara
ad'inistrar usuarios % gru"os del siste'a! co'o el 'dulo de LD+- de Qeb'in$ La 'e(or erra'ienta de
ad'inistracin de directorios LD+- .ue "uedo reco'endar es -I- LD+- +d'in$
1.1. Respaldo de datos.
Fl "rocedi'iento re.uiere detener el servicio slapd$
service slapd stop
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! debe detenerse el servicio ldap antes de "roceder con el
res"aldo de datos$
service ldap stop
Utilice el 'andato slapcat del siguiente 'odo! definiendo el directorio de configuracin
8etc8openldap8slapd.d$
slapcat !v !> /etc/openldap/slapd#d !l respaldo!F(date XY<YmYd)#ldi"
4=A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! se utili,a la erra'ienta slapcat! definiendo el arcivo de
configuracin 8etc8openldap8slapd.conf$
slapcat !v !" /etc/openldap/slapd#con" !l respaldo!F(date XY<YmYd)#ldi"
?nicie de nuevo el servicio slapd$
service slapd start
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! inicie de nuevo el servicio ldap$
service ldap start
1.4. Restauracin de datos.
Fl "rocedi'iento re.uiere detener el servicio$ F(ecute lo siguiente)
service slapd stop
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! e(ecute lo siguiente)
service ldap stop
Deben eli'inarse los datos del directorio a restaurar$
rm !" /var/lib/ldap/autenticar/L
Juelva a co"iar el arcivo D$UC(N2I:.e*ample dentro del directorio 8var8lib8ldap8autenticar8! co'o el
arcivo D$UC(N2I:$ Fs decir! e(ecute lo siguiente)
cp /usr/share/openldap!servers/&;/*0->)I#example /var/lib/ldap/autenticar/&;/*0->)I
Utilice la erra'ienta slapadd "ara cargar los datos del res"aldo desde un arcivo P$ldif$
slapadd !v !c !l respaldo!8%11%911#ldi" !> /etc/openldap/slapd#d
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! slapadd se utili,a definiendo el arcivo de configuracin
8etc8openldap8slapd.conf$
slapadd !v !c !l respaldo!8%11%911#ldi" !" /etc/openldap/slapd#con"
-ara regenerar los /ndices LD+-! e(ecute el 'andato slapinde*)
slapindex
4=B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
?nicie de nuevo el servicio! e(ecutando lo siguiente)
service slapd start
Nota.
Si utili,a Cent(9 . o Red Dat /nterprise &inu* .! e(ecute lo siguiente)
service ldap start
1.[. 5odificaciones necesarias en el muro cortafuegos.
Si se utili,a un cortafuegos con "ol/ticas estrictas! co'o "or e(e'"lo 9horeRall! es necesario abrir el "uerto
8AB 1ldap3! "or @C-$
Si utili,a 9horeRall! edite el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 net " tcp @69
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
+l ter'inar de configurar las reglas "ara 9horeRall! reinicie el 'uro cortafuegos! e(ecutando el siguiente
'andato)
service shoreall restart
429
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1,. Configuracin b6sica de 5+9?&F.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1,.!. Introduccin.
1,.!.!. ;cerca de 5+9?&F.
5+9?&F es un D$59 1Data$ase 5anage'ent 9%ste'3 o siste'a de gestin de base de datos 9?&
19tructured ?uer% &anguage o Lengua(e Fstructurado de Consulta3 'ultiusuario % 'ultiilo con licencia
:N"8:7&$ >ue "ro"iedad % "atrocinio de 5+9?& ;$! co'"a/a fundada "or David +x'arK! +llan Larsson %
:icael Qidenius! con base de o"eraciones en Suecia! la cual "ose/a los derecos de autor de "r&ctica'ente
todo el cdigo .ue lo integraba$ 5+9?& ;$ desarroll % se encarg del 'anteni'iento de :%SDL vendiendo
servicios de so"orte % otros valores agregados! as/ co'o ta'bi#n licencia'iento "rivativos "ara los
desarrollos de e.ui"a'iento lgico .ue re.uieren 'antener cerrado su cdigo fuente$ :%SDLH +B fue
ad.uirido en 299A "or Sun :icros%ste's! .ue a su ve, fue ad.uirido "or Gracle Cor"oration en 299B$
5+9?&F es actual'ente el servidor de base de datos '&s "o"ular "ara los desarrollos a trav#s de la red
'undial! "rinci"al'ente sitios de ?nternet$ Fs c#lebre % casi legendario! "or considerarse r&"ido % slido$
:%SDL ser& ree'"la,ado de for'a trans"arente "or :ariaDB! una bifurcacin de :%SDL dirigida "or :icael
Qidenius! co'o 'edida "ara acer frente a la 'ala gestin .ue a reali,ado Gracle sobre el "ro%ecto
:%SDL$
U;L) tt")//***$'%s.l$co'/
1,.. /Cuipamiento lgico necesario.
1,..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
F(ecute lo siguiente "ara instalar los "a.uetes '%s.l 1cliente3 % '%s.l6server 1servidor3)
yum !y install mysJl mysJl!server
1,... /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute lo siguiente "ara instalar los "a.uetes '%s.l6client 1cliente3 % '%s.l 1servidor3)
yast !i mysJl mysJl!client
1,.,. 5odificaciones necesarias en el muro cortafuegos.
427
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fs necesario abrir el "uerto 8894 "or @C- 1m+sCl3! "ero slo si re.uiere acer conexiones desde anfitriones
re'otos$
1,.,.I.!. Derramienta s+stem-config-fireRall.
Si utili,a el 'uro cortafuegos "redeter'inado del siste'a! "uede e(ecutar el siguiente 'andato)
system!con"ig!"ireall
Iabilite el "uertos ,,I08<C7 % a"li.ue los ca'bios$
Ierra'ienta s%ste'6config6fire*all abilitando el "uerto 8894/@C- "ata :%SDL$
1,.,.I.. 9ervicio iptables.
Si lo "refiere! ta'bi#n "uede utili,ar directa'ente el 'andato iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @@%6 !O 5**'=1
service iptables save
G bien aada lo siguiente al arcivo 8etc8s+sconfig8iptables)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport @@%6 !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
1,.,.I.,. 9horeRall.
La regla "ara el arcivo 8etc8shoreRall8rules de 9horeRall corres"onder/a a lo siguiente)
422
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp @@%6
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios en Sore*all! e(ecute lo siguiente)
service shoreall restart
1,.,.!. /n open9"9/F + 9"9/F &inu* /nterprise.
F(ecute el 'andato +ast del siguiente 'odo)
yast "ireall
R abilite ")SQ/ Ser&er % a"li.ue los ca'bios$ Ysto abilitar& todos los "uertos necesarios$
:dulo de cortafuegos de RaS@! en 'odo gr&fico! abilitando el ")SQ/ Ser&er$
428
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:dulo de cortafuegos de RaS@! en 'odo texto! abilitando ")SQ/ Ser&er$
1,.-. 9/&inu* + 5+9?&FG slo en Cent(9G 2edoraF + Red DatF
/nterprise &inu*.
-ara .ue SFLinux "er'ita al usuario regular establecer conexiones acia el ,calo de :%SDLH! utilice el
siguiente 'andato)
setsebool != allo/user/mysJl/connect 1
-ara .ue SFLinux "er'ita al servicio m+sCld conectarse a cual.uier "uerto distinto al 8894! utilice el
siguiente 'andato)
setsebool != mysJl/connect/any 1
1,... 7rocedimientos.
1,...!. IniciarG detener + reiniciar el servicio m+sCld.
1,...!.!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
-ara .ue el servicio de m+sCld est# activo en todos los niveles de e(ecucin! se e(ecuta lo siguiente)
chkcon"ig mysJld on
-ara iniciar "or "ri'era ve, el servicio m+sCld % generar la base de datos inicial 1m+sCl3! e(ecute lo
siguiente)
42=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service mysJld start
-ara reiniciar el servicio m+sCld! e(ecute lo siguiente)
service mysJld restart
-ara detener el servicio m+sCld! e(ecute lo siguiente)
service mysJld stop
1,...!.. open9"9/F + 9"9/F &inu* /nterprise.
-ara .ue el servicio de m+sCl est# activo en todos los niveles de e(ecucin! se e(ecuta lo siguiente)
insserv mysJl
-ara iniciar "or "ri'era ve, el servicio m+sCl % generar la base de datos inicial 1m+sCl3! e(ecute lo
siguiente)
rcmysJl start
-ara reiniciar el servicio m+sCl! e(ecute lo siguiente)
rcmysJl restart
-ara detener el servicio m+sCl! e(ecute lo siguiente)
rcmysJl stop
1,.... ;rchivos + directorios de configuracin.
Fl arcivo 8etc8m+.cnf es el utili,ado "ara establecer o ca'biar o"ciones "er'anentes de :%SDL$ Las
bases de datos se al'acenan dentro del directorio 8var8lib8m+sCl$
1,...,. ;signacin de contraseHa al usuario root en 5+9?&.
Fl usuario root en :%SDLH! carece de contrasea des"u#s de iniciado el servicio "or "ri'era ve,! "or lo
cual es 'u% i'"ortante asignar una$
Si necesita "oner en "roduccin in'ediata'ente el servidor! e(ecute el 'andato
m+sClUsecureUinstallation "ara iniciar un asistente .ue le "er'itir& asignar una contrasea al usuario
root de :%SDL! eli'inar el usuario anni'o % la base de dato de "ruebas 1test3! eli'inar accesos re'oto %
otros a(ustes de seguridad i'"ortantes$
mysJl/secure/installation
Con lo anterior! recuerde .ue inicial'ente el usuario root carece de contrasea$ Cuando se le solicite asignar
la contrasea de root se le solcitar& la contrasea actual$ Slo "ulse la tecla FN@F; % luego asigne una
nueva contrasea$
422
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn adelante! ser& necesario aadir la o"cin -p a cual.uier sentencia de l/nea de 'andatos "ara m+sCl!
m+sCladmin % m+sCldump "ara ingresar la contrasea del usuario root % "oder! de esta for'a! reali,ar
diversas tareas ad'inistrativas$
De 'anera alternativa! "uede e(ecutar el 'andato m+sCladmin! con la o"cin -h con localhost co'o
argu'ento! la o"cin -u con root % passRord co'o argu'entos % la nueva contrasea entre co'illas
si'"les)
mysJladmin !u root passord ZcualJuier!contraseNa!Jue!gusteZ
1,...,.!. Recuperacin de la contraseHa del usuario root en 5+9?&.
Fn caso de .ue a%a olvidado la contrasea del usuario root de :%SDLH! detenga el servicio e(ecutando
service m+sCld stop 1CentGS! >edoraH % ;ed IatH Fnter"rise Linux3 o bien rcm+sCl stop 1o"enSUSFH %
SUSFH Linux Fnter"rise3$
F(ecute el 'andato m+sCldUsafe con la o"cin --sOip-grant-tables! enviando el "roceso a segundo "lano)
mysJld/sa"e !!skip!grant!tables P
?ngrese al int#r"rete de 'andato de :%SDLH e(ecutando el 'andato m+sCl! sin argu'entos u o"ciones)
mysJl
F(ecute lo siguiente)
?=&51' mysJl#user
S'1 =assord+=5SS40R&(Zn>e*#-&on$r#se_#Z)
43'R' ?ser+ZrootZ[
>2?S3 =R)()2'I'S[
Salga del int#r"rete de 'andatos de :%SDLH e(ecutando lo siguiente)
exit[
Detenga el servicio m+sCld e(ecutando slo lo siguiente)
mysJladmin shutdon
?nicie :%SDLH e(ecutando service m+sCld start 1CentGS! >edoraH % ;ed IatH Fnter"rise Linux3 o bien
rcm+sCl start 1o"enSUSFH % SUSFH Linux Fnter"rise3$
Jerifi.ue el ca'bio de contrasea accediendo a :%SDLH con el 'andato m+sCl % la o"cin -p! e ingrese la
nueva contrasea$
mysJl !p
Salga del int#r"rete de 'andatos de :%SDLH e(ecutando lo siguiente)
exit[
424
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-rocure 'e'ori,ar la nueva contrasea asignada al usuario root de :%SDL$
1,...-. Crear + eliminar bases de datos.
-ara crear una nueva base de datos! "uede utili,arse el 'andato m+sCladmin con el "ar&'etro create! la
o"cin -u con root co'o usuario % la o"cin -p "ara indicar .ue se ingresar& una contrasea)
mysJladmin !u root !p &re#$e basedatos
-ara eli'inar una base de datos! se utili,a el 'andato m+sCladmin con el "ar&'etro drop en lugar de
create! la o"cin -u con root co'o usuario % la o"cin -p "ara indicar .ue se ingresar& una contrasea)
mysJladmin !u root !p -ro' basedatos
1,..... Respaldo + restauracin de bases de datos.
-ara res"aldar una base de datos desde el anfitrin local! se e(ecuta el 'andato m+sCldump con las
o"ciones --opt 1.ue aade auto'&tica'ente las o"ciones 66add6dro"6table! 66add6locKs! 66create6o"tions!
66.uicK! 66extended6insert! 66locK6tables! 66set6carset % 66disable6Ke%s3! la o"cin -u con el no'bre de usuario
a utili,ar! la o"cin -p "ara indicar .ue se ingresar& una contrasea! el no'bre de la base de datos! g "ara
guardar la salida est&ndar 1S@DGU@3 en un arcivo % el no'bre del arcivo donde se guardar& el res"aldo$
F(e'"lo)
mysJldump !!opt !u root !p basedatos [ respaldo#sJl
-ara restaurar un res"aldo! se e(ecuta el 'andato m+sCl con las o"ciones -u con el no'bre de usuario con
"rivilegios sobre la base de datos a restaurar! -p "ara indicar .ue se utili,ar& contrasea! el no'bre de la
base de datos a restaurar! o "ara indicar .ue la entrada est&ndar 19<DIN3 ser& un arcivo % el no'bre del
arcivo con el res"aldo de la base de datos$ F(e'"lo)
mysJl !u root !p basedatos Z respaldo#sJl
-ara res"aldar todas la bases de datos os"edadas en :%SDLH! se e(ecuta el 'andato m+sCldump con las
o"ciones --opt! --all-databases "ara indicar .ue se res"aldar&n todas la bases de datos! la o"cin -u con
root co'o usuario! la o"cin -p "ara indicar .ue se utili,ar& contrasea! el s/'bolo g "ara guardar la salida
est&ndar 19<D("<3 en un arcivo % el no'bre del arcivo donde se guardar& el res"aldo$ F(e'"lo)
mysJldump !!opt !!all!databases !u root !p [ respaldo!todo#sJl
-ara restaurar todas las bases de datos a "artir de un 0nico arcivo de res"aldo! se e(ecuta el 'andato
m+sCl con la o"cin -u con root co'o usuario! la o"cin -p "ara indicar .ue se utili,ar& contrasea! el
s/'bolo o "ara indicar .ue la entrada est&ndar 19<DIN3 ser& un arcivo % el no'bre del arcivo con el
res"aldo de todas las bases de datos$ F(e'"lo)
mysJl !u root !p Z respaldo!todo#sJl
1,...0. 7ermisos de acceso a las bases de datos.
?ngrese al int#r"rete de :%SDLH co'o el usuario root)
425
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
mysJl !u root !p
-ara asignar los "er'isos select 1seleccionar3! insert 1insertar3! update 1actuali,ar3! create 1crear3! alter
1alterar3! delete 1eli'inar3 % drop 1descartar3 sobre las tablas de una base de datos al usuario prueba
desde el anfitrin localhost 1anfitrin local3! se e(ecuta algo si'ilar a lo siguiente)
IR5-1
selectB insertB updateB createB alterB deleteB drop
0-
base!de!datos#L
10
usuario^localhost
)&'-1)>)'& ;<
ZcontraseNaZ[
-uede otorgar al usuario todos los "er'isos sobre la base de datos e(ecutando lo siguiente)
IR5-1
all
0-
base!de!datos#L
10
usuario^localhost
)&'-1)>)'& ;<
ZcontraseNaZ[
Si se re.uiere "er'itir el acceso acia una base de datos desde otro anfitrin en la red de &rea local! se
e(ecuta algo si'ilar al e(e'"lo anterior! "ero definiendo el usuario % la direccin ?- del anfitrin re'oto$
F(e'"lo)
IR5-1
selectB insertB updateB createB alterB deleteB drop
0-
directorio#L
10
usuario^198#166#$%#8
)&'-1)>)'& ;<
ZcontraseNaZ[
-uede otorgar al usuario todos los "er'isos sobre la base de datos e(ecutando lo siguiente)
IR5-1
all
0-
directorio#L
10
usuario^198#166#$%#8
)&'-1)>)'& ;<
ZcontraseNaZ[
Si se re.uiere "er'itir el acceso acia una base de datos desde cual.uier anfitrin! se e(ecuta algo si'ilar a
lo anterior! "ero definiendo el no'bre del usuario entre co'illas si'"les! arroba % el s/'bolo c entre
co'illas si'"les$ F(e'"lo)
42A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
IR5-1
all
0-
directorio#L
10
ZusuarioZ^ZYZ
)&'-1)>)'& ;<
ZcontraseNa!usuario!usuarioZ[
1,.0. (ptimi3acin de 5+9?&.
1,.0.!. Deshabilitar la resolucin de nombres de anfitrin.
:%SDL 'antiene un cace de anfitriones utili,ados en la 'e'oria! la cual contiene las direcciones ?-!
no'bres de anfitrin % errores de infor'acin asociados a #stos$ Fl cace slo se utili,a "ara conexiones
@C- re'otas con otros anfitriones % (a'&s lo utili,a "ara conexiones a trav#s de la interfa, de retorno del
siste'a 1loo"bacK! 725$9$9$73 o conexiones ecas a trav#s del arcivo de ,calo! tuber/a o bien 'e'oria
co'"artida$
-or cada nueva conexin! :%SDLH utili,a la direccin ?- del cliente "ara verificar si el no'bre de anfitrin
de #ste est& en el cace de anfitriones$ Cuando el no'bre es inexistente! :%SDLH intentar& resolver el
no'bre de anfitrin! resolviendo "ri'ero la direccin ?-! luego resolviendo el no'bre! co'"arando el
resultado de la direccin ?- original "ara verificar .ue corres"ondan$ :%SDLH al'acena luego esta
infor'acin en el cace de anfitriones$
Fl ob(etivo del cace es evitar acer una consulta de DNS "or cada conexin de cliente % el al'acena'iento
de infor'acin de errores .ue ocurren en el "roceso de conexin de los clientes$ Cuando ocurren
de'asiados errores desde un anfitrin en "articular % se rebasa el valor de la variable
ma*UconnectUerrors 179! de 'odo "redeter'inado3! :%SDLH blo.uea el acceso desde dico anfitrin$
Cuando un anfitrin es blo.ueado! slo "odr& acceder de nuevo si se reinicia :%SDLH o si se li'"ia el cace
de anfitriones$ Fste 0lti'o "uede li'"iarse e(ecutando desde el int#r"rete de 'andatos del siste'a lo
siguiente)
mysJladmin !p "lush!hosts
Cuando se tiene un DNS 'u% lento o se carece de uno .ue resuelva el no'bre de los anfitriones o bien se
tiene de'asiados anfitriones aciendo conexiones acia el servidor :%SDLH! desabilitar el cace de
anfitriones o acer '&s grande #ste! 'e(ora el rendi'iento considerable'ente$ La consecuencia de
desabilitar el cace de anfitriones es .ue en adelante slo se "odr&n otorgar "er'isos de acceso % reali,ar
conexiones utili,ando direcciones ?-! es decir utili,ando u(uario7a.b.c.d en lugar de
u(uario7anitrin.do$inio.tld$
-ara desabilitar el cace de anfitriones! se re.uiere editar el arcivo 8etc8m+.cnf)
vi /etc/my#cn"
R aadir la siguiente o"cin en la seccin Sm+sCldT)
skip!name!resolve
-ara a"licar los ca'bios! es necesario reiniciar el servicio$
42B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se desea acer '&s grande el cace de anfitriones! cu%o valor "redeter'inado es 72A anfitriones! se
re.uiere ca'biar el valor de D(9<UC;CD/U9Ib/ "or cual.uier valor entre 9 % 29=A % co'"ilar :%SDLH
desde cdigo fuente! 'otivo "or el cual es '&s "r&ctico desabilitar el cace de anfitriones$
1,.0.. ;umentar el tamaHo de cache de consultas.
Cuando se abilita el cace de consultas en 'e'oria % se dis"one de suficiente de #sta! el dese'"eo del
servidor :%SDLH se incre'enta considerable'ente$ Fl valor "redeter'inado del ta'ao cace de consultas
1Cuer+UcacheUsi3e3 es 9! lo .ue significa .ue est& desactivado$ Los valores "er'itidos son '0lti"los de
792= 1b%tes3$ Si! "or e(e'"lo! se desea establecer un ta'ao de cace de consultas de , 5i$! el valor
ser/a ::;;<==< b%tes$
?ngrese al int#r"rete de :%SDLH co'o el usuario root)
mysJl !u root !p
Jerifi.ue el valor de la variable Cuer+UcacheUsi3e e(ecutando lo siguiente)
S304 (5R)5;2'S 2)H' ZYJuery/cacheYZ[
La salida ser& si'ilar a la siguiente)
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!X
R (ariable/name R (alue R
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!X
R have/Juery/cache R <'S R
R Juery/cache/limit R 1%46:$6 R
R Juery/cache/min/res/unit R 4%96 R
R Juery/cache/siCe R % R
R Juery/cache/type R 0- R
R Juery/cache/lock/invalidate R 0>> R
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!X
6 ros in set (%#%% sec)
F(ecute lo siguiente "ara ca'biar el valor de Cuer+UcacheUsi3e a :< "i6)
S'1 I20;52 Juery/cache/siCe + @@668118[
Jerifi.ue el ca'bio e(ecutando lo siguiente)
S304 (5R)5;2'S 2)H' ZYJuery/cacheYZ[
La salida ser& si'ilar a la siguiente)
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
R (ariable/name R (alue R
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
R have/Juery/cache R <'S R
R Juery/cache/limit R 1%46:$6 R
R Juery/cache/min/res/unit R 4%96 R
R Juery/cache/siCe R @@668118 R
R Juery/cache/type R 0- R
R Juery/cache/lock/invalidate R 0>> R
X!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
6 ros in set (%#%% sec)
449
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Salga del int#r"rete de :%SDL$
exit[
Fl ca'bio "revalecer& asta .ue sea reiniciado :%SDL$ -ara .ue el ca'bio sea "er'anente! se re.uiere
editar el arcivo 8etc8m+.cnf)
vi /etc/my#cn"
R aadir la siguiente o"cin en la seccin Sm+sCldT)
Juery/cache/siCe + @@668118
-ara a"licar los ca'bios! es necesario reiniciar el servicio$ F(ecute)
service mysJld restart
-ara verificar el estado del cace de consultas! ingrese al int#r"rete de 'andatos de :%SDLH)
mysJl !u root !p
+ fin de generar algo de actividad! realice algunas consultas al a,ar acia cual.uier base de datos :%SDLH
os"edada en el servidor$ Slo la "ri'era consulta .ue aga sie'"re ser& un "oco '&s lenta .ue las
subsecuentes$ Fl resto de las consultas deber&n ser '&s r&"idas$
-ara verificar el estado del cace de consultas! vuelva a ingresar ingresar al int#r"rete de 'andatos de
:%SDLH)
mysJl !u root !p
Desde el int#r"rete de 'andatos de :%SDLH e(ecute lo siguiente)
S304 S151?S 2)H' ZYbcacheYZ[
La salida "uede ser si'ilar a la siguiente)
X!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
R (ariable/name R (alue R
X!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
R bcache/"ree/blocks R 1 R
R bcache/"ree/memory R @@664:66 R
R bcache/hits R % R
R bcache/inserts R % R
R bcache/lomem/prunes R % R
R bcache/not/cached R 61 R
R bcache/Jueries/in/cache R % R
R bcache/total/blocks R 1 R
X!!!!!!!!!!!!!!!!!!!!!!!!!X!!!!!!!!!!X
6 ros in set (%#%% sec)
1,.0.,. 9oporte para "<2-4.
447
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+lgunas a"licaciones! co'o v@igerC;:! re.uieren se configur# U@>6A co'o codificacin "redeter'inada de
:%SDL$ Fdite el arcivo 8etc8m+.cnf)
vi /etc/my#cn"
+ada las siguientes l/neas resaltadas)
"<ys,)(
-e+#>)$-&h#r#&$er-se$=>$+8
DmysJldE
datadir+/var/lib/mysJl
socket+/var/lib/mysJl/mysJl#sock
user+mysJl
A &isabling symbolic!links is recommended to prevent assorted security risks
symbolic!links+%
skip!name!resolve
Juery/cache/siCe + @@668118
&o))#$%on_ser*er=>$+8_>n%&o-e_&%
&h#r#&$er-se$-ser*er=>$+8
%n%$_&onne&$=@SET &o))#$%on_&onne&$%on = >$+8_gener#)_&%@
%n%$_&onne&$=@SET NAMES >$+8@
DmysJld/sa"eE
log!error+/var/log/mysJld#log
pid!"ile+/var/run/mysJld/mysJld#pid
+l ter'inar! slo es necesario reiniciar el servicio m+sCld "ara .ue surtan efecto los ca'bios$
service mysJld restart
1,.1. $ibliografa.
tt")//dev$'%s.l$co'/doc/ref'an/2$9/en/ost6cace$t'l
442
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1-. Configuracin b6sica de ;pache.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1-.!. Introduccin.
1-.!.!. ;cerca del protocolo D<<7.
I@@- 1>yperte6t Transfer 0rotocol o -rotocolo de @rasferencia de Ii"ertexto3 es el '#todo utili,ado "ara
transferir o trans"ortar infor'acin a trav#s de ?nternet % 1QQQ! ?orld ?ide ?eb3$ Su "ro"sito original
fue el "roveer una for'a de "ublicar % recu"erar docu'entos en for'ato I@:L$
Fl desarrollo del "rotocolo fue coordinado "or ?orld ?ide ?eb Con(ortiu$ % la I/<2 1%nternet
,ngineering Tas' Force o >uer,a de @raba(o en ?ngenier/a de ?nternet3! cul'inando con la "ublicacin de
varios ;>C 1Request For Comments3! de entre los .ue destaca el ;>C 2474! 'is'o .ue define la versin 7$7
del "rotocolo! .ue es el utili,ado o% en d/a$
D<<7 es un "rotocolo de solicitud % res"uesta a trav#s de <C7! entre agentes de usuario 1Navegadores!
'otores de /ndice % otras erra'ientas3 % servidores! regular'ente utili,ando el "uerto A9$ Fntre la
co'unicacin entre #stos "uede intervenir otros ti"os de i'"le'entaciones! co'o ser/an servidores
?nter'ediarios 1@ro6iesE, puertas de enlace y tFneles.
U;L) tt")//tools$ietf$org/t'l/rfc2474
1-.!.. ;cerca de ;pache.
+"ace es un servidor I@@- de cdigo fuente abierto % licencia'iento libre .ue funciona en Linux! siste'as
o"erativos derivados de UnixH! Qindo*sH! NovellH Net*are % otras "latafor'as$ Ia dese'"eado un
"a"el 'u% i'"ortante en el creci'iento de ?nternet % continua siendo el servidor I@@- '&s utili,ado! siendo
ade'&s el servidor de facto contra el cual se reali,an las "ruebas co'"arativas % de dese'"eo "ara otros
"roductos co'"etidores$ Fs desarrollado % 'antenido "or una co'unidad de desarrolladores aus"iciada "or
Apache Sotware Foundation$
U;L) tt")//***$a"ace$org/
1-.. /Cuipamiento lgico necesario.
1-..!. /n Cent(9G 2edoraF + Red DatF /nterprise &inu*.
F(ecute lo siguiente)
yum !y install httpd
448
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se desea incluir so"orte "ara 7D7/5+9?&! 7erl! 7+thon % 99&/<&9! e(ecute lo siguiente)
yum !y install php php!mysJl mod/perl mod/sgi mod/ssl
Nota.
Fn Cent(9 0! 2edoraF % Red DatF /nterprise &inu* 0! el so"orte "ara -%ton se inclu%e con el "a.uete
modURsgi$ Fn Cent(9 . % Red DatF /nterprise &inu* .! el so"orte "ara -%ton se inclu%e con el "a.uete
modUp+thon$
yum !y install mod/python
-ara "oder reali,ar "ruebas desde el 'is'o anfitrin local! "uede utili,ar cual.uier navegador! co'o ser/an
>irefox % Google Cro'e$ + fin de "oder "rescindir del uso del 'odo gr&fico % "oder traba(ar desde una
ter'inal de texto! sugeri'os instalar % utili,ar el navegador L%nx$
yum !y install lynx
1-.,. Iniciar servicio + aHadir el servicio al arranCue del sistema.
-ara aadir el servicio al arran.ue del siste'a! e(ecute)
chkcon"ig httpd on
-ara iniciar el servicio e(ecute)
service httpd start
-ara reiniciar el servicio interru'"iendo todas las conexiones establecidas en ese 'o'ento! e(ecute)
service httpd restart
-ara cargar los ca'bios en la configuracin sin interru'"ir el servicio % con #sto 'antener activas las
conexiones establecidas! e(ecute
service httpd reload
-ara detener el servicio! e(ecute)
service httpd stop
1-.-. 9/&inu* + ;pache.
Fn Cent(9! 2edoraF % Red DatF /nterprise &inu*! de 'odo "redeter'inado SFLinux viene activo en
'odo obligatorio 1enforcing3$ Yste aade seguridad % "roteccin adicional a +"ace$ Sin e'bargo algunas
o"ciones i'"edir&n utili,ar ciertas funciones en +"ace! co'o directorios virtuales fuera del directorio
/var/***! directorios l/"ublicMt'l! el env/o de correo electrnico desde a"licaciones basadas sobre I@@-!
etc$
44=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara "er'itir a +"ace "oder enviar correo electrnico desde alguna a"licacin! e(ecute)
setsebool != httpd/can/sendmail 1
-ara "er'itir .ue +"ace "ueda leer contenidos locali,ados en los directorios de inicio de los usuarios
locales! e(ecute)
setsebool != httpd/read/user/content 1
Nota.
Fstas 0lti'as dos "ol/ticas son indis"ensables "ara el funciona'iento de cual.uier cliente de correo electrnico
basados sobre I@@- 1+ebmails3$
-ara "er'itir a +"ace "oder e(ecutar guiones CG?! e(ecute)
setsebool != httpd/enable/cgi 1
-ara "er'itir las inclusiones del lado del servidor 199I! 9erver 9ide Includes3! e(ecute)
setsebool != httpd/ssi/exec 1
-ara "er'itir .ue +"ace se "ueda conectar a un base de datos locali,ada en otro servidor! e(ecute)
setsebool != httpd/can/netork/connect/db 1
-ara "er'itir a +"ace reali,ar conexiones de red acia otro servidor! e(ecute)
setsebool != httpd/can/netork/connect 1
-ara "er'itir .ue los usuarios locales "uedan utili,ar un directorio "0blico 1publicUhtml3! e(ecute)
setsebool != httpd/enable/homedirs 1
Nota.
Fsta 0lti'a "ol/tica es indis"ensable "ara el funciona'iento de anfitriones virtuales asignados a usuarios locales!
"ues "er'ite utili,ar los directorios ^8publicUhtml$
-ara "er'itir ad'inistrar a trav#s de >@- o >@-S cual.uier directorio gestionado "or +"ace o bien "er'itir a
+"ace funcionar co'o un servidor >@- escucando "eticiones a trav#s del "uerto de >@-! e(ecute el
siguiente 'andato)
setsebool != httpd/enable/"tp/server 1
-ara desactivar la e(ecucin de -I- % otros lengua(es de "rogra'acin "ara I@@- a trav#s de +"ace!
e(ecute el siguiente 'andato)
442
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
setsebool != httpd/builtin/scripting %
-ara consultar todas "ol/ticas dis"onibles .ue existen "ara +"ace! e(ecute)
getsebool !a Rgrep httpd
-ara consultar todas "ol/ticas dis"onibles .ue existen "ara +"ace! (unto con una breve descri"cin! e(ecute)
semanage boolean !l Rgrep httpd
-ara definir .ue un directorio fuera de 8var8RRR! co'o "or e(e'"lo 8sitios8dominio.tld8html! "ueda ser
utili,ado "or +"ace! se le debe asignar el contexto httpdUs+sUcontentUt$ Yste "uede asignarse a trav#s
del 'andato chcon! co'o se 'uestra en el siguiente e(e'"lo)
chcon !t httpd/sys/content/t /sitios/dominio#tld/html
Cual.uier contenido .ue sea copiado o transferido dentro de 8var8RRR auto'&tica'ente ad.uiere el
contexto httpdUs+sUcontentUt$
-ara definir .ue se "er'ite e(ecutar un guin CG? en "articular! co'o "or e(e'"lo
8sitios8dominio8cgi-bin8formulario.pl! se utili,a el siguiente 'andato)
chcon !t httpd/sys/script/exec/t /sitios/dominio/cgi!bin/"ormulario#pl
Cual.uier contenido .ue sea copiado o transferido dentro de cual.uier sub6directorio de 8var8RRR .ue
se deno'ine cgi-bin! auto'&tica'ente ad.uiere el contexto httpdUs+sUscriptUe*ecUt$
-ara definir .ue! "or e(e'"lo! 8var8RRR8dominio8publicUhtml8escribir.php "ueda reali,ar
"rocedi'ientos de slo lectura de datos fuera del directorio 8var8RRR! e(ecute el siguiente 'andato)
chcon !t httpd/sys/script/ro/t /var//dominio/public/html/leer#php
-ara definir .ue! "or e(e'"lo! 8var8RRR8dominio8publicUhtml8escribir.php "ueda reali,ar
"rocedi'ientos de lectura % escritura de datos fuera del directorio 8var8RRR! e(ecute el siguiente 'andato)
chcon !t httpd/sys/script/r/t /var//dominio/public/html/leer#php
1-... 5odificaciones necesarias en el muro cortafuegos.
Fs necesario abrir el "uerto A9 "or @C- 1D<<73$
1-...!. 9ervicio iptables.
-uede utili,ar iptables! e(ecutando lo siguiente)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6% !O 5**'=1
service iptables save
444
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada el siguiente contenido)
!5 )-=?1 !m state !!state -'4 !m tcp !p tcp !!dport 6% !O 5**'=1
R reinicie el servicio iptables)
service iptables restart
1-.... 9horeRall.
Fdite el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente! "er'itiendo el acceso acia el servicio I@@- desde
cual.uier ,ona del 'uro cortafuegos)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 6%
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
-ara a"licar los ca'bios en Sore*all! e(ecute lo siguiente)
service shoreall restart
1-.0. 7rocedimientos.
1-.0.!. ;rchivos de configuracin.
Cual.uier a(uste .ue se re.uiera reali,ar! %a sea "ara configurar anfitriones virtuales! u otra funcionalidad
adicional! se "uede reali,ar sin tocar el arcivo "rinci"al de configuracin 18etc8httpd8conf8httpd.conf3!
utili,ando cual.uier arcivo con extensin Y.conf dentro del directorio 8etc8httpd8conf.d8$
1-.0.. "<2-4 + codificacin de documentos.
U@>6A
U@>6A es un '#todo de codificacin de +SC?? "ara Unicode 1?SG6794=43! el Con(unto
de Caracteres Universal o UCS$ #ste codifica la 'a%or/a de los siste'as de escritura
del 'undo en un 0nico con(unto de caracteres! "er'itiendo la 'e,cla de lengua(es %
guiones en un 'is'o docu'ento sin la necesidad de a(ustes "ara reali,ar los
ca'bios de con(untos de caracteres$
Debido a su conveniencia actual'ente se est& ado"tando U@>6A co'o codificacin "ara todo! sin e'bargo
a0n a% 'uco 'aterial codificado en! "or e(e'"lo! ?SG6AA2B67$
445
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo correcto es ca'biar a en U@>6A la codificacin de los docu'entos .ue est&n en ?SGAA2B67! u otras tablas
de caracteres! utili,ando '#todos si'ilares el siguiente)
cd /var//html/
"or " in L#html
do
vi !c ,7JW XXenc+ut"6, F"
done
Lo anterior slo tendr/a sentido si dentro del directorio 8var8RRR8html ubiera docu'entos I@:L
codificados en ?SGAA2B67$
Si desea continuar viviendo en el pasado % no ace"tar el nuevo est&ndar! ta'bi#n "uede desactivar la
funcin en +"ace .ue establece U@>6A co'o codificacin "redefinida$ Fdite el arcivo
8etc8httpd8conf8httpd.conf)
vim /etc/httpd/con"/httpd#con"
Localice lo siguiente)
5dd&e"ault*harset ?1>!6
Ca'bie "<2-4 "or (ff)
5dd&e"ault*harset 0""
1-.0.,. Directorios virtuales.
Si! "or e(e'"lo! se .uisiera aadir el alias "ara un directorio locali,ado en 8var8contenidos8e%emplo8 % el
cual .uere'os visuali,ar co'o el directorio 8e%emplo8 en +"ace! lo "ri'ero ser& crear el directorio)
mkdir !p /var/contenidos/eOemplo
Ca'bie los contextos de SFLinux de este directorio! con la finalidad de .ue tenga rol de ob(eto 1ob%ectUr3!
creado "or usuario de siste'a 1s+stemUu3 % ti"o httpdUs+sUcontentUt)
chcon !u system/u /var/contenidos/eOemplo
chcon !r obOect/r /var/contenidos/eOemplo
chcon !t httpd/sys/content/t /var/contenidos/eOemplo
Genere el arcivo 8etc8httpd8conf.d8e%emplos.conf)
vim /etc/httpd/con"#d/eOemplos#con"
+ada el siguiente contenido)
5lias /eOemplo /var/contenidos/eOemplo
Guarde % cierre el arcivo$
;ecargue el servicio tt"d$
44A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service httpd reload
+su'iendo .ue reali,ar& la "rueba desde el 'is'o anfitrin local! visualice este nuevo directorio virtual! con
cual.uier navegador! a trav#s de ttp)**4LR.5.5.4*ejemplo*$ Se 'ostrar& .ue el directorio existe! "ero el
acceso a #ste est& denegado$
Si desea reali,ar las co'"robaciones desde el 'is'o anfitrin! "uede utili,ar el navegador L%nx$
lynx h$$'1;;3/7.6.6.3;eDe<')o;
Lo anterior deber& 'ostrar un error =98 1acceso denegado3! "ues el directorio carece de un arcivo /ndice$
-ara "oder acceder deber& aber un docu'ento /ndice en el interior 1index$t'l! index$""! etc3 o bien .ue
dico directorio sea configurado "ara 'ostrar el contenido$
Fdite de nuevo el arcivo 8etc8httpd8conf.d8e%emplos.conf)
vim /etc/httpd/con"#d/eOemplos#con"
:odifi.ue el contenido "ara .ue .uede del siguiente 'odo)
5lias /eOemplo /var/contenidos/eOemplo
]&irectory ,/var/contenidos/eOemplo,Q
O'$%ons ?n-eEes
]/&irectoryQ
La o"cin Inde*es indica .ue se deber& 'ostrar el /ndice de contenido del directorio$
;ecargue el servicio httpd "ara a"licar la configuracin)
service httpd reload
+su'iendo .ue reali,ar& la "rueba desde el 'is'o anfitrin local! acceda acia ttp)**4LR.5.5.4*ejemplo*
con cual.uier navegador % visualice el resultado$
Si se re.uiere .ue este directorio tenga a0n 'a%or funcionalidad! se "ueden aadir '&s o"ciones! co'o "or
e(e'"lo ;lloR(verrideG Includes + 2olloR9+m&inOsG como se muestra en el siguiente e%emplo#
5lias /eOemplo /var/contenidos/eOemplo
]&irectory ,/var/contenidos/eOemplo,Q
0ptions )ndexes ?n&)>-es Fo))o0Sy<L%n8s
A))o0O*err%-e #))
]/&irectoryQ
Fn el e(e'"lo anterior)
La o"cin 2olloR9+m&inOs abilita el uso de enlaces si'blicos dentro del directorio$ Slo
utilice #sta si necesita acceder a contenidos fuera del directorio a utili,ar$
La o"cin Includes es"ecifica .ue se "er'ite la utili,acin de los 99I 1Server Side %ncludes3$
Slo utilice #sta si as/ lo re.uiere la a"licacin o "rogra'a utili,ado dentro este directorio$
La o"cin ;lloR(verride! con el valor all "osibilita utili,ar arcivos .htaccess! los cuales a
su ve, "er'iten a"licar o"ciones de directorio al vuelo! sin necesidad de 'odificar otros
arcivos de configuracin$
44B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
+su'iendo .ue reali,ar& la "rueba desde el 'is'o anfitrin local! acceda acia ttp)**4LR.5.5.4*ejemplo*
con cual.uier navegador % visualice el resultado$
Si desea reali,ar las co'"robaciones desde el 'is'o anfitrin! "uede utili,ar el navegador L%nx$
lynx h$$'1;;3/7.6.6.3;eDe<')o;
1-.0.-. &imitar el acceso a directorios por direccin I7.
Si se re.uiere li'itar el acceso de un directorio en "articular! "ara .ue #ste est# dis"onible slo acia ciertas
direcciones ?- o blo.ues de red! defina algo co'o lo 'ostrado en el siguiente e(e'"lo)
5lias /eOemplo /var/contenidos/eOemplo
]&irectory ,/var/contenidos/eOemplo,Q
Or-er -enyB#))o0
Deny +ro< #))
A))o0 +ro< 3/7.6.6.6;8 3=/.358.76.6;/!
0ptions )ndexes
5llo0verride all
]/&irectoryQ
Fl e(e'"lo anterior establece .ue el orden de acceso! donde "ri'ero se a"licar&n las reglas de denegacin %
luego las .ue "er'itir&n el acceso % .ue se denegar& el acceso a todo el 'undo! "er'itiendo el acceso slo
desde !1.I.I.I84 % ![.!04.1I.I8.$
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
su'iendo .ue reali,ar& la "rueba desde el 'is'o anfitrin local! acceda acia ttp)**4LR.5.5.4*ejemplo* con
cual.uier navegador % visualice el resultado$
Si desea reali,ar las co'"robaciones desde el 'is'o anfitrin! "uede utili,ar el navegador L%nx$
lynx h$$'1;;3/7.6.6.3;eDe<')o;
1-.0... &imitar el acceso por usuario + contraseHa.
La autenticacin "ara directorios! contra un arcivo .ue inclu%a no'bres de usuario % claves de acceso! .ue
ta'bi#n "uede co'binarse con el acceso "or direccin ?-! se reali,a a trav#s de la siguiente sintaxis)
5uth-ame ,5cceso sTlo para usuarios autoriCados,
5uth1ype ;asic
ReJuire valid!user
5uth?ser>ile /cualJuier/ruta/hacia/archivo/de/claves
Lo anterior "uede ser incluido en la configuracin existente "ara cual.uier directorio o bien en arcivo
.htaccess$
Genere el directorio 8var8RRR8privado8 e(ecutando lo siguiente)
459
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
mkdir !p /var//privado
Genere un arcivo deno'inado arbitraria'ente 8etc8httpd8conf.d8e%emplo-autenticar.conf)
vim /etc/httpd/con"#d/eOemplo!autenticar#con"
+ada con el siguiente contenido)
5lias /privado ;*#r;000;'r%*#-o
]&irectory ,;*#r;000;'r%*#-o,Q
0ptions ?n-eEes
5llo0verride 5ll
0rder alloBdeny
5llo "rom all
]/&irectoryQ
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
:enere el arcivo 8var8RRR8privado8.htaccess$
vim /var//privado/#hta&&ess
+gregue el siguiente contenido)
5uth-ame ,STlo usuarios autoriCados,
5uth1ype ;asic
ReJuire valid!user
5uth?ser>ile /var//claves
:enere el arcivo de claves de acceso co'o 8var8RRR8claves! e(ecutando el siguiente "rocedi'iento)
touch /var//claves
Ca'bie los "er'isos de slo lectura % escritura "ara usuario % ca'bie la "ro"iedad al usuario % gru"o
apache)
chmod 6%% /var//claves
chon apache7apache /var//claves
+gregue algunos usuarios virtuales al arcivo de claves! 8var8RRR8claves! e(ecutando el 'andato
htpassRd! usando co'o argu'entos la ruta del arcivo de claves de acceso % no'bre del usuario a aadir
o 'odificar)
htpassd /var//claves "ulano
htpassd /var//claves mengano
htpassd /var//claves perengano
htpassd /var//claves Cutano
457
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+su'iendo .ue reali,ar& la "rueba desde el 'is'o anfitrin local! acceda con cual.uier navegador acia
ttp)**4LR.5.5.4*privado* % co'"ruebe .ue funciona el acceso con autenticacin! utili,ando cual.uiera de los
dos usuarios virtuales .ue gener con el 'andato htpassRd! es decir fulano o 'engano$
Si desea reali,ar las co'"robaciones desde el 'is'o anfitrin! "uede utili,ar el navegador L%nx$
lynx h$$'1;;3/7.6.6.3;'r%*#-o;
1-.0.0. ;signacin de directivas para 7D7.
Suelen darse los casos donde una a"licacin! escrita en 7D7! re.uiere algunas directivas de 7D7 en
"articular$ Fn 'ucos casos se llegan a necesitar variables .ue "ueden co'"ro'eter la seguridad de otras
a"licaciones os"edadas en el servidor$ -ara tal fin es .ue se "uede evitar 'odificar el arcivo 8etc8php.ini
utili,ando el "ar&'etro phpUflag en un arcivo .htaccess$ La siguiente sintaxis es la siguiente)
php/"lag directiva/php valor
1-.0.0.!. /%emplo
Se "roceder& a asignar las directivas registerUglobals! magicUCuotesUruntime! magicUCuotesUgpc %
uploadUma*Ufilesi3e al directorio en la ruta 8var8RRR8aplicacion! 'is'o .ue ser& visuali,ado desde
+"ace co'o ttp)**4LR.5.5.4*aplicacion*$ Fl valor "ara registerUglobals ser& (n 1re.uerido slo "or
a"licaciones -I- 'u% antiguas o 'u% 'al escritas3! el valor "ara magicUCuotesUruntime ser& (n! el valor
"ara magicUCuotesUgpc ser& (n % el valor "ara uploadUma*Ufilesi3e ser& 45$
Genere el directorio 8var8RRR8aplicacion e(ecutando lo siguiente)
mkdir /var//aplicacion
Genere el arcivo 8etc8httpd8conf.d8e%emplo-directivas-php.conf e(ecutando lo siguiente)
vim /etc/httpd/con"#d/eOemplo!directivas!php#con"
+ada el siguiente contenido)
5lias /aplicacion ;*#r;000;#')%&#&%on
]&irectory ,;*#r;000;#')%&#&%on,Q
5llo0verride 5ll
]/&irectoryQ
:enere el arcivo 8var8RRR8aplicacion8.htaccess reali,ando lo siguiente)
touch /var//aplicacion/#hta&&ess
/dite el arcivo 8var8RRR8aplicacion8.htaccess % agregue el siguiente contenido)
php/"lag register/globals 0n
php/"lag magic/Juotes/gpc 0n
php/"lag magic/Juotes/runtime 0n
php/value upload/max/"ilesiCe 6.
452
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
:enere el arcivo 8var8RRR8aplicacion8info.php! una funcin .ue 'uestra toda la infor'acin acerca de
7D7 en el servidor! a fin de corroborar los valores de las directivas de 7D7 en relacin al directorio! con el
siguiente contenido)
]\php
phpin"o()[
\Q
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
+cceda con cual.uier navegador de red acia ttp)**4LR.5.5.4*aplicacion*info.pp$
Si desea reali,ar las co'"robaciones desde el 'is'o anfitrin! "uede utili,ar el navegador L%nx$
lynx h$$'1;;3/7.6.6.3;#')%&#&%on;%n+o.'h'
Corrobore .ue los valores "ara las variables de 7D7 "ara el directorio involucrado real'ente an sido
asignadas$ Fn la sub6seccin 7D7 Core de la seccin Configuration! a% tres colu'nas$ La "ri'era!
Directive! corres"onde a la directivas 7D7$ La segunda! &ocal Jalue! corres"onde a los valores de las
directivas de 7D7 "ara el directorio actual$ La tercera! 5aster Jalue! corres"onde a los valores de las
directivas "redeter'inadas .ue est&n definidas en el arcivo 8etc8php.ini$
Directive &ocal Jalue 5aster Jalue
magicUCuotesUgpc Gn Gff
magicUCuotesUruntime Gn Gff
registerUglobals Gn Gff
uploadUma*Ufilesi3e A: 2:
1-.0.1. Re-direccin de directorios.
Cuando sea necesario! es "osible configurar un directorio en "articular "ara +"ace rediri(a #ste de 'odo
trans"arente acia cual.uier otra direccin$
Genere el arcivo deno'inado arbitraria'ente co'o 8etc8httpd8conf.d8e%emplo-redireccion.conf!
ree'"la,ando http#88mail.docminio.tld8 "or cual.uier direccin v&lida$
vim /etc/httpd/con"#d/eOemplo!redireccion#con"
+ada el siguiente contenido)
Redirect @%1 /ebmail http7//mail#dominio#tld/
Guarde el arcivo % regrese al int#r"rete de 'andatos$
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
458
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn el e(e'"lo anterior! se indica .ue si se trata de acceder acia el sub6directorio 8Rebmail en el servidor!
+"ace deber& redirigir acia ttp)**mail.dominio.tld*$ Fl n0'ero 897 corres"onde al 'ensa(e del "rotocolo
I@@- "ara indicar .ue la re6direccin es "er'anente$ Si "or e(e'"lo ubiese un ob(eto en /*eb'ail! co'o
"or e(e'"lo 8Rebmail8estadisticas8estadisticas.php! +"ace reali,ar/a el re6direcciona'iento
trans"arente acia ttp)**mail.dominio.tld*estadisticas*estadisticas.pp$
1-.0.4. <ipos de 5I5/.
-ara aadir cual.uier ti"o de extensin % ti"o :?:F! co'o "or e(e'"lo Ggg! definiendo ade'&s una
descri"cin e icono! genere un arcivo .ue deno'inado 8etc8httpd8conf.d8mimes.conf)
vim /etc/httpd/con"#d/mimes#con"
+ada el siguiente contenido)
5dd1ype application/ogg #ogg
5dd&escription ,0gg (orbis 5udio, #ogg
5dd)con /icons/sound8#png #ogg
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
Co"ie o transfiera cual.uier arcivo de audio Ggg Jorbis a cual.uier directorio co'"artido a trav#s de
+"ace .ue "er'ita ver el /ndice de #ste % visualice el resultado$
1-.0.[. Impedir enlace remoto de im6genes.
Suele ocurrir .ue los ad'inistradores de algunos sitios encuentran f&cil utili,ar i'&genes % otros ti"os de
contenido! vinculando desde sus docu'entos acia los ob(etos en el servidor$ Ysto re"resenta un consu'o
anco de banda adicional "ara el servidor! .ue slo genera tr&fico in0til % "or lo tanto es considerado una
"r&ctica "oco #tica$ Fn el siguiente e(e'"lo se desea "roteger un directorio "ara .ue slo se "er'ita utili,ar
su contenido si es referido desde el 'is'o servidor$
Genere el directivo 8var8RRR8imagenes e(ecutando lo siguiente)
mkdir /var//imagenes
Co"ie o transfiera arcivos de i'&genes dentro de este directorio$
cp /usr/share/pixmaps/L#png /var//imagenes
Genere el arcivo 8etc8httpd8conf.d8imagenes.conf e(ecutando lo siguiente)
vim /etc/httpd/con"#d/imagenes#con"
+ada el siguiente contenido)
45=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Se permite acceder directamente a la imagen o bien si se omite
A en el navegador la in"ormaciTn del re"erente#
Set'nv)"-o*ase Re"erer ,`F, local/re"eral+1
A Se permite al propio servidor
Set'nv)"-o*ase Re"erer ,`http7//18$#%#%#1, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//localhost, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//localhost#localdomain, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//198#166#$%#:%, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//m:%#alcancelibre#org#mx, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//(#)\midominio#org, local/re"eral+1
A Se permite utiliCar las imUgenes a otro servidor
Set'nv)"-o*ase Re"erer ,`http7//(#)\sitio!amigo#org, local/re"eral+1
5lias /imagenes /var//imagenes
]&irectory ,/var//imagenes,Q
0rder &enyB5llo
&eny "rom all
5llo "rom env+local/re"eral
]/&irectoryQ
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
-ruebe la configuracin creando un docu'ento I@:L en el anfitrin local % en un anfitrin re'oto! el cual
enlace acia i'&genes os"edadas en el directorio 8var8RRR8imagenes del servidor reci#n configurado! %
co'"are resultados$
Fn lugar de lo anterior! "uede utili,arse ta'bi#n un arcivo .htaccess$ Fdite el arcivo
8etc8httpd8conf.d8imagenes.conf e(ecutando lo siguiente)
vim /etc/httpd/con"#d/imagenes#con"
;ee'"lace el contenido existente "or lo siguiente)
5lias /imagenes /var//imagenes
]&irectory ,/var//imagenes,Q
5llo0verride all
]/&irectoryQ
-ara .ue surtan efecto los ca'bios ecos a la configuracin! recargue el servicio httpd)
service httpd reload
Genere el arcivo 8var8RRR8imagenes8.htaccess)
vim /var//imagenes/#htaccess
+ada el siguiente contenido)
452
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Se permite acceder directamente a la imagen o bien si se omite
A en el navegador la in"ormaciTn del re"erente#
Set'nv)"-o*ase Re"erer ,`F, local/re"eral+1
A Se permite al propio servidor
Set'nv)"-o*ase Re"erer ,`http7//18$#%#%#1, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//localhost, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//localhost#localdomain, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//198#166#$%#:%, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//m:%#alcancelibre#org#mx, local/re"eral+1
Set'nv)"-o*ase Re"erer ,`http7//(#)\midominio#org, local/re"eral+1
A Se permite utiliCar las imUgenes a otro servidor
Set'nv)"-o*ase Re"erer ,`http7//(#)\sitio!amigo#com, local/re"eral+1
0rder &enyB5llo
&eny "rom all
5llo "rom env+local/re"eral
-ruebe la configuracin creando un docu'ento I@:L en el anfitrin local % en un anfitrin re'oto! el cual
enlace acia i'&genes os"edadas en el directorio 8var8RRR8imagenes del servidor reci#n configurado! %
co'"are resultados$
454
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1.. Configuracin de ;pache con soporte 99&8<&9.
Autor: "oel Barrios &ue!a
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1..!. Introduccin.
1..!.!. ;cerca de D<<79.
D<<79 es la versin segura del "rotocolo D<<7! inventada en 7BB4 "or Netsca"e Co''unications
Cor"oration$ Fs es un "rotocolo de"endiente de D<<7! consistiendo de una co'binacin de #ste con un
'ecanis'o de trans"orte 99& o <&9! garanti,ando as/ una "roteccin ra,onable durante la co'unicacin
cliente6servidor$ Fs a'"lia'ente utili,ado en la red 'undial 1\\\ o \orld \ide \eb3 "ara
co'unicaciones co'o transacciones bancarias % "ago de bienes % servicios$
Fl servicio utili,a el "uerto ==8 "or @C- "ara reali,ar las co'unicaciones 1la co'unicacin nor'al "ara I@@-
utili,a el A9 "or @C-3$ Fl es.ue'a "RI 1"nifor' Resource Identifier o ?dentificador Unifor'e de ;ecursos3 es!
co'"arando sintaxis! id#ntico al de D<<7 1tt")3! utili,&ndose co'o Lhttps#M seguido del subcon(unto
deno'inado "R& 1"nifor' Resource &ocator o Locali,ador Unifor'e de ;ecursos3$ F(e'"lo)
ttps)**(((.dominio.tld*
U;L) tt")//es$*iKi"edia$org/*iKi/I@@-S % tt")//*"$netsca"e$co'/eng/ssl8/draft892$txt
1..!.. ;cerca de R9;.
R9;! acrni'o de los a"ellidos de sus autores! ;on Rivest! +di 9a'ir % Len ;dle'an! es un algorit'o "ara
el cifra'iento de claves "0blicas .ue fue "ublicado en 7B55! "atentado en FF$UU$ en 7BA8 "or el el ?nstituto
@ecnolgico de :icigan 15I<3$ R9; es utili,ado a'"lia'ente en todo el 'undo "ara los "rotocolos
destinados "ara el co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/;S+
1..!.,. ;cerca de <riple D/9.
<riple D/9 o <D/9! es un algorit'o .ue reali,a un tri"le cifrado DFS! desarrollado "or ?B: en 7B5A$ Su
origen tuvo co'o finalidad el agrandar la longitud de una clave sin necesidad de ca'biar el algorit'o de
cifra'iento! lo cual lo ace '&s seguro .ue el algorit'o D/9! obligando a un atacante el tener .ue tri"licar
el n0'ero de o"eraciones "ara "oder acer dao$ + "esar de .ue actual'ente est& siendo ree'"la,ado "or
el algorit'o ;/9 1;dvanced /ncr%"tion 9tandard! ta'bi#n conocido co'o Ri%ndael3! sigue siendo est&ndar
"ara las tar(etas de cr#dito % o"eraciones de co'ercio electrnico$
U;L) tt")//es$*iKi"edia$org/*iKi/@ri"leMDFS
1..!.-. ;cerca de B..I[.
455
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
B..I[ es un est&ndar I<"-< 1estandari,acin de <eleco'unicaciones de la International
<eleco''unication "nion 3 "ara infraestructura de claves "0blicas 17NI o 7ublic Ne% Infrastructure3$ Fntre
otras cosas! establece los est&ndares "ara certificados de claves "0blicas % un algorit'o "ara validacin de
ruta de certificacin$ Fste 0lti'o se encarga de verificar .ue la ruta de un certificado sea v&lida ba(o una
infraestructura de clave "0blica deter'inada$ Fs decir! desde el certificado inicial! "asando "or certificados
inter'edios! asta el certificado de confian,a e'itido "or una +utoridad Certificadora 1C; o Certification
;utorit%3$
U;L) tt")//es$*iKi"edia$org/*iKi/O$29B
1..!... ;cerca de (pen99&.
(pen99& es una i'"le'entacin libre! de cdigo abierto! de los "rotocolos 99& 19ecure 9ocKets &a%er o
Nivel de Ncalo Seguro3 % <&9 1<rans"ort &a%er 9ecurit% o Seguridad "ara Nivel de @rans"orte3$ Fst& basado
sobre el extinto "ro%ecto 99&ea+! iniciado "or Fric Roung % @i' Iudson! asta .ue #stos co'en,aron a
traba(ar "ara la divisin de seguridad de F:C Cor"oration$
U;L) tt")//***$o"enssl$org/
1..!.0. ;cerca de modUssl.
5odUssl es un 'dulo "ara el servidor I@@- +"ace! el cual "rovee so"orte "ara SSL versiones 2 % 8 % @LS
versin 7$ Fs una contribucin de ;alf S$ Fngescall! derivado del traba(o de Ben Laurie$
U;L) tt")//***$a"ace6ssl$org/ % tt")//tt"d$a"ace$org/docs/2$2/'od/'odMssl$t'l
1... ReCuisitos.
Fs necesario dis"oner de una direccin ?- "0blica "ara cada sitio de red virtual .ue se .uiera configurar con
so"orte 99&/<&9$ Debido a la naturale,a de los "rotocolos 99& % <&9! es i'"osible utili,ar '0lti"les
anfitriones virtuales con so"orte 99&/<&9 utili,ando una 'is'a direccin ?-$ Cada certificado utili,ado
re.uerir& una direccin ?- inde"endiente en el anfitrin virtual$
Fl "a.uete modUssl instala el arcivo 8etc8httpd8conf.d8ssl.conf! 'is'o .ue es innecesario 'odificar si
se utili,an arcivos de inclusin! con extensin P$conf! dentro del directorio 8etc8httpd8conf.d8$ Ysto se
reco'ienda a fin de "reservar la configuracin "redeter'inada % "oder dis"oner de #sta! brindando un
"unto de retorno en el caso de .ue alguna configuracin diese "roble'as! li'it&ndose solo a 'odificar los
"ar&'etros del arcivo ssl$conf "ara configurar las rutas del certificado % fir'a digital$
1..,. /Cuipamiento lgico necesario.
1..,.!. Instalacin a travs de +um.
Si se utili,a de Cent(9 o bien Red Dat /nterprise &inu*! e(ecute lo siguiente)
yum !y install mod/ssl
1..-. 7rocedimientos.
1..-.!. :enerando firma digital + certificado.
45A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+cceda al siste'a co'o el usuario root$
+cceda al directorio 8etc8pOi8tls8$
cd /etc/pki/tls
Fn caso de .ue existieran "revia'ente! debe eli'inar los arcivos certs8dominio.tld.crt!
certs8dominio.tld.crs! private8dominio.tld.Oe+ % private8dominio.tld.pem$
rm !" certs/dominio#tld#crt private/dominio#tld#key
rm !" certs/dominio#tld#csr private/dominio#tld#pem
Se debe crear una clave con algorit'o R9; de 29=A octetos % estructura *.I[! la cual se cifra utili,ado
<riple D/9 1Data /ncr%"tion 9tandard3! al'acenado en for'ato 7/5 de 'odo .ue sea inter"retable co'o
texto +SC??$ se solicitar& una clave de acceso "ara asignar a la fir'a digital! "or lo .ue se recomienda
utili3ar una mu+ buena clave de acceso! la cual! 'ientras '&s co'"licada % dif/cil sea! 'e(or$
openssl genrsa !des@ !out 'r%*#$e;-o<%n%o.$)-.8ey 8%46
Si se utili,a este arcivo 1do'inio$tld$Ke%3 "ara la configuracin del anfitrin virtual! se re.uerir& de
interaccin del ad'inistrador cada ve, .ue se tenga .ue iniciar o reiniciar! el servicio tt"d! ingresando la
clave de acceso de la fir'a digital$ Fste es el "rocedi'iento '&s seguro! sin e'bargo! debido a .ue
resultar/a "oco "r&ctico tener .ue ingresar una clave de acceso cada ve, .ue se inicie el servicio tt"d!
resulta '&s conveniente generar una fir'a digital R9;! la cual "er'ita iniciar nor'al'ente % sin interaccin
alguna! al servicio tt"d$
openssl rsa !in 'r%*#$e;-o<%n%o.$)-.8ey !out 'r%*#$e;-o<%n%o.$)-.'e<
Fl arcivo dominio.tld.pem ser& el .ue se es"ecifi.ue '&s adelante co'o valor del "ar&'etro
99&CertificateNe+2ile en la configuracin de +"ace$
+ continuacin! genere el arcivo C9R 1Certificate 9igning Re.uest3! el cual es el arcivo de solicitud .ue se
ace llegar a una R; 1Registration ;utorit% o +utoridad de ;egistro3! co'o Jerisign! .uienes! tras el
corres"ondiente "ago! env/an de vuelta un certificado 1"ara ser utili,ado co'o el arcivo dominio.tld.crt3
fir'ado "or dica autoridad certificadora$
openssl reJ !ne !key 'r%*#$e;-o<%n%o.$)-.8ey !out &er$s;-o<%n%o.$)-.&sr
Lo anterior solicitar& se ingresen varios datos)
Cdigo de dos letras "ara el "a/s$
Fstado o "rovincia$
Ciudad$
No'bre de la e'"resa o ra,n social$
Unidad o seccin$
45B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
No'bre del anfitrin$ Debe ser el no'bre con el .ue se acceder& acia el servidor % dico
no'bre deber& estar resuelto en un DNS$ S? lo desea! "uede utili,ar ta'bi#n Y.dominio.tld$
Direccin de correo electrnico v&lida del ad'inistrador del siste'a$
De 'anera o"cional se "uede aadir otra clave de acceso % nueva'ente el no'bre de la
e'"resa$ -oco reco'endado! a 'enos .ue .uiera ingresar #sta cada ve, .ue se inicie o
reinicie el servicio httpd$
La salida devuelta ser/a si'ilar a la siguiente)
<ou are about to be asked to enter in"ormation that ill be
incorporated into your certi"icate reJuest#
4hat you are about to enter is hat is called a &istinguished -ame or
a &-#
1here are Juite a "e "ields but you can leave some blank
>or some "ields there ill be a de"ault valueB
)" you enter Z#ZB the "ield ill be le"t blank#
!!!!!
*ountry -ame (8 letter code) DI;E7MX
State or =rovince -ame ("ull name) D;erkshireE7D%s$r%$o Fe-er#)
2ocality -ame (egB city) D-eburyE7MeE%&o
0rganiCation -ame (egB company) D.y *ompany 2tdE7E<'res#B S.A. -e C.:.
0rganiCational ?nit -ame (egB section) DE7&ireccion *omercial
*ommon -ame (egB your name or your serverZs hostname) DE7L.-o<%n%o.$)-
'mail 5ddress DE70eb<#s$erK-o<%n%o.$)-
=lease enter the "olloing ZextraZ attributes
to be sent ith your certi"icate reJuest
5 challenge passord DE7
5n optional company name DE7
Si re.uiere un certificado auto-firmado! en lugar de un certificado fir'ado "or un R;! "uede generarse
#ste utili,ando el arcivo de "eticin C9R 1do'inio$tld$csr3$ Fn el e(e'"lo a continuacin! se crea un
certificado con estructura O$29B en el .ue se establece una valide, "or 589 d/as 1dos aos3$
openssl x:%9 !reJ !days $@% !in certs/dominio#tld#csr !signkey private/dominio#tld#key !out
&er$s;-o<%n%o.$)-.&r$
Con la finalidad de .ue slo el usuario root "ueda acceder a los arcivos creados! se deben ca'biar los
"er'isos de #stos a slo lectura "ara root$
chmod 4%% private/dominio#tld#key private/dominio#tld#pem
chmod 4%% certs/dominio#tld#csr certs/dominio#tld#crt
1..-.. Configuracin simple de ;pache para un solo dominio.
Fdite el arcivo 8etc8httpd8conf.d8ssl.conf)
vim /etc/httpd/con"#d/ssl#con"
Localice lo siguiente)
4A9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
A Server *erti"icate7
A =oint SS2*erti"icate>ile at a ='. encoded certi"icate# )"
A the certi"icate is encryptedB then you ill be prompted "or a
A pass phrase# -ote that a kill !3?= ill prompt again# 5 ne
A certi"icate can be generated using the genkey(1) command#
SSLCer$%+%&#$eF%)e ;e$&;'8%;$)s;&er$s;)o&#)hos$.&r$
A Server =rivate Hey7
A )" the key is not combined ith the certi"icateB use this
A directive to point at the key "ile# Heep in mind that i"
A youZve both a RS5 and a &S5 private key you can con"igure
A both in parallel (to also allo the use o" &S5 ciphersB etc#)
SSLCer$%+%&#$e.eyF%)e ;e$&;'8%;$)s;'r%*#$e;)o&#)hos$.8ey
Ca'bie localhost.crt % localhost.Oe+! "or dominio.tld.crt % dominio.tld.pem)
A Server *erti"icate7
A =oint SS2*erti"icate>ile at a ='. encoded certi"icate# )"
A the certi"icate is encryptedB then you ill be prompted "or a
A pass phrase# -ote that a kill !3?= ill prompt again# 5 ne
A certi"icate can be generated using the genkey(1) command#
SSLCer$%+%&#$eF%)e ;e$&;'8%;$)s;&er$s;-o<%n%o.$)-.&r$
A Server =rivate Hey7
A )" the key is not combined ith the certi"icateB use this
A directive to point at the key "ile# Heep in mind that i"
A youZve both a RS5 and a &S5 private key you can con"igure
A both in parallel (to also allo the use o" &S5 ciphersB etc#)
SSLCer$%+%&#$e.eyF%)e ;e$&;'8%;$)s;'r%*#$e;-o<%n%o.$)-.'e<
+ fin de .ue surtan efecto los ca'bios! es necesario reiniciar el servicio httpd$
service httpd restart
Lo anterior deber& de "roceder sin solicitar la clave de acceso de la fir'a digital 1la .ue asign cuando se
creo dominio.tld.Oe+3$ Fn caso contrario! significa .ue estableci dominio.tld.Oe+ co'o valor del
"ar&'etro 99&CertificateNe+2ile en la configuracin de +"ace$
1..-.,. Configuracin de ;pache para m)ltiples dominios.
G'ita el "rocedi'iento anterior$
Fs i'"ortante resaltar .ue cada do'inio deber& contar con su "ro"ia direccin ?-! "ues el "rotocolo I@@-S
i'"edir& utili,ar '&s de un certificado "or direccin ?-$
Fl "ri'er "aso consiste en crear la estructura de directorios "ara el anfitrin virtual$
mkdir !p /var//-o<%n%o.$)-/ecgi!binBhtmlBlogsBetcf
De todos directorios creados! slo 8var8RRR8dominio.tld8html! 8var8RRR8dominio.tld8etc %
8var8RRR8dominio.tld8cgi-bin "ueden "ertenecer a un usuario sin "rivilegios! .uien ad'inistrar& este
anfitrin virtual$
Crear el arcivo 8etc8httpd8conf.d8dominio.conf)
vim /etc/httpd/con"#d/dominio#con"
4A7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+da"tar la siguiente "lantilla co'o contenido de este arcivo! donde a.b.c.d corres"onde a una direccin ?-
% dominio.tld corres"onde al no'bre de do'inio a configurar "ara el anfitrin virtual)
AAA -o<%n%o.$)- AAA
-ame(irtual3ost #.b.&.-76%
](irtual3ost #.b.&.-76%Q
Server5dmin ebmaster^-o<%n%o.$)-
&ocumentRoot /var//-o<%n%o.$)-/html
Server-ame #-o<%n%o.$)-
Server5lias -o<%n%o.$)-
Redirect @%1 / https7//#-o<%n%o.$)-/
*ustom2og logs/-o<%n%o.$)-!access/log combined
'rrorlog logs/-o<%n%o.$)-!error/log
]/(irtual3ostQ
-ame(irtual3ost #.b.&.-744@
](irtual3ost #.b.&.-744@Q
Server5dmin ebmaster^-o<%n%o.$)-
&ocumentRoot /var//-o<%n%o.$)-/html
Server-ame #-o<%n%o.$)-
Script5lias /cgi!bin/ /var//-o<%n%o.$)-/cgi!bin/
]&irectory ,/var//-o<%n%o.$)-/cgi!bin,Q
SS20ptions XStd'nv(ars
]/&irectoryQ
SS2'ngine on
SS2=rotocol all !SS2v8
SS2*ipherSuite 5227W5&37W'X=0R17WSS2v87R*4XRS57X3)I37X.'&)?.7X204
SS2*erti"icate>ile /etc/pki/tls/certs/-o<%n%o.$)-#crt
SS2*erti"icateHey>ile /etc/pki/tls/private/-o<%n%o.$)-#pem
Set'nv)" ?ser!5gent ,#L.S)'#L, K
nokeepalive ssl!unclean!shutdon K
dongrade!1#% "orce!response!1#%
*ustom2og logs/-o<%n%o.$)-!ssl/reJuest/log K
,Yt Yh YeSS2/=R010*02fx YeSS2/*)=3'Rfx K,YrK, Yb,
'rrorlog logs/-o<%n%o.$)-!ssl/error/log
1rans"er2og logs/-o<%n%o.$)-!ssl/access/log
2og2evel arn
]/(irtual3ostQ
+ fin de .ue surtan efecto los ca'bios! es necesario reiniciar el servicio httpd$
service httpd restart
Lo anterior deber& de "roceder sin solicitar la clave de acceso de la fir'a digital 1la .ue asign cuando se
creo dominio.tld.Oe+3$ Fn caso contrario! significa .ue estableci dominio.tld.Oe+ co'o valor del
"ar&'etro 99&CertificateNe+2ile en la configuracin de +"ace$
1..-.-. Comprobacin.
Slo basta dirigir cual.uier navegador I@@- acia https#88RRR.dominio.tld8 a fin de verificar .ue todo
est# traba(ando correcta'ente$ @ras ace"tar el certificado! en el caso de .ue #ste no a%a sido fir'ado "or
un R;! deber& "oderse observar un signo en la barra de estado del navegador! el cual indica .ue se trata de
una conexin segura$
1..-... 5odificaciones necesarias en el muro cortafuegos.
Si se utili,a un cortafuegos! es necesario abrir! ade'&s del "uerto A9 "or @C- 1D<<73! el "uerto ==8 "or @C-
1D<<793$
Si utili,a 9horeRall! edite el arcivo 8etc8shoreRall8rules)
4A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
vim /etc/shoreall/rules
Las reglas corres"onder/an a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 all " tcp 6%B44@
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
+l ter'inar de configurar las reglas "ara 9horeRall! reinicie el 'uro cortafuegos! e(ecutando el siguiente
'andato)
service shoreall restart
4A8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
10. Configuracin de 9Cuid# (pciones b6sicas.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
10.!. Introduccin.
10.!.!. >?u es 9ervidor Intermediario P7ro*+Q@
Fl t#r'ino en ingles L7ro*+M tiene un significado 'u% general % al 'is'o tie'"o a'biguo! aun.ue
invariable'ente se considera un sinni'o del conce"to de LIntermediarioM$ Se suele traducir! en el
sentido estricto! co'o delegado o apoderado 1el .ue tiene "oder sobre otro3$
Un 9ervidor Intermediario se define co'o una co'"utadora o dis"ositivo .ue ofrece un servicio de red
.ue consiste en "er'itir a los clientes reali,ar conexiones de red indirectas acia otros servicios de red$
Durante el "roceso ocurre lo siguiente)
7$ Cliente se conecta acia un 9ervidor 7ro*+$
2$ Cliente solicita una conexin! arcivo u otro recurso dis"onible en un servidor distinto$
8$ Servidor ?nter'ediario "ro"orciona el recurso %a sea conect&ndose acia el servidor
es"ecificado o sirviendo #ste desde un cac#$
=$ Fn algunos casos el 9ervidor Intermediario "uede alterar la solicitud del cliente o bien la
res"uesta del servidor "ara diversos "ro"sitos$
Los 9ervidores 7ro*+ general'ente se acen traba(ar si'ult&nea'ente co'o 'uro cortafuegos o"erando
en el Nivel de Red! actuando co'o filtro de "a.uetes! co'o en el caso de iptables o bien o"erando en el
Nivel de ;plicacin! controlando diversos servicios! co'o es el caso de <C7 \rapper$ De"endiendo del
contexto! el 'uro cortafuegos ta'bi#n se conoce co'o $7D o $order 7rotection Device o si'"le'ente
filtro de paCuetes$
Una a"licacin co'0n de los 9ervidores 7ro*+ es funcionar co'o cac# de contenido de ;ed
1"rinci"al'ente I@@-3! "ro"orcionando en la "roxi'idad de los clientes un cac# de "&ginas % arcivos
dis"onibles a trav#s de la ;ed en servidores I@@- re'otos! "er'itiendo a los clientes de la red local acceder
acia #stos de for'a '&s r&"ida % confiable$
Cuando se recibe una "eticin "ara un recurso de ;ed es"ecificado en un "R& 1"nifor' Resource &ocator3 el
9ervidor Intermediario busca el resultado del "R& dentro del cac#$ Si #ste es encontrado! el 9ervidor
Intermediario res"onde al cliente "ro"orcionado in'ediata'ente el contenido solicitado$ Si el contenido
solicitado estuviera ausente en el cac#! el 9ervidor Intermediario lo traer& desde servidor re'oto!
entreg&ndolo al cliente .ue lo solicit % guardando una co"ia en el cac#$ Fl contenido en el cac# es
eli'inado luego a trav#s de un algorit'o de ex"iracin de acuerdo a la antigyedad! ta'ao e istorial de
respuestas a solicitudes 1its3 1e(e'"los) &R"! &2"D; % :D923$
Los 9ervidores 7ro*+ "ara contenido de ;ed 1Qeb -roxies3 ta'bi#n "ueden actuar co'o filtros del
contenido servido! a"licando "ol/ticas de censura de acuerdo a criterios arbitrarios$
4A=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
10.!.. ;cerca de 9Cuid.
9Cuid es un 9ervidor Intermediario de alto dese'"eo .ue se a venido desarrollando desde ace
varios aos % es o% en d/a un 'u% "o"ular % a'"lia'ente utili,ado entre los siste'as o"erativos co'o
GNU/Linux % derivados de Unix[$ Fs 'u% confiable! robusto % vers&til % se distribu%e ba(o los t#r'inos de la
Licencia -0blica General GNU 1:N"8:7&3$ Siendo e.ui"a'iento lgico libre! est& dis"onible el cdigo
fuente "ara .uien as/ lo re.uiera$
Fntre otras cosas! 9Cuid "uede funcionar co'o 9ervidor Intermediario % cach de contenido de Red
"ara los "rotocolos D<<7! 2<7! :(7D/R % \;I9! -rox% de 99&! cac# trans"arente! \\C7! aceleracin
D<<7! cac# de consultas DNS % otras 'ucas '&s co'o filtracin de contenido % control de acceso "or ?- %
"or usuario$
9Cuid consiste de un "rogra'a "rinci"al co'o servidor! un "rogra'a "ara b0s.ueda en servidores DN9!
"rogra'as o"cionales "ara reescribir solicitudes % reali,ar autenticacin % algunas erra'ientas "ara
ad'inistracin % erra'ientas "ara clientes$ +l iniciar 9Cuid da origen a un n0'ero configurable 12! de
'odo "redeter'inado a trav#s dla o"cin dnsUchildren3 de "rocesos de b0s.ueda en servidores DN9! cada
uno de los cuales reali,a una b0s.ueda 0nica en servidores DN9! reduciendo la cantidad de tie'"o de
es"era "ara las b0s.uedas en servidores DN9$
Nota.
9Cuid carece de soporte para ser utili3ado como 9ervidor 7ro*+ "ara "rotocolos co'o 95<7! 7(7,!
</&N/<! 99D! IRC! etc$ Si se re.uiere inter'ediar "ara cualCuier protocolo distinto a D<<7! D<<79! 2<7!
:(7D/R % \;I9 se re.uerir& i'"le'entar obligatoria'ente un en'ascara'iento de ?- o N;< 1Net*orK ;ddress
<ranslation3 o bien acer uso de un servidor 9(CN9 co'o Dante 1tt")//***$inet$no/dante/3$
U;L) tt")//***$s.uid6cace$org/
10.. /Cuipamiento lgico necesario.
-ara "oder llevar al cabo los "rocedi'ientos descritos en este % otros docu'entos relacionados! se re.uiere
instalar al 'enos lo siguiente)
+l 'enos s.uid62$2$S@+BLF4
<odos los "arces de seguridad dis"onibles "ara la versin del siste'a o"erativo .ue est#
utili,ando$
Un 'uro cortafuegos configurado con s+stem-config-fireRall! 2irestarter o 9horeRall$
9Cuid slo se instala de 'anera "redeter'inada cuando se instala el gru"o de "a.uetes deno'inado
^9ervidor \eb_$ Fl "rocedi'iento de instalacin es exacta'ente el 'is'o .ue con cual.uier otro
e.ui"a'iento lgico$
10..!. Instalacin a travs de +um.
Si se utili,a Cent(9 o Red DatF /nterprise &inu*! e(ecute)
yum !y install sJuid
10.,. 9/&inu* + el servicio sCuid.
4A2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn Cent(9 0 % Red DatF /nterprise &inu* 0! la "ol/tica sCuidUconnectUan+ viene abilitada de 'odo
"redeter'inado$ Fn Cent(9 . % Red DatF /nterprise &inu* .! esta "ol/tica viene desabilitada de 'odo
"redeter'inado$ Fsta "ol/tica ace .ue SFLinux "er'ita a S.uid ace"tar conexiones de los clientes desde
cual.uier direccin ?-$ Si utili,a Cent(9 . % Red DatF /nterprise &inu* .! e(ecute)
setsebool != sJuid/connect/any 1
-ara SFLinux "er'ita a S.uid o"erar en 'odo trans"arente en Cent(9 0 % Red DatF /nterprise &inu* 0!
e(ecute)
setsebool != sJuid/use/tproxy 1
Nota.
Fn Cent(9 . % Red DatF /nterprise &inu* .! se "ude utili,ar una "ol/tica adicional$ -ara .ue SFLinux "er'ita al
servicio sCuid funcionar nor'al'ente! aciendo .ue todo lo anterior'ente descrito en esta seccin "ierda
sentido! e(ecute)
setsebool != sJuid/disable/trans 1
10.-. ;ntes de continuar.
Fvite de(ar espacios vacos en lugares indebidos$ Fl siguiente e(e'"lo 'uestra la 'anera incorrecta de
abilitar un o"cin$
:al
A 0pciTn %n&orre&$#<en$e habilitada#
h$$'_'or$ 6%6%
Fl siguiente e(e'"lo 'uestra la 'anera correcta de abilitar un o"cin$
Bien
A 0pciTn &orre&$#<en$e habilitada#
h$$'_'or$ 6%6%
10... Configuracin b6sica.
9Cuid utili,a el arcivo de configuracin locali,ado en 8etc8sCuid8sCuid.conf % "odr& traba(ar sobre este
utili,ando su editor de texto si'"le "referido$ Fxisten un gran n0'ero de o"ciones! de los cuales
reco'enda'os configurar los siguientes)
+l 'enos una &ista de Control de ;cceso
+l 'enos una Regla de Control de ;cceso
tt"M"ort
caceMdir
errorMdirector%! slo si va a "ersonali,ar 'ensa(es de error$
4A4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl resto de los o"ciones 'encionados en este docu'ento son! valga la redundancia! o"cionales$
Fdite el arcivo 8etc8sCuid8sCuid.conf)
vi /etc/sJuid/sJuid#con"
10...!. Controles de acceso.
-ara"oder controlar el tr&fico de los clientes acia ?nternet! es necesario establecer &istas de Control de
;cceso .ue definan una red o bien ciertos anfitriones en "articular$ + cada lista se le asignar& una Regla
de Control de ;cceso .ue "er'itir& o denegar& el acceso a 9Cuid$
10...!.!. &istas de control de acceso.
De 'odo "redeter'inado en Cent(9 0 % Red DatF /nterprise &inu* 0! S.uid abilita el acceso a todas
las redes locales! definidas en el ;>C7B7A$ Fs decir! "er'ite el acceso a 79$9$9$9/A! 752$74$9$9/72!
7B2$74A$9$9/74! fc99))/5 % feA9))/79$
A 'xample rule alloing access "rom your local netorks#
A 5dapt to list your (internal) )= netorks "rom here brosing
A should be alloed
acl localnet src 1%#%#%#%/6 A R>*1916 possible internal netork
acl localnet src 1$8#16#%#%/18 A R>*1916 possible internal netork
acl localnet src 198#166#%#%/16 A R>*1916 possible internal netork
acl localnet src "c%%77/$ A R>* 419@ local private netork range
acl localnet src "e6%77/1% A R>* 4891 link!local (directly plugged) machines
Desabilite todo lo anterior! colocando una al'oadilla 1< al inicio de cada l/nea$
A 'xample rule alloing access "rom your local netorks#
A 5dapt to list your (internal) )= netorks "rom here brosing
A should be alloed
A acl localnet src 1%#%#%#%/6 A R>*1916 possible internal netork
A acl localnet src 1$8#16#%#%/18 A R>*1916 possible internal netork
A acl localnet src 198#166#%#%/16 A R>*1916 possible internal netork
A acl localnet src "c%%77/$ A R>* 419@ local private netork range
A acl localnet src "e6%77/1% A R>* 4891 link!local (directly plugged) machines
;egular'ente una lista de control de acceso se establece con la siguiente sintaxis)
acl Dnombre de la listaE src Dlo Jue compone a la listaE
Si se desea establecer una lista de control de acceso .ue abar.ue a toda la red local! basta definir la ?-
corres"ondiente a la red % la '&scara de la sub6red$ -or e(e'"lo! si se tiene una red donde los anfitriones
tienen direcciones del seg'ento ?- 752$74$799$9/2A! se "uede utili,ar lo siguiente)
acl localnet src 1$8#16#1%%#%/86
@a'bi#n "uede definirse una &ista de Control de ;cceso es"ecificando un arcivo locali,ado en cual.uier
"arte del disco duro % la cual contiene una lista de direcciones ?-$ F(e'"lo)
acl permitidos src ,/etc/sJuid/listas/permitidos,
4A5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl arcivo 8etc8sCuid8listas8permitidos tendr/a un contenido si'ilar al siguiente)
1$8#16#1%%#1
1$8#16#1%%#8
1$8#16#1%%#@
1$8#16#1%%#1:
1$8#16#1%%#16
1$8#16#1%%#8%
1$8#16#1%%#4%
Lo anterior estar/a definiendo .ue la &ista de Control de ;cceso deno'inada permitidos estar/a
co'"uesta "or las direcciones ?- incluidas en el arcivo 8etc8sCuid8listas8permitidos$
10...!.. Reglas de Control de ;cceso.
Fstas definen si se "er'ite o deniega acceso acia 9Cuid$ Se a"lican a las &istas de Control de ;cceso$
Deben colocarse en la seccin de reglas de control de acceso definidas "or el ad'inistrador! es decir! a
"artir de donde se locali,a la siguiente le%enda)
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 52204 5**'SS >R0. <0?R *2)'-1S
A
La sintaxis b&sica de una regla de control de acceso es la siguiente)
http/access Ddeny o alloE Dlista de control de accesoE
-ara desactivar la configuracin "redeter'inada % "oder utili,ar una diferente! localice La l/nea .ue inclu%e
httpUaccess alloR localnet)
A 'xample rule alloing access "rom your local netorks#
A 5dapt localnet in the 5*2 section to list your (internal) )= netorks
A "rom here brosing should be alloed
h$$'_#&&ess #))o0 )o&#)ne$
http/access allo localhost
Desabilite esta l/nea colocando una al'oadilla 1< al inicio de #sta)
A 'xample rule alloing access "rom your local netorks#
A 5dapt localnet in the 5*2 section to list your (internal) )= netorks
A "rom here brosing should be alloed
P h$$'_#&&ess #))o0 )o&#)ne$
http/access allo localhost
Fn el siguiente e(e'"lo se considera una regla .ue establece acceso "er'itido a 9Cuid a la &ista de
Control de ;cceso deno'inada permitidos)
http/access allo permitidos
@a'bi#n "ueden definirse reglas vali#ndose de la ex"resin X! la cual significa no$ -ueden definirse! "or
e(e'"lo! dos listas de control de acceso! una deno'inada lista! % otra deno'inada lista! en la 'is'a
regla de control de acceso! en donde se asigna una ex"resin a una de estas$ La siguiente establece .ue se
"er'ite el acceso a 9Cuid a lo .ue co'"renda lista! exce"to a.uello .ue co'"renda lista)
4AA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
http/access allo lista1 Wlista8
Fste ti"o de reglas son 0tiles cuando se tiene un gran gru"o de ?- dentro de un rango de red al .ue se debe
permitir acceso % otro gru"o dentro de la 'is'a red al .ue se debe denegar el acceso$
10.... ;plicando &istas + Reglas de control de acceso.
Una ve, co'"rendido el funciona'iento de la Listas % las ;egla de Control de +cceso! se "rocede a
deter'inar cuales utili,ar "ara la configuracin$
10....!. Caso !.
Considerando co'o e(e'"lo .ue se dis"one de una red 752$74$799$9/2A! si se desea definir toda la red local!
se utili,ar/a la siguiente l/nea en la seccin de &istas de Control de ;cceso)
acl localnet src 1$8#16#1%%#%/86
Iabiendo eco lo anterior! la seccin de listas de control de acceso debe .uedar '&s o 'enos del siguiente
'odo)
&istas de Control de ;cceso# definicin de una red local completa
A
A Recommended minimum con"iguration7
acl all src %#%#%#%/%
acl manager proto cache/obOect
acl localhost src 18$#%#%#1/6
#&) )o&#)ne$ sr& 37/.35.366.6;/8
+ continuacin se "rocede a a"licar la regla de control de acceso)
http/access allo localnet
Iabiendo eco lo anterior! la ,ona de reglas de control de acceso deber/a .uedar de 'odo si'ilar al
siguiente)
Reglas de control de acceso# ;cceso a una &ista de Control de ;cceso.
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 52204 5**'SS >R0. <0?R *2)'-1S
A
http/access allo localhost
h$$'_#&&ess #))o0 )o&#)ne$
http/access deny all
La regla httpUaccess alloR localnet "er'ite el acceso a 9Cuid a la &ista de Control de ;cceso
deno'inada localnet! la cual! en el siguiente e(e'"lo! est& confor'ada "or 752$74$799$9/2A$ Fsto significa
.ue cual.uier anfitrin desde 752$74$799$7 asta 752$74$799$7= "odr& acceder a 9Cuid$
10..... Caso .
4AB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si slo se desea "er'itir el acceso a 9Cuid a ciertas direcciones ?- de la red local! debere'os crear un
arcivo .ue contenga dica lista$ Genere el arcivo 8etc8sCuid8listas8localnet! dentro del cual se incluir&n
slo a.uellas direcciones ?- .ue desea confir'en la Lista de Control de acceso$ F(e'"lo)
1$8#16#1%%#1
1$8#16#1%%#8
1$8#16#1%%#@
1$8#16#1%%#4
1$8#16#1%%#:
1$8#16#1%%#6
1$8#16#1%%#$
Deno'inare'os a esta lista de control de acceso co'o localnet)
acl localnet src ,/etc/sJuid/listas/localnet,
Iabiendo eco lo anterior! la seccin de listas de control de acceso debe .uedar '&s o 'enos del siguiente
'odo)
&istas de Control de ;cceso# definicin de una red local completa
A
A Recommended minimum con"iguration7
acl all src %#%#%#%/%
acl manager proto cache/obOect
acl localhost src 18$#%#%#1/8::#8::#8::#8::
#&) )o&#)ne$ sr& ";e$&;s,>%-;)%s$#s;)o&#)ne$"
+ continuacin se "rocede a a"licar la regla de control de acceso)
http/access allo localnet
Iabiendo eco lo anterior! la ,ona de reglas de control de acceso deber/a .uedar de 'odo si'ilar al
siguiente)
Reglas de control de acceso# ;cceso a una &ista de Control de ;cceso.
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 52204 5**'SS >R0. <0?R *2)'-1S
A
http/access allo localhost
h$$'_#&&ess #))o0 )o&#)ne$
http/access deny all
La regla httpUaccess alloR localnet "er'ite el acceso a 9Cuid a la &ista de Control de ;cceso
deno'inada localnet! la cual est& confor'ada "or las direcciones ?- es"ecificadas en el arcivo
8etc8sCuid8listas8localnet$ Fsto significa .ue cual.uier anfitrin excluido del arcivo
8etc8sCuid8listas8localnet se le denegar& el acceso a 9Cuid$
10...,. (pcin cacheUmgr.
Fsta o"cin es de car&cter infor'ativo$ De 'odo "redeter'inado! si algo ocurre con el cac#! co'o "or
e(e'"lo .ue 'uera el "rocesos! se enviar& un 'ensa(e de aviso a la cuenta Rebmaster del servidor$ -uede
es"ecificarse una distinta si acaso se considera conveniente$
4B9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cache/mgr OosepereC^midominio#net
10...-. (pcin httpUport.
Fsta o"cin es utili,ado "ara indicar el "uerto a trav#s del cual escucar& "eticiones S.uid$ FL valor
"redeter'inado es 872A! es deicr! S.uid escucar& "eticiones a trav#s del "uerto 872A/tc"$
http/port @186
Fl "uerto est&ndar designado "ara servidores de cac# de ?nternet 1*ebcace3 es el "uerto A9A9$
http/port 6%6%
La o"cin "er'ite establecer ta'bi#n si se .uiere utili,ar una direccin ?- en "articular$ Fsto aade 'a%or
seguridad al servicio! "ues si se tiene dos tar(etas de red! una con una direccin ?- "0blica % otra con una
direccin ?- "rivada! se "uede establecer .ue S.uid solo "er'ita conexiones desde la direccin ?- "rivada$
http/port 198#166#6%#176%6%
Si se necesita configurar un servidor "rox% en 'odo trans"arente! solo es necesario aadir la o"cin
intercept! 'is'a .ue desde la versin 8$7 de S.uid ree'"la,a a la o"cin transparent$
http/port 198#166#6%#176%6% %n$er&e'$
Nota.
-ara configurar un servidor "rox% en 'odo trans"arente en CentGS 2 % ;ed Iat Fnter"riseLinux 2 % versiones
anteriores! utilice la o"cin transparent)
http/port 198#166#6%#176%6% $r#ns'#ren$
10..... (pcin cacheUdir.
Fsta o"cin se utili,a "ara establecer .ue ta'ao se desea .ue utilice S.uid "ara al'acena'iento de cac#
en el disco duro$ De 'odo "redeter'inado S.uid utili,ar& el for'ato ufs "ara crear en el directorio
8var8spool8sCuid un cac# de 799 :B! dividido en (erar.u/as de 74 directorios subordinados! asta 224
niveles cada uno)
cache/dir u"s /var/spool/sJuid 1%% 16 8:6
Se "uede incre'entar el ta'ao del cac# asta donde lo desee el ad'inistrador$ :ientras '&s grande sea
el cac#! '&s ob(etos se al'acenar&n en #ste % "or lo tanto se consu'ir& 'enos el anco de banda$ La
siguiente l/nea establece un cac# de 2 GB)
cache/dir u"s /var/spool/sJuid /648 16 8:6
4B7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fl for'ato de cace ufs "uede llegar a blo.uear el "roceso "rinci"al de S.uid en o"eraciones de
entrada/salida sobre el siste'a de arcivos cuando a% 'ucos clientes conectados$ -ara evitar .ue esto
ocurra! se reco'ienda utili,ar aufs! .ue utili,a el 'is'o for'ato de ufs! "ero funciona de 'anera
asincr/nica! consigui#ndose un 'e(or dese'"eo$
cache/dir #>+s /var/spool/sJuid 8%46 16 8:6
10...0. (pcin ma*imumUob%ectUsi3e.
Fsta o"cin se utili,a "ara definir el ta'ao '&xi'o de los ob(etos en el cac#$ Se reco'ienda establecerla
en escenarios con alta carga de traba(o! "uesto .ue "er'ite evitar des"erdiciar recursos de siste'a
al'acenando en el cac# ob(etos de gran ta'ao .ue "robable'ente slo sean a"rovecados "or unos
"ocos usuarios! o"ti'i,ando el uso del cac# con ob(etos "e.ueos .ue de otro 'odo generar/an una gran
cantidad de "eticiones acia las redes "0blicas$ Fn el siguiente e(e'"lo se establece un l/'ite de =A :B
"ara los ob(etos del cac#$
maximum/obOect/siCe 46 .;
10...1. (pciones cacheUsRapUloR + cacheUsRapUhigh.
Fs "osible reali,ar una li'"ie,a auto'&tica del cac# de S.uid cuando #ste llegue a cierta ca"acidad$ La
o"cin cacheUsRapUloR establece el "orcenta(e a "artir del cual se co'en,ar& a li'"iar el cace$ La
o"cin cacheUsRapUhigh establece el "orcenta(e a "artir del cual se co'en,ar& a li'"iar de 'anera
agresiva el cace$ Fn el siguiente e(e'"lo se establece .ue el cace se co'ien,a a li'"iar cuando alcan,a
el B9c % se co'ien,a a li'"iar de 'anera agresiva cuando alcan,a el B2c$
cache/sap/lo 9%
cache/sap/high 9:
Lo anterior "er'ite tener un cac# saludable .ue se li'"ia auto'&tica'ente$ Se reco'ienda utili,ar estas
o"ciones en escenarios con alta carga de traba(o$
10...4. (pcin cacheUreplacementUpolic+.
+ trav#s de esta o"cin se inclu%e so"orte "ara los siguientes algorit'os "ara el cac#)
&R"
+crni'o de &east Recentl% "sed! .ue traduce co'o 5enos Recientemente "tili3ado$ Fn este
algorit'o los ob(etos .ue fueron accedidos ace 'uco tie'"o! son eli'inados "ri'ero % 'anteniendo
sie'"re en el cac# a los ob(etos '&s reciente'ente solicitados$ ksta poltica es la utili3ada por
9Cuid de modo predeterminado$
&2"D;
+crni'o de &east 2re.uentl% "sed *it D%na'ic ;ging! .ue se traduce co'o 5enos
2recuentemente "tili3ado con /nve%ecimiento Din6mico$ Fn este algorit'o los ob(etos '&s
solicitados "er'anecen en el cac# sin i'"ortar su ta'ao o"ti'i,ando la eficiencia 1it rate3 "or
octetos 1B%tes3 a ex"ensas de la eficiencia 'is'a! de 'odo .ue un ob(eto grande .ue se solicite con
'a%or frecuencia i'"edir& .ue se "ueda acer cac# de ob(etos "e.ueos .ue se soliciten con 'enor
frecuencia$
:D92
+crni'o de :reed%Dual 9i,e 2re.uenc%! .ue se traduce co'o 2recuencia de tamaHo 4reed)#ual
1codicioso dual3! .ue es el algorit'o sobre el cual se basa :D92$ G"ti'i,a la eficiencia 1it rate3 "or
ob(eto 'anteniendo en el cac# los ob(etos "e.ueos '&s frecuente'ente solicitados de 'odo .ue a%
'e(ores "osibilidades de lograr respuesta a una solicitud 1it3$ @iene una eficiencia "or octetos
1B%tes3 'enor .ue el algorit'o &2"D; debido a .ue descarta del cac# ob(etos grandes .ue sean
solicitado con frecuencia$
Fl algorit'o reco'endado % .ue a de'ostrado 'e(or dese'"eo en escenarios de alta carga de traba(o es
L>UD+$
4B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
cache/replacement/policy heap 2>?&5
10...[. (pcin cacheUmem.
La o"cin cacheUmem establece la cantidad ideal de 'e'oria "ara lo siguiente)
Gb(etos en tr&nsito$
Gb(etos frecuente'ente utili,ados 1.ot3$
Gb(etos negativa'ente al'acenados en el cac#$
Los datos de estos ob(etos se al'acenan en blo.ues de = Lb$ La o"cin cacheUmem es"ecifica un l/'ite
'&xi'o en el ta'ao total de blo.ues aco'odados! donde los ob(etos en tr&nsito tienen 'a%or "rioridad$
Sin e'bargo los ob(etos frecuente'ente utili,ados 1.ot3 % a.uellos negativa'ente al'acenados en el
cac#! "odr&n utili,ar la 'e'oria sin utili,ar asta .ue esta sea re.uerida$ De ser necesario! si un ob(eto en
tr&nsito es 'a%or a la cantidad de 'e'oria es"ecificada! 9Cuid exceder& lo .ue sea necesario "ara
satisfacer la "eticin$
De 'odo "redeter'inado! desde la versin 8$7 de S.uid! se establecen 224 :B! .ue es '&s .ue suficiente
"ara las necesidades de redes de &rea local con "ocos anfitriones$ -uede es"ecificar una cantidad 'enor
"ara obtener un 'e(or rendi'iento! "ues conviene utili,ar la 'e'oria dis"onible "ara acer cace en
'e'oria de 'ucos ob(etos "e.ueos .ue son frecuente'ente visitados! .ue acer cace de unos "ocos
ob(etos grandes .ue slo unos "ocos usuarios a"rovecar&n$ Fn el siguiente e(e'"lo se establecen =A :B
co'o l/'ite de ta'ao "ara los ob(etos en tr&nsito)
cache/mem 46 .;
Nota.
Fn CentGS 2 % ;ed Iat Fnter"riseLinux 2 % versiones anteriores! el valor "redeter'inado de cacheUmem son A
:B! "or lo cual "uede incre'entar este valor asta donde se considere "ertinente$
cache/mem / MB
10.0. /stableciendo el idioma de los mensa%es mostrados por 9Cuid
hacia el usuario.
9Cuid inclu%e traduccin a distintos idio'as de las distintas "&ginas de error e infor'ativas .ue son
des"legadas en un 'o'ento dado durante su o"eracin$ Dicas traducciones se "ueden encontrar en
8usr8share8sCuid8errors8$ Desde la versin 8$9 de S.uid! el idio'a se detecta auto'&tica'ente a "artir del
navegador utili,ado "or el usuario$ Fs innecesario 'odificar o"cin alguno! salvo .ue se a%a "ersonali,ado
los 'ensa(es! en cu%o caso conviene utili,ar una ruta distinta a la del idio'a utili,ado "ara evitar se
sobre6escriban los arcivos des"u#s de actuali,ar el siste'a$
Nota.
Fn CentGS 2 % ;ed IatH Fnter"rise Linux 2 % versiones anteriores! el idio'a de los 'ensa(es de error se
establece a trav#s dla o"cin errorUdirector+! cu%o valor "redeter'inado es 8usr8share8sCuid8errors8/nglish %
"uede ser ca'biado "or el valor 8usr8share8sCuid8errors89panish)
error/directory /usr/share/sJuid/errors/Spanish
4B8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
10.1. IniciandoG reiniciando + aHadiendo el servicio al arranCue del
sistema.
Una ve, ter'inada la configuracin! "ara iniciar "or "ri'era ve, 9Cuid e(ecute)
service sJuid start
Si necesita volver a cargar la configuracin "ara "robar ca'bios reali,ados! sin detener el servicio! e(ecute)
service sJuid reload
Si necesita reiniciar "ara "robar ca'bios ecos en la configuracin! considerando .ue este "roceso "uede
llegar a de'orar algunos 'inutos! e(ecute)
service sJuid restart
-ara .ue 9Cuid inicie de 'anera auto'&tica (unto con el siste'a! e(ecute)
chkcon"ig sJuid on
Lo anterior abilitar& el servicio sCuid en todos los niveles de e(ecucin$
10.4. Depuracin de errores
Cual.uier error al inicio de 9Cuid slo significa .ue ubo errores de sintaxis! errores de dedo o bien se est&n
citando incorrecta'ente las rutas acia los arcivos de las &istas de Control de ;cceso$
-uede reali,ar diagnstico de "roble'as indic&ndole a 9Cuid .ue vuelva a leer configuracin! lo cual
devolver& los errores .ue existan en el arcivo 8etc8sCuid8sCuid.conf$
service sJuid re)o#-
Cuando se trata de errores graves .ue i'"iden iniciar el servicio! "uede exa'inarse el contenido del arcivo
8var8log8sCuid8sCuid.out con el 'andato less! more o cual.uier otro visor de texto)
tail !6% /var/log/sJuid/sJuid#out
10.[. 5odificaciones necesarias en el muro cortafuegos.
Si se utili,a un cortafuegos con "ol/ticas estrictas! co'o "or e(e'"lo 9horeRall! es necesario abrir el "uerto
A9A9 "or @C- 1Rebcache3! si se eligi utili,ar el "uerto A9A9 en lugar del 872A$
La regla "ara el arcivo 8etc8shoreRall8rules de 9horeRall! .ue slo "er'itir& el acceso acia 9Cuid
desde la ,ona de red de &rea local! corres"onder/a a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
ACCE9T )o& +0 $&' 8686
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
4B=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara a"licar los ca'bios en Sore*all! e(ecute)
service shoreall restart
10.[.!. Re-direccionamiento de peticiones a travs de la opcin R/DIR/C< en
9horeRall.
La accin R/DIR/C< en 9horeRall "er'ite redirigir "eticiones acia "rotocolo D<<7 "ara acerlas "asar a
trav#s de 9Cuid$ Fn el siguiente e(e'"lo las "eticiones ecas desde la ,ona .ue corres"onde a la red local
ser&n redirigidas acia el "uerto A9A9 del cortafuegos! en donde est& configurado 9Cuid configurado co'o
9ervidor 7ro*+ 1-rox%3 trans"arente$
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 loc " tcp 6%6%
RED?RECT )o& 8686 $&' 86
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
10.[.!.!. /*clusin de sitios en 9horeRall.
Fn el caso de sitios .ue se .uiera excluir de ser utili,ados con S.uid! es decir! sitios "roble'&ticos! se "uede
configurar en Sore*all .ue el acceso sea directo! con una configuracin si'ilar a la del siguiente e(e'"lo!
donde se exclu%e de "asar "or S.uid las "eticiones dirigidas a las redes 297$7==$79A$9/2= 1?:SS$gob$'x3 %
299$88$5=$9/2= 1S+@$gob$'x3 % se abre el "aso directo desde la red local acia esta red)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
5**'=1 loc " tcp 6%6%
R'&)R'*1 loc 6%6% tcp 6% - G/63.344.368.6;/4B/66..74.6;/4
ACCE9T )o& ne$1/63.344.368.6;/4 #))
ACCE9T )o& ne$1/66..74.6;/4 #))
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
10.[.. Re-direccionamiento de peticiones a travs de iptables.
Ba(o ciertas circunstancias! se re.uerir& tener salida trans"arente acia ?nternet "ara ciertos servicios! "ero
al 'is'o tie'"o se necesitar& re6direccionar "eticiones acia servicio D<<7 "ara "asar a trav#s del el
"uerto donde escuca "eticiones 9Cuid! co'o "rox% en 'odo transparente! es decir el "uerto A9A9/tc"! de
'odo .ue se i'"ida la salida acia alguna acia servidores D<<7 en el exterior sin .ue #sta "ase antes "or
9Cuid$ Ning0n pro*+ conocido "uede funcionar en 'odo transparente "ara los "rotocolos D<<79! 2<7!
:(7D/R ni \;I9! "or lo .ue dicos "rotocolos tendr&n .ue ser filtrados a trav#s del N;<$
Fl re6direcciona'iento se ace a trav#s de iptables$ Considerando "ara este e(e'"lo .ue la red local se
accede a trav#s de una interfa, et7! el siguiente es.ue'a e(e'"lifica un re6direcciona'iento)
iptables !5 )-=?1 !m state !!state -'4 !m tcp !p tcp K
-% e$h3 !!dport 6%6% !O 5**'=1
iptables !t nat !5 =R'R0?1)-I -% e$h3 !p tcp K
!!dport 6% !O R'&)R'*1 !!to!port 6%6%
service iptables save
4B2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
11. Configuracin de 9Cuid# ;cceso por
autenticacin
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
11.!. Introduccin.
Fs 'u% 0til el "oder establecer un siste'a de autenticacin "ara "oder acceder acia ?nternet! "ues esto
"er'ite controlar .uienes si % .uienes no acceder&n a ?nternet sin i'"ortar desde .ue '&.uina de la red
local lo agan$ Sera de 'odo tal .ue tendre'os un doble control! "ri'ero "or direccin ?- % segundo "or
no'bre de usuario % contrasea$
Fste docu'ento considera .ue se a le/do "revia'ente! a detalle % en su totalidad el docu'ento titulado
^Configuracin de S.uid) Servidor -rox%!_ % .ue a configurado exitosa'ente S.uid co'o servidor "rox%$
11.. /Cuipamiento lgico necesario.
-ara "oder llevar la cabo los "rocedi'ientos descritos en este 'anual % docu'entos relacionados! se
necesitar& tener instalado al 'enos lo siguiente)
s.uid62$2$S@+BLF8
tt"d62$9$x 1+"ace3 1o"cional3
o"enlda"6servers62$2$x 1o"cional3
/ligiendo el mdulo de autenticacin.
Fste 'anual considera "oder autenticar a trav#s de un arcivo de texto si'"le con contraseas creadas con
t"ass*d o bien a trav#s de un servidor LD+- 1una solucin '&s robusta3$
11..!. ;utenticacin a travs del mdulo &D;7.
Considerando .ue se a configurado exitosa'ente G"enLD+- co'o servidor de autenticacin! slo se
necesita definir el directorio 1o subdirectorio3 % el servidor LD+- a utili,ar$
La sintaxis utili,ada "ara s.uidMlda"Maut es la siguiente)
sJuid/ldap/auth !b ,&irectorio!a!utiliCar, servidor!ldap!a!utiliCar
F(e'"lo)
sJuid/ldap/auth !b ,ou+=eopleBdc+dominioBdc+tld, 18$#%#%#1
4B4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fdite el arcivo /etc/s.uid/s.uid$conf)
vim /etc/sJuid/sJuid#con"
+ada la siguiente configuracin! 'is'a .ue considera .ue squidTldapTaut se locali,a en
*usr*lib*squid*ncsaTaut)
auth/param basic program /usr/lib/sJuid/sJuid/ldap/auth !b ,ou+=eopleBdc+dominioBdc+tld, 18$#%#%#1
Lo anterior conecta al directorio dcbsu6red6local!dcbtld en el servidor LD+- en 725$9$9$7$
11... ;utenticacin a travs del mdulo NC9;
S.uid "uede utili,ar el 'dulo ncsaTaut! de la NCS+ 1National Center for Su"erco'"uting +""lications3 %
.ue %a viene incluido co'o "arte del "a.uete "rinci"al de S.uid en la 'a%or/a de las distribuciones
actuales$ Fste 'dulo "rovee una autenticacin 'u% sencilla a trav#s de un arcivo de texto si'"le cu%as
contraseas fueron creadas con t"ass*d$
11...!. Creacin del archivo de contraseHas.
Se re.uerir& la creacin "revia de un arcivo .ue contendr& los no'bres de usuarios % sus corres"ondientes
contraseas 1cifradas3$ Fl arcivo "uede locali,arse en cual.uier lugar del siste'a! con la 0nica condicin
.ue sea ase.uible "ara el usuario squid$
Debe "rocederse a crear un arcivo *etc*squid*claves)
touch /etc/sJuid/claves
Salvo .ue va%a a utili,arse un guin a trav#s del servidor *eb "ara ad'inistrar las contraseas! co'o
'edida de seguridad! este arcivo debe tener atributos de lectura % escritura slo "ara el usuario squid)
chmod 6%% /etc/sJuid/claves
chon sJuid7sJuid /etc/sJuid/claves
+ continuacin debere'os dar de alta las cuentas .ue sean necesarias! utili,ando el 'andato tpass(d
=mismo que viene incluido en el paquete ttpd=L.5.6=$ F(e'"lo)
htpassd /etc/sJuid/claves OosepereC
Lo anterior solicitar& teclear una nueva contrasea "ara el usuario joseperez % confir'ar tecleando #sta de
nuevo$ ;e"ita con el resto de las cuentas .ue re.uiera dar de alta$
@odas las cuentas .ue se den de alta de este 'odo son inde"endientes a las %a existentes en el siste'a$ +l
dar de alta una cuenta o ca'biar una contrasea lo estar& aciendo /BC&"9IJ;5/N</ "ara el acceso al
servidor -rox%$ Las cuentas son inde"endientes a las .ue se tengan existentes en el siste'a co'o ser/an
sell! correo % Sa'ba$
Fdite el arcivo /etc/s.uid/s.uid$conf)
vim /etc/sJuid/sJuid#con"
4B5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Lo siguiente ser& es"ecificar .ue "rogra'a de autenticacin se utili,ar&$ Localice la seccin .ue
corres"onde a la eti.ueta autTparam basic program$ De 'odo "redeter'inado esta o"cin viene
desactivada % carece de valores$ Considerando .ue ncsaTaut se locali,a en *usr*lib*squid*ncsaTaut! se a
aade lo siguiente)
auth/param basic program /usr/lib/sJuid/ncsa/auth /etc/sJuid/claves
*usr*lib*squid*ncsaTaut corres"onde a la locali,acin de el "rogra'a "ara autenticar % es"ecificando co'o
argu'ento el arcivo*etc*squid*claves! el cual corres"onde al .ue contiene los no'bres de usuario % sus
res"ectivas contraseas$
11.,. &istas + reglas de control de acceso.
se debe es"ecificar una lista de control de acceso deno'inada pass(d la cual se configurar& "ara utili,ar de
'odo obligatorio la autenticacin "ara "oder acceder a S.uid$ Debe locali,arse la seccin de %istas de
#ontrol de Acceso % aadirse la siguiente l/nea)
acl passord proxy/auth R'b?)R'&
Iabiendo eco lo anterior! debe aber algo si'ilar a lo siguiente en la seccin de %istas de #ontrol de
Acceso)
A
A Recommended minimum con"iguration7
acl all src %#%#%#%/%
acl manager proto cache/obOect
acl localhost src 18$#%#%#1/6
acl localnet src 198#166#1#%/84
#&) '#ss0or- 'roEy_#>$h RETU?RED
Se "rocede entonces a 'odificar la regla de control de accesos .ue %a se ten/a "ara "er'itir el acceso a
?nternet$ Donde antes estaba lo siguiente)
http/access allo localnet
Se aade pass(d! la definicin de la %ista de #ontrol de Acceso .ue re.uiere utili,ar contrasea a la regla
actual! de 'odo .ue .uede co'o se 'uestra a continuacin)
http/access allo localnet passord
Iabiendo eco lo anterior! la ,ona de reglas de control de acceso deber/a .uedar del siguiente 'odo)
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 allo 5**'SS >R0. <0?R *2)'-1S
A
http/access allo localhost
h$$'_#&&ess #))o0 )o&#)ne$ '#ss0or-
http/access deny all
11.,.!. 2inali3ando procedimiento.
4BA
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
>inal'ente! slo bastar& recargar la configuracin de S.uid "ara .ue to'en efecto los ca'bios % se "uedan
reali,ar "ruebas$
service sJuid reload
4BB
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
14. Configuracin de 9Cuid# Restriccin de acceso a
9itios de Internet.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
14.!. Introduccin.
Denegar el acceso a ciertos Sitios de ;ed "er'ite acer un uso '&s racional del anco de banda con el .ue
se dis"one$ Fl funciona'iento es verdadera'ente si'"le % consiste en denegar el acceso a no'bres de
do'inio o direcciones de ?nternet .ue contengan "atrones en co'0n$
Fste docu'ento considera .ue se a le/do "revia'ente! a detalle % en su totalidad el docu'ento titulado
^Configuracin de S.uid) Servidor -rox%!_ % .ue a configurado exitosa'ente S.uid co'o servidor "rox%$
14.. Restriccin por e*presiones regulares.
Se debe crear un arcivo donde se definir& la lista de ex"resiones regulares$
vim /etc/sJuid/listas/expreg!denegadas
Fsta lista "uede contener cual.uier ex"resin regular .ue se considere sea usual'ente utili,adas en las
direcciones de ciertos sitios$
adult
celebri
mp@
otrositioindeseable#com
playstation
porn
sex
sitioindeseable#com
taringa
torrent
areC
ii
Fsta lista! la cual deber& ser co'"letada con todas las "alabras 1'ucas de est&s son "alabras obscenas en
distintos idio'as3 % direcciones de ?nternet .ue el ad'inistrador considere "ertinentes! la guardare'os
co'o *etc*squid*listas*e6preg=denegadas$
Fdite el arcivo /etc/s.uid/s.uid$conf)
vim /etc/sJuid/sJuid#con"
599
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ada una lista de control! deno'inada ex"reg6denegadas! de acceso ti"o urlMregex 1ex"resiones regulares
del U;L3! .ue defina al la lista en el arcivo /etc/s.uid/listas/ex"reg6denegadas)
acl expreg!denegadas url/regex ,/etc/sJuid/listas/expreg!denegadas,
Iabiendo eco lo anterior! debere'os tener en la seccin de %istas de #ontrol de Acceso algo si'ilar a lo
siguiente)
A
A Recommended minimum con"iguration7
acl all src %#%#%#%/%
acl manager proto cache/obOect
acl localhost src 18$#%#%#1/6
acl localnet src 198#166#1#%/84
acl passord proxy/auth R'b?)R'&
#&) eE'reg--eneg#-#s >r)_regeE ";e$&;s,>%-;)%s$#s;eE'reg--eneg#-#s"
+ continuacin es"ecificare'os 'odificare'os una Aegla de #ontrol de Acceso existente agregando con un
s/'bolo de U .ue se denegar& el acceso a la %ista de #ontrol de Acceso deno'inada e6preg=denegadas)
http/access allo localnet Wexpreg!denegadas
La regla anterior "er'ite el acceso a la %ista de #ontrol de Acceso deno'inada localnet! "ero le niega el
acceso a todo lo .ue coincida con lo es"ecificado en la %ista de #ontrol de Acceso deno'inada
e6preg=denegadas$
F(e'"lo a"licado a una Aegla de #ontrol de Acceso co'binando el '#todo de autenticacin ex"licado en el
docu'ento Configuracin de S.uid) +cceso "or +utenticacin)
;eglas de control de acceso) denegacin de sitios$
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 allo 5**'SS >R0. <0?R *2)'-1S
A
http/access allo localhost
h$$'_#&&ess #))o0 )o&#)ne$ '#ss0or- GeE'reg--eneg#-#s
http/access deny all
14.,. Restriccin por e*presiones regulares.
-ara restringir el acceso "or do'inios! se crea un arcivo con lista con do'inios$
vim /etc/sJuid/listas/dominios!denegados
Los no'bres "ueden ser no'bres de do'inio es"ec/ficos)
#"acebook#com
#titter#com
plus#google#com
G bien "uede definirse todo el do'inio co'"leto! inclu%endo sub6do'inios)
#"acebook#com
#titter#com
597
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Nota.
Si define $do'inio$co'! es innecesario definir ***$do'inio$co' o 'ail$do'inio$co' o ft"$do'inio$co'! etc$! "ues
todos son subdo'inios de $do'inio$co')
G bien se "ueden definir do'inios de nivel su"erior gen#ricos o geogr&ficos$
#co#Op
#com#cn
#im
#tv
#xxx
G bien una co'binacin de todo lo anterior$
#co#Op
#com#cn
#"acebook#com
plus#gogle#com
#tv
#titter#com#im
#xxx
Fdite el arcivo /etc/s.uid/s.uid$conf$
vim /etc/sJuid/sJuid#con"
+ada una lista de control! deno'inada do'inios6denegados! de acceso ti"o dstdo'ain 1do'inios de
destino3! .ue defina al la lista en el arcivo /etc/s.uid/listas/do'inios6denegados$
acl dominios!denegados dstdomain ,/etc/sJuid/listas/dominios!denegados,
+ada una regla de control de acceso .ue deniegue el acceso a sitios .ue est#n incluidos en la lista de
do'inios$
http/access allo localnet Wexpreg!denegadas Wdominios!denegados
14.,.!. 7ermitiendo acceso a sitios inocentes incidentalmente bloCueados.
Si "or e(e'"lo! el incluir una ex"resin regular en "articular! en la lista de ex"resiones regulares denegadas!
afecta incidental'ente el acceso a un sitio de ?nternet en "articular! ta'bi#n "uede generarse una lista de
do'inios .ue ser&n excluidos de las restricciones$
Utilice el editor de texto "ara crear el arcivo /etc/s.uid/do'inios6inocentes$
vim /etc/sJuid/dominios!inocentes
Fl contenido "uede ser una lista de do'inios o bien do'inios de nivel su"erior! .ue se considere deban ser
accedidos "or la red local en cual.ueir 'o'ento % sin restricciones$
592
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
#alcancelibre#org
#edu
#edu#mx
#eluniversal#com#mx
#gob#mx
#gov
#milenio#com
#org
#org#mx
#unam#mx
#google#com
#google#com#mx
Fste arcivo ser& definido en una %ista de #ontrol de Acceso del 'is'o 'odo en .ue se i,o anterior'ente
con el arcivo .ue contiene do'inios % "alabras denegadas$
acl dominios!inocentes dstdomain ,/etc/sJuid/dominios!inocentes,
-ara acer uso de el arcivo! slo bastar& utili,ar la ex"resin X en la 'is'a l/nea utili,ada "ara la Aegla de
#ontrol de Acceso establecida "ara denegar el 'is'o$
http/access allo all dominios!inocentes
La regla anterior es"ecifica .ue se "er'itir& el libre acceso! en todo 'o'ento! a los do'inios incluidos en la
lista de control de acceso deno'inada dominios=inocentes$
14.,.. 2inali3ando procedimiento.
>inal'ente! slo bastar& recargar la configuracin de S.uid "ara .ue to'en efecto los ca'bios % se "uedan
reali,ar "ruebas$
service sJuid reload
598
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
1[. Configuracin de 9Cuid# Restriccin de acceso a
contenido por e*tensin.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
1[.!. Introduccin.
Denegar el acceso a ciertos ti"os de extensiones de arcivo "er'ite acer un uso '&s racional del anco de
banda con el .ue se dis"one$ Fl funciona'iento es verdadera'ente si'"le % consiste en denegar el acceso
a ciertos ti"os de extensiones .ue coincidan con lo establecido en una %ista de #ontrol de Acceso$
Fste docu'ento considera .ue se a le/do "revia'ente! a detalle % en su totalidad el docu'ento titulado
^Configuracin de S.uid) Servidor -rox%!_ % .ue a configurado exitosa'ente S.uid co'o servidor "rox%$
1[.. Definiendo elementos de la &ista de Control de ;cceso.
Lo "ri'ero ser& generar una lista la cual contendr& direcciones de ?nternet % "alabras usual'ente utili,adas
en no'bres de ciertos do'inios$ F(e'"los)
K#aviF
K#mp4F
K#mp@F
K#mp4F
K#mpgF
K#mpegF
K#movF
K#raF
K#ramF
K#rmF
K#rpmF
K#vobF
K#maF
K#mvF
K#avF
K#docF
K#xlsF
K#mbdF
K#pptF
K#ppsF
K#aceF
K#batF
K#exeF
K#lnkF
K#pi"F
K#scrF
K#sysF
K#CipF
K#rarF
59=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fsta lista! la cual deber& ser co'"letada con todas las extensiones de arcivo .ue el ad'inistrador
considere "ertinentes! la guardare'os co'o *etc*squid*listas*e6tensiones$
Fdite el arcivo /etc/s.uid/s.uid$conf)
vim /etc/sJuid/sJuid#con"
Se debe definir una %ista de #ontrol de Acceso .ue a su ve, defina al arcivo *etc*squid*listas*e6tensiones$
Fsta lista la deno'inare'os co'o Ke6tensionesK$ De 'odo tal! la l/nea corres"ondiente .uedar/a del
siguiente 'odo)
acl extensiones urlpath/regex ,/etc/sJuid/listas/extensiones,
Iabiendo eco lo anterior! se debe aadir en la seccin de %istas de #ontrol de Acceso algo si'ilar a lo
siguiente)
A
A Recommended minimum con"iguration7
acl all src %#%#%#%/%
acl manager proto cache/obOect
acl localhost src 18$#%#%#1/6
acl localnet src 198#166#1#%/84
acl passord proxy/auth R'b?)R'&
acl expregs url/regex ,/etc/sJuid/listas/expregs,
#&) eE$ens%ones >r)'#$h_regeE ";e$&;s,>%-;)%s$#s;eE$ens%ones"
+ continuacin es"ecificare'os 'odificare'os una Aegla de #ontrol de Acceso existente agregando con un
s/'bolo de U .ue se denegar& el acceso a la %ista de #ontrol de Acceso deno'inada e6tensiones)
http/access allo localnet Wextensiones
La regla anterior "er'ite el acceso a la %ista de #ontrol de Acceso deno'inada localnet! "ero le niega el
acceso a todo lo .ue coincida con lo es"ecificado en la %ista de #ontrol de Acceso deno'inada e6tensiones$
F(e'"lo a"licado a una Aegla de #ontrol de Acceso co'binando el '#todo de autenticacin ex"licado en el
docu'ento C'o configurar S.uid) +cceso "or +utenticacin % el de denegacin acia Sitio de ;ed
ex"licado en el docu'ento C'o configurar S.uid) ;estriccin de acceso a Sitio de ;ed)
;eglas de control de acceso) denegacin de extensiones$
A
A )-S'R1 <0?R 04- R?2'(S) 3'R' 10 allo 5**'SS >R0. <0?R *2)'-1S
A
http/access allo localhost
h$$'_#&&ess #))o0 )o&#)ne$ '#ss0or- GeE'regs GeE$ens%ones
http/access deny all
1[..!. 2inali3ando procedimiento.
>inal'ente! slo bastar& recargar la configuracin de S.uid "ara .ue to'en efecto los ca'bios % se "uedan
reali,ar "ruebas$
592
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service sJuid reload
594
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4I. Configuracin de 9Cuid# Restriccin de acceso
por horarios.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
4I.!. Introduccin.
Denegar el acceso a ciertos en ciertos orarios "er'ite acer un uso '&s racional del anco de banda con el
.ue se dis"one$ Fl funciona'iento es verdadera'ente si'"le % consiste en denegar el acceso en orarios %
d/as de la se'ana$
Fste docu'ento considera .ue se a le/do "revia'ente! a detalle % en su totalidad el docu'ento titulado
^Configuracin de S.uid) Servidor -rox%!_ % .ue a configurado exitosa'ente S.uid co'o servidor "rox%$
4I.. 7rocedimientos
Fdite el arcivo /etc/s.uid/s.uid$conf)
vim /etc/sJuid/sJuid#con"
La sintaxis "ara crear %istas de control de acceso .ue definan orarios! es la siguiente)
acl Dnombre del horarioE time DdMas de la semanaE hh7mm!hh7mm
Los d/as de la se'ana se definen con letras! las cuales corres"onden a la "ri'era letra del no'bre en ingl#!
de 'odo .ue se utili,ar&n del siguiente 'odo)
9 6 Do'ingo
5 6 Lunes
< 6 :artes
\ 6 :i#rcoles
D 6 Jueves
2 6 Jiernes
; 6 S&bado
F(e'"lo)
acl semana time .143> %97%%!817%%
Fsta regla define a la lista semana! la cual co'"rende un orario de 9B)99 a 27)99 oras desde el Lunes
asta el Jiernes$
595
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fste ti"o de listas se a"lican en las Aeglas de #ontrol de Acceso con una 'ec&nica si'ilar a la siguiente) se
"er'ite o deniega el acceso en el orario definido en la %ista de #ontrol de Acceso deno'inada B "ara las
entidades definidas en la %ista de #ontrol de Acceso deno'inada I$ Lo anterior ex"resado en una Aegla de
#ontrol de Acceso! .uedar/a del siguiente 'odo)
http/access Dallo R denyE Dnombre del horarioE Dlista de entidadesE
F(e'"lo) Se .uiere establecer .ue los 'ie'bros de la %ista de #ontrol de Acceso deno'inada localnet
tengan "er'itido acceder acia ?nternet en un orario .ue deno'inare'os co'o matutino % .ue co'"rende
de lunes a viernes de 9B)99 a 72)99 oras$
La defincin "ara le orario corres"onder/a a)
acl localnet src 198#166#1#%/84
acl matutino time .143> %97%%!1:7%%
La definicin de la Aegla de #ontrol de Acceso ser/a)
http/access allo matutino localnet
Lo anterior! en resu'en! significa .ue .uienes confor'en localnet "odr&n acceder a ?nternet de Lunes a
Jiernes de 9B)99672)99 oras$
4I..!. 56s e%emplos.
4I..!.!. Restringiendo el tipo de contenido.
es "osible denegar acceso a cierto ti"o de contenido de acuerdo a su extensin$ Se re.uiere una %ista de
#ontrol de Acceso % una Aegla de #ontrol de Acceso
Si se necesita una lista deno'inada e6tensiones .ue defina a todos los arcivos con extensin $'"8!
utili,ar/a'os lo siguiente)
acl localnet src 198#166#1#%/84
acl extensiones urlpath/regex K#mp@F
Si .uere'os denegar el acceso al todo contenido con extensin $'"8! la regla .uedar/a del siguiente 'odo)
http/access allo localnet Wextensiones
4I..!.. Combinando reglas de tiempo + contenido.
Si "or e(e'"lo .uere'os restringir "arcial'ente el acceso a cierto ti"o de contenido a ciertos orarios!
"ueden co'binarse distintos ti"os de reglas$
acl localnet src 198#166#1#%/84
acl matutino time .143> %97%%!1:7%%
acl extensiones urlpath/regex #mp@F
http/access allo matutino localnet Wextensiones
59A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
La Aegla de #ontrol de Acceso anterior es"ecifica acceso permitido! en el orario definido co'o matutino!
a .uienes integran la %ista de #ontrol de Acceso deno'inada localnet! "ara acceder acia todo ti"o de
contenido! e*cepto a los contenidos .ue coincidan con los definidos en la %ista de #ontrol de Acceso
deno'inada e6tensiones$
4I... 2inali3ando procedimiento.
>inal'ente! slo bastar& recargar la configuracin de S.uid "ara .ue to'en efecto los ca'bios % se "uedan
reali,ar "ruebas$
service sJuid reload
59B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4!. Cmo configurar sCuid con soporte para
direcciones 5;C.
Autor: "oel Barrios &ue!as
Correo electrnico: dar'sram en gmail punto com
Sitio de Red: ttp)**(((.alcancelibre.org*
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales 1inclu%endo su "ublicacin! a trav#s de cual.uier 'edio! "or entidades
con fines de lucro3$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar
o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del
titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras li'itaciones no se ven afectados "or lo anterior$ Licencia co'"leta en castellano$ La
infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no asu'ir&n res"onsabilidad alguna si el usuario o lector
ace 'al uso de #stos$
4!.!. Introduccin.
4!.!.!. ;cerca de 9Cuid.
9Cuid es un 9ervidor Intermediario 1@ro6y3 de alto dese'"eo .ue se a venido desarrollando desde
ace varios aos % es o% en d/a un 'u% "o"ular % a'"lia'ente utili,ado entre los siste'as o"erativos
co'o GNU/Linux % derivados de Unix[$ Fs 'u% confiable! robusto % vers&til % se distribu%e ba(o los t#r'inos
de la Licencia -0blica General GNU 1:N"8:7&3$ Siendo e.ui"a'iento lgico libre! est& dis"onible el cdigo
fuente "ara .uien as/ lo re.uiera$ de 'odo "redeter'inado no est& incluido el so"orte "ara listas de control
de acceso basadas sobre direcciones 5;C 15edia ;ccess Control3$
4!.. /Cuipamiento lgico necesario.
4!..!. Instalacin a travs de +um.
+ "artir de CentGS 2$4 % ;ed Iat Fnter"rise Linux 2$4! el "a.uete de S.uid %a inclu%e so"orte "ara
direcciones :+C$ Solo es necesario e(ecutar lo siguiente)
yum !y install sJuid
4!.,. 7rocedimientos
Fste docu'ento considera .ue se a le/do a detalle el docu'ento ^#/mo configurar $quid) @armetros
bsicos para servidor de intermediaci/n C@ro6yE_$ Se re.uiere se a%an configurado al 'enos los siguientes
"ar&'etros)
httpUport! e(e'"lo) http/port 6%6% transparent
cacheUdir! e(e'"lo) cache/dir u"s /var/spool/sJuid 1%84 16 8:6
errorUdirector+! e(e'"lo) error/directory /usr/share/sJuid/errors/Spanish
Se re.uiere ade'&s deter'inar los valores las siguientes variables .ue deber&n ser ree'"la,adas "or datos
reales)
Las direcciones 5;C es"ecificadas en los e(e'"los$
579
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
las direcciones 5;C de todos los e.ui"os de la &;N se "ueden obtener! si se est& reali,ando las
o"eraciones desde un servidor .ue sirve de "uerta de enlace! utili,ando el 'andato arp con la
o"cin 6n! es decir) arp -n$
+lternativa'ente! la direccin 5;C desde una estacin traba(o con Qindo*s se "uede obtener la
direccin 5;C utili,ando el 'andato ipconfig con la o"cin /all) ipcon"ig /all
+lternativa'ente! la direccin 5;C desde una estacin traba(o con Linux se "uede obtener la
direccin 5;C utili,ando el 'andato ifconfig$
;rchivo 8etc8sCuid8listas8macsredlocal.
Crear un arcivo deno'inado /etc8sCuid8listas8macsredlocal
vi /etc/sJuid/listas/macsredlocal
Donde el contenido ser& una lista de direcciones 5;C a la cual se a"licar&n reglas de control de acceso$
F(e'"lo)
%%7%176%74179*765
%%7%675176471675&
%%7167'@79&7*&7$$
%%7%47$:75578&751
%%7197&876;74174:
%%71@71%76&7457''
%%71978171479;7%&
4!.,.!. ;rchivo 8etc8sCuid8sCuid.conf
Se edita el arcivo /etc8sCuid8sCuid.conf)
vi /etc/sJuid/sJuid#con"
Fn #ste se debe configurar la lista de control de acceso con un no'bre .ue la identifi.ue % diferencie
clara'ente de las de'&s listas! asignado el ti"o de lista co'o arp$ Fn el siguiente e(e'"lo! se crea la lista
de control de acceso deno'inada macsredlocal de ti"o arp % cu%os ele'entos .ue la confor'an est&n en
el arcivo /etc8sCuid8listas8macsredlocal)
acl macsredlocal arp ,/etc/sJuid/listas/macsredlocal,
Se crea una regla de control de acceso .ue "er'ita a los 'ie'bros de la lista de control de acceso acer
algo$ Fn el siguiente e(e'"lo se define .ue est& "er'itido el acceso a la lista macsredlocal)
http/access allo macsredlocal
Si se creo alguna lista "ara li'itar el acceso acia "alabras % otra "ara extensiones! co'o se describe en los
docu'entos ^#/mo configurar $quid) Aestricci/n de acceso a $itios de Aed_ % ^#/mo configurar $quid)
Aestricci/n de acceso a contenido por e6tensi/n_! la regla de control de acceso "odr/a .uedar de la
siguiente 'anera)
http/access allo macsredlocal Wporno Wextensiones
577
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si ade'&s se creo alguna lista "ara li'itar los orarios de acceso! co'o se describe en el docu'ento
^#/mo configurar $quid) Aestricci/n de acceso por orarios_! la regla de control de acceso "odr/a .uedar de
la siguiente 'anera)
http/access allo matutino macsredlocal Wporno Wextensiones
Cual.uier otra for'a de utili,ar la lista de control de acceso con direcciones 5;C de"ender& de la
i'aginacin del ad'inistrador$
4!.-. IniciarG detener + reiniciar el servicio sCuid.
-ara e(ecutar "or "ri'era ve, el servicio sCuid con las configuraciones creadas! utilice)
service sJuid start
-ara acer .ue los ca'bios ecos tras 'odificar la configuracin surtan efecto! utilice)
service sJuid restart
-ara detener el servicio sCuid utilice)
service sJuid stop
-ara acer .ue el servicio de sCuid est# activo con el siguiente inicio del siste'a! en todos los niveles de
e(ecucin 12! 8! = % 23! se utili,a lo siguiente)
chkcon"ig sJuid on
572
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4. Configuracin de 9Cuid# Cachs en %erarCua.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
4.!. Introduccin.
Colocar cac#s en (erar.u/a en redes grandes donde a% '0lti"les servidores "rox%! a%uda a aorrar %
a"rovecar 'e(or los recursos$
4.!.!. 7rocedimientos
Fl "ar&'etro caceM"eer se utili,a "ara es"ecificar otros 9ervidores 7ro*+ con cac# en una (erar.u/a
co'o padres o co'o hermanos$ Fs decir! definir si a% un 9ervidor Intermediario adelante o en
"aralelo$ La sintaxis b&sica es la siguiente)
cache/peer servidor tipo http/port icp/port opciones
Fdite el arcivo 8etc8sCuid8sCuid.conf)
vim /etc/sJuid/sJuid#con"
Si el cac# va a estar traba(ando detr&s de otro servidor cace! es decir un cac# "adre % considerando .ue
el cac# "adre tiene una ?- 752$74$799$7! escucando "eticiones D<<7 en el "uerto A9A9 % "eticiones ?C-
en "uerto 8789 Ppuerto utili3ado de modo predeterminado por 9CuidQ! es"ecificando .ue se o'ita
al'acenar en cac# los ob(etos .ue %a est&n "resentes en el cac# del 9ervidor Intermediario "adre!
utilice la siguiente l/nea)
cache/peer 1$8#16#1%%#1 parent 6%6% @1@% proxy!only
Cuando se traba(a en redes 'u% grandes donde existen varios Servidores ?nter'ediarios 1-rox%3 aciendo
cac# de contenido de ?nternet! es una buena idea acer traba(ar todos los cac# entre si$ Configurar caces
vecinos co'o sibling 1er'anos3 tiene co'o beneficio el .ue se consultar&n estos caces locali,ados en la
red local antes de acceder acia ?nternet % consu'ir anco de banda "ara acceder acia un ob(eto .ue %a
"odr/a estar "resente en otro cac# vecino$
/%emplo# Si el cac# va a estar traba(ando en "aralelo (unto con otros caces! es decir caces er'anos %
considerando los caces tienen ?- 79$7$9$7! 79$2$9$7 % 79$8$9$7! todos escucando "eticiones D<<7 en el
"uerto A9A9 % "eticiones ?C- en "uerto 8789! es"ecificando .ue se o'itir& se al'acenen en cac# los
ob(etos .ue %a est&n "resentes en los caces er'anos! utilice las siguientes l/neas)
cache/peer 1%#1#%#1 sibling 6%6% @1@% proxy!only
cache/peer 1%#8#%#1 sibling 6%6% @1@% proxy!only
cache/peer 1%#@#%#1 sibling 6%6% @1@% proxy!only
578
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ueden acerse co'binaciones .ue de 'anera tal .ue se "odr/an tener caces "adres % er'anos
traba(ando en con(unto en una red local$ F(e'"lo)
cache/peer 1%#%#%#1 parent 6%6% @1@% proxy!only
cache/peer 1%#1#%#1 sibling 6%6% @1@% proxy!only
cache/peer 1%#8#%#1 sibling 6%6% @1@% proxy!only
cache/peer 1%#@#%#1 sibling 6%6% @1@% proxy!only
Fn los casos anteriores! la resolucin de no'bres se ace de 'anera local$ Si se desea acer .ue la
resolucin de no'bres se realice en el servidor "adre! se "uede utili,ar algo si'ilar a lo siguiente)
cache/peer 1%#%#%#1 parent 6%6% @1@% no!Juery no!digest de"ault
-ara a"licar los ca'bios en S.uid! e(ecute)
service sJuid re)o#-
57=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4,. Configuracin de \7;D
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
4,.!. Introduccin.
Gracias a .ue una gran cantidad de sitios de ?nternet aora funcionan a trav#s de I@@-S! resulta "oco
"r&ctico configurar servidores inter'ediarios 1"roxies3 en 'odo trans"arente! "ues #stos solo "er'iten el
'odo trans"arente "ara el "rotocolo I@@- 1"uerto A9/@C-3! obligando a los ad'inistradores de redes de
&rea local a configurar la salida del "rotocolo I@@-S 1"uerto ==8/@C-3 a trav#s de N+@ en el 'uro
cortafuegos$
Una for'a de enfrentar el "roble'a % "oder controlar % filtrar la actividad de los usuarios a trav#s de I@@-S!
es olvidarse del 'odo trans"arente de S.uid % utili,ar una configuracin 'anual del servidor "rox%$ Sin
e'bargo! #sto re"resentar/a una enor'e cantidad de traba(o "ara los ad'inistradores de redes de &rea
local! .uienes tendr/an .ue "asar anfitrin "or anfitrin a reali,ar la configuracin$ Ysta! sin e'bargo! se
"uede auto'ati,ar anunciando #sta a trav#s de servidores DIC- % servidores DNS! utili,ando \7;D$
Fli'inar la configuracin de "rox% en 'odo tras"arente % utili,ar en su lugar el '#todo descrito en este
docu'ento! co'binado con una configuracin del "rox%6cace .ue "er'ita el acceso acia ?nternet
utili,ando slo a una lista blanca % el cierre de la salida "or N+@ acia el "uerto ==8! ade'&s de "er'itir
bloCuear servicios co'o 2acebooO! "er'ite ta'bi#n bloCuear de 'anera eficiente "rogra'as co'o
"ltrasurf % Zour 2reedom$
4,.!.!. ;cerca de \7;D.
\7;D 1\eb 7rox% ;uto6Discover% "rotocol3 es un '#todo utili,ado "or los clientes de servidores -rox%
"ara locali,ar el U;? de un arcivo de configuracin! vali#ndose de '#todos de descubri'iento a trav#s de
DIC- % DNS$
Los clientes descargan % e(ecutan un arcivo! .ue debe deno'inarse Rpad.dat! utili,ando el for'ato de
auto6configuracin de "rox% 17;C! 7rox% ;uto6Config3 diseado "or Netsca"e en 7BB4 "ara Netsca"e
Navigator 2$9$
Fl borrador del "rotocolo \7;D! el cual ex"ir en 7BBB! fue elaborado "or un consorcio de e'"resas .ue
inclu/an a ?nKto'i Cor"$! :icrosoft! ;eal Net*orKs ?nc$ % Sun :icros%ste's ?nc$ + "esar de tratarse de un
borrador Cue ha e*pirado! la 'a%or/a de los navegadores 'odernos inclu%en so"orte "ara este "rotocolo$
4,.. 7rocedimientos.
Fste docu'ento asu'e .ue se tiene configurado un servidor "rox%6cace con S.uid! un servidor DIC- % un
servidor DNS$ -or favor! ca'bie todos los valores resaltados en el "rocedi'iento "or a.uellos .ue
corres"ondan al escenario de su red de &rea local$
572
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4,..!. /Cuipamiento lgico necesario.
?nstale +"ace en el servidor .ue utilice co'o 'uro cortafuegos/"rox%$
yum !y install httpd
?nicie el servicio httpd$
service httpd start
-ara .ue el servicio httpd inicie (unto con el siste'a! e(ecute lo siguiente)
chkcon"ig httpd on
4,... ;%ustes en el muro cortafuegos.
Fs necesario abrir en el 'uro cortafuegos el "uerto A9 "or @C- 1D<<73 "ara la red de &rea local$ Se asu'e
.ue %a est&n abiertos los "uertos corres"ondientes al resto de los servicios involucrados! es decir los "uertos
45 1boot"s3! 4A 1boot"c3 % 28 1do'ain3 "or @C- % UD-$
4,...!. 9horeRall.
Fdite el arcivo el arcivo 8etc8shoreRall8rules)
vim /etc/shoreall/rules
Fli'ine la configuracin de pro6y transparente desabilitando las reglas corres"ondientes a la salida desde
la ,ona corres"ondiente a la red de &rea local acia los "uertos 29 1ft"6data3! 27 1ft"3 % ==8 1tt"s3 en la
,ona corres"ondiente a la red "0blica % la regla .ue redirige acia el "uerto A9A9 1*ebcace3 las "eticiones
desde la red de &rea local acia el "uerto A9 1tt"3)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
PACCE9T )o& ne$ $&' /6B/3B44
PRED?RECT )o& 8686 $&' 86
A
+su'iendo .ue S.uid escuca "eticiones en el "uerto A9A9 % .ue slo se "er'itir&n conexiones desde la
red de &rea local! la regla .ue abilita el acceso desde la red de &rea local acia los "uertos A9A9
1*ebcace3 % A9 1tt"3 del 'uro cortafuegos corres"onder/a a algo si'ilar a lo siguiente)
A5*1)0- S0?R*' &'S1 =R010 &'S1 S0?R*'
A =0R1 =0R1(S)1
A5**'=1 loc net tcp 8%B81B44@
AR'&)R'*1 loc 6%6% tcp 6%
A
ACCE9T )o& +0 $&' 86B8686
-ara a"licar los ca'bios en Sore*all! e(ecute lo siguiente)
service shoreall restart
574
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4,.... 9ervicio iptables.
+su'iendo .ue S.uid escuca "eticiones en la "uerto A9A9 % .ue la red de &rea local corres"onde a
!1.!0.!.I/4! e(ecute lo siguiente)
iptables !5 )-=?1 !s 37/.35.3.6;/8 !m state !!state -'4 K
!m tcp !p tcp !!dport 6% !O 5**'=1
iptables !5 )-=?1 !s 37/.35.3.6;/8 !m state !!state -'4 K
!m tcp !p tcp !!dport 6%6% !O 5**'=1
iptables !5 >0R45R& !p tcp !!dport 8%781 !O &R0=
iptables !5 >0R45R& !p tcp !!dport 44@ !O &R0=
service iptables save
G bien edite el arcivo 8etc8s+sconfig8iptables)
vim /etc/syscon"ig/iptables
R aada lo siguiente)
!5 )-=?1 !s 1$8#16#1#%/86 !m state !!state -'4 !m tcp !p tcp !!dport 6% !O 5**'=1
!5 )-=?1 !s 1$8#16#1#%/86 !m state !!state -'4 !m tcp !p tcp !!dport 6%6% !O 5**'=1
!5 >0R45R& !p tcp !!dport 8%781 !O &R0=
!5 >0R45R& !p tcp !!dport 44@ !O &R0=
R reinicie el servicio iptables)
service iptables restart
4,..,. Resolucin local del nombre de anfitrin.
Fdite el arcivo 8etc8hosts)
vim /etc/hosts
+su'iendo .ue la direccin ?- del anfitrin es !1.!0.!.! % .ue el do'inio de la red de &rea local es
red6local$net! aHada la siguiente l/nea resaltada en negrita % respetando el resto del contenido
e*istente en este archivo)
18$#%#%#1 localhost#localdomain localhost
771 localhost6#localdomain6 localhost6
37/.35.3.3 ser*%-or.re--)o&#).ne$ ser*%-or
37/.35.3.3 0'#-.re--)o&#).ne$ 0'#-
:odifi.ue lo .ue sea necesario "ara .ue a(uste a la configuracin utili,ada en su red de &rea local$
4,..-. ;rchivo Rpad.dat.
Genere el directorio 8var8RRR8Rpad con "er'isos de acceso % escritura "ara usuario % de acceso "ara
gru"o % otros 1r*xr6xr6x3)
mkdir !m %$:: /var//pad
575
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Cual.uier error en la sintaxis ar& .ue el arcivo sea i'"osible de utili,ar$ -uede descargar un arcivo
"lantilla desde +lcanceLibre$org e(ecutando lo siguiente)
get http7//#alcancelibre#org/linux/secrets/pad#dat K
!0 /var//pad/pad#dat
Fdite el arcivo 8var8RRR8Rpad8Rpad.dat % 'odifi.ue lo .ue sea necesario "ara .ue a(uste a la
configuracin utili,ada en su red de &rea local$
vim /var//pad/pad#dat
+su'iendo .ue la red de &rea local corres"onde a !1.!0.!.I/4 % .ue S.uid est& funcionando en el
anfitrin !1.!0.!.!! escucando "eticiones en el "uerto A9A9! aada el siguiente contenido)
"unction >ind=roxy>or?R2(urlB host)
e
i" (
is)n-et(hostB ,37/.35.3.6,B ,/!!./!!./!!./46,)
RR is)n-et(hostB ,18$#%#%#%,B ,8::#%#%#%,)
RR sh'xp.atch(hostB ,37/.35.3.L,)
RR sh'xp.atch(hostB ,18$#L, )
RR sh'xp.atch(hostB ,localhost,)
RR sh'xp.atch(hostB ,L.re--)o&#).ne$,)
RR is=lain3ost-ame(host)
RR dns&omain)s(hostB ,.re--)o&#).ne$,)
) e
return ,&)R'*1,[
f
else
e
return ,=R0X< ser*%-or.re--)o&#).ne$76%6%,[
f
f
Fs indis"ensable .ue el arcivo 8var8RRR8Rpad8Rpad.dat tenga "er'isos de lectura "ara todos! de otro
'odo ser& i'"osible co'"artirlo a trav#s del servicio httpd$
chmod aXr /var//pad/pad#dat
4,.... Configuracin de ;pache.
Genere el arcivo 8etc8httpd8conf.d8Rpad.conf)
vim /etc/httpd/con"#d/pad#con"
+ada el siguiente contenido)
57A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ame(irtual3ost L76%
](irtual3ost L76%Q
Server-ame pad#re--)o&#).ne$
Server5lias pad
&ocumentRoot /var//pad
'rror2og logs/pad!error/log
*ustom2og logs/pad!access/log combined
]&irectory ,/var//pad,Q
5dd1ype application/x!ns!proxy!autocon"ig #dat
&irectory)ndex pad#dat
0rder &enyB5llo
&eny "rom all
5llo "rom 18$#%#%#%/6 37/.35.3.6//8
]/&irectoryQ
]/(irtual3ostQ
:odifi.ue lo .ue sea necesario "ara .ue a(uste a la configuracin utili,ada en su red de &rea local$
+ fin de evitar "roble'as con algunos navegadores! se recomienda Cue ste sea el )nico anfitrin
virtual en el servidor o cuando 'enos sea el anfitrin virtual "redeter'inado$
;ecargue o reinicie el servicio httpd$
service httpd reload
4,..0. ;nuncio del archivo Rpad.dat.
Fl anuncio del arcivo *"ad$dat slo "uede acerse a trav#s de uno de los dos siguientes '#todos)
a$ + trav#s de un servidor DIC-$
b$ + trav#s de un servidor DNS$
Se "uede utili,ar indistinta'ente uno u otro '#todo$ Eam6s combine ambos mtodos "or.ue los
anuncios ser/an ignorados "or los navegadores$ Fl '#todo '&s est&ndar es el anuncio a trav#s de un
servidor DIC-$
4,..0.!. ;nuncio a travs de servidor DN9.
Se re.uiere configurar el servidor DNS "ara .ue inclu%a dos registros! uno .ue resuelva el no'bre
*"ad$red-local.net % el otro .ue indi.ue el U;? del arcivo *"ad$dat$
+su'iendo .ue tiene configurado % funcionando un servidor DNS con una 3ona est6tica .ue resuelve los
no'bres de anfitrin % direcciones ?- de la red de &rea local! edite el arcivo de ,ona corres"ondiente)
vim /var/named/data/red!local#net#Cone
Ca'bie el n0'ero de serie de la ,ona % aada los siguientes dos registros en la ,ona de reenv/o en el DNS
utili,ado "or la red de &rea local$ Fn el e(e'"lo se asu'e .ue el servidor I@@- .ue os"eda al arcivo
*"ad$dat corres"onde a la direccin ?- !1.!0.!.!)
pad )- 5 37/.35.3.3
^ )- 1X1 ,service7 pad7Whttp7//pad#red!local#net76%/pad#dat,
;einicie el servicio named$
57B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service named restart
Si se trata de una 3ona din6mica! utilice el 'andato nsupdate "ara conectarse al servidor DNS)
nsupdate !k /etc/rndc#key
Desde el int#r"rete de 'andatos de nsupdate! e(ecute lo siguiente "ara aadir los registros necesarios)
server 18$#%#%#1
update add 0'#-.re--)o&#).ne$. 664%% 5 37/.35.3.3
update add re--)o&#).ne$. 664%% 1X1 ,service7 pad7Whttp7//pad#red!local#net76%/pad#dat,
send
Juit
Utili,ando este 0lti'o "rocedi'iento! es innecesario reiniciar el servicio named$
;ecuerde .ue este '#todo (a'&s debe co'binarse con el del anuncio del arcivo *"ad$dat a trav#s de
servidor DIC-$
4,..0.. ;nuncio a travs de servidor DDC7.
Se re.uiere configurar "ri'ero el servidor DNS "ara .ue inclu%a un registro .ue resuelva el no'bre
*"ad$red-local.net el cual ser& utili,ado "ara acer el anuncio del U;? del arcivo *"ad$dat a trav#s del
servidor DIC-$
+su'iendo .ue tiene configurado % funcionando un servidor DNS con una 3ona est6tica .ue resuelve los
no'bres de anfitrin % direcciones ?- de la red de &rea local! edite el arcivo de ,ona corres"ondiente)
vim /var/named/data/red!local#net#Cone
Ca'bie el n0'ero de serie de la ,ona % aada slo el siguiente registro en la ,ona de reenv/o en el DNS
utili,ado "or la red de &rea local$ Fn el e(e'"lo se asu'e .ue el servidor I@@- .ue os"eda al arcivo
*"ad$dat corres"onde a la direccin ?- !1.!0.!.!)
pad )- 5 37/.35.3.3
;einicie el servicio named$
service named restart
Si se trata de una 3ona din6mica! utilice el 'andato nsupdate "ara conectarse al servidor DNS)
nsupdate !k /etc/rndc#key
Desde el int#r"rete de 'andatos de nsupdate! e(ecute lo siguiente "ara aadir el registro necesario)
server 18$#%#%#1
update add 0'#-.re--)o&#).ne$. 664%% 5 37/.35.3.3
send
Juit
529
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Utili,ando este "rocedi'iento! es innecesario reiniciar el servicio named$
+su'iendo .ue tiene configurado % funcionando un servidor DIC- "ara gestionar la asignacin de las
direcciones ?- utili,adas "or la red de &rea local! edite el arcivo 8etc8dhcp8dhcpd.conf)
vim /etc/dhcp/dhcpd#con"
+ada en la configuracin del servidor DIC-! las dos siguientes o"ciones)
option pad!url code 8:8 + text[
option pad!url ,http7//pad#re--)o&#).ne$/pad#datKn,[
;einicie el servicio dhcpd$
service dhcpd restart
;ecuerde .ue este '#todo (a'&s debe co'binarse con el del anuncio del arcivo *"ad$dat a trav#s de
servidor DNS$
4,..1. Comprobaciones.
Si todo lo anterior conclu% sin errores! slo resta verificar .ue la configuracin de los anfitriones con
Qindo*s$ Ja%a a 1pciones de 0nternet z #one6iones z #onfiguraci/n %A; % verifi.ue .ue est# abilitada la
casilla Autodetectar configuraci/n de pro6y$ Fn algunos casos es "osible .ue se tenga .ue definir ta'bi#n el
U;? del arcivo de configuracin 1ttp)**(pad.red@local.net*(pad.dat3$
527
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
G"ciones de ?nternet 6 Configuracin de -rox%$
-ara los anfitriones con GNU/Linux con GNG:F 2 co'o escritorio slo a% .ue establecer #onfiguraci/n
automtica del @ro6y en las @referencias de @ro6y de la red$ De(e vac/o el ca'"o de 7A% de configuraci/n
automtica "ara for,ar la deteccin del arcivo *"ad$dat anunciado$
522
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Configuracin de -rox% de la red en GNG:F 2$
@a'bi#n "ude configurar las o"ciones de cada navegador .ue lo re.uiera "ara .ue auto6detecte la
configuracin del servidor "rox%$
528
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
G"ciones de >irefox 6 autodetectar configuracin del "rox%$
52=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4-. Instalacin + configuracin de la herramienta
de reportes 9arg.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
4-.!. Introduccin.
9arg 19.uid ;nal%sis Re"ort Generator3 es la '&s co'"leta % f&cil de utli,ar erra'ienta "ara la generacin
de re"ortes a "artir de las bit&coras de 9Cuid$ -er'ite ver con detalle la activida de todos los e.ui"os %/o
usuarios dentro de la red de &real local! registrada en la bit&cora de S.uid$
U;L) tt")//sarg$sourceforge$net/$
4-.. /Cuipamiento lgico necesario.
Fste docu'ento fue diseado "ara ser "uesto en "r&ctica exclusiva'ente en Cent(9 .! /lasti* !..! Red
Dat /nterprise &inu* . % \hitebo* /nterprise &inu* . o siste'as o"erativos si'ilares! basados sobre
Red Dat /nterprise &inu* .$
?ngrese al siste'a co'o el usuario root$
-roceda a configurar el de"sito RU: de +lcance Libre)
cd /etc/yum#repos#d/
get !- http7//#alcancelibre#org/al/server/52!Server#repo
cd !
?nstale los "a.uetes sarg % httpd! e(ecutando lo siguiente)
yum !y install sarg httpd
4-.,. 7rocedimientos.
Configure el so"orte al es"aol "ara Sarg$
Fdite con vi' el arcivo 8etc8sarg8sarg.conf)
vim /etc/sarg/sarg#con"
+lrededor de la l/nea 89! localice la cadena de texto language /nglish$
522
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ulse la tecla Insert$
A Russian/koi6
A Russian/?>1!6
A Russian/indos18:1
A Serbian
A Slovak
A Spanish
A 1urkish
A
)#ng>#ge Eng)%sh
A 15I7 access/log "ile
A 4here is the access#log "ile
A sarg !l "ile
A
Aaccess/log /usr/local/sJuid/var/logs/access#log
access/log /var/log/sJuid/access#log
;ee'"lace la cadena de texto con language 9panish$
A Russian/koi6
A Russian/?>1!6
A Russian/indos18:1
A Serbian
A Slovak
A Spanish
A 1urkish
A
)#ng>#ge S'#n%sh
A 15I7 access/log "ile
A 4here is the access#log "ile
A sarg !l "ile
A
Aaccess/log /usr/local/sJuid/var/logs/access#log
access/log /var/log/sJuid/access#log
+lrededor de la l/nea 278! localice la cadena lastlog I$
A 15I7 lastlog n
A 3o many reports "iles must be keept in reports directory#
A 1he oldest report "ile ill be automatically removed#
A % ! no limit#
A
P )#s$)og 6
Desco'ente la l/nea lastlog I % ca'bie el cero "or el n0'ero de re"ortes .ue se desea 'antener$ Si define
el valor ,I! slo se conservar&n los 89 0lti'os re"ortes % todos los re"ortes anteriores se ir&n eli'inando
auto'&tica'ente$
A 15I7 lastlog n
A 3o many reports "iles must be keept in reports directory#
A 1he oldest report "ile ill be automatically removed#
A % ! no limit#
A
)#s$)og 6
524
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se o'ite definir un valor adecuado "ara la o"cin lastlog! los re"ortes de al'acenar&n en
8var8RRR8sarg8 % "ueden i'"licar una cantidad considerable de datos$ Si decide o'itir un valor "ara esta
o"cin! "eridica'ente tendr& .ue ingresar a los subdirectorios de 8var8RRR8sarg8! "rinci"al'ente el
subdirectorio dail+! "ara eli'inar de 'anera 'anual los re"ortes antiguos o .ue sean de "oca utilidad! a fin
de evitar se agote el es"acio en disco duro$
-ulse la tecla /sc! guarde ca'bios % salga de vi' "ulsando la co'binacin de teclas #* % luego la tecla s
1/N</R3$
Fdite con vi' el arcivo 8etc8httpd8conf.d8sarg.conf)
vim /etc/httpd/con"#d/sarg#con"
-ulse la tecla Insert$
Localice la l/nea alloR from !1.I.I.!! la cual define .ue solo se "uede acceder acia el directorio 8sarg8
desde !1.I.I.! 1es decir! solo "uede ser accedido co'o ttp)**4LR.5.5.4*sarg*3$
5lias /sarg /var//sarg
]&irectory /var//sargQ
&irectory)ndex index#html
order denyBallo
deny "rom all
#))o0 +ro< 3/7.6.6.3
]/&irectoryQ
+su'iendo .ue su red de &rea local corres"onde a !1.!0.!,.I84! defina .ue ta'bi#n se "uede acceder
al directorio 8sarg8 desde !1.!0.!,.I84! ree'"la,ando "or alloR from !1.I.I.! "or alloR from
!1.I.I.! !1.!0.!,.I84$
5lias /sarg /var//sarg
]&irectory /var//sargQ
&irectory)ndex index#html
order denyBallo
deny "rom all
#))o0 +ro< 3/7.6.6.3 37/.35.3/.6;/8
]/&irectoryQ
Defina .ue el acceso acia el directorio 8sarg8 1.ue en adelante "odr& ser accedido co'o
ttp)**pro-).red@local.net*sarg* o bien ttp)**=A<.=3.=<:.=<:*sarg*3 se "er'itir& solo a usuarios
autori,ados .ue autenticar&n a trav#s del arcivo 8var8RRR8claves-sarg$
5lias /sarg /var//sarg
]&irectory /var//sargQ
&irectory)ndex index#html
order denyBallo
deny "rom all
allo "rom 18$#%#%#1 37/.35.3/.6;/8
A>$hN#<e "So)o >s>#r%os #>$or%C#-os."
A>$hTy'e B#s%&
re,>%re *#)%-->ser
A>$hUserF%)e ;*#r;000;&)#*es-s#rg
]/&irectoryQ
-ulse la tecla /sc! guarde ca'bios % salga de vi' "ulsando la co'binacin de teclas #* % luego la tecla s
1/N</R3$
525
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Genere con el 'andato touch el arcivo 8var8RRR8claves-sarg)
touch /var//claves!sarg
Utilice el 'andato chmod "ara definir .ue el arcivo 8var8RRR8claves-sarg solo tendr& "er'isos de
lectura % escritura "ara la clase del usuario)
chmod %6%% /var//claves!sarg
Utilice el 'andato choRn "ara definir .ue el arcivo 8var8RRR8claves-sarg "ertenece al usuario a"ace %
gru"o a"ace)
chon apache7apache /var//claves!sarg
Utilice el 'andato htpassRd sobre el arcivo 8var8RRR8claves-sarg "ara crear el usuario virtual
administrador % asignar a #ste una clave de acceso .ue solo deber& conocer el ad'inistrador del servidor)
htpassd /var//claves!sarg administrador
?nicie o reinicie si es el caso! el servicio httpd$
service httpd start
Si el servicio httpd inici 1o reinici3 sin errores! utilice el 'andato chOconfig "ara .ue el servicio httpd
inicie auto'&tica'ente (unto con el siste'a o"erativo$
chkcon"ig httpd on
Con la finalidad de generar datos en las bit&coras del servicio sCuid! "er'ita a la red de &rea local o"ere
nor'al'ente durante algunos 'inutos % luego e(ecute el 'andato sarg "ara generar un "ri'er re"orte
'anual$
sarg
-odr& consultar este re"orte en la direccin ttp)**pro-).red@local.net*sarg*1;,=$.1T* o bien
ttp)**=A<.=3.=<:.=<:*sarg*1;,=$.1T*$
-odr& ver un re"orte generado auto'&tica'ente todos los d/as en la direccin
ttp)**pro-).red@local.net*sarg*daily* o bien ttp)**=A<.=3.=<:.=<:*sarg*daily*$
52A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4.. Cmo configurar un servidor de (penJ7N.
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ b3 No "uede utili,ar esta obra "ara fines co'erciales$ c3 Si altera o transfor'a esta obra o genera una obra derivada! slo
"uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta obra$
+lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
4..!. Introduccin.
4..!.!. ;cerca de (penJ7N.
(penJ7N es una solucin de conectividad basada sobre e.ui"a'iento lgico 1soft(are3) SSL1Secure
SocKets La%er3 J-N 1Jirtual -rivate Net*orK o red virtual "rivada3! G"enJ-N ofrece conectividad
"unto6a6"unto con validacin! (er&r.uica de usuarios % ost conectados re'ota'ente! resulta una 'u%
buena o"cin en tecnolog/as Qi6>i 1redes inal&'bricas FF? A92$773 % so"orta una a'"lia configuracin! entre
#stas el balanceo de cargas! entre otras 'ucas cosas '&s$
U;L) tt")//o"env"n$net
4..!.. $reve e*plicacin de lo Cue se lograr6 con este documento.
Fste docu'ento describe la configuracin de una J7N ti"o Intranet$
Fste ti"o de redes es creado entre una oficina central 1servidor3 % una o varias oficinas re'otas 1clientes3$ Fl
acceso viene del exterior$ Se utili,a este ti"o de J-N cuando se necesita enla,ar a los sitios .ue son "arte de
una co'"a/a! en nuestro caso ser& co'"uesto "or un servidor Central .ue conectar& a 'ucos clientes
J-N entre si$
La infor'acin % a"licaciones a las .ue tendr&n acceso los directivos 'viles en el J-N! no ser&n las
'is'as .ue a.uellas en donde "ueden acceder los usuarios .ue efect0an actividades de 'anteni'iento %
so"orte! esto co'o un e(e'"lo de lo .ue se "odr& reali,ar con esta configuracin$
+de'as de .ue "odr& conectarse a trav#s de <erminal 9erver 1en el ca(o de cliente( /inu-3 a
ter'inales Qindo*s de la red J-N as/ co'o de Clientes Qindo*s a co'"utadoras con el 'is'o siste'a
o"erativo 1'ediante ;D-3$
Nota Importante) Fnfocado a esta configuracin $$ Una ve, .ue los clientes 1?indow(//inu-3 se conecten
a la red J-N .uedar&n auto'&tica'ente sin conexin a ?nternet! lo cual NG "odr&n acceder a la red
'undial$ Fsto "uede ser 'odificable en el servidor J-N$
52B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Servidor de -asarela G"enJ-N con clientes 1Qindo*s/Linux3 re'otos
Fl servidor J-N hace de pasarela "ara .ue todos los clientes 1Qindo*s/Linux3 "uedan estar comunicados
a trav#s del t0nel G"enJ-N! estos al conectarse "or 'edio de ?nternet al t0nel auto'&tica'ente .uedan sin
lineaa la red 'undial .uedando co'o una red local! esto claro esta a trav#s de la J-N$
Cada cliente se encuentra en lugares diferentes 1ciudad/estado/"a/s3 con diferentes ti"os de seg'ento de
red! al estar conectados 'ediante el t0nel J-N se crea un red virtual % se asigna un nuevo seg'ento de red
"ro"orcionada "or el servidor "rinci"al en este caso con seg'ento 1"or e(e'"lo 79$79$9$9/222$222$222$9no
7B2$74A$85$9/222$222$222$93$
4... Instalacin del eCuipamiento lgico necesario.
>edora B en adelante inclu%e el "a.uete openvpn en sus de"sitos Ru'! "or lo .ue solo es necesario
instalarlo desde la ter'inal a trav#s del 'andato +um$ Fl siguiente "rocedi'iento solo es necesario "ara
Cent(9 .$
4...!. Instalacin en Cent(9 ..
Co'o el usuario root! desde una ter'inal! crear el arcivo 8etc8+um.repos.d8;&-9erver.repo! utili,ando
cual.uier editor de texto$ Fn el siguiente e(e'"lo se utili,a vi$
vi /etc/yum#repos#d/52!Server#repo
589
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+adir a este nuevo archivo el siguiente contenido)
D52!ServerE
name+52 Server para 'nterprise 2inux Freleasever
mirrorlist+http7//#alcancelibre#org/al/elFreleasever/al!server
gpgcheck+1
gpgkey+http7//#alcancelibre#org/al/52!R=.!H'<
?'"ortar la fir'a digital de ;lcance &ibre e(ecutando lo siguiente desde la ter'inal)
rpm !!import http7//#alcancelibre#org/al/52!R=.!H'<
Luego de i'"ortar la fir'a digital de +lcance Libre! instalar el e.ui"a'iento lgico 1soft(are3 necesario con
el 'andato +um$ Se re.uieren los "a.uetes ;-: de G"enJ-N! Sore*all % vi'6enanced 1la versin
'e(orada de Ji3)
yum !y install openvpn shoreall vim!enhanced
4..,. 7rocedimientos.
Si fuera necesario! ca'biarse al usuario root utili,ando el siguiente 'andato)
su !l
+ fin de "oder utili,ar in'ediata'ente la versin 'e(orada de Ji 1instalado con el "a.uete vim-enhanced3!
e(ecutar desde la ter'inal lo siguiente)
alias vi+,vim,
Ca'biarse al directorio! desde la ter'inal! e(ecutar lo siguiente "ara ca'biarse al directorio 8etc8openvpn)
cd /etc/openvpn/
N(<;# @odos los "rocedi'ientos necesarios "ara configurar un servidor con (penJ7N se reali,an sin salir
de 8etc8openvpn8$ -or favor! evite cambiar de directorio asta aber finali,ado los "rocedi'ientos
descritos en este docu'ento$
+ fin de facilitar los "rocedi'ientos! se co"iar&n dentro del directorio 8etc8openvpn8 los arcivos
openssl.cnf! Rhichopensslcnf! pOitool % vars! .ue se locali,an en 8etc8openvpn8eas+-rsa8.I8)
cp /usr/share/openvpn/easy!rsa/8#%/openssl#cn" #/
cp /usr/share/openvpn/easy!rsa/8#%/hichopensslcn" #/
cp /usr/share/openvpn/easy!rsa/8#%/pkitool #/
cp /usr/share/openvpn/easy!rsa/8#%/vars #/
Utili,ar el editor de texto % abrir el arcivo 8etc8openvpn8vars)
vi /etc/openvpn/vars
De este arcivo! sola'ente editar las 0lti'as l/neas! .ue corres"onden a lo siguiente)
587
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
export H'</*0?-1R<+,?S,
export H'</=R0()-*'+,*5,
export H'</*)1<+,San>rancisco,
export H'</0RI+,>ort!>unston,
export H'</'.5)2+,me^myhost#mydomain,
;ee'"la,ar "or valores reales! co'o los del siguiente e(e'"lo)
export H'</*0?-1R<+,.X,
export H'</=R0()-*'+,&>,
export H'</*)1<+,.exico,
export H'</0RI+,servidor#mi!dominio#com,
export H'</'.5)2+,"ulanito^mi!dominio#com,
Se re.uiere e(ecutar del siguiente 'odo el arcivo 8etc8openvpn8vars a fin de .ue carguen las variables de
entorno .ue se acaban de configurar$
source /etc/openvpn/#/vars
Cada ve, .ue se va%an a generar nuevos certificados! debe e(ecutarse el 'andato anterior a fin de .ue
carguen las variables de entorno definidas$
Se e(ecuta el arcivo 8usr8share8openvpn8eas+-rsa8.I8clean-all a fin de li'"iar cual.uier fir'a digital
.ue accidental'ente estuviera "resente$
sh /usr/share/openvpn/easy!rsa/8#%/clean!all
Lo anterior reali,a un rm -fr 1eli'inacin recursiva3 sobre el directorio 8etc8openvpn8Oe+s! "or lo .ue se
eli'inar&n todas los certificados % fir'as digitales .ue ubieran existido con anterioridad$
+ fin de crear el certificado del servidor! se crea un certificado)
sh /usr/share/openvpn/easy!rsa/8#%/build!ca
Se crea el arcivo d792=$"e'! el cual contendr& los "ar&'etros del "rotocolo Diffie6Dell'an! de 792= bits)
sh /usr/share/openvpn/easy!rsa/8#%/build!dh
Fl "rotocolo Diffie6Dell'an "er'ite el interca'bio secreto de claves entre dos "artes .ue sin .ue #stas
a%an tenido contacto "revio! utili,ando un canal inseguro % de 'anera anni'a 1sin autenticar3$ Se e'"lea
general'ente co'o 'edio "ara acordar claves si'#tricas .ue ser&n e'"leadas "ara el cifrado de una
sesin! co'o es el caso de una conexin J-N$
-ara generar la fir'a digital! se utili,an el siguiente 'andato)
sh /usr/share/openvpn/easy!rsa/8#%/build!key!server server
>inal'ente se crean los certificados "ara los clientes$ Fn el siguiente8 e(e'"lo se crean los certificados "ara
cliente!! cliente! cliente,! cliente-! cliente. % cliente0)
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente1
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente8
582
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente@
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente4
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente:
sh /usr/share/openvpn/easy!rsa/8#%/build!key cliente6
+ fin de utili,ar los certificados % .ue se configure el siste'a! se crea con el editor de texto el arcivo
8etc8openvpn8servidorvpn-udp-!![-.conf! donde servidorvpn se ree'"la,a "or el no'bre de anfitrin
del siste'a)
vi /etc/openvpn/servidorvpn!udp!1194#con"
-ara la J7N se reco'ienda utili,ar una red "rivada .ue sea "oco usual! a fin de "oder "er'itir a los clientes
conectarse sin conflictos de red$ Un e(e'"lo de una red "oco utili,ada ser/a 7B2$74A$85$9/222$222$222$9! lo
cual "er'itir& conectarse a la J7N a 228 clientes$ @o'ando en cuenta lo anterior! el contenido del arcivo
8etc8openvpn8servidorvpn-udp-!![-.conf! debe ser el siguiente)
port 1194
proto udp
dev tun
A!!!! Seccion de llaves !!!!!
ca keys/ca#crt
cert keys/server#crt
key keys/server#key
dh keys/dh1%84#pem
A!!!!!!!!!!!!!!!!!!!!!!!!!!!!
server 198#166#@$#% 8::#8::#8::#%
i"con"ig!pool!persist ipp#txt
keepalive 1% 18%
comp!lCo
persist!key
persist!tun
status openvpn!status!servidorvpn!udp!1194#log
verb @
Descri"cin de los "ar&'etros anteriores)
0ort) Fs"ecifica el "uerto .ue ser& utili,ado "ara .ue los clientes v"n "uedan conectarse al servidor$
0roto) ti"o de "rotocolo .ue se e'"lear& en a conexin a trav#s de J-N
de&) @i"o de interfa, de conexin virtual .ue se utili,ar& el servidor o"env"n$
ca) Fs"ecifica la ubicacin exacta del arcivo de +utoridad Certificadora g$cah$
cert) Fs"ecifica la ubicacin del arcivo g$crth creado "ara el servidor$
.e)) Fs"ecifica la ubicacin de la llave g$Ke%h creada "ara el servidor o"env"n$
dh) ;uta exacta del arcivo g$"e'h el cual contiene el for'ato de Diffie Iell'an 1re.uirerido "ara
--tls-serversola'ente3$
(er&er) Se asigna el rango ?- virtual .ue se utili,ar& en la red del t0nel J-N$
%conig@pool@per(i(t) +rcivo en donde .uedar&n registrado las direcciones ?- de los clientes .ue se
encuentran conectados al servidor G"enJ-N$
9eepali&e =B =<B ) Fnv/a los "a.uetes .ue se 'ane(an "or la red una ve, cada 79 segundosZ % asu'a .ue el
aco"la'iento es aba(o si ninguna res"uesta ocurre "or 729 segundos$
co$p@lzo) Fs"ecifica los datos .ue recorren el t0nel v"n ser& co'"actados durante la trasferencia de estos
"a.uetes$
per(i(t@.e)) Fsta o"cin soluciona el "roble'a "or llaves .ue "ersisten a trav#s de los rea(ustes S?GUS;7! as/
.ue no necesitan ser rele/dos$
0er(i(t@tun) -er'ite .ue no se cierre % re6abre los dis"ositivos @+-/@UN al correr los guiones u"/do*n
588
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
(tatu() arcivo donde se al'acenar& los eventos % datos sobre la conexin del servidor g$logh
&erb) Nivel de infor'acin 1defaultb73$ Cada nivel de'uestra todo el ?nfo de los niveles anteriores$ Se
reco'ienda el nivel 8 si usted desea un buen resu'en de .u# est& sucediendo$
I --No 'uestra una salida exce"to errores fatales$ ! to - p;ango de uso nor'al$ . --Salida R% \caracteres en la
consola "ar los "a.uetes de lectura % escritura! 'a%0sculas es usada "or "a.uetes @C-/UD- 'in0sculas es usada
"ara "a.uetes @UN/@+-$
Si 9/&inu* est& activo! es necesario .ue el directorio 8etc8openvpn % sus contenidos! tengan los contextos
a"ro"iados de esta i'"le'entacin de seguridad 1s%ste'Mu)ob(ectMr)openvpnUetcUrRUt "ara ipp.t*t %
openvpn-status-servidorvpn-udp-!![-.log % s%ste'Mu)ob(ectMr)openvpnUetcUt "ara el resto del
contenido del directorio3$
Se utili,a luego el 'andato restorecon sobre el directorio 8etc8openvpn a fin de asignar los contextos
adecuados$
restorecon !R /etc/openvpn/
Se crean los arcivos ipp.t*t % openvpn-status-servidorvpn-udp-!![-.log)
cd /etc/openvpn/
touch ipp#txt
touch openvpn!status!servidorvpn!udp!1194#log
Si se tiene activo SFLinux! estos 0lti'os dos arcivos re.uieren se les asigne contexto de lectura % escritura
1openvpnUetcUrRUt3$
cd /etc/openvpn/
chcon !u system/u ipp#txt
chcon !u system/u openvpn!status!servidorvpn!udp!1194#log
chcon !r obOect/r ipp#txt
chcon !r obOect/r openvpn!status!servidorvpn!udp!1194#log
chcon !t openvpn/etc/r/t ipp#txt
chcon !t openvpn/etc/r/t openvpn!status!servidorvpn!udp!1194#log
Los anterior ca'bia los contextos a usuario de siste'a 1s+stemUu3! rol de ob(eto 1ob%ectUr3 % ti"o
configuracin de G"enJ-N de lectura % escritura 1openvpnUetcUrRUt3$
-ara iniciar el servicio! se utili,a el 'andato service del siguiente 'odo)
service openvpn start
-ara .ue el servicio de G"enJ-N est# activo en el siguiente inicio del siste'a! se utili,a el 'andato
chOconfig de la siguiente for'a)
chkcon"ig openvpn on
4..,.!. Configuracin de muro cortafuegos con 9horeRall.
Fl siguiente "rocedi'iento considera .ue se a configurado un 'uro cortafuegos a"ro"iada'ente! de
acuerdo a las indicaciones descritas en el docu'ento titulado Cmo configurar un muro cortafuegos
con 9horeRall + tres interfaces de red$
58=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
?nde"endiente'ente del contenido! en el arcivo 8etc8shoreRall83ones! se aade la ,ona rem con el ti"o
ipv-! antes de la 0lti'a l/nea$
P O'en:9N ----
re< %'*4
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
?nde"endiente'ente del contenido! en el arcivo 8etc8shoreRall8interfaces! se aade la ,ona rem
asociada a la interfa, tunI! con la o"cin detect! "ara detectar auto'&tica'ente el n0'ero de direccin I7
de difusin 1broadcast3 % la o"cin dhcp$ @a'bi#n debe definirse antes de la 0lti'a l/nea del arcivo$
P O'en:9N ----
re< $>n6 -e$e&$ -h&'
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
?nde"endiente'ente del contenido! en el arcivo 8etc8shoreRall8polic+! se aade la "ol/tica deseada "ara
"er'itir el acceso de los 'ie'bros de la J7N acia las ,onas .ue se consideren a"ro"iadas$ Fn el siguiente
e(e'"lo! se define una "ol/tica .ue "er'ite el acceso de las conexiones originadas desde la ,ona rem acia
el cortafuegos! la red "0blica % la red local$ @odo debe definirse antes de la 0lti'a l/nea del arcivo$
" all 5**'=1
loc all 5**'=1
P O'en:'n ----
re< +0 ACCE9T
re< ne$ ACCE9T
re< )o& ACCE9T
P ------------
net all &R0= in"o
all all R'S'*1 in"o
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
?nde"endiente'ente del contenido! en el arcivo 8etc8shoreRall8rules! se debe abrir en el cortafuegos el
"uerto 77B= "or UD-! "ara todas las ,onas desde las cuales se "retenda conectar clientes a la J7N$
5**'=1 net " udp 1194
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
>inal'ente! se edita el arcivo 8etc8shoreRall8tunnels a fin de definir el t0nel SSL .ue ser& utili,ado "ara
el servidor de J7N % .ue "er'ita conectarse desde cual.uier ubicacin$
A1<=' G0-' I51'45< I51'45<
A G0-'
openvpnserver71194 rem %#%#%#%/%
A25S1 2)-' !! 5&& <0?R '-1R)'S ;'>0R' 13)S 0-' !! &0 -01 R'.0('
Fn lugar de I.I.I.I8I! se "uede es"ecificar una direccin ?- o bien una red desde la cual se .uiera
establecer las conexiones J7N$
-ara a"licar los ca'bios! es necesario reiniciar shoreRall con el 'andato service! del siguiente 'odo)
service shoreall restart
4..,.. Configuracin de clientes \indoRs.
582
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
4..,..!. ; travs de (penJ7N :"I.
?nstalar (penJ7N :"I desde tt")//o"env"n$se/$ Se re.uiere instalar la versin de desarrollo !.I., de
(penJ7N :"I! co'"atible con G"enJ-N 2$7$x$ Fl cliente es estable! sie'"re .ue se verifi.ue .ue funcione
adecuada'ente la configuracin utili,ada antes de "oner en 'arca en un entorno "roductivo$
Crear el arcivo cliente!-udp-!![-.ovpn! con el siguiente contenido! donde es i'"ortante .ue las rutas
definidas sean las correctas % las diagonales invertidas sean dobles)
584
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
client
dev tun
proto udp
remote dominio!o!ip#del#servidor#vpn 1194
"loat
resolv!retry in"inite
nobind
persist!key
persist!tun
A!!!!!! S'**)0- &' 225('S !!!!!!!!
ca ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKca#crt,
cert ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKcliente1#crt,
key ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKcliente1#key,
ns!cert!type server
A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
comp!lCo
verb @
Descri"cin de los "ar&'etros anteriores)
client) Fs"ecifica el ti"o de configuracin! en este caso ti"o cliente G"enJ-N$
0ort) Fs"ecifica el "uerto .ue ser& utili,ado "ara .ue los clientes J-N "uedan conectarse al servidor$
0roto) ti"o de "rotocolo .ue se e'"lear& en a conexin a trav#s de J-N
de&) @i"o de interfa, de conexin virtual .ue se utili,ar& el servidor o"env"n$
remote) Iost re'oto o direccin ?- en el cliente! el cual es"ecifica al servidor G"enJ-N$
Fl cliente G"enJ-N "uede tratar de conectar al servidor con host#port en el orden es"ecificado de las o"ciones
de la o"cin --remote$
float) Fste le dice a G"enJ-N ace"tar los "a.uetes autenticados de cual.uier direccin! no sola'ente la
direccin cu&l fue es"ecificado en la o"cin --remote$
resolv-retr+) Si la resolucin del no'bre del anfitrin 1ostname3 falla "ara -- remote! la resolucin antes de
fallar ace una re6co'"robacin de n segundos$
nobind) No agrega bind a la direccin local % al "uerto$
ca) Fs"ecifica la ubicacin exacta del arcivo de +utoridad Certificadora g$cah$
cert) Fs"ecifica la ubicacin del arcivo g$crth creado "ara el servidor$
.e)) Fs"ecifica la ubicacin de la llave g$Ke%h creada "ara el servidor G"enJ-N$
re$ote) Fs"ecifica el do'inio o ?- del servidor as/ co'o el "uerto .ue escucara las "eticiones "ara servicio J-N$
co$p@lzo) Fs"ecifica los datos .ue recorren el t0nel J-N ser& co'"actados durante la trasferencia de estos
"a.uetes$
per(i(t@.e)) Fsta o"cin soluciona el "roble'a "or llaves .ue "ersisten a trav#s de los rea(ustes S?GUS;7! as/
.ue no necesitan ser rele/dos$
0er(i(t@tun) -er'ite .ue no se cierre % re6abre los dis"ositivos @+-/@UN al correr los guiones u"/do*n
&erb) Nivel de infor'acin 1defaultb73$ Cada nivel de'uestra toda la ?nfor'acin de los niveles anteriores$ Se
reco'ienda el nivel 8 si usted desea un buen resu'en de .u# est& sucediendo$
I --No 'uestra una salida exce"to errores fatales$ ! to - p;ango de uso nor'al$ . --Salida R% \caracteres en la
consola "ar los "a.uetes de lectura % escritura! 'a%0sculas es usada "or "a.uetes @C-/UD- 'in0sculas es usada
"ara "a.uetes @UN/@+-$
Fl cliente necesitar& .ue los arcivos ca.crt! cliente!.crt! cliente!.Oe+ % cliente!-udp-!![-.ovpn est#n
"resentes en el directorio 'C#a;rchivos de 7rogramaa(penJ7Naconfiga'$ Fstos arcivos fueron creados!
a trav#s de un "rocedi'iento descrito en este docu'ento! dentro del directorio 8etc8openvpn8Oe+s8 del
servidor$
585
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se .uiere .ue los clientes de la J7N se "uedan conectar a la red local! es i'"ortante considerar las
i'"licaciones de seguridad .ue esto conlleva si alguno de los certificados es robado o bien el cliente se ve
co'"ro'etido en su seguridad "or una intrusin! virus! tro%ano o gusano$ Fs "referible .ue la red de la J7N
sea inde"endiente a la red local % cual.uier otra red! uniendo los servidores % clientes a la J7N!
inde"endiente'ente de si #stos est&n en la red local o una red "0blica$
Si es i'"erativo acer .ue los clientes de la J7N se conecten a la red local! la red desde la cual se conectan
los clientes debe ser diferente a la red utili,ada en la red local$ -or e(e'"lo) si la red local detr&s del servidor
de J7N es 7B2$74A$9$9/222$222$222$9! 79$9$9$9/222$9$9$9 o 752$74$9$9/222$222$9$9! los clientes .ue se
conecten a la J7N detr&s de un 'ode' +DSL o Cable e intenten establecer conexiones con la red local!
'u% segura'ente tendr&n conflictos de red$
-ara "er'itir a los clientes de la J7N "oder establecer conexiones acia la red local! se aaden las
siguientes l/neas en el arcivo de configuracin de G"enJ-N "ara los clientes % .ue definen la ruta "ara la
red local % un servidor DNS .ue debe estar "resente % configurado "ara "er'itir consultas recursivas a la
red de la J7N)
route 198#166#%#% 8::#8::#8::#%
dhcp!option &-S 198#166#%#1
G"cional'ente! ta'bi#n se "uede definir un servidor Qins$
dhcp!option 4)-S 198#166#86#1
F(e'"lo! considerando .ue la red local es ![.!04.0.I8.........I)
client
dev tun
proto udp
remote dominio!o!ip#del#servidor#vpn 1194
"loat
resolv!retry in"inite
nobind
persist!key
persist!tun
ro>$e 3=/.358./5.6 /!!./!!./!!.6
-h&'-o'$%on DNS 3=/.358./5.3
-h&'-o'$%on M?NS 3=/.358./5.3
A!!!!!! S'**)0- &' 225('S !!!!!!!!
ca ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKca#crt,
cert ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKcliente1#crt,
key ,*7KK5rchivos de =rogramaKK0pen(=-KKcon"igKKcliente1#key,
ns!cert!type server
A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
comp!lCo
verb @
4..,.,. Clientes :N"8&inu*.
4..,.,.!. ; travs del servicio openvpn.
Fste es el '#todo .ue funcionar& en "r&ctica'ente todas las distribuciones de de GNU/Linux basadas sobre
Red Dat! Cent(9 % 2edora$ Se re.uiere instalar el "a.uete openvpn)
yum !y install openvpn
58A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara Cent(9 .! se re.uiere aber configurado "revia'ente el de"sito de ;& 9erver! descrito con
anterioridad en este 'is'o docu'ento$
-ara los clientes con GNU/Linux utili,ando el servicio openvpn! b&sica'ente se utili,a el 'is'o arcivo
"ara (penJ7N :"I "ara Qindo*s! "ero definiendo rutas en el siste'a de arcivos de GNU/Linux$ F(e'"lo)
client
dev tun
proto udp
remote dominio!o!ip#del#servidor#vpn 1194
"loat
resolv!retry in"inite
nobind
persist!key
persist!tun
A!!!!!! S'**)0- &' 225('S !!!!!!!!
ca /etc/openvpn/keys/ca#crt
cert /etc/openvpn/keys/cliente1#crt
key /etc/openvpn/keys/cliente1#key
ns!cert!type server
A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
comp!lCo
verb @
Fste arcivo se guarda co'o 8etc8openvpn8cliente!-udp-!![-.ovpn$ ;e.uiere .ue los certificados
definidos en la configuracin est#n en las rutas es"ecificadas dentro del directorio 8etc8openvpn8Oe+s8$
-ara iniciar la conexin acia la J7N! si'"le'ente se inicia el servicio openvpn)
service openvpn start
-ara .ue la conexin se estable,ca auto'&tica'ente cada ve, .ue se inicie el siste'a! se utili,a el
'andado chOconfig de la siguiente 'anera)
chkcon"ig openvpn on
4..,.,.. ; travs de NetRorO5anager.
NetRorO5anager es una i'"le'entacin .ue "er'ite a los usuarios configurar interfaces de red de todos
los ti"os! sin necesidad de contar con "rivilegios de ad'inistracin en el siste'a$ Fs la for'a '&s flexible!
sencilla % "r&ctica de conectarse a una red J7N$
Se re.uiere .ue los clientes Linux tengan instalado el "a.uete NetRorO5anager-openvpn! 'is'o .ue
debe estar incluido en los de"sitos Ru' de 2edora [ en adelante % distribuciones recientes de GNU/Linux$
Cent(9 . carece del so"orte "ara utili,ar NetRorO5anager-openvpn! "or lo .ue solo "odr& conectarse a
la J7N a trav#s del '#todo anterior! con el servicio openvpn$
-ara instalar a trav#s del 'andato +um en distribuciones basadas sobre 2edora [ en adelante! se ace de
la siguiente 'anera)
yum !y install -etork.anager!openvpn
Se "uede reiniciar el siste'a "ara .ue tengan efectos los ca'bios o si'"le'ente reiniciar el servicio
NetRorO5anager)
58B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
service -etork.anager restart
Lo anterior cerrar& % volver& a establecer las conexiones de red existentes$
+l igual .ue el '#todo anterior! "ara los clientes con GNU/Linux con Net*orK:anager! b&sica'ente se
utili,a el 'is'o arcivo "ara (penJ7N :"I "ara Qindo*s! "ero definiendo rutas en el siste'a de arcivos
de GNU/Linux$ F(e'"lo)
client
dev tun
proto udp
remote dominio!o!ip#del#servidor#vpn 1194
"loat
resolv!retry in"inite
nobind
persist!key
persist!tun
A!!!!!! S'**)0- &' 225('S !!!!!!!!
ca /etc/openvpn/keys/ca#crt
cert /etc/openvpn/keys/cliente1#crt
key /etc/openvpn/keys/cliente1#key
ns!cert!type server
A!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
comp!lCo
verb @
Fste arcivo se "uede utili,ar con la interfa, gr&fica de NetRorO5anager$ Solo a% .ue acer clic sobre el
icono en el qrea de notificacin del "anel de GNG:F % luego acer clic en Configurar J7N$
Fn la ventana .ue abre a continuacin! a% un botn .ue "er'ite i'"ortar el arcivo de configuracin$
5=9
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si los certificados % fir'a digital son colocados en la ruta 8etc8openvpn8Oe+s8 con SFLinux activo! #stos
funcionar&n adecuada'ente$ Si los certificados % fir'a digital son al'acenados dentro del directorio de
inicio del usuarios! es necesario establecer la "ol/tica openvpnUenableUhomedirs con valor ! 1.ue
e.uivale a on o activa3)
setsebool != openvpn/enable/homedirs 1
-ersonal'ente reco'iendo crear una configuracin nueva desde la interfa, de NetRorO5anager$ Desde la
ventana de redes J-N de la interfa, de NetRorO5anager! acer clic en ;Hadir$
+"arecer& un di&logo donde se debe seleccionar .ue se trata de una J7N con (penJ7N$
5=7
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fn la siguiente ventana de di&logo! se define el no'bre de la conexin! direccin ?- o no'bre del servidor
donde est& instalado G"enJ-N % los certificados a utili,ar$ Si se siguieron los "rocedi'ientos de ese
docu'ento! se de%a en blanco el ca'"o ContraseHa de clave privada$
Luego! se ace clic en ;van3ado "ara es"ecificar .ue se utili,ar& co'"resin &b($
5=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara evitar conflictos de conectividad! se ace clic en la "estaa ;%ustes I7J- % se define un servidor DNS
.ue "er'ita al cliente navegar a trav#s de ?nternet % dentro de la red de la J7N$
5=8
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Se ace clic en Rutas "ara abrir otra ventana de di&logo % se seleccionan las casillas de las o"ciones
Ignorar las rutas obtenidas autom6ticamente % "sar esta cone*in solo para los recursos de su
red$ G"cional'ente se "ueden aadir las rutas est&ticas "ara tener conectividad con la red local detr&s del
servidor de J7N! to'ando en cuenta .ue la red local desde la cual se est& conectado el cliente debe ser
diferente a la de la red local detr&s del servidor de J7N! a fin de evitar conflictos de red$
>inal'ente se ace clic en a"licar$ -ara conectarse a la red J7N! solo basta acer clic sobre el icono de
NetRorO5anager en el qrea de notificacin del "anel de GNG:F % seleccionar la red J7N reci#n
configurada$
4..-. $ibiliografa.
Fste docu'ento se basa sobre los 'anuales titulados J-N en servidor Linux % clientes Qindo*s/Linux con
G"enJ-N i Sore*all g-arte 7h % J-N en servidor Linux % clientes Qindo*s/Linux con G"enJ-N i Sore*all
g-arte 2h! "or \illiam &pe3 Eimne3! "ublicados en ;lcance &ibre! cu'"liendo cabal'ente con los
t#r'inos de la licencia Creative Commons ;econoci'iento6NoCo'ercial6Co'"artir?gual 2$7$
5==
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
40. "sando 9martd para anticipar los desastres de
disco duro
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ bQ No puede utili3ar esta obra para fines comerciales. c3 Si altera o transfor'a esta obra o genera una obra derivada!
slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta
obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
40.!. Introduccin
La 'a%or/a de las distribuciones recientes inclu%en s'artctl % s'artd 1"arte de s'art'ontools incluido en el
"a.uete Kernel6utils3! .ue son erra'ientas utili,adas "ara su"ervisar la salud de los discos duros
reali,ando "ruebas "ara co'"robar su buen funciona'iento$ :ientras el disco % la tar(eta 'adre 1so"orte se
activa en el B?GS3 tengan ca"acidad "ara utili,ar S$:$+$;$@$ 1Self6:onitoring! +nal%sis and ;e"orting
@ecnolog%3 es "osible antici"ar las fallas de un disco duro$ Solo basta configurar un arcivo
1/etc/s'artd$conf3 e iniciar un servicio 1s'artd3$
40.. 7rocedimientos
Fl arcivo /etc/smartd#con" solo re.uiere una l/nea de configuracin "or cada disco duro en el siste'a$
F(e'"los)
/dev/hda !a !m alguien^dominio#com
/dev/sda !d scsi !a !m alguien^dominio#com
/dev/sdb !d scsi !a !m alguien^dominio#com
Lo anterior ace .ue se envi# un re"orte co'"leto % detallado de toda la infor'acin S$:$+$;$@$ % las alertas
"endientes$ La o"cin !a en discos ?DF e.uivale a)
/dev/hda !3 !i !c !5 !l error !l sel"test !l selective
R en discos SCS? e.uivale a)
/dev/sda !3 !i !5 !l error !l sel"test
Donde)
!F
?nclu%e en el re"orte el estado de salud % alertas "endientes$ Si se .uiere enviar re"ortes a un tel#fono
'vil! esta ser/a la o"cin 0nica a utili,ar$
!%
?nclu%e en el re"orte el nu'ero de 'odelo! n0'ero de serie! versin de >ir'*are e infor'acin adicional
relacionada$
5=2
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
!&
?nclu%e en el re"orte las ca"acidades S$:$+$;$@$
6;
?nclu%e en le re"orte atributos S$:$+$;$@$ es"ec/ficos del fabricante del disco$
!) error
?nclu%e en el re"orte la bit&cora de errores de S$:$+$;$@$
!) se)+$es$
?nclu%e en el re"orte la bit&cora de "ruebas de S$:$+$;$@$
!) se)e&$%*e
+lgunos discos ti"o +@+65 1e(e'"lo) :axtor3 inclu%en una bit&cora de "ruebas selectivas$
!<
Cuenta de correo electrnico a la cual se enviar&n re"ortes$
9i por e%emplo! solo nos interesa recibir re"ortes de salud de /dev8hda! /dev8sda % /dev8sdb! en una
cuenta de correo electrnico 1.ue "uede ser la .ue cores"onda "ara recibir 'ensa(es en un tel#fono 'vil3!
se utili,ar/an lo siguiente en el arcivo /etc8smartd.conf)
/dev/hda !3 !m alguien^dominio#com
/dev/sda !d scsi !3 !m alguien^dominio#com
/dev/sdb !d scsi !3 !m alguien^dominio#com
Ieco lo anterior! solo se necesita agregar el servicio a los servicios de arran.ue del siste'a e iniciar 1o
reiniciar! seg0n el caso3 s'artd)
chkcon"ig smartd on
service smartd start
Fl servicio se encarga de e(ecutar auto'&tica'ente en el tras fondo del siste'a todas las "ruebas
necesarias % so"ortadas "or las unidades de disco duro "resentes$ Fl re"orte se env/a auto'&tica'ente
(unto con el 'ensa(e con el re"orte de la bit&cora del siste'a unos 'inutos des"u#s de las =)99 +:$
Si se .uiere ver un re"orte al 'o'ento! co'"leto % detallado! su"oniendo .ue se trata de un disco duro en
el ?DF 7! basta e(ecutar)
smartctl !a /dev/hda
Si se .uiere ver un re"orte al 'o'ento .ue solo 'uestre el estado de salud de la unidad! su"oniendo .ue se
trata de un disco duro en el ?DF 7! basta e(ecutar)
smartctl !3 /dev/hda
5=4
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
41. Restriccin de acceso a unidades de
almacenamiento e*terno
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ bQ No puede utili3ar esta obra para fines comerciales. c3 Si altera o transfor'a esta obra o genera una obra derivada!
slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta
obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
41.!. Introduccin.
Fn los entornos cor"orativos % algunas e'"resas .ue utili,an GNU/Linux co'o siste'a o"erativo de
escritorio! es una "r&ctica co'0n blo.uear el acceso a unidades de disco "tico % unidades de
al'acena'iento USB$ Ia% varias for'as de lograr este ob(etivo$ -ueden usarse individual'ente o en
co'binacin! de"endiendo de lo .ue "refiera el ad'inistrador del siste'a$
41.. 7rocedimientos.
41..!. $loCuear el uso de unidades de disco ptico.
Fl "rocedi'iento es el 'is'o "ara CentGS! >edora! o"enSUSF! ;ed Iat Fnter"rise Linux % SUSF Linux
Fnter"rise$
Fdite el arcivo 8etc8fstab)
vim /etc/"stab
+ada el siguiente contenido)
/dev/dvd /media/dvd auto noautoBde"aults % %
Lo anterior ar& .ue la unidad de disco "tico slo "ueda ser utili,ada "or root$
Lo anterior se co'"le'enta estableciendo co'o valor obligatorio .ue (a'&s se 'onten auto'&tica'ente
las unidades de al'acena'iento externo$
gcon"tool!8 !!direct !!con"ig!source K
xml7readrite7/etc/gcon"/gcon"#xml#mandatory K
/apps/nautilus/pre"erences/media/automount K
!!type bool "alse
Slo "ara SUSF Fnter"rise Linux 79! la ruta del directorio gconf.*ml.mandator+ corres"onde a
8etc8opt8gnome8gconf8gconf.*ml.mandator+)
5=5
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
gcon"tool!8 !!direct !!con"ig!source K
xml7readrite7/etc/opt/gnome/gcon"/gcon"#xml#mandatory K
/apps/nautilus/pre"erences/media/automount K
!!type bool "alse
Concluido lo anterior! si un usuario regular inserta un CD o DJD en la unidad "tica! la unidad (a'&s ser&
'ontada % si el usuario intenta 'ontar 'anual'ente le ser& denegado el acceso 'ostrando una ventana de
alerta$
41... $loCuear uso del mdulo usb-storage o uas del n)cleo de &inu*.
Fs "osible blo.uear el acceso al 'dulo usb-storage o bien el 'dulo uas! del n0cleo de Linux$ Ystos son
los dos controladores utili,ados "ara acceder a cual.uier ti"o de unidad de al'acena'iento externo "or
USB$
41..,. /n Cent(9G 2edora + Red Dat /nterprise &inu*.
Utilice cual.uier editor de texto "ara crear el arcivo 8etc8modprobe.d8usb-storage.conf)
vim /etc/modprobe#d/usb!storage#con"
+ada el siguiente contenido)
install usb!storage /bin/"alse
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod usb!storage
depmod !a
?nserte cual.uier unidad de al'acena'iento USB "ara verificar .ue es i'"osible acceder acia el contenido
de #sta$
Si lo "refiere! ta'bi#n es "osible "er'itir cargar el 'dulo usb-storage! "ero e'itiendo un 'ensa(e de
correo electrnico .ue infor'ar& al ad'inistrador del siste'a cuando se inserte una unidad de
al'acena'iento USB$
Utilice cual.uier editor de texto "ara crear o 'odificar el arcivo 8etc8modprobe.d8usb-storage.conf)
Fli'ine la configuracin "revia %/o aada el siguiente contenido)
install usb!storage /bin/mail K
!s ,?nidad ?S; insertada en F30S15-5.', K
alguien^algo#com
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod usb!storage
depmod !a
5=A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Fs"ere unos 'inutos % verifi.ue el 'ensa(e .ue a e'itido el siste'a en el bu,n entrada de la cuenta de
correo electrnico definida$
41..-. /n open9"9/.
Fn o"enSUSF se utili,a de 'odo "redeter'inado el 'dulo uas 1"SB ;ttaced 9CS?3! el cual es una
alternativa '&s 'oderna % .ue tiene un 'e(or dese'"eo % funciona'iento .ue el 'dulo usb-storage$
Utilice cual.uier editor de texto "ara crear el arcivo 8etc8modprobe.d8usb-storage.conf)
vim /etc/modprobe#d/usb!storage#con"
+ada el siguiente contenido)
install uas /bin/"alse
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod uas
depmod !a
?nserte cual.uier unidad de al'acena'iento USB "ara verificar .ue es i'"osible acceder acia el contenido
de #sta$
Si lo "refiere! ta'bi#n es "osible "er'itir cargar el 'dulo uas! "ero e'itiendo un 'ensa(e de correo
electrnico .ue infor'ar& al ad'inistrador del siste'a cuando se inserte una unidad de al'acena'iento
USB$
Utilice cual.uier editor de texto "ara crear o 'odificar el arcivo 8etc8modprobe.d8uas.conf)
Fli'ine la configuracin "revia %/o aada el siguiente contenido)
install uas /usr/bin/mail K
!s ,?nidad ?S; insertada en F30S15-5.', K
alguien^algo#tld
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod uas
depmod !a
Fs"ere unos 'inutos % verifi.ue el 'ensa(e .ue a e'itido el siste'a en el bu,n entrada de la cuenta de
correo electrnico definida$
41.... /n 9"9/ &inu* /nterprise.
Utilice cual.uier editor de texto "ara 'odificar el arcivo 8etc8modprobe.conf.local)
vim /etc/modprobe#con"#local
5=B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ada el siguiente contenido)
install usb!storage /bin/"alse
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod usb!storage
depmod !a
?nserte cual.uier unidad de al'acena'iento USB "ara verificar .ue es i'"osible acceder acia el contenido
de #sta$
Si lo "refiere! ta'bi#n es "osible "er'itir cargar el 'dulo usb-storage! "ero e'itiendo un 'ensa(e de
correo electrnico .ue infor'ar& al ad'inistrador del siste'a cuando se inserte una unidad de
al'acena'iento USB$
Utilice cual.uier editor de texto "ara 'odificar el arcivo 8etc8modprobe.conf.local)
vim /etc/modprobe#con"#local
Fli'ine la configuracin "revia %/o aada el siguiente contenido)
install usb!storage /usr/bin/mail K
!s ,?nidad ?S; insertada en F30S15-5.', K
alguien^algo#com
;einicie el siste'a "ara .ue surtan efecto los ca'bios o bien desconecte cual.uier unidad de
al'acena'iento USB .ue est# "resente en el siste'a % e(ecute lo siguiente)
rmmod usb!storage
depmod !a
Fs"ere unos 'inutos % verifi.ue el 'ensa(e .ue a e'itido el siste'a en el bu,n entrada de la cuenta de
correo electrnico definida$
41..0. Reglas de "D/J para impedir el acceso a unidades de almacenamiento
"9$.
"D/J es una coleccin de erra'ientas % un servicio .ue se encarga de gestionar los eventos recibidos
desde el n0cleo del siste'a! encarg&ndose de #stos en el es"acio de usuario$ Se encarga de gestionar los
"er'isos corres"ondientes! crear % eli'inar enlaces si'blicos i'"ortantes acia los nodos de los
dis"ositivos .ue est&n dentro del directorio 8dev! cuando los co'"onentes de ard(are son descubiertos o
re'ovidos del siste'a$
41..0.!. /n Cent(9G 2edoraG 9"9/ &inu* /nterprise + Red Dat /nterprise &inu*.
-ara restringir el acceso a las unidades de al'acena'iento USB! se debe crear un arcivo deno'inado
8etc8udev8rules.d8!I-usb-storage.rules)
vim /etc/udev/rules#d/1%!usb!storage#rules
529
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
+ada el siguiente contenido)
&R)('R++,usb!storage,B 0=1)0-SX+,ignore/device last/rule,
Lo anterior establece .ue al utili,ar el 'dulo usb-storage! se ignoren los dis"ositivos a los .ue
corres"onda % .ue se i'"ida aadir nuevas reglas .ue "udieran ca'biar esta "ol/tica$
-ara .ue a"li.uen los ca'bios! es necesario reiniciar el siste'a$
reboot
?nserte cual.uier unidad de al'acena'iento USB "ara verificar .ue es i'"osible acceder acia el contenido
de #sta$
41..0.. /n open9"9/.
-ara restringir el acceso a las unidades de al'acena'iento USB! se debe crear un arcivo deno'inado
8etc8udev8rules.d8!I-uas.rules)
vim /etc/udev/rules#d/1%!uas#rules
+ada el siguiente contenido)
&R)('R++,uas,B 0=1)0-SX+,ignore/device last/rule,
Lo anterior establece .ue al utili,ar el 'dulo uas! se ignoren los dis"ositivos a los .ue corres"onda % .ue
se i'"ida aadir nuevas reglas .ue "udieran ca'biar esta "ol/tica$
-ara .ue a"li.uen los ca'bios! es necesario reiniciar el siste'a$
reboot
?nserte cual.uier unidad de al'acena'iento USB "ara verificar .ue es i'"osible acceder acia el contenido
de #sta$
41..1. 7olic+Nit para restringir el acceso a unidades de almacenamiento
e*terno en general.
-olic%Lit es un con(unto de erra'ientas "ara definir % gestionar la autori,acin acia diversas o"eraciones
en el siste'a$
41..1.!. /n Cent(9G 2edoraG open9"9/ + Red Dat /nterprise &inu*.
Fstos siste'as o"erativos utili,an -olic%Lit 9$B= o versiones '&s recientes$ La configuracin var/a res"ecto
de las de versiones anteriores$
Lo "ri'ero es deter'inar el estado de la "ol/tica
org.freedesOtop.udisOs.files+stem-mount-s+stem-internal! e(ecutando lo siguiente)
527
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
pkaction !!action!id K
org#"reedesktop#udisks#"ilesystem!mount!system!internal K
!!verbose
-ara definir la "ol/tica .ue slo "er'itir& 'ontar unidades de al'acena'iento externo 1USB! CD;G: %
DJD;G:3 al usuario root! se crear el arcivo /var/lib/"olKit67/localautorit%/296local$d/udisKs$"Kla)
vim /var/lib/polkit!1/localauthority/:%!local#d/udisks#pkla
R se aade el siguiente contenido)
D?nidades de almacenamientoE
)dentity+unix!user7L
5ction+org#"reedesktop#udisks#"ilesystem!mount!system!internal
Result5ny+auth/admin
Result)nactive+auth/admin
Result5ctive+auth/admin
-ara "er'itir slo a un usuario en "articular! se ca'bia uni*-user#Y 1define a cual.uier usuario del siste'a3
"or uni*-user#usuario$ Fn el siguiente e(e'"lo se "er'ite el uso solo al usuario fulano)
D?nidades de almacenamientoE
)dentity+>n%E->ser1+>)#no
5ction+org#"reedesktop#udisks#"ilesystem!mount!system!internal
Result5ny+auth/admin
Result)nactive+auth/admin
Result5ctive+auth/admin
-ara verificar lo anterior! se "uede e(ecutar co'o root lo siguiente! donde 72A4 corres"onde al n0'ero de
identidad de "roceso de gno'e6session % fulano corres"onde al no'bre del usuario activo del escritorio)
pkcheck !!action!id K
org#"reedesktop#udisks#"ilesystem!mount!system!internal K
!!process 1:66 !u "ulano
Lo anterior debe devolver una ventana de autenticacin si'ilar a la siguiente$
Jentana de autenticacin "ara ad'inistradores$
522
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Si se .uiere .ue en el caso anterior se use la contrasea del 'is'o usuario! "ara evitar "ro"orcionar la
contrasea de root! ca'bie autMad'in "or authUself)
D?nidades de almacenamientoE
)dentity+unix!user7"ulano
5ction+org#"reedesktop#udisks#"ilesystem!mount!system!internal
Result5ny+#>$h_se)+
Result)nactive+#>$h_se)+
Result5ctive+#>$h_se)+
-ara verificar lo anterior! se "uede e(ecutar co'o root lo siguiente! donde 72A4 corres"onde al n0'ero de
identidad de "roceso de gno'e6session % fulano corres"onde al no'bre del usuario activo del escritorio)
pkcheck !!action!id K
org#"reedesktop#udisks#"ilesystem!mount!system!internal K
!!process 1:66 !u "ulano
Lo anterior debe devolver una ventana de autenticacin si'ilar a la siguiente$
Jentana de autenticacin "ara usuario$
?nserte una unidad de al'acena'iento USB o disco CD o DJD % verifi.ue .ue a"arece una ventana de
autenticacin! si'ilar a cual.uiera de las de arriba$
Si slo se desea "roibir el acceso a las unidades de al'acena'iento externo a un solo usuario! se ca'bia
authUself "or no)
D?nidades de almacenamientoE
)dentity+unix!user7"ulano
5ction+org#"reedesktop#udisks#"ilesystem!mount!system!internal
Result5ny+no
Result)nactive+no
Result5ctive+no
Lo anterior i'"edir& .ue el usuario fulano "ueda acer uso de unidades de al'acena'iento externo "or
co'"leto! sin 'ostrar si.uiera la ventana de autenticacin$
-ara eli'inar la "ol/tica! si'"le'ente se eli'ina el arcivo udisOs.pOla$
528
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
rm !" /var/lib/polkit!1/localauthority/:%!local#d/udisks#pkla
41..1.. /n 9"9/ &inu* /nterprise !!.
Fste siste'as o"erativo utili,a 7olic+Nit I.[I$ La configuracin var/a res"ecto de las de versiones
"osteriores$ cabe sealar .ue SUSF Linux Fnter"rise 79 carece de so"orte "ara -olic%Lit! "or lo cual el
"rocedi'iento slo a"lica "ara la versin 77 % "osteriores$
Lo "ri'ero es deter'inar el estado de la "ol/tica org.freedesOtop.hal.storage.mount-removable!
e(ecutando lo siguiente)
polkit!action !!action K
org#"reedesktop#hal#storage#mount!removable
-ara definir la "ol/tica .ue slo "er'itir& 'ontar unidades de al'acena'iento externo 1USB! CD;G: %
DJD;G:3 al usuario root! se edita el arcivo 8etc8polOit-default-privs.local)
vim /etc/polkit!de"ault!privs#local
R se aade el siguiente contenido)
org#"reedesktop#hal#storage#mount!removable auth/admin/keep/alays
+l ter'inar se e(ecuta el 'andato setUpolOitUdefaultUprivs "ara .ue se active la "ol/tica$
set/polkit/de"ault/privs
-ara "er'itir .ue slo un usuario regular en "articular "ueda acer uso de las unidades de al'acena'iento
externo! se e(ecuta el 'andato polOit-auth del siguiente 'odo)
polkit!auth !!user "ulano !!grant K
org#"reedesktop#hal#storage#mount!removable
-ara desacer el ca'bio! se e(ecuta lo siguiente)
polkit!auth !!user "ulano !!revoke K
org#"reedesktop#hal#storage#mount!removable
-ara i'"edir .ue un solo usuario sea .uien tenga "roibido acer uso de las unidades de al'acena'iento
externo! se o'iten todos los "rocedi'ientos anteriores % se e(ecuta)
polkit!auth !!user "ulano !!block K
org#"reedesktop#hal#storage#mount!removable
-ara deter'inar los "er'isos de acceso de un usuario en "articular "ara
org$freedesKto"$al$storage$'ount6re'ovable! se e(ecuta)
polkit!auth !!user "ulano !!explicit K
org#"reedesktop#hal#storage#mount!removable
52=
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
?nserte una unidad de al'acena'iento USB o disco CD o DJD % verifi.ue .ue a"arece una ventana de
autenticacin! si'ilar a las de arriba$
522
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
44. ;dministracin de configuraciones de :N(5/ .
Autor: "oel Barrios &ue!as
Correo electrnico: dar.(hra$7g$ail.co$
(itio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual .!
\ 7BBB62978 Joel Barrios Dueas$ Usted es libre de co"iar! distribuir % co'unicar "0blica'ente la obra % acer obras derivadas ba(o las condiciones siguientes) a3
Debe reconocer % citar al autor original$ bQ No puede utili3ar esta obra para fines comerciales. c3 Si altera o transfor'a esta obra o genera una obra derivada!
slo "uede distribuir la obra generada ba(o una licencia id#ntica a #sta$ +l reutili,ar o distribuir la obra! tiene .ue de(ar bien claro los t#r'inos de la licencia de esta
obra$ +lguna de estas condiciones "uede no a"licarse si se obtiene el "er'iso del titular de los derecos de autor$ Los derecos derivados de usos leg/ti'os u otras
li'itaciones no se ven afectados "or lo anterior$ La infor'acin contenida en este docu'ento % los derivados de #ste se "ro"orcionan tal cual son % los autores no
asu'ir&n res"onsabilidad alguna si el usuario o lector ace 'al uso de #stos$
44.!. Introduccin.
Fl escritorio de GNG:F 2 utili,a GConf "ara al'acenar % ad'inistrar la configuracin de la 'a%or "arte de
sus co'"onentes$ Se e(ecuta en segundo "lano co'o gconfd62 e inicia auto'&tica'ente (unto con el
escritorio! slo una instancia "or usuario$
La configuracin del escritorio "uede acerse desde las "referencias de las a"licaciones individuales! desde
el Centro de Control! utili,ando el 'andato gconftool- o bien a trav#s de la erra'ienta gr&fica
gconf-editor$
GConf al'acena las configuraciones de los usuarios en el directorio ^8.gconf de cada usuarios$ Los datos
dentro de este directorio slo "ueden ser 'odificados "or las "referencias de las a"licaciones %
co'"onentes del escritorio! el 'andato gconftool- o bien la erra'ienta gr&fica gconf-editor$ Cual.uier
'odificacin reali,ada con editor de texto dentro de este directorio! ser& ignorada "or co'"leto "or
gconfd62 % se "erder& irre'ediable'ente al cerrar la sesin$
44.. 5andato gconftool-.
Fl 'andato gconftool- "uede ser utili,ado co'o usuario regular "ara ca'biar el valor de cual.uier
configuracin al'acenada dentro del directorio ^8.gconf$ Co'o root es "osible ca'biar los valores
"redeter'inados o bien establecer valores obligatorios$
-ara obtener una lista co'"leta de las o"ciones de configuracin del escritorio de un usuario regular! (unto
con los valores .ue #stas tengan! se e(ecuta el 'andato gconftool- con la o"cin --recursive-list 1o bien
6;3 % /desKto"/gno'e 1sin diagonal al final3 co'o argu'ento)
gcon"tool!8 !!recursive!list /desktop/gnome
-ara obtener una lista co'"leta de las o"ciones de configuracin de las a"licaciones .ue utili,an GConf!
(unto con los valores .ue #stas tengan! co'o usuario regular! se e(ecuta el 'andato gconftool- con la
o"cin --recursive-list 1o bien 6;3 % /a""s 1sin diagonal al final3 co'o argu'ento)
gcon"tool!8 !!recursive!list /apps
-ara reali,ar la b0s.ueda de una clave en "articular! se e(ecuta el 'andato gconftool- con la o"cin
--search-Oe+-rege*! seguida de una ex"resin regular o cadena de texto .ue se desee buscar$ Fn el
siguiente e(e'"lo se reali,a la b0s.ueda de claves .ue coincidan con la cadena pictureTfilename)
gcon"tool!8 !!search!key!regex picture/"ilename
524
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
-ara obtener una descri"cin corta de una clave en "articular! se e(ecuta gconftool62! con la o"cin
--short-docs % el no'bre de la clave co'o argu'ento$ Fn el siguiente e(e'"lo se consulta la descri"cin
corta de la clave /desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!short!docs K
/desktop/gnome/background/picture/"ilename
Lo anterior devolver& en esta clave se establece un arcivo de i'agen$
-ara obtener una descri"cin de una clave en "articular! se e(ecuta gconftool62! con la o"cin --long-docs %
el no'bre de la clave co'o argu'ento$ Fn el siguiente e(e'"lo se consulta la descri"cin de la clave
/desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!long!docs K
/desktop/gnome/background/picture/"ilename
Lo anterior devolver& .ue se trata de la configuracin "ara establecer el ta"i, o fondo de "antalla del
escritorio$
-ara obtener los valores de una clave en "articular! co'o usuario regular! se utili,a el 'andato gconftool-
con la o"cin --get 1o bien 6g3 % el no'bre de la clave co'o argu'ento$ Fn el siguiente e(e'"lo se consulta
el valor de /desKto"/gno'e/bacKground/"ictureMfilena'e! .ue corres"onde al arcivo de i'agen utili,ado
co'o fondo de "antalla del escritorio)
gcon"tool!8 !!get /desktop/gnome/background/picture/"ilename
La salida "uede devolver algo si'ilar a lo siguiente)
/usr/share/backgrounds/aves/aves#xml
-ara ca'biar ca'biar el valor de esta configuracin! slo "ara el usuario regular utili,ado! se e(ecuta el
'andato gconftool- con la o"cin --set 1o bien 6s3! el no'bre de la clave! la o"cin --t+pe 1o bien 6t3 % el
ti"o de valor 1bool! float! int! list! "air o string "ara definir valores ti"o booleano! flotante! entero! lista! "ar o
cadena! res"ectiva'ente3 % final'ente el valor a establecer "ara la clave$ Fn el siguiente e(e'"lo se
establece /usr/sare/bacKgrounds/cos'os/(u"iter$("g co'o el valor "ara la clave
/desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!set /desktop/gnome/background/picture/"ilename K
!!type string ,/usr/share/backgrounds/cosmos/Oupiter#Opg,
-ara regresar una clave a su valor "redeter'inado! se e(ecuta el 'andato gconftool- con la o"cin
--unset 1o bien 6u3 % el no'bre de la clave co'o argu'ento$ Fn el siguiente e(e'"lo se eli'ina el valor
"ersonali,ado "ara el clave /desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!unset /desktop/gnome/background/picture/"ilename
-ara regresar a sus valores "redeter'inados varias claves .ue est&n dentro un 'is'o directorio! se e(ecuta
el 'andato gconftool- con la o"cin 66recursive6unset % el no'bre del directorio sobre el cual se
eli'inar&n de 'anera recursiva los valores "ersonali,ados$ Fn el siguiente e(e'"lo! se eli'inar&n los
valores "ersonali,ados de todas las configuraciones .ue est&n deba(o de 8desOtop8gnome8bacOground)
525
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
gcon"tool!8 !!recursive!unset /desktop/gnome/background
-ara establecer valores "redeter'inados! se utili,a gconftool62 co'o root! con la o"cin --direct 1acceso
directo a la base de datos de configuraciones3! la o"cin --config-source con la ruta
*ml#readRrite#8etc8gconf8gconf.*ml.defaults! la o"cin --set con el no'bre de la clave ca'biar! la
o"cin --t+pe con el ti"o de valor % el valor .ue se desea establecer co'o "redeter'inado "ara una clave
en "articular$ Fn el siguiente e(e'"lo se establecer& el arcivo
8usr8share8bacOgrounds8cosmos8%upiter.%pg co'o el valor "redeter'inado de
8desOtop8gnome8bacOground8pictureUfilename)
gcon"tool!8 !!direct K
!!con"ig!source xml7readrite7/etc/gcon"/gcon"#xml#de"aults K
!!set /desktop/gnome/background/picture/"ilename K
!!type string ,/usr/share/backgrounds/cosmos/Oupiter#Opg,
Lo anterior ar& .ue cuando el usuario e(ecute lo siguiente)
gcon"tool!8 !!unset /desktop/gnome/background/picture/"ilename
Se 'uestre co'o i'agen "redeter'inada al arcivo 8usr8share8bacOgrounds8cosmos8%upiter.%pg en la
.ue se estableci original'ente en el siste'a$ Fl usuario "odr& establecer cual.uier otra i'agen .ue desee
co'o fondo de escritorio % cuando eli'ine su configuracin "ersonali,ada "ara esta clave! se 'ostrar& la
i'agen .ue se a%a establecido co'o "redeter'inada$
-ara regresar una clave al valor original! se e(ecuta el 'andato gconftool- con la o"cin --direct! la
o"cin --config-source con la ruta *ml#readRrite#8etc8gconf8gconf.*ml.defaults % la o"cin --unset$
Fn el siguiente e(e'"lo se regresar& a su valor original la clave
/desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!direct K
!!con"ig!source xml7readrite7/etc/gcon"/gcon"#xml#de"aults K
!!unset /desktop/gnome/background/picture/"ilename
-ara establecer valores obligatorios! es decir configuraciones .ue los usuarios estar&n i'"osibilitados "ara
ca'biar! se utili,a gconftool62 co'o root! con la o"cin --direct 1acceso directo a la base de datos de
configuraciones3! la o"cin --config-source con la ruta
*ml#readRrite#8etc8gconf8gconf.*ml.mandator+! la o"cin --set con el no'bre de la clave a ca'biar! la
o"cin --t+pe con el ti"o de valor % el valor .ue se desea establecer co'o "redeter'inado "ara una clave
en "articular$ Fn el siguiente e(e'"lo se establecer& /usr/sare/bacKgrounds/cos'os/(u"iter$("g co'o el
valor obligatorio de /desKto"/gno'e/bacKground/"ictureMfilena'e)
gcon"tool!8 !!direct K
!!con"ig!source xml7readrite7/etc/gcon"/gcon"#xml#mandatory K
!!set /desktop/gnome/background/picture/"ilename K
!!type string ,/usr/share/backgrounds/cosmos/Oupiter#Opg,
-ara "oder a"reciar este ca'bio en "articular! es necesario cerrar la sesin de escritorio .ue est# activo %
volver a ingresar a #ste$ Fn algunos casos slo ser& necesario cerrar % volver a e(ecutar una a"licacin en
"articular "ara la cual se a%an establecido los valores obligatorios$
-ara regresar una clave al valor original! se e(ecuta el 'andato gconftool- con la o"cin --direct! la
o"cin --config-source con la ruta *ml#readRrite#8etc8gconf8gconf.*ml.defaults % la o"cin --unset$
Fn el siguiente e(e'"lo se regresar& a su valor original la clave
/desKto"/gno'e/bacKground/"ictureMfilena'e)
52A
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
gcon"tool!8 !!direct K
!!con"ig!source xml7readrite7/etc/gcon"/gcon"#xml#mandatory K
!!unset /desktop/gnome/background/picture/"ilename
La 'a%or/a de las distribuciones actuales de GNU/Linux utili,an las rutas 8etc8gconf8gconf.*ml.defaults %
8etc8gconf8gconf.*ml.mandator+! "or lo cual todo lo anterior deber& funcionar sin "roble'as$ Fn SUSF
Linux Fnter"rise 79 % versiones anteriores! las rutas son 8etc8opt8gnome8gconf8gconf.*ml.defaults %
8etc8opt8gnome8gconf8gconf.*ml.mandator+! "ara las configuraciones "redeter'inadas % obligatorias!
res"ectiva'ente$
44..!. Configuraciones m6s com)nmente restringidas en el escritorio de
:N(5/.
8desOtop8gnome8locOdoRn8disableUapplicationUhandlers)
@i"o de valor booleano$ Si se establece el valor true! "revenir .ue cual.uier a"licacin e(ecute
cual.uier gestor de U;L o ti"os :?:F$
8desOtop8gnome8locOdoRn8disableUcommandUline)
@i"o de valor booleano$ Si se establece el valor true! i'"ide .ue el usuario acceda a la
ter'inal de GNG:F o .ue es"ecifi.ue una l/nea de 'andatos "ara ser e(ecutada$ Fsto ta'bi#n
desactiva el acceso al di&logo del "anel ^F(ecutar a"licacin_$
8desOtop8gnome8locOdoRn8disableUlocOUscreen)
@i"o de valor booleano$ Si se establece el valor true! "reviene .ue el usuario blo.uee su
"antalla$
8desOtop8gnome8locOdoRn8disableUprinting)
@i"o de valor booleano$ Si se establece el valor true! i'"ide .ue el usuario i'"ri'a$ Desactiva
el acceso a todos los di&logos ^?'"ri'ir_ de todas las a"licaciones "ara GNG:F$
8desOtop8gnome8locOdoRn8disableUprintUsetup)
@i"o de valor booleano$ Si se establece el valor true! i'"ide .ue el usuario "ueda 'odificar los
a(ustes de i'"resin$ Desactiva el acceso a todos los di&logos ^Configurar i'"resin_ de
todas las a"licaciones$
8desOtop8gnome8locOdoRn8disableUsaveUtoUdisO)
@i"o de valor booleano$ Si se establece el valor true! i'"ide .ue el usuario "ueda guardar
arcivos en el disco$ Desactiva el acceso a todos los di&logos ^Guardar co'o_ de todas las
a"licaciones$
8desOtop8gnome8locOdoRn8disableUuserUsRitching)
@i"o de valor booleano$ Si se establece el valor true! "reviene .ue el usuario seleccione otra
cuenta 'ientras su sesin est& activa$
8apps8nautilus8locOdoRn8disableUconte*tUmenus)
@i"o de valor booleano$ Si se establece el valor true! "reviene .ue los usuarios "uedan utili,ar
los 'en0es contextuales del ad'inistrador de arcivos$ :u% reco'endado "ara KiosKos$
8apps8panel8global8disableUlogUout)
@i"o de valor booleano$ Si se establece el valor true! el "anel i'"edir& al usuario cerrar la
sesin! eli'inando las entradas de 'en0 de salida de sesin$
52B
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
8apps8panel8global8locOedUdoRn)
@i"o de valor booleano$ Si se establece el valor true! el "anel i'"edir& ca'bios en su
configuracin$ +lgunas 'ini6a"licaciones individuales .ui,& necesiten blo.uearse de for'a
inde"endiente$ Fl "anel 1o la sesin3 debe reiniciarse "ara .ue esto surta efecto$
Derramienta gconf-editor.
La erra'ienta gr&fica gconf-editor "er'ite acer todo lo .ue ace gconftool62! "ero con una interfa,
gr&fica$ Slo es necesario locali,ar % seleccionar la clave! acer clic dereco % editar el valor de la clave o
bien desestablecer #sta o bien establecer el valor de la clave co'o "redeter'inado u obligatorio$ -ara
distribuciones .ue inclu%en -olic%Lit 1o "olKit3! a"arecer& un di&logo .ue solicitar& la contrasea del
ad'inistrador cuando se re.uiera establecer valores "redeter'inados u obligatorios$ -ara las distribuciones
.ue carecen de -olic%Lit! es necesario e(ecutar gconf6editor co'o root a fin de "oder establecer valores
"redeter'inados u obligatorios$
GConf6editor$
Fn caso de ser necesario! "uede instalarse en CentGS! >edora % ;ed Iat Fnter"rise Linux e(ecutando)
yum !y install gcon"!editor
Fn caso de ser necesario! "uede instalarse en o"enSUSF % SUSF Linux Fnter"rise e(ecutando)
yast !i gcon"!editor
549
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Notas
547
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Notas
542
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Notas
548
Joel Barrios Dueas Configuracin de Servidores con GNU/Linux
Notas
54=