Proteger um servidor é mais do que apenas uma tarefa pontual.
As tarefas pontuais iniciais incluem:
Endurecendo o SSHd (existem várias dicas e tutoriais disponíveis para isso, este foi o primeiro visual bonito que surgiu de uma pesquisa.
Certificando-se de que serviços desnecessários estejam desativados (ou melhor, desinstalados).
Verifique se os serviços que não precisam estar disponíveis ao público não são. Por exemplo, configure seu servidor de banco de dados para apenas ouvir interfaces locais e / ou adicionar regras de firewall para bloquear tentativas de conexão externa.
Certifique-se de que os usuários que seus processos do servidor da Web (e outros serviços) estejam executando como não tenham acesso de leitura a arquivos / diretórios não relevantes para eles e não gravem em nada, a menos que precisem de acesso de gravação aos arquivos / diretórios selecionados (para aceitar imagens carregadas, por exemplo).
Configure uma boa rotina de backup automatizado para manter os backups on-line (de preferência em outro servidor ou em casa), para que seu conteúdo seja copiado em outro lugar, para que você possa recuperá-lo caso o pior aconteça com o servidor (falha irrecuperável completa ou hacking)
Aprenda sobre todas as ferramentas que você instalou no servidor (leia a documentação, talvez as instale em um ambiente de teste, diga uma VM local na caixa virtual, para experimentar diferentes configurações e interromper + corrigi-las) para ter a chance de poder corrigir problemas se eles ocorrerem (ou pelo menos diagnosticar adequadamente esses problemas, para que você possa ajudar outra pessoa a corrigi-lo). Você se agradecerá pelo tempo gasto nisso em algum momento no futuro!
As tarefas em andamento incluem:
Garantir que as atualizações de segurança do sistema operacional base sejam aplicadas em tempo hábil. Ferramentas como o apticron podem ser usadas para mantê-lo informado das atualizações que precisam ser aplicadas. Eu evitaria configurações que apliquem atualizações automaticamente - você deseja revisar o que está prestes a mudar antes de executar (no caso do debian / ubuntu) aptitude safe-upgrade, para saber o que está prestes a ser feito no seu servidor.
Verifique se as atualizações de quaisquer bibliotecas / aplicativos / scripts que você instala manualmente (ou seja, não dos repositórios padrão de suas distribuições usando o gerenciamento de pacotes interno) também são instaladas em tempo hábil. Tais bibliotecas / aplicativos / scripts podem ter suas próprias listas de correio para o anúncio de atualizações, ou você pode apenas ter que monitorar regularmente os sites deles para se manter informado.
Manter-se informado sobre problemas de segurança que precisam ser corrigidos por alterações na configuração, em vez de pacotes corrigidos ou que precisam ser contornados até que um pacote corrigido seja criado, testado e liberado. Assine todas as listas de discussão relacionadas à segurança executadas pelas pessoas que mantêm sua distribuição e fique de olho nos sites de tecnologia que também podem relatar esses problemas.
Gerenciando alguma forma de backup offline para obter mais paranóia. Se você fizer backup do servidor em uma máquina doméstica, grave uma cópia regularmente em um CD / DVD / USB-stick.
Testando seus backups ocasionalmente, para que você saiba que eles estão funcionando corretamente. Um backup não testado não é um bom backup. Você não quer que seu servidor morra e, em seguida, descubra que seus dados não foram salvos em backup por alguns meses.
Todas as boas distribuições Linux são instaladas em um estado razoavelmente seguro (pelo menos após o primeiro conjunto de atualizações quando você executa os patches de segurança lançados desde que o CD / imagem de instalação foi pressionado / liberado). o trabalho não é difícil, mas levará mais tempo para fazer bem do que você poderia esperar.
A grande coisa sobre um VPS Linux é que eles são bastante seguros fora da caixa. Minha primeira recomendação, porém, é conversar com seu host e ver se eles irão fortalecer ou otimizar a segurança para você. A maioria dos VPS com um painel de controle (webmin, cpanel etc.) são "gerenciados" e farão muito por você. Especialmente se você não tiver certeza do que está fazendo, essa é a melhor escolha, na minha opinião.
Se você estiver por conta própria, primeiro procure um firewall como APF (Advanced Policy Firewall?) Ou CSF (ConfigServer Firewall). O CSF tem a opção de detecção de falha de logon e, se você tentar entrar e falhar muitas vezes, ele bane automaticamente seu endereço IP. Não tenho certeza de que isso seja "necessário", pois o linux não responde nas portas que não está ouvindo o tráfego, mas elas certamente oferecem alguma tranqüilidade. E se você tiver muitas portas abertas para uma variedade de tráfego, talvez sim queira um firewall.
Provavelmente o mais importante é garantir que os aplicativos que você instala estejam atualizados. Mais sites são invadidos por uma exploração do Wordpress (por exemplo) do que por alguma exploração no sistema operacional do servidor. Se você é um script de codificação personalizado, verifique também a segurança, pois não deseja deixar inadvertidamente uma porta aberta através de algo tolo como o seu formulário de contato.
Proteger qualquer máquina, inclusive o VPS, não é uma receita exata, mas você pode começar com os tutoriais de dois dos principais fornecedores de VPS: Linode Library e Slicehost Articles
Remover serviços indesejados ( netstat é seu amigo)
Desativar anúncio de serviço (revelar os números de versão é ótimo para Scriptkiddies )
Altere os números das portas administrativas (não públicas) para algo obscuro (o SSH em 22 será verificado continuamente)
Elabore suas cotas e limites: cgroups , limits.conf , qos , etc - e monitore-os ativamente - se um código de desenvolvedor da web ou um ataque DDoS derrubar seu site e tornar sua caixa inacessível, será tarde demais para corrigir
Algumas distribuições têm perfis SELinux / AppArmor / etc para aplicativos baseados em rede, use-os
Os três primeiros podem ser executados através do WebMin (de certa forma). Você pode querer procurar no ServerFault por isso.
Vejo que você mencionou o webmin, por isso será uma caixa do Linux. Por favor, verifique a documentação da distribuição Linux específica que você instalará nesse servidor.
Apenas alguns pontos. - Mude sua porta SSH. - desativar lista de diretório de arquivos. - remova a assinatura do servidor, tokens. - instale algum firewall
há muito mais coisas ... acabei de contar as coisas que vieram para o meu agora ..
Respostas:
A resposta de danlefree a essa pergunta semelhante é bastante relevante aqui: Quão difícil é um VPS não gerenciado?
Proteger um servidor é mais do que apenas uma tarefa pontual.
As tarefas pontuais iniciais incluem:
As tarefas em andamento incluem:
aptitude safe-upgrade
, para saber o que está prestes a ser feito no seu servidor.Todas as boas distribuições Linux são instaladas em um estado razoavelmente seguro (pelo menos após o primeiro conjunto de atualizações quando você executa os patches de segurança lançados desde que o CD / imagem de instalação foi pressionado / liberado). o trabalho não é difícil, mas levará mais tempo para fazer bem do que você poderia esperar.
fonte
A grande coisa sobre um VPS Linux é que eles são bastante seguros fora da caixa. Minha primeira recomendação, porém, é conversar com seu host e ver se eles irão fortalecer ou otimizar a segurança para você. A maioria dos VPS com um painel de controle (webmin, cpanel etc.) são "gerenciados" e farão muito por você. Especialmente se você não tiver certeza do que está fazendo, essa é a melhor escolha, na minha opinião.
Se você estiver por conta própria, primeiro procure um firewall como APF (Advanced Policy Firewall?) Ou CSF (ConfigServer Firewall). O CSF tem a opção de detecção de falha de logon e, se você tentar entrar e falhar muitas vezes, ele bane automaticamente seu endereço IP. Não tenho certeza de que isso seja "necessário", pois o linux não responde nas portas que não está ouvindo o tráfego, mas elas certamente oferecem alguma tranqüilidade. E se você tiver muitas portas abertas para uma variedade de tráfego, talvez sim queira um firewall.
Provavelmente o mais importante é garantir que os aplicativos que você instala estejam atualizados. Mais sites são invadidos por uma exploração do Wordpress (por exemplo) do que por alguma exploração no sistema operacional do servidor. Se você é um script de codificação personalizado, verifique também a segurança, pois não deseja deixar inadvertidamente uma porta aberta através de algo tolo como o seu formulário de contato.
fonte
Proteger qualquer máquina, inclusive o VPS, não é uma receita exata, mas você pode começar com os tutoriais de dois dos principais fornecedores de VPS: Linode Library e Slicehost Articles
fonte
Remover serviços indesejados ( netstat é seu amigo)
Desativar anúncio de serviço (revelar os números de versão é ótimo para Scriptkiddies )
Altere os números das portas administrativas (não públicas) para algo obscuro (o SSH em 22 será verificado continuamente)
Elabore suas cotas e limites: cgroups , limits.conf , qos , etc - e monitore-os ativamente - se um código de desenvolvedor da web ou um ataque DDoS derrubar seu site e tornar sua caixa inacessível, será tarde demais para corrigir
Algumas distribuições têm perfis SELinux / AppArmor / etc para aplicativos baseados em rede, use-os
Os três primeiros podem ser executados através do WebMin (de certa forma). Você pode querer procurar no ServerFault por isso.
fonte
Vejo que você mencionou o webmin, por isso será uma caixa do Linux. Por favor, verifique a documentação da distribuição Linux específica que você instalará nesse servidor.
Para o CentOS, consulte este http://wiki.centos.org/HowTos/OS_Protection
fonte
Apenas alguns pontos. - Mude sua porta SSH. - desativar lista de diretório de arquivos. - remova a assinatura do servidor, tokens. - instale algum firewall
há muito mais coisas ... acabei de contar as coisas que vieram para o meu agora ..
fonte