Está en la página 1de 23

Servidor Debian Router FW

Objetivos: Administrar las conexiones de 2 redes lan, una de alumnos y otra de profesores. Ambas redes deben acceder a internet y respetar ciertas politicas de seguridad.

Desde Cero

Nuestro servidor puede ser una Pentiun I con 128 de ram y 3 placas de red. Para por ejemplo un Mximo de 10 PC. En nuestro caso usamos virtualbox para crear el escenario y mostrar la practica. Servidor = Debian PC Alumno = Windows Xp PC Profesor = Windows 2000

Primeros pasos

Instalamos Debian estable, solo el sistema base, nada extra. Instalamos algunas herramientas que nos pueden ser de utilidad, ud. instalen sus preferidas.
#aptgetinstallmcnmaphtopiftopssh

Configurando las placas de red

Ahora debemos configurar las 3 placas de red. Para ello editaremos el archivo interfaces
#mcedit/etc/network/interfaces

#Theloopbacknetworkinterface autolo ifaceloinetloopback #Theprimarynetworkinterface #laplacaETH0ladejoenautomatico allowhotplugeth0 ifaceeth0inetdhcp #Configurolaplacaderedprofesores autoeth1 ifaceeth1inetstatic address10.10.10.1 netmask255.255.255.0 broadcast10.10.10.255 network10.10.10.0 #configurolaplacaderedalumnosywifi autoeth2 ifaceeth2inetstatic address10.10.20.1 netmask255.255.255.0 broadcast10.10.20.255 network10.10.20.0

Interfaces comentarios
#Theloopbacknetworkinterface autolo ifaceloinetloopback Eslaconfiguracionquevienedefabricadela interfazvirtualespecial,deloopback,parahacer pruebasdeconexinconnosotrosmismos. #Theprimarynetworkinterface #laplacaETH0ladejoenautomatico allowhotplugeth0 ifaceeth0inetdhcp Estaeslaconfiguracionadecuadaparaqueesta placaderedseautoconfigure,oseadeberiaestar conectadaalmodem/routerdenuestroISP(arnet, fibertel,cablexpress,etc.)

Interfaces - comentarios
#Configurolaplacaderedprofesores autoeth1Placadereddeprofesores ifaceeth1inetstatic Address10.10.10.1Indicalaipdelaplaca Netmask255.255.255.0Indicalamascarade red Broadcast10.10.10.255Indicaelbroadcast Network10.10.10.0Indicaeliniciodelared #configurolaplacaderedalumnosywifi autoeth2 ifaceeth2inetstatic address10.10.20.1 netmask255.255.255.0 broadcast10.10.20.255 Network10.10.20.0 Idemalsegmentodereddeprofesores Paramasdetallesleer #maninterfaces

DHCP - Instalacin

Ahora instalamos y configuramos el servidor de DHCP para que las computadoras de profesores y alumnos se configuren automticamente al conectarse a nuestras redes.
#apt-get install dhcp3-server

DHCP - Configuracin
Editamoselarchivodeconfiguracin

# mcedit /etc/dhcp/dhcpd.conf
Editamoslassiguienteslineasquedandoas,luegorepetimoslomismoparalareddealumnos.

# A slightly different configuration for an internal subnet. # dhcp para red de alumnos subnet 10.10.10.0 netmask 255.255.255.0 { range 10.10.10.101 10.10.10.199; option domain-name-servers 170.210.200.3; option domain-name "alumnos.mired.lan"; option routers 10.10.10.1; option broadcast-address 10.10.10.255; default-lease-time 600; max-lease-time 7200; }

DHCP - Explicacin
subnet 10.10.10.0 netmask 255.255.255.0 { --- define la subred, igual que en interfaces range 10.10.10.101 10.10.10.199; --- define el rango de nros ipes que entregar option domain-name-servers 170.210.200.3; --- define el DNS que utilizar nuestra red option domain-name "alumnos.mired.lan"; -- define el nomre del dominio para nuestra red option routers 10.10.10.1; --- Indica el gw o puerta de enlace para nuestra red option broadcast-address 10.10.10.255; --- Indica la direccion de broadcast default-lease-time 600; max-lease-time 7200; } --- Son parametros que indican el tiempo por el cual se entrega Una direccion IP

