Author: Oriol Rius

Linux SYN cookies – Evitar flooding quan fem de firewall!

Reading time: 2 – 2 minutes

He trobat un patch pel kernel molt interessant, és una passada… com
sempre és un problema pq no forma part del kernel standard.

El kernel del linux esta protegit contra atacks de flood, per tant,
és capaç de protegir-se a si mateix contra el típic abus
de IPSpoof en ports semi-oberts (Servidors esperant l’ACK).
El problema és q el linux quan fa de firewall i es dedica a traspassar
packets a traves seu no permet les TCP SYN cookies q és la forma com
s’eviten els atacs anteiorment descrits. Així doncs per molts
números aleatoris q es col.loquin al número de seqüencia
(cookies) per tal de confirmar l’autenticitat de la peticio SYN el linux no les
deixarà passar encapsulades en el seu interior, ja q es perdran en la
trama quan el linux faci el forwarding del packet.
Així doncs aquest patch l’únic q fa és afegir la cookie a
la trama SYN-ACK q torna el servidor q respon una petició SYN. De forma
q quan el servidor rebi l’ACK, segur q sera del client q ha enviat el SYN i
ningú podrà manipular la conexio semi-oberta gràcies a un
IPSpoof. Per tant, soluciona de forma ben simple i lògica el problema
del flooding.

La direcció del patch és:
http://www.bronzesoft.org/
Hi ha documents molt interessans a la secció Documentation tb.

Fotos del caribe

Reading time: < 1 minute

Ja estan penjades les fotos del caribe a l’album de fotos, gracies a
l’Ernest q s’ho ha currat escanejant-les. Moltes gracies xaval! el directori es
diu: caribe2k

OriolNews Portal:Resums RDF

Reading time: 1 – 2 minutes

Després d’unes quantes hores currant per fi he tret el generador de
resums RDF del portal, després de tants dies sense programar amb bases
de dades ja quasi no recordava com es feia.

Gràcies a aquesta esperada rutina, el portal podrà generar
resums RDF q després seran usats per fer més ràpida la
pàgina principal del portal com vaig explicar en un anterior article, a
la rutina li falta:
-Fer mes abstracte el contingut.
-Solucionar el bug del xml a la capçalera q de moment no se com
fer-ho.
-Introduir les crides de la rutina al mig del codi del portal, pq els resums es
facin sols.

Ja he fet la linia necesaria d’exemple pq el getnews interpreti aquest
fitxer.
Per veure el fitxer.rdf s’ha de connectar a:
http://oriol.homeip.net/oriolnewsportal.rdf
si el q es vol veure es el resum fet pel getnews:
http://oriol.homeip.net/getnews/oriolnewsportal.php

Mozilla M18

Reading time: 1 – 2 minutes

Avui ha sortit el Mozilla M18, així doncs com q en windows ja usava
el M17, he decidit instal.lar el M18 per linux…

De moment l’he instal.lat al portatil i malgrat el seu aspecte i opcions
són molt atractives està força clar q necessita un
ordinador molt més potent q el meu pobret portatil ja q a la q obro dos
navegadors el programa peta. Així doncs és molt recomanable
usar-lo ja q és opensource i pel q he pogut veure amb el lamentable
P133MMX,32Mb RAM i pantalla de 256colors promet molt però no li treieu
els 64Mb de RAM i almenys 200MHz de CPU sinó us podeu morir.
Per baixar la versió de mozilla directament de linux esta a:
http://ftp.mozilla.org/pub/mozilla/releases/m18/

PHP: bug fins la versio 4.0.2

Reading time: 2 – 2 minutes

Avui llegint les noticies de securityfocus he vist q s’ha trobat un bug al
php fins la versió 4.0.2, la 4.0.3 ja ho té resolt. De fet, si
llegim d’on ve el bug aquest és obvi, ja que aprofita una funció
del PHP q permet usar el syslog així doncs si tenim en compte q
gairebé tots els dimonis dels unix estan afectats pel errors dels string
l’únic q es tracta és d’aprofitar aixó per tal d’obtenir
execusió arbitraria de codi, o root remot.

