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
SQL Injection é um ataque onde o código malicioso é passado para um servidor SQL paraexecução....
Atenção: Use com critério. Esta ferramenta lhe permite impedir que seus usuários, com acesso à...
Vocês oferecem Proteção DDoS? TODOS OS PLANOS DE JOGOS OU HOSPEDAGEM DE SITES OU TEAMSPEAK TEM...
Tanto o Windows e Linux têm a capacidade de diagnosticar a saúde de uma ligação entre uma origem...
PING está para Packet INternet Groper. Esta é uma ferramenta de diagnóstico simples...