TALLER BÁSICO UNIX (SENDMAIL) En la máquina del docente hay cuentas de usuario y correo creadas para todos los grupos de trabajo. Desde allí enviar correo con el comando mail a otras cuentas y comprobar su recepción también con el comando mail o pine. Configurar un cliente gráfico de correo para enviar correo y comprobar que envía exitosamente, entre usuarios de la máquina del docente. Configurando su máquina como servidor de correo, crear una cuenta y desde un cliente gráfico enviar correo a la cuenta hector en la máquina del docente.
POP3 En un ambiente clásico de trabajo, hay gran cantidad de usuarios que tienen un contrato con un ISP que está siempre conectado a la red y al llegar un mensaje de correo para un usuario de ese ISP el mail-server del ISP debe guardar el mensaje hasta que el usuario se conecte desde diferentes clientes de correo y lo solicite. Apareció el protocolo de oficina postal, POP, que actualmente se encuentra en su versión 3. Este protocolo complementa perfectamente con el SMTP, en la forma en que este último se encarga del envío de correo y su tránsito por la INTERNET hasta el mail-server destino y el POP se encarga de el transporte de los mensajes almacenados en el servidor a usuarios que esporádicamente se conecta a él .
TALLER CONFIGURACION SERVIDOR CORREO 3.5.5. TALLER SERVICIO DE CORREO Configurar un servicio de correo con algunas consideraciones de seguridad. Es decir, la comunicación entre el cliente y el servidor debe ser encriptada ( primero mostrar la forma normal para evidenciar la transparencia de la comunicación y luego encriptarlo y volver a mostrar) y solo se deben permitir salir correos por el servidor de los equipos clientes de cada fila de trabajo. Se deben crear algunas cuentas de correo con el nombre de los intregrantes de los grupos y enviar y recibir correos entre los diferentes servidores dentro de una misma fila. Osea en cada servidor se deben crear cuentas para todos los usuarios clientes de esa fila y todos deben actuar como clientes y servidores alguna vez. Las direcciones de correo deben llevar el nombre de la máquina, pues no hay una máquina predestinada a recibir correo de todo el dominio.
NFS (Network File System) NFS es un servicio de red que permite a los usuarios accesar los sistemas de archivos y directorios de otros equipos en la red. Los Hosts pueden ser de diferente marca y sistema operacional. Estas diferencias son transparentes para los usuarios.
Se debe tener en cuenta los siguientes conceptos:
Servidor: El hosts que permite el acceso a sus sistemas de archivos o directorios locales (este debe exportar sus recursos).
Cliente : El hosts que solicita el acceso a sistemas de archivos o directorios de otras máquinas (este debe montar los recursos exportados por otras máquinas).
NFS (Network File System) Configuración Manual : Servidor : Editar /etc/exports Correr comando exportfs Cliente: Comando mount Opcionalmente editar /etc/fstab
NFS (Network File System) Por interfaz gráfica (cliente, archivo /etc/fstab) # cat fstab LABEL=/ / ext3 defaults 1 1 none /dev/pts devpts gid=5,mode=620 0 0 none /proc proc defaults 0 0 none /dev/shm tmpfs defaults 0 0 /dev/hda3 swap swap defaults 0 0 /dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0 /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0 /dev/hda1 /win msdos exec,dev,suid,rw 1 1 hector.edu.co:/usr/local /prestado nfs noexec,dev,suid,rw 1 1
NFS (Network File System) 3.6.3. TALLER DE SERVICIO NFS Configurar el servicio de NFS de los equipos de la sala, para exportar el directorio /var/log , pero solo pueden tener acceso a este , los equipos de la misma fila de su equipo. De igual forma comprobar que pueden acceder el directorio que su vecino exporto ( var/log) y montarlo sobre el directorio /prestado, previamente creado.
PROXY Configuración manual de squid ( segmento de archivo /etc/squid/squid.conf) ………. ………. acl red src "/etc/squid/lista-ip-validas" acl negados url_regex "/etc/squid/sitios-negados" #acl red src 192.168.1.0/255.255.255.0 # TAG: http_access # Allowing or Denying access based on defined access lists # # Access to the HTTP port: # http_access allow|deny [!]aclname … # # NOTE on default values: # # If there are no "access" lines present, the default is to deny # the request.
PROXY Configuración manual de squid ( segmento de archivo /etc/squid/squid.conf) ………. # If none of the "access" lines cause a match, the default is the # opposite of the last line in the list. If the last line was # deny, then the default is allow. Conversely, if the last line # is allow, the default will be deny. For these reasons, it is a # good idea to have an "deny all" or "allow all" entry at the end # of your access lists to avoid potential confusion. # #Default: # http_access deny all http_access deny negados http_access allow localhost http_access allow red http_access deny all #
PROXY Personalizando los mensajes de error [root@www squid]# cd errors [root@www errors]# ls ERR_ACCESS_DENIED ERR_FTP_NOT_FOUND ERR_READ_ERROR ERR_FTP_PUT_CREATED ERR_READ_TIMEOUT ERR_CACHE_ACCESS_DENIED ERR_FTP_PUT_ERROR ERR_SHUTTING_DOWN ERR_CACHE_MGR_ACCESS_DENIED ERR_FTP_PUT_MODIFIED ERR_SOCKET_FAILURE ERR_CANNOT_FORWARD ERR_FTP_UNAVAILABLE ERR_TOO_BIG ERR_CONNECT_FAIL ERR_INVALID_REQ ERR_UNSUP_REQ ERR_DNS_FAIL ERR_INVALID_URL ERR_URN_RESOLVE ERR_FORWARDING_DENIED ERR_LIFETIME_EXP ERR_WRITE_ERROR ERR_FTP_DISABLED ERR_NO_RELAY ERR_ZERO_SIZE_OBJECT ERR_FTP_FAILURE ERR_ONLY_IF_CACHED_MISS generic ERR_FTP_FORBIDDEN errors README
PROXY Configuración proxy transparente En condiciones normales , a todos los clientes se les debe especificar en el navegador quien es el servidor proxy ( se debe dar la dirección IP o nombre de la máquina proxy y el puerto por el cual escucha las peticiones). Si una red tiene demasiados clientes este trabajo puede ser dispendioso. Se puede hacer una configuración especial para implementear un proxy , sin que los usuarios deban enterarse de que en la red hay este servicio de proxy. Se deseará simular que cada paquete que pase por su máquina Linux esté destinado a un programa en la propia máquina. Esto se utiliza para hacer proxies transparentes: un proxy es un programa que filtrando las comunicaciones entre la red y el mundo real , permite control de accesos a internet, caché, control de sitios visitados, etc. . La parte transparente se debe a que su red nunca tendrá por qué enterarse de que está comunicándose con un proxy, a menos, claro, que el proxy no funcione. Se requiere el uso de IPTABLES
PROXY Configuración proxy transparente Que es IPTABLES ? Iptables, se usa para configurar, mantener e inspeccionar las reglas de cortafuegos IP del núcleo Linux. Es un descendiente directo de ipchains (que vino de ipfwadm, que vino del ipfw IIRC de BSD), con extensibilidad. Los módulos del kernel pueden registrar una tabla nueva, e indicarle a un paquete que atraviese una tabla dada. Este método de selección de paquetes se utiliza para el filtrado de paquetes, para la Traducción de Direcciones de Red (NAT) y para la manipulación general de paquetes antes del enrutamiento. Una de las ventajas de iptables sobre ipchains es que es pequeño y rápido. # Envía el tráfico que llega a la máquina que filtra el tráfico ( o firewall) y que va dirigido al puerto 80 (web) a nuestro proxy squid instalado en el mismo servidor (transparente) iptables -t nat -A PREROUTING -i eth1 -p tcp –dport 80 -j REDIRECT –to-port 3128
PROXY TALLER DE CONFIGURACIÓN DE PROXY BASICO Configurar cada máquina como proxy que permita solo la salida a los PCs de la misma fila de trabajo ( los equipos permitidos se incluirán en un archivo llamado clientes-permitidos). Se debe restringir la salida a sitios como hotmail, yahoo, playboy ( estos sitios se deben incluir en un archivo llamado prohibidos)y se debe personalizar el mensaje que muestra al usuario final cuando trate de salir a uno de estos sitios prohibidos. Se debe activar el log de acceso para poder monitorer lo que hace la gente en internet ( todas las salidas o peticiones que se hacen al proxy) y comprobar que las peticiones que se le hacen al proxy quedan registradas.
SSH (Secure Shell ) Cuando se realiza una conexión a un servidor remoto usando por ejemplo el comando telnet o ftp, el login(usuario) y password(contraseña) son transmitidos en la red de forma clara, lo cual representa un gran riesgo si llega a existir sobre la red un programa que capture la información, basándose en el modo promiscuo de las redes ethernet (comúnmente llamado sniffer), ocasionado obtener tanto el login como el password y pudiendo posteriormente irrumpir en el servidor con esta información.
SSH (Secure Shell ) Secure Shell y OpenSSH permiten realizar la comunicación y transferencia de información de forma cifrada proporcionando fuerte autenticación sobre el medio inseguro.
FTP FTP (File Transfer Protocol) File Transfer protocol. Permite a los usuarios accesar y transmitir archivos en servidores localizados sobre internet. Estos servidores se pueden acceder a través de un browser (ejm: ftp://ftp.microsoft.com) o por línea de comandos (ejm: ftp ftp.microsoft.com) . En el primer caso toda la interación se hace con el mouse y de esta forma se puede hacer el download de archivos. En el segundo caso es necesario conocer la sintaxis de los comandos FTP. Cuando un usuario entra a un servidor FTP con una cuenta normal, puede desplazarse por todo el árbol de unix donde tenga permisos de lectura ( la mayoría) y pone en riesgo la confidencialidad de la información del sistema. Es aconsejable no habilitar este servicio cuando la máquina esta conectada a internet y en caso de ser vital, mejor e configura el servicio ftp anonymous.
FTP FTP ANONYMOUS La configuración se puede realizar desde el interfaz linuxconf o , desde webmin, para tres tipos de cuentas : Anónimo ( Anonymous) : que es la más usual en internet, donde un usuario con ese nombre llega a un servidor y puede entrar con cualquier password, pero cae en un directorio público, de donde generalmente sólo puede leer los archivos que están permitidos. Invitado : Usuario guest, con un password. Real : Usuario con un login que debe existir en el sistema y un password.
FTP 3.10.1. TALLER FTP Habilitar el servicio FTP en las máquinas linux. Entrar con un usuario normal y ver que pueden hacer. Tratar de recorrer el árbol de diretorios linux y llevarse archivos del sistema. Hacerlo desde línea de comandos, y desde interfaz gráfico. Configurar el usuario anonymous , definiendo en /var/ftp la raíz ficticia. Crear si no la tiene una estructura similar a unix allí. En una carpeta llamada publico colocar los archivos que se desean publicar. No dar permisos de que escriban allí , ni borren. Pedir que el usuario anonymous debe digitar algo que contenga una @ ( por ejemplo [email protected]) Configurar el servidor para que solo permita el acceso a ftp con la cuenta anonymous. No permitir ningún usuario diferente así este creado en la máquina.
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR USO DEL TCPWRAPPER TCP Wrappers permite controlar y proteger los servicios de red, limitando el acceso como sea posible, y registrado todos las conexiones para hacer el trabajo de detectar y resolver problemas de forma más fácil. TCP Wrappers es una herramienta simple que sirve para monitorear y controlar el tráfico que llega por la red. Esta herramienta ha sido utilizada exitosamente en la protección de sistemas y la detección de actividades ilícitas. Fue desarrollada por Wietze Zweitze Venema y esta basada en el concepto de Wrapper; es una herramienta de seguridad libre y muy útil. Un Wrapper es un programa para controlar el acceso a un segundo programa. El Wrapper literalmente cubre la identidad del segundo programa, obteniendo con esto un más alto nivel de seguridad.
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR USO DEL TCPWRAPPER Debo configurar 2 archivos, donde especifico quien accederá a los servicios de mi servidor tcpwrapper, estos archivos son: /etc/hosts.allow y /etc/hosts.deny. La sintaxis de estos archivos es muy simple: servicio: host: acción
servicio: es el nombre del servicio , que generalmente esta dentro de los archivos respectivos del directorio xinet.d, por ejemplo son servicios el in.telnetd,in.fingerd. Si queremos referirnos a todos los puertos bastará con poner ALL, también podemos poner una lista de servicios separados por espacios en blanco.
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR USO DEL TCPWRAPPER
host: es una o mas direcciones de red separadas por espacios en blanco, esta direccion se contrasta con la del sistema que nos hace la petición de conexión. La dirección puede ser del tipo IP numerica, IP/mask, rango de IP (por ejemplo 195.116.), dominio (como por ejemplo sts.com), grupo de dominios (como por ejemplo .com). acción: puede tener 4 valores, accept (acepta la conexion si se cumplen las condiciones impuestas por servivio/host), deny (rechaza la conexion, spawn (acepta la conexion y realiza el comando bash que se le pasa como parametro) y twist (rechaza la conexion y realiza el comando bash).
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR USO DEL TCPWRAPPER Ejemplo : ·Archivo /etc/hosts.allow Se le dieron todos los servicios a las máquinas que aparecen en esta pantalla
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR USO DEL TCPWRAPPER Ejemplo : /etc/hosts.deny # Niega todos los servicios a todos las máquinas excepto a una en # específico: 192.1.1.221 AALL:ALL EXCEPT 192.1.1.221
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR Ejemplo 4:Cerrado para todos excepto para las conexiones locales ( que se emitan desde la misma máquina: #/etc/hosts.allowALL:127.0.0.1ALL: ALL: deny Ejemplo 5.Conexion local total, red local acceso por telnet y ftp, resto cerrado: #/etc/hosts.allowALL:127.0.0.1 in.telnetd in.ftpd: LOCAL ALL: ALL: deny
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR Ejemplo 6. Sistema cerrado con informe de accesos: /etc/hosts.allowALL: ALL: twist ( /usr/bin/echo -e "Intruso %a en puerto %d" )
Ejemplo 7: Sistema abierto a la red local con reporte y cerrado al exterior con reporte:#/etc/hosts.allowALL: LOCAL: spawn ( echo -e "Acceso autorizado de %a por %d" ) &ALL: ALL: twist ( /bin/echo -e "INTRUSO! %a, usando puerto %d" ) &
4. PROTECCIÓN DE LOS SERVICIOS DE INTERNET Y EL SERVIDOR 4.2. TALLER CON TCPWRAPPERS Se desean permitir algunos servicios e implementar un mecanismo de detección de intrusos en cada máquina Linux de los estudiantes. Cada máquina de los grupos de trabajo , deben permitir hacer telnet desde las máquinas de la misma fila exclusivamente ( desde ninguna otra máquina de la sala , ni de internet), pero se desea llevar un rastro de que máquinas han usado este servicio ( el rastro debe quedar en un archivo llamado “/etc/rastrotelnet”). Todos los demás servicios manejados por el xinetd no deben ser permitidos , y se desea dejar rastro de los intentos de las otras máquinas de utilizarlos en un archivo llamado “/etc/intrusos”).
Página anterior | Volver al principio del trabajo | Página siguiente |