Respostas:
Não consigo pensar em nenhum ajuste específico do Ubuntu, mas aqui estão alguns que se aplicam a todas as distribuições:
É claro que esta lista não está completa e você nunca estará completamente seguro, mas abrange todas as façanhas que já vi na vida real.
Além disso, as explorações que eu vi quase sempre foram relacionadas a código de usuário não seguro, não a configuração não segura. As configurações padrão em distribuições mínimas de servidores tendem a ser bastante seguras.
Uma coisa rápida que eu faço desde o início é instalar o DenyHosts . Ele examinará regularmente o arquivo / var / log / secure, procurando logons com falha e, após algumas falhas, bloqueie o IP. Defino-o para bloquear após o primeiro não usuário, na segunda tentativa de root e após algumas tentativas para usuários reais (no caso de você errar, mas você deve usar uma chave pública SSH para fazer login).
O Ubuntu é baseado no Debian e eu achei o Manual de Segurança do Debian muito útil nas distribuições baseadas no Debian, guiando-o completamente pelo seu sistema e verificando todas as partes. É basicamente uma resposta muito, muito abrangente para sua pergunta.
Normalmente, instalo o RKHunter, que verifica rootkits e faz verificações de integridade de vários binários importantes do sistema. Está no repositório padrão e será executado diariamente a partir do cron. Não é perfeito, em termos de segurança, mas é um item de baixo esforço a ser adicionado e fornece uma certa proteção.
Instale a verificação de log, mas ajuste-a para nunca receber mensagens de eventos regulares, caso contrário, você terá o hábito de ignorar os e-mails.
Verifique quais processos estão escutando usando o netstat e verifique se não está executando nada que não precise ser executado. Muitos daemons podem ser configurados apenas para escutar no IP interno (ou localhost) em vez de em todas as interfaces.
Faça o que pode sugerir ...
Nmap o host e desabilite todos os serviços não essenciais. Use iptables, se necessário.
Se você estiver perto da Internet com o servidor, instale um sistema de detecção de intrusões como o snort.
Use partições separadas para vários diretórios como /tmp
ou /var
e monte-as com nosuid
, nodev
e noexec
se possível.
Aprenda a usar um firewall e os conceitos de travar corretamente uma caixa. Alterar portas padrão é em grande parte uma coisa inútil; aplicação adequada e configuração de firewall são muito mais importantes.
Ambos estão nos repositórios Ubuntu:
tem documentação fantástica e muito fácil de aprender sintaxe. Consegui configurar um gateway / firewall em vinte minutos. A única razão pela qual me afastei disso é que ele não parece ser mantido (última versão há 2 anos). Não significa que não funciona, mas ...
é outro. Sintaxe mais semelhante a iptables, mas mesmo conceito. Mais comunidade mantida que o FireHOL, mas demora mais para ser atendida.
é o que eu uso atualmente. Sua documentação é extensa e seu formato de configuração é tabular. Levei cerca de uma hora e meia para entender todos os arquivos necessários (6) para obter uma configuração de firewall / gateway funcionando. É bem poderoso. DICA: As páginas de manual dos diferentes arquivos de configuração são REALMENTE úteis!
Todos esses carregam configurações de firewall de um arquivo de configuração. Muito eficaz, mais fácil de usar do que o iptables, e (na minha opinião) mais fácil de usar e gerenciar do que o ufw.
Segundo as recomendações para o uso da chave SSH.
Configure um IDS.
Aprenda sobre o AppArmor. Ele restringe o acesso a arquivos executáveis apenas a diretórios e arquivos especificados. Semelhante ao SELinux no mundo do RHEL. Está instalado e ativado com 'perfis' pré-configurados para muitos programas bem usados.
Além de outras sugestões, mencionarei três que são óbvias, mas que talvez valham a pena mencionar por serem completas: