A prática de dar acesso de nível de usuário a qualquer pessoa com uma conta do PayPal ou cartão de crédito é, por si só, insanidade. Eu tenho trabalhado na indústria de hospedagem durante a maior parte dos últimos seis anos e ainda acho isso insano.
Esta é uma lista do que faço para a maioria dos servidores (compartilhados ou não) em nenhuma ordem lógica específica:
- Eu quase nunca uso o kernel fornecido pela distro. Eu mantenho nossa própria árvore de kernel que fica em sintonia com a linha principal do Linux ... na medida em que o grsecurity permite. Não é apenas uma medida de segurança, é também uma medida de otimização. Você não encontrará coisas como suporte paralelo / usb / audio em nossos kernels (já que os servidores web não precisam deles). Os kernels são construídos para utilizar apenas as coisas no tabuleiro que precisamos.
- 9/10 coisas ruins são deixadas por scripts de usuário com bugs. Muitos clientes sabem o suficiente PHP para ser perigoso. mod_security é um dos meus melhores amigos, pago por assinaturas de conjuntos de regras reforçados e os atualizo quase semanalmente.
- A auditoria é fundamental, eu também recomendo usar o OSSEC ou algo semelhante.
- Todos os meus servidores estão conectados a uma LAN de manutenção, que eu posso acessar independentemente da rede pública. Quando / se as coisas correrem mal e você achar que o seu servidor está tão ocupado enviando lixo eletrônico para toda a Internet, vai gostar de ter outra maneira de entrar. Eu também tenho IP KVM instalado em todos os servidores, ou IPMI dependendo do hardware. li>
- Ultimamente, tenho usado o Xen como uma camada de gerenciamento para servidores compartilhados. Eu crio um único convidado que possui 99% da memória do sistema. Isso me permite fazer coisas como consertos / instantâneos / etc do sistema de arquivos, sem problemas. Ele pode realmente ajudar na recuperação se as coisas derem errado (e para ocultar a LAN do servidor compartilhado).
- Eu mantenho um firewall muito restrito baseado em iptables que é especialmente rigoroso quando se trata de egresso.
- Tenho muito cuidado com quem pode acessar o compilador do sistema e as ferramentas de vinculação.
- Eu atualizo o software do sistema religiosamente.
- Eu faço varreduras periódicas para garantir que as pessoas não estejam executando inadvertidamente versões antigas e vulneráveis de aplicativos populares, como Wordpress, PHPBB, etc.
- Ofereço gratuitamente a instalação de coisas que os clientes encontram na Internet '. Isso realmente me ajuda a auditar o que está sendo hospedado, enquanto oferece aos clientes valor adicional. Também ajuda a garantir que as coisas sejam instaladas de forma segura e correta.
- Sempre, sempre, sempre endureça o PHP, certifique-se de usar o suexec para o PHP também. Nada é pior do que encontrar um bot em / tmp de 'nobody':)
Finalmente, por último mas não menos importante:
- Eu realmente leio os arquivos de log do sistema. Tantos hosts vêm correndo para ver o que deu errado somente depois que um problema é notado. Mesmo ao usar ferramentas como o OSSEC, é importante ser proativo.