PDF de programación - Configuración TCP-Wrapper

Imágen de pdf Configuración TCP-Wrapper

Configuración TCP-Wrappergráfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 7 de Enero del 2018)
486 visualizaciones desde el 7 de Enero del 2018
30,3 KB
9 paginas
Creado hace 23a (12/08/2001)
División de Seguridad Informática
Configuración de TCP-Wrapper


1.- Introducción.

Linux, igual que cualquier sistema operativo, debe ser configurado para que sea seguro

antes de conectarlo a una red, especialmente cuando nos conectamos a Internet.

Como un intruso puede atacarnos e ingresar a nuestra computadora?

Linux o cualquier otro Unix, ejecutan un conjunto de programas denominados daemons, que
proveen servicios de red, como por ejemplo servidores: ftp, smtp, telnet, etc. Estos pueden tener
problemas de seguridad, que son utilizados por el intruso para ganar acceso a nuestra
computadora.

Normalmente, luego de finalizar la instalación de Linux, existen varios servicios de red

ejecutándose que no son necesarios, debemos saber que servicios son, deshabilitar todos aquellos
que no sean necesarios y configurar de forma segura los servicios que utilizaremos.

2.- El súper server o inetd.

Muchas veces necesitamos que una misma computadora brinde varios servicios de red,

por lo tanto deberíamos tener en el sistema varios daemons ejecutándose simultáneamente. Esto
nos podría producir una sobrecarga en nuestra computadora.

espera por varios servicios de red, cuando un cliente quiere utilizar un servicio, ejecuta el servidor
correspondiente y le da el control de la conexión, de esta manera solo tenemos un solo daemon
ejecutándose y reducimos la carga del sistema.

Para reducir la carga en el sistema, existe un "súper server" inetd, el cual se queda en

Los pasos que realiza el inetd son los siguientes:

- Al ejecutarse en el arranque de la PC o cuando lo reincidamos, lee su archivo de configuración,
/etc/inetd.conf , el cual le indica que servicios debe atender y que servidor ejecutar en caso de que
se produzca un intento de uso de dicho servicio.

- Queda en espera hasta que intenten conectarse.

- Cuando intentan utilizar un servicio, ejecuta el servidor correspondiente (indicado en el inetd.conf)
y le entrega el control de la conexión.

- Vuelve a su estado de espera.



3.- El inetd.conf.

El archivo de configuración del inetd (/etc/inetd.conf) esta compuesto por líneas, donde en cada
una se
indica el nombre del servicio que atenderá y su programa a ejecutar.
Las líneas que comienzan con un '#' son ignoradas (están comentadas).

Veamos brevemente cada campo de una linea de este archivo:

- Nombre del servicio, (ftp, telnet, etc)
- Tipo de socket. (stream, dgram, etc)
- Protocolo. (tcp, udp)
- wait/nowait
- usuario con el que se ejecutara el servicio. (root, nobody, etc)
- programa que brindara el servicio. (/usr/sbin/tcpd /usr/sbin/in.telnetd)

Ejemplo:
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

Importante: observar que el ultimo campo (programa que brindara el servicio) es siempre:
/usr/sbin/tcpd y el pat h del programa correspondiente al servicio, esto se explicara mas adelante.

Veamos un fragmento del archivo inetd.conf :
-----------------------------------------------------
#:STANDARD: These are standard services.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

#:BSD: Shell, login, exec and talk are BSD protocols.
shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd
login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind
exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd

#:INFO: Info services
finger stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.fingerd
ident stream tcp nowait nobody /usr/sbin/identd identd -i

#:BOOT: Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot
#bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
------------------------------------------------------------

Los servicios habilitados son: ftp, telnet, shell, login, exec, finger, ident.
Y los deshabilitados (comentados con un '#' en el inicio) son: tftp y bootps.
También se observan líneas de comentarios, como :
#:INFO: Info services

Se ve que hay demasiados servicios habilitados en el ejemplo anterior.




Veamos brevemente la función de algunos de los servicios que maneja el inetd:




Servicios internos.

echo:

Realiza un eco en la conexión, ósea todo lo que enviamos lo recibimos.

chargen: Generador de caracteres, nos envía constantemente caracteres.

discard: Descarta, ósea no hace nada con lo que recibe y tampoco envía nada.

daytime

Nos envía la fecha en formato legible por nosotros, por ejemplo: Wed Jun 14 10:32:20
2000.

time





ftp:

Nos envía la fecha en un formato ilegible para nosotros, pero si legible para otra
computadora, es el numero de segundos transcurridos desde el primero de enero de
1900.

Nota: los cinco servicios anteriores se denominan internos, porque son atendidos por el
mismo inetd, pueden ser todos desabilitados en la mayoría de los casos.

Servicios estandart.

Se utiliza para realizar a través de la red transferencias de archivos, con autentificacion
mediante usuario y contraseña.

telnet:

Se utiliza para obtener sesión remota, ósea una consola remota, con autentificacion
mediante usuario y contraseña.



Protocolos BSD.

shell:

login:

exec:

Provee ejecución remota de comandos, con autentificacion basada en puertos
privilegiados y hosts de confianza (trust).

Provee una sesión remota, con autentificacion basada en puertos privilegiados y hosts
de confianza.

Provee ejecución remota de comandos, con autentificacion basada en usuario y
contraseña.

talk:

Los dos siguientes se utilizan para conversar con otro usuario.

ntalk:





Servicios de información.

finger:

Server que provee información remota, retorna un reporte de estado del sistema o de un
usuario en particular.

ident:

Escucha en determinados ports TCP y retorna el usuario que realiza la conexión.





tftp

Ambos se utilizan normalmente como servidores de booteo, para PCs sin disco riguido.

bootps







Supongamos que queremos deshabilitar los siguientes servicios: shell, login, exec, finger y ident,
en el ejemplo anterior, el archivo inetd.conf nos quedara así:

------------------------------------------------------------
#:STANDARD: These are standard services.
ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.ftpd
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd

#:BSD: Shell, login, exec and talk are BSD protocols.
#shell stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rshd
#login stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rlogind
#exec stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.rexecd

#:MAIL: Mail, news and uucp services.

#:INFO: Info services
#finger stream tcp nowait nobody /usr/sbin/tcpd /usr/sbin/in.fingerd
#ident stream tcp nowait nobody /usr/sbin/identd identd -i

#:BOOT: Tftp service is provided primarily for booting. Most sites
# run this only on machines acting as "boot servers."
#tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /boot
#bootps dgram udp wait root /usr/sbin/bootpd bootpd -i -t 120
---------------------------------------------------------

ftp y telnet quedan habilitados para su uso.

Para que los cambios tengan efecto debemos reiniciar el inetd, para que vuelva a leer su
archivo de configuración. Esto lo podemos realizar de la siguiente manera:

1- Hallamos el PID del inetd, con el siguiente comando:

# ps aux | grep inetd
root 97 0.0 1.7 1292 536 ? S 10:54 0:00 inetd

El PID
2- luego reiniciamos el inetd con el siguiente comando (con el usuario root):

corresponde

columna,

segunda

en

este

ejemplo

es

97.

a

la

# kill -HUP 97

Los servicios que normalmente se utilizan son : telnet, ftp, smtp.
Servicios que es recomendable deshabilitarlos (comentarlos): shell, login, exec, finger, ident, tftp,
bootps.

Ya hemos deshabilitado los servicios que no vamos a utilizar, ahora debemos configurar de forma
segura los que utilizaremos

4.- El tcpd.

Aquí se entenderá porque el ultimo campo del archivo inetd.conf es siempre /usr/sbin/tcpd
seguido por el path del servidor.
La operación del inetd con el tcpd en conjunto, es la siguiente:

- Cuando inetd recibe un pedido por un servicio, en vez de ejecutar el programa servidor
correspondiente, ejecuta el tcpd y le pasa como parámetro el nombre del servidor correspondiente.

- El tcpd decide si permite el acceso o no al servicio, dependiendo de unas reglas de acceso y la
dirección del cliente que lo solicita. Dichas reglas se encuentran en los archivos hosts.allow y
hosts.deny en el directorio /etc.

- Si las reglas de acceso dicen que la computadora que solicito el servicio no tiene acceso a el,
rechaza la conexión. Si tiene acceso al servicio, el tcpd ejecuta el programa que brinda el servicio
corres pondiente y le entrega el control de la conexión.

- Por ultimo el programa servidor puede pedir usuario y contraseña para autentificar.

Se ve que el tcpd agrega un nivel mas de seguridad mediante reglas de acceso, es intermediario
entre el súper server (inetd) y el servidor correspondiente.

5.- hos
  • Links de descarga
http://lwp-l.com/pdf8217

Comentarios de: Configuración TCP-Wrapper (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad