11
Instituto Nacional de Capacitación y Educación Socialista INCES Anzoátegui Manual de Instalación y Configuración de Servidor Linux NAT +Proxy+Firewall+DHCP con Debian Lenny Debian (GNU/Linux) Debian o Proyecto Debian[1] (en inglés Debian Project[2] ) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software libre precompilado y empaquetado, en un formato sencillo en múltiples arquitecturas de computador y en varios núcleos. Debian nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposición de cualquiera en Internet, aunque sí permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia. La comunidad de desarrolladores de Debian cuenta con la representación de Software in the Public Interest,[3] una organización sin ánimo de lucro que da cobertura legal a varios proyectos de software libre. La primera adaptación del sistema Debian, siendo también la más desarrollada, es Debian GNU/Linux, basada en el núcleo Linux, y como siempre utilizando herramientas de GNU. Existen también otras adaptaciones con diversos núcleos: Hurd (Debian GNU/Hurd); NetBSD (Debian GNU/NetBSD) y FreeBSD (Debian GNU/kFreeBSD). Primeros Pasos Nota Importante: eth0: Interfaz WAN (Dispositivo agregado al PC) Este va conectado con un crossover al Gateway Satelital. eth1: Interfaz LAN (Dispositivo integrado al PC) Este va conectado con un Patch Cord al Switch. 1.- Configurar el setup para que el boot primario sea el CD-Rom 2.- Insertar el CD-Rom de Debian Lenny 5.0 3.- Método de instalación: installgui (Instalación modo gráfico) y comenzamos la instalación 3.1.- Seleccionamos lenguaje: Spanish (Español) 3.2.- Seleccionamos localidad: Venezuela 3.3.- Distribución del teclado: Latino Americano 4.- Configurando la Red: <eth0:Interfaz agregada>(Seleccionar) <eth1:Interfaz integrada> 4.1.- Configurar la red manualmente: Dirección ip: 66.178.xx.xx Mascara de red: 255.255.255.248 Pasarela: 66.178.xx.xx Dns: 64.212.106.84 200.44.32.12 Elaborado por: TSU Ronal Vegas División de Informática

Instalación del Servidor NAT.pdf

Embed Size (px)

