You are on page 1of 56

ebian ackers

Elementals
2014
Editorial
En Debian Hackers estamos de celebracin.Ya son cuatro aos
desde que a Dabo y Diego les di por abrir una web en la que contar sus
fechoras a mandos de la espiral rosada; ms de dos desde que nos unimos
Euge y un servidor. Y esto sigue con la misma fuerza de siempre.
Supongo que el secreto est en esa especie de ciberanarqua reinante que
hace que publiquemos nuestra particular celebracin una semana y pico
despus del aniversario. Cuando y como surja, sin presiones, sin
obligaciones. Cualquier otra cosa sera contraria a la naturaleza del sitio, al
espritu con el que naci Debian Hackers. Pero mentira si dijera que ese
es el nico secreto. Porque la verdad es que el motor de todo esto sois
vosotros. S, vosotros, que nos leis, que nos escribs, que nos ayudis a
dar forma a esta pequea comunidad debianita. Es por vosotros que nos
metimos en este fregao y hemos cargado cincuenta y tantas pginas de
ilusin, ganas y conocimiento libre. Hablo en nombre de los cuatro
cuando digo que es un verdadero orgullo publicar el Elementals y que
confamos en que lo disfrutis al menos tanto como hemos disfrutado
nosotros preparndolo.
Y que sean, por lo menos, otros cuatro.
DH Elementals
3

ndice de contenidos
De puertos y frewalls..........................................................................................................................................4
Nmap: escner de puertos...................................................................................................................................8
Entendiendo la multiarquitectura en Debian GNU/Linux con Citrix......................................................12
Instalar Skype en debian multiarquitectura..................................................................................................15
S.M.A.R.T monitoring o como evitar lgrimas y sudores con tus discos duros.......................................18
Para programar, primero entiende a tu ordenador......................................................................................22
Entendiendo los lenguajes de programacin.................................................................................................28
Cmo crear backups cifrados e incrementales en Debian y derivados con Dj Dup...........................34
Seguridad y optimizacin de servidores GLAMP........................................................................................40
CC by-sa 2009-2014 DebianHackers.net
4
DH Elementals
Publicado originalmente el 19 de Marzo de 2012
Debish
Cientfco en construccin y curioso por naturaleza. Defensor del
conocimiento libre como motor del desarrollo social, tecnolgico e
intelectual. Debianita confeso desde tiempos de Sarge. Multitarea.
A diario establecemos conexiones in!nidad de conexiones con m"ltit"d de e#"i$os
con sede %&sica en el l"'ar m(s rec)ndito #"e $"edas ima'inar. Conexiones #"e deben
ser '"iadas y com$artidas entre *arias a$licaciones $ara #"e todo %"ncione como
es$eramos desde la m(s modesta +A, hasta el con-"nto de la .orld .ide .eb.
/eamos c)mo se 'estiona el tr(!co de datos entre n"estras m(#"inas y las del resto
del m"ndo.
01"2 es "n $"erto de red3
Un puerto de red es una inter%a4 no fsica mediante la cual dos muinas
intercambian datos a tra!"s de un ser!icio concreto. Seg#n el modelo 567 $Open
System Interconnection% su administracin se corresponde con la capa & $transporte%.
Cada puerto debe estar identifcado por un n#mero ue lo 'ace #nico y permite asociarlo a un
ser!icio determinado, de tal forma ue las aplicaciones puedan saber u" tipo de informacin
encontrarn en "l. (racias a esta identifcacin un!oca, es posible la m"lti$lexaci)n $en su
acepcin correspondiente a redes y modelo )S*%, o lo ue es lo mismo, la posibilidad de en!iar
informacin desde !arias aplicaciones de forma simultnea a tra!"s de una cone+in.
,l n#mero de puerto se indica mediante una palabra $cadena fnita de bits% de -. bits, por lo ue
e+isten /01 2 .3343 puertos diferentes. 5unue en principio podemos utilizar cualuiera de ellos
para cualuier ser!icio, la 7A,A
1
$Internet Asigned Names Authority% establece una relacin
estndar puerto6ser!icio, en !irtud de la cual clasifcamos los puertos de red en7
8"ertos bien conocidos9 los inferiores al -8/&. Suelen estar reser!ados para procesos
del sistema y como su nombre indica son utilizados por protocolos 9bien conocidos: como
pueden ser 'ttps, ftp, ss', etc. Su utilizacin reuiere permisos de administrador. Suelen ir
del lado del ser!idor.
- ,n Debian, pod"is ec'ar un !istazo al fc'ero /etc/services para !er una relacin de los puertos y ser!icios a
los ue se encuentran asociados.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
:

