maio 292014
 

Neste tutorial iremos aprender como integrar o ClamAV com o PureFTPd em servidores com cPanel.

O primeiro passo é ter o ClamAV instalado no servidor, este procedimento pode ser realizado pelo WHM, como o intuito aqui é explicar a integração então não iremos abordar a instalação do mesmo.

Edite o arquivo /etc/pure-ftpd.conf e altere a o parâmetro CallUploadScript para yes:

vi /etc/pure-ftpd.conf

# If your pure-ftpd has been compiled with pure-uploadscript support,
# this will make pure-ftpd write info about new uploads to
# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and
# spawn a script to handle the upload.
# Don't enable this option if you don't actually use pure-uploadscript.

CallUploadScript yes

Agora crie o arquivo /etc/pure-ftpd/clamav_check.sh com o seguinte conteúdo:

#!/bin/bash

# email subject
SUBJECT="VIRUS DETECTADO NO SERVIDOR `hostname`!!!"

# Email To ?
EMAIL="email.dominio.com.br"
FROM="email.dominio.com.br"
# Log location
LOG=`mktemp /tmp/virus-scan.XXXXX`

check_scan () {

# Check the last set of results. If there are any "Infected" counts that aren't zero, we have a problem.
if [ `tail -n 12 ${LOG} | grep Infected | grep -v 0 | wc -l` != 0 ]
then
EMAILMESSAGE=`mktemp /tmp/virus-alert.XXXXX`
echo "To: ${EMAIL}" >> ${EMAILMESSAGE}
echo "From: ${FROM}" >> ${EMAILMESSAGE}
echo "Subject: ${SUBJECT}" >> ${EMAILMESSAGE}
echo "Importance: High" >> ${EMAILMESSAGE}
echo "X-Priority: 1" >> ${EMAILMESSAGE}
echo -e "\n" >> ${EMAILMESSAGE}
echo "`head -2 ${LOG}`" >> ${EMAILMESSAGE}
sendmail -t < ${EMAILMESSAGE} rm -f ${EMAILMESSAGE} fi } /usr/local/bin/clamscan --remove --infected "$1" >> ${LOG}
check_scan
rm -f ${LOG}

De permissão de execução:

chmod 755 /etc/pure-ftpd/clamav_check.sh

Edite agora o arquivo /etc/rc.d/rc.local e adicione a seguinte linha:

/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh

Esta linha fará com que o serviço seja executado sempre que reiniciar o servidor.

Para aplicar a configuração execute os comandos abaixo:

/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
service pure-ftpd restart

Pronto agora todos os arquivos enviados via FTP serão escaneados pelo ClamAV 🙂

abr 062013
 

O Mod Security funciona como um módulo do apache previnindo contra tentativas de invasão, segue abaixo os comandos necessários para configuração do Mod Security com as regras da Atomicor:

Acesse o SSH como root e digite os comandos abaixo:


# cd /usr/local/apache/conf/
# mkdir modsec_rules
# cd modsec_rules
# wget https://www3.atomicorp.com/channels/rules/delayed/modsec-201212291012.tar.gz
# tar zvxf modsec-201212291012.tar.gz
# rm -fr zvxf modsec-201212291012.tar.gz

Agora crie alguns diretórios com os comandos abaixo:


# mkdir /var/asl
# mkdir /var/asl/tmp
# mkdir /var/asl/data
# mkdir /var/asl/data/msa
# mkdir /var/asl/data/audit
# mkdir /var/asl/data/suspicious
# mkdir /etc/asl

Configure a permissão dos diretórios criados:


# chown nobody.nobody /var/asl/data/msa
# chown nobody.nobody /var/asl/data/audit
# chown nobody.nobody /var/asl/data/suspicious
# chmod o-rx -R /var/asl/data/*
# chmod ug+rwx -R /var/asl/data/*

Crie o arquivo responsável por liberar o acesso ao servidor sem que seja aplicada as regras do Mod Security:


# touch /etc/asl/whitelist

Agora acesse o WHM e clique no link “Mod Security”, substitua as regras atuais pelas regras abaixo:


SecComponentSignature 201212291012
SecRequestBodyAccess On
SecResponseBodyAccess On
SecResponseBodyMimeType (null) text/html text/plain text/xml
SecResponseBodyLimit 2621440
SecServerSignature Apache
SecUploadDir /var/asl/data/suspicious
SecUploadKeepFiles Off
SecAuditLogParts ABIFHZ
SecArgumentSeparator '&'
SecCookieFormat 0
SecRequestBodyInMemoryLimit 131072
SecDataDir /var/asl/data/msa
SecTmpDir /tmp
SecAuditLogStorageDir /var/asl/data/audit
SecResponseBodyLimitAction ProcessPartial
SecPcreMatchLimit 150000
SecPcreMatchLimitRecursion 150000

