Digamos que eu tenha uma nova instalação do Ubuntu, que etapas devo tomar para protegê-lo para uso como servidor de aplicativos Rails?
linux
ubuntu
security
application-server
Codebeef
fonte
fonte
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.
fonte
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).
fonte
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.
fonte
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.
fonte
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.
fonte
Faça o que pode sugerir ...
Nmap o host e desabilite todos os serviços não essenciais. Use iptables, se necessário.
fonte
Se você estiver perto da Internet com o servidor, instale um sistema de detecção de intrusões como o snort.
fonte
Use partições separadas para vários diretórios como
/tmp
ou/var
e monte-as comnosuid
,nodev
enoexec
se possível.fonte
Algumas sugestões de firewall.
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:
FireHOL
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 ...
Ferm
é outro. Sintaxe mais semelhante a iptables, mas mesmo conceito. Mais comunidade mantida que o FireHOL, mas demora mais para ser atendida.
Shorewall
é 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.
De outros:
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.
fonte
Além de outras sugestões, mencionarei três que são óbvias, mas que talvez valham a pena mencionar por serem completas:
fonte