8"ertos re'istrados9 ;os comprendidos entre el -8/& y el &<-3-. Son de libre
aplicacin y adems e+iste un listado en la *5=5 ue especifca ue protocolo usa
cada uno de ellos.
8"ertos din(micos o $ri*ados9 del &<-3/ al .3343. Son puertos efmeros o de uso
temporal. =ormalmente son utilizados por la muina cliente.
8"erto 6er*icio
/- >?@
// SSA
/3 SM?@
34 D=S
B8 A??@
--8 @)@4
-&4 *M5@
&&4 A??@S
<<4 *M5@ SS;
<<3 @)@ SS;
;abla1.- @uertos predeterminados para algunos de los ser!icios ms utilizados.
0C)mo $"edo saber #"2 $"ertos ten'o abiertos en mi m(#"ina3
5 pesar de ue e+isten di!ersas aplicaciones on6line ue escanean los puertos ms comunes de
tu muina para comprobar si estn abiertos, la meCor opcin es utilizar una 'erramienta propia.
,n sistemas (=UDlinu+ contamos con netstat7
user@machine:~ $ netstat -tuna
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address orei!n Address State
tc" # # $%&'#'#'$:%( #'#'#'#:) LIS*+,
tc" # # #'#'#'#:-.-&/ #'#'#'#:) LIS*+,
tc" # # #'#'#'#:$$$ #'#'#'#:) LIS*+,
tc" # # $/%'$.0'$'$.%:1%&/( &-'$%('%1#'%%0:0# +S*A2LIS3+4
tc". # # ::$:%( :::) LIS*+,
tc". # # :::1//-# :::) LIS*+,
tc". # # :::$$$ :::) LIS*+,
ud" # # #'#'#'#:($0&1 #'#'#'#:)
ud" # # #'#'#'#:0## #'#'#'#:)
ud". # # :::0## :::)
ud". # # :::$$$ :::)
ud". # # :::(1(1 :::)
ud". # # :::(1((- :::)
ud". # # :::(-.-1 :::)
CC by-sa 2009-2014 DebianHackers.net
<
DH Elementals
;os parmetros -t y -u indican a netstat ue muestre las cone+iones realizadas mediante los
protocolos ;C8 y =D8 respecti!amente, pod"is fltrar la salida a !uestro antoCo $muy
recomendable ec'ar un oCo al man de netstat%.
Gestin de puertos: Iptables y ufw
Como ya sab"is, net!lter es el frameEorF encargado de manipular y procesar pauetes de red
en el Fernel linu+. , i$tables una de las 'erramientas ms potentes construdas sobre dic'o
frameEorF, un freEall ue permite confgurar las tablas, cadenas y reglas de netflter. @or tanto,
la meCor manera de gestionar el trfco de pauetes desde y 'acia nuestra muina es 'acer uso
de la mencionada 'erramienta.
Sin embargo, la confguracin de iptables se puede complicar ms de la cuenta, as ue
optaremos por utilizar otra aplicacin ue nos permita 'acerlo de forma ms sencilla. Me refero a
"%>, un sencillo y completo freEall ue nos ayudar en la tarea y ue adems dispone de
interfaz grfca $'"%>%. @od"is encontrarlo sin problema en los repositorios Debian.
root@machine:~ # aptitude install ufw
Como cada muina es un mundo y adems cumple una serie de funciones, es imposible dar una
receta uni!ersal a seguir al pie de la letra. Sin embargo, una buena forma de proteger nuestras
muinas es cerrar de forma predeterminada todos los puertos y luego abrir tan slo auellos ue
necesitemos.
Geamos cmo 'acerlo7
-% 5rrancamos el freEall
root@machine:~ # ufw enable
/% Cerramos todos los puertos de forma predeterminada
root@machine:~ # ufw default deny
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
?

4% 5Hadimos reglas para abrir los puertos ue nos interesen. Se puede indicar el nombre del
ser!icio o bien del puerto7
root@machine:~ # ufw allow ssh
root@machine:~ # ufw allow 21
Si en alg#n momento ueremos eliminar alguna de las reglas creadas basta con teclear7
root@machine:~ # ufw delete allow ssh
5dems, podemos !er el estado del freEall mediante7
root@machine:~ # ufw status
I acti!ar un registro de logs, ue se almacenarn en /var/log/messages, tecleando7
root@machine:~ # ufw logging on
@or #ltimo, decir ue tambi"n se podra 'aber realizado el proceso in!erso, esto es, abrir todos los
puertos por defecto $idem ue el punto /, pero con el parmetro allow% e ir cerrando uno por uno
$idem ue el punto 4, pero indicando deny%. Si ec'is un oCo al manual !er"is ue tambi"n es
posible permitir o denegar las cone+iones desde una determinada *@ o rango de *@Js, permitir el
acceso a una *@ a un slo ser!icio y casi tantas combinaciones en forma de reglas como se os
ocurran.
root@machine:~ # ufw allow from 192.168.1.!2"
root@machine:~ # ufw allow from 192.168.1.!2" to any app ssh
I eso es todo, como !eis 'a sido un artculo bastante generalista en el ue se 'a tratado lo ms
bsico de entre lo bsico. 5 !er si con esta peueHa introduccin os animis a indagar ms en el
apasionante mundo de las redes.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
@

Publicado originalmente el 8 de Octubre de 2012
Debish
Cientfco en construccin y curioso por naturaleza. Defensor del
conocimiento libre como motor del desarrollo social, tecnolgico e
intelectual. Debianita confeso desde tiempos de Sarge. Multitarea.
6i'"iendo con la estr"ct"ra del art&c"lo anterior hablaremos de nma$. ,"e*amente a
ni*el b(sico $ara #"e sir*a de recordatorio a #"ienes ya lo conoc&an y de introd"cci)n
a los m(s no*eles. En este caso la doc"mentaci)n y cantidad de o$ciones de "so son
in!nitas as& #"e $ara todo lo #"e no cabe en esta entrada recomiendo "sar la '"&a de
re%erencia de nma$.
0A $or #"2 nma$3
@orue no slo es una 'erramienta fundamental para los profesionales de la seguridad en sus
procedimientos de data gathering sino ue adems puede ser de tremenda utilidad para el
usuario en multitud de ocasiones. @uede ser!irte para !er uien est conectado a tu red Eif,
securizar tu ser!idor, detectar los nodos de una red y mil y una cosas ms. Su funcin ms
e+tendida, no obstante, suele ser la de comprobar u" puertos de una muina estn abiertos
con la fnalidad de re'"lar s" tr(!co y detectar posibles *"lnerabilidades asociadas a las
aplicaciones trabaCando a tra!"s de ellos.
01"2 es nma$3
,ma$ es una 'erramienta para la e+ploracin de redes y, de forma idnea, la realizacin de
auditoras de seguridad. Se trata de un softEare desarrollado para escanear redes com$letas,
aunue funciona sin problemas contra un ser!idor concreto. =map rastrea los puertos de la
muina o muinas en cuestin y establece si un puerto est abierto, cerrado o protegido por un
cortafuegos. 5s, es capaz de identifcar muinas dentro de una red, determinar u" ser!icios
utiliza dic'a muina, defnir cul es su sistema operati!o e incluso de!ol!er cierta informacin
sobre el 'ardEare de la muina.
0C)mo %"nciona3
5 grandes rasgos, de dos formas7 en*iando $a#"etes o reali4ando "na llamada de conexi)n
$connect system call%. Una !ez 'ec'o esto, =map es capaz de distinguir entre seis estados
diferentes para cada puerto7
CC by-sa 2009-2014 DebianHackers.net
9
DH Elementals
Abierto (open)7 uiere decir ue 'ay una aplicacin aceptando cone+iones ?C@,
data'ramas UD@ o asociaciones 6C;8 en el puerto.
Cerrado (closed)7 el puerto es accesible pero no e+iste ninguna aplicacin escuc'ando
en "l.
iltrado (!ltered)7 el pauete ue se 'a en!iado 'a sido fltrado por un freEall, reglas
del router, etc y nmap no puede determinar si est abierto o no.
"in !ltrar (un!ltered)7 uiere decir ue el puerto es accesible pero nmap no es capaz
de determinar si est abierto o cerrado. ,ste estado slo lo de!uel!e el tipo de escaneo
5CK $lo !eremos ms adelante%.
Open # !ltered $ closed # !ltered7 nmap no es capaz de defnir si el puerto est
abiertoDcerrado o fltrado. )curre cuando los puertos abiertos no generan una respuesta.
Una sinta+is general simplifcada de la orden sera7
user@machine:~# nmap $opciones%escaneo& $m'(uina%a%escanear&
5unue en funcin del tipo de escaneo, es posible ue se reuieran pri!ilegios de superusuario.
;i$os de escaneo
,+isten -4 tipos de escaneo, !eamos algunos de ellos7
Escaneo ;C8 6A,7 es el predeterminado y probablemente el ms utilizado. ?ambi"n el ms
rpido y discreto, ya ue no llega a completar una cone+in ?C@. Su funcionamiento consiste en
en!iar un pauete SI= y esperar una respuesta por parte del ser!idor7 si se recibe un SI=D5CK el
puerto est abierto $si lo recibe sin el Lag 5CK tambi"n lo considera as%, si se recibe un MS?
$reset% est cerrado y si no se recibe respuesta tras !arios intentos se considera fltrado.
Comando7
root@machine:~# nmap )s* $m'(uina&
Escaneo ;C8 connect7 el predeterminado cuando no tenemos acceso root y por tanto no
podemos en!iar pauetes en crudo. =map solicita al sistema ue establezca una cone+in con la
muina obCeti!o a tra!"s del puerto elegido mediante una llamada de tipo connect. Se trata de
una opcin menos efciente ue ?C@ SI=, ya ue reuiere ms tiempo y pauetes para obtener la
misma informacin.
Comando7
user@machine:~# nmap )s+ $m'(uina&
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
10

Escaneo =D87 dado ue el escaneo de puertos UD@ es ms lento y difcultoso ue el de ?C@,
muc'as !eces se deCa de lado su auditora. ,s un error, ya ue tanto D=S $puerto 34%, como S=M@
$puertos -.-D-./% y DAC@ $puertos .ND.B% 6ser!idorDcliente6 corren sobre "ste. ,l escaneo UD@
funciona mediante el en!o de un pauete UD@ a los puertos seleccionados, de tal forma ue si se
de!uel!e un error 9*CM@ unreac'able: el puerto se considera cerrado o fltrado $en funcin del
cdigo de error% mientras ue si 'ay respuesta mediante un pauete UD@ se considera abierto.
Comando7
root@machine:~# nmap )s, $m'(uina&
Escaneo 6C;8 7,7;7 este tipo de escaneo se establece como alternati!a a los ?C@ y UD@ y sera
el eui!alente a un escaneo ?C@ SI= en el mbito 6C;8. Se trata de un tipo de escaneo rpido y
ue distingue bien entre los estados abierto, cerrado y fltrado. 5dems, es muy poco intrusi!o,
ya ue no completa la asociacin S?C@ sino ue en!a un pauete *=*? como si se pretendiera
abrir una cone+in y espera la respuesta7 si recibe un *=*?65CK, el puerto est abierto, mientras
ue si recibe un 5O)M? el puerto est cerrado. ,n caso de no recibir respuesta tras !arios
intentos, el puerto se marca como fltrado.
Comando7
root@machine:~# nmap )s- $m'(uina&
Escaneo ;C8 $ersonali4ado9esta modalidad tiene como fnalidad permitir ue el usuario defna
su anlisis a la carta, especifcando las ?C@ Lags a utilizar $UM(, 5CK, @SA, MS?, SI=, >*=% y el tipo
de escaneo ?C@ $6s>, 6s5%.
Comando7
root@machine:~# nmap )s.!s/ ))scanflags ,01
$@or eCemplo%
Mecuerda ue e+iste una com$let&sima '"&a sobre nma$ a la ue puedes acudir para
cada caso en concreto. ,ste artculo tan slo recoge algunos de los usos ms comunes.

Trabajando en modo grfco: zenmap
CC by-sa 2009-2014 DebianHackers.net
11
DH Elementals
5unue no es lo 'abitual en los usuarios de nmap $normalmente con conocimientos a!anzados y
ms ue acostumbrados a trabaCar en la terminal%, cabe la posibilidad de ue por una u otra
razn necesiten o preferan una interfaz grfca para trabaCar con nmap. @ara esos casos e+iste
Benma$ ue recoge toda la potencia de nmap en una (U* muy intuiti!a, completa y #til tanto
para anlisis sencillos como auellos ms compleCos o personalizados.
5u, un par de capturas de pantalla para ue os 'agis una idea de su aspecto, aunue lo ms
recomendable es ue lo prob"is !osotros mismos7

Ms informacin
Si uer"is ms informacin sobre el uso de nmap, eCemplos prcticos, sugerencias sobre cmo
afrontar casos reales mediante nmap, etc os recomiendo aduirir su libro7
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
12

Publicado originalmente el 12 de Marzo de 201%
n1mh Caka Die'o Dart&ne4 CastaEedaF
+inu+ user, debian user, blogger, podcaster, geeF y escritor sin ideas.
5sturiano en M"rida. =adador contra corriente.
Me doy perfecta cuenta de ue el ttulo es, cuando menos, confuso. I est 'ec'o
aposta, debo aHadir. ,l moti!o7 ue este sencillo tutorial no da para comprender la
multiaruitectura ue 'an implantado en Debian, pero un poco s ue se acerca.
5dems, 'e conseguido aplicarlo para un programa concreto y muy orientado al
mundo empresarial, el cliente Citri+ pero me falta el ue considero el caballo de
batalla del ambiente dom"stico, SFype.
Puien uiera ampliar sus conocimientos sobre la multiaruitectura, en el EiFi de
Debian tiene la meCor de las guas.
,ste cambio de aruitectura 'a !enido propiciado porue 'e Cubilado a mi !ieCa
estacin de trabaCo $Qgracias por todoR =o !uel!as S%% y me 'an dado otro ordenador,
ms moderno, con un procesador de .& bits. @or supuesto, 'e instalado Debian para
.& bits $amd.-%, confgurado y actualizado todo desde cero, como corresponde. Con
algunos programas tu!e ms lo $5ire5o675lash78ava%, simplemente por no recordar
ue 'aba cambiado de aruitectura pero, una !ez unifcados criterios, todo funcion
como se esperaba.
Aasta llegar al cliente *C5.
CC by-sa 2009-2014 DebianHackers.net
13
DH Elementals
Como es de suponer, se parte con un euipo actualizado correctamente $en mi caso,
con sid%, sin pauetes atascados ni cosas raras.
;o primero es aHadir la segunda aruitectura a d"9! y actualizar la base de datos de
pauetes.
$ sudo d"9! --add-architecture i10.
$ sudo a"titude u"date
Despu"s instalamos la dependencia ms peliaguda de Citri+, ia1%-libs. 5'ora nos
tiene ue deCar, sin ms. Como estos pauetes slo estn disponibles para una
aruitectura, no 'ay ue especifcar nada.
T sudo aptitude install ia4/6libs ia4/6libs6gtF ia4/6libs6gtF6i4B. ia4/6libs6i4B.
Seguimos instalando dependencias.
T sudo aptitude install libmotif&7i4B.
,n esta ocasin 'ay ue especifcar la aruitectura para ue no instale la de amd.-,
ue sera la opcin por defecto. ,n caso de ue esto suceda, la eCecucin del
programa dar el siguiente error7
DoptDCitri+D*C5ClientDEfcmgr7 error E'ile loading s'ared libraries7 libUm.so.&7 Erong
,;> class7 ,;>C;5SS.&
I, por #ltimo, instalamos nspluginErapper para .& bits. 5l igual ue con ue
libmot5i-, la instalacin de la aruitectura incorrecta se traducira en un bonito error.
,ste pauete, adems, 'e tenido ue baCarlo directamente de la Eeb de Debian
porue slo est disponible para sueeze.
T sudo dpFg 6i .DnspluginErapperV-.4.86-Vamd.&.deb
Cumplidas las dependencias $Qpor fnR%, ya podemos instalar el pauete ofcial de
Citri+ para .& bits, sin ue re!iente por alg#n sitio7
T sudo dpFg 6i icaclientV-/.-.8Vamd.&.deb
,s probable ue de un error durante la instalacin, con salida de error /7
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
14

dpFg7 error processing icaclient $66confgure%7
el subproceso instalado el script post6installation de!ol!i el cdigo de salida de
error /
Si buscamos el error en el script de post6instalacin, !eremos ue el cliente *C5,
paradCicamente, no est preparado para reconocer los sistemas de esta
aruitectura. Se puede ob!iar puesto ue el softEare est instalado y ya funciona
pero, aparecer en todos las actualizaciones posteriores, como un error.
@or eso recomiendo perder dos minutos y, siguiendo las e+plicaciones de la *net
Sur!i!al (uide, editar el fc'ero 4+2IA,:"ostinst y comentar la lnea /.N8, es decir,
deCarla de esta guisa7
We+it /
Una !ez compilado el pauete, se instala de nue!o, la salida ser limpia esta !ez.
,n este punto, slo ueda iniciar s;na"se y buscar <itri6 Receiver , paladeando el
momento.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
1:

Publicado originalmente el & de Mayo de 201%
n1mh Caka Die'o Dart&ne4 CastaEedaF
+inu+ user, debian user, blogger, podcaster, geeF y escritor sin ideas.
5sturiano en M"rida. =adador contra corriente.
Si, lo s", los ttulos empiezan a rayar lo imposible pero prometo estarme tranuilo
una temporada.
Una de las partes, a mi Cuicio, ms interesantes del anuncio de la liberacin de
Debian (=UD;inu+ N, XE'eezyY, es la inclusin ofcial de la multiaruitectura. ;a
posibilidad de instalar un softEare 'ec'o a medida para una determinada
aruitectura en otra y sin ue esto suponga un uebradero de cabeza $como !ena
siendo #ltimamente%, es un a!ance enorme.
Aace alg#n tiempo publiu" una entrada dedicada a este tema, ,ntendiendo la
multiaruitectura en Debian (=UD;inu+ con Citri+ y ya en la primera lnea deCaba
claro ue el cliente *C5 es para un entorno corporati!o y ue la !erdadera prueba de
fuego sera SFype. Oien, pues 'a llegado el da de las pruebas.
Aan coincidido !arios factores. @or un lado, la #ltima actualizacin ya estaba pidiendo
la desinstalacin de la librera ia1%-libsS 'ace dos das se liber E'eezy con este
tema presente en todas las notas, a!isos y comentariosS y, adems, 'oy estoy de ese
'umor en ue el cuerpo te pide riesgos.
@ero !ol!amos al tema. ;o primero de todo es 'acer una peueHa actualizacin y
limpieza del sistema antes de empezar7
die!o@deno6:~$ sudo a"titude u"date
die!o@deno6:~$ sudo a"titude 5ull-u"!rade
CC by-sa 2009-2014 DebianHackers.net
1<
DH Elementals
@robablemente, desinstalar !arios pauetes, entre ellos la mencionada ia1%-libs y
todas sus dependencias. =ada de lgrimas, eso es lo ue perseguimos. 5
continuacin, aHadimos la segunda aruitectura a d"9!, en mi caso, i10.7
die!o@deno6:~$ sudo d"9! --add-architecture i10.
,l resto es sencillo. @odra usar d"9! para comprobar las dependencias pero ya 'e
dic'o ue 'oy estoy guerrero, as ue instalo directamente sFype $baCado de la Eeb
ofcial%7
die!o@deno6:~$ sudo d"9! -i s9;"e-debian=-'$'#'%#-$=i10.'deb
Seleccionando el "a>uete s9;"e "reviamente no seleccionado'
(Le;endo la base de datos ''' $%./0% 5icheros o directorios instalados
actualmente')
4esem"a>uetando s9;"e (de s9;"e-debian=-'$'#'%#-$=i10.'deb) '''
d"9!: "roblemas de de"endencias im"iden la con5i!uraci?n de s9;"e:
s9;"e de"ende de lib>t@eb9it- (AB %'$'#~%#$$@ee9$1)'
d"9!: error al "rocesar s9;"e (--install):
"roblemas de de"endencias - se de8a sin con5i!urar
Procesando dis"aradores "ara mime-su""ort '''
Procesando dis"aradores "ara !nome-menus '''
Procesando dis"aradores "ara des9to"-5ile-utils '''
Se encontraron errores al "rocesar:
s9;"e
,os comenta >ue de"ende de lib>t@eb9it- ;C al tratar de instalar dicha
librerDa sin indicar la ar>uitecturaC nos corri!e:
die!o@deno6:~$ sudo a"titude install lib>t@eb9it-
Se con5i!urarEn los si!uientes "a>uetes >ue estEn ahora "arcialmente
instalados:
s9;"e:i10.FbG
,o se instalarEC actualiHarE o eliminarE nin!In "a>uete'
# "a>uetes actualiHadosC # nuevos instaladosC # "ara eliminar ; # sin
actualiHar'
,ecesito descar!ar # 2 de 5icheros' 4es"uJs de desem"a>uetar se usarEn
# 2'
,o se satis5acen las de"endencias de los si!uientes "a>uetes:
s9;"e:i10. : 4e"ende: lib>t@eb9it-:i10. (AB %'$'#~%#$$@ee9$1) "ero no
serE instalado'
Las acciones si!uientes resolverEn estas de"endencias
+liminar los "a>uetes si!uientes:
$) s9;"e:i10.
KAce"ta esta soluci?nL MN:n:>:LO
Aace 'incapi" !arias !eces en ue tanto sFype como la librera de la ue depende
estn disponibles para la aruitectura i4B., #nicamente. 5s pues, slo tenemos ue
complacer al dpFg, indicndole la aruitectura deseada7
die!o@deno6:~$ sudo a"titude install lib>t@eb9it-:i10.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
1?

Se instalarEn los si!uiente "a>uetes ,P+QRS:
lib!streamer-"lu!ins-base#'$#-#:i10.FaG lib!streamer#'$#-#:i10.FaG
liborc-#'--#:i10.FaG lib>t@eb9it-:i10.
Se con5i!urarEn los si!uientes "a>uetes >ue estEn ahora "arcialmente
instalados:
s9;"e:i10.
# "a>uetes actualiHadosC - nuevos instaladosC # "ara eliminar ; # sin
actualiHar'
,ecesito descar!ar 0'0&. 92 de 5icheros' 4es"uJs de desem"a>uetar se
usarEn 1%C( S2'
KQuiere continuarL MN:n:LO
I pensar ue tena cierto reparo y 'asta miedoZ
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
1@

Publicado originalmente el 1' de Marzo de 2012
n1mh Caka Die'o Dart&ne4 CastaEedaF
+inu+ user, debian user, blogger, podcaster, geeF y escritor sin ideas.
5sturiano en M"rida. =adador contra corriente.
*magnate el siguiente escenario7 un da cualuiera llegas a casa por la noc'e y
enciendes el ordenador para leer el correo y !er las no!edades en debian'acFers,
ue se rumorea ue tienen nue!os fc'aCes. ,l arranue es normal, sin mensaCes
apocalpticos ni !olcados de pila y, entonces, al iniciar la sesin en gnome, aparece
un mensaCe ue no 'abas !isto antes.
CC by-sa 2009-2014 DebianHackers.net
19
DH Elementals
,s muy tranuilizador leer, en color roCo y may#sculas, los mensaCes A((A)*O y +(
A((O *+( *,"CO +" ,)M,)+)-+ e, inmediatamente debaCo, Respaldar todos los datos
y reemplazar el disco. ;o ue realmente te pone de mala u!a es saber ue el
dispositi!o tiene menos de un aHo de uso, ue es disco principal del ordenador y ue
es de un terabyte, el mayor espacio de almacenamiento del ue 'as disfrutado nunca
y donde tienes absolutamente todo. [Dnde se supone ue !oy a !olcar los datos\
[Cuntos de mis discos duros de -/ giga bytes necesitar" para respaldar a semeCante
monstruo\ ;as preguntas surgen sin cesar...
Un momento despu"s, ms tranuilo y de !uelta de la cocina con una taza de caf" $la
noc'e no !a a ser larga, !a a ser eterna, intuyes%, te tomas un tiempo en analizar el
mensaCe antes de deCarte lle!ar por el pnico.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
20

,l programa ue muestra el mensaCe es "alim"sest, tambi"n conocido como la
Utilidad de discos, ue forma parte del pauete gnome6disF6utility y ue desconocas
completamente. ,ste programa se encarga, principalmente de realizar ciertas
operaciones con discos duros y particiones $particionado, asignacin del sistema de
fc'eros, etiuetado, montaCe, desmontaCe% y de la monitorizacin S.M.5.M.?. de los
mismos.
.M.A.R.T. es una tecnologa que
incorporan las placas base y los
discos duros para prevenir muertes
sbitas
S
5 esas 'oras de la noc'e, leer de u" !a la monitorizacin smart $!oy a omitir los
puntos en el resto de la entrada%, mientras 'aces una copia de seguridad de todo
fc'ero !alioso ue puebla tu disco duro, para u" negarlo, se 'ace cuesta arriba.
@ero recuerdas $porue ya te las 'abas !isto con ella% ue es una tecnologa ue
incorporan las placas base y los discos duros para pre!enir muertes s#bitas y
lgrimas de desconsuelo.
,n otras palabras, monitoriza ciertos !alores de los discos para pre!enir la aparicin
CC by-sa 2009-2014 DebianHackers.net
21
DH Elementals
de fallos o, en caso de ue ocurran $s'it 'appens%, para disponer de un tiempo
precioso con el ue sal!ar tu informacin.
,n este caso, el parmetro dscolo, Contador de sectores reubicados no te suena
de nada, as ue decides !er u" test te deCa efectuar "alim"sest, en la opcin
+.ecutar autocomprobaci/n.
5 eso de las dos de la maHana, con todos los datos sal!ados en tres discos duros
con!enientemente desconectados y puestos sobre la mesa $ya no te fas ni de la
electricidad%, te das cuenta ue da igual ue realices un test u otro porue todos
terminan en un par de segundos, con el mismo resultados7 dos frases escritas en
color roCo y letras may#sculas ue, a esas 'oras, ya no te parecen tan feas.
5s pues, smart funciona y, aunue esos mensaCes apocalpticos asustan bastante
por muy curtido ue est" uno, fnalmente reconoces ue la otra opcin, esa en ue
sabes ue el dispositi!o est mal en el mismo instante en ue certifcas su defuncin,
es muc'o peor. ;a comunicacin entre placa base y monitor smart permite comprar
tiempo, ue es muc'o.
[Cmo termina esta 'istoria\ *nstalando el programa ue la marca del disco duro 'a
creado $slo para ]indoEs, por supuesto% para !ol!er a otros errores escritos en color
roCo y may#sculas y una in!itacin a en!iarlo a 5lemania para su sustitucin por otro
nue!o. Mientras tanto, instalas Debian en otro disco duro, ms modesto y !ieCo, para
seguir tirando.
Un mes despu"s de !er por primera !ez el mensaCe $creo ue terminar"
tatundomelo en el pec'o%, recibes una caCa con un terabyte de espacio, limpio,
nue!o, esperando particiones y datos y comienzas a instalar Debian a eso de la
medianoc'e.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
22

Publicado originalmente el ' de Marzo de 2012
E"'enia Gahit
(;5M@ AacFer y @rogramadora eUtrema, a!ocada a la docencia en el
mbito de la *ngeniera de SoftEare y a la in!estigacin de nue!as
t"cnicas, metodologas y paradigmas relacionadas con la seguridad de
aplicaciones. Miembro de la >ree SoftEare >oundation y ?'e ;inu+
>oundation.
0De *erdad crees #"e conoces con exactit"d la ar#"itect"ra de t" ordenador3 6i
#"ieres $ro'ramar lo me-or #"e $"edes hacer es conocer con $recisi)n como est(
%ormado t" ordenador y #"e %"nci)n exacta c"m$le cada com$onente. En este art&c"lo
intentaremos Hdestri$arH *irt"almente n"estro ordenador $ara $oder entenderlo
ay"d(ndonos del comando lshw al c"al $odremos acceder como s"$er-"s"ario.
Arquitectura de computadoras: conociendo el hardware
Un ordenador, con respecto al 'ardEare, se encuentra compuesto por una serie de
dispositi!os, clasifcados seg#n la funcin ue "stos desempeHen. Dic'a clasifcacin,
se compone de7
Dispositi!os de entrada
Dispositi!os de salida
Dispositi!os de comunicacin
Dispositi!os de almacenamiento
Dispositi!os de cmputo
root@cocochito:~T lshw )short
CC by-sa 2009-2014 DebianHackers.net
23
DH Elementals
2us in5o 4evice <lass 4escri"tion
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
s;stem *o 2e illed 2; R'+'S'
bus &&(i.(U'
memor; .-Vi2 2IRS
c"u@# "rocessor Intel(R) <eleron(R) <PP %'0#U3H
memor; $.Vi2 L$ cache
memor; %(.Vi2 L% cache
memor; %Ui2 S;stem Semor;
memor; $Ui2 4ISS S4RAS S;nchronous
memor; $Ui2 4ISS S4RAS S;nchronous
"ci@####:##:##'# brid!e 0%0.(U:P+:P 4RAS <ontroller:3ost-3ub Inter5ace
"ci@####:##:#$'# brid!e 0%0.(U:P+:P P<I to AUP <ontroller
"ci@####:#$:##'# dis"la; ,Q1- MUeorce W ((##O
"ci@####:##:#.'# !eneric 0%0.(U:P+:P Processor to I:R Semor; Inter5ace
"ci@####:##:$d'# bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller T$
"ci@####:##:$d'$ bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller T%
"ci@####:##:$d'% bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller T1
"ci@####:##:$d'1 bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller T-
"ci@####:##:$d'& bus 0%0#$+2:+R (I<3(:I<3(R) PS2% +3<I <ontroller
"ci@####:##:$e'# brid!e 0%0#$ P<I 2rid!e
"ci@####:#%:##'# @lan# net@or9 R*%(.$:R*.$ 0#%'$$! P<I
"ci@####:#%:#%'# communication SS(. 4ata a6 Sodem
"ci@####:#%:#('# eth# net@or9 R*L-0$1/:0$1/<:0$1/<7
"ci@####:##:$5'# brid!e 0%0#$+2:+R (I<3(:I<3(R) LP< Inter5ace 2rid!e
"ci@####:##:$5'$ scsi$ stora!e 0%0#$+2:+R (I<3(:I<3(R) I4+ <ontroller
scsi@$:#'#'# :dev:cdrom dis9 4Q4RAS USA-3-%,
scsi@$:#'$'# :dev:sda dis9 $%%U2 Sa6tor .N$%#L#
scsi@$:#'$'#C$ :dev:sda$ volume $#/Ui2 +W*- volume
scsi@$:#'$'#C% :dev:sda% volume -0#(Si2 +6tended "artition
:dev:sda( volume -0#(Si2 Linu6 s@a" : Solaris "artition
"ci@####:##:$5'1 bus 0%0#$+2:+R (I<3(:I<3(R) SS2us <ontroller
"ci@####:##:$5'( multimedia 0%0#$+2:+R (I<3(:I<3(R) A<X/& Audio <ontroller
usb@(:$'$ scsi% stora!e
scsi@%:#'#'# :dev:sdb dis9 S<SI 4is9
;os dis$ositi*os de entrada son todos auellos ue permiten la entrada de datos a
un ordenador. ,stos dispositi!os, son los ue permiten al usuario interactuar con el
ordenador. ,Cemplos7 teclado, mouse $ratn%, micrfono, Eebcam, scanner, etc.
;os dis$ositi*os de salida, son todos auellos ue permiten mostrar la informacin
procesada por el ordenador. ,Cemplos7 monitor, impresora, auriculares, alta!oces, etc.
;os dis$ositi*os de com"nicaci)n son auellos ue permiten la comunicacin
entre dos o ms ordenadores. ,Cemplos7 modem, router, placa de red, bluetoot', etc.
;os dis$ositi*os de almacenamiento, son todos auellos ue permiten almacenar
datos en el ordenador. ,Cemplos7 disco duro, pendri!e, disFet, CD, DGD, etc.
;os dis$ositi*os de c)m$"to, son auellos encargados de realizar las operaciones
de control necesarias, sobre el resto de los dispositi!os del ordenador. ,stos
dispositi!os, se encuentran disponibles, en todos los ordenadores, y los mismos se
describen a continuacin.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
24

CPU
;a C8= $Central @rocessing Unit ^ Unidad Central de @rocesamiento%, tambi"n
llamada $rocesador o micro$rocesador, es un circuito microscpico ue interpreta
y eCecuta instrucciones. ;a C@U se ocupa del control y del proceso de datos en las
computadoras. (eneralmente, la C@U es un microprocesador fabricado en un c'ip, un
#nico trozo de silicio ue contiene millones de componentes electrnicos. ,l
microprocesador de la C@U est formado por una unidad aritm"tico6lgica ue realiza
clculos y comparaciones y toma decisiones lgicas $determinando si una afrmacin
es cierta o falsa mediante las reglas del lgebra de Ooole. @ara aceptar rdenes del
usuario, acceder a los datos y presentar los resultados, la C@U se comunica a tra!"s
de un conCunto de circuitos o cone+iones llamado bus. ,l bus conecta la C@U a los
dispositi!os de almacenamiento $por eCemplo un disco duro%, los dispositi!os de
entrada $por eCemplo un teclado o un mouse% y los dispositi!os de salida $por eCemplo
un monitor o una impresora%.
root@cocochito:~T lshw )2 bus )short
3:Y "ath 4evice <lass 4escri"tion
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
:# bus &&(i.(U'
:#:$##:$d bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller
T$
:#:$##:$d'$ bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller
T%
:#:$##:$d'% bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller
T1
:#:$##:$d'1 bus 0%0#$+2:+R (I<3(:I<3(R) PS2 P3<I <ontroller
T-
:#:$##:$d'& bus 0%0#$+2:+R (I<3(:I<3(R) PS2% +3<I <ontroller
:#:$##:$5'1 bus 0%0#$+2:+R (I<3(:I<3(R) SS2us <ontroller
Cuando se eCecuta un programa, el registro de la C@U, llamado contador de
programa, lle!a la cuenta de la siguiente instruccin del programa, para garantizar
ue las instrucciones se eCecuten en la secuencia adecuada.
;a unidad de control de la C@U coordina y temporiza las funciones de la C@U, tras lo
cual recupera la siguiente instruccin desde la memoria. ,n una secuencia tpica, la
C@U localiza la instruccin en el dispositi!o de almacenamiento correspondiente. ;a
instruccin !iaCa por el bus desde la memoria 'asta la C@U, donde se almacena en el
registro de instruccin. ,ntretanto, el contador de programa se incrementa en uno
para prepararse para la siguiente instruccin.
5 continuacin, la instruccin actual es analizada por un decodifcador, ue
determina lo ue 'ar la instruccin. Cualuier dato reuerido por la instruccin es
recuperado desde el dispositi!o de almacenamiento correspondiente y se almacena
en el registro de datos de la C@U.
;uego, la C@U eCecuta la instruccin y, los resultados se almacenan en otro registro o
CC by-sa 2009-2014 DebianHackers.net
2:
DH Elementals
se copian en una direccin de memoria determinada
/
.
Memoria
;a memoria es la encargada de almacenar toda la informacin ue el ordenador se
encuentra utilizando. ,+isten tres tipos de memoria7 memoria IAD, memoria I5D
y memoria cach2.
root@cocochito:~T lshw )2 memory )short
3:Y "ath 4evice <lass 4escri"tion
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
:#:# memor; .-Vi2 2IRS
:#:-:( memor; $.Vi2 L$ cache
:#:-:. memor; %(.Vi2 L% cache
:#:e memor; %Ui2 S;stem Semor;
:#:e:# memor; $Ui2 4ISS S4RAS S;nchronous
:#:e:$ memor; $Ui2 4ISS S4RAS S;nchronous
Listando componentes de memoria
Memoria RAM
;a memoria IAD $Mandom 5ccess Memory%, es la
memoria desde la cual, el procesador recibe las
instrucciones y guarda los resultados. Se utiliza como
memoria de trabaCo para el sistema operati!o, los
programas y la mayora del softEare. ,s all donde se
cargan todas las instrucciones ue eCecutan el procesador
y otras unidades de cmputo. Se denominan _de acceso
aleatorio_ $random access% porue se puede leer o escribir
en una posicin de memoria con un tiempo de espera
igual para cualuier posicin, no siendo necesario seguir
un orden para acceder a la informacin de la manera ms
rpida posible. Durante el encendido del ordenador, la
rutina @)S? !erifca ue los mdulos de memoria M5M
est"n conectados de manera correcta. ,n el caso ue no
e+istan o no se detecten los mdulos, la mayora de
tarCetas madres $mot'erboard% emiten una serie de pitidos ue indican la ausencia de
memoria principal.
/ >uente7 'ttp7DDes.EiFi!ersity.orgDEiFiD,structuraVdelVcomputador
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
2<

?erminado ese proceso, la memoria O*)S
4
$memoria M)M% puede realizar un test
bsico sobre la memoria M5M indicando fallos mayores en la misma
&
.
root@cocochito:T lshw )2 memory )short 3 grep )i ram
:#:e:# memor; $Ui2 4ISS S4RAS S;nchronous
:#:e:$ memor; $Ui2 4ISS S4RAS S;nchronous
>iltrando la memoria M5M
Memoria ROM
;a memoria I5D $Mead )nly Memory%, es permanente, ya ue lo ue permanece en
la M)M no se pierde aunue el ordenador se apague. Su funcin principal es guardar
informacin inicial ue el ordenador necesita para colocarse en marc'a una !ez ue
se enciende. @ermite solo la lectura de la informacin y no su escritura,
independientemente de la presencia o no de una fuente de energa. ;os datos
almacenados en la M)M no se pueden modifcar, o al menos no de manera rpida o
fcil. Se utiliza principalmente para contener el frmEare $programa ue est
estrec'amente ligado a 'ardEare especfco, y es poco probable ue reuiera
actualizaciones frecuentes% u otro contenido !ital para el funcionamiento del
dispositi!o, como los programas ue ponen en marc'a el ordenador y realizan los
diagnsticos
3
.
root@cocochito:T lshw )2 memory )short 3 grep )i bios
:#:# memor; .-Vi2 2IRS
Filtrando la memoria RO !tam"i#n llamada $IOS%
Memoria Cach
;a memoria cach2 es auella ue se usa como puente entre el C@U y la memoria
M5M para e!itar demoras en el procesamiento de los datos. ,+isten !arios n#cleos de
esta memoria $denominados con la letra ; y un n#mero, por eCemplo ;-%. Cuanto
menor el n#mero ms rpida es la memoria. @or pro+imidad a la C@U, es muc'o ms
rpida ue la memoria M5M y tambi"n, muc'o mas peueHa.
4 ,n este caso, el t"rmino O*)S 'ace referencia a la memoria M)M $descripta anteriormente%, y =), al Sistema
Osico de ,ntrada y Salida.
& >uente7 'ttp7DDes.EiFipedia.orgDEiFiDMemoriaVM5M
3 >uente7 'ttp7DDes.EiFipedia.orgDEiFiDMemoriaVM)M
CC by-sa 2009-2014 DebianHackers.net
2?
DH Elementals
root@cocochito:~T lshw )2 memory )short 3 grep cache
:#:-:( memor; $.Vi2 L$ cache
:#:-:. memor; %(.Vi2 L% cache
Filtrando la memoria cach#
Bus de datos
,l b"s de datos $o canal de datos% es un sistema digital ue transfere datos entre
los componentes de una computadora o entre computadoras. ,st formado por
cables o pistas en un circuito impreso, dispositi!os como resistores y condensadores
adems de circuitos integrados.
)otas adicionales sobre el comando lshw
Como 'emos podido notar, el comando lshw nos permite listar el hard>are de
n"estro e#"i$o. ,n este artculo, 'emos utilizado el comando lshw con las
siguientes opciones7
)short
Utilizada para listar el 'ardEare en formato compacto.
)2 tipo_de_componente
Utilizada para fltrar la salida, por el tipo de componente indicado.
)tras opciones pueden conocerse mediante man lshw.
?ambi"n 'emos concatenado $con 3% el comando lshw con el comando grep
patrn a fn de ue la salida de lshw sea a la !ez, fltrada por el patrn indicado.
Cuando utilizamos la opcin )i del comando grep, lo 'icimos para ue la b#sueda
no distinga entre may#sculas y min#sculas.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
2@

Publicado originalmente el 29 de ebrero de 2012
E"'enia Gahit
(;5M@ AacFer y @rogramadora eUtrema, a!ocada a la docencia en el
mbito de la *ngeniera de SoftEare y a la in!estigacin de nue!as
t"cnicas, metodologas y paradigmas relacionadas con la seguridad de
aplicaciones. Miembro de la >ree SoftEare >oundation y ?'e ;inu+
>oundation.
+os len'"a-es de $ro'ramaci)n %orman $arte del 'r"$o de len'"a-es in%orm(ticos.
Am$liamente $"ede decirse #"e "n len'"a-e in%orm(tico es "n idioma arti!cial
"tili4ado $or ordenadores c"yo !n es transmitir in%ormaci)n de al'o a al'"ien.
;os len'"a-es in%orm(ticos, pueden clasifcarse en7
lenguaCes de programacin $@yt'on, @A@, @erl, C, etc.%S
lenguaCes de especifcacin $UM;%S
lenguaCes de consulta $SP;%S
lenguaCes de marcas $A?M;, UM;%S
lenguaCes de transformacin $US;?%S
protocolos de comunicaciones $A??@, >?@%S entre otros.
un lenguaje informtico es
un idioma artifcial
utilizado por ordenadores

Mientras ue algunos lenguaCes informticos como $U%A?M; o CSS, 'an sido


