Squid3 en CentOS 27-Sep-2011

download Squid3 en CentOS 27-Sep-2011

of 13

Transcript of Squid3 en CentOS 27-Sep-2011

Squid3 en CentOS CentOs presenta en sus repositorios el servidor proxy Squid, pero nosotros necesitamos Squid3, por lo que lo descargaremos y compilaremos para nuestro servidor. Pre-requisitos para la instalacin: $ yum -y groupinstall "Development Tools" // al colocar -y signiIica que por deIault ponga yes $ yum -y install rpm-build openjade linuxdoc-tools openldap-devel pam-devel openssl-devel httpd rpm-devel $ yum install perl-DBI libcryptop.so.6 lidb-4.3.so libexpat.so.0 liblber-2.3.so.0 libldap-2.3.so.0 libssl.so.6 Descargar la fuente RPM de Squid3: $ cd /usr/src $ wget http://people.redhat.com/jskala/squid/squid-3.1.8-1.el5/i386/squid-3.1.8-1.el5.i386.rpm Instalar Squid3: $ rpm -ivh squid-3.1.8-1.el5.i386.rpm Algunas veces nos muestra el siguiente error porque es una nueva version de squid entonces debemos instalar la libreria que nos Ialta con: yum install libdb-4.3.so Nos vamos a descargar el winscp portable ejecutable, para acceder via remota y poder trabajar como si estuvieramos en windows al conIigurar se le pone solo la ip del servidor por seguridad Ademas descargar el notepad minimalist Entramos al wiscp portable ejecutable y presiono Login, luego me sale un mensaje de advertencia de que me voy a conectar al servidor, y ahi nos pide el usuario y password Vamos a options PreIerences ~ Editor remove los dos editores: Agregamos nuestro editor notepad, buscando la ruta en donde tenemos nuestro notepad Luego de escoger la ruta de mi notepad y poner aceptar, me voy a la ruta en el panel derecho del winscp, /etc/squid y buscamos el archivo squid.conI y le hacemos doble click al archivo para conIigurarlo Antes de editar cualquier archivo nos vamos a language seccion S seleccionamos shell (con esto voy a ver en colores las sentencias) Siempre debo sacar una copia del squid antes de modiIicarlo. Las 3 primeras lineas son predeterminadas, nos hablan del proxy y el area local: acl manager proto cacheobject acl localhost src 127.0.0.1/32 ::1 acl tolocalhost dst 127.0.0.0/8 0.0.0.0/32 ::1 Asignandole reglas, aqui declaro la regla mediante acl, aqui declaro la ip del usuario y luego con http declaro si puede o no tener acceso a internet o a la red o sin acceso: acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src Ic00::/7 # RFC 4193 local private network range acl localnet src Ie80::/10 # RFC 4291 link-local (directly plugged) machines Sintaxis: acl nombreacl tipoacl valoracl nombreacl es cualquier nombre o grupo Ej.: acl heidiip src 192.168.1.136 // para darle acceso a Heidi por medio de la ip Si quiero dar acceso por medio de la mac acl heidimac arp a:r:o: (00-E0-52-A9-4A-5A 00:E0:52:A9:4A:5A) acl aula01 src '/etc/squid/aula01 acl para dentro del Iichero aula01 pongo todas las ip del grupo que quiero que esten declaradas Practica: crear una conIiguracion en el squid con su propia ip de windows para que salga por el squid O Voy al IireIox herramientas opciones avanzadas conexion Luego colocamos en el archivo squid #acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl heidiip src 192.168.1.108 #ip windows # Deny requests to certain unsaIe ports httpaccess deny !SaIeports httpaccess allow heidiip # aqui le estoy dando acceso para navegar en internet o olvidar desactivar el firewall en el servidor centos: Sistemas Administracin Corta fuegos y deshabilitamos SELinux (ver archivo sqstat.txt para que no nos salga acceso denegado):. 192.168.1.32/32 cada parte lo ve en octetos de 8, y si quiero ver toda la red 192.168.1.32/32 (8*4) 192.168.1.32/16 si quiero ver los grupos 192.168 192.168.1.32/16. Cada rango de octeto va de 0 - 255 Ej.: Nuestra subnet para el curso es 192.168.1.0/24 Tipos acl: O src Iuente, me reIiero desde donde viene, source, origen. O arp mac O dst hacia donde va, destino O urlregex control de acceso a paginas web, se queda la pagina en blanco, no se carga O port puerto Dentro del archivo de conIiguracion squid, encontraremos comandos como: acl son las reglas que podemos asignarle al server proxy src source (Iuente de donde viene) saIeports puertos seguros que vamos a conIigurar httpaccess luego que inserto un acl, le doy permiso mediante el http, es para brindar permisos o no a esa acl. httpport 3128 este es el puerto para podernos conectar a nuestro servidor proxy debemos observar desde la linea 62 hacia arriba. Imaginarse que el squid es un Iiltro de paginas web. Configuracin de Squid3: Esto lo hicimos en el winscp y notepad++ vim /etc/squid/squid.conI ctrl z se cierra el editor Configurando auth_param: Esto es para autenticar usuarios al ingresar al internet.Debemos crear el archivo squidpasswd $ touch /etc/squid/squidpasswd authparam basic program /usr/lib/squid/ncsaauth /etc/squid/squidpasswd authparam basic childred 5 # Cantidad permitida para entrar al proxy authparam basic realm Squid proxy-caching web server authparam basic credentialsttl 2 hours Practica: ConIigurar un archivo de autenticacion y le pegamos la parte al inicio del authparam. Seccin ACLs: acl ncsaauth proxyauth REQUIRED Seccin HTTP_ACCESS: httpaccess allow ncsaauth Para crear a los usuarios dentro de squid_passwd, en la consola ejecuto la siguiente: htpasswd /etc/squid/squidpasswd hpinargotepsw: 1234 Luego : service squid restart filtrado de pginas: En el archivo squid creamos un nuevo acl: acl urlregex 'ruta del archivo que contiene las paginas no permitidas Con: touch /etc/squid/squidurlregex Con las http_access, necesitamos ver el orden Deshabilitar Forwarded, colocarlo al final del archivo squid, para deshabilitar que puedan averiguar nuestra ip de la red, por ejemplo que entran a www.cualesmiip.comIorwardedIor oII Practica: crear grupos, denegados (sex) a todos los usuarios excepto 192.168.1.110, y sexualidad permitidos: // acl deniedsex urlregex 'touch /etc/squid/squidurldenied' // acl jeIes src 192.168.1.110 // httpaccess deny deniedsex ! jeIes en el prompt: touch /etc/squid/squidurldenied dentro del archivo sex #-- Hpinargote --# acl heidiip src 192.168.1.108 # ip windows acl ncsaauth proxyauth REQUIRED # para autenticar el internet acl pagerestringido urlregex '/etc/squid/squidurlregex' acl jeIes src 192.168.1.109 #----------------# #-- Hpinargote --# httpaccess allow jeIes httpaccess deny pagerestringido # para autenticar el internet #httpaccess allow ncsaauth # para dar acceso a internethttpaccess allow heidiip #----------------# Para habilitar Squid3, como Annimo: Instroducimo estos parametros al Iinal de todo nuestro archivo conI del Squid3. requestheaderaccess Allow allow allrequestheaderaccess Authorization allow allrequestheaderaccess WWW-Authenticate allow allrequestheaderaccess Proxy-Authorization allow allrequestheaderaccess Proxy-Authenticate allow allrequestheaderaccess Cache-Control allow allrequestheaderaccess Content-Encoding allow allrequestheaderaccess Content-Length allow allrequestheaderaccess Content-Type allow allrequestheaderaccess Date allow allrequestheaderaccess Expires allow allrequestheaderaccess Host allow allrequestheaderaccess II-ModiIied-Since allow allrequestheaderaccess Last-ModiIied allow allrequestheaderaccess Location allow allrequestheaderaccess Pragma allow allrequestheaderaccess Accept allow allrequestheaderaccess Accept-Charset allow allrequestheaderaccess Accept-Encoding allow allrequestheaderaccess Accept-Language allow allrequestheaderaccess Content-Language allow allrequestheaderaccess Mime-Version allow allrequestheaderaccess Retry-AIter allow allrequestheaderaccess Title allow allrequestheaderaccess Connection allow allrequestheaderaccess Proxy-Connection allow allrequestheaderaccess User-Agent allow allrequestheaderaccess Cookie allow allrequestheaderaccess All deny all Iniciamos el servicio del Squid3: service squid start Para que inicie junto al sistema operativo: chkconIig squid on Si nos muestra algun error de visiblehostname, debemos editar nuevamente el archivo squid.conI y agregar la opcion visiblehostname |nombre de nuestro servidor| SERVIDOR DE BASE DE DATOS y SERVIDOR WEB # yum install httpd instalar servidor de base de datos # service httpd start inicializar el server DB Luego voy al browser y pongo la ip de mi server 192.168.1.136 Vamos al putty, e instalamos el mysql: # yum install mysql-server mysql-client # tum install php Luego se reinicia el apache: hhtpd vamos al browser: http://samm.kiev.ua/sqstat/ descargamos sqstat-1.20.tar.gz - 5.2Kbo copiamos la ruta de enlace y vamos al prompt y lo descargamos: tar xzvf nombre_del_comprimido tar czvf nombre_del_carpeta_a_comprimir Descomprimimos el archivo sqstat-1.20.tar.gz, luego de descomprimir entramos y el archivo conIig le hacemos click boton derecho y duplicate luego copiamos: # cp -r sqstat-1.20 /var/www/sqstat estamos renombrando el archivo sqstat y creando el directorio www, a la vez // Para centos debes copiar la carpeta en el directorio www/html importante: http://www.ecualug.org/2008/01/15/comos/como_implementar_sqstat_para_monitoreo_de_usuarios_en_vivo?page1