13.07.2015 Views

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SEGURIDAD EN UNIX Y REDES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

168CAPÍTULO 10. EL SISTEMA DE REDgeneral se recomienda ofrecer el mínimo número de servicios; incluso si hay algún servicio que nosabemos para qué se utiliza, lo mejor para nuestra seguridad sería dejar de ofrecerlo.Dejar de ofrecer cierto servicio en máquinas Unix es muy sencillo; no necesitamos reiniciar elsistema para que los cambios tengan efecto ni nada por el estilo: con un simple editor de textospodemos limitar los servicios ofrecidos. En el caso de servicios ofertados a través de inetd, no tenemosmás que editar /etc/inetd.conf y comentar las líneas correspondientes a los servicios a cerrar(los comentarios en ficheros de configuración de Unix suelen ser lineales, utilizando el símbolo #).Después de comentar las líneas correspondientes hemos de reiniciar el demonio inetd enviándole laseñal sighup (con órdenes como kill, pkill o killall). En el caso de demonios independienteslanzados durante el arranque del sistema no tenemos más que enviarles la señal sigterm (por normageneral, aunque en algunos casos quizás es necesaria sigkill), y también editar los ficheros quelanzen estos demonios y comentar las líneas encargadas de la inicialización, para que no se vuelvana lanzar la próxima vez que la máquina arranque; generalmente se tratará de archivos situados en/etc/rc.d/ o en /etc/rc?.d/.Veamos un ejemplo: imaginemos que en nuestro /etc/inetd.conf tenemos la línea del serviciode telnet que hemos mostrado anteriormente. En este caso, si alguien ejecuta un telnet a nuestrosistema, verá algo parecido a esto:rosita:~$ telnet anitaTrying 195.195.5.3...Connected to anita.Escape character is ’^]’.SunOS 5.7login:Si esta línea de /etc/inetd.conf la sustituimos por#telnet stream tcp nowait root /usr/sbin/in.telnetdy a continuación ejecutamos pkill -HUP inetd, cuando alguien haga un telnet a nuestra máquinaverá esto:rosita:~$ telnet anitaTrying 195.195.5.3...telnet: Unable to connect to remote host: Connection refusedrosita:~$Demonios típicos que se lanzan desde inetd son in.telnetd (para recibir peticiones telnet),in.ftpd (para peticiones ftp), in.talkd (para peticiones talk), in.fingerd (para finger remoto)o in.r∗, para los servicios r-∗ de Unix bsd. Demonios que se suelen lanzar en el arranquedel sistema son sendmail (gestión de correo electrónico), httpd (servicio http), lpd (demonio deimpresión), inetd (recordemos que es un demonio que también se ha de iniciar en el arranque) onfsd (para compartir sistemas de ficheros mediante nfs); algunos de estos conviene servirlos desdeinetd en lugar de como demonios independientes, por motivos de seguridad que ya veremos alhablar de TCP Wrappers.Hasta ahora hemos hablado de dos formas de ofrecer un servicio: o bien a través de inetd, o biencomo demonio independiente lanzado al arrancar el sistema; realmente, existe una tercera forma deofrecer servicios, y es el mecanismo RPC (Remote Procedure Call), original de Sun Microsystemspero que en la actualidad está implementado también por OSF (Open Software Foundation) en suDCE (Distributed Computing Environment) y por OMG (Open Management Group) en CORBA(Common Object Request Broker Architecture). La idea básica del funcionamiento de RPC es sencilla:existe un programa denominado portmap, rpcbind, rpc.portmap. . . (su nombre depende del

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!