aboutsummaryrefslogtreecommitdiff
path: root/documentation/content/pt-br/articles/ipsec-must/_index.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'documentation/content/pt-br/articles/ipsec-must/_index.adoc')
-rw-r--r--documentation/content/pt-br/articles/ipsec-must/_index.adoc44
1 files changed, 24 insertions, 20 deletions
diff --git a/documentation/content/pt-br/articles/ipsec-must/_index.adoc b/documentation/content/pt-br/articles/ipsec-must/_index.adoc
index e753e4f3af..5b0996171f 100644
--- a/documentation/content/pt-br/articles/ipsec-must/_index.adoc
+++ b/documentation/content/pt-br/articles/ipsec-must/_index.adoc
@@ -1,8 +1,11 @@
---
-title: Verificação Independente da Funcionalidade IPsec no FreeBSD
authors:
- - author: David Honig
+ -
+ author: 'David Honig'
email: honig@sprynet.com
+description: 'Verificação Independente da Funcionalidade IPsec no FreeBSD'
+tags: ["IPsec", "verification", "FreeBSD"]
+title: 'Verificação Independente da Funcionalidade IPsec no FreeBSD'
trademarks: ["freebsd", "opengroup", "general"]
---
@@ -49,7 +52,7 @@ toc::[]
[[problem]]
== O problema
-Primeiro, vamos assumir que você tem o <<ipsec-install>>. Como você sabe que ele está <<caveat>>? Claro, sua conexão não funcionará se ele estiver mal configurado, e funcionará quando você finalmente acertar a configuração. O man:netstat[1]irá listá-lo. Mas você pode confirmar isso de forma independente?
+Primeiramente, vamos supor que você tenha o instalado o IPsec (<<ipsec-install>>). Como você sabe se há algum problema (<<caveat>>)? É verdade que sua conexão não funcionará se estiver mal configurada, e funcionará quando você finalmente acertar. O comando man:netstat[1] listará isso. Mas você pode confirmar isso de forma independente?
[[solution]]
== A solução
@@ -59,26 +62,26 @@ Em primeiro lugar, vejamos alguma informação teórica relevante em relação Ã
. Dados criptografados são uniformemente distribuídos, ou seja, possuem entropia máxima por símbolo;
. Os dados brutos, não comprimidos são tipicamente redundantes, isto é, possuem entropia submáxima.
-Suponha que você possa medir a entropia dos dados destinados para a sua interface de rede e também dos dados originados dela. Então você pode ver a diferença entre dados não criptografados e dados criptografados. Isso seria verdade mesmo que alguns dos dados no "modo criptografado" não estivessem criptografados --- como deve o cabeçalho IP mais externo para que o pacote seja roteável.
+Suponha que você pudesse medir a entropia dos dados que entram e saem de sua interface de rede. Então, você poderia ver a diferença entre dados não criptografados e dados criptografados. Isso seria verdade mesmo que alguns dos dados no "modo criptografado" não estivessem criptografados - como o cabeçalho IP mais externo deve estar se o pacote for roteável.
[[MUST]]
=== MUST
-O teste de "Estatística Universal para Geradores de Bits Aleatórios" de Ueli Maurer (https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST ]) mede rapidamente a entropia de uma amostra. Ele usa um algoritmo semelhante à compressão. <<code>> para uma variante que mede partes sucessivas (aproximadamente um quarto de megabyte) de um arquivo.
+O "Universal Statistical Test for Random Bit Generators" de Ueli Maurer (https://web.archive.org/web/20011115002319/http://www.geocities.com/SiliconValley/Code/4704/universal.pdf[MUST]) mede rapidamente a entropia de uma amostra. Ele usa um algoritmo semelhante ao de compressão. O <<Código>> de uma variante que mede blocos sucessivos (de cerca de um quarto de megabyte) de um arquivo.
[[tcpdump]]
=== Tcpdump
-Também precisamos de uma maneira de capturar os dados brutos da rede. Um programa chamado man:tcpdump[1] permite que você faça isso, se você ativou a interface _Berkeley Packet Filter_ no seu <<kernel>>.
+Também precisamos de uma maneira de capturar os dados brutos da rede. Um programa chamado man:tcpdump[1] permite que você faça isso, se você habilitou a interface do _Berkeley Packet Filter_ no seu <<kernel>>.
O comando:
-[source,shell]
+[source, shell]
....
tcpdump -c 4000 -s 10000 -w dumpfile.bin
....
-irá capturar 4000 pacotes brutos no arquivo _dumpfile.bin_. Até 10.000 bytes por pacote serão capturados neste exemplo.
+serão capturados 4000 pacotes brutos e salvos em _dumpfile.bin_. Neste exemplo, serão capturados até 10.000 bytes por pacote.
[[experiment]]
== O Experimento
@@ -86,15 +89,15 @@ irá capturar 4000 pacotes brutos no arquivo _dumpfile.bin_. Até 10.000 bytes p
Aqui está o experimento:
[.procedure]
+====
. Abra uma janela para um host IPsec e outra janela para um host inseguro.
-. Agora comece a <<tcpdump>>.
-. Na janela "segura", execute o comando UNIX(R) man:yes[1], que transmitirá o caractere `y`. Depois de um tempo, pare com isso. Alterne para a janela insegura e repita. Depois de um tempo, pare.
-. Agora execute o <<code>> nos pacotes capturados. Você deve ver algo como o seguinte. O importante é notar que a conexão segura tem 93% (6,7) do valor esperado (7,18), e a conexão "normal" tem 29% (2,1) do valor esperado.
+. Agora, inicie o <<tcpdump>>.
+. Na janela "segura", execute o comando UNIX(R) man:yes[1], que transmitirá o caractere `y`. Após um tempo, pare este comando. Mude para a janela "insegura" e repita o processo. Após um tempo, pare também esse comando.
+. Agora execute o <<code>> nos pacotes capturados. Você deverá ver algo como o seguinte. O importante a ser observado é que a conexão segura tem 93% (6,7) do valor esperado (7,18), enquanto a conexão "normal" tem 29% (2,1) do valor esperado.
+
-[source,shell]
+[source, shell]
....
% tcpdump -c 4000 -s 10000 -w ipsecdemo.bin
-
% uliscan ipsecdemo.bin
Uliscan 21 Dec 98
L=8 256 258560
@@ -108,28 +111,29 @@ Expected value for L=8 is 7.1836656
2.0838 -----------------
2.0983 -----------------
....
+====
[[caveat]]
== Embargo
-Esta experiência mostra que o IPsec _parece_ estar distribuindo os dados de carga __uniformemente__, como a criptografia deveria. No entanto, o experimento descrito aqui _não pode_ detectar muitas das falhas possíveis em um sistema (nenhum dos quais eu tenho qualquer evidência para). Estes incluem geração ou troca deficiente de chaves, dados ou chaves sendo visíveis para outros, uso de algoritmos fracos, subversão do kernel, etc. Estude a fonte; conheça o código.
+Este experimento mostra que o IPsec parece estar distribuindo os dados do payload __uniformly__, como a criptografia deveria fazer. No entanto, o experimento descrito aqui não pode detectar muitas possíveis falhas em um sistema (das quais não tenho nenhuma evidência). Estes incluem geração ou troca de chave fraca, dados ou chaves visíveis para outros, uso de algoritmos fracos, subversão do kernel, etc. Estude o código-fonte; conheça o código.
[[IPsec]]
== IPsec --- Definição
-Extensões de segurança do protocolo Internet para o IPv4; obrigatório para o IPv6. Um protocolo para negociar criptografia e autenticação no nível IP (host para host). O SSL protege apenas um soquete de aplicativo; O SSH protege apenas um login; PGP protege apenas um arquivo ou mensagem especifico. O IPsec criptografa tudo entre dois hosts.
+As extensões de segurança do Protocolo de Internet para o IPv4; obrigatório para o IPv6. Um protocolo para negociar criptografia e autenticação no nível IP (host-to-host). O SSL protege apenas um socket de aplicativo; O SSH protege apenas um login; O PGP protege apenas um arquivo ou mensagem especificada. O IPsec criptografa tudo entre dois hosts.
[[ipsec-install]]
== Instalando o IPsec
-A maioria das versões modernas do FreeBSD tem suporte a IPsec em sua fonte base. Portanto, você precisará incluir a opção `IPSEC` em sua configuração de kernel e, após a reconstrução e reinstalação do kernel, configurar as conexões IPsec usando o comando man:setkey[8].
+A maioria das versões modernas do FreeBSD possui suporte IPsec em seu código base. Portanto, você precisará incluir a opção `IPSEC` na configuração do seu kernel e, após recompilar e reinstalar o kernel, configurar as conexões IPsec usando o comando man:setkey[8].
-Um guia completo sobre como executar o IPsec no FreeBSD é fornecido no extref:{handbook}security[Handbook do FreeBSD, ipsec].
+Um guia abrangente sobre como executar o IPsec no FreeBSD está disponível no extref:{handbook}[Handbook do FreeBSD, ipsec].
[[kernel]]
== src/sys/i386/conf/KERNELNAME
-Isto precisa estar presente no arquivo de configuração do kernel para habilitar o suporte para captura de dados de rede com o man:tcpdump[1]. Certifique-se de executar o man:config[8] depois de adicionar a linha, de recompilar e de reinstalar.
+Isso precisa estar presente no arquivo de configuração do kernel para capturar dados de rede com o comando man:tcpdump[1]. Certifique-se de executar man:config[8] após adicionar isso e reconstruir e reinstalar o kernel.
[.programlisting]
....
@@ -137,9 +141,9 @@ device bpf
....
[[code]]
-== Teste Estatístico Universal de Maurer (para tamanho de bloco = 8 bits)
+== Teste estatístico universal de Maurer (para tamanho de bloco = 8 bits)
-Você pode encontrar o mesmo código em https://web.archive.org/web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[neste link].
+Você pode encontrar o mesmo código https://web.archive.org/web/20031204230654/http://www.geocities.com:80/SiliconValley/Code/4704/uliscanc.txt[neste link].
[.programlisting]
....