CC by-sa 2009-2014 DebianHackers.net
29
DH Elementals
diseHados para diagramar y decidir la forma en la cual la informacin ser presentada
al usuario, los lenguaCes de programacin, tienen como fn, ex$resar )rdenes e
instr"cciones $recisas #"e deben ser lle*adas a cabo $or "na com$"tadora
$ara reali4ar "na o m(s tareas es$ec&!cas. Se utilizan para crear programas ue
controlan el comportamiento fsico o lgico de un ordenador. ,stn compuestos por
una serie de smbolos, reglas sintcticas y semnticas ue defnen la estructura del
lenguaCe.
Lenguajes de Programacin segn su nivel de abstraccin
,n un primer estado de clasifcacin, los lenguaCes de programacin se di!iden seg#n
su ni!el de abstraccin, en lenguaCes de baCo ni!el, lenguaCes de medio ni!el y
lenguaCes de alto ni!el, dependiendo de su grado de _cercana al 'ardEare_.
Cuanto ms cercano al 'ardEare se encuentra el lenguaCe, ms baCo ni!el posee "ste.
Mientras ue cuanto ms acercado al usuario se encuentre, ms aleCado del 'ardEare
estar y, en consecuencia, de mayor ni!el ser el lenguaCe.
Lenguajes de Programacin de Bajo Nivel
;os len'"a-es de ba-o ni*el, son auellos ue dependen intrnsecamente del
ordenador. 5uellos programas informticos, programados con lenguaCes de baCo
ni!el, al ser e+clusi!amente dependientes del 'ardEare, no pueden migrarse, ya ue
estn Custamente diseHados, para un 'ardEare especfco.
,+isten dos tipos de lenguaCes de baCo ni!el7 el len'"a-e m(#"ina y el len'"a-e
ensamblador.
,l len'"a-e de m(#"ina $tambi"n denominado lenguaCe de primera generacin% es
el sistema de cdigos directamente interpretable por un circuito microprogramable,
como el microprocesador de una computadora o el microcontrolador de un
autmata . ,ste lenguaCe est compuesto por un conCunto de instrucciones ue
determinan acciones a ser tomadas por la muina. Un programa consiste en una
cadena de estas instrucciones de lenguaCe de muina $ms los datos%. ,stas
instrucciones son normalmente eCecutadas en secuencia, con e!entuales cambios de
LuCo causados por el propio programa o e!entos e+ternos. ,l lenguaCe de muina es
especfco de cada muina o aruitectura de la muina, aunue el conCunto de
instrucciones disponibles pueda ser similar entre ellas
.
.
. >uente7 'ttp7DDes.EiFipedia.orgDEiFiD;enguaCeVm`C4`5-uina
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
30

