-[ 0x0C ]-------------------------------------------------------------------- -[ 3er articulo publicado por SET en @rroba ]-------------------------------- -[ by SET Ezine ]----------------------------------------------------SET-29-- El presente articulo fue escrito a inicios del 2001. En este lapso de tiempo ha llovido bastante y en el mundo de la informativo mucho mas. No espereis encontrar aqui grandes descubrimientos ! INTERNET DESDE UNA UNIVERSIDAD Los acontecimientos aqui descritos se refieren a personas y situaciones ficticias, pero que son muestra de miriadas de hechos ocurridos y que siguen ocurriendo en las redes de habla hispanica (...y estamos seguros que estos ejemplos se puede extender al resto del mundo). 1.-INTRODUCCION La historia que os queremos contar entra dentro de la normalidad de un pais que nos empenyamos en llamar Espanya cuyas Universidades son una hirvierte cazerola donde se mezclan tecnologias punta, hardware de hace diez anyos, gente adormilada, zanganos contumaces, personas con ganas de renovar y renovarse, todo ello con algunos ingredientes de endogamia e irresponsabilidad. 2.-TENEMOS UN NUEVO BECARIO Probablemente no lo sabeis, pero en las universidades de Spain, el numero de becarios es casi igual al de funcionarios de contrato fijo. Esto no tiene nada de malo, recordad que estamos hablando de un pais de lengua NO anglo-sajona y sin ninguna similitud con otro pais de gran poderio y con presidentes de aficiones extravagantes, siempre que se respeten las reglas del juego. Y cuales son estas reglas ?, Se preguntaran nuestros lectores.... pues dificil es el conocerlas. Becarios hay muchos, pero casi ninguno de ellos conoce el reglamento bajo el cual se rige su vida laboral. Si alguno de vosotros no dais credito a lo que decimos, no teneis mas que acercaros a la ventanilla de una universidad y preguntar por semejante reglamento. En caso de que tengais algun conocido que trabaje como becario, le pedis que realice esta gestion por vosotros y os aseguramos que obtendreis el mismo resultado... ninguno. Pero al equipo de SET no se le escapa nada de lo que ocurre o pueda ocurrir en nuestro entorno y ha obtenido esta informacion para todos vosotros ! Todo el cumulo de papeles que hemos logrado se pueden resumir en tres pequenyas reglas: - Un becario debe estar supervisado por un funcionario de contrato fijo. - El trabajo de un becario no debe remplazar al de un funcionario fijo. - Un becario no puede realizar el mismo trabajo, mas de dos anyos. Estas reglas son de una unica universidad, pero en general todas siguen los mismos parametros. Aparentemente son reglas faciles de aplicar y de contenido mas que razonable pero si continuais leyendo, entendereis porque esta informacion esta tan celosamente custodiada. Una manyana cualquiera en un departamente como muchos en una de tantas unis... 'Hola,...soy Josefina Trabajo-Adicta, he sido contratada como becaria y me comunicaron que viniera a presentarme aqui' 'Buenas dias !,....soy Pepito Explotado, tu primer dia, eh?, aqui esta Felix El-Escaqueado y aquella es Maruja Metementodo' Nuestra flamante becaria, observa la edad media de los presentes y se pregunta extranyada como puede ser que todos los funcionarios sean tan jovenes. Inocentemente deja caer. 'Asi que tu eres el jefe de este departamento?' La respuesta es fulminante. 'Noooo, aqui la jefa es Flora Nopegagolpe, ... bueno la jefa y la unica con contrato fijo, TODOS los demas somos becarios' .....os acordais de uno de los puntos de las reglas fijas e inamovibles de los becarios ? Esta es una situacion general, las universidades, con el animo de captar nuevos alumnos (la baja natalidad ha hecho estragos entre los 'clientes' de estos entes), han creado nuevos departamentos y servicios, pero no disponen de personal suficiente. La solucion ha sido hacer mal uso de la figura del becario, deformando su perfil. De ser una persona que va ha realizar una tarea unica y creativa, pasa a ser un simple administrativo. 3.-EMPEZAMOS A TRABAJAR El trabajo en cuestion, que en teoria habia sido vendido como creativo y formador no era otra cosa que un normalillo toma-datos de la gente que venia por ahi y hace-fotocopias para otros departamentos (que probablemente se apresuraban a tirar a la papelera al recibirlos). El entorno era agradable, unas oficinas bien instaladas con equipos informaticos para todos los gustos y una red de acceso local con conexion hacia el exterior. Los siguientes factores contribuian a que en dicha oficina se empezaran a formarse grupos, foros y demas reuniones de gentes diversas en funcion de las horas del dia : - La Sra. Nopegagolpe, hacia honor a su nombre y siempre estaba fuera de la oficina en reuniones de enorme importancia y dudosa utilidad. - El trabajo no desgastaba las meninjes a nadie. - Los equipos informaticos eran de primera fila. - La conexion a Internet de primer orden. - ....aire acondicionado. Nuestra Trabajo-Adicta, pronto se dio cuenta de que el asunto del trabajo era peripatetico. Lo normal en aquel centro eran reuniones a la hora del cafe, gente que venia a utilizar los equipos, porque los de la biblioteca estaban saturados y habian oido que ahi tenian buen acceso, novias de amigos de becarios que venian a pasar e-mails particulares, amigos de novias que querian bajarse el ultimo MP3 y deseaban buena velocidad de bajada y asi un largo etc. Podemos resumir el exito de audiencia ante los terminales del departamento en dos : - Realmente la velocidad de conexion al exterior era muy buena. - Habia poco que hacer. Las razones de la bondad del servicio reside en el acuerdo que hay establecida en este pais para las conexiones de los organismos dedicados a la ensenyanza. Realmente quien realiza la conexion es la REDIRIS, utilizando algo realmente fuerte con capacidades superiores a las 34/155 Mbps. Si alguien desde dentro de la universidad consigue una conexion sin filtrar, tiene a su alcance una velocidad que para si quisieran muchos de los proveedores de Internet. Evidentemente todos los zanganos del lugar, habian descubierto esta posibilidad y ahi estaba la explicacion de semejante desfile de desocupados. El segundo punto se debia a que la Sra. Nopegagolpe era sumamente habil en inflar las tareas asociadas a su departamente frente sus superiores. Estas tareas se resumian en registrar a los alumnos que deseaban acceder a determinados servicios gratuitos pero que requerian un cierto control. Lo que si era cierto, era la estacionalidad del trabajo. Normalmente habia agobio al principio de cada periodo lectivo y despues tranquilidad absoluta. Trabajo-Adicta, no estaba en absoluto de acuerdo con la situacion pero poco podia hacer salvo ingeniarse para que una propuesta suya saliese hacia las altas esferas de las jefaturas. La propuesta consistia en crear una web desde la cual los mismos estudiantes pudieran darse de alta en los diversos servicios. A partir de ahi todo el trabajo administrativo posterior se limitaba a comprobar que los datos eran correctos (realmente el Sr. Nosabenada, estaba matriculado?) y se eliminaba todo el trabajo posterior de copias y envios por correo. A pesar de que a Nopegagolpe, no le hizo ninguna gracia (ya que limitaba sus futuras intenciones de pedir mas becarios, alegando trauma funcional), la idea cuajo inmediatamente y se decidio implementarla rapidamente. 4.-....Y SI TODOS SE REGISTRARAN POR LA RED ? La primera idea se limitaba a crear el acceso localmente desde una maquina que estuviera en red con el servidor del departamento (un NT que hacia al mismo tiempo de workstation de una becario,....entre nosotros, un verdadero desastre desde el punto de vista de la seguridad) pero dada la moda de impulso de iniciativas y modernidad, y la falta de verdaderas ideas, la novedad se puso como ejemplo y a alguien en las altas esferas con muy pocas luces pero con enormes ganas de ponerse medallas, decidio que dar nuevo impulso a la iniciativa, modificandola de la forma siguiente : - Los accesos se pudieran hacer sin necesidad de personarse en la oficina (o sea desde cualquier punto de Internet) - El propio departamento fuera el encargado de implementarla. A cualquiera que tenga un poco de sentido comun, no se le escapa que un departamento donde se permite que un servidor de red, sea simultaneamente utilizado como estacion de trabajo administrativo, no era el mas adecuado para encargarse de semejante labor, ya que no parecian tener criterios muy claros acerca de la seguridad digital. Ademas, conociendo la composicion de las fuerzas vivas de dicho departamento, (solo Nopegogolpe era funcionaria con contrato fijo), era evidente que serian los propios becarios los que se iban a encargar de la tarea. Tampoco dichos heroes se iban a preocupar mucho de la seguridad (total ! Al cabo de dos anyos, a la calle !). 5.-PRUEBAS Y DESASTRES Asi armados, con mas buena voluntad que buen juicio, Trabajo-Adicta y sus colegas se lanzaron a la tarea sin ninguno de los pasos que se requieren en la implantacion de cualquier proyecto de este tipo. Por si el avispado lector no se ha dado cuenta, en el fondo lo que se estaba pidiendo era : - Acceder a una base datos desde cualquier sitio del mundo. - Poder actualizar los registros. - Reutilizar un servidor existente que se encontraba dentro de una organizacion con muchas subredes. Los minimos pasos a seguir cuando alguien se encuentra con una tarea de tales dimensiones, son : - Definir el entorno de los que pueden acceder a la aplicacion. - Definir el entorno de la base de datos y soft asociado. - Definir el soft que debia gestionar el servidor. - Realizar un minimo estudio de las consecuencias si, a pesar de las precuaciones tomadas, alguien conseguia acceso no autorizado. Nada de todo esto se hizo. Nuestros becarios, simplemente se esforzaron en que la aplicacion funcionara (fundamentalmente, se ocuparon de que la presentacion que Nopegogolpe debia realizar ... dentro de quince dias !, fuera lo mas bonita posible). Para ello siguieron los pasos siguientes : - Buscaron en Internet un servidor de PHP de libre acceso (gratuito) - Se leyeron en unas horas las instrucciones - Instalaron y configuraron en un dia las bases de datos ...y lo que no hicieron : - No comprobaron la configuracion del servidor NT que debia alojar la base de datos. - No limitaron el acceso fisico a dicho servidor. - No se leyeron (con calma ) la documentacion que se bajaron sobre PHP. Esto dentro de lo mas gordo, pero tampoco pretendemos escribir un documento sobre seguridad...... 6.-DESENLACE Pues sucedio lo que cualquiera se podia imaginar. Los scripts escritos en PHP son famosos por dos cosas, la rapidez con que se escriben y la facilidad con que dejan agujeros de seguridad. (Interesados, pueden consultar la web http://oliver.efri.hr/~crv/security/bugs/mUNIXes/http13.html) Al no leerse con calma la documentacion, dejaron en el mismo directorio de acceso libre, un scrip en PHP que permitia leer y cambiar la password de administracion. Alguien lo utilizo para descubrir la password de acceso. Como ademas, en la pagina principal, decian quienes eran y donde estaban, busco el servidor y encontro las tipicas agujeros de las instalaciones por defecto de un NT de hace dos anyos. Armado con un poco de paciencia, filosofia, ingenieria social y la password anteriormente citada, tomo control del servidor. En dicho servidor, el administrador del dominio principal se habia dejado su password (el archivo SAM de las maquinas que corren NT, es una autentico fuente de alegrias para los hackers de este planeta). A partir de ahi, nuestro anonimo visitante hubiera podido hacer lo que hubiera deseado, pero siempre hay un angel protector para inocentes e inexpertos. Entre la pleyade de visitantes (fisicos) que frecuentaban aquel departamento (y que jamas hubieran debido hacerlo), habia uno que ademas de leerse el correo y bajarse musica MP3, sabia algo de sistemas y tenia un poco de curiosidad. Dado que el servidor estaba siempre conectado con pass de administrador, pudo ver que alguien habia hecho el dia anterior una copia de seguridad de la SAM. Esto le extranyo sobremanera (tal celeridad en aquel departamento era inpensable o como minimo inesperada) y se lo comunico a la novia del amigo de uno de los becarios. Como las malas noticias corren deprisa, nuestros becarios leyeron un tocho de documentacion en unas horas y descubrieron sus monumentales errores. Rapidamente se lo comunicaron al administrador del dominio (nada de e-mails, faxs ni nada que dejara rastro,....lo fueron a ver en persona). Como todo el mundo estaba implicado, no se dio noticia del hecho, solo se cambiaron las passwords y se modificaron los scripts.....nadie llego a saber quien fue el anonimo visitante, ni lo que realmente hizo, ni se comprobo,...si todavia seguia alli. *********************************************************************** *********LAS CONEXIONES REDIRIS SEGUN UN ESTUDIANTE******************** *********************************************************************** La mayor parte de los organismos oficiales y entes sin animo de lucro en Espanya, utilizan los servicios de la REDIRIS para sus conexiones telematicas. Como ejemplo, ahi va una lista de los entes asociados en Andalaucia. CAHA Observatorio Hispano-Aleman 'Calar Alto' Instituto Max Plank/Comision Nacional Espanyola de Astronomia CARTUJA.CSIC Centro de Investigaciones Cientificas Isla de la Cartuja CAP.JUNTA-ANDALUCIA Centro Andaluz de Prospectiva CEC.JUNTA-ANDALUCIA Consejeria de Educacion y Ciencia CDMA.JUNTA-ANDALUCIA Centro de Documentacion Musical de Andalucia CICA Centro Informatico Cientifico de Andalucia CID.CAP.JUNTA-ANDALUCIA Centro de Investigacion y Desarrollo Consejeria de Agricultura Y Pesca CMA.JUNTA-ANDALUCIA Consejeria de Medio Ambiente CNA Centro Nacional de Aceleradores CPRECAAN.JUNTA-ANDALUCÖA Consejeria de Presidencia de la Junta de Andalucia EAMS.FUNDEA Euro Arab Management School EASP Escuela Andaluza de Salud Publica EBD.CSIC Estacion Biologica Donyana EEA.CSIC Escuela de Estudios Arabes EEHA.CSIC Escuela de Estudios Hispano Americanos EELM.CSIC Estacion Experimental La Mayora EEZ.CSIC Estacion Experimental del Zaidin EEZA.CSIC Estacion Experimental de Zonas Aridas FEM Fundaci¢n de Estudios Marinos HU.SAS.JUNTA-ANDALUCIA Hospitales Universitarios Andalucia IAA Instituto de Astrofisica de Andalucia IACT.CSIC Instituto Andaluz de Ciencias de la Tierra, CISC/UGR IAPH.JUNTA-ANDALUCIA Instituto Andaluz de Patrimonio Historico IAS.CSIC Instituto de Agricultura Sostenible IAT Instituto Andaluz de Tecnologia IBVF.CARTUJA.CSIC Instituto de Bioquimica Vegetal y Fotosintesis ICMAN.CSIC Instituto de Ciencias Marinas de Andalucia ICMSE.CARTUJA.CSIC Instituto de Ciencias de Materiales de Sevilla IEA.JUNTA-ANDALUCIA Instituto de Estad¡stica de Andalucia IEO-CADIZ.IEO Instituto Espanyol de Oceanografia - Cadiz IEO-MALAGA.IEO Instituto Espanyol de Oceanografia - Malaga IESAA.CSIC Instituto de Estudios Sociales Avanzados de Andalucia IG.CSIC Instituto de la Grasa y Derivados IGEO.CSIC Instituto de Geologia - Granada IIQ.CARTUJA.CSIC Instituto de Investigaciones Quimicas IMSE.CNM Instituto de Microelectronica de Sevilla IPB.CSIC Instituto de Parasitologia y Biomedicina 'Lopez Neyra' IRM.IGN Instituto de Radiometria Milimetrica Instittuo Max Plank/CNRS/Instituto Geografico Nacional IRNASE.CSIC Instituto de Recursos Naturales y Agrobiologia JRC Instituto Europeo de Prospectiva Tecnologica 'JRC' (Comision Europea W.T.C.) OSN Observatorio de Sierra Nevada PARLAMENTO-AND Parlamento de Andalucia PSA Plataforma Solar de Almeria ROA Real Observatorio de La Armada de San Fernando SAS.JUNTA-ANDALUCIA Servicio Andaluz de Salud SBA.JUNTA-ANDALUCIA Sistema Bibliotecario Andalucia SICMA.CMA.JUNTA-ANDALUCÖA Servicios de Investigacion de Consejeria de Medio Ambiente UIA Universidad Internacional de Andalucia, sede Sevilla UNIARA.UIA Universidad Internacional de Andalucia Sede Iberoamericana Santa Maria de La Rabida UNIAAM.UIA Universidad Internacional de Andalucia, Sede Antonio Machado UIDA Instituto Andaluz del Deporte UNA.CSIC Unidad de Nutricion Animal UALM Universidad de Almeria UCA Universidad de Cadiz UCO Universidad de Cordoba UGR Universidad de Granada UHU Universidad de Huelva UJAEN Universidad de Jaen UMA Universidad de Malaga US Universidad de Sevilla UPO Universidad Pablo de Olavide Todo ello esta gestionado desde una red que parte de Madrid Dominio: rediris.es Estado: Delegado Organizaci¢n: RedIRIS Organizaci¢n: Centro de Comunicaciones CSIC RedIRIS Direcci¢n (Calle,No...): Serrano 142 Direcci¢n (Municipio): Madrid Direcci¢n (Cod. Postal): E-28006 Direcci¢n (Provincia): MADRID Direcci¢n (Pais): SPAIN C. Administrativo: VC63 C. T‚cnico: MC34-ESNIC C. Facturaci¢n: AMD1-ESNIC Serv. primario: sun.rediris.es 130.206.1.2 Serv. secundario: chico.rediris.es 130.206.1.3 Serv. secundario: tais.rediris.es 130.206.1.39 Acronimo de proveedor: REDIRIS La direccion IP nos indica que es una red de Clase B, con una capacidad de dar servicio a unas posibles 65025 maquinas sin contar que algunas de ellas pueden dar a su vez servicio a pequenyas redes locales. Los routers por los que pasan estos chorros de informacion son del tipo AS5200 , Cisco 2501/5260/5300 terminal server IOS 11.3.6(T1) o Cisco IOS 11.3 - 12.0(9). En general la seguridad del conjunto es bastante robusta, fueron pioneros en la utilizacion de PGP y normalmente recomiendan software GNU. Como ejemplo de todo esto basta con intentar ejecutar un escaneo de puertos sobre cualquiera de las maquinas principales y vereis que la respuesta es bastante brusca. Actualmente se encuentran colaborando en el grupo de trabajo de Internet2, para probar redes de muy alta velocidad cuya aplicacion inmediata seria las transmisiones de eventos medicos (operaciones en tiempo real), multiconferencias realmente operativas (si alguno a participado en alguna multiconferencia de las 'clasicas' sabra a que me refiero), etc. Todo este conjunto de herramientas, hacen las delicias de los aprendices de hackers en las Universidades. No por sus ataques a los recursos de la REDIRIS, sino por su utilizacion. Si alguno de ellos consigue una conexion de primera fila sin control del ancho de banda, la unica limitacion que tendra para bajarse todo tipo de soft, musica o peliculas, sera su capacidad de almacenamiento local. *********************************************************************** *********LOS PELIGROS DE LOS CGI*************************************** *********************************************************************** Como evitar y porque, los metacaracteres en los CGI Scripts que se ofrecen libremente en la red. En la red podemos encontrar miles, cuando no millones de CGi que hacen casi de todo. Cuando alguien recibe el tipico encargo/marron de ultima hora, es muy frecuente que se utilicen este tipo de software de libre distribucion. El problema reside en que no todo el software bajo GNU es fiable ni siquiera decente. En el caso de los CGIs, sean en perl, C,.... siempre se deben comprobar dos cosas fundamentales : - Que no permitan ejecutar comandos arbitrarios bajo inputs banales. - Que no permitan la ejecucion de archivos arbitrarios Como impedir ejecucion de comandos arbitrarios. En el caso de un script CGI, que admita datos del usuario, no importa el origen pero supongamos que se inyectan desde la variable de sistema $QUERRY_STRING. Es muy importante la forma en que se 'desinfectan' los datos que nos llegan desde esta variable para impedir sorpresas desagradables. Ejemplo en Perl, a evitar (se controlan los caracteres conocidos que se desean impedir su ejecucion) : #!/usr/local/bin/perl $datos_usuario = $ENV{'QUERY_STRING'}; # Se aceptan los datos print "$datos_usuario\n"; $datos_usuario =~ s/[\/ ;\[\]\<\>&\t]/_/g; # ERROR. Se eliminan algunas # caracteres print "$datos_usuario\n"; exit(0); Actuando de esta forma, se eliminan algunas caracteres, pero hay que tener en cuenta que la imaginacion de las personas es ilimitada y siempre encontraremos a alguien que se le ocurren caracteres diabolicos. Mucho mejor es dejar pasar solo los caracteres deseados: El CGI en perl del ejemplo anterior, es mucho mas seguro de la forma siguiente: #!/usr/local/bin/perl $_ = $datos_usuario = $ENV{'QUERY_STRING'}; # Se aceptan los datos print "$datos_usuario\n"; $OK_CHARS='-a-zA-Z0-9_.@'; # Lista de caracteres aceptable # Esta lista la podemos modificar en funcion # del ultimo RFC que nos interese s/[^$OK_CHARS]/_/go; $datos_usuario = $_; print "$datos_usuario\n"; exit(0); La misma tecnica podemos (y debemos) emplear cuando queramos ejecutar un archivo. Siempre debemos partir de una lista de archivos autorizados, sino corremos el riesgo de ejecutar el ultimo back-door que nos copiaron en el disco utilizando otros caminos, en lugar de nuestro flamante programa de actualizacion de bases de datos. Como normas generales, se den borrar todos los scripts que no sepamos para que sirven y los de demostracion. Si hay alguien que quiera mas informacion, aqui les damos algunas direciones, aunque nuestra experiencia no es tanta de falta de informacion como de exceso de desidia en leer (e intentar entender) la disponible. Documentos generales de advertencia. CERT Advisory CA-97.12 "Vulnerability in webdist.cgi" AUSCERT Advisory AA-97.14, "SGI IRIX webdist.cgi Vulnerability." WEBS. http://www-genome.wi.mit.edu/WWW/faqs/www-security-faq.html http://www.genome.wi.mit.edu/ftp/pub/software/WWW/cgi_docs.html LIBROS: 1.-Practical Unix & Internet Security, Simson Garfinkel and Gene Spafford, 2nd edition, O'Reilly and Associates, 1996. 2.-Programming Perl, Larry Wall, Tom Christiansen and Randall L. Schwartz, 2nd edition, O'Reilly and Associates, 1996. *EOF*