Minha opinião de servidor seguro

Olá pessoas, na falta de tutoriais, decidi fazer esse =)

Como vocês sabem, tenho um home-server, desligado no momento, mas não deixo de ter :P e penei um pouco para poder configura-lo deixando nos conformes e com o máximo de segurança possível, isso tirando é claro o firewall, porque server que é server não tem firewall! (Brincando ;))

Vamos começar a com as configurações da maquina

  • Processador: Celeron D de 2.13GHz
  • Memória atual (Queimada) : 256MB
  • HD: 20GB
  • 2 placas de rede, uma para o Velox e outra para a rede interna =)
  • e etc. etc. etc.

Serviços que rodam nele

  • Apache+PHP+Python
  • PostgreSQL
  • SQUID-cache
  • SSH
  • Bind (Named) (DNS)

Coisas simples, como podem ver ;)

Agora vem o pequeno detalhe! A distribuição escolhida! Slack sempreeeee!!!

Vamos deixar de lorota e começar a mostrar as configurações

Vamos começar pelo SSH, coisa que acho importantíssimo, afinal não tenho teclado, nem mouse na maquina!

Primeira coisa a se modificar no sshd_config (normalmente /etc/ssh/sshd_config - Configuração do servidor SSH)

PermitRootLogin no (Isso ajuda a não quebrarem logo a senha de root, não se esqueça também de tirar o pacote sudo e/ou desconfigura-lo todo)

PermitLogin no (Porquê isso? Simples! Isso tira o login via senha digitavel, substitua esse tipo de login por login via chaves, é bem melhor!)

Port 22 -> Muda a porta para outra, 256, 897, qualquer número, só para não termos um exploit logo de cara =)

Com isso o servidor SSH já está seguro, dai você se pergunta e como posso logar como root? Orás, “su -”, utiliza um usuário normal para se logar e digita su -, só isso!

Vamos passar para o SQUID, uma coisa que tu tem que pensar, vai permitir o acesso ao SQUID via rede externa?

  • Vai: Então coloca uma ACL para que peça requisição de nome de usuário e senha, isso para que pessoas indesejadas não usem seu SQUID
  • Não: Então só bloqueia tudo mesmo!

Squid é coisa simples mesmo, então deixa ele ai, ele já é chato com o acesso mesmo =P

DNS, edita o /etc/hosts.allow e permite somente o acesso do DNS na rede interna, isso garante que não se exploitem o servidor de DNS!

Apache, se você quer que seu Apache seja só na Intranet, modifica ele e manda fazer Listen para o seu hostname, só isso, caso contrário, faz o cadastro no DynDNS, No-ip, qualquer coisa e manda ele fazer listen para esses hostnames =)

PostgreSQL, libera só o acesso na rede local, se for o caso somente no servidor mesmo, é melhor

PHP: Deixa em safe_mode, usa a opção do safe_mode para liberar o acesso aos arquivos do mesmo grupo, caso contrário, só o mesmo dono pode fazer isso, o que é chato em certos ambientes ¬¬’

Se tu vai usar o servidor de e-mails interno, recomendo deixar o acesso somente na rede local, não exponha tudo a Internet =)

Resumindo: Com um pouquinho de trabalho você pode configurar um servidor até que seguro facilmente :)

Abraços!

Tags: , , , , , ,

This entry was posted on Sábado, Maio 31st, 2008 at 10:54 and is filed under Linux, Servidores, Tutoriais. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

 

Leave a Reply