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...
Como faço para executar ping?
PING está para Packet INternet Groper. Esta é uma ferramenta de diagnóstico simples...
O que acontece se alguém abusar dos recursos do servidor?
O site infrator será suspenso e o proprietário terá oportunidade de corrigir o problema oumudar...
Como fazer para criar senhas seguras?
m geral a regra é criar senhas que sejam fáceis de lembrar, mas difícil de adivinhar.Pessoas...
Como bloquear acesso de um IP ou Domínio ao meu Site?
Como faço para negar o acesso de endereços IP? Você quer impedir que alguém visite o seu site?...