======Cómo configurar un buen y rápido cortafuegos====== Lo primero que se debe tener en cuenta para optar por un cortafuegos es lo siguiente: * dejas abierto todos los puertos y cierras los puertos que no utilizáras, * cierras todos los puertos y abres nada más que los que utilizarás, recomiendo esta segunda por ser más segura. En este caso, //eth0// es **WAN** y el resto de las //eth// que aparescan son **lan** =====Instalando Firehol ===== aptitude install firehol =====Configurando Firehol ===== Editar el fichero ///etc/default/firehol// y escribir esto: START_FIREHOL=YES FIREHOL_LOG_MODE="ULOG" #If you want to have firehol wait for an iface to be up add it here WAIT_FOR_IFACE="" Estas líneas son para que el cortafuegos inicie con el sistema, no muestre los //logs// en pantalla y para que escuche por cualquier //eth//. Puedes definirle que solo lo haga por una determinada //eth//, pero eso se vve hasta poco lógico. Editar el fichero de configuracion del firehol ///etc/firehol/firehol.conf// y escribir esto: version 5 # Accept all client traffic on any interface interface any world policy drop server dns accept #para dns todo el mundo server ssh accept #para ssh todo el mundo server ssh accept src 192.168.X.Y/28 #para ssh solo desde ese IP server http accept # para web todo el mundo server squid accept src 172.16.X.Y/24 # para squid solo esta red server ftp accept # para ftp todo el mundo server jabberd accept #para el jabber todo el mundo server custom adminejabberd tcp/5280 default accept # ejemplo de puertos perzonalizados client all accept #Para hacer un NAT simple router maqpepe inface eth0 outface eth1 src 172.16.X.Z masquerade route all accept =====Problemas reportados en Debian Lenny ===== Para **lenny** se necesita instalar el paquete **less** aptitude install less luego da un warning WARNING File '/etc/firehol/RESERVED_IPS' is more than 90 days old. You should update it to ensure proper operation of your firewall. Run the supplied get-iana script to generate this file para solucionarlo ejecute lo siguiente touch -m /etc/firehol/RESERVED_IPS Esto lo que hace es tocar el fichero y le pone la fecha actual. =====Haciendo un NAT ===== Para hacer //NAT// específicamente a un ip y un puerto router censoe inface eth2 outface eth0 src "172.16.20.15 172.16.20.16" dst 200.55.X.Y server ftp accept inface eth2 outface eth0 server http accept inface eth2 outface eth0 masquerade route all drop Y para terminar, dejo el listado de palabras asociadas a un puerto con que //firehol// puede trabajar: **Ejemplo:** Con la **F** está //ftp// y hace referencia al //puerto 21//, con la **H** está //http// y hace referencia al //puerto 80//. =====Palabras reservadas ===== **A** AH, all, amanda, any, anystateless, apcupsd, apcupsdnis, aptproxy, asterisk **C** cups, custom, cvspserver **D** darkstat, daytime, dcc, dcpp, dhcp, dhcprelay, dict, distcc, dns **E** echo, emule, eserver, ESP **F** finger, ftp **G** gift, giftui, gkrellmd, GRE **H** h323, heartbeat, http, https, hylafax **I** iax, iax2, icmp, ICMP, icp, ident, imap, imaps, irc, isakmp **J** jabber, jabberd **L** ldap, ldaps, lpd **M** microsoft_ds, mms, ms_ds, msn, multicast, mysql **N** netbackup, netbios_dgm, netbios_ns, netbios_ssn, nfs, nis, nntp, nntps, ntp, nut, nxserver **O** oracle, OSPF **P** p2p, ping, pop3, pop3s, portmap, postgres, pptp, privoxy **R** radius, radiusold, radiusoldproxy, radiusproxy, rdp, rndc, rsync, rtp **S** samba, sip, smtp, smtps, snmp, snmptrap, socks, squid, ssh, stun, submission, sunrpc, swat, syslog **T** telnet, tftp, time, timestamp **U** upnp, uucp **V** vmware, vmwareauth, vmwareweb, vnc **W** webcache, webmin, whois **X** xdmcp