Curs: | Administració dels sistemes informàtics de l'IES, DissenyXarxesLinux, LinuxAdministracioAvancada |
Fitxers: | ipcop.pdf (ipcop.odp) i algunes pàgines del document Transparències tema 4 i iptables.pdf |
Repositori SVN: | http://[email protected]/svn/iescopernic/Administracio_SI_IESCopernic |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas |
IMPORTANT:
Vegeu també els articles:
ASI_IES/VirtualBox#Importaci.C3.B3_de_la_m.C3.A0quina_virtual_IPCOP Encaminament iptables
Si voleu saber com obtenir una màquina virtual de Virtual box amb IPCOP.
[[Imatge:ipcop]5.png]
o En "Tipos de configuración de red" utilitzarem: Green and red o En "controladores i tarjetas asignadas" ens mostra la següent pantalla i ens indica que ja té assignada una targeta de xarxa a la xarxa verda i l’altra sense assignar, li diem Ok.
o Detecta l’altra targeta i ens diu que l’assignarà a la xarxa vermella, li diem Ok
o A continuació passem a l’apartat, "configuración de direcciones". Hi tenim les dues targetes: green i red. La verda ja està configurada, per tant escollim la vermella i ens apareix una pantalla on hi posem assignació estàtica i de IP: 192.168.X.2
Imatge:ipcop8.png
o Tornem a la pantalla de les dues targetes i li diem Acabado. o Passem a continuació a "Opciones de DNS i Gateway", i escrivim com a DNS primaria la de la màquina en la que instal.lem l'IPCOP (192.168.20X.1), com a secundària la ip del nostre servidor DNS: 192.168.0.7 i com a gateway: 192.168.X.1, que es la IP de la tarjeta de xarxa del router correponent a l’aula X
o A continuació anem a la "Configuración del servidor DHCP", que no es farà en aquest moment. Però ara, hem d'anar amb compte ja que és fàcil sortir de la instal.lació sense adonar-se'n. Una vegada a la pantalla següent li diem Ok
o A la següent pantalla li diem Acabado i torna a la mateixa pantalla, li tornem a dir Ok
A totes posem la que ja sabem i ja hem acabat. Ara reiniciarà la màquina i ens demanarà l’usuari i la contrasenya
Configuració posterior
Activem la casella d'ssh com podem veure. Hem de tenir en compte que l’ssh va pel port 222. Això ens permetrà conectar-nos a la màquina des de fora. Guardem i tornem a la pantalla principal.
NOTA: Podem tornar a fer la configuració en qualsevol moment executant setup des de la línia de comandes.
El primer que cal és tenir un servidor web a la xarxa on es conectara l'ipcop:
$ sudo apt-get install apache2
Del cd d'ipcop cal copiar els fitxers de l'arrel:
disk-versio_ipcop.tar.gz ipcop-versio_ipcop.tar.gz
I la carpeta images
per exemple
$ sudo mkdir /var/www/ipcop $ sudo cp /media/cdrom/disk-1.4.20.tar.gz /var/www $ sudo cp /media/cdrom/ipcop-1.4.20.tar.gz /var/www $ sudo cp images /var/www
I comprovem que és accesible des de un navegador. Un exemple
http://www.iescopernic.com/ipcop
Ara a l'instal·lar ipcop escollim la opció HTTP/FTP i posem la URL
http://ipmaquina/ipcop
Per exemple:
http://192.168.0.7/ipcop
Una vegada escollit l'idioma comença un assistent d'instal·lació on si és el cas, podem no començar la instal·lació.
Indiquem el tipus de teclat a ulilitzar.
Elegim la zona horària a la que ens trobem.
Introduïm la data i la hora.
Fem la sel·lecció del disc dur on farem la instal·lació.
Posem que sí que estem segurs.
A la imatge següent ens fa descriure en quin sistema d'emmagatzematge volem instal·lar el software. Nosaltres ho farem mitjançant el disc dur.
En aquest apartat nosaltres li donem a saltar però podriem tenir a part, un altre sistema com un disquet que guardaria tota la configuració de l'IPCOP.
Acabem d'instal·lar l'IPCOP li donem a felicidades, treiem el cd i arranquem la màquina.
Una volta la màquina arrenca, el primer que ens demana és introduïr el nom de la màquina host.
Seguidament, introduïr el domini
A continuació la màquina ja comença a tenir una configuració. I ens demanarà la configuració per a la interfície Roja. La interfície roja és la interfície que pertany del router cap a fora, és a dir, cap a la xarxa WAN Internet.
Sel·leccionem la targeta de xarxa
I li assignem un color, en aquest cas, a la interfície Micro el color verd.
I el color roig a la interfície Intel
Una vegada definides les dos interfícies li donem a Hecho
Introduïm una ip i màscara de la interfície verda
També introduïm una ip i una màscara per a l'altra interfície, la roja.
Cal introduir la informació referent al dns i gateway que tinguem configurat.
A continuació cal definir el servidor dhcp si el volem tenir activat o no amb les seves respectives IP d'inici i fi.
Posem una contrasenya a l'usuari root per accedir a la consola.
Introduïm també una contrasenya per a l'usuari admin d'IPCOP.
Contrasenya de backup per fer l'exportació de la clau de l'usuari de forma segura.
Ja hem acabat la instal·lació.
Inicia el grub de l'IPCOP i elegim la opció número 1
L'accés SSH a IPCOP esta tancat per defecte. Per activar-lo hem d'anar a la pestanya Sistema/Acceso SSH i activar el checkbox
NOTA IPCOP també canvia el port normal de SSH del 22 al 222, i 8022 a partir de la versió 1.9
Per connectar-nos a IPCOP (suposant que la IP de la interfície verda és 192.168.1.50) hem d'executar:
$ ssh -p 222 [email protected]
Cal accedir a la secció Firewall/Acceso Externo:
I obrir el port 222 a l'exterior:
El resultat és el següent:
Accedim a l'aplicació pel navegador web en la IP del servidor IPCOP pel port 8080. Introduïm l'usuari i contrasenya. Si volem accedir a les opcions anem a la pestanya sistema --> acceso SSH
A continuació s'activa la opció d'enable SSH
Consulteu Virtual_Box#IPCOP
Consulteu l'article Squid
# Do not modify '/var/ipcop/proxy/squid.conf' directly since any changes # you make will be overwritten whenever you resave proxy settings using the # web interface! # # Instead, modify the file '/var/ipcop/proxy/advanced/acls/include.acl' and # then restart the proxy service using the web interface. Changes made to the # 'include.acl' file will propagate to the 'squid.conf' file at that time. shutdown_lifetime 5 seconds icp_port 0 http_port 192.168.11.1:800 acl no_cache_hosts url_regex -i "/var/ipcop/proxy/advanced/acls/dst_nocache_url.acl" cache deny no_cache_hosts cache_effective_user squid cache_effective_group squid umask 022 pid_filename /var/run/squid.pid cache_mem 750 MB cache_dir aufs /var/log/cache 10000 16 256 error_directory /usr/lib/squid/advproxy/errors/Catalan access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log none useragent_log /var/log/squid/user_agent.log strip_query_terms off log_mime_hdrs off forwarded_for off via off acl within_timeframe time MTWHFAS 00:00-24:00 acl all src 0.0.0.0/0.0.0.0 acl localhost src 127.0.0.1/255.255.255.255 acl SSL_ports port 443 # https acl SSL_ports port 563 # snews acl SSL_ports port 993 # IMAP GMAIL acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 563 # snews acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl Safe_ports port 800 # Squids port (for icons) acl IPCop_http port 81 acl IPCop_https port 445 acl IPCop_ips dst 192.168.11.1 acl IPCop_networks src "/var/ipcop/proxy/advanced/acls/src_subnets.acl" acl IPCop_servers dst "/var/ipcop/proxy/advanced/acls/src_subnets.acl" acl IPCop_green_network src 192.168.11.0/255.255.255.0 acl IPCop_green_servers dst 192.168.11.0/255.255.255.0 acl IPCop_unrestricted_ips src "/var/ipcop/proxy/advanced/acls/src_unrestricted_ip.acl" acl IPCop_unrestricted_mac arp "/var/ipcop/proxy/advanced/acls/src_unrestricted_mac.acl" acl CONNECT method CONNECT #Access to squid: #local machine, no restriction http_access allow localhost #GUI admin if local machine connects http_access allow IPCop_ips IPCop_networks IPCop_http http_access allow CONNECT IPCop_ips IPCop_networks IPCop_https #Deny not web services http_access deny !Safe_ports http_access deny CONNECT !SSL_ports #Set custom configured ACLs http_access allow IPCop_unrestricted_ips http_access allow IPCop_unrestricted_mac http_access allow IPCop_networks within_timeframe http_access deny all #Strip HTTP Header header_access X-Forwarded-For deny all header_access Via deny all maximum_object_size 4096 KB minimum_object_size 0 KB request_body_max_size 0 KB reply_body_max_size 0 allow all visible_hostname copercop cache_mgr [email protected] url_rewrite_program /usr/sbin/redirect_wrapper url_rewrite_children 50
Normes Squid:
acl msn_messenger req_mime_type -i ^application/x-msn-messenger$ http_access deny msn_messenger
Nous Messengers (Live Messenger):
# Bloqueamos gateway.dll para versiones viejas de MSN Messenger acl msn_url url_regex -i gateway.dll # Bloqueamos el puerto utilizado por todas las versiones acl msn_port port 1863 # Bloqueamos el metodo POST utilizado por las nuevas versiones de MSN Messenger acl msn_method method POST # bloqueamos el url que contenga gateway.dll http_access deny msn_method msn_url # bloqueamos el puerto http_access deny msn_port # bloqueamos por tunneling http_access deny CONNECT msn_port
Recursos:
Al menú Servicios/Advanced Proxy:
Consulteu l'apartat relacionat: Squid#Consider_increasing_the_number_of_url_rewriter_processes..
A l'apartat URL filter/Filtro URL del menú Servicios cal canviar la opció
Número de procesos de filtrado:
Per tal de solucionar problemes com:
$ sudo tail -f /var/log/squid/cache.log ... WARNING: up to 13 pending requests queued 2009/01/29 13:43:49| Consider increasing the number of url_rewriter processes to at least 18 in your config file.
El propi fitxer de log us proposarà uns valors per a la variable.
IMPORTANT: Cal guardar/reiniciar tant la pàgina del filtre URL com la pàgina Advanced Proxy per tal que el canvi tingui efecte.
Cal modificar la variable url_rewrite_children. Com a valor per defecte és 5 que pot ser molt poc. Si disposem de RAM cal augmentar aquest valor.
IPCOP utilitza una eina anomenada dnsmasq per executar un proxy de DNS. No funciona com un Servidor_DNS com bind, simplement fa de cache de peticions de dns.
Si executem a la terminal d'IPCOP:
# ps aux | grep dns dnsmasq 339 0.0 0.2 1680 780 ? S 10:05 0:00 /usr/sbin/dnsmasq -l /var/state/dhcp/dhcpd.leases -s aula2.iescopernic.com -r \ /var/ipcop/red/resolv.conf
Veurem com s'està executant dnsmasq. El fitxer /etc/resolv.conf:
# cat /etc/resolv.conf nameserver 127.0.0.1
Conté quin és el servidor de DNS que utilitza IPCOP. Com podeu veure s'utilitza a ella mateix o més concretament utilitza dnsmasq. Realment dnsmasq esta utilitzant els servidors de DNS que vam especificar durant la configuració de la interfície roja:
# cat /var/ipcop/red/resolv.conf nameserver 192.168.0.7
Que és un dels paràmetres que se li passen a l'execució de dnsmasq (-r /var/ipcop/red/resolv.conf). Un altre dels fitxers que se li passa és el fitxer de leases /var/state/dhcp/dhcpd.leases:
/var/state/dhcp/dhcpd.leases
La configuració de dnsmasq es duu a terme al fitxer
El procés d'instal·lació és sempre molt similar. Veieu la instal·lació de ntop addon per seguir un exemple.
Recursos:
Els passos seguits per instal·lar NTOP a IPCOP són els següents:
Descarreguem el addon amb wget:
$ wget http://switch.dl.sourceforge.net/sourceforge/mhaddons/ntop_ipcop_1.4.8.tar.gz
NOTA: O si instal·lem wget a IPCOP podem descarregar el addon directament a IPCOP i saltem directament al pas de descomprimir de més endavant.
O consultem la última versió de la pàgina:
https://sourceforge.net/project/showfiles.php?group_id=144798&package_id=174986
Hem de tenir accés SSH a ipcop per poder copiar-hi el fitxer que ens acabem de descarregar:
$ scp -P 222 ntop_ipcop_1.4.8.tar.gz [email protected]_IPCOP_VERDA:~
Accedim via SSH a IPCOP:
$ ssh -p 222 [email protected]_IPCOP_VERDA
Descomprimim el plugin:
[email protected]:~ # tar xvzf ntop_ipcop_1.4.8.tar.gz
Entrem a la carpeta ntop
[email protected]:~ # cd ntop
I executem l'instal·lador:
[email protected]:~/ntop # ./install installing files Done creating webinterface entries Done creating startup entries Done Enable automatic versioncheck for this mod ? [y/n] y ntop: error while loading shared libraries: libpng.so.3: cannot open shared object file: No such file or directory Now you could start ntop from webinterface Username for ntop: admin Password for ntop: ipcop
Responem que si a la comprovació automàtica de noves versions.
NOTA: Abans d'utilitzar NTOP per la web d'IPCOP, cal executar des de la línia de comandes: $ ntop -M -K -u ntop -W5555 -w6666 I proporcionar la paraula de pas de l'usuari admin. Podeu matar el procés amb Ctrl+z un cop heu acabat. Assegureuvos que no cada cap procés ntop executant-se:
# ps aux | grep ntop ntop 2907 0.6 1.8 60152 37252 pts/0 T 19:28 0:00 ntop -M -K -u ntop -W5555 -w6666 root 2908 0.0 1.8 60152 37252 pts/0 S 19:28 0:00 ntop -M -K -u ntop -W5555 -w6666 root 2909 0.0 1.8 60152 37252 pts/0 T 19:28 0:00 ntop -M -K -u ntop -W5555 -w6666 root 2912 0.0 1.8 60152 37252 pts/0 T 19:28 0:00 ntop -M -K -u ntop -W5555 -w6666 root 2917 0.1 1.8 60152 37252 pts/0 T 19:28 0:00 ntop -M -K -u ntop -W5555 -w6666 # kill -9 2907 2908 2909 2912 2917
Ara ja podem consultar l'apartat NTOP per veure com funciona ntop.
NOTA2: el port de NTOP a IPCOP és el 6666. Per exemple per accedir-hi heu d'anar a:
http://192.168.11.1:6666/
Si no funciona ntop per la interfície gràfica el podeu executar des de la línia de comandes d'IPCOP:
# ntop
Si us dona el següent error:
ntop: error while loading shared libraries: libpcap.so.0.8.3: cannot open shared object file: No such file or directory
Aleshores heu de fer el següent:
$ cd /usr/lib $ ln -s libpcap.so.0.9.7 libpcap.so.0.8.3
Descarreguem de la web:
http://www.ipadd.de/binary.html
El binari wget:
$ wget http://www.ipadd.de/download/wget1102.tar.gz
Copiem el binari a la màquina IPCOP:
$ scp -P 222 wget1102.tar.gz [email protected]_IPCOP_VERDA:~ [email protected]'s password: wget1102.tar.gz 100% 127KB 126.9KB/s 00:00
Ara entrem a IPCOP:
$ ssh -p 222 [email protected]_IPCOP_VERDA
Descomprimim:
[email protected]:~ # tar xvzf wget1102.tar.gz wget1102/ wget1102/wget wget1102/install wget1102/AUTHORS wget1102/ChangeLog wget1102/COPYING wget1102/README wget1102/TODO
Entrem a la carpeta wget1102:
[email protected]:~ # cd wget1102
I instal·lem:
# ./install -i Installing now ... Successfully done!
Per accedir al ntop d'IPCOP hem d'anar a la pestanya Servicios/Ntop:
Podeu obtenir més informació sobre NTOP a l'article Ntop.
Prèviament instal·lem el addon wget a IPCOP i després descarreguem el addon Advanced Proxy
[email protected]:~ # wget http://www.advproxy.net/download/ipcop-advproxy-2.1.5.tar.gz
També podeu consultar la web:
http://www.advproxy.net/download.html
Per tal de consultar si hi han versions més noves.
Un cop descarregat, descomprimim:
[email protected]:~ # tar xvzf ipcop-advproxy-2.1.5.tar.gz
I entrem a la carpeta ipcop-advproxy
# cd ipcop-advproxy
I instal·lem:
# ./install ================================================ IPCop 1.4 Advanced Proxy add-on installation ================================================ Step 1: Stopping services -------------------------------------------- Stopping Web Proxy service (if running) Step 2: Creating directories -------------------------------------------- /var/ipcop/proxy/advanced /var/ipcop/proxy/advanced/acls /var/ipcop/proxy/advanced/ncsa /var/ipcop/proxy/advanced/ntlm /var/ipcop/proxy/advanced/radius /var/ipcop/proxy/advanced/ident /var/ipcop/proxy/advanced/cre /usr/lib/squid/advproxy /usr/lib/squid/advproxy/auth /usr/lib/squid/advproxy/errors /usr/lib/squid/advproxy/errors.ipcop Step 3: Copying Advanced Proxy files -------------------------------------------- /usr/sbin/squid cp: cannot stat `/var/ipcop/proxy/squid.conf': No such file or directory /usr/sbin/redirect_wrapper /usr/lib/libldap-2.2.so.7 /usr/lib/liblber-2.2.so.7 /usr/lib/squid/advproxy/auth/ncsa_auth /usr/lib/squid/advproxy/auth/msnt_auth /usr/lib/squid/advproxy/auth/ntlm_auth /usr/lib/squid/advproxy/auth/squid_ldap_auth /usr/lib/squid/advproxy/auth/squid_ldap_group /usr/lib/squid/advproxy/auth/squid_radius_auth /home/httpd/cgi-bin/advproxy.cgi /home/httpd/cgi-bin/chpasswd.cgi /home/httpd/cgi-bin/webaccess.cgi /home/httpd/html/images/ipcop-banner.gif /home/httpd/html/proxy.pac /home/httpd/html/wpad.dat /var/ipcop/proxy/advanced/ntlm/msntauth.conf /var/ipcop/proxy/advanced/useragents /var/ipcop/proxy/advanced/version Step 4: Setting ownerships -------------------------------------------- Setting ownership and permissions Step 5: Patching system files -------------------------------------------- Patching Web Server configuration Patching language files: /var/ipcop/langs/bz.pl /var/ipcop/langs/de.pl /var/ipcop/langs/en.pl /var/ipcop/langs/es.pl /var/ipcop/langs/fr.pl /var/ipcop/langs/it.pl /var/ipcop/langs/nl.pl /var/ipcop/langs/ru.pl Rebuilding language cache Patching IPCop main menu Step 6: Installing Squid error messages -------------------------------------------- Installing additional languages for error messages Adding IPCop design Step 7: Starting services -------------------------------------------- Reloading Web Server configuration Restarting Web Proxy service (if enabled)
Ara ja podem accedir a URL Filter anant al menú Servicios/Advanced Proxy:
NOTA: Aquest addon no funciona per a la versió 2.0.3 i s'ha d'utilitzar el Copfilter.
Prèviament instal·lem el addon wget a IPCOP i després descarreguem URL Filter
[email protected]:~ # wget http://www.urlfilter.net/download/ipcop-urlfilter-1.9.1.tar.gz
També podeu consultar la web:
http://www.urlfilter.net/
Per tal de consultar si hi han versions més noves.
Un cop descarregat, descomprimim:
[email protected]:~ # tar xvzf ipcop-urlfilter-1.9.1.tar.gz
I entrem a la carpeta ipcop-advproxy
[email protected]:~ # cd ipcop-urlfilter
I instal·lem:
[email protected]:~ # ./install ============================================ IPCop 1.4 URL filter add-on installation ============================================ Step 1: Creating directories -------------------------------------------- /etc/squidGuard /var/log/squidGuard /var/ipcop/urlfilter /var/ipcop/urlfilter/autoupdate /var/ipcop/urlfilter/bin /var/ipcop/urlfilter/blacklists /home/httpd/html/images/urlfilter /home/httpd/html/repository Step 2: Copying URL filter files -------------------------------------------- /usr/sbin/squidGuard /usr/lib/libdb-3.3.so /home/httpd/cgi-bin/urlfilter.cgi /home/httpd/cgi-bin/logs.cgi/urlfilter.dat /var/ipcop/urlfilter/autoupdate/autoupdate.urls /var/ipcop/urlfilter/autoupdate/cron.daily /var/ipcop/urlfilter/autoupdate/cron.weekly /var/ipcop/urlfilter/autoupdate/cron.monthly /var/ipcop/urlfilter/squidGuard.conf /etc/squidGuard/squidGuard.conf (creating symlink) /var/ipcop/urlfilter/bin/prebuild.pl /var/ipcop/urlfilter/bin/autoupdate.pl /var/ipcop/urlfilter/bin/wget /home/httpd/html/redirect.cgi /home/httpd/html/images/urlfilter/1x1.gif /home/httpd/html/images/urlfilter/background.jpg /home/httpd/html/images/urlfilter/led-green.gif /home/httpd/html/images/urlfilter/led-red.gif /home/httpd/html/images/urlfilter/copy.gif /var/ipcop/urlfilter/version Step 3: Configuring logfile rotation -------------------------------------------- /etc/logrotate.conf Step 4: Preparing blacklists -------------------------------------------- Writing new blacklists from scratch Creating configuration file Building blacklist databases Creating custom directories Step 5: Setting ownerships -------------------------------------------- Setting ownership and permissions Step 6: Patching system files -------------------------------------------- Extending cron table Patching language files: /var/ipcop/langs/bz.pl /var/ipcop/langs/de.pl /var/ipcop/langs/en.pl /var/ipcop/langs/es.pl /var/ipcop/langs/fr.pl /var/ipcop/langs/it.pl /var/ipcop/langs/nl.pl /var/ipcop/langs/ru.pl Rebuilding language cache Patching backup configuration Patching IPCop main menu Patching Web Proxy page
Ara ja podem accedir a URL Filter anant al menú Servicios/Filtro URL:
Recursos:
Prèviament instal·lem el addon wget a IPCOP i després descarreguem URL Filter
[email protected]:~ # wget http://www.advproxy.net/update-accelerator/download/ipcop-updatexlrator-1.0.0.tar.gz
També podeu consultar la web:
http://www.advproxy.net/update-accelerator/
Per tal de consultar si hi han versions més noves.
Un cop descarregat, descomprimim:
[email protected]:~ # tar xvzf ipcop-updatexlrator-1.0.0.tar.gz
I entrem a la carpeta
[email protected]:~ # cd ipcop-updatexlrator
I instal·lem:
[email protected]:~ # ./install ==================================================== IPCop 1.4 Update Accelerator add-on installation ==================================================== Step 1: Creating directories -------------------------------------------- /var/ipcop/updatexlrator /var/ipcop/updatexlrator/bin /var/ipcop/updatexlrator/autocheck /home/httpd/html/updatecache /home/httpd/html/updatecache/download /home/httpd/html/updatecache/metadata /var/log/updatexlrator Step 2: Copying Update Accelerator files -------------------------------------------- /usr/sbin/updxlrator /home/httpd/cgi-bin/updatexlrator.cgi /var/ipcop/updatexlrator/bin/checkup /var/ipcop/updatexlrator/bin/download /var/ipcop/updatexlrator/bin/wget /var/ipcop/updatexlrator/autocheck/cron.daily /var/ipcop/updatexlrator/autocheck/cron.weekly /var/ipcop/updatexlrator/autocheck/cron.monthly all icons in /home/httpd/html/images /var/ipcop/updatexlrator/version Step 3: Configuring logfile rotation -------------------------------------------- /etc/logrotate.conf Step 4: Setting ownerships and permissions -------------------------------------------- Setting ownership and permissions Step 5: Patching system files -------------------------------------------- Extending cron table Patching language files: /var/ipcop/langs/de.pl /var/ipcop/langs/en.pl Rebuilding language cache Patching IPCop main menu
Ara ja podem accedir a Update Accelerator anant al menú Servicios/Update Accelerator:
Recursos:
De la web:
http://www.advproxy.net/calamaris/
Podeu obtenir aquest addon. Per instal·larlo podeu seguir els mateixos passos que hem seguit a Update Accelerator.
Dins d'IPCOP creeu una carpeta anomenada BlockOutTraffic i entreu dins:
[email protected]:~ # mkdir BlockOutTraffic [email protected]:~ # cd BlockOutTraffic
Prèviament instal·lem el addon wget a IPCOP i després descarreguem BlockOutTraffic
[email protected]:~/BlockOutTraffic # wget http://blockouttraffic.de/files/BlockOutTraffic-2.3.2-GUI-b3.tar.gz
I descomprimim:
[email protected]:~/BlockOutTraffic # tar xvzf BlockOutTraffic-2.3.2-GUI-b3.tar.gz
Ara el podem instal·lar executant:
[email protected]:~/BlockOutTraffic # ./setup
I podem accedir a través del menú Firewall/Bloquear Tráfico de salida
Recursos:
Els passos per instal·lar Munin són (des de la línia de comandes de IPCOP):
Descarreguem el plugin:
# wget http://www.ban-solms.de/downloads/munin-ipcop-0.3.1.tar.gz
El descomprimim:
# tar xvzf munin-ipcop-0.3.1.tar.gz
I l'instal·lem:
# munin-ipcop-0.3.1/install -i
Recursos:
Podeu consultar la web:
http://www.ipadd.de/binary.html
Una opció sovint també es copiar directament el binari que volem utilitzar.
$ wget http://www.ipadd.de/download/nmap453.tar.gz $ tar xvzf nmap453.tar.gz $ cd nmap453;./install .i
Aquest addon serveix entre altres moltes funcions com a URL filter per a la versió de IPCOP 2.0.3, podem seguir els seguents passos per fer la instal·lació:
Baixem el paquet:
[email protected]:~ # wget http://sourceforge.net/projects/copfilter/files/copfilter%20v2/copfilter-2.0.91beta3.tgz/download
El descomprimim:
[email protected]:~ # tar xzvf copfilter-2.0.91beta3.tgz
Entrem dins la carpeta descomprimida
[email protected]:~ # cd copfilter-2.0.91beta3
I l'instal·lem
[email protected]:~ ./install
Anem a l'apartat C-ICAP Filter del menú del Copfilter.
Activem la casella de C-ICAP Filter URLFilter
Activem la casella de Use own Domain-Blacklist i introduim les URL que vulguesem restringir:
Messenger utilitza el port 1863 per a establir comunicació. Podem utilitzar BlockOutTraffic per bloquejar Messenger. Primer de tot hem d'afegir un servei per a Messenger a l'apartat Firewall/Configuración avanzada del BOT:
Amb el següent resultat:
Ara podem anar a BOT: Firewall/Bloquear Tráfico de salida i crear una nova regla DROP:
Fem clic a Nueva Regla. Escollim les següent opcions
I a la secció Adicional:
A la resta de configuracions es deixen les opcions per defecte.
El resultat és:
Podem comprovar que funciona des de la línia de comandes (recomanat). Primer ens connectem a IPCOP:
ssh -p 222 [email protected]_INTERFICIE_VERDA
I executem
[email protected]:~ # iptables -nvL| more ............... Chain BOT_FORWARD (1 references) pkts bytes target prot opt in out source destination 14 614 DROP tcp -- eth0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1863 0 0 DROP udp -- eth0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:1863 ...........
Consulteu l'article Com evitar les eines de navegació anònima, concretament l'apartat ultrasurf.
# /usr/local/bin/restartsquid
Consulteu la web: http://www.vmwarez.com/2005/12/ipcop-pre-built-vm-updated.html
Podeu obtenir un màquina virtual de Virtual Box de la següent URL:
http://acacha.dyndns.org/~sergi/ipcop-virtualbox.tar.gz
Podeu utilitzar la comanda:
$ wget http://acacha.dyndns.org/~sergi/ipcop-virtualbox.tar.gz
I descomprimim:
$ tar xvzf ipcop-virtualbox.tar.gz -C ~
NOTA: La descàrrega instal·la els fitxer a la carpeta oculta .VirtualBox i modifica el fitxer de configuració de Virtual Box: VirtualBox.xml amb lo que perdreu la vostra configuració d'IPCOP si executeu aquesta comanda. Feu una còpia prèviament o descomprimeu els fitxers manualment i feu la configuració adequada de Virtual Box a mà.
Ara ja podeu engegar VirtualBox i executar la màquina IPCOP.
NOTA: Cal tenir en compte que l'script que engega la VirtualBox esta per a l'usuari sergi!!! Cal posar el que convingui.
NOTA 2: Sembla ser que amb Debian no funciona. Dona l'error als fitxers de log "The TAP interface setup script did not return the name of a TAP device""....
Els usuaris són:
Molt possiblement haureu de tornar a configurar la xarxa executant la comanda:
# setup
Des de la línia de comandes d'IPCOP.
NOTA: Per tal que tot funcioni correctament cal tenir instal·lat Virtual Box i els paquets uml-utilities i bridge-utilities
$ sudo apt-get install uml-utilities bridge-utilities
Podem utilitzar Virtual Box per a provar IPCOP.
Consulteu l'article Virtual Box per veure com instal·lar Virtual Box.
Un cop tingueu Virtual Box, creeu una màquina virtual per a Linux 2.4 i instal·leu ICOP normalment.
NOTA: Si teniu problemes a l'instal·lar ipcop, utilitzeu l'opció d'inici de boot del kernel de no utilitzar DMA (nodma)
La configuració de la xarxa de la màquina virtual ha de ser la següent:
A Settings de la màquina Virtual a l'apartat Network hem d'escollir la opció Host Interface a la pestanya Adapter 0:
I a la pestanya Adapter 1 hem d'escollir l'opció NAT:
Abans però, consulteu com crear la Host Interface a la secció Creació de Host interfaces i bridging a l'article sobre Virtual Box.
Durant la instal·lació d'IPCOP, escolliu les següents opcions a la configuració de xarxa:
Tipo de Configuración de Red: RED+GREEN
Controladores y targetas asignadas: Les dues actives (Virtual Box utilitza targetes de xarxa AMD PCnet 32)
Configuración de direcciones: La targeta GREEN la posem manual
NOTA: Heu de posar una adreça que correspongui amb la vostra xarxa local.
Configuración de direcciones: La targeta RED la posem en DHCP
Opciones de DNS y Gateway: Les deixem buides per que ja es configurarà amb DHCP.
Configuración del servidor DHCP: El deixem desactivat per no entrar en conflictes amb altres DHCP de la xarxa.
NOTA: Si voleu canviar paràmetres o corregir algun error que haguéssiu comès durant la instal·lació podeu tornar a configurar executant la comanda setup.
La configuració de xarxa la podeu consultar a la següent gràfica:
Les interfícies queden de la següent forma:
# ifconfig eth0 Link encap:Ethernet HWaddr 08:00:27:23:E3:74 inet addr:192.168.1.50 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:13670 errors:0 dropped:0 overruns:0 frame:0 TX packets:8106 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:15319184 (14.6 MB) TX bytes:1175616 (1.1 MB) Interrupt:11 Base address:0xc020 eth1 Link encap:Ethernet HWaddr 08:00:27:65:10:47 inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0 UP BROADCAST NOTRAILERS RUNNING MTU:1500 Metric:1 RX packets:84 errors:0 dropped:0 overruns:0 frame:0 TX packets:96 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:23625 (23.0 KB) TX bytes:8631 (8.4 KB) Interrupt:10 Base address:0xc060
On:
Consultant la comanda route podeu comprovar el gateway és la màquina host:
# route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 * 255.255.255.0 U 0 0 0 eth0 10.0.2.0 * 255.255.255.0 U 0 0 0 eth1 default 10.0.2.2 0.0.0.0 UG 0 0 0 eth1
Les DNS:
# cat /etc/resolv.conf nameserver 127.0.0.1
IPCOP s'utilitza a si mateix com a DNS. En realitat és una cache de DNS dels servidors de DNS de la interfície vermella que els podem consultar al fitxer:
# cat /var/ipcop/red/resolv.conf nameserver 10.0.2.3
En aquest cas és el servidor de DNS de Virtual Box.
El fitxer setuptap.sh prepara la xarxa per a Virtual Box i el fitxer cleanup.sh la torna a deixar tal i com estava.
NOTA: Cal modificar els paràmetres que s'escaiguin per a la vostra configuració. Per exemple en comptes de sergi heu de posar el nom del vostre usuari.
Per que funcionin aquests scripts cal abans haver instal·lat els paquets:
$ sudo apt-get install uml-utilities bridge-utils
Fitxer setuptap.sh:
#!/bin/bash # Create an new TAP interface for the user ’sergi’ and remember its name.
usuari=$(zenity --entry --text "Quin és el teu usuari (login)?" --entry-text "s echo $szAnswer
interface=`/usr/bin/VBoxTunctl -b -u sergi` #Change permissions to /dev/net/tun /bin/chmod 666 /dev/net/tun # If for some reason the interface could not be created, return 1 to # tell this to VirtualBox. if [ -z "$interface" ]; then exit 1 fi # Write the name of the interface to the standard output. echo $interface # Bring up the interface. /sbin/ifconfig $interface up #Create Bridge /usr/sbin/brctl addbr br0 /sbin/ifconfig eth0 0.0.0.0 promisc /usr/sbin/brctl addif br0 eth0 dhclient br0 # And add it to the bridge. /usr/sbin/brctl addif br0 $interface
Fitxer cleanuptap.sh:
#!/bin/bash # Remove the interface from the bridge. The second script parameter is # the interface name. /usr/sbin/brctl delif br0 $2 /sbin/ifconfig br0 down /usr/sbin/brctl delbr br0 dhclient eth0 # And use VBoxTunctl to remove the interface. VBoxTunctl -d $2 #Change permissions to /dev/net/tun /bin/chmod 660 /dev/net/tun /bin/chown root:vboxusers /dev/net/tun
Aquests fitxers els podeu trobar al fitxer comprimit:
http://acacha.dyndns.org/~sergi/ipcop-virtualbox.tar.gz
Concretament a:
.VirtualBox/Machines/IPCOP/setuptap.sh
i
.VirtualBox/Machines/IPCOP/setuptap.sh
O en els següents enllaços directes:
Script per difondre els bloquejos entre diferents màquines IPCOP:
$ cat /home/sergi/scripts/urlfilter/distribuir_urlfilter_aula1.sh #!/bin/bash IPCOP_MASTER="ipcop1" BLOCKED_FOLDER="blocked" CUSTOM_BLOCKED_FOLDER="/var/ipcop/urlfilter/blacklists/custom/$BLOCKED_FOLDER" DSH_GROUP="ipcops" NOBODY_USER="nobody" scp -r $IPCOP_MASTER:$CUSTOM_BLOCKED_FOLDER . scp -r $BLOCKED_FOLDER/. ipcop2:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop3:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop4:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop5:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop6:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop7:$CUSTOM_BLOCKED_FOLDER scp -r $BLOCKED_FOLDER/. ipcop8:$CUSTOM_BLOCKED_FOLDER dsh -g $DSH_GROUP -M "chown -R $NOBODY_USER:$NOBODY_USER $CUSTOM_BLOCKED_FOLDER"
NOTA: Cal haver configurat abans l'accés amb SSH sense contrasenya (claus públiques) i DSH.
I només falta configurar cron per executar aquest script un cop al dia:
$ sudo cat /etc/cron.d/url_filter # Regular cron jobs for the moodle package * 15 * * * sergi /home/sergi/scripts/urlfilter/distribuir_urlfilter_aula1.sh > /dev/null
Tenim diferents solucions per fer el control d'accés a IPCOP. Partim de l'exemple que ens interessa que usuaris no administradors puguin accedir al BlockOutTrafic però no a la resta d'eines.
Un sol usuari i contrasenya compartides entre tots els professors.
Això es pot fer ràpid modificant el fitxer /etc/httpd/conf/httpd.conf:
## ## httpd.conf -- Apache HTTP server configuration file ## ## $Id: httpd.conf,v 1.15.2.7 2005/04/16 11:40:15 rkerr Exp $ ## ServerType standalone ServerRoot /etc/httpd .............. <Directory /home/httpd/cgi-bin> AllowOverride None Options None AuthName "Restricted" AuthType Basic AuthUserFile /var/ipcop/auth/users Require user admin <Files index.cgi> Satisfy Any Allow from All </Files> # Start of modification by advproxy <Files chpasswd.cgi> Satisfy Any Allow from All </Files> <Files webaccess.cgi> Satisfy Any Allow from All </Files> # End of modification by advproxy <Files credits.cgi> Satisfy Any Allow from All </Files> <Files dial.cgi> Require user admin dial </Files> <Files fwrules.cgi> Require user profe </Files> </Directory> ................
I afegir l'usuari profe al fitxer /var/ipcop/auth/users:
$ htpasswd /var/ipcop/auth/users profe
I tornar a iniciar l'IPCOP o llegir el següent apartat
No hi ha fitxers /etc/init.d. Per reiniciar podem executar:
# ps aux | grep http root 2044 0.0 0.5 5064 2260 ? Ss 20:21 0:00 httpd nobody 2045 0.0 0.6 5228 2644 ? S 20:21 0:00 httpd nobody 2046 0.0 0.6 5228 2548 ? S 20:21 0:00 httpd
I matem tots els processos:
$ kill 2044 2045 2046
I tornem a executar el servidor:
# httpd
Consulteu l'article Sistemes encastats (embedded).
IPCOP utilitza fcron. Per afegir tasques cal utilitzar fcrontab:
Consultar les tasques:
$ fcrontab -l
Afegir/editar tasques
$ fcrontab -e
Es pot fer amb la comanda route:
############Rutes estàtiques Centre########### route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.11.2
El fitxer que es pot tocar per fer el canvi permanent és:
/etc/rc.d/rc.netaddress.up
Després de les línies:
if [ "$1" != "NOTGREEN" ]; then if [ "$GREEN_DEV" != "" ]; then /sbin/ifconfig $GREEN_DEV $GREEN_ADDRESS netmask $GREEN_NETMASK broadcast $GREEN_BROADCAST up
Afegiu les rutes. El fitxer queda de la següent manera:
... if [ "$1" != "NOTGREEN" ]; then if [ "$GREEN_DEV" != "" ]; then /sbin/ifconfig $GREEN_DEV $GREEN_ADDRESS netmask $GREEN_NETMASK broadcast $GREEN_BROADCAST up ############Rutes estàtiques Centre########### route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.2.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.3.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.4.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.5.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.6.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.7.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.8.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.12.0 netmask 255.255.255.0 gw 192.168.11.2 route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.11.2 else echo "WARNING: No driver set for GREEN" fi fi
Recursos:
Per fer-les permanent cal afegir-les al fitxer:
$ cat /etc/rc.d/rc.firewall.local
Sembla ser que l'error és un fitxer access.log molt gran.
Per exemple en el meu cas:
$ ls -lah /var/log/squid/access.log -rw-r--r-- 1 squid squid 300M 2008-03-07 16:23 /var/log/squid/access.log
Sembla que la solució es esborrar el fitxer:
$ sudo rm /var/log/squid/access.log
I rotar els logs manualment:
$ logrotate /etc/logrotate.conf
Recursos:
La comanda
$ httpscert read Certificate issuer 'ipcopaula1.aula1' is not the same as the hostname'ipcopaula1.iescopernic.com' Probably host or domain name has been changed in setup You could remake server certificate with '/usr/local/bin/httpscert new'
Ens permet veure el certificat de seguretat d'IPCOP. Si em canviat el nom de la màquina haurem de modificar el certificat amb:
# /usr/local/bin/httpscert new
Si us trobeu que no podeu accedir a màquines d'Internet pel seu nom i si per la IP, i a l'executar un ping per exemple a:
$ ping www.google.com
Ens dona un error de Host Not Known és que teniu algun problema amb les dns. IPCOP utilitza un cache de DNS anomenat dnsmasq. El problema sovint és que molts DNS no et permeten fer peticions recursives. O podem detectar consultant el fitxer de log per a dnsmasq. Amb Ipcop executem:
$ cat /var/log/messages | grep dnsmasq Oct 18 18:25:26 ipcopaula4 dnsmasq[322]: nameserver 213.4.132.1 refused to do a recursive query
Per tant ens caldrà canviar els DNS de la targeta de xarxa vermella executant la configuració un altre cop amb la comanda:
$ setup
O podem modificar el fitxer:
/var/ipcop/red/resolv.conf
I utilitzar un servidor de DNS que si ho permeti, o en cas de que el servidor de DNS sigui nostre seguir les següents passes.