Ir para conteúdo
  • Cadastre-se

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


Alexandre Duran

Posts Recomendados

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[/code]




É 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.



[b]Instale o CMM:[/b]



[code]wget http://www.configserver.com/free/cmm.tgz; tar -xzf cmm.tgz; cd cmm; ./install.sh[/code]
[b]Instale o CMQ:[/b]
[code]wget http://www.configserver.com/free/cmq.tgz; tar -xzf cmq.tgz; cd cmq; ./install.sh[/code]
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. [b]Instale o CMC:[/b]
[code]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[/code]
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. [b]Instale o MOD_SECURE atualizado:[/b] Veja o link: http://cpanelmania.b...tualizadas.html [b]Configurando a porta do SSH:[/b] Para configurar/mudar a porta execute:
[code]pico -w /etc/ssh/sshd_config[/code]
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). [b]Aviso de acesso ROOT[/b] Edite ".bash_profile" o com o comando:
[code]cd root; pico -w /root/.bash_profile[/code]
Adicione o código abaixo no final do arquivo após a linha "unset USERNAME":
[code] # # 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[/code]
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. [b]Tunando seu /tmp[/b] Faça uma cópia do /etc/fstab e edite o arquivo original:
[code] cp /etc/fstab /etc/fstab.OLD pico /etc/fstab [/code]
E mude as linhas abaixo:
[code] tmpfs /dev/shm tmpfs defaults 0 0 /tmp /var/tmp ext3 defaults,bind 0 0 [/code]
Para:
[code] tmpfs /dev/shm tmpfs defaults,noexec,nosuid 0 0 /tmp /var/tmp ext3 defaults,bind,noauto,usrquota,noexec,nosuid,nodiratime,noatime 0 0 [/code]
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. [b]Instale o CSF Firewall:[/b]
[code]wget http://www.configserver.com/free/csf.tgz; tar -xzf csf.tgz; cd csf; sh install.sh[/code]
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). [b]Remova o Lynx:[/b] Primeiro identifique o pacote que vc tem instalado:
[code]rpm -qa | grep lynx[/code]
Depois execute:
[code]rpm -e lynx NOMEDOPACOTE[/code]
[b]Instalando e configurado corretamente o Maldetec:[/b]
[code]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[/code]
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:
[code]maldet -a /home/USUARIO/[/code]
Ou escanear TODOS os usuários de seu diretório HOME:
[CODE]maldet -a /home?/?/public_html[/code]

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:

[font=arial, sans-serif][size=3]malware detect scan report for SEUSERVIDOR[/size][/font]

[font=arial, sans-serif][size=3]SCAN ID: 021312-0402.6890[/size][/font]

[font=arial, sans-serif][size=3]TIME: Feb 13 04:38:43 -0200[/size][/font]

[font=arial, sans-serif][size=3]PATH: /home*/*/public_html[/size][/font]

[font=arial, sans-serif][size=3]RANGE: 2 days[/size][/font]

[font=arial, sans-serif][size=3]TOTAL FILES: 13344[/size][/font]

[font=arial, sans-serif][size=3]TOTAL HITS: 1[/size][/font]

[font=arial, sans-serif][size=3]TOTAL CLEANED: 0[/size][/font]

[font=arial, sans-serif][size=3]FILE HIT LIST:[/size][/font]

[font=arial, sans-serif][size=3]{HEX}php.cmdshell.cih.214 : /home/USUARIO/public_html/[/size][/font][font=arial, sans-serif][size=3]plugins/system/solrca.php => /usr/local/maldetect/[/size][/font][font=arial, sans-serif][size=3]quarantine/solrca.php.7223[/size][/font]

[font=arial, sans-serif][size=3]==============================[/size][/font][font=arial, sans-serif][size=3]=================[/size][/font]

[font=arial, sans-serif][size=3]Linux Malware Detect v1.4.1 < [/size][/font][[email protected]][email protected][/email][font=arial, sans-serif][size=3] >[/size][/font]

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:

[font=arial, sans-serif][size=3]TOTAL CLEANED: 1[/size][/font]

[font=arial, sans-serif][size=3]CLEANED & RESTORED FILES:[/size][/font]

[font=arial, sans-serif][size=3]/home/USUARIO/public_html/[/size][/font][font=arial, sans-serif][size=3]classificados/almoxarife/wp-[/size][/font][font=arial, sans-serif][size=3]content/themes/claudia/footer.[/size][/font][font=arial, sans-serif][size=3]php[/size][/font]

É 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.

[b]Usando o KSPLICE[/b]

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]

Editado por Alexandre Duran
Mais informações e novas correções
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Concorda com os nossos termos?