Eu acho que você reconhece uma verdade interessante de sys-admin, que é que
unless you can reduce the probability of being hacked to zero then eventually, at some point, you are going to get hacked.
Esta é apenas uma verdade básica de matemática e probabilidade, que para qualquer probabilidade diferente de zero de um evento. O evento eventualmente acontece ...
Assim, as 2 regras de ouro para reduzir o impacto deste evento "eventualmente invadido" são estas:
-
O princípio do menor privilégio
Você deve configurar os serviços para serem executados como um usuário com o mínimo possível de direitos necessários para concluir as tarefas do serviço. Isso pode conter um hacker mesmo depois de invadir uma máquina.
Como exemplo, é muito provável que um hacker invadindo um sistema usando uma exploração de dia zero do serviço de servidor web Apache esteja limitado apenas à memória do sistema e aos recursos de arquivo que podem ser acessados por esse processo. O hacker seria capaz de baixar seus arquivos fonte html e php, e provavelmente procurar em seu banco de dados mysql, mas eles não deveriam ser capazes de obter root ou estender sua intrusão além dos arquivos acessíveis por apache.
Muitas instalações padrão do servidor web Apache criam o usuário e grupo 'apache' por padrão e você pode facilmente configurar o arquivo de configuração principal do Apache (httpd.conf) para executar o apache usando esses grupos.
-
O princípio da separação de privilégios
Se o seu site precisar somente de acesso somente leitura ao banco de dados, crie uma conta que tenha permissões apenas para leitura e apenas para esse banco de dados.
O SElinux é uma boa opção para criar contexto para segurança, app-armor é outra ferramenta. Bastille foi uma escolha prévia para o endurecimento.
Reduza a consequência de qualquer ataque, separando o poder do serviço que foi comprometido em sua própria "Caixa".
As regras de prata também são boas.
Use as ferramentas disponíveis. (É altamente improvável que você possa se sair tão bem quanto os caras que são especialistas em segurança, então use seus talentos para se proteger.)
-
A criptografia de chave pública
- oferece excelente segurança. use-o. em todos os lugares.
- os usuários são idiotas, impõem a complexidade da senha
- entenda por que você está fazendo exceções às regras acima. revise suas exceções regularmente.
- responsabilize alguém pelo fracasso. mantém você em seus dedos.