O que mais posso fazer para proteger meu servidor Linux?

3

Eu quero colocar um aplicativo da Web no meu servidor Linux: primeiro vou explicar a você o que o aplicativo da Web fará e então vou lhe dizer o que fiz até agora para proteger meu novo sistema Linux.

O aplicativo será um site de anúncios classificados (como o gumtree.co.uk) onde os usuários podem vender seus itens, fazer upload de imagens , enviar e receber e-mails do administrador . Ele usará SSL para algumas páginas. Vou precisar de SSH .

Até agora, o que fiz para garantir meu estoque do Ubuntu (última versão) é o seguinte:

NOTA: Eu provavelmente fiz algumas coisas que impedirão o aplicativo de executar todas as suas tarefas, então, por favor, me avise. O único propósito da minha máquina será hospedar o site.

(Eu coloco números como marcadores para que você possa se referir a eles com mais facilidade)

1) Firewall

Eu instalei o Firewall Descomplicado. Negar em & OUT por padrão

Regras: Permitir IN & OUT: HTTP, IMAP, POP3, SMTP, SSH, porta UDP 53 (DNS), porta UDP 123 (SNTP), SSL, porta 443

(os que eu não permiti foram FTP, NFS, Samba, VNC, CUPS)

Quando eu instalo o MySQL & Apache, eu vou abrir o Port 3306 IN & OUT.

2) Proteger a partição

em /etc/fstab , adicionei a seguinte linha no final:

tmpfs /dev/shm tmpfs defaults,rw 0 0

Em seguida, no console: mount -o remount /dev/shm

3) Proteja o kernel

No arquivo /etc/sysctl.conf , existem alguns filtros diferentes para remover o comentário. Eu não sabia qual deles era relevante para hospedagem de aplicativos web. Qual deles devo ativar? Eles são os seguintes:

A) Ativar a Verificação de endereço de origem em todas as interfaces para evitar ataques de falsificação B) Descomente a próxima linha para habilitar o encaminhamento de pacotes para IPv4 C) Descomente a próxima linha para habilitar o encaminhamento de pacotes para IPv6 D) Não aceita redirecionamentos de ICMP (não somos um roteador) E) Aceitar redirecionamentos de ICMP somente para gateways listados em nossa lista de gateway padrão F) Não envia redirecionamentos ICMP G) Não aceita pacotes de rota de origem IP (não somos um roteador) H) Registrar pacotes marcianos

4) Configure o arquivo passwd

Substitua "sh" por "falso" para todas as contas, exceto conta de usuário e raiz. Eu também fiz isso para a conta chamada sshd. Não tenho certeza se isso impedirá a conexão SSH (que desejo usar) ou se é outra coisa.

5) Configure o arquivo de sombra

No console: passwd -l para bloquear todas as contas, exceto a conta de usuário.

6) Instale o rkhunter e o chkrootkit

7) Instale o Bum

Desativado esses serviços: "servidor de e-mail de alto desempenho", " ilegível (kerneloops)", " ilegível (dispatcher de fala)", "Restaura DNS" (deve este fica ligado?)

8) Instalar Apparmor_profiles

9) Instalar o clamav & freshclam (antivírus e atualização)

O que eu fiz de errado e o que devo fazer mais para proteger essa máquina Linux?

Agradecemos antecipadamente

    
por ericd 04.06.2012 / 04:17

4 respostas

2

Você diz que

My machine's sole purpose will be hosting the website

Mas você abre portas para "IMAP, POP3". São aqueles necessários para executar o site? ou é também um servidor de email.

Esqueça ferramentas como rkhunter, elas são cheias de falsos positivos e falsos negativos. Eles procuram coisas como "um arquivo foi alterado inesperadamente para conter um pequeno subconjunto de rootkits conhecidos", quando "um arquivo foi alterado inesperadamente" deve ser suficiente para um alarme. samhain É uma boa ferramenta para ser alertado quando os arquivos são alterados.

Como você será alertado quando deve atualizar um pacote para um patch de segurança? Não confie em um humano aqui para estar assistindo a uma lista de discussão ou para verificar periodicamente. Você quer algo que vai ativamente incomodar as pessoas até que as atualizações de segurança sejam executadas. icinga ou nagios ou algo semelhante pode ajudar aqui.

Não permitir logins de senha via ssh. Faça as pessoas usarem as chaves. Se você permitir que eles usem senhas, eles escolherão senhas incorretas.

Além de ajudar na segurança da caixa ao detectar tentativas de força bruta do ssh, o fail2ban pode ser configurado para ajudar na segurança de seu aplicativo. Pode pegar se alguém estiver tentando forçar a senha de algum outro usuário.

Você provavelmente pode ir mais longe com "proteger o fstab". O / home precisa de exec? O usuário precisa ser readrwite? ou readonly até que você esteja fazendo upgrades.

Considere usar algo como logwatch ou logcheck para remover arquivos de log do sistema e administradores de email com eventos de log interessantes. Ambos exigem ajustes pesados para que eles não se tornem apenas e-mails que everying é rapidamente treinado para ignorar, porque normalmente eles estão cheios de mensagens banais.

    
por 04.06.2012 / 05:30
2

Em termos de implantação , parece que você foi bem cuidadoso em termos de segurança. Portanto, o próximo passo é pensar em como você pode manter suas operações de segurança com o mesmo padrão que você estabeleceu na implantação.

Isso inclui:

  • Atualizações de segurança
  • Vulnerably scans and penetration testing
  • Detecção de intrusão
  • Revendo logs do Access
  • Controle de acesso

Tudo isso se resume a ter boas políticas operacionais para manter a segurança que você estabeleceu durante a implantação. Eu poderia estar expandindo o escopo da sua pergunta, e não pretendia apresentar isso como se você não tivesse pensado sobre isso, mas talvez isso ajude a estabelecer uma estrutura para você pensar em seus próximos passos.

    
por 04.06.2012 / 04:39
1

Eu usei um sistema no passado chamado Bastille, pode valer a pena dar uma olhada.

link

    
por 04.06.2012 / 06:36
1

Instale sshgaurd para ajudar na defesa contra ataques de força bruta, e desative os logins de senhas no sshd. Use somente a autenticação do pubkey para o sshd, pois eles fazem com que a força bruta atinja muito menos prática.

    
por 04.06.2012 / 07:34