Configurando a segurança da rede no Ubuntu. Configuração de rede, (placas de rede) interfaces Ubuntu

Certamente pode-se dizer que linux mais seguro(protegido) do que o Windows. Segurança v linux embutido, e não parafusado em algum lugar do lado, como é implementado no Windows. Segurança sistemas linux cobre a área do kernel ao desktop, mas há chances de hackers danificarem seu diretório pessoal (/home).

Seus bytes de fotos, vídeos caseiros, documentos e dados de cartão de crédito ou carteira são as informações mais valiosas em um computador. É claro que o Linux não é suscetível a todos os tipos de worms e vírus da Internet para Windows. Mas os invasores podem encontrar uma maneira de acessar seus dados em seu diretório pessoal.

Tendo preparado seu computador antigo ou HD antes de vender formatação, você acha que será suficiente? Existem muitas ferramentas modernas para recuperação de dados. Um hacker pode facilmente recuperar seus dados de disco rígido, independentemente do sistema operacional em que você trabalhou.

Sobre este assunto, lembro-me da experiência de uma empresa que recompra computadores e discos usados. No decorrer de suas atividades, eles emitiram um veredicto de que 90% dos proprietários anteriores de seus computadores não cuidaram adequadamente da limpeza de suas mídias de armazenamento antes de vender. E eles estavam extraindo bytes de dados muito sensíveis. É até assustador imaginar que em algum lugar nas lixeiras do seu disco rígido haja informações para entrar no seu banco online ou carteira online.

Comece com o básico de segurança do Linux

Vamos entrar no básico (), que se encaixa em quase qualquer
distribuições Linux.

Criptografando o sistema de arquivos no Linux para uma segurança Linux mais completa

Senhas personalizadas não resolverão o problema se você realmente quiser que ninguém possa ler seu diretório pessoal (/home) ou um determinado tamanho de byte. Você pode fazer isso para que mesmo um usuário com os maiores privilégios de root não possa cutucar o nariz.

Exclua arquivos confidenciais para que ninguém mais possa recuperá-los

Se você decidir vender ou doar seu computador ou mídia de armazenamento, não assuma que a formatação simples excluirá permanentemente seus arquivos. Você pode instalar a ferramenta de exclusão segura em seu Linux, que inclui o utilitário srm para excluir arquivos com segurança.

Além disso, não se esqueça do existente Kernel Linux firewall. Todas as distribuições Linux incluem lptables, que faz parte do kernel. Lptables permite filtrar pacotes de rede. Claro, você pode configurar este utilitário no terminal. Mas esse método está além do poder de muitos, inclusive de mim. Então eu instalo e configuro tão facilmente como se estivesse jogando um jogo.

Como todos os sistemas operacionais, o Linux é propenso ao acúmulo de lixo ao executar vários aplicativos. E isso não é culpa do Linux, já que diversos aplicativos, como navegadores, editores de texto e até reprodutores de vídeo, funcionam fora do nível do kernel e acumulam arquivos temporários. Você pode instalar o utilitário de descarte de lixo universal BleachBit.

Navegação anônima, ocultando seu IP - muito importante para a segurança de sua identidade no sistema operacional Linux


Em conclusão, quero falar sobre a navegação anônima na web. Às vezes acontece que é necessário, como eu, quando, secretamente de minha esposa, visito sites com conteúdo erótico. Claro que eu estava brincando.

Será difícil para os invasores chegarem até você se não puderem determinar sua localização. Cobrimos os rastros com uma configuração simples de dois utilitários trabalhando juntos chamados privoxy e tor.

Na minha opinião, seguir e configurar todas essas regras irá proteger você e seu computador em 90%.

P.S. Estou usando uma nuvem chamada dropbox. Eu mantenho meus artigos antigos e novos, ainda não publicados. É conveniente ter acesso aos seus arquivos de qualquer lugar do mundo e em qualquer computador. Ao escrever artigos para o site em editor de texto eu mantenho meu documentos de texto com uma senha e só depois faço o upload para o servidor de dropbox. Você nunca deve negligenciar a segurança extra, que só vai jogar em suas mãos.

Sem dúvida apenas sistema instalado O Linux é muito mais resistente a vários malwares, spywares e hackers do que o mesmo Versão do Windows. No entanto, a maioria dos sistemas Linux usa configurações padrão que não são totalmente seguras por natureza.

Algumas distribuições Linux são projetadas para serem o mais seguras possível, mas tendem a causar muitos problemas para os recém-chegados, especialmente os não especialistas em segurança.

Ubuntu é a distribuição Linux mais popular em uso hoje. Isso se deve a muitos fatores, um deles é que é o mais fácil para iniciantes. Isso tem seu lados positivos, mas também por esse motivo, existem várias fraquezas no sistema que os desenvolvedores deixaram ao escolher a conveniência do usuário. Neste artigo, veremos como a segurança do Ubuntu 16.04 é configurada. Essas configurações não são tão complicadas, mas ajudarão você a tornar seu sistema mais resistente aos métodos de ataque mais comuns.

A primeira coisa que você deve saber é manter seu sistema atualizado e atualizado. Novas vulnerabilidades estão sendo constantemente descobertas no kernel e no software, o mesmo Drity COW pode servir de exemplo. Os desenvolvedores corrigem esses bugs muito rapidamente, mas para aplicar essas correções ao seu sistema, você precisa atualizá-lo em tempo hábil.

Outra observação importante é a senha do usuário. Não use um usuário sem senha. Se você precisar dar acesso ao computador a outras pessoas, crie nova conta, por exemplo, convidado. Mas sempre use senhas. sala de operação sistema Linux foi originalmente construído como um sistema multiusuário com segurança para todos os usuários em mente, então você não deve perder esta oportunidade. Mas esse é o conselho que você provavelmente já conhece, vamos ver maneiras realmente úteis de aumentar a segurança do Ubuntu.

1. Configurando a memória compartilhada

Por padrão, todo o volume memoria compartilhada/run/shm é leitura/gravação e pode executar programas. Isso é considerado uma falha de segurança e muitos exploits usam /run/shm para atacar serviços em execução. Para a maioria dos dispositivos de desktop e especialmente de servidor, é recomendável montar esse arquivo no modo somente leitura. Para fazer isso, adicione a seguinte linha ao /etc/fstab:

sudo vi /etc/fstab

nenhum /run/shm tmpfs defaults,ro 0 0

Mas ainda assim, alguns programas não funcionarão se /run/shm for somente leitura, um deles é Google Chrome. Se você estiver usando o Google Chrome, devemos manter a capacidade de escrever, mas podemos proibir a execução de programas, para isso, adicione esta linha em vez da sugerida acima:

nenhum /run/shm tmpfs rw,noexec,nosuid,nodev 0 0

2. Impedir que não administradores usem su

Além da sua conta, o Ubuntu também possui uma conta de convidado. Conta, que você pode usar para compartilhar seu laptop com um amigo. O utilitário su permite executar programas como outro usuário. Isso é muito útil na administração do sistema e vital se usado corretamente. Mas, no entanto, todos os usuários do Linux podem acessar esse utilitário, e isso já é um abuso. Para negar o acesso de uma conta de convidado ao comando su, execute:

sudo dpkg-statoverride --update--adicionar root sudo 4750 /bin/su

3. Proteja seu diretório pessoal

Seu diretório inicial padrão estará disponível para todos os usuários do sistema. Portanto, se você tiver uma conta de convidado, o convidado poderá obter acesso total a todos os seus arquivos e documentos pessoais. Mas você pode disponibilizá-lo apenas para você. Abra um terminal e execute o seguinte comando:

chmod 0700 /home/nome de usuário

Ele define os direitos de forma que o dono da pasta, ou seja, tudo fica disponível para você, e outros usuários não conseguem nem visualizar o conteúdo. Como alternativa, você pode definir permissões para 750, o que concederá acesso de leitura à sua pasta para usuários do mesmo grupo que você:

chmod 0750 /home/nome de usuário

Agora a segurança do Ubuntu 16.04, e especialmente seus dados pessoais, será um pouco maior.

4. Desative o login SSH como root

Por padrão no Ubuntu, você pode usar o SSH como root. Embora você defina uma senha para o usuário root, isso pode ser potencialmente perigoso porque se a senha for muito simples, um invasor pode forçar-se e assumir o controle total do computador. O serviço sshd pode não estar instalado em seu sistema. Para verificar execute:

Se você receber uma mensagem de conexão recusada, isso significa que o servidor SSH não está instalado e você pode pular esta etapa. Mas se estiver instalado, deve ser configurado usando o arquivo de configuração /etc/ssh/sshd_config. Abra este arquivo e substitua a linha:

PermitRootLogin sim

PermitRootLogin no

Pronto, agora será mais difícil fazer o ssh em seu sistema, mas a configuração de segurança no Ubuntu 16.04 ainda não está completa.

5. Instale um firewall

É possível que não apenas o servidor ssh esteja instalado em seu computador, mas também o serviço de banco de dados e servidor web apache ou nginx. Se este computador de casa, provavelmente você não deseja que mais ninguém possa se conectar ao seu site ou banco de dados local. Para evitar isso, você precisa instalar um firewall. No Ubuntu, é recomendável usar o gufw, pois foi projetado especificamente para este sistema.

Para instalar, execute:

sudo apt instalar gufw

Então você precisa abrir o programa, habilitar a proteção e bloquear todas as conexões de entrada. Permitir apenas as portas necessárias para o navegador e outros programas famosos. Leia mais nas instruções.

6. Proteção contra ataques MITM

A essência do ataque MITM ou ataque "Man in the middle" é que outra pessoa intercepta todos os pacotes que você transmite ao servidor, assim, pode obter todas as suas senhas e dados pessoais. Não podemos nos proteger de todos os ataques desse tipo, mas uma variedade de ataques MITM, o ataque ARP, é bastante popular em redes locais públicas. Com a ajuda de funcionalidades protocolo ARP um invasor finge ser um roteador na frente do seu computador e você envia todos os seus pacotes de dados para ele. Você pode facilmente se proteger disso usando o utilitário TuxCut.

Não há programa nos repositórios oficiais, portanto, para instalá-lo, você precisa baixar o pacote do GitHub:

wget https://github.com/a-atalla/tuxcut/releases/download/6.1/tuxcut_6.1_amd64.deb

Em seguida, instale o pacote resultante:

sudo apt install tuxcut_6.1_amd64.deb

Antes de executar o programa, inicie seu serviço:

sudo systemctl start tuxcutd

A janela principal do utilitário se parece com isso:

Ele exibe os endereços IP de todos os usuários conectados à rede, bem como o correspondente para cada um deles. Endereço MAC. Se você marcar a caixa Modo de proteção, o programa protegerá contra ataques ARP. Você pode usá-lo em redes públicas, como wifi público, onde você teme por sua segurança.

conclusões

Bem, é isso, agora a configuração de segurança do Ubuntu 16.04 está completa e seu sistema está muito mais seguro. Cobrimos os vetores de ataque e métodos de penetração de sistema mais comuns usados ​​por hackers. Se você conhece outras maneiras úteis de melhorar a segurança no Ubuntu, escreva nos comentários!

Nós todos sabemos isso sistema operacional Linux é muito mais seguro que o Windows graças à sua arquitetura e a um sistema especial de distribuição de acesso entre usuários. Mas programadores também são pessoas, por mais que detestemos, eles também cometem erros. E por causa desses erros, aparecem buracos no sistema através dos quais os invasores podem contornar os sistemas de segurança.

Esses erros são chamados de vulnerabilidades, podem ocorrer em diversos programas e até mesmo no próprio núcleo do sistema, prejudicando sua segurança. Nos últimos anos, a popularidade do Linux começou a crescer e os pesquisadores de segurança estão prestando mais atenção a esse sistema. Mais e mais vulnerabilidades estão sendo descobertas e, graças ao código-fonte aberto, acaba corrigindo-as muito rapidamente. Neste artigo, veremos as vulnerabilidades mais perigosas do Linux que foram descobertas nos últimos anos.

Antes de passar para a lista de vulnerabilidades em si, é importante entender o que são e o que são. Como eu disse, uma vulnerabilidade é um bug em um programa que permite que um usuário use o programa de uma forma que não foi pretendida pelo seu desenvolvedor.

Isso pode ser a falta de validação dos dados recebidos, verificação da fonte de dados e, o mais interessante, o tamanho dos dados. As vulnerabilidades mais perigosas são aquelas que permitem a execução de código arbitrário. V memória de acesso aleatório todos os dados têm um determinado tamanho e o programa é projetado para gravar na memória dados de um usuário de um determinado tamanho. Se o usuário enviar mais dados, ele deverá gerar um erro.

Mas se o programador cometer um erro, os dados substituirão o código do programa e o processador tentará executá-los, surgindo assim vulnerabilidades de estouro de buffer.

Além disso, todas as vulnerabilidades podem ser divididas em locais, que funcionam apenas se o hacker tiver acesso a computador local e remoto, quando o acesso à Internet é suficiente. E agora vamos passar para a lista de vulnerabilidades.

1. VACA suja

A primeira da nossa lista será uma nova vulnerabilidade que foi descoberta neste outono. O nome Dirty COW significa Copy on Write. O erro ocorre em sistema de arquivo durante a cópia na gravação. Esta é uma vulnerabilidade local que permite que qualquer usuário sem privilégios obtenha acesso total ao sistema.

Resumindo, dois arquivos são necessários para explorar a vulnerabilidade, um é gravável apenas em nome do superusuário, o segundo é para nós. Começamos a gravar dados em nosso arquivo e a ler o arquivo do superusuário muitas vezes, depois de um certo tempo chegará um momento em que os buffers de ambos os arquivos serão misturados e o usuário poderá gravar dados em um arquivo cuja gravação é não está disponível para ele, então você pode se dar permissões de root em sistema.

A vulnerabilidade estava no kernel há cerca de 10 anos, mas após a descoberta foi rapidamente eliminada, embora ainda existam milhões de dispositivos Andoid em que o kernel não foi atualizado e não pensa e onde essa vulnerabilidade pode ser explorada. A vulnerabilidade foi codificada CVE-2016-5195.

2. Vulnerabilidade Glibc

A vulnerabilidade recebeu o código CVE-2015-7547. Esta tem sido uma das vulnerabilidades mais discutidas entre os projetos de código aberto. Em fevereiro de 2016, descobriu-se que a biblioteca Glibc possui uma vulnerabilidade muito séria que permite que um invasor execute seu código em um sistema remoto.

É importante notar que Glibc é uma implementação biblioteca padrão C e C++, que é usado na maioria Programas Linux, incluindo serviços e linguagens de programação como PHP, Python, Perl.

Ocorreu um erro no código de análise de resposta Servidores DNS. Assim, a vulnerabilidade poderia ser utilizada por hackers cujo DNS foi acessado por máquinas vulneráveis, além de realizar um ataque MITM. Mas a vulnerabilidade deu controle total sobre o sistema

A vulnerabilidade está na biblioteca desde 2008, mas após a descoberta, os patches foram lançados rapidamente.

3. Sangramento do coração

Em 2014, foi descoberta uma das vulnerabilidades mais graves em termos de escala e consequências. Foi causado por um bug no módulo heartdead do OpenSSL, daí o nome Heartbleed. A vulnerabilidade permitia aos invasores obter acesso direto a 64 kilobytes de RAM do servidor, o ataque poderia ser repetido até que toda a memória fosse lida.

Apesar do fato de que a correção foi lançada muito rapidamente, muitos sites e aplicativos foram afetados. Na verdade, todos os sites que usam HTTPS para proteger o tráfego eram vulneráveis. Os invasores podem obter senhas de usuários, seus dados pessoais e tudo o que estava na memória no momento do ataque. A vulnerabilidade recebeu o código CVE-2014-0160.

4. Medo do palco

Se uma vulnerabilidade recebeu um nome de código, isso definitivamente significa que ela merece atenção. A vulnerabilidade Stagerfight não é exceção. É verdade que isso não é realmente um problema do Linux. Stagefright é uma biblioteca para lidar com formatos multimídia no Android.

Ele é implementado em C++, o que significa que ignora todos os mecanismos de segurança Java. Em 2015, foi descoberto todo um grupo de vulnerabilidades que permitiam a execução remota de código arbitrário no sistema. Estes são CVE-2015-1538, CVE-2015-1539, CVE-2015-3824, CVE-2015-3826, CVE-2015-3827, CVE-2015-3828 e CVE-2015-3829.

Foi o suficiente para um invasor enviar um MMS para um smartphone vulnerável com um arquivo de mídia especialmente modificado e ele recebeu controle total sobre o dispositivo com a capacidade de gravar e ler dados do cartão de memória. A vulnerabilidade foi corrigida pelos desenvolvedores do Android, mas milhões de dispositivos ainda permanecem vulneráveis.

5. Vulnerabilidade do Kernel Zero Day

Esta é uma vulnerabilidade local que permite elevar o usuário atual ao root devido a um erro no sistema para trabalhar com dados criptográficos do kernel que estão armazenados na memória. Foi descoberto em fevereiro de 2016 e cobriu todos os kernels a partir do 3.8, o que significa que a vulnerabilidade existia há 4 anos.

O erro pode ter sido explorado por hackers ou malware Programas para aumentar seus poderes no sistema, mas foi rapidamente corrigido.

6. Vulnerabilidade no MySQL

A vulnerabilidade foi codificada como CVE-2016-6662 e afetou todas as versões disponíveis do servidor de banco de dados MySQL (5.7.15, 5.6.33 e 5.5.52), bancos de dados Oracle e clones de MariaDB e PerconaDB.

Os invasores podem obter acesso total ao sistema por meio de consulta SQL foi passado um código que me permitiu substituir my.conf pela minha versão e reiniciar o servidor. Também foi possível realizar Código malicioso com direitos de superusuário.

As soluções MariaDB e PerconaDB lançaram patches rapidamente, a Oracle reagiu, mas muito mais tarde.

7 Shellshock

Essa vulnerabilidade foi descoberta em 2014 antes de durar 22 anos. Ela recebeu o código CVE-2014-6271 e o codinome Shellshock. Esta vulnerabilidade é comparável em perigo ao já conhecido Heartbleed. É causado por um bug no interpretador de comandos Bash, que é o padrão na maioria das distribuições Linux.

O Bash permite declarar variáveis ​​de ambiente sem autenticação de usuário e, juntos, você pode executar qualquer comando nelas. Isso é especialmente perigoso em scripts CGI, que são suportados pela maioria dos sites. Não só os servidores são vulneráveis, mas também computadores pessoais usuários, roteadores e outros dispositivos. Na verdade, um invasor pode executar remotamente qualquer comando, este é um controle remoto completo sem autenticação.

As vulnerabilidades foram afetadas por todas as versões do Bash, incluindo a 4.3, no entanto, após a descoberta do problema, os desenvolvedores rapidamente lançaram uma correção.

8.Quadroot

Esta é toda uma série de vulnerabilidades no Android, que foi descoberta em agosto de 2016. Eles receberam os códigos CVE-2016-5340, CVE-2016-2059, CVE-2016-2504, CVE-2016-2503. Mais de 900 milhões estão sujeitos a erros Dispositivos Android. Todas as vulnerabilidades foram encontradas no driver do processador ARM da Qualcomm e todas elas podem ser usadas para ficando root acesso ao dispositivo.

Como o DirtyCOW, nenhuma permissão é necessária aqui, basta instalar um aplicativo malicioso e ele poderá obter todos os seus dados e transferi-los para um invasor.

9. Vulnerabilidade no OpenJDK

Esta é uma vulnerabilidade linux 2016 muito séria no OpenJDK Java Machine com código CVE-2016-0636 que afeta todos os usuários que executam o Oracle Java SE 7 Update 97 e 8 Update 73 e 74 no Windows, Solaris, Linux e Mac OS X. Esta vulnerabilidade permite que um invasor execute código arbitrário fora de uma máquina Java se você abrir uma página especial em um navegador com uma versão vulnerável do Java.

Isso permitiu que um invasor obtivesse acesso às suas senhas, dados pessoais e também executasse programas em seu computador. Em todas as versões erro java foi corrigido muito rapidamente, existe desde 2013.

10. Vulnerabilidade HTTP/2

Esta é uma série de vulnerabilidades que foram descobertas em 2016 no protocolo HTTP/2. Eles receberam os códigos CVE-2015-8659, CVE-2016-0150, CVE-2016-1546, CVE-2016-2525, CVE-2016-1544. Todas as implementações deste protocolo no Apache, Nginx Microsoft, Jetty e nghttp2 estavam sujeitas a vulnerabilidades.

Todos eles permitem que um invasor reduza muito a velocidade do servidor da Web e execute um ataque de negação de serviço. Por exemplo, um dos erros resultou na possibilidade de enviar uma pequena mensagem, que foi descompactada em gigabytes no servidor. O bug foi corrigido muito rapidamente e, portanto, não causou muito barulho na comunidade.

Você está seguro?

Neste artigo, analisamos as vulnerabilidades Linux mais perigosas de 2016, 2015 e 2014. A maioria deles pode causar sérios danos aos sistemas se não for corrigido a tempo. Graças ao código-fonte aberto, essas vulnerabilidades do Linux são efetivamente detectadas e rapidamente corrigidas. Só não se esqueça de atualizar seu sistema. O problema permanece apenas com o Android. Alguns dispositivos não estão mais recebendo atualizações e ainda não há solução para esse problema.

Existe um equívoco comum de que os servidores que executam o sistema operacional Linux são os mais seguros e protegidos contra invasões externas. Infelizmente não é bem assim, a segurança de qualquer servidor depende de uma série de fatores e medidas para garanti-la, e praticamente não depende do sistema operacional utilizado.

Decidimos iniciar uma série de artigos dedicados a segurança de rede com Ubuntu Server, porque as soluções nesta plataforma são de grande interesse para nossos leitores e porque muitos acreditam que as soluções Linux são seguras em si mesmas.

Ao mesmo tempo, um roteador com um endereço IP dedicado é um “gateway” para a rede local e dependerá apenas do administrador se esse portão será uma barreira confiável ou se será um portão do país fechado com um cravo.

Outro equívoco comum, raciocínio no estilo: "mas quem precisa, nosso servidor, não temos nada de interessante". De fato, sua rede local pode não interessar aos invasores, no entanto, eles podem usar um servidor hackeado para enviar spam, ataques a outros servidores, um proxy anônimo, enfim, como ponto de partida para seus atos obscuros.

E isso já é desagradável e pode servir como fonte de vários problemas: desde o provedor até as agências de aplicação da lei. Sim, e sobre a propagação de vírus, roubo e destruição informação importante Além disso, você não deve esquecer, bem como o fato de que um tempo de inatividade de uma empresa leva a perdas bastante tangíveis.

Embora este artigo seja sobre o Ubuntu Server, veremos primeiro problemas gerais segurança, que são igualmente relevantes para qualquer plataforma e são o básico, sem o qual não faz sentido discutir o assunto com mais detalhes.

Onde começa a segurança?

Não, a segurança não começa com um firewall, não começa com o hardware, a segurança começa com o usuário. Afinal, qual é o sentido da porta de metal mais legal instalada pelos melhores especialistas se o dono deixa a chave debaixo do tapete?

Portanto, a primeira coisa que você deve fazer é realizar uma auditoria de segurança. Não tenha medo desta palavra, nem tudo é tão difícil: desenhe um plano de rede esquemático no qual você marca uma zona segura, uma zona de perigo potencial e uma zona de perigo aumentado e também faça uma lista de usuários que (devem têm) acesso a essas zonas.

A zona segura deve incluir recursos de rede internos aos quais não há acesso externo e para os quais nível baixo segurança. Estes podem ser estações de trabalho, servidores de arquivos, etc. dispositivos cujo acesso é limitado pela rede local da empresa.

A zona de perigo potencial deve incluir servidores e dispositivos que não tenham acesso direto à rede externa, mas que alguns serviços estejam disponíveis externamente, por exemplo, web e servidores de correio localizado atrás de um firewall, mas atendendo solicitações da rede externa.

A zona de perigo deve incluir dispositivos diretamente acessíveis do lado de fora, no caso ideal deve ser um roteador.

Se possível, uma zona potencialmente perigosa deve ser movida para uma sub-rede separada - uma zona desmilitarizada (DMZ), que é separada da rede principal por um firewall adicional.

Os dispositivos LAN só devem poder acessar os serviços na DMZ de que precisam, como SMTP, POP3, HTTP, outras conexões devem ser bloqueadas. Isso isolará de maneira confiável um invasor ou malware que explorou uma vulnerabilidade em um serviço separado com uma zona desmilitarizada, bloqueando seu acesso à rede principal.

Fisicamente, a DMZ pode ser organizada definindo servidor separado/ firewall de hardware ou adicionando uma placa de rede adicional ao roteador, mas neste último caso, você terá que prestar muita atenção à segurança do roteador. Mas em qualquer caso, é muito mais fácil proteger um único servidor do que um grupo de servidores.

O próximo passo deve ser analisar a lista de usuários, se todos precisam de acesso à DMZ e ao roteador (com exceção de serviços públicos), atenção especial deve ser dada aos usuários que se conectam de fora.

Isso geralmente requer a etapa muito impopular de impor uma política de senha. Todas as senhas de usuários com acesso a serviços críticos e com capacidade de conexão externa devem conter pelo menos 6 caracteres e conter, além de letras minúsculas, caracteres de duas categorias de três: letras maiúsculas, números, caracteres não alfabéticos.

Além disso, a senha não deve incluir o login do usuário ou parte dele, não deve conter datas e nomes que possam ser associados ao usuário e, preferencialmente, não deve ser uma palavra do dicionário.

É uma boa ideia adquirir o hábito de alterar as senhas a cada 30-40 dias. É claro que tal política pode causar rejeição por parte dos usuários, mas você deve sempre lembrar que senhas como 123 ou qwerty são equivalentes à chave deixada sob o tapete.

Segurança do servidor - nada mais.

Agora, tendo uma ideia do que queremos proteger e do quê, vamos para o próprio servidor. Faça uma lista de todos os serviços e serviços e, em seguida, considere se todos eles são necessários nesse servidor específico ou se podem ser movidos para algum lugar.

Quanto menos serviços, mais fácil é garantir a segurança, menor a chance de um servidor ser comprometido por uma vulnerabilidade crítica em um deles.

Configurar os serviços que atendem rede local(por exemplo, squid), para que só aceitem requisições da interface local. Quanto menos serviços disponíveis externamente, melhor.

Um bom assistente de segurança seria um scanner de vulnerabilidades que deve ser verificado a parte dianteira servidor. Usamos uma versão demo de um dos produtos mais famosos - XSpider 7.7.

O scanner mostra portas abertas, tenta determinar o tipo de serviço em execução e, se for bem-sucedido, as vulnerabilidades para ele. Como você pode ver, um sistema configurado corretamente é bastante seguro, mas você não deve deixar a chave debaixo do tapete, a presença de portas abertas 1723 (VPN) e 3389 (RDP, encaminhadas ao servidor de terminal) no roteador é uma boa razão para pensar sobre a política de senha.

Separadamente, vale a pena falar sobre segurança SSH, esse serviço geralmente é usado por administradores para controle remoto servidor e é de particular interesse para intrusos. As configurações SSH são armazenadas em um arquivo /etc/ssh/sshd_config, todas as alterações descritas abaixo são feitas nele. Antes de tudo, você deve desabilitar a autorização no usuário root, para isso, adicione a opção:

PermitRootLogin no

Agora o invasor terá que adivinhar não apenas a senha, mas também o login, enquanto ele ainda não saberá a senha do superusuário (esperamos que não corresponda à sua senha). Todas as tarefas administrativas ao conectar de fora devem ser executadas sob sudo fazendo login como um usuário sem privilégios.

Vale a pena especificar explicitamente a lista de usuários permitidos, enquanto você pode usar registros como [e-mail protegido] , que permite que o usuário especificado se conecte apenas a partir do host especificado. Por exemplo, para permitir que o usuário ivanov se conecte de casa (IP 1.2.3.4), adicione a seguinte entrada:

Permitir usuário [e-mail protegido]

Proibir também o uso de obsoletos e menos protocolo seguro SSH1, permitindo apenas a segunda versão do protocolo, fazer isso, trazer próxima linha para a vista:

Protocolo 2

Apesar de todas as medidas tomadas, ainda haverá tentativas de se conectar ao SSH e outros serviços públicos, para evitar adivinhar senhas, use o utilitário fail2ban, que permite banir automaticamente um usuário após várias tentativas de autorização malsucedidas. Você pode instalá-lo com o comando:

sudo apt-get install fail2ban

Este utilitário está pronto para funcionar imediatamente após a instalação, no entanto, aconselhamos que você altere imediatamente alguns parâmetros, para isso, faça alterações no arquivo /etc/fail2ban/jail.conf. Por padrão, apenas o acesso ao SSH é controlado e o tempo de banimento é de 10 minutos (600 segundos), em nossa opinião vale a pena aumentá-lo alterando a seguinte opção:

Bantime = 6000

Em seguida, percorra o arquivo e habilite as seções dos serviços em execução em seu sistema, definindo o parâmetro após o nome da seção correspondente ativado em um estado verdadeiro, por exemplo, para o serviço proftpd Isso parecerá assim:


habilitado=verdadeiro

Outro parâmetro importante maxretry, que é responsável pelo número máximo de tentativas de conexão. Depois de alterar as configurações, não se esqueça de reiniciar o serviço:

sudo /etc/init.d/fail2ban restart

Você pode ver o log do utilitário em /var/log/fail2ban.log.

