Configure sua própria rede privada com o OpenVPN
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
O Snort é um sistema gratuito de detecção de intrusões de rede (IDS). Em termos menos oficiais, permite monitorar sua rede em busca de atividades suspeitas em tempo real . Atualmente, o Snort possui pacotes para sistemas baseados no Fedora, CentOS, FreeBSD e Windows. O método exato de instalação varia entre os sistemas operacionais. Neste tutorial, instalaremos diretamente a partir dos arquivos de origem do Snort. Este guia foi escrito para o Debian.
Antes de realmente colocarmos as mãos nas fontes do Snort, precisamos garantir que nosso sistema esteja atualizado. Podemos fazer isso emitindo os comandos abaixo.
sudo apt-get update
sudo apt-get upgrade -y
sudo reboot
Após a reinicialização do sistema, precisamos instalar vários pacotes para garantir a instalação do SBPP. Consegui descobrir vários pacotes necessários, então o comando base está abaixo.
sudo apt-get install flex bison build-essential checkinstall libpcap-dev libnet1-dev libpcre3-dev libnetfilter-queue-dev iptables-dev libdumbnet-dev zlib1g-dev -y
Depois que todos os pacotes estiverem instalados, você precisará criar um diretório temporário para os arquivos de origem - eles podem estar em qualquer lugar que você quiser. Eu vou estar usando /usr/src/snort_src
. Para criar esta pasta, você precisará estar logado como root
usuário ou ter sudo
permissões - root
isso facilita.
sudo mkdir /usr/src/snort_src
cd /usr/src/snort_src
Antes de podermos obter a fonte do Snort, precisamos instalar o DAQ. É bastante simples de instalar.
wget https://www.snort.org/downloads/snort/daq-2.0.6.tar.gz
Extraia os arquivos do tarball.
tar xvfz daq-2.0.6.tar.gz
Mude para o diretório DAQ.
cd daq-2.0.6
Configure e instale o DAQ.
./configure; make; sudo make install
Essa última linha será executada ./configure
primeiro. Então ele será executado make
. Por fim, ele será executado make install
. Usamos a sintaxe mais curta aqui apenas para economizar um pouco na digitação.
Queremos ter certeza de que estamos no /usr/src/snort_src
diretório novamente, portanto, mude para esse diretório com:
cd /usr/src/snort_src
Agora que estamos no diretório das fontes, faremos o download do tar.gz
arquivo para a fonte. No momento da redação deste artigo, a versão mais recente do Snort é 2.9.8.0
.
wget https://www.snort.org/downloads/snort/snort-2.9.8.0.tar.gz
Os comandos para realmente instalar o snort são muito semelhantes aos usados para o DAQ, mas eles têm opções diferentes.
Extraia os arquivos de origem do Snort.
tar xvfz snort-2.9.8.0.tar.gz
Mude para o diretório de origem.
cd snort-2.9.8.0
Configure e instale as fontes.
./configure --enable-sourcefire; make; sudo make install
Depois de instalar o Snort, precisamos garantir que nossas bibliotecas compartilhadas estejam atualizadas. Podemos fazer isso usando o comando:
sudo ldconfig
Depois disso, teste sua instalação do Snort:
snort --version
Se esse comando não funcionar, você precisará criar um link simbólico. Você pode fazer isso digitando:
sudo ln -s /usr/local/bin/snort /usr/sbin/snort
snort --version
A saída resultante será semelhante ao seguinte:
,,_ -*> Snort! <*-
o" )~ Version 2.9.7.5 GRE (Build 262)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.6.2
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Agora que o snort está instalado, não queremos que ele funcione como root
, portanto, precisamos criar um snort
usuário e um grupo. Para criar um novo usuário e grupo, podemos usar estes dois comandos:
sudo groupadd snort
sudo useradd snort -r -s /sbin/nologin -c SNORT_IDS -g snort
Como instalamos o programa usando a fonte, precisamos criar os arquivos de configuração e as regras para o snort.
sudo mkdir /etc/snort
sudo mkdir /etc/snort/rules
sudo mkdir /etc/snort/preproc_rules
sudo touch /etc/snort/rules/white_list.rules /etc/snort/rules/black_list.rules /etc/snort/rules/local.rules
Depois de criar os diretórios e as regras, agora precisamos criar o diretório de log.
sudo mkdir /var/log/snort
E, finalmente, antes que possamos adicionar regras, precisamos de um local para armazenar as regras dinâmicas.
sudo mkdir /usr/local/lib/snort_dynamicrules
Depois que todos os arquivos anteriores forem criados, defina as permissões apropriadas neles.
sudo chmod -R 5775 /etc/snort
sudo chmod -R 5775 /var/log/snort
sudo chmod -R 5775 /usr/local/lib/snort_dynamicrules
sudo chown -R snort:snort /etc/snort
sudo chown -R snort:snort /var/log/snort
sudo chown -R snort:snort /usr/local/lib/snort_dynamicrules
Para economizar muito tempo e evitar copiar e colar tudo, basta copiar todos os arquivos no diretório de configuração.
sudo cp /usr/src/snort_src/snort*/etc/*.conf* /etc/snort
sudo cp /usr/src/snort_src/snort*/etc/*.map /etc/snort
Agora que os arquivos de configuração estão lá, você pode fazer uma de duas coisas:
De qualquer forma, você ainda vai querer mudar algumas coisas. Continue lendo.
No /etc/snort/snort.conf
arquivo, você precisará alterar a variável HOME_NET
. Ele deve ser definido como o bloco IP da sua rede interna para não registrar as tentativas da sua própria rede de efetuar login no servidor. Pode ser 10.0.0.0/24
ou 192.168.0.0/16
. Na linha 45, /etc/snort/snort.conf
altere a variável HOME_NET
para esse valor do bloco IP da sua rede.
Na minha rede, fica assim:
ipvar HOME_NET 192.168.0.0/16
Então, você precisará definir a EXTERNAL_NET
variável para:
any
O que acaba se transformando EXERNAL_NET
no que você HOME_NET
não é.
Agora que a grande maioria do sistema está configurada, precisamos configurar nossas regras para este porquinho. Em algum lugar em torno da linha 104 em seu /etc/snort/snort.conf
arquivo, você deve ver uma "var" declaração e as variáveis RULE_PATH
, SO_RULE_PATH
, PREPROC_RULE_PATH
, WHITE_LIST_PATH
, e BLACK_LIST_PATH
. Seus valores devem ser definidos para os caminhos em que usamos Un-rooting Snort
.
var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules
var WHITE_LIST_PATH /etc/snort/rules
var BLACK_LIST_PATH /etc/snort/rules
Depois que esses valores forem definidos, exclua ou comente as regras atuais começando na linha 548.
Agora, vamos verificar se a sua configuração está correta. Você pode verificar com snort
.
# snort -T -c /etc/snort/snort.conf
Você verá uma saída semelhante à seguinte (truncada por questões de brevidade).
Running in Test mode
--== Initializing Snort ==--
Initializing Output Plugins!
Initializing Preprocessors!
Initializing Plug-ins!
.....
Rule application order: activation->dynamic->pass->drop->sdrop->reject->alert->log
Verifying Preprocessor Configurations!
--== Initialization Complete ==--
,,_ -*> Snort! <*-
o" )~ Version 2.9.8.0 GRE (Build 229)
'''' By Martin Roesch & The Snort Team: http://www.snort.org/contact#team
Copyright (C) 2014-2015 Cisco and/or its affiliates. All rights reserved.
Copyright (C) 1998-2013 Sourcefire, Inc., et al.
Using libpcap version 1.7.4
Using PCRE version: 8.35 2014-04-04
Using ZLIB version: 1.2.8
Rules Engine: SF_SNORT_DETECTION_ENGINE Version 2.4 <Build 1>
Preprocessor Object: SF_IMAP Version 1.0 <Build 1>
Preprocessor Object: SF_FTPTELNET Version 1.2 <Build 13>
Preprocessor Object: SF_SIP Version 1.1 <Build 1>
Preprocessor Object: SF_REPUTATION Version 1.1 <Build 1>
Preprocessor Object: SF_POP Version 1.0 <Build 1>
Preprocessor Object: SF_DCERPC2 Version 1.0 <Build 3>
Preprocessor Object: SF_SDF Version 1.1 <Build 1>
Preprocessor Object: SF_GTP Version 1.1 <Build 1>
Preprocessor Object: SF_DNS Version 1.1 <Build 4>
Preprocessor Object: SF_SSH Version 1.1 <Build 3>
Preprocessor Object: SF_DNP3 Version 1.1 <Build 1>
Preprocessor Object: SF_SSLPP Version 1.1 <Build 4>
Preprocessor Object: SF_SMTP Version 1.1 <Build 9>
Preprocessor Object: SF_MODBUS Version 1.1 <Build 1>
Snort successfully validated the configuration!
Snort exiting
Agora que tudo está configurado sem erros, estamos prontos para começar a testar o Snort.
A maneira mais fácil de testar o Snort é habilitando o local.rules
. Este é um arquivo que contém suas regras personalizadas.
Se você notou no snort.conf
arquivo, em algum lugar na linha 546, esta linha existe:
include $RULE_PATH/local.rules
Se você não o tiver, adicione-o em torno de 546. Você pode usar o local.rules
arquivo para teste. Como teste básico, apenas o Snort acompanha uma solicitação de ping (solicitação ICMP). Você pode fazer isso adicionando a seguinte linha ao seu local.rules
arquivo.
alert icmp any any -> $HOME_NET any (msg:"ICMP test"; sid:10000001; rev:001;)
Depois de ter isso em seu arquivo, salve-o e continue lendo.
O comando a seguir iniciará o Snort e imprimirá alertas de "modo rápido", conforme o usuário bufar, no grupo bufar, usando a configuração /etc/snort/snort.conf
, e ele ouvirá na interface de rede eno1
. Você precisará mudar eno1
para qualquer interface de rede em que seu sistema esteja escutando.
$ sudo /usr/local/bin/snort -A console -q -u snort -g snort -c /etc/snort/snort.conf -i eno1
Depois de executá-lo, execute ping no computador. Você começará a ver uma saída semelhante à seguinte:
01/07−16:03:30.611173 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
01/07−16:03:31.612174 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.104 -> 192.168.1.105
01/07−16:03:31.612202 [**] [1:10000001:0] ICMP test [**] [Priority: 0] 192.168.1.105 -> 192.168.1.104
^C*** Caught Int−Signal
Você pode pressionar Ctrl + C para sair do programa, e é isso. O Snort está pronto. Agora você pode usar as regras que desejar.
Por fim, quero observar que existem algumas regras públicas criadas pela comunidade que você pode baixar do site oficial, na guia "Comunidade". Procure por "Snort" e, logo abaixo, há um link da comunidade. Faça o download, extraia-o e procure o community.rules
arquivo.
O Vultr oferece uma incrível conectividade de rede privada para servidores executando no mesmo local. Mas às vezes você quer dois servidores em países diferentes
Usando um sistema diferente? O Couch CMS é um sistema de gerenciamento de conteúdo (CMS) simples e flexível, gratuito e de código aberto que permite que os web designers
Usar um usuário sudo para acessar um servidor e executar comandos no nível raiz é uma prática muito comum entre o Linux e o Unix Systems Administrator. O uso de um sud
Este artigo ensinará como configurar uma prisão chroot no Debian. Presumo que você esteja usando o Debian 7.x. Se você estiver executando o Debian 6 ou 8, isso pode funcionar, mas
Introdução Uma maneira fácil de configurar um servidor VPN no Debian é com o PiVPN. PiVPN é um instalador e wrapper para o OpenVPN. Ele cria comandos simples para você t
Usando um sistema diferente? Introdução O Kanboard é um programa de software de gerenciamento de projetos gratuito e de código aberto, projetado para facilitar e visualizar
Usando um sistema diferente? Neos é uma plataforma de aplicativos de conteúdo com um CMS e uma estrutura de aplicativos em seu núcleo. Este guia mostra como instalar
Introdução O Cacti é uma ferramenta de monitoramento e gráfico de código aberto totalmente baseada em dados RRD. Através do Cacti, você pode monitorar quase qualquer tipo de dispositivo
Java é uma linguagem de programação independente de plataforma / máquina virtual. Neste tutorial, instalaremos a implementação OpenJDK do Java 8 em um Debian
O Git é um sistema de controle de versão (VCS) que permite o rastreamento de alterações no código. Neste tutorial, mostraremos a instalação de um servidor HTTP (S) Git, um
Introdução O MyCLI é um cliente de linha de comando para MySQL e MariaDB que permite concluir automaticamente e ajuda na sintaxe de seus comandos SQL. MyCL
Introdução O MySQL possui um ótimo recurso conhecido como views. As visualizações são consultas armazenadas. Pense neles como um alias para uma consulta longa. Neste guia,
Usando um sistema diferente? O Matomo (anteriormente Piwik) é uma plataforma de análise de código aberto, uma alternativa aberta ao Google Analytics. Fonte Matomo está hospedado o
Munin é uma ferramenta de monitoramento para pesquisar processos e recursos em sua máquina e apresenta as informações em gráficos através de uma interface da web. Use o seguinte
Usando um sistema diferente? O NodeBB é um fórum baseado no Node.js. Ele utiliza soquetes da web para interações instantâneas e notificações em tempo real. Código fonte do NodeBB i
O Samba é uma solução de código aberto que permite aos usuários configurar compartilhamentos de arquivos e impressão rápidos e seguros. Neste artigo, abordarei como configurar a sagacidade do Samba
Introdução Neste tutorial, abordaremos o processo de adicionar um intervalo / sub-rede IP inteiro a um servidor Linux executando o CentOS, Debian ou Ubuntu. O processo
Usando um sistema diferente? O Plesk é um painel de controle proprietário de host da web que permite que os usuários administrem seus sites pessoais e / ou clientes, bancos de dados
Usando um sistema diferente? O Koel é um aplicativo simples de transmissão de áudio pessoal baseado na Web, escrito em Vue no lado do cliente e Laravel no lado do servidor. Koe
Usando um sistema diferente? O Ghost é uma plataforma de blog de código aberto que vem ganhando popularidade entre desenvolvedores e usuários comuns desde a sua 201
Os ataques de ransomware estão aumentando, mas a IA pode ajudar a lidar com os vírus de computador mais recentes? AI é a resposta? Leia aqui para saber se é AI boone ou bane
ReactOS, um sistema operacional de código aberto e gratuito está aqui com a versão mais recente. Será que ela pode atender às necessidades dos usuários modernos do Windows e derrubar a Microsoft? Vamos descobrir mais sobre esse estilo antigo, mas uma experiência de sistema operacional mais recente.
O Whatsapp finalmente lançou o aplicativo Desktop para usuários de Mac e Windows. Agora você pode acessar o Whatsapp do Windows ou Mac facilmente. Disponível para Windows 8+ e Mac OS 10.9+
Leia isto para saber como a Inteligência Artificial está se tornando popular entre as empresas de pequena escala e como está aumentando as probabilidades de fazê-las crescer e dar vantagem a seus concorrentes.
Recentemente, a Apple lançou o macOS Catalina 10.15.4, uma atualização suplementar para corrigir problemas, mas parece que a atualização está causando mais problemas, levando ao bloqueio de máquinas mac. Leia este artigo para saber mais
13 Ferramentas de Extração de Dados Comerciais de Big Data
Nosso computador armazena todos os dados de uma maneira organizada conhecida como sistema de arquivos Journaling. É um método eficiente que permite ao computador pesquisar e exibir arquivos assim que você clicar em search.https: //wethegeek.com/? P = 94116 & preview = true
À medida que a ciência evolui em um ritmo rápido, assumindo muitos de nossos esforços, os riscos de nos sujeitarmos a uma singularidade inexplicável também aumentam. Leia, o que a singularidade pode significar para nós.
Uma visão sobre 26 técnicas analíticas de Big Data: Parte 1
A IA na área da saúde deu grandes saltos nas últimas décadas. Portanto, o futuro da IA na área da saúde ainda está crescendo dia a dia.