DHCP ultimo paso


ConfiguramosDEFAULTSparaquetodofuncionedesdeel arranquedelsistema,paraelloeditamoselsiguiente archivo/etc/default/iscdhcpserver,quedebequedaras #OnwhatinterfacesshouldtheDHCPserver(dhcpd) #Separatemultipleinterfaceswithspaces, INTERFACES="eth1eth2" Aquisolosesealanlasinterfacesendondeelservidor Debetrabajar. Ahorapodemosreiniciarelservidorparacomprobarque Todofunciona.Paraellotambienprendemosunapcde Alumnosyotradeprofesoresydeberianautoconfigurarce.

Probando el DHCP en alumnos

Probando el DHCP en profesores

Siguiente paso compartir internet


ParacompartirinternetvamosainstalarSHOREWALLqueesunainterfazdescriptsque Nospermitiraadministrardeunaformaordenada,elfirewalldenuestroservidor.

#aptgetinstallshorewall
Despuesdelainstalacion,vamosacopiarlosarchivosdeconfiguraciondeejemploquevienen Conshorewall.

#cpr/usr/share/doc/shorewall/examples/ threeinterface/*/etc/shorewall/

Configurando Shorewall
Activamoselforwarddepaquetes,estoesmuyimportantesipretendemoscompartirinternet. Paraelloeditamoselarchivo/etc/shorewall/shorewall.conf Yeditamoslasiguientelineadejandoasi: IP_FORWARDING=Yes Luegoeditamoselarchivo/etc/shorewall/interfacesylodejamosasi.Deestaforma Asociamoslaszonasdelfirewallalasplacasderedcorrespondientes
#ZONE INTERFACE BROADCAST OPTIONS net eth0 detect tcpflags,dhcp,nosmurfs,routefilter,logmartians alu eth1 detect tcpflags,nosmurfs,routefilter,logmartians doc eth2 detect tcpflags,nosmurfs,routefilter,logmartians

Notarquenet=internet,alu=redalumnosydoc=reddocentes

Configurando Shorewall
Ahoraeditamoselarchivo/etc/shorewall/zonesparadefinirlaszonasconlasquetrabajael Firewall,ydeberiaquedarasi ######################### #ZONETYPEOPTIONS # fwfirewall netipv4 aluipv4 docipv4

Configurando Shorewall
Ahoraeditamoselarchivo/etc/shorewall/policyparadefinirlaspoliticasconlasquetrabajar Elfirewall
########################################################################## #SOURCEDESTPOLICYLOGLEVELLIMIT:BURST #aceptaqmoslasconexionesdesdelasredeslocalesalinternet alunetACCEPT docnetACCEPT #negamoslacomunicaciondesdealumnoshaciadocentes aludocDROP #aceptamoslacomunicacindesdelosdocentesalosalumnos docaluACCEPT #aceptamoslasconexionesdesdelasredesalFWoGWenestecaso alu$FWACCEPT doc$FWACCEPT #negamoscualquierconexiondesdelainet netallDROPinfo #THEFOLLOWINGPOLICYMUSTBELAST allallREJECTinfo

