Apuntes para la certificac certificación ión LPI nivel 2 Jorge Andrada Prieto
Licencia
Esta obra está licenciada bajo la Licencia Creative Commons AtribuciónAtribución NoComercial-CompartirIgual 3! "nported Para ver una copia de esta licencia# visita $ttp%&&creativecommonsorg&licenses&b'-nc-sa&3!&
Contacto
monino(gmailcom
(monino
jandradap
Bibliografía Aclarar que cubre los objetivos LPIC-2 para la versión 3.5.0 Para la realización de los apuntes me baso en páginas man, wiki lpi, Guía de estudio - Exámenes !" # !, Ana#a $ultimedia %&'(-")* +-.-."/-)!".-! 0recomendable 0recomendable su compra1 # por supuesto san google 21
Agradecimientos •
• •
Grison # Rano* por su apo#o # su gran amistad Paquintosita, Carlos Lópe # P!"uintas* por esas risas # ca34s en la biblioteca desconectar los 3ines de Lolo, Bala, #ose, $%uleto, Arboleda # demás colegas* por 5acerme desconectar semana # pasarlo de arte
• •
• •
•
Carmen Poo por esos momentos de relax en sitios tan ricos # aguantarme descanso-estudio, Colegas del curro como 6&r 'emenino7 por darme ca8a cuando esto# de descanso-estudio, Rub(n )*u+ón, por ser un compi 3ricazo de lo me9or que 5a#: *on por las pec5á de reir # #pagador, ;uanillo, -egra, (e3er, Pepe, Adolfo, etc< =olegas de diablo./esp!com* por a#udarme a mendigar al no tener tiempo *i pelirro0a* por 5acerme más amena las 5oras de estudio con su bonita sonrisa<<
1ema 234 5ernel de Linu6 23!3 Componentes del 5ernel &e puede descargar el >ernel 6 Linu6 5ernel Arc7ives 7 0wwwernel estable e inestable< ?ormato* 6versión!subversión!nuevas funciones importantes!arreglos de esa versión 7< Podemos @er la @ersión que se está e9ecutando actualmente con 6 uname /a7< Nota: actualizar el Kernel sin reiniciar reiniciar (para sisteas !ue no pue"en tener inactivi"a"# se usa la $erraienta % )splice&' !ue conela la ejecución "e proraas !ue estiona el )ernel' cabia el nuevo Kernel * retoa la operación "e los proraas. +s totalente transparente. El código 3uente del >ernel reside en 6 8usr8src8linu6/version9que 8usr8src8linu6/version9que9sea 9sea7, otras distros lo ubican en 6 8usr8src8%ernel8linu6/versio 8usr8src8%ernel8linu6/version n7< n @ínculo simbólico de 6 8usr8src8linu67 debe apuntar al directorio actual del >ernel 3uente 0modi3icamos con 6ls /ld 8usr8src8linu671< =on @arios >ernels 5a# que 5acerlo a mano 6 rm 8usr8src8linu6, 8usr8src8linu6, # 6ln /s 8usr8src8linu6/version 8usr8src8linu6/version 8usr8src8linu6 8usr8src8linu67< &e puede instalar con 6 :um # apt7, buscando 6 linu6/source o %ernel/devel 7, tambi4n podemos instalar sólo las cabeceras con 6 linu6/7eaders o %ernel/7eaders 7<
;ocumentación* &e encuentra en 6 8usr8src8linu68R&A;*& 8usr8src8linu68R&A;*&7< Ba documentación especí3ica # subsistemas del >ernel se encuentra en 6 8usr8src8linu68;ocumentation 8usr8src8linu68;ocumentation7, pero es enorme, 5a# un índice 6 / I-;&<7< Binarios del 5ernel* na @ez compilado, el >ernel produce dos arc5i@os, dos categorías* Arc7ivo principal del %ernel * contiene las partes centrales del >ernel, es procesado por el bootloader< Ceside en 6 8 7< 7< 7, con subdirectorios para @ersiones< *ódulos del 5ernel * residen 6 8lib8modules8 7, •
•
1abla de arc7ivos principales del 5ernel * vmlinu6* @ersión descomprimida del kernel, creado como paso intermedio< (o arrancable< vmlinu* @mlinux comprimida, arrancable con algunas 3unciones< &uelen ser nombres de • •
• • •
>ernels binarios precompilados< Image * obsoleto, tama8o limitado a /" >'< bImage* sustitu#e al obsoleto z%mage< (ombra >ernels compilados localmente< 5ernel* binario estilo bz%mage, usado por bootloaders como Grub<
23!2 Compilar un 5ernel Configurar las fuentes del 5ernel * 5a# miles de opciones de con3iguración, para con3igurarlo bien 5a# que*
LPIC 2 1emario 23 b' Jorge Andrada
= 8 >?
Investigar su 7ard@are * tener un módulo innecesario a8ade tiempo de carga del &D< a# que leer los manuales del 5ardware # usar* lspci, lsusb # lsmod<
tiliar ob0etivos ma%e del 5ernel * Algunos son* • • • • •
• • • •
mrproper * elimina arc5i@os de con3iguración # temporales antiguos< oldconfig* actualiza un arc5i@o de con3iguración antiguo con elementos nue@os< virtualdconfig* oldcon3ig pero más ordenado por pantalla< defconfig* crea un arc5i@o de con3ig nue@o con los @alores por de3ecto< allmodconfig* crea un arc5i@o de con3iguración que emplea toda la con3iguración modular posible< config* con3igura todos los elementos del >ernel usando un inter3az basada en texto< menuconfig* con3igura el >ernel usando un sistema de menF basado en texto< 6config* como menucon3ig, pero con G% basada en t< gconfig* xcon3ig, pero basado en Gtk<
pciones de configuración * =on menucon3ig, xcon3ig o gcon3ig< Alguna con3iguración con3iguración importante* Configuración generalDersión local * para montar el mismo >ernel con di3erentes opciones< Configuración general general $oporte Ram inicia : disco inicial * 0intranHHHIinitrd1* si se usa un disco CA$ inicial< Configuración general Eabilitar soporte de módulo cargable * no podría cargar dri@ers que no @engan del >ernel< $uc5os incon@enientes< 1ipo : funciones el procesador $oporte de multiproceso * 5abilita más de una =P o nFcleo por =P< 1ipo : funciones del procesador 'amilia del procesador * se logra rendimiento especi3icando una =P concreta< •
•
•
•
•
Compilar un 5ernel4 acemos 6 ma%e7 en el directorio 3uente del kernel< Podemos compilar el >ernel por separado con 6ma%e nImage o Image 7 # los módulos con 6 ma%e modules7< Para localizar errores* 6 *a%e Image F grep /i@ )error, 7< Preparar un disco de RA* inicial * Es una colección de módulos 3undamentales del >ernel # grupo de utilidades del sistema que el bootloader pasa al >ernel en el arranque< El >ernel accede a ellos en la memoria como si 3uese un disco, carga módulos # e9ecuta scripts para montar 6 8 7< 7< Es necesario cuando usamos* CA%J, BK$ o (A& 0&A( en espa8ol1, pero recomendable para los demás< erramientas de creación* m%initrd* RedEat 'edora : relacionados relacionados < a# que pasarle el nombre de imagen de disco CA$ # su nL de @ersión del >ernel* 6 m%initrd 8boot8initrd/2!>!.2!?!img 2!>!.=!? 7< Esto crea el arc5i@o 6IbootIinitrd--M-)/-.7< =on 6 /f, borra los anteriores antes de crear el nue@o< m%initramfs* igual que 6m%initrd7 pero 5a# que especi3icar el nombre con 6 /o7, e9emplo* 6mkinitram3s -o IbootIinitram3s-
•
=on el comando 6 rdev7 se cambia las opciones de modo KGA, tama8o de disco CA$, etc< $in argumentos muestra la línea de 6 8etc8mtab7 con el sistema root actual<
LPIC 2 1emario 23 b' Jorge Andrada
> 8 >?
23!. Parc7ear el 5ernel* (o siempre es necesario, permite realizar cambios en las 3uentes del >ernel sin tener que descargar el >ernel nue@o entero, se obtiene el arc5i@o 6 patc7/version!g o patc7/version!b2 7< =on 6gip8bip2 /cd !!8 patc7/version!g8b2 patc7/version!g8b2 F patc7 /pl 7< Para quitar el parc5e 6unzip -c <
23!? Personaliar Personaliar compilar e instalar un %ernel personaliado : módulos &mpaquetar el 5ernel * Para instalar el >ernel en otro sistema, se 5ace con 6 rpm/p%g binrpm/p%g o deb/p%g 7 como parámetros a make< Es recomendable instalarlo sin actualizar el anterior >ernel 0lo borra1 por si no arrancase el pc<
Instalación de un binario del 5ernel * na @ez compilado el >ernel lo instalamos, copiándolo a 6 8boot7, que suele estar desmontada para e@itar errores en algunas distros< Ba imagen a copiar es un bz%mage en la ma#oría de las distros 6 cp arc7HHH86>8boot8bI arc7HHH86>8boot8bImage mage 8boot8bImage/2!>!.=!? 8boot8bImage/2!>!.=!? 7< (o es obligatorio, pero recomendable r ecomendable copiar tambi4n el arc5i@o 6 $:stem!map 7 que se usa para 8boot8$:stem!map7< depuración del >ernel< =opiamos # creamos enlace simbólico 6 8boot8$:stem!map Oodo esto nos lo podemos a5orrar con 6 ma%e JJ ma%e install 7 que compila, copia el >ernel, copia stem
Instalar los módulos del 5ernel * modules9install7< Esta llama tambi4n a 6 depmod7 que regenera el arc5i@o =on 6sudo ma%e modules9install 6*odules!dep7 de dependencias< A+adir el 5ernel a Grub * Ba manera más sencilla es copiar una entrada existente, pegarla # editarla< Grub3* cambiar el 6title7 para identi3icarlo, cambiar el nombre de arc5i@o en la línea 6>ernel7< &i se usa otro disco CA$, cambiar la línea 6 initrd7< (o borrar la otra sin 5aber probado a iniciar el nue@o >ernel< Grub2* copia de seguridad a 6 8boot8grub8grub!cfg 8boot8grub8grub!cfg7< acemos un 6 sudo update/grub2 o grub/m%config7< &i no lo encuentra porque tiene un nombre personalizado 0no se llama @mlinuz o >ernel1 5a# que a8adirlo a mano en 6 8etc8grub!d8?/custom 8etc8grub!d8?/custom7< $odi3icar el 6menuentr: 0el título17 # los nombres del >ernel # disco CA$< &i queremos cambiar el >ernel por de3ecto al inicio cambiamos el parámetro 6 default7 en 6 8boot8grub8grub!cfg 8boot8grub8grub!cfg7< •
•
probableente lo a,a"a "e ora autotica. Nota: si se instala "es"e binario' probableente
23!= Administrar Administrar módulos del 5ernel durante la e0ecución * btener información sobre el 5ernel4 =on 6uname /a7, con 6 /o7 indica el &D 0Binux, ?ree'&J, &olaris, $acD&<<<1< El directorio 6 8proc7 tiene muc5a in3ormación<
btener información información de los módulos del 5ernel en e0ecución4 samos 6lsmod7 para @er los módulos cargados en el sistema< Oiene una columna llamada LPIC 2 1emario 23 b' Jorge Andrada
K 8 >?
6$odule7 que se le pasaría como parámetro a 6 modinfo7 si queremos @er más in3ormación sobre ese módulo< Ba columna 6 sed b:7 de 6lsmod7 describe que usa el módulo< Lsmod no muestra in3o de los dri@ers que se compilan directamente sobre el >ernel< Cargar módulos del 5ernel4 mediante dos programas * dependencias1< Cequiere el nombre ismod* carga un Fnico módulo en el >ernel 0(o sus dependencias1< completo< e9* 6insmod 8lib8modulos82!>!.=!?85ernel8drivers8c 8lib8modulos82!>!.=!?85ernel8drivers8cdrom8cdr drom8cdrom!5 om!57< modprobe* carga el módulo # los módulos de los que depende< Es más sencillo< E9* 6modprobe cdrom 7
•
• • •
En la práctica puede que no 5aga 3alta, #a que Binux los carga automáticamente, pero puede ser Ftil para probar nue@os módulos<
&liminar módulos del 5ernel * =on 6rmmod7, que es lo opuesto a 6insmod7, 3unciona como modprobe 6 rmmod nombre9módulo7< =on 6 /f 7 3uerza< =on 6 /r7 borra el módulo # los que dependen de 4l< erramientas # arc5i@os para el mantenimiento de módulos* ;ependencias de los módulos * se almacenan en 6 8lib8modules8version5ernel8modules!d 8lib8modules8version5ernel8modules!dep ep7< El comando 6 depmod7 lo reconstru#e< Configuración de los módulos * en 6 8etc8modules!conf 8etc8modules!conf o 8etc8modules!conf!d o o 8etc8modules!conf!d o 8etc8modprobe!conf!d 8etc8modprobe!conf 8etc8modprobe!conf o 8etc8modprobe!conf!d7< Pasar opciones a los módulos del 5ernel * edita los arc5i@os de con3ig # pasarle opciones a8adiendo una línea de este tipo 6 options nombre9módulo opciones 7 # luego reconstruir con 6depmod7< •
•
•
Nota: para aseurarnos !ue un "ispositivo usa siepre un "eterina"o ó"ulo' $a* !ue a,a"ir %alias dispositivo módulo & en %/etc/o"ules.con& o %/etc/o"probe.con&' %/etc/o"probe.con&' ejeplo: %alias et$0 3c51&.
LPIC 2 1emario 23 b' Jorge Andrada
8 >?
1ema 22 Inicio del sistema 22!3 Personaliar el arranque : procesos de inicio Identificar los servicios de un modo m odo de e0ecución * a# maneras* Editando el arc5i@o 6 8etc8inittab7 que tiene el siguiente 3ormato 6id4runlevels4acción4proceso 7< *odos de e0ecución4 •
3 2 . ? = >
•
•
Apagado $onousuario $ultiusuario en deri@adas de Jebian $ultiusuario en ?edora, Cedat # deri@adas (o se usa Ceinicio
Para que los cambios sur9an e3ecto 5a# que reiniciar o 5acer un 6 telinit "7< $cripts de inicio o $:sD* se encuentran en 6 8etc8init!d8rc7 o en 6 8etc8rc!d8rc, 8etc8rc!d8rc,< Bos scripts especí3icos para cada ni@el de e9ecución se encuentran en 6 8etc8init!d8rc
pstart * más moderno que sK< En distros modernas< -o usa 6 8etc8inittab7, usa 6 8etc8init7 0en antiguos pstart usa 6IetcIe@ent 7 0inicia en el !," # M1< Para que pstart relea los arc5i@os de con3ig, escribimos 6 initctl reload7< Es compatible con sK<
Eerramientas para gestionar programas activos en modos de e0ecución * c7%config* listar ser@icios con 6 /l7< Para un sólo ser@icio sería 6 c7%config /l nombre9servicio 7< Para modi3icar modos 6c7%config //level 2. nombre on8off 7 0, ) son los runle@els que •
•
queramos1< &i no aparece un ser@icio, lo registramos con 6 c7%config /add nombre 7< pdate/rc!d * en Jebian, 3ormato 6 update/rc!d Oopciones nombre acción 7< pciones* remove* limpia el ser@icio defaults * crea ni@eles para iniciar en los runle@els ,),.,/ # detenerlos en !,",M< start nN runlevels * empieza en esos runle@els< stop nN runlevels * para en esos runle@els< • • • •
LPIC 2 1emario 23 b' Jorge Andrada
Q 8 >?
Cambiar el modo de e0ecución* =on 6init8telinit nN9runlevel , s7utdo@n , 7alt, reboot # po@eroff 7< 7< Comprobar el modo de e0ecución * 'uscar 6initdefault7 en 6 8etc8inittab7 o escribir 6runlevel7< Grub para indicar el runlevel* Al final de la línea del 5ernel escribir 6runlevelnN9runlevel7< *odo seguro* En grub podemos entrar en modo recuperación si pulsamos 6 $7ift, durante el inicio # podremos elegir la entrada de 6reco@er#7< En ella podemos usar 3sck, actualizar, etc<
Grub s7ell* Pulsando 6 c7 podemos entrar en la línea de comandos< a# @arias s5ells* normal 6 s74grub 7 # la de rescate cuando ocurre algo gra@e 6 grub rescue 7<
LPIC 2 1emario 23 b' Jorge Andrada
3 8 >?
1ema 2.4 $istemas $ istemas de arc7ivos : ;ispositivos 2.!3 *ane0ando el sistema de arc7ivos de Linu6 Oipo de sistemas de arc5i@os* &6t2fs o e6t2* 3ue creado para Binux< &6t.* ext con respaldo de transacciones< transacciones< &6t?* ext) que permite traba9ar con discos de ) Ob # arc5i@os de más de O'< Reiser'$* desde !, popular para muc5os arc5i@os peque8os< #'$< • • • • • • • • • • • • •
<'$! Btrfs* el candidato 3uturo para sustituir a los demás< 'A1* en Binux con nombres largos-R @3at< -1'$* linux lee # sobreescribe< E'$ # E'$S* de $acD&< I$/Q>> * de =J-CD$< #oilet* cdrom propietario de Tindows< ;'* 3ormato uni@ersal de disco, d@d, regrabables, etc<
*ontar sistemas de arc7ivos * sando 6mount /t tipo9fs /o opciones dispositivo punto9monta0e punto9monta0e 7< Parmetros de mount* /a* monta lo listado en 6IetcI3stab7< /r* en sólo lectura< /@* escritura< /t* tipo de sistema de arc5i@os 0automáticamente lo detecta1< /L etiqueta* a8ade etiqueta< • • • • •
pciones de mount 0-o1* defaults< loop* para montar un disco 6
*ontar sistemas de arc7ivos de manera permanente * El arc5i@o 6 8etc8fstab7 es la tabla de sistemas de arc5i@os en Binux< =ada una de las líneas que contiene corresponden a una partición<
LPIC 2 1emario 23 b' Jorge Andrada
33 8 >?
=ada línea contiene M campos* Oambi4n por %J 0nL de ;ispositivo* indica el dispositi@o montado< E9* 6Ide@Isdb/7< Oambi4n partición largo1 o BA'EB< =on 6blkid Ide@Idispositi@o7 se de@uel@e el %J< Punto de monta0e * es donde se montará la partición o disco< =on excepciones 6 8 7 # 6s@ap7< Bos medios estraibles se montan en 6 8mnt o 8media7< Oipo de sistema de arc5i@os* con auto lo detecta automáticamente< automáticamente< pciones de montado * indica el modo en el que el >ernel tratará el sistema de arc5i@os< &e pueden especi3icar @arios, separándolos por comas, e9* users, noauto, etc< Bas mismas opciones que el comando mount< Copia de seguridad * " si la utilidad 6 dump7 5ace copia de seguridad # ! en caso contrario< Ua no es popular el uso el 6 dump7, apenas se usa , por lo que siempre es !< rden de revision del sistema de arc7ivos * orden en el que la 5erramienta 6 fsc%7 re@isa la integridad< &i es ! no re@isa< Ba partición 6 8 7 debe de tener @alor " # los demás @alor < •
•
• •
•
•
E9emplo* %JQ!<<"<< ImediaIJatos ext. users ! ! Nota: la opción % credentials& es para coparti"os "e saba !ue re!uieren usuario * contrase,a' username*nombre#pass+ord*contrase,a rd*contrase,a &' pero se po"ra leer por cual!uiera. se pue"e poner % username*nombre#pass+o +n luar "e eso eso se usa % credentials*arc$ivo&' con periso "e sólo lectura para root * orato: username*nombre pass+ord*contrase,a pass+ord*contrase,a
*ontado automtico de sistma de arc7ivo s* Antiguamente se en encargaba 6 Eal7, pero a5ora lo gestiona 6 dev7< &e inserta el pen, de@ detecta el cambio # el gestor de arc5i@os tiene el control<
Autofs* E@ita tener que montar siempre las particiones de &amba< El arc5i@o de con3iguración está en 6 8etc8auto!master 8etc8auto!master7< E9emplo, le a8adimos 6Iremote IetcIauto
;eterminar lo que est montado * samos 6mount7 sin parámetros o 6 cat 8etc8mtab 7 0muestra todo lo montado1 o 6 cat 7< 8proc8mounts 8proc8mounts7< U con 6 df 7< ;esmontar* =on 6umount7< &i da error porque está en uso, podemos usar las 5erramientas 6 lsof 7 # 6fuser 7 para listar arc5i@os abiertos # los procesos que están usando sosos arc5i@os< arc$ivos Nota: el coan"o % s'nc& sincroniza la cac$ "e un "isco' pero no "esonta el sistea "e arc$ivos anterior.
2.!2 *antenimiento de los sistemas de arc7ivos4 Crear un sistema de arc7ivos * E9emplo 6m%fs -t ext) Ide@IsdaM7< =on 6 /C7 se comprueban baques de3ectuosos 6 badbloc%7< a# 6mk3s7 de * ext, extg) # ext., en estos Fltimos ), una opción importante es 6-m porcenta9e7, que de3ine el W de espacio reser@ado en un disco 0/W por de3ecto1, si queremos W pues sería 6-m 7< En discos extraible m es !< Nota: con %-L etiueta& se a,a"e eti!ueta' e1cepto con )reisers (-l# * )s.vat (-n#. LPIC 2 1emario 23 b' Jorge Andrada
32 8 >?
Revisar en busca de errores * =on 6fsc%7< Dpciones /A* @eri3ica todos los 3s de IetcI3stab< &e suele usar al inicio< /C* muestra indicador de progreso< /D* resumen detallado< • • •
a# que usarlo con sistemas desmontados o de sólo lectura<
btener información de los sistemas de arc7ivos * Para la 3amilia ext, se usa 6 dumpe2fs opciones dispositivo 7< En ?& 66fs/info dispositi@o7 # para Ceiser?& 6debugreiserfs 7< A0ustar sistemas de arc7ivos * ?amilia ext con 6 tune2fs opciones dispositi@o7< Dpciones de tune3s* -c nNde montado * nL de monta9es para que salte 3sck< /C nNde montado* enga8a al contador de montados< /i nN d@m* días, semanas, meses para que salte 3sck< /m S* espacio de disco reser@ado< /L etiqueta* cambia la etiqueta< • • • • •
Para <'$ usamos 6 6fs/admin opciones dispositivo 7, Dpciones* 6 /l etiqueta7 cambia la etiqueta # 6/m nN de montados 7 igual que 6 tune2fs 7< Para Reiser's usamos 6 reiserfstune reiserfstune opciones dispositivo 7, con las mismas opciones que 6 6fs/ admin7<
;epurar el fs de manera interactiva * =on 6debugfs, 6fs9db # debugraiserfs debugraiserfs dispositivo7 # aparece un prompt para meter los siguientes comandos 6s7o@9super9stats o stats7 que muestra la in3ormación de superbloques< *anipular espacio de intercambio * Ba swap con código !x< =reamos swap con 6 m%s@ap opciones dispositivo 7, como opciones se suele usar 6 /L etiqueta 7 para etiquetar< (ormalmente se suele crear en particiones, pero tambi4n se puede usar un arc5i@o< Para acti@ar 6s@apon dispositivo 7, si usamos 6 /a7 acti@a todas las listadas en 6 8etc8fstab7< Para desacti@ar usamos 6 s@apoff 7< 7<
Administrar discos ópticos * (o se pueden meter datos directamente, 5a# que crear el sistema de arc5i@os completo con 6m%isofs o genisofs7 que genera un I$/Q>!< Para JKJ 6gro@isofs 7< Podemos usar G% como Gnome Ooaster, >)b, etc E9emplo* 6mkiso3s -; -r -K 6@olumen nan7 -o <
;'* 6m%isofs /;'7< &erá de lectura, para escribir tenemos que tener instalado 6 udftools7< samos 6m%udffs 8dev8dvdr@ 7<
LPIC 2 1emario 23 b' Jorge Andrada
3. 8 >?
2.!? ;&D* =rea entradas para el 5ardware< Ceglas de@ en 6 8etc8udev8rules!d 8etc8udev8rules!d7, se controlan en orden num4rico< $ostramos in3o con 6 udevadm info7, en distros nue@as es 6 udevinfo7< pciones de de@* * compara igualdad< T* compara desigualdad< @alor< * asigno el @alor a la cla@e reemplazando el antiguo @alor< U* a8ade el @alor al grupo de @alores existentes< 4* asigna el @alor a la cla@e # anula 3uturos cambios< • • • • •
Crear regla* creamos arc5i@o en 6 8etc8udev8!d8QQ/m:!r 8etc8udev8!d8QQ/m:!rules ules7< *onitoriar de@* con 6 udevmonitor7, escuc5a los e@entos del kernel producidos por una regla ude@ # muestra la in3ormación por consola< Para controlar el comportamiento usamos 6 udevadm 7<
LPIC 2 1emario 23 b' Jorge Andrada
3? 8 >?
1ema 2?4 Administración avanada de disco 2?!3 Raid Crear particiones4 Podemos crear usando la librería 6 libparted7, usada por los programas* Gparted, 3disk # 3disk de GPO 0programas gdis% # sgdis% 1< Oodos los programas se usan de esta manera 6 programa programa 8dev8dispositivo7< Ba con3iguración CA%J se almacena en 6 8etc8raidtab7< Nota: e1iste s1dis) !ue se usa en o"o no interactivo para usarlo con scripts =omandos fdis%* d* borra partición< l* muestra la lista de códigos de tipo de particiones 0!x!Q(O?&, !xQswap, etc1< n* nue@a partición< o* destru#e la tabla de particiones< p* muestra la tabla de la partición actual< q* sale sin guardar cambios< t* cambia el código tipo de partición< @* guarda # sale< • • • • • • • •
.ruco: po"eos visualizar la tabla "e partición con % 1dis) -lu &dev&dispositivo& * sale. -ota* los códigos de partición en GPO son @alores G%J de "M b#tes, e9emplo* (O?& sería !x!!!, ext sería !x)!!, swap !x!!<
1ipos de RAI;* *odo lineal* no es t4cnicamente CA%J, pero es gestionado por CA%J en Binux< =ombina •
•
•
•
•
•
•
discos sumando espacio< RAI;* combina discos sumando espacio< &e leeIescribe de 3orma intercalada, una parte en cada disco< $e9ora @elocidad< &i un disco 3alla, los demás serán inFtiles< BK$ tambi4n usa di@isión por bloques< RAI;3* 0mirrow1 crea copias exactas en discos< $e9ora 3iabilidad, pero es más lento< El disco adicional puede estar como* 65ot stanb#7 o disco de reser@a 05ost spare1 que permanece inacti@o 5asta que el otro disco 3alla, por lo que debe de copiar los datos al otro disco< RAI;?* intenta mantener bene3icio del ! # "< Bos datos se di@iden como en CA%J!, pero 5a# un disco que almacena sumas de control para regenerar datos perdidos< (ecesita ) discos mínimo< RAI;=* como CA%J., pero sin el disco que almacena las sumas de control, estas sumas se intercalan en todos los díscos< $ínimo ) discos< RAI;>* &i más de una unidad 3alla en CA%J/ o M, se pierden los datos< Para e@itar esto se usa un disco más, para sumas de control< -< $ínimo . discos< RAI;3* mezcla entre CA%J" # !, conocida como CA%J "-!< Parecido a . o /<
Nota: spare siniica uni"a" "e repuesto. Nota: para calcular el taa,o "e 4I6 7 * 5: (n8 "e "iscos -9# 1 (sua "e taa,o "e "iscos restantes#. LPIC 2 1emario 23 b' Jorge Andrada
3= 8 >?
Raid en Linu6* Bas particiones se combinan con los dri@ers raid del >ernel, con nombre 6 8dev8mdV7 0en raid por so3tware, en 5ardware aparecen normales1< Esto permite usar CA%J para dispositi@os enteros, sólo para particiones o para discos con distinto tama8o< Nota: rub9 no soporta 4I6' rub2 si. ;e pue"e usar rub9' pero "ejan"o una partición % &boot & aparte.
Preparar disco para RAI; soft@are * Jos opciones* =rear una partición CA%J en cada disco # se de3ine el con9unto entero< &e crean las particiones en cada disco # luego se unen< $ás 3lexible< CA%J por 5ardware es más e3iciente que por so3tware< • •
&nsamblar un con0unto RAI; * na @ez preparadas las particiones que se incluirán en el con9unto CA%J, usamos la 5erramienta 6mdadm7 para ensamblar las particiones< 6mdadm Omodo dispositivo9raid Oopciones dispositivos9integrantes dispositivos9integrantes 7 Oipos de modo* -A* ensambla un con9unto #a ensamblado pre@iamente< /B* crea un con9unto CA%J sin metadatos 0sólo para expertos1< /C* crea con9unto # metadatos< /'* monitoriza cambios de estado< /G* modi3ica el con9unto< /I* a8ade un Fnico dispositi@o CA%J< sin parmetros * busca CA%Js # los acti@a< • • • • • • •
pciones* /7* a#uda< /v* in3o adicional< /D* @ersión< /f * 3uerza< /c arc7ivo* especi3ica el arc5i@o de con3iguración, que por de3ecto es 6 8etc8mdadm!conf 7 o 6 8etc8mdadm8mdadm!conf 7< 8etc8mdadm8mdadm!conf 7< /s* obtiene in3ormación perdida sobre el arc5i@o de con3iguración< /e nNnivel* tipo de metatados, por de3ecto !,+!< /n* establece el nL de dispositi@os acti@os en el con9unto más el nL sobrantes< Es el total< /6 num* establece el nL de dispositi@os sobrantes extras< /c tama+o* tama8o de bloques, por de3ecto M.< /l nivel de raid* linear, raid!, etc< /- nombre* establece un nombre para el con9unto< /a* a8ade dispositi@os al con9unto< /r* borra dispositi@os del con9unto< -$* de stop, desacti@a el con9unto< • • • • •
• • • • • • • • • •
E9emplo 6mdadm -- create Ide@Imd! --le@elQ/ --raid-de@icesQ) Ide@IsdaM Ide@Isdc" Ide@Isdd"7<
LPIC 2 1emario 23 b' Jorge Andrada
3> 8 >?
na @ez creado, lo usamos como particiones, o particionarlos o usarlos como @olFmenes BK$< E9emplo de particiones de Ide@Imd!* md!p", md!p, etc
Revisar configuración RAI; * =on 6cat 8proc8mdstat7, que contiene la in3ormación del estado de dispositi@os CA%J<
2?!2 A0ustar acceso al disco Identificar el uso de recursos del disco * =onsultar los %C= con 6 cat 8proc8interrupts 8proc8interrupts7< &i 5a# errores, podemos a9ustar a mano las %C con la utilidad 6s:sctl 7, cu#o arc5i@o de con3iguración es 6 8etc8s:sctl!conf 7< Kemos errores 3ácilmente 8etc8s:sctl!conf 7< con 6s:sctl /a F grep irq 7< Probar funcionamiento del disco * =on 67dparm /t 8dev8dispositivo 7< =on 6/17 prueba la cac54 del disco, se suele poner 6 /t17 para probar las dos a la @ez< Para discos &=&% es 6 sdparm 7< *onitoriar fallos* =on la 3unción &$ACO 6smartctl /a 8dev8dispositivo7, podemos monitorizar errores<
2?!. LD* BK$ es parecido a CA%J, pero más 3lexible # 3ácil< =omprende ) ni@eles de estructuras de datos* @olFmenes 3ísicos, grupos de @olumen # @olFmenes lógicos 0equi@alente a particiones1< Bas particiones tradicionales empiezan en un sector del disco # terminan en otro, son in3lexibles< Nota: va por la versión 2' se instala lv2' apt-get install lvm2. Nota: +<=; es un sistea para a"inistrar 4I6' L<= * otros. Nota: rub9 no lee L<=' por lo !ue $a* !ue sacar uera % &boot.
&structuras * DolWmenes físicos* como las particiones con@encionales< Grupos de volWmen* colección de uno o más @olFmenes 3ísicos, que son gestionados como • •
•
un Fnico espacio de asignación< discos de "O'Q O'< DolWmenes lógicos * se crean 6particiones 6 sin 5acer re3erencia a sectores del disco<
Nota: +l cisco "e 4= inicia "ebe "e tener 4I6 * L<=. Nota: si $a* 2 "iscos en L<= * alla 9' se pier"e to"o.
Crear : manipular volWmenes físicos * =ódigo $'C de particiones LD* 6&< Primero 5a# que marcar los @olFmenes 3ísicos, para usarlos como BK$< Buego 5a# que etiquetarlos con las 5erramientas 6 8sbin8pvM4 pvc7ange pvc7ange pvc% pvcreate pvdispla: pvmove pvrename , etc<7 E9emplo* p@create Ide@IsdaM Ide@Isdb Ide@Isdc, luego comprobamos con p@displa#< p@displa#<
LPIC 2 1emario 23 b' Jorge Andrada
3K 8 >?
Crear : manipular grupos de volWmen * =on las 5erramientas 6 8sbin8vgM4 vgcfgbac%up vgcfgbac%up vgcfgrestor vgcfgrestore e vgc% vgcreate vgcreate vgdispla: vgdispla: etc 7< E9emplo* @gcreate nombreX@olumen Ide@IsdaM<<<, comprobamos con @gdispla#< @gdispla#<
Crear : manipular volWmenes lógicos * =on las 5erramientas 6 8sbin8lvM4 lvc7arge lvc7arge lvconvert lvconvert lvcreate lvcreate lvdispla: lvdispla: lve6tend lvreduce lvreduce lvremove lvrename lvscan 7< E9emplo* 6l@create -B tama8o -n miX@olumen nombreX@olumen7, 5a# que 3ormatearlo con 6mk3s
Instantneas * Es un @olFmen lógico, que preser@a el estado de otro @olFmen lógico< &e crean mu# rápido< E9emplo* creo instantáneas, intento actualizar # no 3unciona bien, pues restauramos la instantánea< Nota: >trs (sistea "e arc$ivos reciente# inclu*e instantneas. =reamos instantáneas con 6 lvcreate /s 7< E9emplo* 6l@create -B "!G' -s -n snapp# Ide@IspeakerIP=BD&7, Ide@IspeakerIP=BD&7, que crea un nue@o @olFmen lógico llamadom snapp#, snapp#, que dublica el contenido de Ide@IsepakerIP=BD& en una instantánea de "!Gb< Podemos @er la capacidad de la instantánea* con 6 lvs7 # 6lvdispla:7<
Restaurar 6lvconvert //merge 8dev8spea%er8snapp: 8dev8spea%er8snapp: 7< (ota* el orden es* p@create 0creo @olumen 3ísico1, @gcreate 0creo grupo de @olumen1, l@create 0creo @olumen lógico1, mk3s
LPIC 2 1emario 23 b' Jorge Andrada
3 8 >?
1ema 2=4 Configuración de red 2=!3 Configuración bsica de redes Conectar por @ifi * 'uscamos redes con 6 i@list7< &in root sólo muestra a la que está conectado # con root conectado más disponibles< ?ormato 6 i@list adaptador comando7< =omandos i@list* scan o scanning * muestra la lista de redes disponibles como root # la conectada si se usa usuario normal< frec, frequenc: o c7annel * muestra la lista de canales disponibles para el adaptador< soportadas para el dispositi@o< rate, bit o bitrate* muestra todas las @elocidades soportadas %e:s, enc, encr:ption* lista las cla@es de encriptación disponibles< aut7* lista parámetros de autenticación establecidos actualmente< @pa o @pa%e:s* lista las cla@es wpa establecidas en el dispositi@o< po@er* lista de modos de gestión de energía disponible< adaptador< t6po@er* parámetros de energía de transmisión del adaptador< retr:* lista de parámetros de reintento actuales< event * lista de e@entos inalámbricos soportados por el dispositi@o< mod o modulation* lista la modulación usada por el dispositi@o< •
• • • • • • • • • •
Conectamos con wi3i mediante 6i@config adaptador essid -ombreXifi c7annel < mode *anager %e: s4clave 7< Ba 6 s7 indica que es una secuencia de texto, en 5exadecimal no 5ace 3alta< a# 5erramientas grá3icas de conexión como 6 @icd7 0wicd-gtk1, tambi4n en consola 6 @icd/cli7< =on 6i@sp:7 obtenemos estadísticas de los nodos, comprueba calidad del enlace 09unto con iwcon3ig1<
Clientes ;ECP* Algunos clientes son 6 pump, d7client # d7cpcd 7<
Ponder IP esttica * 'edora* en el arc5i@o 6 8etc8s:sconfig8net@or%/sc 8etc8s:sconfig8net@or%/scripts8ifcfg/ad ripts8ifcfg/adaptador aptador 7 sustituir en la línea 6Bootprotod7cp 7 el d7cp por static< Jebe de quedar así* •
4E5ICE*et$! 4E5ICE*et$! 677.P87.7*static 677.P87.7*static IPA448*9/290:92 IPA448*9/290:92 NE.;A<=*2>>2>>2>>! NE.;A<=*2>>2>>2>>! NE.?78=*9/290:9! NE.?78=*9/290:9! 687A4CA<.*9/290:92>> 687A4CA<.*9/290:92>> @A.E?A*9/290:99 7N677.*'es
•
;ebian* en el arc5i@o 6 8etc8net@or%8interfaces 8etc8net@or%8interfaces7 buscamos la línea 6 iface adaptador inet d7cp7 # sustituimos d7cp por static< Jebe de quedar así* auto lo i1ace lo inet loopbac) auto et$! i1ace et$! inet static address 9/290:92 netmas) 2>>2>>2>>!
LPIC 2 1emario 23 b' Jorge Andrada
3Q 8 >?
net+or) 9/290:9! broadcast 9/290:92>> gate+a' 9/290:99
Nota: po"eos a,a"ir varias IPs a un ?nico interaz' en ese arc$ivo crearaos crearaos otra coniuración con %et$!%!&' lueo % et$!%9' etc. @anto en 6ebian coo en Ae"ora. Oambi4n lo podemos 5acer mediante comando s* %P # máscara* 6 ifconfig adaptador up IP netmas% *A$CARA 7 Puerta de enlace 6 route add default g@ P&R1A9&-LAC& 7< Podemos @er la con3iguración con 6 ifconfig # route7 sin parámetros< • •
Asignar ;-$* Bos J(& los cambiamos en 6 8etc8resolv!c 7, con el 3ormato* 8etc8resolv!conf onf 7, B;áimo 3 4N< nameserver 2!:0D222222 nameserver :::: nameserver ::
Apagar encender adaptador * Podemos 5abilitar # des5abilitar un adaptador 6 ifup8ifdo@n adaptador7<
Configurar nombres de 7ost * Podemos a8adir equipos para la resolución de nombres, a8adi4ndolos a 6 8etc87osts7 con el 3ormato 6IP nombre7< Podemos con3igurar nuestro nombre de equipo con el comando 6 7ostname nombre7 o editando el arc5i@o 6 8etc87ostname7 0en Jebian1 o 6 8etc8s:sconfig8net@or%, 8etc8s:sconfig8net@or%, 0en ?edora1< Podemos comprobar si se 5a cambiado usando 6 uname /a o 7ostname7<
Comprobar la conectividad bsica * sando ping # luego 6Control/C 7 o 6ping /C nNpaquetes IP87ostname7< ARP permite @er # modi3icar la cac54 ACP, parámetros* -d IP* borra la de la cac54< /s IP *AC* a8ade a la cac54< • •
Comando IP* El comando %P es un 6todo en uno7, su 3ormato es 6 ip Oopciones ob0eto comando 7< Db9etos* lin%* realiza acciones en el 5ardware local< addr* asocia %P< addrlabel* muestra o a9usta %Ps en una red %P@M< route* modi3ica la tabla de enrutamiento< rule* modi3ica iptables< neig7* muestraImodi3ica entradas ACP< tunnel * 3unciones de tunneling< maddr* direcciones de multidi3usión< mroute* rutas de multidi3usión< monitor* monitoriza la acti@idad de red< • • • • • • • • • •
LPIC 2 1emario 23 b' Jorge Andrada
2 8 >?
2=!2 Configuración avanada de red Configurar Linu6 como router * sando el comando 6 route7, podemos redirigir el trá3ico< Para acti@ar el redireccionamiento con* 6ec7o )3, 8proc8s:s8net8ipv?8ip9for@ar 8proc8s:s8net8ipv?8ip9for@ard d 7, aunque será de 3orma temporal, para 5acerlo de 3orma permanente 5a# que modi3icar 6 8etc8s:sctl!conf 8etc8s:sctl!conf 7 con 6net!ipv?!ip9for@ard37< DP-* Jos segmentos pri@ados de red se enlazan a tra@4s de un router< samos DpenKP(< DpenKP( usa criptogra3ía de cla@es pFblicas< 7< Bos Configurar la DP- * editar 6 8etc8openvpn8client!conf 8etc8openvpn8client!conf 7 o 6 8etc8openvpn8server 8etc8openvpn8server!conf !conf 7< parámetros a modi3icar son 6 ca, cert, %e: # si es ser@er tambi4n d77< &i los clientes deben de comunicarse entre si, eliminamos el comentario de 6 cliente/to/cliente7 del ser@idor< ser@idor< Por seguridad borramos los comentarios de las directi@as 6 user nobod: # group nobod: 7 del ser@er< En los clientes 5a# que editar el parámetro 6 remote7 con la %P del 5ost # el puerto 0""+. por de3ecto1<
&stablecer cone6ión DP- * iniciar KP( con 6 openvpn ruta9arc7ivo9config 7< &i inicia 5acemos ping a la %P "!<
Configurar un PC como CA para certificados * mediante scripts que se encuentra en 6 8usr8s7are8openvpn8eas 7, editamos 6 8etc8openvpn8vars 8usr8s7are8openvpn8eas:/rsa :/rsa7, lo copiamos a 6 8etc8openvpn8 7, 8etc8openvpn8vars7 # luego desde 6 8etc8openvpn8 7* 7* &vars &clean-all &build-ca
=uando termine* 6 !8build/%e:/server $erver7, luego los clientes 6 build/%e: cliente3 etc 7< Para 3inalizar 5acemos 6 !8build/d77<
Arc7ivo
Copiar a
Propósito
$ecreto
ca
&er@idor # todos los clientes
=erti3icado =A
(o
ca
&ólo al 5ost que 3irma la cla@e
=la@e =A
&i
d5"!.
&ólo al ser@idor
Parámetros Ji33ie ellman
(o
ser@er
&ólo al ser@idor
=erti3icado del ser@idor
(o
ser@er
&ólo al ser@idor
=la@e del ser@idor
&i
clientenL
&ólo al cliente nL
=erti3icado del cliente nL
(o
clientnL
&ólo al cliente nL
=la@e del cliente nL
&i
Información* Jisponemos de dos 3ic5eros con in3ormación de estado 6 8etc8openvpn8openvpn/ 8etc8openvpn8openvpn/ status!log 7, que contiene la in3ormación sobre los clientes conectados al ser@idor KP( # que es actualizado cada minuto, # el 3ic5ero 6 8etc8openvpn8ipp!t6t 8etc8openvpn8ipp!t6t7,que contiene la in3ormación sobre las %Ps asignadas a los clientes de la KP(< Pasos para instalación : configuración configuración* LPIC 2 1emario 23 b' Jorge Andrada
23 8 >?
• • • •
•
• •
• • • •
•
•
apt-get install openvpn m)dir &etc&openvpn&eas'-rsa &etc&openvpn&eas'-rsa cp -r &usr&s$are&doc&openvpn&eamp &usr&s$are&doc&openvpn&eamples&eas'-rsa&2! les&eas'-rsa&2!&F &F &etc&openvpn&eas'-rsa &etc&openvpn&eas'-rsa $odi3icamos @alores como export >EUX=D(OCUQ7E&7 con 6 gedit 6 gedit &etc&openvpn&eas'&etc&openvpn&eas'rsa&vars& Binkeamos con3iguración 6cd 6 cd &etc&openvpn&eas'-rsa &etc&openvpn&eas'-rsa77 # luego 6ln 6 ln -s openssl-9!!cn1 openssl-9!!cn1 opensslcn1 7 Generamos =A* 6 source vars vars7, 7, luego 6&clean-all 6&clean-all77 # luego 6&build-ca 6&build-ca77 Generamos certi3icado del ser@idor con 6 &build-)e'-server &build-)e'-server miservidor 7 # luego generamos los parámetros Ji33ie ellman con 6&build-d$ 6 &build-d$7< 7< Generamos certi3icados para los clientes 6 &build-)e' cliente97 cliente9 7 así con todos< =opiamos a 6cp 6cp &etc&openvpn& miservidorcrt miservidor)e' cacrt d$9!2pem 7< En los clientes copiamos* ca
E9emplo de con3iguración del ser@idor* port 99/ 99/ proto udp dev tun ca cacrt cert ;onino;agic6ocrt ;onino;agic6ocrt )e' ;onino;agic6o)e' d$ d$9!2pem server 9/290:2! 2>>2>>2>>! i1con1ig-pool-persist ipptt pus$ Hroute 9/290:9! 2>>2>>2>>! pus$ Hredirect-gate+a' Hredirect-gate+a' de19 b'pass-d$cp pus$ Hd$cp-option 4N< 4N< 2!:0D222222 pus$ Hd$cp-option 4N< 4N< :::: client-to-client )eepalive 9! 92! comp-lGo persist-tun persist-)e' status openvpn-statuslog openvpn-statuslog verb3
Cone6ión entre red virtual : real4 Para que las dos redes r edes se @ean* Editar 6 gedit &etc&s'sctlcon1 &etc&s'sctlcon1 7 # descomentar la línea 6netipvip1or+ard*9 6 netipvip1or+ard*97< 7< =on3igurar iptables para enrutamiento 6iptables 6 iptables -t nat -A - A P7<.87".IN@ P7<.87".IN@ -s 9/290:2!&2 9/290:2!&2 -o et$! -j ;A<"E8A4E7< ;A<"E8A4E 7< Probamos que que 3uncione # guardamos iptables 6 sudo s$ -c Hiptables-save Hiptables-save K &etc&iptablesrules7< &etc&iptablesrules7< Para 5acer que esa con3iguración se cargue automáticamente 5a# que editar 6 gedit 6 gedit &etc&net+or)&inter1aces &etc&net+or)&inter1aces77 # a8adir 6 pre-up iptables-restore iptables-restore &etc&iptablesrule &etc&iptablesrule s7 al inter3az correspondiente, correspondiente, por e9emplo* • •
•
•
LPIC 2 1emario 23 b' Jorge Andrada
22 8 >?
auto lo i1ace lo inet loopbac) auto et$! i1ace et$! inet static address 9/290:92 netmas) 2>>2>>2>>! gate+a' 9/290:99 dns-nameservers dns-nameservers 2!:0D222222 :::: pre-up iptables-restore iptables-restore &etc&iptablesrules
Configuración de los clientes4 openvpn&. =opiar 3ic5ero de e9emplo de buntu4 %nstala DpenKP(* 6 sudo apt-get install openvpn •
con3iguración de cliente< Este 3ic5ero tambi4n se puede emplear en la con3iguración de un cliente Tindows sin 5acer prácticamente ningFn cambio< % sudo cp &usr&s$are&doc&openvpn&eamp &usr&s$are&doc&openvpn&eamples&sample-con1ig-1iles&clien les&sample-con1ig-1iles&clientcon1 tcon1 &etc&openvpn& &etc&openvpn& & =opiar los certi3icados a /etc/openvpn # modificar &etc&openvpn&clientcon1 &etc&openvpn&clientcon1 con con los nombres correctos* ca cacrt cert cliente9crt )e' cliente9)e' abilitar o a8adir los siguientes parámetros client remote miservidorejemplocom 99/ Ceiniciar ser@icio DpenKP(* &etc&initd&openvpn DpenKP(* &etc&initd&openvpn restart restart •
XinK4 Jescargar Jescargar e instalar el cliente desde la web de DpenKP(, # a8adir el siguiente 3ic5ero de con3iguración # los certi3icados del cliente< B C%MProgram ilesM7pen5PNMcon1igMclie ilesM7pen5PNMcon1igMclientovpn ntovpn client remote servereamplecom port 99/ 99/ proto udp dev tun dev-t'pe tun ns-cert-t'pe server reneg-sec :0!! aut$-user-pass aut$-retr' interact comp-lGo 'es verb 3 ca cacrt cert HC%MM"sersMMusernameMM;' HC%MM"sersMMusernameMM;' 4ocumentsMMopenvpnMMcliente9crt 4ocumentsMMopenvpnMMcliente9crt )e' HC%MM"sersMMusernameMM;' HC%MM"sersMMusernameMM;' 4ocumentsMMopenvpnMMcliente9)e' 4ocumentsMMopenvpnMMcliente9)e' management management 92D!!9 99/ management-$old management-uer'-pass+ords aut$-retr' interact
•
*ac $ < Y1unnelblic%Z 4 Jescargar 1unnelblic% # situar el siguiente 3ic5ero de
LPIC 2 1emario 23 b' Jorge Andrada
2. 8 >?
con3iguración de e9emplo cliente
*onitoriar trfico de red * nc* sir@e para abrir conexiones O=PIJP, en@iar paquetes, etc* =onexión simple 6 nc 32K!!!3 YIPZ nNpuerto 7, si 5a# alguna conexión corriendo •
•
sobre ese puerto, dará error de conexión cerrada< Ker puertos abiertos 6nc /v IP PuertosY23/2=Z 7 indica si está abierto< Para @er los JP sería 6nc /vu IP puertos 7 0@ de @erbose1< =liente Iser@idor* es posible montar un ser@idor de prueba, montamos con 6 nc /l puerto9escuc7a 7 # en el cliente 6 nc IP puerto 7< Podemos mandar datos entre ellos, en ser@er 6 nc /l puerto9escuc7a algo!out 7 # en cliente 6 nc IP puerto [ algo!in 7< netstat * muestra conexiones acti@as, podemos usar 6 F less7 para leer poco a poco< Dpciones* /a* muestra las conexiones abiertas, con 6 /t7 muestra las O=P # con 6 /u7 las JP< /i* in3ormación del inter3az< /r* in3ormación de enrutamiento< enmascaramiento< /** in3ormación de enmascaramiento< /p* in3ormación de programas que usan la red 0no 3unciona siempre1< sin parmetros parmetros* muestra los puertos abiertos< E9emplo 6nestat /ap F grep smtp 7< Podemos usar el programa 6 @atc77 para e9ecutar cada segundos, creando una salida, por si el problema es intermitente< sni33er, 5a# que usarlo como root< tcpdump* es un sni33er, sni33er< Podemos usarlo como @ires7ar% * antiguamente se llamaba Et5ereal, es otro es sni33er< comandos 6ts7ar% 7 o con gui< -map* es un escáner de red, no monitoriza el trá3ico< E9* comprobar puertos abiertos con 6nmap /s1 7ost 7 0O para O=P, para JP1< ARP* modi3ica la cac54 ACP< Parámetros* /a O7ost * muestra todas las entradas o del 5ost si se indica< /d 7ost4 borra ese 5ost de la cac54< /s 7ost mac* crea la entrada< lsoft* muestra todos los procesos 5aciendo uso de arc5i@os, podemos usar 6 lsoft F less7< Podemos @er de un solo proceso con 6 lsoft /p I;9proceso 7< =on la opción 6 /i7 muestra todos los arc5i@os de red usados por el procesos actual 6 lsoft /i F grep nombre9se nombre9servicio rvicio7< •
•
•
• • • • • •
• •
•
•
• • •
•
2=!. $olucionar problemas de red LPIC 2 1emario 23 b' Jorge Andrada
2? 8 >?
Consultas sobre red * ifconfig* @eri3icamos el inter3az< ping* @eri3icar conecti@idad< router* @eri3icar las rutas< % Ps de las rutas que sigue< Algunos Algunos traceroute * @eri3ica rutas, con 7 /n7 sólo muestra las %Ps • • • •
•
• •
•
•
routers bloquean los traceroute 0aparecerían par4ntesis sólamente1< 7ost dominio* para 5acer consulta de J(&, si usamos el comando 6 dig7 podemos 5acer una bFsqueda más completa 6 dig \IP9;-$ dominio7< netstat * @eri3icar conexiones abiertas< %P 7ostname* @eri3ica el nombre de nuestro pc, con 6 /f 7 muestra ?J(< Podemos saber la %P escribiendo 67ost nombre97ostname 7< &e pueden combinar los dos comandos 6 7ost ]7ostname/f^7< iptables* comprobar que %Ptables no está capando 6 iptables /L7 para @er reglas< a# que obser@ar en las cadenas 6 I-P1 # 1P17, si son 6;RP o ACC&P17< 1CPXrappers * comprobar 6 8etc87osts!allo@ 8etc87osts!allo@ # !den:7, por si están denegando el acceso a equipos<
Derificar ;-$ del cliente* =omprobar que en el arc5i@o 6 8etc8nss@itc7!conf 8etc8nss@itc7!conf 7 est4 puesto 6 dns7 en el apartado 6 7ost7< Keri3icar que en el arc5i@o 6 8etc87osts7 no 5a#a redirecciones erróneas< 8etc8resolv!conf conf 7 5a#a entradas de J(& Keri3icar que en 6 8etc8resolv! Cealizar ping # 7ost a un dominio< tros* @eri3icar 6 8etc8net@or%7, 6 8etc8s:sconfig8net@or%/scr 8etc8s:sconfig8net@or%/scripts8 ipts8 7 si están por J=P o estático< • • • •
2=!? -otificar incidencias a usuarios ;efinir mensa0es de acceso * =uando los usuarios 5acen login a tra@4s de un prompt, se muestran los siguientes mensa9es* *ensa0e del día* en el arc5i@o 6 8etc8motd7, se muestra local, telnet # ss5< *ensa0es de la suerte * 5a# que a8adir el programa 6 fortune7 en 6 8etc8bas7rc 8etc8bas7rc7* • •
i1 O.E8; Q*dumbRS 1ortune 1i • •
;e acceso local * en el arc5i@o 6 8etc8issue7 ;e acceso de red * en el arc5i@o 6 8etc8issue!net7, para telnet, pero no para ss5<
En los mensa9es de acceso local # de red, se pueden usar variables* _n* indica el nombre del 5ost< _r* indica el nL de @ersión del kernel< _s* indica el nombre del so< _m* indica la plata3orma 0xM, xM.1< • • • •
*ensa0es en tiempo local * • • •
Alerta de apagado* 6 s7utdo@n /7 U3 )se apaga el equipo por &rror.K, 7< Escribir a todos los terminales* 6 @all )Acceso a red red se apaga a las 3K, 7< Bos usuarios pueden bloquear estos mensa9es con 6 mesg n7 # acti@arlos con 6 mesg :7<
LPIC 2 1emario 23 b' Jorge Andrada
2= 8 >?
1ema 2>4 *antenimiento del sistema 2>!3 Compilar e instalar programas desde la fuente a# que tener instalado* G==, los 5eaders, tar # obtenemos el código 3uente< Nota: si nos encontraos con un arc$ivo % programasrcrpm programasrcrpm &' lo copilaos con % rpmbuild --rebuild programasrcrpm programasrcrpm &.
;esempaquetar * =on el comando 6 tar t6vf programa!tg 7, con la opción 6 t7 se 3uerza a crear un subdirectorio con el contenido, #a que en los zip no los crea por de3ecto< &i se quiere que est4 accesible para todos los usuarios, en @ez de en local, 5a# que copiarlo a 6 8usr8src8 7< 7<
Compilar* Configurar* con 6!8configure7 se escanea el sistema # se genera el 6 *a%efile7< Admite parámetros como 6 //prefi6directorio 7, que sir@e para cambiar el directorio de instalación, por de3ecto 6 8usr8local8 7< 7< Compilar* e9ecutando 6ma%e7< Instalar * 6sudo ma%e install 7, los binarios se copiarán a 6 8usr8local8bin7< Limpiar* 6ma%e crean7< ;esinstalar4 6sudo ma%e uninstall 7< •
• • • •
2>!2 peraciones de Bac%up &legir 7ard@are 0precios !"!1* ;ispositivo
Coste nidad
Coste dispositivo
Capacidad descomprimido
Delocidad
1ipo de acceso
Cinta
"/!-.!!!Y
!,/ - )YIG'
)MG' - ",/O'
) - ".!$'Is
&ecuencial
E;; interno
"!!Y
!,!YIG'
!G' - O'
/! - "!!$'Is
Aleatorio
E;; e6terno
/!-!!!Y
!,!YIG'
!G' - O'
" - "!!$'Is
Aleatorio
`ptico
/-!!Y
!,!. - !,/!YIG'
M/!$' - /!G'
" - ./$'Is
Aleatorio
•
• •
Cintas* el más popular para copias enteras, son menos 3iables que otros medios< &e acceden desde 6 8dev8st7 para &=&% o 6 8dev87t7 en cintas PAOA< ;iscos duros* debe ser extraíbles 0esataH1< `pticos* 3iables a corto plazo, suelen tener 3allos tras uno o dos a8os<
$uc5os admins usan la estrategia 6 ./2/3 7* . copias de los datos, al menos en 2 tipos de dispositi@os di3erentes , 3 copia entera<
LPIC 2 1emario 23 b' Jorge Andrada
2> 8 >?
&legir el $oft@are * &o3tware básico* tar* los tarball son arc5i@os creados por tar, generalmente comprimidos con 6gzip o bzip7< ?ormato 6tar comando cali3icador7< Comandos* c 0//create1* crea un arc5i@o< A 0//concatenate 1* a8ade 3ic5eros tar a un arc5i@o< r 0//append1* a8ade 3ic5eros al 3inal del arc5i@o< u 0//update 1* a8ade 3ic5eros que son más recientes que los del arc5i@o< o //compare 1* compara un arc5i@o con los l os 3ic5eros del disco< d 0//diff o t 0//list1* lista el contenido de un arc5i@o< 6 0//e6tract o //get 1* extra 3ic5eros de un arc5i@o< Certificados* //director: directorio * pasa al directorio indicando antes de lle@ar a cabo las operaciones< g arc7ivo 0//listed/incremental arc7ivo 1* realiza una copia o restauración incremental, usando arc5i@o como lista de 3ic5eros pre@iamente arc5i@ados< * 0//multi/volume1* crea o extrae un arc5i@o multicinta< v 0//verbose 1* @a mostrando lo que leeIextrae< 0//gip o //unip1* procesa mediante gzip< 0 0//bip21* procesa mediante bzip< •
• • • • • • •
•
•
• • • •
•
cpio* similar a 6tar7, pero puede almacenar en disco o escribir directamente en cinta 0sin pasos intermedios1< Oiene ) modos de 3uncionamiento* *odo cop:/out * usando 6 /o7 o 6//create 7, crea un arc5i@o # copia 3ic5eros en este< *odo cop:/in* usando 6 /i7 o 6//e6tract 7, extrae in3ormación< &e le puede pasar parámetros para extraer sólo arc5i@os solicitados< *odo cop:/pass * con 6/p7 o 6//pass/t7roug7 7, combina los dos modos anteriores copiando un árbol de directorio< Dpciones* /A 0//append 1* a8ade datos a un arc5i@o existente< /E formato 0//formatformato 1* bin, crc # tar< /u 0//unconditional1* reemplaza todas los arc5i@os sin solicitar con3irmación< /v 0//verbose 1* muestra más in3ormación< • •
•
• • • •
•
dd* Bas copias deben de 5acerse en sistema desmontados< Ba copia ocupará la partición entera, aunque est4 @acía< Dperandos* bstama+o* opera sobre un bloque de ese tama8o< countbloques* copia el nL de bloques especi3icado< ifarc7ivo * entrada< ofarc7ivo * salida< s%ipbloques* se salta esos bloques< see%bloques* escribe esos bloques< E9emplos* o3QImediaIbIcopia
• • •
LPIC 2 1emario 23 b' Jorge Andrada
2K 8 >?
más lento # más grande nos arriesgamos a perder datos< Graba $'C, particiones, etc< Crear imgen de C;* 6dd i3QIde@Icdrom o3QI5omeIimagen
•
•
•
rs:nc* realiza peque8as copias de seguridad de red< Oiene G% 0 grs:nc1< E9emplo 6rs#nc -r -t -@ --progress --delete -s ImediaIJatos ImediaIJatos7< Dtro e9emplo 6rs#nc -a@ Idirectoriolocal usuario\remote*Idirectorioremoto7< Dtro 6rs#nc -a@z alberto\"+<"M<"<)!*I5omeIalbertoI$I alberto\"+<"M<"<)!*I5omeIalbertoI$I I5omeIa5orneroI$I7<
•
mt* sir@e para controlar un dispositi@o de cinta< Para acceder a cada una de las copias dentro de una cinta, 5ace 3alta mt, para mo@erse 5acia adelante # atrás en la cinta 6mt /f dispositivo operacion operacion Ocinta Ocinta Oargumentos, Oargumentos, < Dperaciones* fsf * mue@e 5acia delante la 6cuenta7 de arc5i@os< bsf * mue@e 5acia atrás la 6cuenta7 de arc5i@os< eod o seod* se mue@e al 3inal de los datos< re@ind* rebobina la cinta< offline o vre@offl * rebobina # expulsa la cinta< erease* borra los datos< status* muestra in3o< load* carga unidad en cinta< compresion * 5abilita 0"1 I des5abilita0!1 la compresión o descompresión< descompresión< • • • • • • • • •
LPIC 2 1emario 23 b' Jorge Andrada
2 8 >?
1ema K4 $ervidor de -ombre de ;ominio 2K!3 Configuración bsica de un servidor ;-$ &urgió porque 6 8etc87osts7 se quedó peque8o< Oiene 3orma 9erárquica< n 1L; es un dominio con el punto 3inal, e9* 6@@@!dominio!e6t! 7<$ervidor de nombres de sólo cac7( * almacena en cac54 las resoluciones de nombres #a realizadas< r ealizadas< $odi3icar el arc5i@o de configuración principal de '%(J* El arc5i@o de con3iguración es 6I etc8named!conf 7 0'ind+1< Ores con3ig distintas* &er@idor de sólo reenvío* reen@ía a otros ser@idores todas las solicitudes de resoluciones de nombres que reciba< &er@idor que sólo realiza bWsquedas recurrentes completas * se realiza una bFsqueda recurrente completa para cada consulta que no pueda responderse con su cac54, lo usan los %&P< &er@idor con reenvíos : bWsquedas recurrentes completas * consulta # si 3alla 5ace la bFsqueda completa< •
•
•
7ptions T director' H&var&namedS 1or+arders T 9!/903!S 9!93903!S US listen-on T 9/290:99S 9D22!29#9S US allo+-tran1er THnoneSUS 1or+ard 1irstS US logging T c$annel de1aultdebug T 1ile Hdata&namedrunS severit' d'namicS US US &&sepeci1' t$e root Gone Gone 1iles Gone H IN T t'pe $intS 1ile HnamedcaS US include H&etc&namedr1c9/92Gon H&etc&namedr1c9/92GonesS esS
Nota% en la coniuración % && & es coentario * % S& in "e una opción. Nota: para coprobar !ue >IE6 se est ejecutan"o % lso1 -n -P -i V grep >3 &. En la opción de 6 for@arders 7 se introducen las %Ps de J(& a las que 'ind trans3erirá tr ans3erirá las solicitudes de bFsqueda que recibe< Ba línea 6 for@ard first 7 indica a bind que debe 3uncionar como ser@idor de trans3erencia si es posible, pero debe realizar bFsquedas recurrentes completa si 3alla<
LPIC 2 1emario 23 b' Jorge Andrada
2Q 8 >?
&i 6for@ard first 7 se cambia por 6 for@ard onl: 7, bind sólo intentará obtener respuesta de los sistemas especi3icados en la sección 6 for@arders 7, siempre se realizarán bFsquedas completas< En el apartado 6 listen/on7 se le indica a 'ind las %Ps que debe escuc5ar< Ba sección 6 allo@/transfer7, es una opción de seguridad< Ba opción de 6 logging7 # 6one7 es para la creación de zonas< =on 6allo@/quer: 27 indica que redesI5osts pueden consultar< Nota: >in" por "eecto viene coniura"o para !ue sólo uncione localente' por si se instaló por error' (9F2.0.0.9' ::9' local$ost#.
*odificar arc7ivos de ona * na zona J(& es una colección de ordenadores relacionados, relacionados, cu#as relaciones nombre8IP son gestionadas por un ser@idor autoritario< En un ser@idor de sólo cac54 no 5abrá que realizar apenas con3iguraciones<< con3iguraciones<< n ser@idor de sólo reen@íos r een@íos no requiere mantenimientos de zona< &i se usa un sistema de bFsqueda recurrentes completas, se debe de incluir una sección zona 6 !7 para la zona raíz J(&< Ba línea 6 file7 de las sección 6 one7 se re3iere a un arc5i@o en el directorio especi3icado en la línea 6director: 7, normalmente en 6 8var8named8 7< 7< Nota: las IPs "e raz no cabian' pero si por error borraos el arc$ivo' arc$ivo' lo po"eos recuperar con (aroot-serversnet nsKdbcac$e &. %dig (aroot-serversnet
Comprobar cambios* Ceiniciamos con 6 8etc8init!d8named reload reload o restart restart0más agresi@o17< na @ez reiniciado podemos controlarlo con 6rndc7* rndc reload* recarga los arc5i@os de con3ig< rndc stop* para el ser@idor< rndc flus7* elimina cac54 del ser@idor< rndc status* muestra in3ormación< Podemos usar 6 7ost7 # 6dig7 para 5acer pruebas< • • • •
Configurar un servidor como esclavo * &e con3igura igual que uno maestro, pero en 6 one7 5a# que poner 6 slave7 en el apartado 6 t:pe7< &e pueden tener @arios ser@idores maestros<
2K!2 Crear : mantener onas4 Bas zonas deben de ser de tipo master, para cada zona se creará un arc5i@o< Estos arc5i@os tienen que tener permisos M.. pertenecer a root*bind<
LPIC 2 1emario 23 b' Jorge Andrada
. 8 >?
Configurar arc7ivos de ona * &e encuentra en 6 8var8named,< ..L 94 pangaeaedu
IN <7A dns9pangaeaedu adminpangaeaedu adminpangaeaedu W 2!99!22!!3 S serial 30!! S re1res$ 0!! S retir 0!:!! S epire :0!! S de1aultttl dns9pangaeaedu IN A 9/290:99 coelop$'sispangaeaedu coelop$'sispangaeaedu IN A 9/290:99 peteinosaurus IN A 9/290:99 IN A 9/290:99 9/290 :99 pangaeaedu IN A 9/290:99 dns9+generpangaeaedu dns9+generpangaeaedu IN A 9/290:99 +++ IN CNA;E +eb$ostingeamplecom +eb$ostingeamplecom 1tp IN CNA;E plateosaurus ( IN ;X 9! peteinosaurus ( IN ;X 2! maileamplecom ( IN N< dns9pangaeaedu +egener IN N< dns9+egenerpangaeaedu dns9+egenerpangaeaedu
Ba ma#oría de las líneas tienen el 3ormato 6 nombre I- tipo9registro contenido9registro, * -ombre* es el nombre del P= o la %P en caso de resolución in@ersa 0el nombre de dominio lle@a 6!7 3inal1< &i el nombre está @acío, las líneas siguientes # la actual se asocian al anterior< anterior< El signo 6\7 representa el propio dominio< I-* signi3ica %nternet< 1ipo de registro * A* 5ost %P@., nombre-R %P< AAAA* 5ost %P@M, nombre-R %P@M< C-A*&* registro de nombre canónico 0los subdominios1< -$* proporciona el nombre de 5ost de un ser@idor J(& para el dominio< *<* de intercambio de correo< &e pueden tener @arios # el nL de prioridad organiza a quien en@iar< 1<1* a8ade texto explicati@o asociado al dominio< $A* inicio de autoridad< P1R * %P a nombre, registro in@erso< •
• •
• • • • •
• • •
•
Contenido registro * nN de serie* es una 3ec5a de Fltima modi3icación para que los ser@ers locales copien •
•
•
•
la in3o del más actualizado< 1iempo de actualiación * indica cada cuanto tiempo debe comprobar el ser@idor maestro para actualizar< 1iempo de nuevo intento4 tiempo entre intentos de contactar con el ser@idor maestro si la conexión 3alla< *ínimo de tiempo de vida Y11LZ* tiempo mínimo que se almacenará una respuesta de error de subdominio no encontrado<
Configuración de onas inversas * En algunos ser@icios se realiza una consulta normal # una in@ersa, si los resultados no coinciden, la identidad queda ba9o sospec5a< E arc5i@o de con3iguración es igual, con su registro &DA, pero los demás son POC # (&< Bas direcciones @an sin el Fltimo octeto # en orden in@erso< LPIC 2 1emario 23 b' Jorge Andrada
.3 8 >?
E9* "+<"M<"!I. sería 6"<"M<"+
Eost* Puede re@elar los registros A, =(A$E # POC del ser@idor< ser@idor< ?ormato 67ost Oopcion dominio8IP 7< pciones* /c* muestra el registro &DA del dominio< /d o /v* @ista detallada< /t tipo de dato * consulta el tipo de datos 0&DA2 =(A$E, etc1< -?* realiza bFsqueda %P@.< />* realiza bFsqueda %P@M< • • • • •
-sloo%up* #a no se usa, es parecido a 5ost< ;ig* 'ormato * 6dig O\servidor Oopciones Onombre Otipo 7< Dpciones* /b dirección* usa la direccioón indicada por si ese 5ost tiene @arias %Ps< /f arc7ivo* consulta 5ost de ese arc5i@o 0" por línea1< /p puerto* por de3ecto es el /)< /t tipo* tipo de registro a buscar< /q nombre* nombre del 5ost o dominio, suele omitirse< /6 dirección* realiza bFsqueda in@ersa< /?* busca sólo %P@.< />* busca sólo %P@M< • • • • • • • •
E9emplo* 6dig \<<< topgamespro
2K!. $ecuriar un servidor ;-$ Asegurar transferencias de ona * $ediante la directi@a 6 allo@/transfers7 se pueden negar las trans3erencias de zona, para que los atacantes no obtengan toda la in3ormación interna< Para negar todas las trans3erencias 6 allo@/transfer)name,7, pero si tenemos ser@idores escla@os, pondremos las %Ps de ellos para que se puedan emitir los arc5i@os de zona<
;-$$&C* Aparte de asgurar las tr trans3erencias ans3erencias de zonas, se pueden usar extensiones de seguridad J(&, que de3iende el ser@idor J(& del cac54 en@enenado< en@enenado< Esto e@ita que en la cac54 del ser@idor se inserten datos 3alsos de direcciones %Ps de otros dominios, permitiendo que no 5a#a redirecciones maliciosas< Pasos* cd 6I@arInamed7< 6dnssec/%e:gen /a R$A$EA3 /b K> /n -& nombreona 7< • •
Esto creará una cla@e pri@ada # una pFblica, que debe distribuirse a otros ser@idores< =on la cla@e pri@ada generamos los arc5i@os de zona* 6dnssec/signone dnssec/signone /o dominio named!dominio 7< Esto creará 6ona!dominio!signed7 # es el que se usará como arc5i@o de zona, en lugar del original<
LPIC 2 1emario 23 b' Jorge Andrada
.2 8 >?
#aula C7root* E9ecuta 'ind en una 9aula c5root, lo que e@ita que un ser@idor erróneo o @ulnerable el resto del sistema< Ba idea es e9ecutar el programa 5aci4ndole creer que el directorio raíz del pc 6 8 7 es distinto del que es en realidad< Entonces el ser@idor sólo puede acceder a los arc5i@os de ese árbol de directorio alternati@o<
Pasos* •
•
=omprobar que exista una entrada 6 named7 en 6 8etc8pass@d7< E9emplo* 6named*x*!!*!!*(ameser@er*Ic5rootInam 6named*x*!!*!!*(ameser@er*Ic5rootInamed*IbinI3alse7< ed*IbinI3alse7< Preparar el directorio 6 8c7root8named 8c7root8named7* m)dir -p &c$root&named cd &c$root&named m)dir -p dev &etc&namedb&slave &var&run &var&run cp -p &etc&namedcon1 &c$root&named&etc& &c$root&named&etc& cp -a &var&named&F &c$root&named&etc&namedb& &c$root&named&etc&namedb& cp &etc&localtime &c$root&named&etc& &c$root&named&etc& c$o+n -8 named%named named%named &c$root&named&etc&namedb&slave &c$root&named&etc&namedb&slave c$o+n named%named named%named &c$root&named&var&run &c$root&named&var&run ;onod &c$root&named&dev&null &c$root&named&dev&null c 9 3 m)nod &c$root&named&dev&random &c$root&named&dev&random c 9 : c$mod 000 &c$root&named&dev& &c$root&named&dev& Tnull#randomU
•
%niciamos named con la opción 6 /t 8c7root8named 7<
LPIC 2 1emario 23 b' Jorge Andrada
.. 8 >?
LPIC 2 1emario 23 b' Jorge Andrada
.? 8 >?
1ema 24 $ervicios Xeb 2!3 Implementando un servidor @eb YApac7eZ El arc5i@o de con3iguración principal es 6 apac7e!conf o 7ttpd!conf 7, 7, o en Apac5e
Apac5e es modular, muc5as de sus 3unciones se pueden compilar como módulos separados que se pueden cargar en tiempo de e9ecución< Para cargar un módulo se usa la directi@a )Load*odule,! )Load*odule,! En Apac5e Apac5e "<)
• • •
•
[;irector: * sus parámetros sólo se apricarán en el directorio # subdirectorios< [;irector: *at7* como Jirector# pero en el nombre del directorio acepta expresiones regulares< ['iles* control de acceso de los 3ic5eros por su nombre< ['iles *at7* permite control de acceso a 3ic5eros # uso de expresiones regulares< [Location* control de acceso de los 3ic5eros mediante 5tml 0no puede lle@ar AllowD@erride1< &tc<
tros arc7ivos de configuración4 access!conf4 le indica a Apac5e como tratar ciertos directorios, muc5os sistemas los •
inclu#en en el arc5i@o de con3iguración principal< mime!t:pes o apac7e/mime!t:pes4 apac7e/mime!t:pes4 de3ine tipos de $%$E, que son códigos que a#udan a identi3icar el tipo de arc5i@o< Asocia Asocia las extensiones de los arc5i@os a tipo $%$E, como*
•
LPIC 2 1emario 22 b' Jorge Andrada
.= 8 >?
Nota% alunas opciones se pue"en anular localente e"iante un % $taccess&.
&stablecer el usuario : grupo de Apac7e4 Apac5e empieza e9ecutándose como root # luego ba9o el usuario que queramos< Bas directi@as son* ser # Group< na @ez establecidas, podemos comprobarlo con 6 ps au6 F grep apac7e 7 o 6ps au6 F grep 7ttpd 7< Ba primera instancia seguirá e9ecutándose como root<
Cambiar Camb iar las ubicacio ubic aciones nes de las pginas pgi nas @eb 4 el @alor predeterminado es la directi@a 6;irector:Inde6 7, si se proporciona más de un @alor para esta directi@a, Apac5e Apac5e las busca todas< Ba directi@a 6;ocumentRoot7 le indica a Apac5e Apac5e donde buscar las páginas web< Para emitir las páginas desde otro sitio 5a# dos opciones* =ambiar la directi@a 6 ;ocumentRoot 7 al nue@o directorio, en algunos sistemas se encuentra separado en 6 sites/available8defaults7 o sustituir las creadas por otras< &i queremos usar otro directorio, debe ser legible para el usuario ba9o el que se e9ecuta Apac5e< Apac5e<
Eabilitar pginas @eb de usuario* usando la directi@a 6 ser;ir7 que toma el nombre de un directorio del 5ome del usuario como argumento< Puede aparecer aparecer en 6 mods/ available8userdir!conf 7< 7< E9* 6ser;ir public97tml7, una @ez creado, los usuarios pueden crear subdirectorios llamados 6public97tml7 # almacenar sus webs allí< Accederíamos como 5ttp*IIlocal5ostI]usuarioIweb<5tml< Estas directi@as tienen que tener permiso de lectura # e9ecución para Apac5e<
$ervir dominios virtuales * se usa la directi@a 6 Dirtual;ocumentRoot 7 para indicarle a Apac5e que directorio usar dependiendo del nombre del 5ost< a# que poner 6 seCanonical-ames 7, seCanonical-ames ff 7, para que 3uncione que por de3ecto está en Dn< ?unciona como 6 ;ocumentRoot 7, pero tiene @ariables* SS4 un Fnico W en el nombre del directorio< S-!** 5ttp*IIwww
Nota: si se !uieren establecer "oinios virtuales en base a la IP "el server' se usa %5irtual4ocument8ootIP & * se usan "irecciones IP en luar "e nobres "e $ost.
tro modo de usar dominios virtuales es usar )DirtualEost, * la @enta9a es que es más personalizable< Oambi4n debe de estar 6 seCanonical-ames ff 7< 7< 5irtualYost FK
^indica todos los inter3aces, si queremos a tra@4s de uno, se pondría<
LPIC 2 1emario 22 b' Jorge Andrada
.> 8 >?
E9emplo de casa* 5irtualYost F%:!K
4ocument8oot 4ocument8oo t &media&4atos&
Configurar $cripts * Para acti@ar el soporte =G% en Apac5e se usa la directi@a 6 $criptAlias7 apuntando a un directorio =G% parte del directorio padre* 6$criptAlias 8cgi/bin 8usr8@@@8cgi/bin 7<
Activar PEP en Apac7e * instalarlo # descomentar las líneas* B"se 1or PYP > Load;odule p$p>module p$p>module modules&libp$p>so modules&libp$p>so AddYandler p$p-script p$p-script p$p BAdd indep$p to 'our 4irector'Inde 4irector'Inde line% line% 4irector'Inde inde$tml inde$tml indep$p Add.'pe tet&$tml tet&$tml p$p
Puede ser necesario modi3icar 6 8etc8p7p!ini7<
Instalar Perl * permite e9ecutar script Perl directamente< a# que instalar* apac7e/mod/perl libapac7e2/mod/perl2 # luego acti@ar copiando el arc5i@o de con3iguración 6 perl!load7 o 6perl!conf 7, 7, si estos arc5i@os no están, a8adimos la siguiente línea a Apac5e 6 Load*odule perl9module 8usr8lib8apac7e28modules8mod9perl!s 8usr8lib8apac7e28modules8mod9perl!soo7<
2!2 *antenimiento de servidores @eb Eabilitar E11P$* para ello necesitamos* Instalar Apac7e con $$L4 5a# que tener instalado pen$$L # 6apac7e/mod9ssl 7< 1ener un certificado4 lo normal es comprar uno a un =A, pero tambi4n podemos crear • •
nuestro propio certi3icado 0generaría alertas ante 3irmas 3ir mas desconocidas1< desconocidas1< na @ez lo 8etc8ssl8apac7e7< &on dos arc5i@os* un arc5i@o de certi3icado tengamos, lo copiamos a 6 8etc8ssl8apac7e 6
.K 8 >?
•
Configurar Apac7e para que escuc7e el puerto 7ttps aceptando solicitudes de cifrado * se necesita cargar el módulo &&B con 6 Load*odule ssl9module 8usr8lib8apac7e28modules8mod9ssl!so 8usr8lib8apac7e28modules8mod9ssl!so7 0puede que sea distinto en otras distro1< Jirecti@as &&B* • • •
Listen* para cambiar el puerto por de3ecto ..)< $$L&ngine off8on* para el 5abilitar o no &&B< $$LRequire$$L * usando esta opción sólo 3unciona 5ttps<
Limitar el acceso a Apac7e* I1;odule mpmpre1or)moduleK mpmpre1or)moduleK servi"ores inicia con 5 servi"ores ;in =anten"r entre 5 servi"ores "isponibles ;a! n8 1io "e instancias por servi"or ;a8euestPerC$ild ;a8euestPerC$ild ! ipone lites al n8 "e solicitu"es (0 no tiene# &I1;oduleK
pciones de autenticación de usuarios * para usarlo 5a# que cargar el módulo 6 mod9aut77, en @ersiones posteriores a la <" se usan módulos más especializados* 6 mod9aut79basic7 0igual que _<"1, 6mod9aut79pam 7 0usa sistema PA$1 PA$1 # 6mod9aut79ldap7 0usa ldap1< Para el uso de arc5i@os de contrase8a, generamos el arc5i@o con 6 7tpass@d /c 8ruta8arc7ivo usuario7 0debe de estar en un directorio 3uera de los directorios web1 # tras ello pide contrase8a para ese usuario< Para que pida pass 5a# que con3igurar el arc5i@o principal, o usar un 6 !7taccess 7 que se encuentra en el directorio que se quiere proteger* Aut$.'pe Aut$.'pe 6asic Aut$Name HArc$ivos HArc$ivos restringidos restringidos Aut$6asicProvider Aut$6asicProvider ile Aut$"serile &etc&apac$e&pass+d&pass &etc&apac$e&pass+d&pass+ords +ords 8euire user usuario
Podemos a8adir más usuarios como antes, pero sin 6 /c7< Podemos usar grupos de acceso * creamos el arc5i@o 6 8etc8apac7e8pass@d8gro 8etc8apac7e8pass@d8group up7< =on la siguiente línea 6 Group-ame4 usuario3 usuario2 usuario- 7, cambiamos la línea 6 Require user usuario7 por 6Requiere group -ombreGrupo 7 # a8adir el arc5i@o de grupos 6 Aut7Group'ile 8ruta8!7tgroup 8ruta8!7tgroup7< En @ez de crear grupos, podemos pedir usuarios @álidos con la línea 6 Require valid/user 7< Nota: Para !ue sólo sea accesible "es"e esa re": 7rder den'# allo+ 4en' 1rom all Allo+ 1rom 9/290:9!&2
Controlar Apac7e * mediante la 5erramienta 6 apac7e2ctl 7, comandos* start* inicia Apac5e< stop* 3inaliza Apac5e< completen las solicitudes que se están están atendiendo< graceful/stop* para, pero permite que se completen completen las solicitudes que se están están atendiendo< graceful * reinicia,pero permite que se completen restart* reinicia< • • • • •
LPIC 2 1emario 22 b' Jorge Andrada
. 8 >?
•
• •
atendiendo< fullstatus* muestra in3o de todo, inclu#e la lista de solicitudes que se están atendiendo< Cequiere que est4 5abilitado el módulo 6 mod9status 7< status * muestra in3o, pero no inclu#e la lista de solicitudes< configtest* comprueba el arc5i@o de con3iguración<
Logs de Apac7e * &e encuentran en 6 8var8log8apac7e2 8var8log8apac7e2 o 7ttpd7 # son* error!log * mensa9es de error # noti3icaciones de arranqueI3in< access!log * in3ormación de accesos a la web< ot7er9v7osts9access!log * in3ormación del 5ost @irtual< • • •
&e pueden examinar de 3orma manual o usar 5erramientas de análisis* webalizer, webalizer, AT&tat, AT&tat, etc<
Redirección de directorios * 6Redirect .3 8@ebmail 7ttp488!!!! 7, si se accede a webmail se redirecciona 0)!"Qredirección permanente1<
2!. $ervidor $quid El arc5i@o de con3iguración se encuentra en 6 8etc8squid8squid!conf 7< &e usan tres comandos para 8etc8squid8squid!conf 7< con3igurar* aut79param * indica que mecanismo usar para autenticar usuarios* PA$, &amba, BJAP, etc< ACL* e9emplo 6acl m#acl prox#Xaut5 CE%CEJ7, 5a# muc5as acl< 7ttp9access * de3ine las acl que usa la acl creada< 7ttp9port nNpuerto Y.32Z4 de3ine el puerto de escuc5a< • • • •
Nota: las contrase,as "e acceso a ;!ui" se transiten en te1to plano. E9emplos de acl* tipo src 0dirección de origen1* acl redlocal src "+<"M<"
• •
• •
LPIC 2 1emario 22 b' Jorge Andrada
.Q 8 >?
1ema 2Q4 Compartición de arc7ivos 2Q!3 $amba El paquete se llama 6 samba o samba/server 7 # mane9a el protocolo &$'I=%?&< El arc5i@o de con3iguración se encuentra en 6 8etc8samba8smb!conf 7< =on un 6 7 es parámetro 8etc8samba8smb!conf 7< comentado< Ba con3iguración de 6 smb!conf 7 se organiza en dos secciones* Oglobal4 de3ine los @alores globales< (o distingue ma#Fsculas, pero las rutas de Binux si< Dpciones* @or%group moninocasa* nombre del dominio o grupo de traba9o< netbios name* nombre del ordenador< printing* sistema de impresión BPCng o =P&< printcap name* nombre del arc5i@o 6IetcIprintcap7 o en =P&, necesario para compartir impresoras< load printers es8-o* indica si la impresora está disponible localmente cuando está compartida< 7ost allo@ # 7osts den: nombre7ost8IP * permite o deniega el acceso< securit: $7are 0win+xI$e1, ser, &er@er, Jomain, AJ& o &ecurit#< encr:pt pass@ords es8-o * encripta contrase8as< smb pass@d file arc7ivo * arc5i@o de contrase8as ci3radas< pass@ord server IP8nombre7ost * indenti3ica al controlador de dominio< username mal arc7ivo * arc5i@o que contiene asociaciones de nombres de usuario< name resolve order lm5ost 5ost wins bcast* indica a samba como resol@er nombres< &e usa cuando 5a# un ser@idor wins 0antiguo J(&1< server stringS7 server Y$amba buntuZ * nombre del ser@idor< escuc5ará< interfaces32K!!!8 interfaces32K!!!8 et7* es el inter3az por el que escuc5ará< Recursos compartidos * impresoras, carpetas, etc< •
• • • •
•
• • • • • • •
• •
•
&stablecer opciones de contrase+as4 =on la opción global de 6 encr:pt pass@ords 7* -o* &amba usa la base de datos de usuarios # contrase8as de Binux< es* &amba requiere su propia base de datos de contrase8as 0independiente1< E9ecutamos 6sudo smbpass@d /a usuario 7 # pedirá contrase8a, para borrar de la bd usamos 6smbpass@d /6 usuario 7< Ba base de datos se llama 6 passdb!tdb 7, 5a# que especi3icar el tipo de bd con 6 passdb bac%endtdbsam 7 en 6 8var8lib8samba7, la bd está ci3rada< &i 5a# que a8adir muc5os usuarios se puede usar el script 6 m%smbpass@d o !s7 7, que • •
meterá todos los usuarios de Binux en la bd de &amba, pero no es capaz de con@ertir las contrase8as 0es algo inFtil1< &' *a !ue coo controla"or "e "oinio Nota: para usar lo anterior $a* !ue tener % securit' * "ser "ser &' es "istinto.
pciones de grupos de traba0o o dominios4 El parámetro 6 @or%group nombregrupotraba0o 7 indica que es un grupo de traba9o, pero para usar un controlador de dominio necesitamos* Establecer el nombre del controlador de dominio con la opción 6 pass@ord server 7< Establecer 6encr:pt pass@ords es 7 • •
LPIC 2 1emario 22 b' Jorge Andrada
? 8 >?
•
Establecer 6 securit: 7 en* $erver* no es miembro completo del dominio< ;omain* dominios antiguos< A;$* dominio moderno< • • •
&i usa seguridad ;omain o A;$, 5a# que unirse al dominio con 6 net 0oin member / usuarioadmindeldominio7< =on esta seguridad, &amba no necesita bd de usuarios, pero debe manter una bd de cuentas con@encionales con@encionales de Binux, para ello existe* $cript local Ycon la opción 6adduser script7 de &amba1, L;AP # Xindbind<
Asociar nombres de Linu6 : Xindo@s4 En Binux son cortos # en Tin largo # con espacios, por lo que 5a# que traducirlo< a# que usar la opción 6username map nombrearc7ivo 7 0normalmente username!map 1 para el mapeo< 'ormato de username
Configurar arc7ivos compartidos * =omienza con el nombre entre corc5etes # luego las opciones* comment comentario * descripción del recurso compartido< pat7 o director: rutaacompartir * lo que compartimos< bro@seable es8-o es8-o * indica si el recurso aparece en los na@egadores, por de3ecto Ues< r ecurso, por de3ecto (o< @riteable es8-o es8-o* indica si se puede escribir en el recurso, create mas% mscara * permisos de los arc5i@os creados por los clientes< director: mas% mscara* premisos para nue@os directorios< nt acl suppport es8-o* indica si asocia los permisos de arc5i@o de Binux a una A=B estilo Tin< Por de3ecto Ues< force user usuario * usuario que se asignará a todos, una @ez conectados 0usuario con el que se e9ecutarán todas las tareas1, tambi4n se puede 3orzar grupo< available es8-o * 5abilitaIdes5abilita ese arc5i@o compartido< valid users usuario3 usuario2 <<<* indica los usuarios autorizados< veto files8M$ecurit:M8M!tmp files8M$ecurit:M8M!tmp* no de9a acceder ni son @isibles para los clientes< • • • • • • •
•
• • •
Existe un arc5i@o compartido especial O7omes que muestra el 5ome del usuario registrado, por de3ecto no es browseable< Nota: con un al inal "el coparti"o se oculta' por ejeplo O4atos9R. E9emplo de casa* O4atosR pat$*&media&4atos +riteable*'es bro+seable*'es valid users*monino users*monino
Configurar impresoras compartidas * Es igual que los arc5i@os compartidos, excepto la opción 6 printeable es8-o7, que le indica a &amba que trate el recurso como una impresora< LPIC 2 1emario 22 b' Jorge Andrada
?3 8 >?
El en@ió de arc5i@o se 5ace a una cola de impresión del mismo nombre que la impresora compartida, pero lo podemos cambiar con 6 printernombreimpresora 7< En muc5as con3iguraciones se comparte una impresora global, en @ez de una a una Oprinters , la opción global 6load printers7 debe de estar en (o< Ba opción 6 printing B$;8CP$8&tc7 indica el m4todo<
1esteo : e0ecución * Oras modi3icar smb
Arc7ivos de registro de $amba * &e encuentran en 6 8var8log8samba8 7* 7* log!nmbd # log!smbd* contienen in3ormación de los ser@idores< log!nombreequipo , log!IPequipo* contiene in3ormación de los intentos de conexión de esos • •
clientes<
so de Linu6 como cliente $*B8CI'$ * El programa cliente se llama ll ama 6smbcliente7, con 3ormato* O88servidor88recursoOcontrase+aO ontrase+aOopciones opciones 7, en Tin las barras son 6``ser@idor7< 6smbcliente O88servidor88recursoOc
pciones* /I IP* se conecta por %P< /L E$1* lista los recursos compartidos por el ost< /s nombrearc7ivo * usa nombrearc5i@o como con3iguración, en lugar de smb
Oambi4n podemos montar recursos compartidos , para ello* 6mount /t cifs o smbfs 88servidor8recurso 88servidor8recurso 8rutade8monta0e 8rutade8monta0e7 0smb3s 3ue eliminado del kernel R
user nombre pass@ord pass! credential nombrearc7ivo * obtiene el usuario # pass del arc5i@o especi3icado<
LPIC 2 1emario 22 b' Jorge Andrada
?2 8 >?
&e pueden montar los recursos al inicio del sistema modi3icando fstab, e9emplo* 6II&ECK%=E&IJatos 6II&ECK%=E&IJatos ImntIJatos ci3s credentialsQIetcIsambaIarc5 ! !7< Nota: para ocultar los arc$ivos !ue epiezan por %.& (ocultos "e Linu1#' escribios en el recurso coparti"o la opción %$i"e "ot ileBGes&. Nota: po"eos "enear el acceso a ciertos arc$ivos iltran"o por e1tensión o por ca"enas' usan"o %veto 1iles&. +jeplo: %veto ilesB/H;ecurit*H/H.tp/&' !ue "eniea lo !ue contena ;ecurit* * /o lo !ue terine en .tp. tro ejeplo: %veto ilesB/H.p3/H.avi/&' ipi"e esa e1tensiones. Nota: se pue"en a,a"ir antivirus a saba con % 92! Hrec'cle%maiGe*>92! ' Hrec'cle%)eeptree Hrec'cle%)eeptree ue guarda copias aunue aunue coincida el nombre nombre
2Q!2 -'$ (?& respeta los permisos de Binux< a# clientes (?& para Tindows, pero es me9or usar &amba< Ba implementación de (?& se basa en @arios programas CP=* rpc!idmapd* en @ersiones R (?&@), asocia nombres de usuario # %J entre sistemas< %mportante si dos pcs inclu#en los mismos usuarios, pero tienen %J di3erentes< rpc!mound* administra las peticiones de montado de clientes (?& # controla quienes están conectados< En ocasiones se denomina 6rpc
•
• • •
El arc5i@o 6 8etc8e6ports 8etc8e6ports7 contiene los directorios que exporta un ser@idor (?&, con el 3ormato* 8directorio clienteYopcionesZ clienteYopcionesZ OclienteYopcionesZ! OclienteYopcionesZ!!!!! 7< 6 8directorio Bos clientes se pueden a8adir por* nombre del 5ost, comodines, %Ps, direcciones de red o grupos (%& 0sin uso #a1< Dpciones de clientes* secure o insecure* especi3ica que el cliente debe conectar secure 0con un puerto _ "!.1, por de3ecto es secure< r@ o ro4 acceso rw o sólo ro< Predeterminado ro, aunque en algunos es rw, por lo que debe especi3icarse< s:nc o as:nc* as#nc me9ora el 3uncionamiento a costo del riesgo de corrupción de datos en caso de 3alla del sistema< 7ide o no7ide* cuando se usa 5ide, se oculta subdirectorios montados en otros lados< Bo me9or es exportar a (?& cada partición # montarla como (?&< root/squas7 o no9root9squas7 * el acceso a root desde el cliente se trans3orma sustitu#4ndose su %J por la de root< =on noXrootXsquas5 se es root al "!!W 0el root remoto es considerado como local, con mismo %J # G%J1< all9squas7 o no9all9squas7* especi3ica si trans3orma los accesos de usuarios normales< 0=on allXsquas5 cambia todos los usuarios al usuario anónimo1< •
•
•
•
•
•
LPIC 2 1emario 22 b' Jorge Andrada
?. 8 >?
• •
acl o no9acl* con acl aplica reglas de acceso< sar noXacl requiere un >ernel parc5eado< fsidOnum rootFuuid * cambia el uuid0nL de serie del sistema de arc5i@os1 por uno corto para no compartir el uuid real<
E9emplo de 6IetcIexports7* I5ome monino0w,insecure1 monino0w,insecure1 pepito 0ro1<
*odificar un servidor -'$ en e0ecución * &e pueden 5acer cambios temporales en las exportaciones usando 6export3s7* sin opciones* muestra la lista de exportaciones acti@as< /a* lee 6IetcIexports7 # exporta todos los directorios listados allí< /u* como -a pero elimina< /r* @uel@e a exportar, pero elimina la exportación de los directorios de 6IetcIexports7< exportaciones< /f * @acía # @uel@e a crear la tabla de exportaciones< /v* inclu#e mensa9es detallados en la salida del programa< • • • • • •
=uando se usa 6 /u7 o 6-a7, 5a# que especi3icar un cliente # directorio con el siguiente 3ormato* 6cliente*IexportaciónIdirectorio7< E9emplo de quitar un directorio para una red 6export3s -u "+<"M<"
1odo es temporal # 5abrá que editar 6 8etc8e6ports7< Identificar e6portaciones montadas * =on la 5erramienta 6 s7o@mount7 se muestra las acti@idades actuales de n3s* sin opciones* re@ela las direcciones %Ps de los pcs que están usando el ser@idor< ser@idor< /a* muestra las direcciones %Ps de los clientes # los directorios en uso< -d* muestra los directorios dir ectorios actualmente compartidos< montadas< /e* igual que sin argumentos, pero en una sola línea, lista exportaciones montadas< /7* a#uda< /v* @ersión< // no/7eaders * elimina la salida de cabeceras explicati@as< • • • • • • •
Por de3ecto muestra in3o del pc local, pero si se a8ade un 5ost, muestra de ese 5ost< E9emplo* 6s5owmount -a $oninoP=7<
*edir la actividad de nfs * =on 6nfsstat7 se proporciona estadísticas del kernel (?&< $uestra la in3o de cliente # ser@idor, por lo que puede usarse para consultar desde ser@er o cliente para @er in3o 0es distinta la in3ormación que se muestra1* /s* muestra in3o sólo del ser@er< /c* muestra in3o sólo del cliente< /n* muestra sólo estadísticas (?&< /r* muestra sólo estadísticas CP=< 28.8?* muestra estadísticas de la sesión (?& especi3icada< /m* muestra in3o sobre exportaciones (?& montadas< /o* muestra in3o sobre la instalación especi3icada* n3s, rpc, net, 35, rc o all< /* toma una instantánea de estadisticas # las compara con otra instantánea al 5acer &%G%(O 0=ontrol-=1< • • • • • • • •
LPIC 2 1emario 22 b' Jorge Andrada
?? 8 >?
Comprobar la actividad de RPC * =on 6rpcinfo7 proporciona acceso a datos CP=< &e usa para identi3icar los ser@idores con CP= 5abilitados en una red< Dpciones /p 7ost* explora el 5ost< /u programa 7ost * usando JP e9ecuta el procedimiento e in3orma de los resultados< /t programa 7ost * como 6-u7 pero en O=P< /n numpuerto* complementa a 6 /u7 # 6/t7 indicando el nFmero de puerto a usar< /b versiónY2.?Z programa * en@ía una solicitud de multidi3usión para que se e9ecute el procedimiento< • • • • •
Administrar un servidor -'$ * •
sar Linu6 como cliente * se pueden usar con 6mount7 o como entrada en IetcI3stab7< Por mount* 6mount -t n3s %pser@er*Idirectoriocompa %pser@er*Idirectoriocompartido rtido ImntIdondemonto7< ImntIdondemonto7< Por fstab 6%pser@er o (ombre&er@er*Idirectorio=om (ombre&er@er*Idirectorio=ompartido partido ImntIdondemonto n3s • •
•
•
de3aults ! !7< Para @er lo que exporta un ser@idor 6s5owmount -e nombre&er@er o %P&er@er7< Portmap* este mapeador se encarga de gestionar la asignación entre aplicaciones # puertos< Bo normal es que el portmap se encuentre #a instalado # e9ecutándose, e9ecutándose, comprobar con 6 ps au6 F grep portmap,< sa el puerto """ en O=P o JP< 1CP Xrappers* en 6IetcI5ost
LPIC 2 1emario 22 b' Jorge Andrada
?= 8 >?
1ema 234 Administrar clientes de red 23!3 Configuración ;ECP El paquete se llama 6 d7cp d7cp/server d7cp./server o d7cp?/server 7< El cliente d5cp se llama 6d7cpd7 # en otros sistemas 6 d7client7< A parte de mane9ar J=P, es capaz de mane9ar 6Bootstrap YBootPZ 7< El arc5i@o de configuración del ser@idor J=P es 6 8etc8d7cp.o?8d7cpd!conf 7< 8etc8d7cp.o?8d7cpd!conf 7< Nota: Jin"os necesita !ue las respuestas 6CP se an"en a la scara * Linu1 las enva a la broa"cast. ;i $a* errores con ello se pue"en cabiar el coportaiento con la scara' ejeplo para /27: %route %route a""-$ost 255.255.255.0 255.255.255.0 "ev "ev a"apta"or&.
pciones globales de d7cpd!conf * default/lease/time default/lease/time tiempo* tiempo de @ida de la concesión %P en segundos< (ormalmente •
entre 5oras # días< •
%P, aunque el cliente solicite más tiempo, ma6/lease/time ma6/lease/time tiempo* tiempo máximo de cesión %P, el ser@idor no se lo da<
• •
min/lease/time tiempo * tiempo mínimo de cesión %P< get/lease/7ostnames get/lease/7ostnames true8false * el ser@er busca el nombre de 5ost asociado con la %P # lo de@uel@e al cliente<
• • • • •
se/7ost/decl/names se/7ost/decl/names true8false* almacena el nombre del 5ost al darle %P< Ping/c7ec% true8false* si es true el ser@er 5ace ping a una dirección antes de asignarla< option subnet/mas% mascaraentera * establece la máscara que asignará< option routers IP * la dirección o direcciones para el router o routers de la red< option domain/name/servers direccionesIP * dirección o direcciones de los ser@idores J(& que se en@iarán<
• •
option domain/name nombre;ominio nombre;ominio* nombre de dominio en el que reside< option netbios/name/servers direcciones IPs * %Ps de los ser@idores T%(&, es importante para &A$'A en redes Tindows<
•
option netbios/node/t:pe código binario * 3* multidi3usión< 2* ser@idor T%(&< ?* "S< * ser@idor T%(& con el parámetro options netbios-name-ser@ers< • • • •
Configurar el envío de direcciones dinmicas * subnet 9/290:9! netmas) netmas) 2>>2>>2>>! T range 9/290:99!! 9/290:92>S U
Configurar envío de direcciones fi0as * =onseguir la $A= del 5ost al que se le en@iará la %P 3i9a # a8adir entradas por 5ost< $ost 7rde@ordoT $ard+are Et$ernet !!%99%22%33%%>>S 1ied-address 9/290:93S U B el $+ puede ser ser Et$ernet# .o)en-ring# .o)en-ring# etc
Nota% I;C 6CP no pue"e coniurarse coniurarse para "ar sólo Ips a los clientes conoci"os.
LPIC 2 1emario 22 b' Jorge Andrada
?> 8 >?
Configuración de un agente rela: ;ECP * &i la red abarca @arios segmento de red, podemos* E9ecutar @arios ser@idores J=P, uno por subred< E9ecutar el ser@idor J=P en el router< =on3igurar el router para que en@íe multidi3usiones J=P< J=P< E9ecutar un agente rela# de J=P, J=P, que es un programa que permite transmitir multidi3usiones J=P de una subred a otra< Este programa debe instalarse en un ordenador de cada subred que no tenga su propio ser@idor J=P< • • • •
=on la opción de agente rela#, rela#, 5ace 3alta instalar 6 d7crela: 7< &e usa la %P del ser@idor d5cp de manera remota 6 d7crela: IP;-$$erver 7< =on la opción 6 /i interfa7 indicamos porque interfa escuc5ará< Para que al iniciar #a retransmita, modi3icamos 6 8etc8default,d7cp./re 8etc8default,d7cp./rela: la:7 # en la opción de &ECKEC& se indica la %P<
Logs* &e encuentra en 6 8var8log8daemon!log 8var8log8daemon!log7 # 6 8var8log8messages 8var8log8messages7< ;ECP!Leases* =omo el ser@idor J=P puede pararse # reiniciarse, necesita mantener la lista de direcciones asignadas< El 3ic5ero 6 8var8lib8d7cp8d7cpd!leases, 8var8lib8d7cp8d7cpd!leases, o 6 8var8state8d7cp8d7cpd!lease 8var8state8d7cp8d7cpd!leasess 7 mantiene esta lista de asignaciones< =uando se inicia el ser@idor, ser@idor, primero lee el 3ic5ero de con3iguración d7cpd!conf , despu4s el 3ic5ero d7cpd!leases # marca qu4 sistemas tienen asignaciones acti@as<
23!2 Autenticación PA* 8etc8s7ado@7 # Permite cambiar el modo en el que Binux autentica a los usuarios, además de 6 8etc8s7ado@ 6 8etc8pass@d7 se puede ampliar por un ser@idor de contrase8as, 5ardware biom4trico, etc< PA$ PA$ migró las contrase8as de 6 8etc8pass@d7 a 6 8etc8s7ado@7< El directorio principal de con3iguración es 6 8etc8,pam!d7, que contiene arc5i@os de con3iguración de todos los programas que usan PA$< Bos arc5i@os de con3iguración usan el nombre de la 5erramienta que los in@oca, por e9emplo 6 8etc8pam!d,gdm7 para GJ$, 6 8etc8pam!d8login7 para acceso al login de texto< 'ormato de arc5i@os PA** 6grupo9gestión mrca9control módulo Oopciones 7< Estos campos signi3ican* •
•
grupo9gestión* 5a# cuatro grupos # cada uno controla un de la autenticación 0aut5-R autenticación, account-R account-R gestión de la l a cuenta, session-R gestión de sesión # password-R gestión de las contrase8as1< marca9control * cuando se llama a un módulo, este puede 3allar o no 0como una contrase8a correcta o no1< Este campo indica a PA$ PA$ como reaccionar a este 4xito o 3racaso< a# cuatro marcas* requisite * D> continua e9ecutándose, >D de9a de e9ecutarse< required* D> continua, >D continua< sufficiente* D> de9a # tiene 4xito, >D continua< optional* D> continua, >D continua< PA$< %nclu#e la ruta completa o relati@a, *ódulo* indenti3ica el arc5i@o de módulo PA$< normalmente es 6IlibIsecurit#7 0dónde se almacenan los módulos PA$1< PA$1< pciones* pues eso mismo< • • • •
•
•
LPIC 2 1emario 22 b' Jorge Andrada
?K 8 >?
&ditar una pila PA** Para modi3icar una con3iguración PA$, se debe editar una o más pilas PA$, que son grupos de módulos que se llaman para realizar r ealizar tareas especí3icas< =ada arc5i@o de con3iguración en 6 8etc8pam!d7, consiste en una o más pilas PA$< =ada grupo de gestión tiene su propia pila<
*ódulos* Algunos módulos @ienen con el paquete PA$ # otros con paquetes auxiliares, como BJAP< =on independencia de su origen, se pueden a8adir a la pila PA$ para cambiar la 3orma en la que opera< $ódulos comunes* pam9uni6* pertenece a los . grupos, realiza la autenticación tradicional de Binux en base a 6pass@d # s7ado@ 7< pam9crac%lib* grupo password, comprueba la 3uerza de una contrase8a cuando se cambia< pam9limits* grupo sesion, establece un límite de sesión de acceso en la memoria, tiempo de =P # otros recursos del sistema< &i no se indica arc5i@o de con3iguración, por de3ecto será 6 8etc8securit:8limits!conf 7< 8etc8securit:8limits!conf 7< pam9listfile* pertenece a los . grupos, busca reglas que permitan o denieguen el acceso en el arc5i@o especi3icado< •
• •
•
A0ustar -ame $ervice $@itc74 Proporciona listas de usuarios # grupos, asocia nFmeros de %J de usuario 0%J1, identi3ica los directorios 5ome de usuarios, etc<
8etc8nss@itc7!conf,< El arc5i@o de con3iguración se encuentra en 6 8etc8nss@itc7!conf, &i a8adimos BJAP para autenticación 5a# que a9ustar la con3iguración con3iguración de (&&, de la siguiente manera* pass+d% compat ldap group% compat ldap s$ado+% compat ldap
23!. so del cliente L;AP a# que instalar el cliente de DpenBJAP # editar 6IetcIopenldapIldap
BJAP usa L;I' 0BJAP Jata %nter3ace ?ormat1 como m4todo de trans3erencia de datos< =onsiste en un arc5i@o con una serie de nombres # @alores de atributos separados por dos puntos< Estos arc5i@os deben contener in3ormación equi@alente a las entradas en 6 8etc8passd@ 8etc8passd@7 # 6 8etc8s7ado@7<
LPIC 2 1emario 22 b' Jorge Andrada
? 8 >?
A+adir cuentas* E9emplo* 6ldapadd V J cnQmanager, dcQpangaea, dcQedu -T -3 acct
Nota: $a* scripts para irar "es"e pass" a orato L6IA' pero no s$a"o' por lo !ue no tiene uc$a utili"a".
*odificar cuentas * &e usa 6ldapmodif:7 que contiene las mismas opciones que 6ldapadd7< Para cambiar la contrase8a se usa 6slappass@d7 con las siguientes opciones* /v* salida detallada< /s contrase+a * crea un encriptado de la contrase8a especi3icada< /1 arc7ivo* crea un encriptado de los contenidos del arc5i@o< /7 esquema* usa el esquema especi3icado para encriptar< Puede ser* =CUPO, $J/, &$J/, • • • •
&&A U &A< El predeterminado es &&A< Podemos cambiar la pass directamente usando 6 ldappass@d7 0combina ldapmodi3# # slappasswd1, slappasswd1, e9emplo* 6ldapasswd -J cnQmanager, dcQpangaea, dcQpangaea, dcQedu -T -& uidQmar#am, ouQPeople, dcQ pangaea<<<7
Borrar cuentas* samos 6ldapdelete7 con las mismas opciones que 6 ldapadd7< Consultas sobre cuentas ldap * =on el comando 6 getent 7 consultamos< &i a8adimos 6 /s ldap7 realiza la bFsqueda sobre ldap< =on la 5erramienta 6 ldapsearc7 7 podemos buscae empleando cualquier campo de la base de datos< E9emplo 6ldapsearc5 uidQmonino7<
LPIC 2 1emario 22 b' Jorge Andrada
?Q 8 >?
1ema 2334 $ervicios de correo 233!3 233!3 sando servidores de correo Configurar un dominio para que acepte correo4 n dominio requiere una entrada J(& especial< =onocida como registro $< E9emplo 6\ %( % ( $ smtp
$ervidores de correo * $endmail* 3ue el más importante< =on3iguración di3ícil< Postfi6* tan popular como &endmail, con3iguración media< $odular< 'uena seguridad< &6im* dise8o monolítico, con3iguración sencilla< modular< Poco popular< "mail* no permite la distribución de binario< Es modular< • • • •
Postfi6* ?ácil de con3igurar, arc5i@o de con3iguración 6 8etc8postfi68main!cf 7< El nombre del 5ost lo adquiere 8etc8postfi68main!cf 7< automáticamente< Dpciones* m:7ostname nombre7ost* lo que de@uel@e el comando 5ostname< m:domain m:7ostname* nombre de dominio, de3ine el dominio para que Post3ix entregue correo localmente< m:destination* indica la máquina local donde en@iar< masquerade9domains* dominios a los que se le reduce la dirección 0como quitar subdominios1< masquerade9classes envelope9sender87eader9sender * tipo de direcciones a3ectadas por masqueradeXdomains< masquerade9e6ceptions * nombres de usuario que no se enmascararán< sender9canonical9map* cambia la dirección del remitente usando una base de datos de bFsqueda 3lexible< sender9canonical * cambia la dirección del remitente para emails salientes< • •
• •
•
• •
•
Aceptar correo entrante * (ormalmente acepta correo local dirigido a 6 m:7ostname7 o 6local7ost!m:7ostname7< &e puede ampliar o reducir el rango de direcciones aceptadas aceptadas cambiando el parámetro 6 m:destination7< E9emplo* 6m#destinationQm#5ostname 6m#destinationQm#5ostname,, local5ost, m#domain7< &e pueden a8adir más dominios< Dtro parámetro a cambiar es 6 inet9interfaces7 que establece desde que adaptador se escuc5a 0si 5a# @arios # se quiere escuc5ar desde todos, se pone 6 all71<
Configuración de transmisión * Ba con3iguración de transmisión se constru#e sobre la base de la con3ianza, el ser@idor transmite el correo de las máquinas en las que con3ía< Dpciones* m:net@or%s9st:le m:net@or%s9st:le 7ost8subnet8class 7ost8subnet8class * subnet signi3ica la misma subred donde está el ser@idor, ser@idor, class la misma clase que la dirección %P del ser@idor # 5ost implica con3iar sólo en el propio pc< m:net@or%s listadoderedes * lista de redes con3iables %PI$áscara< rela:9domains rela:9domains m:destination m:destination* máquinas # dominios listados de 3orma explícita por nombre< •
• •
Nota: el "eonio pue"e enjaularse con el la c$root en % masterc1 &. &. LPIC 2 1emario 22 b' Jorge Andrada
= 8 >?
$endmail* El arc5i@o de con3iguración principal es 6 8etc8mail8sendmail!cf 8etc8mail8sendmail!cf 7 0largo # di3ícil de entender1, no se edita, es me9or usar un arc5i@o de con3iguración, que se usará para generar este 6sendmail
tros arc7ivos de config * 8etc8mail8access!db 8etc8mail8access!db* controla el acceso al ser@idor sendmail< Es una base de datos de binarios creada a partir del arc5i@o de texto plano 6 access7 usando el programa 6ma%emap7< 8etc8mail8aliases!db* 0puede estar en Ietc1 es una base bd creada a partir del arc5i@o 6aliases7 empleando 6 ne@ aliases7< •
•
Cambiar el nombre de 7ost en $endmail * a8adimos al m. ;A<"E8A4EA< ;A<"E8A4EA< W]dirección destino^\ EA."8E EA."8E Wmasueradeenvelope\ Wmasueradeenvelope\ 9M coilla es til"e inversa' la 28 es noral. Nota%
Configurar para aceptar correo entrante * editar la línea 4AE;7N7P.I7N< W]Port*smtp# Addr*92D!!9# Name*;.A^ Name*;.A^ \ dn9 Nota% 9M coilla es til"e inversa' la 28 es noral.
=on dn3 # un espacio al principio de la línea, esta se con@ierte en comentario< na @ez 8etc8mail8local/7ost/ comentado, a8adir una línea con 6 '&A1R& Yuse9c@9fileZ7, luego editar 6 8etc8mail8local/7ost/ names7 # a8adir los nombres que sendmail quiere que reconozca como locales, e9emplo* pangaea
Configurar $endmail para que transmita correo * en el m. ponemos 6 '&A1R& Yhaccess!db 17, editar 6 8etc8mail8access7 # a8adir la red o %Ps seguido de* 5* acepta correo aunque otra regla lo rec5ace< R&LA* transmisión bidireccional, por de3ecto< R&C1* bloquea lo que @enga de resa red, genera mensa9e de de@olución< ;I$CAR;* como CE;E=O pero sin mensa9e< CE;E=O, pero el mensa9e lo proporcionamos nosotros &RRR nN te6to* como CE;E=O, • • • • •
Buego 5a# que convertir 6 8etc8mail8access7 en binario con* 6ma%emap 7as7 8etc8mail8access!db 8etc8mail8access!db [ 8etc8mail8access7<
LPIC 2 1emario 22 b' Jorge Andrada
=3 8 >?
Probar un $*1P4 telnet local$ost 2> YEL7 local$ost ;AIL 87;% 87;% usuario(pangaeacomK usuario(pangaeacomK 8CP. .7% destino(pangaeaedu destino(pangaeaeduK K 4A.A 4A.A es unmensaje unmensaje de prueba prueba "I.
Comprobar cola de correo4 =on el programa 6 mailq7 se gestiona la cola # se mostrará los pendientes< =on 6 sendmail /q7 o 6postqueue 7 en Post3ix limpiamos la cola< Esta cola se almacena en 6 8var8spool8mail7< Alias4 $odi3icando 6 8etc8aliases7 podemos redireccionar, por e9emplo 6 monino4postmaster7< Buego 5a# que recompilar el arc5i@o con 6 ne@aliases7<
Logs* &e encuentra en 6I var8log8mail!log7 o 6 8var8log8mail!err7<
*a0ordomo4 Es una aplicación para mane9ar listas, el programa corre cada @ez que un correo llega a ma9ordomo\5ostname< ma9ordomo\5ostname< Jebe crearse el usuario ma9ordomo, el arc5i@o de con3iguración es 6!!!8ma0ordomo8ma0ordomo!cf 7< 7<
233!2 233!2 *ane0o de colas Para mane9ar las colas de mail más e3icientemente se usa 6 Procmail7<
Almacenamiento de correo * *bo6* usado por &endmail, Post3ix # Exim, los mensa9es se almacenan en un sólo arc5i@o, 8var8spool8mail8usuario7< Jebería ser el más lento, pero es rápido< normalmente en 6 8var8spool8mail8usuario •
Acceso secuencial< *aildir* usado por mail, un directorio a cada carpeta de correo # coloca cada mensa9e en su propio arc5i@o< $aildir no se usa, mail se suele con3igurar para ser usado como $box< Nota: ;i se usa I;AP es es recoen"able usar ;aildir . •
Reglas de Procmail * El arc5i@o de con3iguración es 6 8etc8procmailrc 8etc8procmailrc7 # el arc5i@o 68!procmailrc 7 de los directorios 5ome de los usuarios< Bas 3órmulas de Procmail tienen el siguiente 3ormato* 3or mato* %!O;arcasRO%Oloc)1ileRR OcondicionesR acción
*arcas* /E* se realiza la concordancia en la cabecera del mensa9e, predeterminado< /B* concordancia en el cuerpo del mensa9e< /;* concordancia distinguiendo entre ma#Fsculas # minFsculas< /C* la concordancia se realiza en una copia del mensa9e< /@* espera a que se complete la acción, si no tiene 4xito se 5ace coincidir con 3ormulas • • • • •
•
posteriores< /X* igual que w, pero se suprime los mensa9es de 3allo del programa<
LPIC 2 1emario 22 b' Jorge Andrada
=2 8 >?
Condiciones* son expresiones regulares que comienzan siempre con un asterisco* j* denota inicio de línea< !* coincide con cualquier carácter excepto una nue@a línea< M* denota una secuencia de cualquier longitud< F* comparación< carácter< _ * des5ace el 3ormato especial del siguiente carácter< T* in@ierte el sentido de la comparación< • • • • • •
Acciones* na referencia de nombre de arc7ivo * Porcmail almacena en $box, para que almacene en $aildir 5a# que a8adir 6 8 7 al 3inal del nombre de arc5i@o< n programa e6terno * si la línea acción comienza con una barra @ertical 6 F7, Procmail trata •
•
•
•
esa línea como un programa a e9ecutar< na dirección de correo * una exclamación 6 T7 al principio de la línea denota una dirección de correo electrónico, lo mandaría allí< n bloque de anidamiento* comienza con lla@e de apertura 6 6 # denota una 3órmula anidada< &e 3inaliza con 6 7<
233!. Configuración PP e I*AP &on del tipo PLL, 5a# @arios ser@idores* T %$AP, =#rus%$AP, =ourier # Jo@ecot<
Configuración de Courier * Arc5i@os de con3iguración en 6 8etc8courier7, el arc5i@o 6 aut7daemonrc 7 controla el demonio de autenticación e 6 imapd7 controla los parámetros de ser@icio< Parámetros de =ourier %$AP* A;;R&$$* establece la %P que escuc5a el ser@idor, si se pone 6!7, escuc5a todas< PR1* el nL de puerto, por de3ecto ".)< *A<;A&*-$ * limita el nL de demonios # con ello las conexiones simultáneas< I*AP9CAPABILI1* capacidad del ser@er, no se suele modi3icar< *AIL;IRPA1E* nombre del directorio en el que se almacenarán los correos< • • • • •
Configurar ;ovecot * Arc5i@o de con3iguración en 6 8etc8dovecot8doveco!con 7< Parmetros * 8etc8dovecot8doveco!conf f 7< protocols * indica los protocolos 0imap, imaps, pop), pop)s1< listen* %P de escuc5a # si el nL de puerto< &i ponemos 6^7 escuc5a %P@. # 6**7 %P@M< login9process9per9conection es8-o * si cada registro inicia sus propios procesos< Por de3ecto Ues< login9ma69processes9count * nL máximo de procesos de acceso Jo@ecot< &i loginXprocessXperXconection está a Ues< loginXprocessXperXconection está a login9ma69conections* nL máximo de conexiones, si loginXprocessXperXconection (o< mail9location* ruta de los arc5i@os $box< sa @ariables* Su* nombre de usuario< Sd* parte del dominio del correo< S7* directorio 5ome< • • •
•
•
•
• • •
LPIC 2 1emario 22 b' Jorge Andrada
=. 8 >?
1ema 2324 $eguridad $ eguridad del sistema 232!3 Configurar un router Para usar el pc como router 5a# que con3igurarlo para que use dos o más inter3aces de red<< Buego 5a# que @incular los inter3aces de red escribiendo* 6ec7o )3, 8proc8s:s8net8ipv?8ip9for@ar 8proc8s:s8net8ipv?8ip9for@ard d 7<
IPtables* a# ) tipos de cadenas dentro de la tabla 6 filter7* I-P1* paquetes destinados a programas locales< 'RXAR;* paquetes que el sistema @a a emitir< 1P1* paquetes originados localmente # destinados a sistemas externos< Ba tabla 6 nat7 gestiona el natting # la tabla 6 mangle7 modi3ica paquetes de 3orma especializada< iptables/save arc7ivo7 # Para guardar la con3iguración actual de iptables en un arc5i@o, usamos 6 iptables/save para restaurarla 6iptables/restore [ arc7ivo 7< • • •
Nota: iptables lee en ora secuencial.
pciones de IPtables * tabla* especi3ica la tabla sobre la que se @a a operar, normalmente 3ilter o nat< /L Ocadena* muestra la con3ig de todos las cadenas o de la seleccionada< /$ Ocadena* como -B pero más concisa< /' Ocadena * elimina todas las reglas o la indicada< especi3icada< /Pcadena destino * establece política para la cadena especi3icada< /A cadena regla * a8ade una nue@a regla a la cadena< /; cadena regla * borra una regla de una cadena, indicada por el nL o descripción< /I cadena OnN regla * inserta una nue@a regla en una cadena, en la posición especi3icada 0nL1, • • • • • • • •
•
si se omite el nL, la regla se inserta en la cabeza de la cadena< /R cadena nN regla * reemplaza la regla especi3icada en ese nL<
Reglas predeterminadas * 5a# ) opciones # sólo puede predeterminarse una* ACC&P1* acepta el paquete, por e9emplo, si la política predeterminada de input es •
• •
A==EPO, entraría todo< ;RP* no de9a pasar< R&C1* como JCDP, pero de@uel@e un código de rec5azo a esa aplicación<
=on 6iptables /L7 se muestra la política predeterminada 0la que actualmente está en uso1< Para cambiar la política predeterminada, primero 5a# que borrar todas las reglas 6 iptables /' 7 # luego 6iptables /P política9predeterminada 7< Por seguridad se suene denegar todo con 6 iptables /t filter /P I-P1 ;RP 7<
so de IPtables * Para a8adir una regla a una cadena* Iptables -A CA4ENA seleccióncriterios -j 76JE.I57< INP". ACCEP. 7".P". 487P 78?A84 8EJEC.
LPIC 2 1emario 22 b' Jorge Andrada
=? 8 >?
Criterios* /m nombre* a8ade reglas de coincidencia por el módulo nombrado< /p protocolo * tcp, udp, udplite, icmp, HHH, HHH, sctp o all< //sport puerto O4puerto * puerto de origen 0o rango1 entre "!. # M//)/< //dport puerto O4puerto * especi3ica el puerto de destino o rango, /s dirección O8mscara * la dirección de origen o un bloque mediante la máscara< /d dirección O8mscara * especi3ica la dirección de destino< /i nombre* especi3ica la inter3az de la regla< /o nombre* especi3ica la inter3az de salida< //state estado * especi3ica el estado* %(KAB%J, (ET, &OA'B%&EJ, CEBAOEJ< /0 ob0etivo * le indica que 5acer si un paquete coincide< /g cadena* le indica que continFe procesando en una nue@a cadena< • • • • • • • • • • •
E9emplos* Acepta cualquier %P al tcp por el puerto !* 6 iptables - IEPN@ -s 0.0.0.0 -p tcp O"port 0 -j 7< CC+P@ 7< Permitir que una máquina 5aga ss5 # denegar las demás* 6 iptables - IEPN@ -s 92.9Q.9.3 -p tcp O"port 22 -j CC+P@ 7 e 6iptables - IEPN@ -s 0.0.0.0 -p tcp O"port 22 -j 64P 7< •
•
-at* Primero 5a# que 5abilitar (AO 6 iptables /t nat /A P$1R1I-G /o interfa /0 *A$"&RA;&7< El reen@io de puertos se realiza con 6 /07, e9emplo de redirigir el puerto * 6iptables -t nat -A - A PCECDO%(G PCECDO%(G -p tcp -i et5! --dport -9 J(AO J(AO --to-destination "+<"M<"!
Restaurar reglas de enrutamiento de forma ordenada * Bo me9or es crear un script para establecer la con3iguración # a8adirlo como inicio del &D<
Routed* Para enrutar redes mediante un protocolo de enrutamiento como C%P< C%P< 'asta con e9ecutar 6 routed7 # lo 5ará sólo<
232!2 $ecuriando servidores '1P El problema de ?OP es que en@ía las contrase8as en texto plano< Algunos ser@idores ?OP son* Pure/'1Pd * mu# seguro< Dsftpd * destaca en seguridad, estabilidad # @elocidad< con3igurar< Pro'1P;* di3ícil de con3igurar< • • •
sa el puerto 2 para transferencia de datos # el 23 para emitir comandos < a# dos modos de funcionamiento* Activo* inicia conexión # luego conexión in@ersa< Pasivo* el cliente inicia ambas conexiones< • •
$odos de transmisión de datos* A$CII* corrompe arc5i@os binarios 0grá3icos, docs, etc1< Binar:* para arc5i@os en texto plano< • •
LPIC 2 1emario 22 b' Jorge Andrada
== 8 >?
Pure/'1P El arc5i@o de con3iguración se encuentra en 6 8etc8default8pure/ftpd/co 8etc8default8pure/ftpd/common mmon 7 # 6 8etc8pure/ 8etc8pure/ ftpd8conf 7, 8etc8conf!d8pure/ftpd7< 7, en otros se encuentra en 6 8etc8conf!d8pure/ftpd
pciones de 6pure/ftpd 7* /?* sólo acepta conexiones %P@.< />* sólo acepta conexiones %P@M< /a gid* (o usa c5root excepto en los directorios 5ome< /A* usa c5root con todos excepto root, para cambiar al 5ome< /B* inicia el ser@idor en segundo plano< /c nN* acepta un nFmero máximo de conexiones de clientes simultáneas, por de3ecto /!< /C nN* igual que 6/c7 pero por %P del cliente< /e* sólo acepta conexiones anónimas< /&* sólo acepta acceso que no sean anónimos< /i* no de9a subir a anónimos< /** permite a los usuarios anónimos crear directorios< /-* usa el modo acti@o por de3ecto< /u uid* des5abilita el acceso a los usuarios con nFmero %J menor< • • • • • • • • • • • • •
El acceso anónimo implica que el ordenador tenga una cuenta llamada 6ftp7<
Dsftpd * &e e9ecuta desde un superser@idor, pero se puede desde local< El arc5i@o de con3iguración se encuentra en 6 8etc8vsftpd!conf 8etc8vsftpd!conf 7 o en 6Ietc8vsftpd8vsftpd 7< ?ormado por 6 opciónvalor7 0sin espacios1<
pciones* listenes8-o* con Ues escuc5a conexiones %P@., si se e9ecuta como super@isor 5a# que •
poner (D< • • • • • • •
•
•
• •
listen9ipv>es8-o * como listen, pero para %P@M< ftpd9bannersecuencia * mensa9e de bien@enida< nopriv9userusuario* nombre de usuario para operaciones no pri@ilegiadas< ftp9usernameusuario* usuario para acceso anónimo, por de3ecto 63tp7< local9enablees8-o * indica si acepta acceso de usuarios locales autenticados< anon:mous9enablees8-o * indica si acepta accesos anónimos< anon9rootdirectorio * establece el directorio que se usará como root para los accesos anónimos, por de3ecto 6I5omeI3tp7< c7root9local9useres8-o * le indica a @s3tpd si usar c5root acuando acepte accesos de usuarios locales< userlist9enablees8-o4 en Ues se comprueba el arc5i@o 6userlistX3ile7 # deniega el acceso a usuarios antes de solicitar contrase8a< @rite9enablees8-o4 subir arc5i@o< anon9upload9enablees8-o4 subir para anónimo<
Nota: se pue"e usar con certiica"os.
LPIC 2 1emario 22 b' Jorge Andrada
=> 8 >?
232!. $$E El más popular es pen$$E< El arc5i@o de con3iguración está en 6 8etc8ss78ss7d9config 8etc8ss78ss7d9config7< Nota: no conun"ir % ss$dcon1ig& ("el servidor #' con % ss$con1ig& ("el cliente #. Bos comentarios se 5acen con 6 V7 o 67< pciones importantes* Protocol3 o 2 o 32 * especi3ica @ersiones compatibles< Pass@ordAut7enticationes8-o * especi3ica si se permite la autenticación a tra@4s de contrase8a, por de3ecto Ues< Pub5e:Aut7enticationes8-o * sólo en ni@el, permite la autenticación por cla@e pFblica< sePA*es8-o * autenti3ica a tra@4s de PA$, por de3ecto (o< Allo@sersusuarios* grupo de usuarios separados por espacios, que se podrá conectar< Oambi4n 5a# para 3iltrar grupos< ;en:sersusuarios* in@erso a Allowsers< PermitRootLogines8- * por de3ecto Ues< <33'or@ardinges8-o* por de3ecto no< Permite tuneling de programas < Allo@1cp'or@ardinges8-o* por de3ecto #es, acepta tuneling< • •
• • •
• • • •
Generar claves ss7 * &e encuentra en 6 8etc8ss77 # se llaman* ss797ost9rsa9%e: # ss797ost9dsa9%e: * pri@adas< ss797ost9rsa9%e:!pub # ss797ost9dsa9%e:!pub * pFblicas< • •
Nota: si en las claves aparece el n?ero 9 antes "e %-)e*& es para ss$ nivel 9. Para generar las cla@es usamos 6 ss7/%e:gen 7* ss$-)e'gen - -t rsa -1 _&ss$&idrsa _&ss$&idrsa -C H-N ss$-)e'gen - -t rsa9 -1 _&ss$&idrsa _&ss$&idrsa -C H-N ss$-)e'gen - -t dsa -1 _&ss$&idrsa _&ss$&idrsa -C H-N
Bas claves deben de tener premisos > # root como como propietario, propietario, pero las pWblicas )^?? # due8o root< El programa 6ss7, registra las cla@es de 5ost para cada usuario indi@idual en 6 8!ss78%o@n97osts,, se pueden meter en el global 6 8etc8ss79%no@97osts 8etc8ss79%no@97osts,<
Copiar arc7ivos por ss7 * && inclu#e el comando 6 $CP, para copiar arc5i@os, e9emplo 6 scp arc7ivo usuario\7ost9o9IP4 , Bos 64, al 3inal son imprescindible< &i desea renombrar el arc5i@o, se pondría el nue@o nombre despu4s de los dos puntos<
Acceso sin contrase+a * a# que generar una cla@e en el sistema cliente usando 6 ss7/%e:gen , # copiar ese arc5i@o de cla@e al ser@idor en 6 8!ss78aut7oried9%e:s,<
sar ss7/agent * Cecuerda la contrase8a< Para ello usamos el 6 ss7/%e:gen , pero sin 6/-,, se solicita una 3rase de contrase8a, que será la cla@e para todos los accesos gestionados< En el cliente e9ecutamos 6 ss7/ agent 8bin8bas7, # en la consola escribimos 6 ss7/add 8!ss78id9rsa ,< LPIC 2 1emario 22 b' Jorge Andrada
=K 8 >?
1Wneles $$E* Encripta otro protocolo< =omprobar que 6 8etc8ss78ss7d9config 8etc8ss78ss7d9config, tiene a 6es, la opción 6Allo@1cp'or@arding ,< En el cliente 5a# que establecer una conexión especial, e9emplo 6 ss7 //f /L 3?24servidor43?. usuario\servidor ,< Nota: si se usa un puerto R9027 $a* !ue $acerlo coo root.
1Wneles para < * a# que asgurarnos que 6 ss7d9config, tenga el parámetro 6 <33'or@arding , est4 a 6 es,< En el lado del cliente 6 ss79config , debe de tener 6 'or@arding<33 , a 6Ues7<
tros* =ambiar el puerto por seguridad dentro de la con3iguración, el cliente conectaría con 6 ss7 /p puerto usuario\ip,<
232!? 1CPXrapper El ser@icio se llama 6 tdpd7, 5a# que con3igurar 6 8etc87osts!allo@ 8etc87osts!allo@7 # 6 8etc87ost!den: 8etc87ost!den:7, 6allo@7 tiene pre3erencia sobre 6den#7 si el 5ost está en los dos arc5i@os< Bo más seguro sería a8adir 6 ALL4ALL7 en 6den:7 # despu4s ir abriendo 5osts<
'ormato* 6servicio/nombres 4 cliente/lista O4 consola/comando 7* servicio/nombre * puede ser 6in<3tpd7, se sacan usando 6ps7< cliente/lista* es para especi3icar clientes por* ;irección IP< Rango de IPs 0con máscara o I1< -ombre de 7ost < -ombre de ;ominio< -ombre de grupo de red -I$ < Comodiles* ABB, BD=AB, (>(DT(, >(DT(, PACA(D%J< -ombres de usuario * como usuario\5ost< • •
• • • • • • •
&e puede usar 6 &
232!= 1areas de seguridad 1elnet* se puede usar para un análisis rápido, 6telnet web
LPIC 2 1emario 22 b' Jorge Andrada
= 8 >?
-map* escaneo de red, como 6 nc7 pero más completo< penDas* escaner de red< $nort* esni3er de paquetes # puede 3uncionar como %J& 0sistema de detección de intrusos1< =on3iguración en 6 8etc8snort8snort!conf 7< 8etc8snort8snort!conf 7< Bo iniciamos con 6 snort 7 # @a de9ando registros en 6 8var8log8snort7< 'ail2Ban* ?ailban es una aplicación escrita en P#t5on para la pre@ención de intrusos en un sistema, que se basa en la penalización de conexión 0bloquear conexión1 a los orígenes que intentan accesos por 3uerza bruta< Podemos descargar reglas desde su web, que iremos a8adiendo< Oambi4n podemos guardar logs en $#&B< &e encarga de buscar en los registros 0logs1 de los programas que se especi3iquen, las reglas que el usuario decida aplicarle una penalización< Ba penalización puede ser bloquear la aplicación que 5a 3allado en un puerto, bloquearla bloquearla para todos los puertos, etc< Este @eto se realiza actualizando actualizando el 3irewall 0iptables1< Por e9emplo lee* I@arIlogIpwd3ail o I@arIlogIapac5eIerrorXlog # @eta todas aquellas ips que 3allan un determinado nFmero de @eces< ?ailban se caracteriza por su simplicidad a la 5ora de con3igurar la aplicación, #a que sólo tiene un Fnico 3ic5ero de con3iguración, que se encuentra en* 6 8etc8fail2ban!conf 8etc8fail2ban!conf 7 o 8etc8fail2ba8fail2ban!conf # 6 8etc8fail2ba8fail2ban!conf # 0ail!conf 7< 7< Dpciones de ?ailban* /b* e9ecuta 3ailban en background< /d e9ecuta 3ailban en modo depuración< /c arc7ivo* lee el arc5i@o de con3iguración< /p arc7ivo* crea P%J lock en un arc5i@o< /7* muestra la a#uda< /i OIPs* %Ps a ignorar< /%* mata el proceso ?ail'an< /r nN* nFmero máximo de 3allos de contrase8a< /t tiempo* tiempo de baneo para %P< /v* muestra más in3ormación< /D* muestra la @ersión de ?ailban< • • • • • • • • • • •
Actualmente 3ailban establece 3iltros para Apac5e, ss5d, qmail, @s3tpd, lig5ttpd, Post3ix # =ourier $ail &er@er< Bos 3iltros son escritos con expresiones regulares de P#t5on que establecen la regla que 5ará disparar una determinada acción sobre la %P que origina el 5ec5o< Ba tupla 0regla, acción1 o 03iltro-R carpeta 3ilter
LPIC 2 1emario 22 b' Jorge Andrada
=Q 8 >?
1ema 23.4 $olución de problemas 23.!3 Identificación de las estapas del arranque : solución de problemas del bootloader Identificar el cargador de arranque * Grub Begac#* El grub", 5asta el !"!, sólo '%D&< Grub2* '%D& # E?%< Burg* 3ork de Grub, pero con temas grá3icos< LIL* más antiguo que Grub Begac#, sólo con '%D&< &LIL* B%BD pero con soporte E?%< D&'I1* de uso 5abitual de P=s con E?% # que arrancan P=s con $acD& # Binux< Loadlin* desde $&JD&< $:slinu6* es una 3amilia* isolinux, extlinux, pxlinux, etc< &l de Xindo@s< &'I* necesita Grub o Elilo< Existe un script para a@eriguar que bootloader usa 6 bootinfoscript7 desde source3orge< • • • • • • • • • •
Localiar los arc7ivos : el código del cargador de arranque * bicaciones cla@e* *BR * en 4l reside parte de Grub # B%BD< • •
• •
• • • •
$ectores posteriores a *BR sin asignar * los M sectores siguientes al $'C están sin asignar, asignar, aunque algunos bootloaders lo usan para contenido adicional # puede acarrear problemas< La partición de arranque BI$ * Grub lo usa en sistemas con GPO< $ector de arranque de una partición Linu6 * un bootloader puede usar el primer sector de una partición Binux como $'C< Arc7ivos de apo:o al arranque * como el disco CA$< Arc7ivos de configuraciones configuraciones previas a la instalación * lilo
*ensa0es de error de los bootloaders * lilo* aparece en pantalla* -ada* lilo no 5a cargado, no está instalalo lilo o la partición está da8ada< LVV4 carga la primera 3ase, pero no es capaz de localizar la segunda que está en 6 8boot8boot!b7< LI* localiza la segunda 3ase, pero no la puede e9ecutar< LI33!!!* indica que no es capaz de localizar la imagen del kernel< LIL* carga # e9ecuta la segunda 3ase, pero no se puede leer el arc5i@o 6 8boot8map7< equi@ocada, ocurre si se mue@e LILH* e9ecuta la segunda 3ase en dirección equi@ocada, 6 8boot8boot!b7 sin @ol@er a instalar lilo< LIL/* se detectan 3allos en 6 8boot8map7, ocurre si se mue@e este arc5i@o sin @ol@er a •
• •
• • • •
•
instalar lilo< LIL* error en >ernel o en disco CA$< Grub Legac:* tiene ) fases* 3-R arranca grub desde $'C, 3=-R código despu4s de $'C # 3ase 2-R carga desde arc5i@os en la partición de arranque< Errores* •
•
LPIC 2 1emario 22 b' Jorge Andrada
> 8 >?
• • • •
• •
•
Eard ;is% &rror* 03ase "1 la geometría del JJ no se puedo determinar< determinar< 'lopp: &rror* 03ase "1 la geometría del disquete no se puedo determinar< Read &rror* 03ase "1 no se pudo leer el disco< Geom &rror* 03ase "1 el arc5i@o que está siendo leido reside 3uera del área incluida en la '%D&< &rror nN* 03ase "1 el nL de error corresponde con un error de 3ase < &rrores de fase 2 * 5a# ). distintos<
Grub2* aparece la consola de rescate, r escate, esto sucede cuando no se puede localizar 6 8boot8grub8grub!cfg 8boot8grub8grub!cfg7< (ormalmente ocurre por error en la @ariable interna 6 prefi67< Jesde consola buscaríamos donde está 6 8 7 # luego la asignaríamos con 6 set prefi6YdiscoparticiónZ prefi6YdiscoparticiónZ 8grub7, # luego 6 set rootYdiscoparticiónZ 7* Buego podemos @ol@er al menF normal con 6insmod normal7 # luego 6normal7< Oodo es temporal # 5abrá que @ol@er a instalar grub con 6 sudo grub/install 8dev8dispositivo7< &i en el menF pulsamos 6 e7, podemos editar las entradas de &D<
Nota: po"eos recuperar bootloa"ers rub * rub2 con el "isco "e rescate %
23.!2 Problemas generales Comprobar el bufer circular del 5ernel * samos 6dmseg7, es pre3erible canalizarla con 6dmesg N less7 o redirigirla a un arc5i@o< (ormalmente se encuentra estos datos en 6I@arIlogIdmesg o I@arIlogIboot
Identificar 7ard@are * lspci* muestra in3ormación de los dispositi@os P=% conectados< 0-@ más in3o # -s nLXbus para •
@er uno en concreto1< lsusb* muestra in3ormación de los dispositi@os &' conectados< 0-@ más in3o # -s nLXbus para @er uno en concreto1< lsdev* no instalada por de3ecto 0instalar procin3o1, muestra las líneas J$A, %C # los puertos %IDlsmod* para módulos con 6insmod7 # 6modprobe7< 6modprobe7< -ota* 6uname7 indica arquitectura, >ernel, etc< •
•
•
Arc7ivos de log * Jepende de la distro, 5a# que mirar 6 s:slog7 # 6 8var8log8 7< 7< Cecomendable establecer 6 tail /n nNdelineas arc7ivo7 para que muestre las Fltimas nL de líneas< a# una 5erramienta para mirarlas como 6 Logc7ec% 7 del paquete 6 $entr:tools7<
$eguimiento de las actividades de un programa* En @ez de gui, probar por terminal para @er los mensa9es< Podemos Podemos usar 6 strace programa arc7ivo9salida7 # mirar las acti@idades, re3le9ándolas en el arc5i@o, esto monitoriza las llamadas al sistema<
LPIC 2 1emario 22 b' Jorge Andrada
>3 8 >?
Existe tambi4n 6ltrace7, pero monitoriza las llamadas a bibliotecas dinámicas<
Identificar bibliotecas compartidas * Para conocer las bibliotecas necesarias por un programa se usa el comando 6 ldd,, e9emplo* 6ldd 8usr8bin8vi, # mostrará todas las bibliotecas que necesita< &i aparece 6 not found, es que 5a# un error # no encuentra esa biblioteca<
Localiación de las bibliotecas * El programa responsable de cargar la biblioteca # @incularla al programa es 6 ld!so, que es in@ocado cada @ez que un programa necesita una 3unción de biblioteca externa< El ld
&ncontrar arc7ivos abiertos * =on 6lsof 7 encontramos arc5i@os abiertos, podemos 3iltrar con 6 /u usuario7 # tambi4n por el programa con 6 lsof F grep programa 7< Localia secuencias en arc7ivos binarios * =on 6strings arc7ivo9binario 7 busca texto A&=%%< A&=%%< Bo ideal es redirigirlo a un arc5i@o o usar 6less7< pciones* /a* escanea todo el arc5i@o< /f * muestra el nombre del arc5i@o antes de cada secuencia< • •
23.!. $olución de problemas relacionados con los recursos del sistema Problemas de $:sD* Estaría relacionado con 6 8etc8inittab7, 5a# que comprobar el runle@el por de3ecto 6id4.4initdefault7<
*odificar las opciones del 5ernel * $odi3icando el sistema de arc5i@os 6I proc7 o usando 6 s:sctl 7 podemos modi3icar parámetros<
'ormato s#sctl* 6 s:sctl Oopciones Oclave Oclavevalor F nombrearc7ivo 7< Dpciones de s:sctl * /a* muestra todas las cla@es # sus @alores< /A* igual que 6-a7 pero 3ormateado< /n* des5abilita la @ista de nombres< /-* des5abilita la lista de @alor< /q* como 6-(7, pero sólo a3ecta a stdout< /e* des5abilita errores al encontrar una cla@e desconocida< /@ clavevalor* asigna @alores< /p arc7ivo* cambia parámetros especi3icadas en el arc5i@o< • • • • • • • •
E9emplo 6s#sctl >ernel<5ostnameQmoninopc7< >ernel<5ostnameQmoninopc7< 8etc8s:sctl!conf 7< Bas opciones se encuentra en 6 8etc8s:sctl!conf 7<
LPIC 2 1emario 22 b' Jorge Andrada
>2 8 >?
Arreglar problemas de scripts de inicio * &i al iniciar un ser@icio 3alla, 5a# que comprobar que el r unle@el sea el adecuado< =omprobar =omprobar 8etc8rc!d8rc o 8etc8init!d8rc7< @ínculo simbólico en 6 8etc8rcH!d, 8etc8rc!d8rc Bos nL de secuencia de inicio deben de sumar ++, e9* 6>)ser@idor7 pues el de inicio debe ser ++)QM 6&Mser@icio7< Dtra 3orma de controlarlo es con 6 rc/update # update/rc!d 7<
Probelas con pstart * pstart es más reciente que sK< a# que mirar 6 8etc8init o 8etc8event!d7 # a9ustar los runle@els<
$cripts de inicio locales * &e encuentran en 6 8etc8rc!local 8etc8rc!local o 8etc8rd!rc!local 8etc8rd!rc!local o 8etc8rc!d8boot!local 8etc8rc!d8boot!local7< Para a8adir ponemos la ruta del binario con 6 J7 al 3inal para que sea en L plano<
23.!? $olución de problemas con variables de configuración A0ustar variables de acceso * Bos @alores se encuentran en 6 8etc8login!defs7< Problemas con bas7 * &cript de inicio de consola< Arc7ivos de acceso
Arc7ivos de no acceso
Arc7ivos globales
IetcIpro3ile IetcIpro3ile # IetcIpro3i IetcIpro3ile
Arc7ivos de usuario
]I
]I
pciones de acceso * =on el demonio 6 s:slog!d7 se pueden mandar logs a otros ser@idores< 8etc8s:slog!conf 7< El arc5i@o de con3iguración es 6 8etc8s:slog!conf 7< Cron* =ron es impulsado por un 6crond 6 crond,, un arc5i@o de con3iguración que especi3ica comando s5ell para e9ecutarse periódicamente a una 5ora especí3ica< Bos usuarios 5abilitados para crear su 3 ic5ero crontab se especi3ican en el 3ic5ero 6 cron!allo@ 7 # los que no en 6 cron!den: 7< Estos dos Fltimos 3ic5eros se encuentran en 6 8etc8cron!d8 o 8etc8 7< 7< 8etc8cron!d8 o minuto W!->/\ V $ora W!-23\ V V d`a del mes W9-39\ V V V mes W9-92\ V V
V V
V V V V
d`a de la semana W!-0 donde !*4omingo\ V comandos
9> !2 F M M
E9emplo* )! "! ^ ^ " IusrIbinIw5o RR I5omeIquien
LPIC 2 1emario 22 b' Jorge Andrada
>. 8 >?
LPIC 2 1emario 22 b' Jorge Andrada
>? 8 >?