# ConfigServer ModSecurity - descomente caso vc use o ConfigServer CMC.
# Include /usr/local/apache/conf/modsec2.whitelist.conf

#ASL Rules
Include /usr/local/apache/conf/modsec_rules/modsec/99_asl_jitp.conf
Include /usr/local/apache/conf/modsec_rules/modsec/50_asl_rootkits.conf
#Include /usr/local/apache/conf/modsec_rules/modsec/00_asl_rbl.conf
Include /usr/local/apache/conf/modsec_rules/modsec/00_asl_whitelist.conf
Include /usr/local/apache/conf/modsec_rules/modsec/05_asl_scanner.conf
Include /usr/local/apache/conf/modsec_rules/modsec/20_asl_useragents.conf

Agora salve as configurações que automaticamente as regras já estarão funcionando em seu servidor 🙂

fev 042013
 

Git é um sistema de controle de versão distribuído com ênfase em velocidade. O Git foi inicialmente projetado e desenvolvido por Linus Torvalds para o desenvolvimento do kernel Linux.
Cada diretório de trabalho Git é um repositório com todos os históricos e habilidade total de controle das revisões, não dependente de acesso a uma rede ou a um servidor central.

Abaixo segue os comandos para instalar o GIT:


# cd /usr/loca/src/
# wget https://git-core.googlecode.com/files/git-1.8.1.tar.gz
# tar -xzf git-1.8.1.tar.gz
# cd git-1.8.1
# ./configure
# make
# make install

Para criar um repositório Git digite os comandos abaixo:


# mkdir /home/diretorio_do_repositorio.git
# cd /home/diretorio_do_repositorio.git
# git init .
# git config --global user.name "Nome do Usuario"
# git config --global user.email [email protected]
# touch .gitignore
# git add .
# git commit -m "Commit inicial"

 Posted by at 9:31
jul 292012
 

Ao tentar configurar quotas para um usuário, caso apareça o erro abaixo:


Installing Default Quota Databases......Done
Quota Mode: Linux
journaled quota support: not available with vzaquota (disabled)
Quotas have been enabled, however they may not be up to date as quotacheck has been skipped.
No filesystems with quota detected.

Será necessário executar os seguintes comandos no servidor dedicado:


vzctl stop <PID>
vzctl set <PID> --quotaugidlimit 10000 --save
vzctl start <PID>

Obs.: Lembre-se de alterar o pelo PID do VPS.

 Posted by at 15:25
maio 052012
 

Segue abaixo os comandos para instalar um plugin que verifica se os DNS das contas do cpanel estão apontando para o servidor corretamente:


# cd /home
# rm -f latest-accountdnscheck
# wget http://www.ndchost.c...ck/download.php
# sh latest-accountdnscheck

Depois de instalado basta logar como root e seguir até Plugins
Irá aparecer duas telas “Resolved to correct IP” e “Resolved to wrong IP”

Para quem preferir pode ver a mesma lista pelo SSH executando o seguinte comando:


# /var/cpanel/accountdnscheck/scripts/cli_run.sh

Caso o open_basedir esteja configurado não irá funcionar via SSH

abr 282012
 

A partir da versão 11.32 do cPanel o analisador de estatísticas conhecido como LogaHolic foi adicionado oficialmente, porém em algumas instalações ele pode apresentar o erro abaixo ao ser acessado pelo cPanel:

HTTP error 401 You do not have permission to access this page

Para resolver este problema é necessário atualizar o LogaHolic, para isso execute os comandos abaixo:


# mv /usr/local/cpanel/base/3rdparty/Logaholic /usr/local/cpanel/base/3rdparty/Logaholic.bk
# /usr/local/cpanel/bin/update-logaholic --force
# service cpanel restart
# rm -rf /usr/local/cpanel/base/3rdparty/Logaholic.bk

abr 282012
 

A partir da versão 11.32 o cpanel deixou de oferecer suporte ao DomainKeys e o mesmo foi substituido pelo DKIM, segue abaixo os comandos necessários para configurar o DKIM para todas as contas do cPanel:


# ls /var/cpanel/users | while read a; do
# /usr/local/cpanel/bin/dkim_keys_install $a
# done

abr 012012
 

Para instalar o nginx pronunciado como (engine x) entre no shell e digite os comandos abaixo:


# cd /usr/local/src
# wget http://nginxcp.com/latest/nginxadmin.tar
# tar xf nginxadmin.tar
# cd publicnginx
# ./nginxinstaller install

Feito isso reinicie o apache com o comando abaixo:


# /scripts/restartsrv httpd