La explicació tècnica de securityfocus és la
següent:
The vulnerability exists in the code that handles error logging and is present
if error logging is enabled in the “php.ini” configuration file. When errors
are encountered by PHP, a string containing data supplied by the user is passed
as the format string argument (the log_message variable) to the php_syslog()
function (which contains *printf functions). As a result, it is possible for a
malicious user to craft a string containing malicious format specifiers that
will be passed to the php_syslog function as part of an error message. When
interpreted by the *printf functions, these specifiers can cause the process to
overwrite its own stack variables with arbitrary data. This can lead to remote
access being gained on the target host with privileges of the webserver for the
attacker.
Error logging may or may not be enabled by default on systems shipped with
PHP.

Per tal d’evitar aquest error es pot deshabilitar al php.ini la
opció:
“log_errors = Off”
O instal.lar-se el PHP 4.0.3 q va sortir ahir.
Per més informació sobre el tema:
http://www.securityfocus.com/bid/1786

Linux 2.4 Advanced Routing HOW-TO.

Reading time: < 1 minute

Linux 2.4 (2.2 as well, partly) routing HOWTO explains using the advanced
iproute2 tools, documenting how these tools can be used, and what their output
means. Furthermore, it explains how to do advanced traffic shaping with CBQ. It
includes cookbook examples.

Aqui teniu el Linux 2.4
Advanced Routing HOW-TO
: http://www.ds9a.nl/2.4Routing/HOWTO/html/

Prometheus – Llibreria de PHP

Reading time: 2 – 2 minutes

http://prometheus.zerodivide.net/api/
Mirant les novetats de freshmeat he vist aquesta llibreria de PHP q incorpora
un munt de noves classes d’objectes al PHP, esta molt currat i te moltes
cosetes, en propers dies incloure comentaris més concrets sobre el q
té.

Llistat de clases q incorpora la llibreria:
AutoLoad – The ability to load just the classes you need and the classes
dependencies. I.e. i want to use the mail object, and nothing else AutoLoad(
‘Mail’ );.
Sessions – Allows storage of variables, across pages by keeping state in a
database. Database Independence – There is a framework for a database
independence layer (Mysql, Oracle, and Postgres are supported).
BenchMarking – A object for benchmarking code segments. UserAuth – An
authentication class that takes plugable backend drivers. I.e. i would like to
auth this part of the site off of un*x password files.
UserDomain – A virtual “domain” for the users within a website. This provides a
abitrary way to group users.
WebClient – Identifies webbrowser capabilities, and features.
Unix Utilities – The ability to read unix password files.
FileSize – Get the file size for a file and format it with the proper
conversions (i.e. 1024 = 1k ).
PageNavigator – A utility object that allows you to create multiple page
navigation based upon the concept of displaying x of n items on each
page.
UrlObject – A utility for creating urls MimeObject – Contains mime mappings,
and is a able to figure out mime mappings for most files. Mail – The ability to
read and send mail, via IMAP and local sendmail. In the future there will be
SMTP and POP3 support also.
AppServer – A series of objects to help enable php into a app server style
environment.
Templates – The ability to parse templates, both with and without php,
automatic interpolation of files.

Problemes ruters ADSL (timofonica)

Reading time: 6 – 10 minutes

A la l-linux aquesta setmana han sortit informes molt interessants sobre els
problemes a l’hora d’accedir a les intranets q hi ha a l’interior dels ruters
ADSL de la timo, aprotio aquest article per enganxar un missatge molt
interessant sobre els ruters 3com.

Telefónica Data instala últimamente este router cuando se
contrata ADSL. Pero le ponen un montón de trabas para que los propios
usuarios no tengan acceso al router.

¿Que hace Telefónica?
Lo primero que hace (si lo hace) es ir un ‘cualificado’ instalador a configurar
tu router y comprobar que todo ‘funciona’ bien.

¿Que descubrimos cuando se va?
Cuando se va el señor tan majo, cogemos la caja del router y que nos
encontramos… NADA!, ni CD de instalación ni manual de instrucciones ni
nada de nada. Así que ser avispados y por lo menos copiar el CD q trae
el instalador a vuestro HD.

