Differences

This shows you the differences between two versions of the page.

Link to this comparison view

instalacao_e_configuracao_squidclamav_no_centos_6.3_pt_br [2017/09/05 12:18] (current)
Line 1: Line 1:
 +====== Instalação e Configuração do SquidClamav no CentOS 6.3  ======
  
 +
 +E ai galera, aqui eu vou abordar a instalação e a configuração do SquidClamav que é um plugin que habilita o squid a utilizar o clamav para verificar vírus nas páginas que estamos navegando.
 +
 +Prepare o seu sistema com o seguinte script http://​wiki.douglasqsantos.com.br/​doku.php/​confinicialcentos6_en para que não falte nenhum pacote ou configuração.
 +
 +Agora vamos atualizar os repositórios e vamos fazer um upgrade do sistema
 +<sxh bash>
 +yum check-update && yum update -y
 +</​sxh>​
 +
 +Agora vamos armazenar o anti-vírus
 +<sxh bash>
 + yum install clamd -y
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização
 +<sxh bash>
 +chkconfig --add clamd
 +chkconfig clamd on
 +</​sxh>​
 +
 +Agora vamos inicializar ele
 +<sxh bash>
 +/​etc/​rc.d/​init.d/​clamd start 
 +</​sxh>​
 +
 +Vamos acessar o diretório que vai armazenar os fontes
 +<sxh bash>
 +cd /usr/src
 +</​sxh>​
 +
 +Agora vamos obter o c-icap que é um carinha que vai auxiliar o squidclamav
 +<sxh bash>
 +wget -c http://​www.douglasqsantos.com.br/​Downloads/​security/​c_icap-0.2.4.tar.gz
 +</​sxh>​
 +
 +Agora vamos obter o squidclamav
 +<sxh bash>
 +wget -c http://​www.douglasqsantos.com.br/​Downloads/​security/​squidclamav-6.10.tar.gz
 +</​sxh>​
 +
 +Agora vamos descompactar o c_icap
 +<sxh bash>
 +tar -xzvf c_icap-0.2.4.tar.gz
 +</​sxh>​
 +
 +Agora vamos acessar o diretório
 +<sxh bash>
 +cd c_icap-0.2.4
 +</​sxh>​
 +
 +Agora vamos configurar ele
 +<sxh bash>
 +./​configure ​
 +</​sxh>​
 +
 +Agora vamos compilar e instalar ele
 +<sxh bash>
 +make && make install clean
 +</​sxh>​
 +
 +Agora vamos copiar a configuração dele para o /etc
 +<sxh bash>
 +cp /​usr/​local/​etc/​c-icap.conf /etc
 +</​sxh>​
 +
 +Agora Agora vamos fazer alguns ajustes nele
 +<sxh bash>
 +sed -i '​s/​ServerAdmin you@your.address/​ServerAdmin douglas@douglasqsantos.com.br/​g' ​ /​etc/​c-icap.conf
 +sed -i '​s/​ServerName YourServerName/​ServerName proxy.douglasqsantos.com.br/​g' ​ /​etc/​c-icap.conf
 +sed -i '​497s/​^/​Service squidclamav squidclamav.so/'​ /​etc/​c-icap.conf
 +</​sxh>​
 +
 +Agora vamos criar o script de inicialização do c-icap
 +<sxh bash>
 +vim /​etc/​rc.d/​init.d/​c-icap
 +#!/bin/bash
 +# c-icap: Start/Stop c-icap
 +# chkconfig: - 70 30
 +# description:​ c-icap is an implementation of an ICAP server.
 +# processname:​ c-icap
 +# pidfile: /​var/​run/​c-icap/​c-icap.pid
 +
 +. /​etc/​rc.d/​init.d/​functions
 +. /​etc/​sysconfig/​network
 +
 +CONFIG_FILE=/​etc/​c-icap.conf
 +PID_DIR=/​var/​run/​c-icap
 +
 +RETVAL=0
 +start() {
 +   echo -n $"​Starting c-icap: "
 +   ​daemon /​usr/​local/​bin/​c-icap -f $CONFIG_FILE
 +   ​RETVAL=$?​
 +   echo
 +   [ $RETVAL -eq 0 ] && touch /​var/​lock/​subsys/​c-icap
 +   ​return $RETVAL
 +}
 +stop() {
 +   echo -n $"​Stopping c-icap: "
 +   ​killproc c-icap
 +   rm -f /​var/​run/​c-icap/​c-icap.ctl
 +   ​RETVAL=$?​
 +   echo
 +   [ $RETVAL -eq 0 ] && rm -f $PID_DIR/​c-icap.pid /​var/​lock/​subsys/​c-icap
 +   ​return $RETVAL
 +}
 +case "​$1"​ in
 +   ​start)
 +      start
 +   ;;
 +   stop)
 +      stop
 +   ;;
 +   ​status)
 +      status c-icap
 +   ;;
 +   ​restart)
 +      stop
 +      start
 +   ;;
 +   *)
 +      echo $"​Usage:​ $0 {start|stop|status|restart}"​
 +   exit 1
 +esac
 +exit $?
 +</​sxh>​
 +
 +Agora vamos dar a permissão de execução para ele
 +<sxh bash>
 +chmod 755 /​etc/​rc.d/​init.d/​c-icap
 +</​sxh>​
 +
 +Agora vamos colocar ele na inicialização do sistema
 +<sxh bash>
 +chkconfig --add c-icap
 +chkconfig c-icap on 
 +</​sxh>​
 +
 +Agora vamos preparar o squidClamav
 +<sxh bash>
 +cd /usr/src
 +tar -xzvf squidclamav-6.10.tar.gz
 +</​sxh>​
 +
 +Agora vamos acessar o diretório dele
 +<sxh bash>
 +cd squidclamav-6.10
 +</​sxh>​
 +
 +Agora vamos mandar configurar ele
 +<sxh bash>
 +./configure
 +</​sxh>​
 +
 +Agora vamos mandar compilar e instalar ele
 +<sxh bash>
 +make && make install clean
 +</​sxh>​
 +
 +Agora precisamos ajustar a sua configuração
 +<sxh bash>
 +sed -i '​s,​redirect .*,redirect http://​www.douglasqsantos.com.br/​error.html,​g'​ /​etc/​squidclamav.conf ​
 +sed -i '​s,​clamd_local .*,​clamd_local /​var/​run/​clamav/​clamd.sock,​g'​ /​etc/​squidclamav.conf
 +echo '​trustclient ^192\.168\.1\.21$'​ >> /​etc/​squidclamav.conf
 +echo '​trustuser douglas.santos'​ >> /​etc/​squidclamav.conf
 +</​sxh>​
 +
 +Aqui nas configurações acima o **redirect** é para enviar o cliente para uma página de erro quando ele tentar acessar um vírus, a opção **clamd_local** é o caminho do socket do clamav, a opção **trustclient** é o ip do cliente que não vamos fazer checagem e o **trustuser** é o cliente que não vamos fazer checagem.
 +
 +Agora precisamos inicializar o c-icap
 +<sxh bash>
 +/​etc/​rc.d/​init.d/​c-icap start 
 +</​sxh>​
 +
 +Agora vamos inserir as seguintes linhas no final do arquivo de configuração do squid
 +<sxh apache>
 +vim /​etc/​squid/​squid.conf
 +[...]
 +#Final do arquivo
 +icap_enable on
 +icap_send_client_ip on
 +icap_send_client_username on
 +icap_client_username_header X-Authenticated-User
 +icap_service service_req reqmod_precache bypass=1 icap://​127.0.0.1:​1344/​squidclamav
 +adaptation_access service_req allow all
 +icap_service service_resp respmod_precache bypass=1 icap://​127.0.0.1:​1344/​squidclamav
 +adaptation_access service_resp allow all
 +</​sxh>​
 +
 +Agora precisamos reiniciar o squid
 +<sxh bash>
 +/​etc/​rc.d/​init.d/​squid restart ​
 +</​sxh>​
 +
 +Agora podemos testar acessando http://​www.eicar.org/​download/​eicar.com.txt devemos ser direcionados para a página de erro.
 +
 +Agora se acessar com o usuário douglas.santos ou da máquina 192.168.1.21 não vamos ser bloqueados.
 +
 +====== Referências ======
 +  - http://​sourceforge.net/​projects/​c-icap/​
 +  - http://​squidclamav.darold.net/​
 +  - http://​squidclamav.darold.net/​install.html
 +  - http://​squidclamav.darold.net/​config.html