Citation preview

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    Manual de Instalacin y Configuracin de Servidor Linux NAT +Proxy+Firewall+DHCP con Debian Lenny

    Debian (GNU/Linux)

    Debian o Proyecto Debian[1] (en ingls Debian Project[2] ) es una comunidad conformada por desarrolladores y usuarios, que mantiene un sistema operativo GNU basado en software libre precompilado y empaquetado, en un formato sencillo en mltiples arquitecturas de computador y en varios ncleos.

    Debian nace como una apuesta por separar en sus versiones el software libre del software no libre. El modelo de desarrollo del proyecto es ajeno a motivos empresariales o comerciales, siendo llevado adelante por los propios usuarios, aunque cuenta con el apoyo de varias empresas en forma de infraestructuras. Debian no vende directamente su software, lo pone a disposicin de cualquiera en Internet, aunque s permite a personas o empresas distribuir comercialmente este software mientras se respete su licencia.

    La comunidad de desarrolladores de Debian cuenta con la representacin de Software in the Public Interest,[3] una organizacin sin nimo de lucro que da cobertura legal a varios proyectos de software libre.

    La primera adaptacin del sistema Debian, siendo tambin la ms desarrollada, es Debian GNU/Linux, basada en el ncleo Linux, y como siempre utilizando herramientas de GNU. Existen tambin otras adaptaciones con diversos ncleos: Hurd (Debian GNU/Hurd); NetBSD (Debian GNU/NetBSD) y FreeBSD (Debian GNU/kFreeBSD).

    Primeros Pasos

    Nota Importante:eth0: Interfaz WAN (Dispositivo agregado al PC) Este va conectado con un crossover al Gateway Satelital.eth1: Interfaz LAN (Dispositivo integrado al PC) Este va conectado con un Patch Cord al Switch.

    1.- Configurar el setup para que el boot primario sea el CD-Rom2.- Insertar el CD-Rom de Debian Lenny 5.03.- Mtodo de instalacin: installgui (Instalacin modo grfico) y comenzamos la instalacin

    3.1.- Seleccionamos lenguaje: Spanish (Espaol)3.2.- Seleccionamos localidad: Venezuela3.3.- Distribucin del teclado: Latino Americano

    4.- Configurando la Red:(Seleccionar)

    4.1.- Configurar la red manualmente:

    Direccin ip: 66.178.xx.xxMascara de red: 255.255.255.248Pasarela: 66.178.xx.xxDns: 64.212.106.84 200.44.32.12

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    5.- Nombre de la maquina: El correspondiente al equipo6.- Nombre del dominio: inces.int7.- Particionado de Disco:

    7.1.- Seleccionar: Guiado - Todo el disco - Continuar7.2.- Esquema de particionado: Todos los ficheros en una particin7.3.- Escribir cambios de disco: Si y continuar

    8.- Clave del SuperUsuario: Ingresar clave de Root9.- Nombre completo para el nuevo usuario: Administrator10.- Nombre de la cuenta: administrator11.- Contrasea para el nuevo usuario: Ingresar clave de Administrator12.- Utilizar una replica en Red: Si13.- Pas de replica: Espaa - ftp.es.debian.org14.- Seleccin de programas: Desmarcar 15.- Instalamos el cargador de arranque GRUB16.- Finalizamos la instalacin, expulsamos el CD-Rom y reiniciamos el equipo.17.- Iniciamos como SuperUsuario (root)18.- Modificamos el fichero sources.list y comentamos el deb del cd-rom

    18.1.- ~#nano /etc/apt/sources.list -- Guardamos y salimos19.- ~#aptitude update 20.- ~#aptitude upgrade21.- ~#aptitude dist-upgrade22.- Reiniciamos el equipo:

    ~#reboot

    Instalacin del servidor SSH

    Como root:

    .-Instalamos el paquete OpenSsh-server~#aptitude install openssh-server

    Configuracin de las Interfaces

    Como root:

    .-Editamos:~#nano /etc/network/interfaces

    # The loopback network interfaceauto lo eth0 eth1iface lo inet loopback

    # Interfaz WANiface eth0 inet static

    address 66.178.xx.xxnetmask 255.255.255.248network 66.178.xx.xxbroadcast 66.178.xx.xxgateway 66.178.xx.xx

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    # dns-* options are implemented by the resolvconf package, if installeddns-nameservers xx.xx.xx.xx xx.xx.xx.xxdns-search inces.int

    # Interfaz LANiface eth1 inet static

    address 192.168.xx.xxnetmask 255.255.255.0

    Para el caso de ABA con Direccin IP Dinmica:

    # The loopback network interfaceauto lo eth0 eth1iface lo inet loopback

    # Interfaz WANiface eth0 inet dhcp

    # Interfaz LANiface eth1 inet static

    address 192.168.xx.xxnetmask 255.255.255.0

    .- Reiniciamos el demonio: ~#/etc/init.d/networking restart

    Instalacin del Servidor DHCP

    DHCP (sigla en ingls de Dynamic Host Configuration Protocol - Protocolo Configuracin Dinmica de Anfitrin) es un protocolo de red que permite a los nodos de una red IP obtener sus parmetros de configuracin automticamente. Se trata de un protocolo de tipo cliente/servidor en el que generalmente un servidor posee una lista de direcciones IP dinmicas y las va asignando a los clientes conforme stas van estando libres, sabiendo en todo momento quin ha estado en posesin de esa IP, cunto tiempo la ha tenido y a quin se la ha asignado despus.

    Como root:

    .-Instalamos el paquete~#aptitude install dhcp3-server

    Y editamos el fichero de configuracin: ~#nano /etc/dhcp3/dhcpd.conf

    authoritative;max-lease-time 604800;default-lease-time 604800;

    subnet 192.168.xx.0 netmask 255.255.255.0 {option domain-name-servers 192.168.xx.xx;

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    option domain-name "inces.int";option netbios-name-servers 192.168.xx.xx;option netbios-node-type 8;

    #####################################################################option broadcast-address 192.168.xx.255;option routers 192.168.xx.xx;

    range 192.168.xx.xx 192.168.xx.xx;}

    .- Reiniciamos el demonio~#/etc/init.d/dhcp3-server restart

    Verificar los DNS para conexin a Internet

    Ubicamos el fichero resolv.conf ubicado en /etc/resolv.conf

    search inces.intdomain inces.intnameserver xx.xx.xx.xxnameserver xx.xx.xx.xx

    Nota: Estas Direcciones IP de DNS debern cambiar segn su conexin.

    Configuracin del Firewall

    Un cortafuegos (o firewall en ingls) es un elemento de hardware o software que se utiliza en una red de computadoras para controlar las comunicaciones, permitindolas o prohibindolas segn las polticas de red que haya definido la organizacin responsable de la red. Su modo de funcionar es indicado por la recomendacin RFC 2979, que define las caractersticas de comportamiento y requerimientos de interoperabilidad. La ubicacin habitual de un cortafuegos es el punto de conexin de la red interna de la organizacin con la red exterior, que normalmente es Internet; de este modo se protege la red interna de intentos de acceso no autorizados desde Internet, que puedan aprovechar vulnerabilidades de los sistemas de la red interna.

    Un firewal es simplemente un filtro que controla todas las comunicaciones que pasan de una red a la otra y en funcin de lo que sean permite o deniega su paso.

    Tambin es frecuente conectar al cortafuegos a una tercera red, llamada zona desmilitarizada o DMZ, en la que se ubican los servidores de la organizacin que deben permanecer accesibles desde la red exterior.

    Un cortafuego correctamente configurado aade proteccin a una instalacin informtica, pero en ningn caso debe considerarse suficiente. La seguridad informtica abarca ms mbitos y ms niveles de trabajo y proteccin.

    Como root:

    .-Implementamos un fichero en el arranque del kernel:

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    ~#touch /etc/init.d/firewall.sh -- este fichero contendr el siguiente script:

    #Script de iptables#!/bin/bash

    #Flush de Reglas/sbin/iptables -F/sbin/iptables -X/sbin/iptables -Z/sbin/iptables -t nat -F

    #Politicas por Defecto/sbin/iptables -P INPUT ACCEPT/sbin/iptables -P OUTPUT ACCEPT/sbin/iptables -P FORWARD ACCEPT/sbin/iptables -t nat -P PREROUTING ACCEPT/sbin/iptables -t nat -P POSTROUTING ACCEPT

    echo 1 > /proc/sys/net/ipv4/ip_forward

    /sbin/iptables -A INPUT -i lo -j ACCEPT/sbin/iptables -A INPUT -s 192.168.xx.0/24 -i eth1 -j ACCEPT/sbin/iptables -t nat -A POSTROUTING -s 192.168.xx.0/24 -o eth0 -j MASQUERADE

    /sbin/iptables -A INPUT -d

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    Configuracin del Proxy Squid (Autenticacin de Usuarios)

    Squid es un popular programa de software libre que implementa un servidor Proxy y un demonio para cach de pginas Web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor Web, guardando en cach peticiones repetidas a DNS y otras bsquedas para un grupo de gente que comparte recursos de la red, hasta cach de Web, adems de aadir seguridad filtrando el trfico. Est especialmente diseado para ejecutarse bajo entornos tipo Unix.

    Squid ha sido desarrollado durante muchos aos y se le considera muy completo y robusto. Aunque orientado a principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS.Nota: La configuracin del proxy ser por autenticacin de usuario

    Como root:

    .-Instalamos los paquetes~#aptitude install squid apache2

    Previo debemos crear los siguientes ficheros:

    1.- ~# touch /etc/squid/sitioslibres2.- ~# touch /etc/squid/puertopermitidos

    .-Creamos el directorio listanegra~# mkdir /etc/squid/listanegra

    Y los ficheros dentro de listanegra

    3.- ~# touch /etc/squid/listanegra/sitiosbloqueados4.- ~# touch /etc/squid/listanegra/puertosbloqueados5.- ~# touch /etc/squid/listanegra/extensionesbloqueadas

    .- Editamos el fichero de configuracin~#nano /etc/squid/squid.conf http_port 3128 transparent cache_mem 32 MB cache_dir ufs /var/spool/squid 300 16 256 hierarchy_stoplist cgi-bin ? acl cache_prevent1 url_regex cgi-bin \? acl cache_prevent2 url_regex Servlet no_cache deny cache_prevent1 no_cache deny cache_prevent2 hosts_file /etc/hosts access_log /var/log/squid/access.log squid refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern . 0 20% 4320

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/claves

    # Define ACLs acl manager proto cache_object acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 acl redlocal src 192.168.0.0/255.255.255.0 acl claves proxy_auth REQUIRED acl usuariosvip proxy_auth nombreapellido1 nombreapellido2 acl usuariosautorizados proxy_auth nombreapellido3 acl usuarioslaboratorios proxy_auth pariticipante acl puertospermitidos url_regex "/etc/squid/puertospermitidos" acl sitioslibres url_regex "/etc/squid/sitioslibres" acl sitiostemporales url_regex "/etc/squid/sitiostemporales" acl nagados url_regex "/etc/squid/listanegra/extensionesbloqueadas" acl negados url_regex "/etc/squid/listanegra/sitiosbloqueados" acl negados url_regex "/etc/squid/listanegra/puertosbloqueados" acl hora_autorizada time SMTWHFA 00:00-23:59

    # Define Reglas http_access allow manager localhost http_access deny manager http_access allow localhost http_access allow claves redlocal http_access allow puertospermitidos http_access allow usuariosvip hora_autorizada http_access allow usuariosautorizados sitioslibres !negados http_access allow usuarioslaboratorios sitiostemporales !negados http_access deny all

    # red interna acl magic_words1 url_regex -i 192.168.0.0# extensiones que queremos delimitar acl magic_words2 url_regex ftp .cab .rpm .exe .zip .mp3 .vqf .avi .mpeg .mpe .qt .ram .rm .raw .wav .mov delay_pools 2# retardos para la red interna (sin retardos) delay_class 1 2 delay_parameters 1 -1/-1 -1/-1# retardos para las extensiones delimitadas (en este caso 20000 = 20 kbps) delay_class 2 2 delay_parameters 2 20000/100000 20000/100000# aplicamos las reglas delay_access 1 allow magic_words1 delay_access 2 allow magic_words2

    acl purge method PURGE acl CONNECT method CONNECT http_reply_access allow all icp_access allow all

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    error_directory /usr/share/squid/errors/Spanish coredump_dir /var/spool/squid logfile_rotate 10

    .-Creamos el fichero en el cual se registraran las contraseas de los usuarios:~# touch /etc/squid/claves

    .-Iniciamos la creacin de usuarios y claves:~# htpasswd /etc/squid/claves nombreusuario1

    .-Incluimos la lista de Extensiones Bloqueadas~#nano /etc/squid/listanegra/extensionesbloqueadas\.mp3$\.mp4$\.mpg$\.mpeg$

    .-Incluimos la lista de Sitios Bloqueados~#nano /etc/squid/listanegra/sitiosbloqueadosamateuramigoseninternet.comaniversalia.comaresciudadjovencitas.comcontenidoxxx.com

    .-Incluimos la lista de Pginas libres:~#nano /etc/squid/sitioslibres.inces.gob.ve.yahoo.es.hotmail.com

    .- Incluimos la lista de Sitios Temporales~#nano /etc/squid/sitiostemporales.inces.gob.ve.yahoo.es.yahoo.com

    .- Incluimos la lista de Puertos Permitidos~#nano /etc/squid/puertospermitidos1194212223

    .- Incluimos la lista de Puertos Bloqueados~#nano /etc/squid/puertosbloqueados1836

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    .- Creamos los directorios Swap~#squid -z.- Reiniciamos: ~#/etc/init.d/squid restart

    Configuracin de Sarg (Reporte de accesos al Proxy)

    Sarg es un programa para ver los informes de uso del Squid de una red. En palabras de su programador: Sarg es un Squid Analysis Report Generator que te permite ver "dnde" estn yendo tus usuarios dentro de Internet. Sarg genera informes en html, con muchos campos, como: usuarios, Direcciones IP, bytes transmitidos, sitios Web and tiempos.

    Como root:

    .-Instalamos el paquete:~# aptitude install sarg

    .-Editamos sarg en /etc/squid/sarg.conf, descomentamos y configuramos las siguientes opciones:

    Language Spanishaccess_log /var/log/squid/Access.logtemporary_dir /tmpoutput_dir /var/www/squid-reports

    .-Creamos el usuario que tendr acceso a los reportes:~# htpasswd c /etc/squid/sarg.users proxy >

    .-Editamos en apache2:~# nano /etc/apache2/httpd.conf

    Y agregamos las siguientes lneas:

    AuthName Reportes de acceso al ProxyAuthType BasicAuthUserFile /etc/squid/sarg.usersRequire valid-userOptions Indexes FollowSymLinksAllowOverride NoneOrder allow.denyAllow from all

    .- Reiniciamos:~# /etc/init.d/squid restart~# /etc/init.d/apache2 restart

    .-Editamos el fichero cron.daily ubicado en /etc/cron.daily/sarg

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    #!/bin/sh

    if [ -x /usr/sbin/sarg-reports ]; then /usr/sbin/sarg-reports dailyfi

    YESTERDAY=$(date --date "1 day ago" +%d/%m/%y)sarg -n -z -d $YESTERDAY=$YESTERDAYexit 0

    Para iniciar el servicio de sarg~#/usr/sbin/sarg

    Para accesar va web al Sarghttp://Direccion_ip_proxy/sarg-reports

    Configuracin del cliente OpenVpn

    Como root:

    .-Instalamos el paquete OpenVpn:~#aptitude install openvpn

    .- Creamos el fichero de configuracin de nombre ince-cliente.conf~#touch /etc/openvpn/ince.cliente.conf

    clientport 1194 #udp by defaultdev tunfloatremote 200.109.xx.xx 1194tls-clientcomp-lzoca /etc/openvpn/mica.crtcert /etc/openvpn/micrt.crtkey /etc/openvpn/mikey.keyping 15ping-restart 120

    .- Copiamos los Certificados generados por nuestro administrador de VPN en:~# /etc/openvpn/

    .- Iniciamos el servicio:~#/etc/init.d/openvpn Star

    _____________________________________________________________________________

    Elaborado por: TSU Ronal VegasDivisin de Informtica

  • Instituto Nacional de Capacitacin y Educacin SocialistaINCES Anzotegui

    Programas tiles:

    IPTRAF: Es uno de los programas ms prcticos para depurar el firewall de iptables, ya que con el podemos observar si la conexiones se establecen o no; es un programa de consola que es aconsejable controlar ya que muestra en tiempo real el trfico que atraviesa nuestra mquina con todo lujo de detalles: origen/destino de ips y puertos, trfico total o trfico total segn el interfaz de red, etc Si vemos muchas conexiones simultaneas y nos perdemos, existe la posibilidad de aplicar filtros para captar solo aquello que nos interesa.

    NMAP: La herramienta para escanear puertos por excelencia, rechace imitaciones. Es una herramienta de consola rpida, efectiva y con multitud de opciones. Podemos usarla desde mquinas ajenas a nuestra red para comprobar si realmente el firewall esta filtrando correctamente y en cierta manera para hacernos una idea de que "visin" pueden tener los hackers de nuestro sistema.

    Software Para Monitoreo de Dispositivos

    Nagios: Es un sistema open source popular para monitorizar una red. Monitoriza los hosts y servicios que se especifiquen, alertando cuando el comportamiento de la red no es el deseado y nuevamente cuando vuelve a su estado correcto.

    Elaborado por: TSU Ronal VegasDivisin de Informtica