Protegendo um novo servidor Ubuntu [fechado]

36

Digamos que eu tenha uma nova instalação do Ubuntu, quais etapas devo seguir para protegê-lo para uso como servidor de aplicativos Rails?

    
por Codebeef 30.04.2009 / 10:10

10 respostas

25

Não consigo pensar em quaisquer ajustes específicos do Ubuntu, mas aqui estão alguns que se aplicam a todas as distribuições:

  1. Desinstale todos os pacotes desnecessários
  2. Use autenticação somente de chave pública no SSH
  3. Desativar logins raiz via SSH (não se aplica ao Ubuntu)
  4. Use as configurações de produção para PHP (recomendado pelo php.ini)
  5. Configure o MySQL para usar somente soquetes

É claro que essa lista não está completa e você nunca estará completamente seguro, mas abrange todas as explorações que eu vi na vida real.

Além disso, as explorações que eu vi estavam quase sempre relacionadas ao código do usuário não seguro, e não à configuração não segura. As configurações padrão em distribuições de servidor mínimas tendem a ser bastante seguras.

    
por 30.04.2009 / 10:30
17

Uma coisa rápida que eu faço no início é instalar o DenyHosts . Ele examinará regularmente o / var / log / secure, procurando por logins com falha e, após algumas falhas, bloqueará o IP. Eu configurei para bloquear após o primeiro no-tal-usuário, na segunda tentativa no root, e depois de algumas tentativas para usuários reais (no caso de você se atrapalhar, mas você deve estar usando uma chave pública SSH para fazer o login).

    
por 30.04.2009 / 10:52
10

O Ubuntu é baseado no Debian e eu encontrei o Securing Debian Manual muito útil em distribuições baseadas no Debian, percorrendo completamente o seu sistema e verificando cada parte. É basicamente uma resposta realmente abrangente para sua pergunta.

    
por 30.04.2009 / 15:01
5

Eu geralmente 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, no sentido da segurança, mas é um item de baixo esforço para adicionar e fornece uma medida de proteção.

    
por 30.04.2009 / 14:35
4

Instale o logcheck, mas ajuste para que você nunca receba mensagens de eventos regulares, caso contrário, você terá o hábito de ignorar os emails.

Verifique quais processos estão escutando usando o netstat e certifique-se de que nada esteja sendo executado e que não precise ser executado. Muitos daemons podem ser configurados apenas para escutar o IP interno (ou localhost) em vez de todas as interfaces.

    
por 30.04.2009 / 13:21
3

Faça o que pode sugerir ...

Nmap o host e desabilite todos os serviços não essenciais. Use iptables, se necessário.

    
por 30.04.2009 / 10:33
3

Se você estiver indo para qualquer lugar perto da Internet com o servidor, instale um sistema de detecção de invasões como o snort.

    
por 30.04.2009 / 10:38
3

Use partições separadas para vários diretórios como /tmp ou /var e monte-as com nosuid , nodev e noexec , se possível.

    
por 11.07.2009 / 19:40
3

Algumas sugestões de firewall.

Aprenda a usar um firewall e os conceitos de bloqueio adequado de uma caixa. Alterar as 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 no repositório do Ubuntu:

FireHOL

tem excelente documentação e muito fácil de aprender a sintaxe. Consegui configurar um gateway / firewall em vinte minutos. A única razão pela qual me afastei disso é que ela não parece ser mantida (último lançamento 2 anos atrás). Não significa que não funciona, mas ...

Ferm

é outro. Mais sintaxe do tipo iptables, mas o mesmo conceito. Mais comunidade mantida do que o FireHOL, mas leva mais tempo para pegar.

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 funcional de firewall / gateway em execução. É bem poderoso. DICA: As man pages dos diferentes arquivos de configuração são REALMENTE úteis!

Todos eles 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.

Outros:

  • Eu recomendo as recomendações para uso da chave SSH.

  • Configure um IDS.

  • Aprenda sobre o AppArmor. Ele restringe o acesso a arquivos de executáveis apenas a diretórios e arquivos especificados necessários. Semelhante ao SELinux no mundo do RHEL. Ele é instalado e ativado com 'perfis' pré-configurados para muitos programas bem usados.

por 29.07.2010 / 16:21
2

Além de outras sugestões, mencionarei três que são óbvias, mas que talvez mereçam ser mencionadas pela perfeição:

  1. Se você não acha que precisa de um firewall, pense novamente. O ufw é simples, mas projetado para o Ubuntu e baseado em iptables
  2. Atualize os pacotes: no mínimo, aplique todos os patches de segurança
  3. Documente o que você fez para proteger o servidor e por quê. Inclua a configuração de processos (automatizados) para monitorar logs, testar a configuração e relatar as atualizações de segurança necessárias.
por 11.07.2009 / 17:13