Configurando Shorewall
Ahoraeditamoselarchivo/etc/shorewall/rulesparadefinirlasreglasdelfirewall,quetambien Sesonciderancomolasexcepcionesalaspolticasquesedefinieronateriormente
# AcceptDNSconnectionsfromthefirewalltotheInternet DNS(ACCEPT) alu $FW DNS(ACCEPT) doc $FW DNS(ACCEPT) $FW net # AcceptSSHconnectionsfromthelocalnetworktothefirewallandDMZ SSH(ACCEPT) net $FW SSH(ACCEPT)doc$FW SSH(ACCEPT)doc alu SSH(DROP) alu doc SSH(DROP) alu $FW #Reglasparabloquearelpingentrelaszonas. Ping(ACCEPT)net$FW Ping(ACCEPT) doc $FW Ping(DROP) alu doc Ping(DROP) alu $FW Ping(ACCEPT) doc alu #reglasparaservicios,comodns,dhcp,http,https,squid,ssh,ftp ACCEPT doc $FW tcp 21,22,53,80,443,3128,8080 ACCEPT alu $FW tcp 21,22,53,80,443,3128,8080 ACCEPT $FW net tcp 21,22,53,80,444,3128,8080

Configurando Shorewall
Porultimoperonomenosimportante,esactivarenenmascaramientodedirecciones,para Compartirinternet.Paraellomodificamoselarchivo/etc/shorewall/masq
########################################################################### #INTERFACE SOURCE ADDRESS PROTO PORT(S) IPSEC MARK eth0 10.10.10.0/24 eth0 10.10.20.0/24 Reiniciamos todo el equipo, aun que no hace falta realmente, es solo con el fin de comprobar que al iniciar el servidor, ya queda todo funcionando. Caso contrario solo reiniciamos los servicios necesarios shorewallrestart AhoraSIlosalumnosydocentesdebentenerinternet.

SQUID Proxy cache


Ahora,comotodofunciona,vamosainstalarunproxycachetransparente Paraaprobecharmejorelanchodebandadisponible. Paraelloinstalamossquid #aptgetinstallsquid ConfiguramosSquid,editandolassiguienteslineasdelarchivo /etc/squid/squid.conf #Squidnormallylistenstoport3128 http_port3128transparent #shouldbeallowed aclredalusrc10.10.10.0/24#RFC1918possibleinternalnetwork aclreddocsrc10.10.20.0/24#RFC1918possibleinternalnetwork #fromwherebrowsingshouldbeallowed http_accessallowlocalhost http_accessallowredalu http_accessallowreddoc Porultimonosquedanodificarelfirewallparaqueenvielaspeticiones Delpuerto80delasredesal3128queesdondeescuchaSQUID

SQUID Proxy cache


ELultimopasoparaquesquidquedefuncionandodeformatransparente Alusuario,eshacerunaredireccion. Paraesoeditamoselarchivorulesdeshorewall,agregandoestaslineas Aliniciodetodaslasreglas #redireccionparasquid REDIRECTalu3128tcpwww REDIRECTdoc3128tcpwww Paraterminarreiniciamosshorewallysquid.Ytodofunciona #shorewallrestart

#/etc/init.d/squidrestart ListotododeberiafuncionarOK

Bloqueando pginas con SQUID


Podemosllegarabloquearpaginaswebconsquid,paraellohacefalta Crearunarchivoconlaspalabrasprohibidasositiosprohividos. YSQUIDseencargadebloquearesaspaginas Elarchivopuedellamarcesitionegadosydebeestaren/etc/squid Elcontenidodelarchivopuedeserelsiguiente #sitiosbloqueados www.facebook.cow Www.ventasdedrogascom.ar Paraterminarenelsquid.conf,agregamoslassiguienteslineas Aclurlnegadasurl_regexi/etc/squid/sitionegados http_accessallowredalu!sitionegados Deestaformareiniciamossquidyyanoseprodrentraralos Sitiosqueseencuentranenelarchivo Saludosatodosyfelicesfiestas

Bloqueando pginas con SQUID


ELultimopasoparaquesquidquedefuncionandodeformatransparente Alusuario,eshacerunaredireccion. Paraesoeditamoselarchivorulesdeshorewall,agregandoestaslineas Aliniciodetodaslasreglas #redireccionparasquid REDIRECTalu3128tcpwww REDIRECTdoc3128tcpwww Reiniciamosshorewallysquid,paraquenuestrasredes tenga

También podría gustarte