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
Quando você vê o temido alerta do Google que sua página foi bloqueada por conter focos de...
Aviso Modificando as regras em seu servidor pode fazer com que o servidor fique inacessível na...
Estamos protegidos contra hackers e ataques DOS (Denial of Service) e DDoS (Distributed Denial of...
1. A coisa mais importante a fazer é manter suas senhas em segredo. Se você precisafornecer a...
Para bloquear um endereço IP individual de acessar o seu servidor Linux, você pode usar o...