Base de Conhecimento

[Tutorial Completo] Segurança De Seu Dedicado/vps  Imprimir este Artigo

Caros amigos, eu preparei um tutorial completo (pelo menos a intenção é que seja) sobre configuração de segurança de VPS/DEDICADOS. Trata-se de um passo-a-passo bem explicado sobre cada configuração - porém este post não é definitivo, caso vc tenha alguma dica a adicionar eu edito o tópico adicionando-a e colocando seus devidos créditos.

Via SSH - acesso Shell

Instale o ELS:

wget --output-document=installer.sh http://servermonkeys.com/projects/els/installer.sh; chmod +x installer.sh; sh installer.sh; els --update; els --chkrootkit; els --rkhunter; els --chmodfiles; els --disabletelnet; els --hardensysctl; els --libsafe; els --mytop; els ---securepartitions


O ELS "Easy Linux Security" é um instalador de módulos e pequenos scripts de segurança atualizados. Existem muitos módulos disponíveis, vc pode lista-los executando simplesmente o comando els em seu shell. O que instalo acima são os que fazem mais diferença em termos de segurança do servidor: chkrootkit (rootkit), rkhunter (outro rootkit melhor ainda), chmodfiles (ele muda as permissões de acesso e execução de alguns scripts/comandos no servidor para apenas o root executa-los), disabletelnet (desabilita/desliga o telnet, deixando apenas o SSH), hardensysctl (faz um tunnig de sua interface de rede), instala o libsafe (apenas para sistemas 32 bits), mytop (instala um visualizador de processos mysql como o comando TOP faz com o sistema).

Instale o logview:

wget http://www.logview.org/logview-install


É um visualizador de logs via navegador, vc não precisa abrir o SSH para ver os logs intrincados do sistema, com este addon do WHM vc os vê via seu painel WHM.

Instale o CMM:

wget http://www.configserver.com/free/cmm.tgz; tar -xzf cmm.tgz; cd cmm; ./install.sh


Instale o CMQ:

wget http://www.configserver.com/free/cmq.tgz; tar -xzf cmq.tgz; cd cmq; ./install.sh


Não tem muito a ver com segurança, mas são dois addon do WHM que podem ajudar e muito na configuração e monitoramento de seu uso relacionado a contas de emails.

Instale o CMC:

wget [url="http://www.configserver.com/free/cmc.tgz"]http://www.configser...om/free/cmc.tgz[/url] ; tar -xzf cmc.tgz; cd cmc; ./install.sh


