Redes en Linux - Información genérica sobre la configuración de redes

9 - Información genérica sobre la configuración de redes

Tutorial creado por Joshua Drake. Extraido de: http://www.insflug.org/COMOs/Redes-En-Linux-Como/Redes-En-Linux-Como.html
22 de Diciembre de 2006

5.9 Otros ficheros de configuración relacionados con la red

Hay varios ficheros misceláneos relacionados con la configuración de la red en Linux por los que podría estar interesado. Nunca debería tener que modificar estos ficheros, pero merece la pena describirlos para que sepa lo que contienen y para qué son.

/etc/protocols

El fichero /etc/protocols es una base de datos que correlaciona números de identificación de protocolos con sus nombres. Esto lo usan los programadores para especificar protocolos por su nombre en sus programas y también por programas como tcpdump para mostrar nombres en lugar de números en su salida. En general la sintaxis del fichero es:

nombredelprotocolo  número  sobrenombres

El fichero /etc/protocols proporcionado con la distribución Debian http://www.debian.org es como sigue:

# /etc/protocols:
# $Id: protocols,v 1.1 1995/02/24 01:09:41 imurdock Exp $
#
# Internet (IP) protocols
#
#       from: @(#)protocols     5.1 (Berkeley) 4/17/89
#
# Updated for NetBSD based on RFC 1340, Assigned Numbers (July 1992).

ip      0       IP              # internet protocol, pseudo protocol number
icmp    1       ICMP            # internet control message protocol
igmp    2       IGMP            # Internet Group Management
ggp     3       GGP             # gateway-gateway protocol
ipencap 4       IP-ENCAP        # IP encapsulated in IP (officially «IP»)
st      5       ST              # ST datagram mode
tcp     6       TCP             # transmission control protocol
egp     8       EGP             # exterior gateway protocol
pup     12      PUP             # PARC universal packet protocol
udp     17      UDP             # user datagram protocol
hmp     20      HMP             # host monitoring protocol
xns-idp 22      XNS-IDP         # Xerox NS IDP
rdp     27      RDP             # "reliable datagram" protocol
iso-tp4 29      ISO-TP4         # ISO Transport Protocol class 4
xtp     36      XTP             # Xpress Tranfer Protocol
ddp     37      DDP             # Datagram Delivery Protocol
idpr-cmtp       39      IDPR-CMTP       # IDPR Control Message Transport
rspf    73      RSPF            # Radio Shortest Path First.
vmtp    81      VMTP            # Versatile Message Transport
ospf    89      OSPFIGP         # Open Shortest Path First IGP
ipip    94      IPIP            # Yet Another IP encapsulation
encap   98      ENCAP           # Yet Another IP encapsulation

/etc/networks

El fichero /etc/networks tiene una función similar a la del fichero /etc/hosts. Proporciona una base de datos sencilla de nombres de red y direcciones de red. Su formato difiere en que sólo puede haber dos campos por línea y los campos están codificados así:

nombredelared direccióndered

Un ejemplo podría ser:

loopnet    127.0.0.0
localnet   192.168.0.0
amprnet    44.0.0.0

Cuando use órdenes como route, si un destino es una red y la red tiene una entrada en el fichero /etc/networks entonces route mostrará el nombre de la red en lugar de su dirección.

5.10 Seguridad en la red y control de acceso.

