Protegendo sua máquina Debian
he:אבטחת הרכב דביאן שלה
ru:Обеспечение его машины под управлением Debian
ja:その Debian マシンを確保
ar:تأمين جهاز به دبيان
zh:确保其 Debian 的机器
ro:Asigurarea sa maşină de Debian
pl:Zabezpieczanie swojej maszynie Debiana
de:Sicherung ihrer Debian-Rechner
nl:Beveiligen zijn Debian machine
it:Protezione relativa macchina Debian
es:Su máquina Debian
en:Securing its Debian machine
fr:Sécuriser sa machine Debian
Este artigo foi traduzido por um sistema de tradução automática. Você pode visualizar a fonte do artigo aqui.
Introdução
Garantir que a segurança da sua máquina é um ponto essencial que não deve ser subestimado, sob pena de se tornar alvo de vários ataques. O poder atual de computadores hoje fazendo invasões como as técnicas de ataque de força bruta ou <N. º trad>bruteforce muito simples de implementar por a ter acesso de administrador para o alvo em um curto espaço de tempo de máquina.
Nesta página você encontrará uma lista exaustiva das faixas para proteger seu servidor Debian em pontos diferentes, tais como a conta de raiz , SSH acesso, firewall, etc...
Em um servidor de produção, certifique-se de executar essas operações durante horários de pico, para minimizar o impacto de suas ações.
Pré-requisitos
Um do pré-requisito essencial para a segurança do seu servidor é manter seus pacotes em sua versão o mais atualizado possível. Um número significativo de falhas descobertas é rapidamente corrigido pelos desenvolvedores de pacotes e aplicativos envolvidos, sempre que possível deve sempre manter o seu sistema para atualizar e, portanto, para evitar falhas de segurança. Mantendo seu sistema Debian atualizado, verifique se que você tem uma lista de repositórios oficiais para atualizar. Você pode encontrar uma lista de disponíveis em repositórios de Ikoula e instruções de instalação neste endereço.
Acesso de raiz
Permitir conexões de conta raiz Após o primeiro uso geralmente não é uma boa idéia. Na verdade a conta raiz ou superusuário tem acesso total ao seu sistema.
Se vem de um invasor para obter acesso à conta superusuário Ele terá controle total da sua máquina.
O comando sudo
Para reduzir o risco, por exemplo, você pode adicionar um usuário que, se necessário, irá obter os direitos de nossos superusuário usando o comando sudo.
- Primeiro precisamos criar um novo usuário
adduser votre_utilisateur
Em seguida, preencha os campos, bem como a senha que preferencialmente será composta de números, letras maiúsculas e minúsculas.
- Vamos agora instalar o sudo
apt-get install sudo
- Agora que nosso usuário é criado e o sudo é instalado terá de estar no grupo para usar o comando sudo
usermod -a -G sudo votre_utilisateur
De agora nosso usuário pode, se necessário, preceder o comando quer sudo para executar com permissões de superusuário .
Senha será perguntada antes de executar qualquer comando.
sudo cat /etc/password
Proibir o login como root
Agora que temos outro usuário por exemplo pode impedir se conectar ao nosso sistema de conta root.
- Primeiro você precisa editar a configuração do arquivo de serviço ssh
vi /etc/ssh/sshd_config
- Encontrar e edite a seguinte linha no seu arquivo sshd_config, alterando o Sim par no. Necessários para descomentar a linha, excluindo o símbolo #.
PermitRootLogin no
Lembre-se em seguida, salve e feche o arquivo de configuração.
- Quando o serviço SSH reiniciará as alterações terão efeito.
/etc/init.d/ssh restart
Recomendaram-se a abertura de um segundo terminal para testar a conexão e o uso das mudanças no novo usuário.
SSH acesso
Graças as soluções anteriormente, nosso sistema é já bem protegido, mas podemos ainda melhorar a segurança através da implementação de um arquivo de chave de autenticação.
Normalmente a conexão e autenticação no seu sistema é realizada através de um par de logon /senha. Podemos substituir esse método não é infalível por autenticação de chave.
Uma vez que a implementação de mudança durante cada novo sistema de conexão vai assistir se o usuário tentar se conectar tem uma chave válida e se este não tem permissão para executar um logon para este usuário.
Embora nenhum método é infalível arquivo de chave de autenticação requer que a pessoa querer entrar no sistema que tem esse arquivo. Então, poderemos reforçar a segurança contra uma senha que pode ser adivinhada por força bruta
Vários inconvenientes, no entanto, estão presentes quando este método é selecionado, é imperativo ter o arquivo de chave, independentemente da localização da conexão, por exemplo, entre computadores no trabalho e em casa.
Você também precisará manualmente adicionados a cada novo arquivo de chave que será permitido o acesso ao seu sistema, no caso por exemplo de adicionar um novo usuário ou acesso por uma pessoa autorizada para seu sistema.
Alterar a porta padrão
Uma das maneiras mais eficazes para parar testes automáticos lançados contra servidores é alterar a porta do SSH padrão em sua máquina. Para fazer isso edite seu arquivo sshd_config
vi /etc/ssh/sshd_config
- Encontrar e editar a linha seguinte do arquivo alterando o valor por escolhido
# What ports, IPs and protocols we listen for
Port 22
- Reiniciar o serviço SSH
/etc/init.d/ssh restart
Gerar um par de chaves
Windows
Você pode gerar sua chave de PuTTYgen software disponível para Windows.
Linux
No linux, você pode digitar o seguinte comando :
ssh-keygen
Copiar um par de chaves
Quando o par é gerado deve agora indicamos o servidor que são pessoas autorizadas para se conectar ao nosso novo usuário. Para fazer isso cada usuário do nosso sistema tem um arquivo ssh/authorized_keys presentes no diretório local.
- Se você atualmente são gerar o par de chaves em seu sistema Debian, você pode usar o seguinte comando para copiar automaticamente a chave para o arquivo.
ssh-copy-id votre_utilisateur@IP_VotreServeur
- Alternativamente você pode adicionar manualmente a sua chave pública ao arquivo de pessoas autorizadas
Se a pasta ssh não existir na pasta local do nosso usuário criamos
mkdir .ssh
chmod 700 .ssh
- Agora precisamos criar um arquivo authorized_keys em nossa pasta ssh
vi .ssh/authorized_keys
- A chave pública é então adicionado ao arquivo, o resultado deve ser semelhante a este exemplo
ssh-rsa AAAB3NzaC1yc2EAAAADAQaSdMTJXMy3MtlQhva+j9CgguyVbU3nCKneB+KjKiS/1rggpFmu3HbXBnWSUdf votre_utilisateur@machine.locale
Ele salva e fecha o arquivo.
- Por motivos de segurança Nós restringimos o acesso para o nosso arquivo
chmod 600 .ssh/authorized_keys
A partir de agora nosso usuário tem permissão para se conectar à máquina.
Firewall
Usar um firewall é fortemente recomendado para proteger seu sistema.
O firewall é muitas vezes a primeira linha de defesa da sua máquina contra o exterior, na verdade é ele quem vai analisar o tráfego que passa entre sua máquina e o exterior.
Graças ao firewall você é capaz de bloquear ou permitir acesso a sua máquina do lado de fora de determinados protocolos ou portas, garantindo assim a segurança do seu sistema.
Políticas de segurança
No caso de um firewall, é necessário definir uma política de segurança a serem implementadas. Sem uma definição eficaz a escolha de bloqueio ou permissão das portas e protocolos seria muito aleatória.
Portanto, é necessário definir antecipadamente uma política clara para a segurança de sua rede de computadores ou sua máquina.
Os vários comumente usados incluem políticas de whitelist e de a lista negra .
Whitelist
O princípio da política da whitelist é bloquear todo o tráfego de entrada sem exceção e permitir explicitamente apenas as portas e protocolos que estamos absolutamente certos de sua segurança.
Esta política de segurança tem muitas vantagens em comparação com o lista negra . Na verdade todo o tráfego não explicitamente permitido será bloqueado, isso impedirá que a maioria das tentativas de conexão que não necessariamente teríamos o reflexo para fixar.
Uma das desvantagens desta política é a obrigação de ter que definir cada portos ou protocolos usados para não bloquear a execução de nossos serviços ( por exemplo, o protocolo http no porto 80 )Portanto, devemos saber cada porta usada pela máquina e manter as regras quando adicionar ou excluir um serviço.
Relativa de saída na maioria dos casos que não é considerado tão arriscado tudo autorizado, na verdade é suposto para saber o tráfego deixando sua máquina ou rede. No entanto, é recomendável manter um rastreamento da segurança de saída.
Lista negra
O princípio da política da lista negra é para permitir todo o tráfego recebido sem exceção e explicitamente bloquear apenas as portas e protocolos que temos a certeza de que já representam um risco à segurança.
Esta política de segurança tem muitas desvantagens em comparação com o whitelist . Na verdade permita todo o tráfego de entrada sem qualquer restrição não é recomendado, bloqueando envolvido apenas no caso de uma porta ou protocolo explicitamente estabelecido.
Relativa de saída na maioria dos casos que não é considerado tão arriscado tudo autorizado, na verdade é suposto para saber o tráfego deixando sua máquina ou rede. No entanto, é recomendável manter um rastreamento da segurança de saída.
IPTables
IPTables é certamente o mais conhecido software de firewall disponível para o Debian.
Aqui estão alguns comandos práticos relativos :
- Instalação do iptables
sudo apt-get install iptables
- Listar as regras estabelecidas no momento
sudo iptables -L
- Limpar as regras estabelecidas
sudo iptables -F
sudo iptables -X
- Adicionar uma regra
# Autoriser les connexions entrantes sur le port ssh(22) tcp depuis l'adresse ip x.x.x.x par exemple
sudo iptables -A INPUT -p tcp --dport ssh -s x.x.x.x -j ACCEPT
Tenha cuidado ao atribuir um endereço IP que pode ser dinâmica, por exemplo aquela da sua internet caixa em casa.
- Excluir uma regra
# Supprimer la règle n°2 de la catégorie OUTPUT
sudo iptables -D OUTPUT 2
Ativar a atualização automática de comentários