Llamamos a Telefónica y es que eso se da así. Sin CD y sin
manual. Pues que bien. A dar vueltas por www.3com.com y a buscar el pdf con el
manual.
Cuando nos bajamos el manual y lo leemos por encima vemos que ¡anda! pero
si podemos configurar el router a través del navegador y telnet!!.
Abrimos el navegador y escribimos http://10.0.0.1 (que suele ser la IP que te
ponen en el router). Tras un rato descubrimos que ahí nada responde…
nos vamos al telnet y tres cuartos de lo mismo.
¿Qué ocurre?
Si nos fijamos el instalador ha conectado el router a nuestro PC por un puerto
serie, y si leemos un poco mas el pdf pone que si nos conectamos al puerto
serie es como si fuera un telnet.
Abrimos el terminal y lo configuramos así:
Conexión: COM1 (depende de tu PC, puede ser el 1 o el 2)
Bits por segundo: 9600
Bits de datos: 7
Paridad: E (espacio, S en ingles)
Bits de parada: 1

Le damos a conectar y nos dice:
Login:
Nos pregunta el nombre de usuario. Bueno, no pasa nada, en el pdf que os
habéis bajado viene un LOGIN y PASSWORD por defecto en todos los
routers, así que los ponemos, y dice:
Login: root
Password: !root
Login incorrect.
Incorrecto!… los de Telefónica han borrado el usuario por defecto…
En fin, siempre hay gente que habla mas de la cuenta, y gracias a eso sabemos
el usuario y contraseña.
Login: adminttd
Password: adminttd
3Com-DSL>
Estamos Dentro, bueno, ahora hay que ver por que no podemos configurar el
router ni por web ni por telnet. Esto es por que los de la Telefónica
nos han instalado en el router 2 filtros que se encargan de lo siguiente:
-Por un lado deniegan el acceso a cualquier IP a los puertos 80 y 23.
-Por otro lado PERMITE el acceso a una determinada IP (195…) que debe ser de
telefónica.
O sea, que les compramos un router y ¿solo pueden manejarlo ellos? pero
bueno esto tiene arreglo. Haced lo siguiente:
3Com-DSL>delete filter filtro
3Com-DSL>delete filter filtro2
Ya están borrados. Ahora solo queda guardarlo para que si se resetea no
se pierda.
3Com-DSL>save all
Saving….. SAVE ALL
SAVE ALL Complete
Ya esta. Ahora corréis un riesgo, y es que habéis abierto el
puerto 80 y 23 a toda Internet, con lo cual cualquiera puede acceder con el
usuario y clave de telefónica (adminttd). Así que… haced lo
siguiente. Cread un usuario y borrar el otro, por ejemplo:
3Com-DSL>add user administrador password clave_personal
3Com-DSL>delete user adminttd
3Com-DSL>save all
Saving….. SAVE ALL
SAVE ALL Complete
Ahora habéis creado un usuario cuyo Login es administrador y la clave es
‘clave_personal’ (sustituid clave_personal por la q queráis).
Además habéis borrado el usuario adminttd y guardado toda la
configuración.
Ahora ya podéis abrir el navegador y poner http://10.0.0.1 Así ya
podréis ver como configurarlo todo.
Perfecto, pero… ¿ahora que?
Pues ahora ya depende mucho de vosotros. Si lo único que queréis
tener conexión a Internet, ya vale como esta, pero si queréis
servicios adicionales como poder hacer DCC’s u alojar tu propia web… seguid
leyendo.
¿Por que no puedo hacer DCC’s?
Un DCC es una conexión directa desde vuestro PC hasta el PC de otra
persona.
Esta conexión usa el puerto 59 de vuestro PC para establecerse. El
router esta configurado para que todas las peticiones a cualquier puerto que
hagas de Internet funcionen. Por lo tanto si alguien os hace un DCC SI
funcionara.
Pero si eres tu el que abres un DCC no funcionara puesto que abres el puerto 59
en tu ordenador (10.0.0.2 por qué es una intranet) pero NO lo abres a
Internet.
Es decir, la IP que la gente ve, no es la de tu ordenador, sino la de tu
router! por lo tanto tienes que permitir que si alguien se conecta al puerto 59
del router este sea redirigido a tu puerto 59.
¿Cómo hago esto?
Vete a la configuración por web (http://10.0.0.1) y pon tu nombre de
usuario y contraseña. Después pincha en ‘Configuration’ ->
‘Remote Sites (WAN)’ -> ‘Modify’ -> ‘Next’ Aquí activa la casilla
‘NAT’ y haz clic en ‘TCP’ -> ‘ADD’ y rellena las siguientes casillas
así:
Public TCP Port: 59
Private IP Address: 10.0.0.2 (o la IP de tu makina)
Private TCP Port: 59
Haz clic en ‘ADD’ -> ‘<< PREV’ -> ‘MODIFY’ y ya esta. Ahora ya
deberia funcionar.
Entonces puedo redirigir cualquier puerto a mi PC ¿no? Si, pero ten en
cuenta que si rediriges el puerto 80 y 23 no podrás administrar tu
máquina desde Internet.
¿Y para poner web?
Puedes hacer lo siguiente: Vete a la configuración por web
(http://10.0.0.1) y pon tu nombre de usuario y contraseña.
Después pincha en ‘Configuration’ -> ‘Remote Sites (WAN)’ ->
‘Modify’ -> ‘Next’ -> ‘TCP’ -> ‘ADD’ y rellena las siguientes casillas
así:
Public TCP Port: 8000
Private IP Address: 10.0.0.1 (o la IP de tu router)
Private TCP Port: 80
Ahora pincha en ‘ADD’ -> ‘ADD’ y rellena así
Public TCP Port: 2323
Private IP Address: 10.0.0.1 (o la IP de tu router)
Private TCP Port: 23
Ahora pincha en ‘ADD’ -> ‘ADD’ y rellena así
Public TCP Port: 23
Private IP Address: 10.0.0.2 (o la IP de tu máquina)
Private TCP Port: 23
Ahora pincha en ‘ADD’ -> ‘ADD’ y rellena así
Public TCP Port: 80
Private IP Address: 10.0.0.2 (o la IP de tu máquina)
Private TCP Port: 80
Haz clic en ‘ADD’ -> ‘<< PREV’ -> ‘MODIFY’ y lueg pincha en ‘SAVE
CONFIGURATION’. Lo que hemos hecho con esto es que ahora, para administrar por
web desde inet has de poner http://10.0.0.1:8000 y al hacer un telnet has de
hacérselo al puerto 2323. Es decir:
Internet -> router(puerto 80)->IP interna makina(puerto 80)
Internet -> router(puerto 23)->IP interna makina(puerto 23)
Internet -> router(puerto 8000)->IP interna router(puerto 80)
Internet -> router(puerto 2323)->IP interna router(puerto 23)
Espero que con esto os haya quedado un poco mas claro todo el rollo del router.
No toquéis cosas sin saber, leeros bien el pdf.
Agradecimientos el Grupo Akelarre:
Http://akelarre.es.vg
Asociaciación de Usuarios de ADSL:
Http://adslhoy.portalgsm.com
Foros ADSL:
Http://foros.portalgsm.com

Defensar-se dels atacks DOS

Reading time: 1 – 2 minutes

http://grc.com/r&d/NoMoreDoS2.htm
Estava llegint el resum anual de securityfocus i he trobat una URL molt
interessant…

En la URL a d’alt esmentada hi ha una explicació a nivell TCP de com
evitar els atacs DOS, la idea és molt bona, bàsicament consisteix
en no guardar informació del SYN q t’envia el client per establir la
conexio i només guardar la clau CSN q envies tu quan envies un packet
SYN/ACK així després quan el client envii el ACK amb la teva clau
CSN sabràs q és el mateix tio q t’ha fet un SYN al principi, cosa
amb la q verifiques q no s’ha espofejat la IP i a més al no haver
guardat la informació del SYN podem evitar el desvordament de recursos
al q és sotmes la màquina en un atac DOS.
Per informar-se més detalladament de tot això la URL q he
esmentat abans ho explica molt bé.

Me canvio al vim

Reading time: < 1 minute

Avui he fet el meu primer treball amb el vim, he decidit passar del joe
vistes les seves restriccions.

La home page del vim és http://www.vim.org, només apunta
cosetes com ara q necessites posar un .vimrc adient pq faci tot el q
m’agrada.El q tinc me’l ha passat el pof, però no sé d’on l’ha
tret…
Pel q fa al tema manuals necessitaria algún manual concret pq de moment
només tinc el de vim.org i no està massa curradillo.

Scroll to Top