Déjeme empezar esta sección advirtiendo que la seguridad de su máquina y red ante ataques maliciosos es un arte complejo. No me considero un experto en este campo y aunque los mecanismos que voy a describir puedan ayudar, si quiere tomarse en serio la seguridad entonces le recomiendo que investigue un poco en el tema. Hay algunas buenas referencias en Internet relacionadas con la seguridad, incluido el Security HOWTO (Dispone de una traducción en http://www.insflug.org/documentos/Seguridad-Como/.

Una regla general importante es: No ejecute servicios que no tenga intención de usar'. Muchas distribuciones vienen configuradas con todo tipo de servicios que se inician automáticamente. Para asegurar un nivel mínimo de seguridad debería examinar el fichero /etc/inetd.conf y comentar (poner un # al inicio de la línea) de toda declaración de servicio que no vaya a usar. Buenos candidatos son: shell, exec, uucp, ftp y servicios de información como finger, netstat y systat.

Hay todo tipo de mecanismos de seguridad y control de acceso, describiré los más elementales.

/etc/ftpusers

El fichero /etc/ftpusers es un mecanismo sencillo que le permite denegar la entrada a ciertos usuarios mediante FTP. El fichero /etc/ftpusers lo lee el programa demonio de FTP (ftpd) cuando se recibe una conexión FTP. El fichero es una simple lista de aquellos usuarios que no tienen permitido el acceso. Puede parecerse a esto:

# /etc/ftpusers - users not allowed to login via ftp
root
uucp
bin
mail

/etc/securetty

El fichero /etc/securetty permite especificar qué dispositivos tty puede usar root para identificarse en el sistema. El fichero /etc/securetty es leído por el programa de acceso (normalmente /etc/login). Su formato es una lista de los nombres de dispositivos tty permitidos, en todos los demás root tiene prohibida la entrada:

# /etc/securetty - tty's on which root is allowed to login
tty1
tty2
tty3
tty4

El mecanismo de control de acceso hosts de tcpd

El programa tcpd que ha visto listado en el fichero /etc/inetd.conf proporciona mecanismos de control de registro y acceso a los servicios que haya de proteger.

Cuando es invocado por el programa inetd lee dos ficheros que contienen reglas de acceso y que permiten o deniegan acceso al servidor que está protegiendo.

Mirará en los ficheros de reglas hasta que encuentre la primera correspondencia. Si no se encuentran correspondencias asume que el acceso debería estar permitido para todo el mundo. La secuencia de archivos que revisa es: /etc/hosts.allow, /etc/hosts.deny. Describiré cada uno de estos en seguida. Para una descripción completa de este servicio debería referirse a las páginas del manual apropiadas (hosts_access (5) es un buen punto de partida).

/etc/hosts.allow

El /etc/hosts.allow es un fichero de configuración del programa /usr/sbin/tcpd. El fichero hosts.allow contiene reglas que describen qué máquinas tienen permiso para acceder a un servicio en la suya.

El formato del fichero es bastante sencillo:

# /etc/hosts.allow
#
# <lista de servicios>: <lista de hosts> [: orden]

lista de servicios

es una lista delimitada por comas de nombres de servidores a los que se aplica esta regla. Ejemplos de nombre de servicio son: ftpd, telnetd y fingerd.

lista de hosts

es una lista de nombres de máquinas, delimitada por comas. Aquí también puede usar direcciones IP. De forma adicional, puede especificar nombres de máquinas o direcciones usando caracteres comodín para corresponder con grupos de máquinas. Por ejemplo: gw.vk2ktj.ampr.org para una máquina específica, .uts.edu.au para cualquier nombre de máquina que acabe en esa cadena, 44. para cualquier dirección IP que comience con esos dígitos. Hay algunas palabras especiales para simplificar la configuración, algunas de las cuales son:

  • ALL, que se corresponde con cualquier host.
  • LOCAL se corresponde con cualquier nombre de host que no contenga un . o sea que esté en el mismo dominio que su máquina;
  • PARANOID se corresponde con cualquier nombre que no se corresponda con esta dirección (name spoofing). Hay una última palabra que también es útil. La palabra
  • EXCEPT permite proporcionar una lista con excepciones. Esto lo cubriremos en un capítulo posterior.

orden

es un parámetro opcional. Este parámetro es el camino completo hasta una orden que debería ser ejecutada cada vez que se cumpla esta regla. Podría por ejemplo ejecutar una instrucción que intentase identificar quién está autenticado en el host que conecta, o generar un mensaje de correo u otro tipo de alerta a un administrador de sistema avisando de que alguien intenta conectar. Hay cierto número de expansiones que podríamos incluir, algunos ejemplos comunes son: %h se expande al nombre de la máquina que se conecta o a su dirección si no tiene un nombre, %d es el demonio que está siendo llamado.

Un ejemplo:

# /etc/hosts.allow
#
# Permitir correo a todo el mundo
in.smtpd: ALL
# Todo telnet y FTP sólo a hosts dentro de mi dominio y el host que tengo
# en caso
telnetd, ftpd: LOCAL, myhost.athome.org.au
# Permitir finger a cualquiera pero mantener un registro de quién es.
fingerd: ALL: (finger @%h | mail -s "finger desde %h" root)

/etc/hosts.deny

El fichero /etc/hosts.deny es un fichero de configuración del programa /usr/sbin/tcpd. El fichero hosts.deny contiene reglas que describen qué máquinas tienen prohibido el acceso a un servicio en su máquina.

Un ejemplo simple podría parecerse a esto:

# /etc/hosts.deny
#
# Desautorizar a todos los host con nombre sospechoso
ALL: PARANOID
#
# Desautorizar a todos los host.
ALL: ALL

La entrada PARANOID es redundante porque la otra entrada abarca todo en cualquier caso. Ambas entradas serían razonables por defecto dependiendo de sus requisitos particulares.

La configuración más segura es tener ALL: ALL por defecto en /etc/hosts.deny para después dar permiso específicamente a aquellos servicios y hosts que se desee en /etc/hosts.allow.

/etc/hosts.equiv

El fichero hosts.equiv se usa para garantizar a ciertos hosts y usuarios derechos de acceso a cuentas en su máquina sin que tenga que proporcionar una clave. Esto es útil en un entorno seguro donde controle todas las máquinas, pero en otro caso es un peligro para la seguridad. Su máquina es sólo tan segura como la menos segura de aquellas en las que confíe. Para maximizar la seguridad, no use este mecanismo, y anime a sus usuarios para que tampoco usen ficheros .rhost.

Configure su demonio de ftp adecuadamente.

Muchos servidores estarán interesados en ejecutar un demonio de FTP anónimo para permitir a otras personas que subir y descargar ficheros sin necesidad de un userid específico. Si decide ofrecer este servicio asegúrese de que configura el demonio de ftp apropiadamente para acceso anónimo. La mayoría de las páginas de ftpd(8) describen cómo hacerlo. Debería asegurarse siempre de que sigue estas instrucciones. Una cosa importante es no usar una copia de su fichero /etc/passwd habitual en el directorio /etc de la cuenta anónima; asegúrese de que elimina todos los detalles sobre las cuentas excepto aquellos que deba tener, ya que en otro caso será vulnerable a las técnicas de adquisición de claves por fuerza bruta.

Cortafuegos para redes.

Un excelente medio de seguridad es no permitir que los datagramas lleguen siquiera a su máquina o servidores. Esto lo cubre en profundidad el http://www.insflug.org/documentos/Cortafuegos-Como/ y, más concisamente, la última sección de este documento.

Otras sugerencias.

Hay otras sugerencias, que debería considerar, pero que realmente son cuestión de cada uno.

sendmail

a pesar de su popularidad, el demonio sendmail aparece con preocupante regularidad en los anuncios de alerta de seguridad. Usted decides, pero yo elijo no ejecutarlo.

NFS y otros servicios Sun RPC

tenga cuidado con estos. Hay todo tipo de posibles formas de explotar estos servicios. Es difícil de encontrar una opción a los servicios NFS, y si decide usarlos, asegúrese de que es cuidadoso con los permisos que da al configurarlo.

7 opiniones

como le hago para compartir carpeta de linux mint a linux mint

porfavor respondan mi examen es mañana y tengo que hacerlo
Miguel

Cosa fina
instalacion

informacion
Felicitaciones.

El curso esta super bueno e interesante; lo recomiendo; aunque falta algo con dhcp.
Manual.

Bastante amplio me parecen buenos todos los temas.
1 2 | siguiente >

Tutoriales relacionados con 'Redes en Linux'

Este Cómo es la base para entender la evolución de las capacidades de Linux para... Más »
A lo largo de este trabajo se va a intentar hacer un repaso de los... Más »
En este documento se presenta la información acerca de la instalación, configuración, ejecución y mantenimiento... Más »
Esta es la primerísima edición del Linux en Castellano COMO. La audiencia a la que... Más »
Esta guía no es un documento general de seguridad. Esta guía está específicamente orientada a... Más »

Autor y licencia de 'Redes en Linux'

The NET-3-HOWTO, information on how to install and configure networking support for Linux. Copyright (c) 1997 Terry Dawson, 1998 Alessandro Rubini, 1999 {POET} - LinuxPorts. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
Este contenido ha sido recopilado por el equipo de Wikilearning. Todo el contenido recopilado se ha obtenido respetando y comunicando en nuestro site la licencia de cada fuente.
Wikilearning tiene permiso expreso por escrito de los autores para publicar los contenidos que ha extraído de otras webs, incluyendo su uso comercial.