Sem gastar nada e utilizando software livre é possível aumentar a segurança do seu servidor de sites.

O objetivo deste post é ensinar algumas dicas sobre soluções simples e sem custo com qualquer tipo de licença. Claro que há diversos tipos de tweaks, políticas e softwares que podem ser utilizados nos sistemas Linux para melhorar a segurança e a integridade dos dados, mas a ideia aqui é começar com o básico e que os outros usuários compartilhem suas alternativas gratuitas e opensource.

  • Antivirus Para Linux? Sim!
    Boa parte dos problemas dos servidores web começam com a instalação indevida de botnets (scripts php, perl, shell etc) que são utilizados para roubar dados, alterar os seus site, fazer ataques a outros servidores e redistribuir malwares.
    Saiba que a maioria dos botnets e malwares utilizados em sistemas como wordpress, joomla, drupal etc são detectáveis pelo antivírus opensource e gratuito clamav. E você não precisa deixar o daemon sendo executado ocupando memória e processador. Use-o sob demanda para economizar recursos do servidor.
    A dica: Faça uma varredura completa pelo menos uma vez por semana em seu servidor e em diretórios críticos (como nas home dos usuários, public_html e diretórios tmp) todos os dias.
    Como instalar:
    Debian e Ubuntu (disponível no repositório oficial):
    Código:
    apt-get -y install clamav clamav-update
    CentOS (necessário instalar repositório EPEL):
    Código:
    yum -y install clamav clamav-update
    Fedora (disponível no repositório oficial):
    Código:
    yum -y install clamav clamav-update
    Arch e Manjaro (disponível no repositório oficial):
    Código:
    pacman -S clamav clamav-update
    Gentoo (disponível no repositório oficial):
    Código:
    emerge -pv clamav clamav-update
    Script para varredura:
    Código:
    #!/bin/bash
    # atualiza a base do clamav
    freshclam --quiet
    # diretorio a ser feita a varredura
    DIRETORIO="/"
    
    clamscan -l /var/log/clamav-scan$(date -R | tr " " "-") -r $DIRETORIO
    Script apara analise de log:
    Código:
    #!/bin/bash
    # recebe como parametro o log de uma varredura e devolve os arquivos provavelmente infectados
    # exemplo: ./scriptanalise.sh /var/log/clamav-scanTue,-18-Nov-2014-19:46:08--0200
    
    if [ $# -eq 1 ]
    then
            if [ -f arquivo ]
            then
                    cat $1 | egrep FOUND
                    exit 0
            else
                    echo "arquivo invalido"
                    exit 1
            fi
    elif [ $# -lt 1 ]
    then
            echo "o script deve receber arquivo de log do clamav como parametro (com o caminho completo)"
    else
            echo "o script deve receber apenas o arquivo de log do clamav como parametro (com o caminho completo)"
    fi
  • Buscando por Rootkits
    Rootkits utilizam-se de técnicas para esconder determinados processos de outro. Por exemplo, você existir um processo sendo executado pelo root, mas que você não consegue simplesmente visualizalo pelos comandos ps, lsof ou top. Eles podem alterar o resultados de leitura de arquivos do sistema operacional para enviar informações erradas aos processos (como a varredura de um antivírus, por exemplo) e até substituir binários/scripts do seu sistema por uma versão com rootkit instalado.
    A dica: Utilizar programas preparados para identificar esses programas maliciosos: rkhunter e chkrootkit. Faça uma varredura pelo menos semanal.
    Como instalar:
    rkhunter:
    Código:
    - Faca download do rkhunter no link abaixo
    http://sourceforge.net/projects/rkhunter/files/rkhunter/1.4.2/
    - Extraia o rkhunter : tar xzvf rkhunter-1.4.2.tar.gz
    - Acesse o diretorio onde voce extraiu e execute, como root, o comando abaixo:
    ./installer.sh --install
    chkrootkit:
    Código:
    - Baixe o arquivo do link abaixo
    ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz
    - Extraia o arquivo: tar xzvf chkrootkit.tar.gz
    - Acesse o diretorio onde voce extraiu e execute, como root, o comando abaixo:
    make sense
    Como fazer a varredura:
    rkhunter:
    Código:
    - Atualize o rkhunter:
    /usr/local/bin/rkhunter --update
    
    - Execute o rkthunter:
    /usr/local/bin/rkhunter -q -c -l  /var/log/rkhunter-scan$(date -R | tr " " "-")
    
    - Para verificar o resultado, execute:
    cat /var/log/rkhunter-scanTue\,-18-Nov-2014-20\:46\:01--0200 | tail -n 20
    
    - Para verificar os avisos do rkhunter em um arquivo de log de varredura, execute:
    cat /var/log/rkhunter-scanTue\,-18-Nov-2014-20\:46\:01--0200 | egrep -i Warning
    chkrootkit:
    Código:
    - Acesse o diretório onde você extraiu o chkrootkit
    
    - Execute o comando abaixo como root:
    ./chkrootkit