Na conferência anual LinuxCon em 2015, o criador do kernel GNU/Linux Linus Torvalds compartilhou sua opinião sobre a segurança do sistema. Ele enfatizou a necessidade de mitigar o efeito da presença de certos bugs com proteção competente, para que, se um componente falhar, a próxima camada cubra o problema.

Neste artigo, tentaremos revelar esse tópico de um ponto de vista prático:

7. Instale firewalls

Recentemente houve uma nova vulnerabilidade que permite ataques DDoS em servidores rodando Linux. Um bug no núcleo do sistema apareceu desde a versão 3.6 no final de 2012. A vulnerabilidade permite que hackers injetem vírus em arquivos de download, páginas da web e exponham conexões Tor, e não é preciso muito esforço para hackear - o método de falsificação de IP funcionará.

O dano máximo para conexões HTTPS ou SSH criptografadas é a interrupção da conexão, mas um invasor pode colocar novo conteúdo em tráfego não seguro, incluindo malware. Para proteger contra tais ataques, um firewall é adequado.

Bloquear acesso com firewall

O firewall é uma das ferramentas mais importantes para bloquear tráfego de entrada. Recomendamos que você permita apenas o tráfego pelo qual realmente precisa passar e bloqueie completamente todos os outros tráfegos.

Para filtragem de pacotes, a maioria das distribuições Linux possui um controlador iptables. Eles costumam usar usuários avançados, e para uma configuração simplificada, você pode usar os utilitários UFW no Debian/Ubuntu ou FirewallD no Fedora.

8. Desative serviços desnecessários

Especialistas da Universidade da Virgínia recomendam desativar todos os serviços que você não usa. Algum processos em segundo plano estão configurados para carregar automaticamente e funcionar até que o sistema seja desligado. Para configurar esses programas, você precisa verificar os scripts de inicialização. Os serviços podem ser iniciados via inetd ou xinetd.

Se o seu sistema estiver configurado via inetd, então no arquivo /etc/inetd.conf você pode editar a lista de programas “daemons” em segundo plano, para desabilitar o carregamento do serviço, basta colocar um sinal “#” no início do linha, transformando-o de um executável em um comentário.

Se o sistema usa xinetd, sua configuração estará no diretório /etc/xinetd.d. Cada arquivo de diretório define um serviço que pode ser desabilitado especificando a cláusula disable = yes, como neste exemplo:

Service finger ( socket_type = stream wait = no user = none server = /usr/sbin/in.fingerd disable = yes )
Também vale a pena verificar os processos persistentes que não são gerenciados pelo inetd ou xinetd. Você pode configurar scripts de inicialização nos diretórios /etc/init.d ou /etc/inittab. Depois que as alterações forem feitas, execute o comando na conta root.

/etc/rc.d/init.d/inet reinicie

9. Proteja o servidor fisicamente

É impossível proteger totalmente contra ataques de um invasor com acesso físico ao servidor. Portanto, é necessário proteger a sala onde seu sistema está localizado. Os data centers levam a segurança a sério, limitando o acesso a servidores, instalando câmeras de segurança e nomeando guardas constantes.

Para entrar no data center, todos os visitantes devem passar por determinadas etapas de autenticação. Também é fortemente recomendado o uso de sensores de movimento em todas as áreas do centro.

10. Proteja o servidor contra acesso não autorizado

Um sistema de acesso não autorizado, ou IDS, coleta dados sobre a configuração e os arquivos do sistema e, em seguida, compara esses dados com as novas alterações para determinar se são prejudiciais ao sistema.

Por exemplo, as ferramentas Tripwire e Aide coletam um banco de dados de arquivos do sistema e protegê-los com um conjunto de chaves. O Psad é usado para rastrear atividades suspeitas por meio de relatórios de firewall.

O Bro foi projetado para monitorar a rede, rastrear padrões de atividades suspeitas, coletar estatísticas, executar comandos do sistema e gerar alertas. O RKHunter pode ser usado para proteger contra vírus, na maioria das vezes rootkits. Este utilitário verifica seu sistema em um banco de dados de vulnerabilidades conhecidas e pode detectar configurações inseguras em aplicativos.

Conclusão

As ferramentas e configurações listadas acima ajudarão você a proteger parcialmente o sistema, mas a segurança depende do seu comportamento e compreensão da situação. Sem atenção, cautela e autoaprendizagem constante, todas as medidas de proteção podem não funcionar.