O CMC (Configserver ModSec Control - http://www.configser...com/cp/cmc.html) é um addon do WHM que te permite configurar quais regras do MOD_SECURE determinados dominios ou subdominios ou mesmo usuários do seu servidor serão executados. Sugiro usar com parcimônia e verificar antes de tudo porque o script de seu usuário/cliente está sendo bloqueado pelo MOD_SECURE. No caso vc pode peritir a execução do script de seu usuário sem passar pro nenhuma regra ou mesmo apenas desabilitar uma regra especifica para o dominio especifico.

Instale o MOD_SECURE atualizado:

Veja o link: http://cpanelmania.b...tualizadas.html

Configurando a porta do SSH:

Para configurar/mudar a porta execute:

pico -w /etc/ssh/sshd_config


E mude a linha "Port 22" para a porta que vc deseja (lembre-se de adicionar a porta em seu firewall ANTES ou vc não conseguirá acessar mais o servidor).

Aviso de acesso ROOT

Edite ".bash_profile" o com o comando:

cd root; pico -w /root/.bash_profile


Adicione o código abaixo no final do arquivo após a linha "unset USERNAME":

#
# GRAVA LOG E HISTORICO DE ACESSOS ROOT
#
echo `who` >> .access
#
# EMAIL DE AVISO ACESSO ROOT
#
rootalert() {
  echo 'ALERTA - Acesso ROOT SHELL'
  echo
  echo 'Servidor: '`hostname`
  echo 'Data: '`date`
  echo 'Usuario: '`who | awk '{ print $1 }'`
  echo 'TTY: '`who | awk '{ print $2 }'`
  echo 'Origem: '`who | awk '{ print $6 }' | /bin/cut -d '(' -f 2 | /bin/cut -d ')' -f 1`
  echo
  echo 'ACESSO ROOT EXECUTADO.'
  echo
  echo 'Estes usuários estão ativos neste instante como root:'
  echo `who | awk '{print $6}'`
  echo
  echo 'Últimos 10 acessos efetuados:'
  echo `last -n 10`
  echo
  echo 'Informações: Horário deste acesso, Uptime e Load Averange atual'
  echo `uptime`
  echo
}
rootalert | mail -s "Alerta: Acesso ROOT [`hostname`]" SEUEMAILAQUICARAMBA


Note que este script vai criar um arquivo .access no diretório /root e criará um histórico de acesso com a data, hora e IP de cada acesso ocorrido via root. Ele tb adiciona outras infos quando ocorrerem o acesso root, assim como litara os últimos 10 IPs que acessaram via root, além do atual e envia tudo para o seu email.

Tunando seu /tmp

Faça uma cópia do /etc/fstab e edite o arquivo original:

cp /etc/fstab /etc/fstab.OLD
pico /etc/fstab


E mude as linhas abaixo:

tmpfs				   /dev/shm				tmpfs   defaults		0 0
/tmp					/var/tmp				ext3	defaults,bind		0 0


Para:

tmpfs				   /dev/shm				tmpfs   defaults,noexec,nosuid		0 0
/tmp					/var/tmp				ext3	defaults,bind,noauto,usrquota,noexec,nosuid,nodiratime,noatime 0 0


Importante: após isso feito geralmente eu restarto o server. Porem vc tem que tomar cuidado, qualquer erro no fstab e seu servidor não voltará online, vc terá de acionar o seu IDC e pedir para eles restaurarem o fstab.OLD ou cergirem o fstab atual.

Instale o CSF Firewall:

wget http://www.configserver.com/free/csf.tgz; tar -xzf csf.tgz; cd csf; sh install.sh


Eu estou preparando um novo tópico completo apenas para o CSF. Assim que terminar vou posta-lo em outro tópico (ele é bem extenso e completo).

Remova o Lynx:

Primeiro identifique o pacote que vc tem instalado:

rpm -qa | grep lynx


Depois execute:

rpm -e lynx NOMEDOPACOTE


Instalando e configurado corretamente o Maldetec:

wget http://www.rfxn.com/downloads/maldetect-current.tar.gz ; tar -xzf maldetect-current.tar.gz ; cd maldetect-* ; sh ./install.sh ; maldet --update-ver ; maldet --update


Agora configurando, edite o arquivo "conf.maldet" em /usr/local/maldetect, editando a linha "email_alert=0" para "email_alert=1" e a linha "email_addr=" colocando o seu email que receberá o relatório.

Você pode executar ele na linha de comando especifica, por exemplo:

maldet -a /home/USUARIO/


Ou escanear TODOS os usuários de seu diretório HOME:

maldet -a /home?/?/public_html


Aqui vai uma dica um tanto que radical: Vc pode configurar o maldetec para ele tentar limpar possíveis trojans ou códigos maliciosos que "colam" em códigos PHP intregos, e caso não consiga ele move o script/arquivo todo para o diretório /usr/local/maldetect/quarantine/. Para isso edite a linha "quar_hits=0" para 'quar_hits=1" e "quar_clean=0" para "quar_clean=1".

O maldetec será executado diarimente em seu servidor e lhe enviará um relatorio via email, por exemplo:

Citar

malware detect scan report for SEUSERVIDOR
SCAN ID: 021312-0402.6890
TIME: Feb 13 04:38:43 -0200
PATH: /home*/*/public_html
RANGE: 2 days
TOTAL FILES: 13344
TOTAL HITS: 1
TOTAL CLEANED: 0

FILE HIT LIST:
{HEX}php.cmdshell.cih.214 : /home/USUARIO/public_html/plugins/system/solrca.php => /usr/local/maldetect/quarantine/solrca.php.7223
===============================================
Linux Malware Detect v1.4.1 < [email protected] >


No caso acima ele identificou um scritp malicioso dentro do public_html/plugins/system, e moveu o mesmo para a quarentena.

O que fazemos aqui (sim temos esta opção de quarentena habilitada em TODOS os nossos servidores) - é logo nas primeiras horas do dia pegarmos todos os relatórios e analisar quais arquivos foram movidos para a quarentena. Criamos um email padrão no WHMCS o e mandamos para o cliente/usuário informando sobre o problema. Raramente o sistema move um arquivo que faz parte realmente do site/aplicação do usuário, mas já ocorreu aqui, por isso é importante contactar o cliente após você analisar o log. Geralmente quando isso ocorre ele consegue limpar o arquivo, removendo o código malicioso que foi adicionado a programação. Por exemplo:

Citar

TOTAL CLEANED: 1

CLEANED & RESTORED FILES:
/home/USUARIO/public_html/classificados/almoxarife/wp-content/themes/claudia/footer.php


É importante vc ter também o CLAMAV instalado e atualizado. O MALDETEC usa a enguine do CLAMAV para o scaneamento e identificação "heurística" o que adiciona pouco load no servidor durante sua execução.

Usando o KSPLICE

Agora papo de gente grande. O KSPLICE aplica em seu kernel (LINUX) todos os updates e correções (paths de segurança inclusive) sem rebotar o seu servidor e de forma automatizada. Este é um sistema OBRIGATÓRIO que vc deve ter instalado, pois o custo é ridículo:

  • RHEL, CentOS, Debian, Ubuntu:$3.95 each system per month
  • RHEL, CentOS, Debian, Ubuntu:$2.95 each system per month (volume discount after 20 systems)
  • Virtuozzo, OpenVZ:$9.95 each system per month
  • Virtuozzo, OpenVZ:$7.95 each system per month (volume discount after 20 systems)
  • Ubuntu Server (9.04 and 9.10):$3.95 each system per month
  • Ubuntu Server (9.04 and 9.10):$2.95 each system per month (volume discount after 20 systems)

Para verem como é importante, todos devem se lembrar dos problemas de segurança que a LOCAWEB teve em uma penca de Servers LINUX (http://cpanelmania.b...i-invadida.html). Se ela tivesse adotado o KLSPICE em seus servidores pagando uma micharia não teria tido este problema e nem a publicidade negativa que ela teve de lidar.

Você acessa o sistema via um painel de controle (https://uptrack.ksplice.com) e lista quais servidores terão o KSPLICE instalado. A instalação é fácil e rápida (https://www.ksplice....uptrack/install)

[FIM DA PARTE I]

Esta resposta lhe foi útil?

Veja também

Como posso bloquear um endereço IP específico?
Para bloquear um endereço IP individual de acessar o seu servidor Linux, você pode usar o...
Vocês oferecem Proteção DDoS?
Vocês oferecem Proteção DDoS? TODOS OS PLANOS DE JOGOS OU HOSPEDAGEM DE SITES OU TEAMSPEAK TEM...
Como lidar com uma página marcada como foco de ataques pelo Google?
Quando você vê o temido alerta do Google que sua página foi bloqueada por conter focos de...
Leech Protect
Atenção: Use com critério. Esta ferramenta lhe permite impedir que seus usuários, com acesso à...
8 passos para evitar que sua conta seja suspensa
1. Observe atentamente nossas políticas de e-mail. Uma conta de hospedagem ou revenda não pode...