02(-%-#0 01A##&& #.20#### ####<101
A#%&&#. 20#$#### ##<1(122 #$######
2/#$#### ##04#-$/ 01A#1&. #&024/02
<0-A+2$ (2<1
Funci&n en '(-"its en c&digo de ma)uina *+,- para calcular el en#simo n.mero de la serie de
Fi"onacci
/
Un len'"a-e ensamblador, o assembler $assembly language% es un lenguaCe de
programacin de baCo ni!el para los ordenadores, microprocesadores,
microcontroladores, y otros circuitos integrados programables. *mplementa una
representacin simblica de los cdigos de muina binarios y otras constantes
necesarias para programar una aruitectura dada de C@U y constituye la
representacin ms directa del cdigo muina especfco para cada aruitectura
legible por un programador. ,sta representacin es usualmente defnida por el
fabricante de 'ardEare, y est basada en los mnemnicos
B
ue simbolizan los pasos
de procesamiento $las instrucciones%, los registros del procesador, las posiciones de
memoria, y otras caractersticas del lenguaCe. Un lenguaCe ensamblador es por lo
tanto, especfco a cierta aruitectura de computador fsica $o !irtual%. ,sto est en
contraste con la mayora de los lenguaCes de programacin de alto ni!el, ue,
idealmente son portables
<
.
,ste lenguaCe, tambi"n es conocido como len'"a-e de se'"nda 'eneraci)n.
Z 3RLA'ASS
Z Pro!rama clasico de e8em"lo' 4es"lie!a una le;enda en "antalla'
S*A<V S+US+,* S*A<V Z Se!mento de "ila
4Y .- 4PP (L) Z 4e5ine es"acio en la "ila
S*A<V +,4S
4A*A S+US+,* Z Se!mento de datos
SALP4R 42 [3ola mundo\\[C$1C$#C[$[ Z <adena
4A*A +,4S
<R4+ S+US+,* Z Se!mento de <odi!o
ASSPS+ <S:<R4+C 4S:4A*AC SS:S*A<V
I,I<IR: Z Punto de entrada al "ro!rama
SRQ AWC4A*A Z Pone direccion en AW
SRQ 4SCAW Z Pone la direccion en los re!istros
SRQ 4WCRS+* SALP4R Z Rbtiene direccion del mensa8e
SRQ A3C#/3 Z uncion: QisualiHar cadena
I,* %$3 Z Servicio: unciones alto nivel 4RS
SRQ A3C-<3 Z uncion: *erminar
N >uente7 'ttp7DDen.EiFipedia.orgDEiFiD;oE6le!elVprogrammingVlanguage
B ,n informtica, un mnemnico es una palabra ue sustituye a un cdigo de operacin $lenguaCe de muina%,
con lo cual resulta ms fcil la programacin, es de au de donde se aplica el concepto de lenguaCe
ensamblador. >uente7 'ttp7DDes.EiFipedia.orgDEiFiDMnem`C4`O4nico
< >uente7 'ttp7DDes.EiFipedia.orgDEiFiD;enguaCeVensamblador
CC by-sa 2009-2014 DebianHackers.net
31
DH Elementals
I,* %$3
<R4+ +,4S
+,4 I,I<IR Z Sarca 5in ; de5ine I,I<IR
01emplo desarrollado en lengua1e ensam"lador )ue usa llamadas de S-2OS !system calls% para
imprimir el mensa1e 3ola mundo44 en pantalla5 0*tra6do de
http7//homepage5mac5com/eravila/asmi*+,(5html
!para ver la e*plicaci&n detallada del e1emplo- seguir el enlace anterior%
@ara ampliar la informacin sobre los lenguaCes de baCo ni!el, puede leerse el
siguiente artculo de Karmany.net.
?ambi"n es recomendable, leer el siguiente artculo sobre ;enguaCe ,nsamblador en
]iFipedia.
Lenguajes de Programacin de Medio Nivel
;a clasifcacin de lenguaCes de programacin, mediante un ni!el de abstraccin
medio, es bastante discutible. @ersonalmente sostengo slo por dos ni!eles de
abstraccin7 baCo ni!el y alto ni!el. Sin perCuicio de ello, se plasmarn au, auellos
argumentos sostenidos, por uienes aceptan este tercer ni!el de clasifcacin.
Puienes sostienen la clasifcacin de lenguaCes de programacin medio, argumentan
ue "stos, son a#"ellos len'"a-es #"e se enc"entran -"stamente entre los
de ba-o ni*el y los de alto ni*el ya #"e $oseen caracter&sticas #"e $ermiten
interact"ar directamente con el sistema. Un eCemplo de ello, sera el lenguaCe C,
el cual puede trabaCar $entre otras caractersticas% con direcciones de memoria.
Sin embargo, dic'o acceso, no es efectuado de forma directa $a tra!"s de lenguaCe
muina o ensamblador%, sino ue reuiere ser 9traducido: pre!iamente por su
compilador. @or dic'a razn, es ue asumo a C como lenguaCe de alto ni!el y descarto
la clasifcacin de lenguaCes de medio ni!el.
Suele colocarse como eCemplo de lenguaCe de programacin de medio ni!el, anterior
a C, a GC8+
10
, diseHado para escribir Sistemas )perati!os y Compiladores.
U+* [libhdr[
L+* start() B QALR
F RR i B $ *R ( 4R @rite5([5act(]n) B ]i-)n[C iC 5act(i))
-8 Ger manual de Meferencias de OC@;
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
32

R+SPL*IS #
G
A,4 5act(n) B nB# -A $C n)5act(n-$)
01emplo de c&digo $89L para impresi&n de :actoriales
;;
Lenguajes de Programacin de Alto Nivel
;os lenguaCes de alto ni!el, son auellos cuya caracterstica principal, consiste en una
estructura sintctica y semntica legible, acorde a las capacidades cogniti!as
'umanas. 5 diferencia de los lenguaCes de baCo ni!el, son inde$endientes de la
ar#"itect"ra del hard>are, moti!o por el cual, asumen mayor portabilidad.
Son eCemplo de lenguaCes de alto ni!el7 @yt'on, @erl, @A@, Muby, ;isp, aa!a, >ortran,
Cbb, CW, entre otros.
"rint [3ola P;thon\[
Archivo7 hola<mundo5py 5 Imprime 3ola 9ython4 0n pantalla
^L"h"
echo [3ola P3P\[Z
LA
Archivo7 hola<mundo5php 5 Imprime 3ola 9394 0n pantalla
"rint [3ola Perl\[Z
Archivo7 hola<mundo5pl 5 Imprime 3ola 9erl4 0n pantalla
Hola D"ndo en otros len'"a-es $para curiosos%7 EEE.'olamundo.es
Clasi!caci)n de +en'"a-es de $ro'ramaci)n se'Jn s" %orma de e-ec"ci)n
Seg#n su forma de eCecucin, los lenguaCes de programacin pueden ser7
com$ilados o inter$retados.
;os len'"a-es de $ro'ramaci)n com$ilados, son lenguaCes de alto ni!el ue
reuieren ue las instrucciones $cdigo fuente del programa%, sean traducidas a
lenguaCe muina por un compilador, a fn de generar un eCecutable del programa.
,Cemplo de lenguaCes compilados son @ascal, C, Cbb, 5da, entre otros.
-- >uente7 'ttp7DDen.EiFipedia.orgDEiFiDOC@;W,+amples
CC by-sa 2009-2014 DebianHackers.net
33
DH Elementals
Tinclude
int main()
F
"rint5([3ola mundo[)Z
return #Z
G
01emplo en 8 )ue imprimir= >3ola mundo? en pantalla tras ser compilado5
"ro!ram 3elloZ
be!in
@riteln (X3ola mundoX)
end'
ismo e1emplo- pero en 9ascal5
;os len'"a-es inter$retados, a diferencia de los compilados, no reuieren de un
compilador para ser eCecutados sino de un int"rprete. Un int"rprete, act#a de manera
casi id"ntica a un compilador, con la sal!edad de ue eCecuta el programa
directamente, sin necesidad de generar pre!iamente un eCecutable. ,Cemplo de
lenguaCes de programacin interpretado son @yt'on, @A@, Muby, ;isp, entre otros.
("rint [3ola Sundo\[)
01emplo de c&digo Lisp )ue imprime >3ola undo4? en pantalla
,s importante adems, 'acer notar ue la mayora de los lenguaCes de programacin,
puede eCecutarse tanto de modo compilado como interpretado.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
34

Publicado originalmente el 29 de ebrero de 2012
Da*id Hern(nde4
Consultor y formador en seguridad y sistemas (;5M@. Mesponsable del
rea de AacFing en apac'ectl.com. Mi otro blog es daboblog.com y en
?Eitter7 cdaboblog. Ms info en da!id'ernandez.es. Debianita 'asta el
fnal de los bytes y aspirante a 5lpinista.
Aa he comentado en al'Jn $odcast #"e $or lo 'eneral siem$re s"elo instalar mis
m(#"inas Debian CescritorioF con +/D ci%rando la ra&4 Khome y la s>a$ C"na b"ena
L%eat"reM de Debian si ci%ras *&a dm-cry$t t" Khome $or se'"ridad te obli'a desde el
instalador a ci%rar la s>a$ $or los datos #"e se $odr&an extraer almacenados en IADF.
Como adem(s de mis e#"i$os $ort(tiles tambi2n ten'o ci%rados los de
escritorio, seg#n mi criterio, no tendra muc'a lgica guardar las copias de
seguridad sin esa capa de cifrado y a' es donde entra en escena D"Cd Dup $el
nombrecito se las trae, lo s" SD%.
?ambi"n es importante comentar ue tras ms aHos de los ue recuerdo usando KD,,
lle!o unos meses con N,5DE $modo clsico y 9Las'bacF seg#n euipos, menos
recursos ue un S'ell 9puro:% y U>C, ya ue la integracin con $en adelante% DeCa
Dup es muy buena $este tuto lo estoy escribiendo desde Debian ?esting y (=)M,
4.B.&%.
Cuando hablo de me-or inte'raci)n, me refero a poder 'acer clicF con el botn
del ratn y !er un men# conte+tual $ms abaCo !er"is las capturas% con el te+to7
CC by-sa 2009-2014 DebianHackers.net
3:
DH Elementals
9restaurar los fc'eros ue faltan: y es pinc'ar el disco, y !er restaurado el fc'ero o
directorio sin problemas. ?ambi"n los indicadores de progreso de la copia de
seguridad, o el a!iso emergente caso de 'aber programado una tarea, del inicio de la
copia.
,n el ttulo pongo Debian y deri*ados ya ue es !lida para otras distros como
Ubuntu o Mint, pero est empauetado en muc'as ms con alg#n ligero cambio. @or
eCemplo, en Ubuntu se pueden lanzar bacFups contra 5mazon s4 o Ubuntu )ne, pero
las funcionalidades son similares. @ara el cifrado utiliza N8N $(=U @ri!acy (uard%
todo un clsico, mediante un sistema de cifrado sim"trico. ?ambi"n trabaCa con
'erramientas tan conocidas como Msync, etc. 5s recomiendo *er info ms
detallada de cmo funciona.
5s ue ya sab"is, slo un a$tit"de install de-a-d"$ y empezar con esos bacFups.
)s pongo unas cuantas capturas de pantalla para ue podis !er en modo grfco lo
ue os 'e ido comentando. Sencillo, seguro y efecti!o, concepto K*SS a tope.
Seleccionando la o$ci)n de ci%rado e introduciendo la frase de paso.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
3<

5u pod"is con!'"rar o$ciones de la copia de seguridad.
Un eCemplo con la %rec"encia de las copias de seguridad.
CC by-sa 2009-2014 DebianHackers.net
3?
DH Elementals
;a opcin ue os comentaba de resta"raci)n y el men# conte+tual.
Seleccionando el !chero a resta"rar.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
3@

Confrmacin y ubicacin $coge la ruta de forma automtica%.
8ro'reso de la resta"raci)n.
I con!rmaci)n de ue todo 'a salido oF.
CC by-sa 2009-2014 DebianHackers.net
39
DH Elementals
Un !istazo despu"s a los !cheros .'$'.
,so es todo, espero ue lo encontr"is #til y no deC"is de 'acer !uestros bacFups.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
40

Da*id Hern(nde4
Consultor y formador en seguridad y sistemas (;5M@. Mesponsable del
rea de AacFing en apac'ectl.com. Mi otro blog es daboblog.com y en
?Eitter7 cdaboblog. Ms info en da!id'ernandez.es. Debianita 'asta el
fnal de los bytes y aspirante a 5lpinista.
O Disclaimer
5 continuacin iremos repasando aspectos a tener en cuenta para confgurar un
ser!idor (;5M@ $(=UD;inu+, 5pac'e, MySP; y @A@% tanto para estar preparados para
soportar una carga ms alta $o ser!ir ms pginas%, como para 'acerlo con mayor
seguridad.
?odo ello partiendo de la base ue la disponibilidad es seguridad, y un ser!idor Eeb
es uno de los entornos ms e+puestos ue podemos administrar. ?rataremos la
optimizacin de recursos re!isando directi!as esenciales de 5pac'e, MySP;, @A@,
mdulos de 9cac'ing:, etc, adems de confguraciones por defecto ue en casos de
una carga ele!ada, o determinadas peticiones, pueden deCar inoperati!o el ser!idor
Eeb con trfco legtimo. ?amben de MySP; buscando !alores ms potentes de cara
a su optimizacin.
?ambi"n cuestiones de seguridad $por oscuridad, medidas proacti!as, pre!enti!as y
bloueos de ciertos ataues comunes en un ser!idor%, deteccin de posibles puertas
traseras $rootFits%, malEare en aplicaciones Eeb, intentaremos 9parar: a una
'erramienta tan potente como =map sobre la ue ten"is gran material en este
n#mero de la mano de debis', etc. @ero sobre todo, tener un punto de partida a para
luego poder ir meCorando.
Gamos a !er alg#n sistema de anlisis de logs y fltrado de e!entos de inter"s, cmo
se usa un *DS D *@S, algo de iptables, control de cone+iones y opciones para detectar
peticiones maliciosas, etc. ?odo ello con eCemplos entre secciones del artculo
incluyendo otros artculos publicados por mi a modo de eCemplo, con casos reales
!istos en ser!idores en produccin dentro de mi da a da en 5@5CA,ctl como
responsable del rea de AacFing.
5ntes de comenzar, es importante aclarar ue la gente de 5pac'e, considera ue
CC by-sa 2009-2014 DebianHackers.net
41
DH Elementals
tiene ue funcionar tanto en un porttil con mnimos recursos, como en una muina
ms potente y es labor de uien administre el sistema adecuar esos !alores antes de
poner el entorno en produccin. ,sto uizs responda a la pregunta de [por u" las
confguraciones no estn ya cambiadas por defecto\ De eso trata este artculo.
Doy por supuesto ue uienes !an a leerlo, conocen el maneCo bsico de un editor de
te+to, adems de estar familiarizados con el uso de una lnea de comandos y un
entorno (;5M@. Si alguien se pregunta el moti!o por el ue me centro en 5pac'e en
lugar de =gin+, es porue si bien el segundo es muy recomendable $oCo con 5pac'e /.&
y su entrada y salida asncrona, pro+y in!erso y sistema nati!o de 9cac'ing:%,
considero ue lo ideal es controlar bien los mdulos multiproceso de 5pac'e, Cunto a
su 9problemtica: a la 'ora de dedirse por uno y cmo meCorar los tiempos de
respuesta y la carga del ser!idor.
?ambi"n otro moti!o es ue por lo general si estis empezando $o lle!is un tiempo
en esto% os encontrar"is con un 5pac'e en modo ]orFer funcionando. ,n eso nos
centraremos.
,n algunos casos la informacin se presenta en modo esuema y en otros con alg#n
te+to e+plicati!o. 5dems, incluyo enlaces re!isados y seleccionados con detalle a
otros sitios Eeb, para ue adems de recomendaros una 'erramienta, podis !er
cmo se confgura.
,sta informacin es !lida para Ser!idores basados en Debian (=UD;inu+ y su familia
de distribuciones deri!adas. ?ambi"n ser!iran para otras distros, pero las
confguraciones diferen y puede ue falten dependencias. 5dems, estamos en
DebianAacFers S%
Como nota fnal de esta introduccin, recomiendo encarecidamente probar cualuiera
de estas medidas y cambios en modo local, antes de 'acerlo en produccin. ?ened en
cuenta ue tambi"n puede 'aber otros 9agentes: ue puedan interferir en un
correcto funcionamiento como por eCemplo un panel de control tipo @lesF o Cpanel.
Mi recomendacin si os 'ace falta una ayuda de este tipo, sera ]ebmin dado lo poco
ue interfere en una instalacin estndar y su facilidad de uso. [)tra alternati!a\ *S@
Confg.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
42

Particionado y sistema de fcheros
;a recomendacin general sera e+t&. $,Cemplo de particionado 9clsico:%.
:
:s@a"
:usr
:tm"
:var
:home
*nstall, particionado, fc'eros en 9?'e Debian 5dministratores AandbooF:. ,s
importante tanto en el caso de D!ar como Dtmp, separarlas del resto por un posible
incremento de logs o fc'eros temporales.
)tra opcin a una instalacin 9tradicional:, sera optar por usar ;GM $5dministrador
de !ol#menes lgicos%. De este modo, podemos por eC redimensionar el tamaHo de
una particin en caliente sin reinstalar. 5rtculo recomendado para entender el uso y
posibilidades de ;GM.
Kernel Hardening
Sin entrar en detalles a fondo, la recomendacin sera el parc'e de 9(M Security:,
pod"is !er una comparati!a entre S,;inu+ o 5pp5rmor Cunto a un resumen de sus
funcionalidades. ,ste parc'e puede proteger de ataues a tipo escalada de
pri!ilegios, desbordamiento de la pila, 9counter o integer: o!erLoEs, etc, siempre
deCando claro ue 9puede proteger: baCo determinadas circunstancias $puede afectar
al rendimiento si 'ablamos de compilacin%.
,nlaces recomendados7
Compile (MSecurity )fcial Debian @atc' on ]'eezy:
Mepositorios e informacin en el ]iFi de (rsecurity de Debian
@auetes y parc'es de (rsecurity disponibles en Debian
CC by-sa 2009-2014 DebianHackers.net
43
DH Elementals
Optimizacin de Apache y mdulos multiproceso (MPM)
5lgunos aspectos a tener en cuenta antes de entrar en detalles7
,s importante controlar los mdulos cargados o ue est"n acti!os $re!isamos
en /etc/apache(/mods-ena"led/%.
Ie*isi)n de sintaxis en A$ache7 apac'ectl confgtest. @ara saber los datos
de compilacin7 apac'ectl 6G $o !er si se eCecuta en modo ]orFer o @reforF. Ms
comandos de 5pac'e.
Gerifcamos con tail -: /var/log/apache(/error5log si todo est oF cuando se
carga alg#n mdulo en 5pac'e, modifcamos apac'e/.conf, o tocamos p'p.ini.
?ambi"n interesa 'acerlo tras eCecutar un apachectl restart o /etc/init5d/apache(
reload.
A$ache 2 y Multiproceso CD8DF.9Control dinmico de los procesos seg#n la
carga baCo demanda:. @ara confgurar estos !alores, editamos en
KetcKa$ache2Ka$ache2.con%.
8re%ork $default% @rocesos 'iCo, modVp'p. ,n teora ms estable y compatible
con ms mdulos o softEare. Mayor capacidad de aislamiento ue ]orFer si 'ay un
problema con una peticin respecto al resto de procesos 9'iCo:. ,l escenario 'abitual
ue os podr"is encontrar en la mayora de instalaciones y ue necesariamente, 'a de
ser re!isado.
.orker lanza procesos 'iCos e 'ilos $'ebras o subprocesos% por 'iCo, @A@ se
eCecuta en este caso como fastC(*. Se consigue un menor consumo de memoria ue
con @reforF, por resumirlo ms rendimiento. [;a pega\ si un 'ilo falla, afectar al
resto con lo ue conlle!a.
;ime5"t segundos antes de ue se cancele un cone+in por falta de
respuesta $48s%.
Pee$ali*e $cone+iones persistentes% recomendable $sal!o e+cepciones% acti!o
2 9)n:. @ermite m#ltiples peticiones sobre la misma cone+in ?C@. gtil para sesiones
A??@ de larga duracin $por eC foros%.
DaxPee$Ali*eIe#"ests limita el n#mero de peticiones permitidas por
cone+in con Keep5li!e acti!o. @or defecto 8 $ilimitadas%. Se recomienda un !alor alto
$3886-888%.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
44

Pee$Ali*e;imeo"t Segundos ue 5pac'e esperar peticiones subsiguientes
antes de cerrar una cone+in persistente. Si ya 'a sido recibida una peticin, se
aplica directi!a ?imeout para cerrar la cone+in. 5 un !alor mayor, ms procesos del
ser!idor ocupados esperando en cone+iones con clientes no acti!os. $Mec,4 63 seg%
Confguraciones Prefork y Worker
8re%ork, multiproceso, procesos 9'iCo: y sin 'ebras.
6tart6er*ers7 =#mero de procesos 'iCo creados en el arranue .
Din6$are6er*ers7 =#mero mnimo de procesos 'iCo a la espera de peticiones.
Dax6$are6er*ers7 =#mero m+imo de procesos 'iCo a la espera de peticiones.
DaxClients7 =#mero m+imo de cone+iones simultneas $se aumenta con
Ser!er;imit%.
DaxIe#"ests8erChild7 =#mero m+imo de peticiones ue sir!e un proceso 'iCo.
.orker, multiproceso, procesos 9'iCo: y 'ebras o 'ilos.
Din6$are;hreads7 =#mero mnimo de 'ebras en espera para atender peticiones.
Dax6$are;hreads7 =#mero m+imo de 'ebras en espera.
;hread+imit7 ;mite estricto del n#mero de 'ebras del ser!idor.
;hreads8erChild7 =#mero de 'ebras creadas por cada proceso 'iCo.
6er*er+imit7 ;mite estricto de procesos 'iCo acti!os posibles. Debe ser h 2
Ma+Clients.
L6er*er 6tat"sM, se puede eCecutar desde la lnea de comandos con un7 apac'ectl
fullstatus, o accediendo !a Eeb $un eCemplo en apac'e.org%. ?utorial de
confguracin.
5u os enlazo a un post ue escrib 'ace un tiempo sobre cmo detectar y blouear
ataues con 5pac'e Status, (oogle, ]'ois e iptables $sigue en !igor, data de /88.%.
CC by-sa 2009-2014 DebianHackers.net
4:
DH Elementals
Sobre escalado *ertical y hori4ontal, Cunto a soluciones tipo 9Cloud: como
5mazon, os recomiendo estos dos podcasts a modo de apoyo $y repasar el te+to ue
les acompaHa%7
-% @odcast _,special Sys5dmin: con Micardo (alli $U*O ^ Men"ame%
/% @odcast 9,special 5mazon ,C/: con Micardo (alli y Ma#l =a!eiras.
$,s muy importante calcular la dimensin del proyecto a poner en marc'a antes de
contratar un ser!icio de 'osting y !alorar las opciones de e+pansin si llegan
incrementos de trfco%.
PHP, WPO (Web Performance Optimization), sistemas de
caching
*nstalamos Memcac'ed a ni!el de Ser!er, el mdulo para 5pac'e memcac'e y U6
Cac'e como sistema de cac'ing para scripts de @A@. Si est instalado Memcac'ed o
U6Cac'e, 'ay CMS ue pueden usarlo 9por defecto: $>oros SM>% o a tra!"s de un
plugin como en el caso de ]ord@ress $Memcac'ed )bCect Cac'e y otro muy potente
como ]4 ?otal Cac'e%.
7nstalaci)n9
a"titude install memcached "h"(-6cache "h"(-memcache
Comprobamos si estn cargados los mdulos con un php in:o, o tecleando en la lnea
de comandos php - -ri $y detrs ira el mdulo, por eCemplo memcac'e o +cac'e%.
Relacionado con esto7 ?u torial para instalar Memcac'ed y el mdulo de 5pac'e
$!lido para Debian . y N% y este otro ms completo con soporte para ]ord@ress. ]iFi
de Memcac'ed.
Me!isamos las confguraciones por defecto de los mdulos ya ue no son las
adecuadas $U6Cac'e%.
QD(s sistemas7 Sobre todo 5@C $lista% y en @A@ 3.3 tenemos ya )pscode.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
4<

MySQL Server. Confguraciones, seguridad, comandos y scripts
tiles
,l fc'ero de confguracin de MySP; est en /etc/mys)l/my5cn:, como siempre, os
recomiendo 'acer una copia de seguridad del original. @ara ue se apliuen los
cambios, es necesario teclear /etc/init5d/mys)l restart. Me!isad !alores el tamaHo de
la cac'" o el log de consultas lentas para detectar cuellos de botella.
?al y como pod"is leer en la conf, los errores, el log general, o logs del reinicio o
arranue de MySP; Ser!er, en Debian !an a tra!"s del syslog del sistema. ?ambi"n
es importante recalcar ue 'ay una estrec'a relacin entre el !alor de m+imas
cone+iones en MySP; y el n#mero m+imo de clientes en 5pac'e $tienen ue ir de
acorde el uno con el otro%.
Enlaces de inter2s9
_)ptimizing ?'e Ser!er_
MySP; @erformance ?uning Scripts
Script para analizar rendimiento y confguracin
Comprobando !a Eeb conf y memoria necesaria
Un eCemplo de resolucin de problemas en rendimiento
(ua de seguridad general MySP;
Meplicacin de MySP; con un t#nel cifrado SS;
Oases Datos, estrategias, escalado, tipos, etc
CC by-sa 2009-2014 DebianHackers.net
4?
DH Elementals
Copias de seguridad, reparacin y mantenimiento
)s deCo algunos enlaces interesantes7
OacFups de MySP; incrementales y cifrados
Documentacin ofcial sobre mysldump
*nfo sobre myslc'ecF $My*S5M% i 9*nnoDOMeco!ery:
PHP, medidas de seguridad y confguraciones recomendadas
-% @'pSec*nfo. Se descomprime en la raz del sitio el fc'ero y se accede !a Eeb para
comprobar el estado por defecto de la instalacin. aunto a cada seccin, 'ay linF con
informacin seg#n su color, dependiendo del impacto. Mesumen y e+plicacin. ?ras un
cambio en /etc/php@/apache(/php5ini recordad ue para ue los lea @A@, tecleamos7
/etc/init5d/apache( reload $o restart, pero cortaramos cone+iones establecidas%
/% @roteccin en @A@ con Su 'osin @atc' $a -<D8.D/8-4 fuera de Debian N por un bug%.
4% Mo dVc'root en 5pac'e y Debian .. Desde la ! /./.-8, soportado nati!amente en
5pac'e.
disableR%"nctions
disable 5unctionsB
"cntl=alarmC"cntl=5or9C"cntl=@ait"idC"cntl=@aitC"cntl=@i5e6itedC"cntl=@i5st
o""edC"cntl=@i5si!naledC"cntl=@e6itstatusC "cntl=@termsi!C "cntl=@sto"si!C
"cntl=si!nalC "cntl=si!nal=dis"atchC "cntl=!et=last=errorC"cntl=strerrorC
"cntl=si!"rocm as9C cntl=si!@aitin5oC "cntl=si!timed@aitC
"cntl=e6ecC"cntl=!et"riorit;C "cntl=set"riorit;C
s;stemC e6ecC "assthruC shellC shell=e6ecC "o"enC "closeC "roc=niceC
"roc=terminateC "roc=!et=statusC "roc=closeC "5soc9o"enC lea9C
a"ache=child=terminateC "osi6=9illC "osi6=m95i5oC "osi6=set"!idC
"osi6=setsidC "osi6=setuidC esca"eshellcmdC esca"eshellar!C "h"in5oC
"roc=o"enC sho@=sourceC "assthru
,l primer bloue lo podr"is !er por defecto en algunos ser!ers, el segundo es un
aHadido.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
4@

;ecturas recomendadas7
Garios artculos sobre el tema y relacionados
@A@ *nsecurity =otes j Aardening p'p.ini j *nfo sobre su@A@.
/3 @A@ Security Oest @ractices j @A@ *DS
*nserting Gulnerabilities in ]eb 5pplications
,!itar ataues USS con @A@ *nput >ilter
Seg uridad en @A@ y tipos de ataues j Manual online de @A@, seccin7
seguridad
Seguridad por oscuridad (ocultando informacin a posibles
atacantes)
Con estas t"cnicas, nos protegemos de posibles atacantes ue buscan ser!icios
acti!os en el ser!er, intentan detectar la !ersin del S.), descubrir mdulos de
5pac'e cargados, o !ersiones de CMS $relacionado7 ]ebcast, Seguridad en
]ord@ress. Demo prctica y real%.
Usamos la seguridad por oscuridad como pre!encin de ataues automatizados
buscando !ersiones de softEare !ulnerables, o para protegernos de un 98 day: $una
!ulnerabilidad sin solucin o parc'e ue est" siendo e+plotada%. @or lo general, se
tratan de ataues automatizados del tipo 9escaneo aleatorio y, caso de encontrar
alg#n bug se eCecuta un e+ploit:, aunue no se pueden descartar ataues dirigidos
directamente contra el ser!idor.
?ambi"n 'ay situaciones en las ue no siempre se puede parc'ear. ,s necesario por
lo tanto, cambiar las confguraciones por defecto de !arios ser!icios y ocultar sus
9banners:.
A$ache h ,n /etc/apache(/con:5d/security7
Server*o9ens Prod
ServerSi!nature R55
, !itar listados de directorios, editamos apac'e/.conf e inclumos $baCo la directi!a
9log format por eCemplo% Options A Inde*es, $y en la conf del !irtual'ost tambi"n debe
estar el 6 inde+es% o !a 5htaccess. =o ol!idemos cargar la nue!a conf con
/etc/init5d/apache( reload.
CC by-sa 2009-2014 DebianHackers.net
49
DH Elementals
8H8 h 5 pesar de estos cambios, con un curl -i lawe"5com B less, seguimos !iendo
!ersiones de SS; o @A@. ,n /etc/php@/apache(/php5ini deCamos en 95S: el !alor de
e+poseVp'p.
Como en el caso anterior, para cargar una nue!a confguracin de @A@, 'ay ue
relanzar la de 5pac'e.
66H h >rente a un ataue con =map y a#n con un freEall acti!o, sigue saliendo la
!ersin y S.) or el banner de SSA. Dic'a !ersin de SSA se oculta como una opcin
de compilacin. ?ambi"n editando /etc/ssh/sshd<conCg y7 9DebianGanner no: y
/etc/init5d/sshd restart para actualizar cambios, no re!ela tanta info, slo la !ersin.
Ms sobre seguridad y SSA.
Dy61+ h Mecordad ue para admitir slo cone+iones desde el local'ost, 'ay ue
insertar en my5cn: la siguiente lnea7
bind-address B $%&'#'#'$
$I despu"s, un DetcDinit.dDmysl restart%.
5tros h $O*=D, @ostf+, etc% )s recomiendo leer esta entrada de *nfosec *nstitute
sobre el tema.
*mportante incluir y confgurar correctamente un ro"ots5t*t, frente a ataues tipo
(oogle AacFing .Si 'ablamos de ata#"es LextraEosM y b"scadores, como caso
prctico y real, os recomiendo este post, en el ue podemos !er como (oogle realiza
de forma automatizada $e insistente% ataues a un >?@, a pesar de ue se le blouea
$!isto en un auth5log%.
Portsentry o, bloqueando a Nmap con un IDS / IPS
@ortsentry es un gran *DS D *@S y seg#n situaciones, puede usarse de forma
9silenciosa: en modo *DS $sistema de deteccin de intrusos%, o como un *@S $modo
pre!encin y bloueo%. Se instala a tra!"s de aptitude o apt6get ya ue est en los
repositorios de Debian.
Durante la instalacin, !er"is una pantalla informati!a e+plicando ue por defecto
act#a en modo *DS $detecta y registra el 9portscan:% y para ue blouee la *@
atacante, es necesario acti!arlo en su fc'ero de confguracin $de ese modo ya
funciona en modo *@S%.
@ara ello, cambiamos el !alor por defecto 98: $no se blouea ning#n escaneo de
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
:0

puertos% a 91: en 9etc/portsentry/portsentry5con::. ,n concreto, las lneas son7
9G+5CPR=D8: y 9G+5CPR;C8:. )s recomiendo leerlo al completo y !er otros
comandos de bloueo.
@ara probarlo, "samos ,ma$ intentando identifcar puertos, ser!icios, !ersiones o el
S.) del ser!idor. ,n este mismo n#mero de 9,lementals:, debis' os e+plica al detalle
cmo 'acerlo.
)tro !alor a tener en cuenta es el 96CA,R;I7NNEI:. @uede ue mientras se prueba,
=map pase la barrera de @orsentry, en ese caso deCad el !alor en 8 y tras los
cambios, para ue sean efecti!os teclead7 /etc/init5d/porsentry restart.
,s muy importante en cualuier 'erramienta de este tipo, "sar las listas blancas
$ara e*itar blo#"eos indeseados a la propia *@ del ser!er, balanceador, 9:ailover:,
etc $re!isad 9portsentry5ignore:%.
@ara desblouear una *@ en @orsentry, ten"is ue eCecutar el siguiente comando7
:sbin:route del -host i"=a=desblo>uear re8ect
)tra opcin a tener en cuenta y !lida Cunto a @ortsentry es )SS,C.
Interactuando con iptables a travs de APF Firewall
De todos es sabido ue la sinta+is de i$tables no es muy amigable, mi
recomendacin para interactuar y eCecutar reglas a tra!"s de iptables, $siempre
teniendo claro lo ue se est 'aciendo% sera la implementacin de A8T Tire>all.
,s una buena forma de iniciarse en el mundo de los freEalls para uienes empiezan
y cuenta con opciones muy potentes de confguracin. Son interesantes sus
actualizaciones automticas desde sitios como7 spam'aus, ds'ield , etc. o !uestros
propios repos locales y remotos% con direcciones *@ consideradas maliciosas,
aHadi"ndolas a la lista de bloueo.
Se pueden !er sus opciones desde la lnea de comandos tecleando7 ap: $6d blouea
*@, 6u desblouea, etc%. Como siempre, la recomendacin es leer con calma sus
opciones de confguracin $en /etc/ap:% y al principio del fc'ero, !er"is la lnea
LDE/E+RD5DEUH1H.
@or defecto y con buen criterio para pre!enir 9autobloueos:, cada 3 minutos y !a el
cron del sistema, lo acti!a y desacti!a. Aasta ue no tengis claro ue est bien
confgurado,no pongis el !alor DE/E+RD5DEUH0H .
Ia est disponible desde los sources de Debian y con aptitude o apt6get pod"is
CC by-sa 2009-2014 DebianHackers.net
:1
DH Elementals
instalarlo. )s recomiendo leer con detalle y tambi"n para entender meCor ue es lo
ue estamos 'aciendo $o para comprender la salida de por eC7 ipta"les -L, este
tutorial de iptables.
*nsisto en la necesidad de documentarse a fondo antes de poner en produccin estas
medidas. @ero sobre todo y ms en este caso, re!isar las listas blancas, e+clusiones,
etc.
Ataques de fuerza bruta, denegacin de servicio (DoS) / Mod
Security
,n este punto es importante recalcar ue en un n#mero muy alto de ocasiones, un
ser!idor puede llegar a caer por cuestiones ue sin estar relacionadas directamente
con la seguridad, afectan del mismo modo. ,s decir, por muc'as medidas de
proteccin ue implementemos o por muc'os recursos ue tenga nuestra muina, si
las confguraciones de directi!as esenciales de 5pac'e, @A@ o MySP; no estn
afnadas, puede ue por alg#n pico de trfco legtimo, el ser!idor uede 9K.): a la
primera de cambio.
,s por ello ue este artculo est escrito de forma secuencial y las medidas de
optimizacin puestas en marc'a como 'emos !isto al principio, nos ayudarn a ue
ya desde la parte ms proacti!a o enfocada a la seguridad, podamos blouear este
tipo de ataues.
,n el enunciado no 'e puesto 9DDoS: $ataue de denegacin de ser!icio distribuido%
ya ue la forma de pararlos se escapa del mbito de este artculo y reuiere otro tipo
de medidas $como por eCemplo con ataue de amplifcacin D=S%. Mel7 DoS basados
en mitigacin.
Aablamos de blouear e+cesos de peticiones de una o !arias direcciones *@ dando ya
por supuesto ue nuestro entorno (;5M@ est preparado para absorber ms trfco y
ser!irlo con ms Luidez. Mecordemos ue Lla dis$onibilidad es se'"ridadM y
nuestro obCeti!o es mantener el entorno funcionando y a' la optimizacin y
seguridad !an de la mano.
5 continuacin, !eremos una serie de 'erramientas y enlaces recomendados para
implementarlas, os recomiendo abrirlos e ir leyendo con calma para !er las
posibilidades reales de cada una de ellas. ?ambi"n !eremos cmo probar y
monitorizar su uso.
1F Ata#"es 66H K %"er4a br"ta7 @ara proteger SSA, como primera opcin, podemos
usar Deny'osts y tambi"n >ail/ban ue controla ms ser!icios como >?@, mail o
5pac'e.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
:2

)tros7 O>D Cunto a 5@> y SSA(uard. Mel7 @rotegiendo >?@ D SSA con +atch $@lugin
SSA%.
2F En-a"lado9 @uede ser interesante en ocasiones 'acer un c'root para SSA D S>?@
)penSSA y usuarios S>?@. ?utorial GS>?@, parc'e para fallo en c'root y ]'eezy.
3F Dod E*asi*e9 ?odo un clsico. ?utorial de instalacin Cunto a Mod Security . ,n
?A], e+plicacin a fondo, donde citan un bug en las polticas de bloueo seg#n
!ersiones.
4F Dod 6ec"rity9 reconocido ]5> $]eb 5plication >ireEall% ?utorial para Debian N,
confguracin y un eCemplo para ]ord@ress. )tros9 como apoyo, el libro de *!an
Mistic. 5nlisis a fondo de sus directi!as por ?A]. Meglas ModSec7 )]5S@ 6
5tomiCorp ^ Spider;abs $como !er"is, algunas son de pago, pod"is repasar
funcionalidades%.
:F Dos DeVate7 Sencillo y #til script ue puede blouear con iptables o 5@>. Una !ez
instalado, re!isad con un7 crontab 6e $usuario root% si 'a aHadido la tarea o tambi"n
pod"is mirar en el syslog con el siguiente comando7 grep 6i ddos D!arDlogDsyslog
;os fc'eros de confguracin estn en7 /usr/local/ddos/
Mepositorio y pauetes para Debian . y N $(rsec, Mod ,!asi!e, Mod Security ^ CMS,
etc%.
W5-oX ?odas estas medidas de seguridad deben ser auditadas y probada su
efciencia, para ello os propongo !arias 'erramientas. ?ened en cuenta ue las
pruebas deben 'acerse en un entorno controlado y seg#n su alcance, si 'ablamos
de ataues DoS o fuerza bruta, bien con el permiso del pro!eedor de Aosting, o de
todas las partes implicadas.
<F 8r"ebas Do6 - DDo6 K T"er4a b"ta7
,scrita en Muby y actualmente $abril /8-&% sin continuidad, re!isad las opciones de
@en?Oo+. ?ambi"n puede resultaros de utilidad el comando ab, por eC7 ab 6n 388 6c
-38 donde 9n: es el n#mero de peticiones y 9c: el n#mero de clientes $recordemos en
la parte de 5pac'e, directi!as como Ma+Clients ya ue est estrec'amente
relacionado%.
Q 5tros9 DDoS Simulator, Aydra, ;oad *mpact, ameter. 9?esting Denial )f Ser!ice:
$)]5S@%, AulF.
)s recomiendo tambi"n !isitar este listado de ap licaciones relacionadas.
CC by-sa 2009-2014 DebianHackers.net
:3
DH Elementals
?F 6er*icios CD, y $rotecci)n DDo67 Cloud>lare, *ncapsula, @role+ic. @ara !er
cmo afronta un pro!eedor de 'osting estos temas, pod"is !er la @roteccin 5nti
DDoS en 5/H.
Del mismo modo ue os aconseCo ue se prueben las medidas de seguridad,
tambi"n es interesante ue ese trfco generado contra el ser!er pueda ser
monitorizado. @ara ello os propongo !arios comandos y aplicaciones 'ablando de
monitori4aci)n7 iptraf, !nstat, comandos de netstatS otros7 lsof, iostat, iotop,
iftop, 5rpEatc', Monitori+.
Comandos de e-em$lo con netstat $trfco SI=, peticiones, n#mero cone+iones,
etc%7
netstat -an _ !re" :0# _ sort
netstat -"lan_!re" :0# _ a@9 FX"rint $(XG_cut -d: -5 $_sort_uni> -c_sort -n
netstat -l"n_!re" :0# _a@9 XF"rint $(GX_sort
netstat -an _ !re" :0# _ a@9 XF "rint $( GX _ a@9 -: XF "rint $$ GX _ sort
_ uni> -c _ sort -n
netstat -n -" _ !re" SN,=R+< _ a@9 XF"rint $(GX _ a@9 -: XF"rint $$GX
Control de registros del sistema (logs) y monitorizacin de
servicios
Desde para tener logs de sistema fuera del ser!idor por si no podemos acceder a la
muina, a contar con sistemas de monitorizacin accesibles !a Eeb, con grfcas e
informacin sobre lo ms rele!ante del sistema, a otras soluciones como Monit capaz
de trabaCar de forma proacti!a si alg#n recurso cae. Geamos esta lista ue os
propongo7
1F +o'check $aptitude install logc'ecF%, aplicacin ue anali4a los lo's de la
muina y muestra o en!a por email un informe $por defecto cada 'ora% sobre
sucesos rele!antes del sistema. *nformacin y Eeb del proyecto.
2F +o'>atch $aptitude install logEatc'%, similar a logc'ecF, pero proporcionando
ms informacin. ,n!a "n in%orme diario $or email con registros de D!arDlog
$re!isad el fc'ero de confguracion%. *nformacin y Eeb del proyecto.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
:4

3F Donit y m"nin9
Monit, monitoriza procesos daemon $sendmail, 5pac'e, MySP;, etc%. @uede
reaccionar a los e*entos, intentando le*antar el $roceso ca&do a!isando !a
email de su inter!encin. *nteresante tambi"n el ser!icio MDMonit. Mel7 @ingdom a!isa
de cadas $SMS, Mail, ?Eitter%.
Munin es otra 'erramienta de monitorizacin con m#ltiples plugins ue permiten
'acer un seguimiento detallado y !er grfcamente lo ue sucede en el sistema.
,Cemplo de uso.
Monit y Munin se instalan !a aptitude. Mec, gua de instalacin $,=(%, otro tuto
$]'eezy%.
=agios puede realizar prcticamente el trabaCo de los & anteriores. M#ltiples plugins y
9c'ecFs:, robusto y fable. Ga aptitude est ,a'ios 3, pero os sugiero leer este
completo tutorial $rama /.+% Cunto a otro sobre la !ersin 4.4.- en Debian ..8.-. Ms
informacin7 blog 9=agios en ,spaHol:.
4F 8andora TD6 es otra opcin similar a =agios, altamente confgurable, muy bien
documentado y con un monitor muy potente y alertas para controlar en tiempo real
lo ue sucede en el ser!er. *nformacin y Eeb del proyecto.
:F Donitori4aci)n y kabbi+, otra alternati!a recomendable. ?utorial Debian N D
Ubuntu -4.-8.
<F Hard>are y rec"rsos con @'pSy*nfo. ?utorial de instalacin $oCo,
disableVfunctions en @A@%.
?F NoAccess tutorial, analiza logs de 5pac'e y =gin+. I relacionado con esto9
apac'etop, 5ftergloE y Msyslog.
CC by-sa 2009-2014 DebianHackers.net
::
DH Elementals
Deteccin de Rootkits, malware y otros recursos relacionados
@ara terminar, os propongo una serie de 'erramientas y enlaces ue os resultarn
#tiles para comprobar la integridad de fc'eros, detectar posibles puertas traseras en
el sistema, cdigo malicioso en aplicaciones Eeb y otros recursos ue espero os sean
de utilidad.
1F Detecci)n de rootkits7 MKAunter b Un'ide $re!isad las opciones% y C'FrootFit.
5mbos se instalan con aptitude D ap6get. Mel7 Sobre los *DS o cmo funciona Un'ide,
Kernel @anic &4.
)tras aplicaciones de este estilo, para comprobar la integridad de fc'eros o binarios
adems de otros usos son7 5*D, o ?ripEire $MF'unter tambi"n compara 'as'es MD3
de fc'eros importantes con su frma correcta en una base de datos en lnea, aunue
puede dar alg#n 9falso positi!o: ue con!iene siempre re!isar si lo es realmente o
no%.
2F Che#"eo 'eneral de parmetros de seguridad7 ;ynis $sinta+is bsica lynis 6c%. ,s
prctica para !er de forma rpida el estado general de la seguridad del sistema. Un
eCemplo e info.
3F Detecci)n de .eb6hells comunes en un ]ord@ress o aoomla comprometidos.
;MD, Una !ez instalado, analiza todos los fc'eros buscando cadenas sospec'osas y
luego !a el cron, lo 'ace de forma incremental con cada fc'ero nue!o a diario
$sinta+is7 maldet 6a Dpat'%. Me!isad la confguracin de ;MD ya ue por defecto, no
pone en cuarentena los afectados.
4F An(lisis de c)di'o est(tico de a$licaciones 8H8 en busca de !ulnerabilidades
con M*@S. 5tros7 ]ebser!er MalEare Scanner o Sucury ]eb Site Scanner $!arios
planes de pago%.
I para terminar7
.ord8ress recopilacin de plugins y medidas en 5pac'e para meCorar su seguridad,
bacFups, detectar malEare, etc. Mel7 @roteccin de ]ord@ress con +atch y otr os.
5tros9 aacF?'eStripper. >orat 9@roCect:, @olticas de acceso y usuarios, Aardening
bsico, eOooF 9Debian N Sys5dmin:, libro 9Aardening Ser!ers: 8+])MD, problemas
en ]'eezy.
*=?,C) C,M?7 Seguridad y Ser!ersS D=SS,CS 9Ser!ers Aardening:.
I en Dragonaar ?G, pod"is !er mi demo con !arios temas comentados au $las
diapos%.
CC by-sa 2009-2014 DebianHackers.net
DH Elementals
:<

Enhorabuena, has llegado al fnal!
,spero ue podis aplicar toda esta informacin tanto en !uestros ser!idores de
pruebas como en produccin. =o puedo terminar por auello de los 9cr"ditos:, sin dar
las gracias a mis com$aEeros de DebianHackers por animarme a transcribir en
9modo 'umano: SD, la informacin del @D> sobre mi demo de ConectaC)= aa"n, as
como de una parte del material ue proporcion" a los alumnos de mi lab en Mooted
C)= /8-& sobre 9Seguridad y )ptimizacin en ser!idores (;5M@:.
5pro!ec'o la ocasin para daros tambi"n las gracias a todos !osotros en esta
primera entrega de 9DA ,lementals:, por estos cuatro aHos de apoyo continuado a un
proyecto como el nuestro ue slo busca compartir nuestra pasin por Debian y su
familia de .deb.
I por supuesto, a toda la comunidad ue 'acen posible ue Debian siga fuerte y
estable, proporcionndonos el ue para mi sin duda es el meCor Sistema )perati!o
ue puedo usar. ?anto en ser!idores Eeb como en mi escritorio.
WDebian N,=K+in"x r"lesX
CC by-sa 2009-2014 DebianHackers.net

You might also like