Plugin do squid responsável por passar o tráfego http pelo antivírus.
1) Baixar em http://www.server-side.de/download.htm;
1) Baixar em http://www.server-side.de/download.htm;
2) Descompactar:
# tar -zxvf havp-0.92a.tar.gz;
3) # ./configure -prefix=/etc/havp
# make
# make install
4) # groupadd havp
# useradd -g havp havp
5) nas versões anteriores do HAVP era necessário montar um drive virtual de memoria, que ele usava para fazer as verificações das paginas. Nessa nova versão
não é mais necessário, tal procedimento será feito dentro dos processos que são abertos, para isso é necessário montar o / com a opção mand.
para montar use o comando:
# mount -o remount,mand /
Obs: Para que essa mudança fique persistente existem duas maneiras de resolver, a primeira editando o arquivo /etc/fstab e mudando de defaults para defaults,mand ou de uma outra maneira editando o arquivo /etc/init.d/havp por volta da linha 52 onde tem: echo "Starting HAVP ..." em baixo desta linha adicione o comando: mount -o remount,mand /
# tar -zxvf havp-0.92a.tar.gz;
3) # ./configure -prefix=/etc/havp
# make
# make install
4) # groupadd havp
# useradd -g havp havp
5) nas versões anteriores do HAVP era necessário montar um drive virtual de memoria, que ele usava para fazer as verificações das paginas. Nessa nova versão
não é mais necessário, tal procedimento será feito dentro dos processos que são abertos, para isso é necessário montar o / com a opção mand.
para montar use o comando:
# mount -o remount,mand /
Obs: Para que essa mudança fique persistente existem duas maneiras de resolver, a primeira editando o arquivo /etc/fstab e mudando de defaults para defaults,mand ou de uma outra maneira editando o arquivo /etc/init.d/havp por volta da linha 52 onde tem: echo "Starting HAVP ..." em baixo desta linha adicione o comando: mount -o remount,mand /
A segunda opção eu gosto mais porq não altera a inicialização do sistema.
6) Setar as permissões aos arquivos:
# chown havp /var/tmp/havp /var/log/havp /var/run/havp
# chmod 700 /var/tmp/havp /var/log/havp /var/run/havp
7) Editar o arquivo /etc/havp/havp.conf
O Arquivo conf original do havp é muito bem documentado e pode ser revisto posteriormente para novas opções, o básico segue abaixo:
# vim /etc/havp/havp.conf
#Usuario e Grupo
USER havp
GROUP havp
#Rodar como processo
DAEMON true
#Local do arquivo do processo
PIDFILE /var/run/havp/havp.pid
#Quantidade minima e maxima de processos (Depende do hardware)
SERVERNUMBER 20
MAXSERVERS 100
#Arquivo de Log e Erro
ACCESSLOG /var/log/havp/access.log
ERRORLOG /var/log/havp/havp.log
LOG_OKS false
LOGLEVEL 0
#Arquivos temporarios de verificacao
SCANTEMPFILE /var/tmp/havp/havp-XXXXXX
TEMPDIR /var/tmp
#Porta que o serviço vai escutar novas conexoes (Deve ser liberada no firewall da maquina)
PORT 8089
BIND_ADDRESS 127.0.0.1
#Deixar os erros em portugues
TEMPLATEPATH /etc/havp/templates/br
#Scaniar imagens, tamanho maximo de arquivos que vão ser scaniados
SCANIMAGES enable
MAXSCANSIZE 5000000
KEEPBACKBUFFER 200000
#Habilitando o antivirus Clamav (podem ser outros antivirus, veja o arquivo default de conf)
ENABLECLAMLIB true
8) Galera agora vem o dilema, não me recordo se o arquivo /etc/init.d/havp é instalado no make ou se temos que copiar na mão grande. na duvida segue abaixo o
arquivo, fique atento apenas para a observação do item 5.
# vim /etc/init.d/havp
#!/bin/sh
#
#
####
# This init-script tries to be LSB conform but platform independent.
#
# Therefore check the following two variables to fit to your requests:
# HAVP_BIN HAVP_CONFIG PIDFILE
# Any configuration of HAVP is done in havp.config
# Type havp --help for help and read havp.config you should have received.
HAVP_BIN=/usr/local/sbin/havp
HAVP_CONFIG=/etc/havp/havp.config
PIDFILE=/var/run/havp/havp.pid
# Return values acc. to LSB for all commands but status:
# 1 generic or unspecified error (current practice)
# 2 invalid or excess argument(s)
# 3 unimplemented feature (for example, "reload")
# 4 user had insufficient privilege
# 5 program is not installed
# 6 program is not configured
# 7 program is not running
# 8-99 reserved for future LSB use
# 100-149 reserved for distribution use
# 150-199 reserved for application use
# 200-254 reserved
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
reload_havp()
{
echo "Reloading HAVP ..."
PID="`cat $PIDFILE`"
if [ "$PID" != "" ]; then
kill -HUP "$PID" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: HAVP not running"
exit 1
fi
else
echo "Error: HAVP not running or PIDFILE not readable"
exit 1
fi
exit 0
}
case "$1" in
start)
echo "Starting HAVP ..."
mount -o remount,mand /
if [ ! -f $HAVP_BIN ]; then
echo "Error: $HAVP_BIN not found"
exit 5
fi
$HAVP_BIN -c $HAVP_CONFIG
exit $?
;;
stop)
echo "Shutting down HAVP ..."
if [ ! -f "$PIDFILE" ]; then
echo "Error: HAVP not running or PIDFILE unreadable"
exit 1
fi
PID="`cat $PIDFILE`"
if [ "$PID" != "" ]; then
kill -TERM "$PID" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: HAVP not running"
exit 1
fi
else
echo "Error: HAVP not running or PIDFILE unreadable"
exit 1
fi
sleep 2
exit 0
;;
restart)
echo "Shutting down HAVP ..."
$0 stop >/dev/null 2>&1
$0 start
exit $?
;;
reload-lists)
reload_havp
;;
force-reload)
reload_havp
;;
reload)
reload_havp
;;
status)
echo "Checking for service HAVP ..."
exit 4
;;
*)
#echo "Usage: $0 {start|stop|status|restart|force-reload|reload|reload-lists}"
exit 0
;;
esac
9) Para que o havp inicie junto com sistema use o comando:
# echo "/etc/init.d/havp start" >> /etc/rc.local
10) vamos iniciar o serviço:
service havp start
E está pronto, rodando o seu plugin de verificação de virus para squid, qualquer duvida olhe os logs em /var/log/havp/havp.log e /var/log/havp/access.log
Versão Utilizada:
havp-0.92a.tar.gz
Observações Finais:
a) As linhas iniciadas com # foram executadas como root;
b) Para o tutorial foi utilizado o CentOS 5.5. Deve funcionar normalmente para o Fedora e Red Hat, para outras distribuições podem ser consideradas as configurações :)
6) Setar as permissões aos arquivos:
# chown havp /var/tmp/havp /var/log/havp /var/run/havp
# chmod 700 /var/tmp/havp /var/log/havp /var/run/havp
7) Editar o arquivo /etc/havp/havp.conf
O Arquivo conf original do havp é muito bem documentado e pode ser revisto posteriormente para novas opções, o básico segue abaixo:
# vim /etc/havp/havp.conf
#Usuario e Grupo
USER havp
GROUP havp
#Rodar como processo
DAEMON true
#Local do arquivo do processo
PIDFILE /var/run/havp/havp.pid
#Quantidade minima e maxima de processos (Depende do hardware)
SERVERNUMBER 20
MAXSERVERS 100
#Arquivo de Log e Erro
ACCESSLOG /var/log/havp/access.log
ERRORLOG /var/log/havp/havp.log
LOG_OKS false
LOGLEVEL 0
#Arquivos temporarios de verificacao
SCANTEMPFILE /var/tmp/havp/havp-XXXXXX
TEMPDIR /var/tmp
#Porta que o serviço vai escutar novas conexoes (Deve ser liberada no firewall da maquina)
PORT 8089
BIND_ADDRESS 127.0.0.1
#Deixar os erros em portugues
TEMPLATEPATH /etc/havp/templates/br
#Scaniar imagens, tamanho maximo de arquivos que vão ser scaniados
SCANIMAGES enable
MAXSCANSIZE 5000000
KEEPBACKBUFFER 200000
#Habilitando o antivirus Clamav (podem ser outros antivirus, veja o arquivo default de conf)
ENABLECLAMLIB true
8) Galera agora vem o dilema, não me recordo se o arquivo /etc/init.d/havp é instalado no make ou se temos que copiar na mão grande. na duvida segue abaixo o
arquivo, fique atento apenas para a observação do item 5.
# vim /etc/init.d/havp
#!/bin/sh
#
#
####
# This init-script tries to be LSB conform but platform independent.
#
# Therefore check the following two variables to fit to your requests:
# HAVP_BIN HAVP_CONFIG PIDFILE
# Any configuration of HAVP is done in havp.config
# Type havp --help for help and read havp.config you should have received.
HAVP_BIN=/usr/local/sbin/havp
HAVP_CONFIG=/etc/havp/havp.config
PIDFILE=/var/run/havp/havp.pid
# Return values acc. to LSB for all commands but status:
# 1 generic or unspecified error (current practice)
# 2 invalid or excess argument(s)
# 3 unimplemented feature (for example, "reload")
# 4 user had insufficient privilege
# 5 program is not installed
# 6 program is not configured
# 7 program is not running
# 8-99 reserved for future LSB use
# 100-149 reserved for distribution use
# 150-199 reserved for application use
# 200-254 reserved
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
reload_havp()
{
echo "Reloading HAVP ..."
PID="`cat $PIDFILE`"
if [ "$PID" != "" ]; then
kill -HUP "$PID" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: HAVP not running"
exit 1
fi
else
echo "Error: HAVP not running or PIDFILE not readable"
exit 1
fi
exit 0
}
case "$1" in
start)
echo "Starting HAVP ..."
mount -o remount,mand /
if [ ! -f $HAVP_BIN ]; then
echo "Error: $HAVP_BIN not found"
exit 5
fi
$HAVP_BIN -c $HAVP_CONFIG
exit $?
;;
stop)
echo "Shutting down HAVP ..."
if [ ! -f "$PIDFILE" ]; then
echo "Error: HAVP not running or PIDFILE unreadable"
exit 1
fi
PID="`cat $PIDFILE`"
if [ "$PID" != "" ]; then
kill -TERM "$PID" >/dev/null 2>&1
if [ $? -ne 0 ]; then
echo "Error: HAVP not running"
exit 1
fi
else
echo "Error: HAVP not running or PIDFILE unreadable"
exit 1
fi
sleep 2
exit 0
;;
restart)
echo "Shutting down HAVP ..."
$0 stop >/dev/null 2>&1
$0 start
exit $?
;;
reload-lists)
reload_havp
;;
force-reload)
reload_havp
;;
reload)
reload_havp
;;
status)
echo "Checking for service HAVP ..."
exit 4
;;
*)
#echo "Usage: $0 {start|stop|status|restart|force-reload|reload|reload-lists}"
exit 0
;;
esac
9) Para que o havp inicie junto com sistema use o comando:
# echo "/etc/init.d/havp start" >> /etc/rc.local
10) vamos iniciar o serviço:
service havp start
E está pronto, rodando o seu plugin de verificação de virus para squid, qualquer duvida olhe os logs em /var/log/havp/havp.log e /var/log/havp/access.log
Versão Utilizada:
havp-0.92a.tar.gz
Observações Finais:
a) As linhas iniciadas com # foram executadas como root;
b) Para o tutorial foi utilizado o CentOS 5.5. Deve funcionar normalmente para o Fedora e Red Hat, para outras distribuições podem ser consideradas as configurações :)
Boa Tarde,
ResponderExcluiramigo estou tentando integrar o SQUID3 com o HAVP mas quando restarto o serviço consta este erro abaixo:
[ 5009.725219] Out of memory: Kill process 4172 (havp) score 538 or sacrifice child
[ 5009.725342] Killed process 4172 (havp) total-vm:339584kB, anon-rss:265420kB, file-rss:0kB Killed
Poderia me ajudar!?