Tahoe-LAFS

O Tahoe-LAFS é um sistema de armazenamento em nuvem descentralizado, gratuito e aberto. Ele distribui seus dados entre vários servidores. Mesmo que alguns servidores falhem ou sejam invadidos por um invasor, todo o armazenamento de arquivos continua funcionando corretamente, preservando sua privacidade e segurança
Tahoe-LAFS

O que é Tahoe-LAFS?

===================

Bem-vindo ao Tahoe-LAFS_, o primeiro sistema de armazenamento descentralizado com

  • Segurança independente do provedor * .
  • Tahoe-LAFS é um sistema que ajuda você a armazenar arquivos. Você executa um cliente

    Programa no seu computador, que fala com um ou mais servidores de armazenamento em outros

    computadores. Quando você diz ao seu cliente para armazenar um arquivo, ele irá criptografar isso

    Arquivo, codifique-o em múltiplas peças, depois espalhe essas peças entre

    Vários servidores. As peças são todas criptografadas e protegidas contra

    Modificações. Mais tarde, quando você pede ao seu cliente para recuperar o arquivo, ele irá

    Encontre as peças necessárias, verifique se elas não foram corrompidas e remontadas

    Eles, e descriptografar o resultado.

    O cliente cria mais peças (ou "compartilhamentos") do que acabará por precisar, então

    Mesmo que alguns servidores falhem, você ainda pode recuperar seus dados. Corrompido

    Os compartilhamentos são detectados e ignorados, de modo que o sistema pode tolerar o lado do servidor

    Erros no disco rígido. Todos os arquivos são criptografados (com uma chave exclusiva) antes

    Uploading, então mesmo um operador de servidor mal-intencionado não pode ler seus dados. o

    A única coisa que você pede aos servidores é que eles podem (geralmente) fornecer o

    Compartilha quando você os solicita: você não está confiando sobre eles para

    Confidencialidade, integridade ou disponibilidade absoluta.

    O que é "segurança independente do provedor"?

    ========================================

    Todo vendedor de serviços de armazenamento na nuvem irá dizer-lhe que o seu serviço é

    "seguro". Mas o que eles significam com isso é algo fundamentalmente diferente

    Do que queremos dizer. O que eles significam por "seguro" é que depois de ter dado

    Eles o poder de ler e modificar seus dados, eles tentam muito difícil de não deixar

    Esse poder seja abusado. Isso acaba por ser difícil! Insetos,

    Configurações incorretas ou erro do operador podem acidentalmente expor seus dados para

    Outro cliente ou para o público, ou pode corromper seus dados. Criminosos

    Ganho rotineiramente de acesso ilícito a servidores corporativos. Ainda mais insidioso é

    O fato de que os próprios funcionários às vezes violam a privacidade do cliente

    De negligência, avareza ou mera curiosidade. O mais consciencioso de

    Esses prestadores de serviços gastam consideráveis ​​esforços e despesas tentando

    Mitigar esses riscos.

    O que queremos dizer com "segurança" é algo diferente. * O provedor de serviços

    Nunca tem a capacidade de ler ou modificar seus dados em primeiro lugar: nunca. *

    Se você usa Tahoe-LAFS, então todas as ameaças descritas acima não são questões

    para você. Não só é fácil e barato para o provedor de serviços

    Manter a segurança de seus dados, mas na verdade eles não podem violar sua

    Segurança se eles tentaram. Isto é o que chamamos de * independente do fornecedor

    segurança*.

    Esta garantia está integrada naturalmente no sistema de armazenamento Tahoe-LAFS e

    Não exige que você execute um passo de pré-criptografia manual ou uma chave complicada

    gestão. (Afinal, ter que fazer operações manuais pesadas quando

    Armazenar ou acessar seus dados anularia um dos principais benefícios de

    Usando armazenamento em nuvem em primeiro lugar: conveniência.)

    Veja como funciona:

    ![Topologia](https://tahoe-lafs.org/trac/tahoe-lafs/browser/trunk/docs/network-and-reliance-topology.svg)

    Uma "grade de armazenamento" é constituída por uma série de servidores de armazenamento. Um servidor de armazenamento

    Tem armazenamento direto em anexo (tipicamente um ou mais discos rígidos). Um "gateway"

    Se comunica com os nós de armazenamento e os usa para fornecer acesso ao

    Rede sobre protocolos como HTTP (S), SFTP ou FTP.

    Observe que você pode encontrar "cliente" usado para se referir aos nós do gateway (que atuam como

    Um cliente para servidores de armazenamento) e também para processos ou programas que se conectam a

    Um nó de gateway e operações de execução na grade - por exemplo, uma CLI

    Comando, navegador da Web, cliente SFTP ou cliente FTP.

    Os usuários não contam com servidores de armazenamento para fornecer * confidencialidade * nem

  • Integridade * para seus dados - em vez disso, todos os dados são criptografados e
  • Integridade verificada pelo gateway, para que os servidores não possam ler nem

    Modifique o conteúdo dos arquivos.

    Os usuários dependem de servidores de armazenamento para * disponibilidade *. O texto cifrado é

    Codificado por apagamento em partes ` N distribuídas em pelo menos H` distintas

    Servidores de armazenamento (o valor padrão para ` N é 10 e para H` é 7) então

    Que pode ser recuperado de qualquer ` K` desses servidores (o padrão

    O valor de ` K é 3). Portanto, apenas a falha do H-K + 1` (com o

    Padrões, 5) servidores podem tornar os dados indisponíveis.

    No modo de implantação típico, cada usuário executa seu próprio gateway sozinho

    máquina. Desta forma, ela confia em sua própria máquina para a confidencialidade e

    Integridade dos dados.

    Um modo de implantação alternativo é que o gateway é executado em uma máquina remota e

    O usuário se conecta ao HTTPS ou SFTP. Isso significa que o operador de

    O gateway pode visualizar e modificar os dados do usuário (o usuário * depende de * o

    Gateway para confidencialidade e integridade), mas a vantagem é que a

    O usuário pode acessar a grade Tahoe-LAFS com um cliente que não possui o

    Software de gateway instalado, como um quiosque de internet ou celular.

    Controle de acesso

    ==============

    Existem dois tipos de arquivos: imutáveis ​​e mutáveis. Quando você carrega um arquivo

    Para a grade de armazenamento, você pode escolher o tipo de arquivo que será no

    grade. Os arquivos imutáveis ​​não podem ser modificados quando foram carregados. UMA

    O arquivo mutable pode ser modificado por alguém com acesso de leitura e gravação. Um usuário

    Pode ter acesso de leitura e gravação a um arquivo mutable ou acesso somente leitura, ou não

    Acesso a ele.

    Um usuário que tenha acesso de leitura e gravação a um arquivo mutable ou diretório pode dar

    Outro acesso de leitura e gravação do usuário a esse arquivo ou diretório, ou eles podem dar

    Acesso somente leitura para esse arquivo ou diretório. Um usuário com acesso somente leitura

    Para um arquivo ou diretório pode dar acesso a outro usuário somente leitura.

    Ao vincular um arquivo ou diretório a um diretório pai, você pode usar um

    Link de leitura-escrita ou um link somente de leitura. Se você usar um link de leitura e gravação, então

    Qualquer pessoa que tenha acesso de leitura e gravação ao diretório pai pode obter leitura-escrita

    Acesso à criança e qualquer pessoa que tenha acesso somente leitura ao pai

    O diretório pode obter acesso somente leitura à criança. Se você usar uma leitura somente

    Link, qualquer pessoa que tenha lido-escrito ou acesso somente leitura ao pai

    O diretório pode obter acesso somente leitura à criança.

    ================================================== ====

    Usando Tahoe-LAFS com uma rede anônima: Tor, I2P

    ================================================== ====

    #. `Visão geral '

    #. `Casos de uso '

    #. Software Dependencies_

    #. Tor_

    #. I2P_

    #. `Configuração de conexão '

    #. `Configuração de Anonimato '

    #. `Anonimato do cliente '

    #. `Anonimato de servidor, configuração manual '

    #. `Anonimato de servidor, configuração automática '

    #. `Problemas de desempenho e segurança '

    Visão geral

    ========

    Tor é uma rede anonimização usada para ajudar a esconder a identidade da Internet

    Clientes e servidores. Consulte o site do Tor Project para obter mais informações:

    Https://www.torproject.org/

    I2P é uma rede de anonimato descentralizada que se concentra no anonimato de ponta a ponta

    Entre clientes e servidores. Consulte o site I2P para obter mais informações:

    Https://geti2p.net/

    Casos de uso

    =========

    Existem três casos de uso potenciais para Tahoe-LAFS do lado do cliente:

    1. O usuário deseja sempre usar uma rede de anonimato (Tor, I2P) para proteger

    Seu anonimato quando se conecta às redes de armazenamento Tahoe-LAFS (seja ou

    Não os servidores de armazenamento são anônimos).

    2. O usuário não se preocupa em proteger seu anonimato, mas eles desejam se conectar a

    Servidores de armazenamento Tahoe-LAFS que são acessíveis apenas através de Tor Hidden Services ou I2P.

  • Tor é usado apenas se uma sugestão de conexão do servidor usar ` tor: `. Essas sugestões
  • Geralmente tem um endereço ` .onion`.

  • I2P só é usado se uma sugestão de conexão do servidor usa ` i2p: `. Essas sugestões
  • Geralmente têm um endereço ` .i2p`.

    3. O usuário não se preocupa em proteger seu anonimato ou para se conectar a um anonimato

    Servidores de armazenamento. Este documento não é útil para você ... então pare de ler.

    Para servidores de armazenamento Tahoe-LAFS existem três casos de uso:

    1. O operador deseja proteger o anonimato fazendo seu Tahoe

    Servidor acessível apenas em I2P, através de Tor Hidden Services, ou ambos.

    2. O operador não * requer * anonimato para o servidor de armazenamento, mas eles

    Quer que ele esteja disponível tanto no TCP / IP roteado publicamente quanto através de um

    Rede de anonimização (I2P, Tor Hidden Services). Uma possível razão para fazer

    Isso é porque ser alcançável através de uma rede de anonimato é um

    Maneira conveniente de ignorar NAT ou firewall que impede roteios públicos

    Conexões TCP / IP ao seu servidor (para clientes capazes de se conectar a

    Tais servidores). Outro é o que torna o seu servidor de armazenamento acessível

    Através de uma rede de anonimato pode oferecer uma melhor proteção para sua

    Clientes que usam essa rede de anonimato para proteger seus

    anonimato.

    3. O operador do servidor de armazenamento não se preocupa em proteger seu próprio anonimato nem

    Para ajudar os clientes a proteger o deles. Pare de ler este documento e execute

    Seu servidor de armazenamento Tahoe-LAFS usando TCP / IP com roteamento público.

    Veja esta página do Tor Project para obter mais informações sobre Tor Hidden Services:

    Https://www.torproject.org/docs/hidden-services.html.pt

    Veja esta página do Projeto I2P para obter mais informações sobre o I2P:

    Https://geti2p.net/en/about/intro

    Dependências de software

    =====================

    Tor


    Os clientes que desejam se conectar a servidores baseados em Tor devem instalar o seguinte.

  • Tor (tor) deve ser instalado. Veja aqui:
  • Https://www.torproject.org/docs/installguide.html.en. No Debian / Ubuntu,

    Use ` apt-get install tor`. Você também pode instalar e executar o navegador Tor

    Agrupar.

  • Tahoe-LAFS deve ser instalado com o ` [tor] ` "extra" habilitado. Isso vai
  • Instale ` txtorcon` ::

    Pip install tahoe-lafs [tor]

    Os servidores Tor-configurados manualmente devem instalar Tor, mas não precisam

    ` Txtorcon ou o [tor] ` extra. Configuração automática, quando

    Implementado, vai precisar destes, assim como os clientes.

    I2P


    Os clientes que desejam se conectar a servidores baseados em I2P devem instalar o seguinte.

    Tal como acontece com Tor, os servidores baseados em I2P configurados manualmente precisam do daemon I2P, mas

    Não há bibliotecas especiais de apoio Tahoe-side.

  • I2P deve ser instalado. Veja aqui:
  • Https://geti2p.net/en/download

  • A API SAM deve estar habilitada.
  • Inicie o I2P.
  • Visite http://127.0.0.1:7657/configclients no seu navegador.
  • Em "Configuração do Cliente", marque a opção "Executar no Startup?" Caixa para "SAM
  • Ponte de aplicação ".

  • Clique em "Salvar Configuração do Cliente".
  • Clique no controle "Iniciar" para "ponte de aplicação SAM" ou reinicie o I2P.
  • Tahoe-LAFS deve ser instalado com o ` [i2p] ` extra habilitado, para obter
  • ` Txi2p` ::

    Pip install tahoe-lafs [i2p]

    Tor e I2P


    Os clientes que desejam se conectar a servidores baseados em Tor e I2P devem instalar

    tudo acima. Em particular, Tahoe-LAFS deve ser instalado com ambos

    Extras habilitados ::

    Pip install tahoe-lafs [tor, i2p]

    Configuração de conexão

    ========================

    Consulte: ref: Connection Management para uma descrição do [tor] e

    ` [I2p] seções de tahoe.cfg`. Estes controlam como o cliente Tahoe

    Conecte-se a um daemon Tor / I2P e, assim, faça conexões com Tor / I2P-baseadas

    Servidores.

    As seções ` [tor] e [i2p] ` só precisam ser modificadas para serem usadas de forma incomum

    Configurações ou para habilitar a configuração automática do servidor.

    A configuração padrão tentará entrar em contato com um daemon local Tor / I2P

    Ouvindo as portas usuais (9050/9150 para Tor, 7656 para I2P). Enquanto

    Há um daemon em execução no host local e o suporte necessário

    Bibliotecas foram instaladas, os clientes poderão usar servidores baseados em Tor

    Sem qualquer configuração especial.

    No entanto, note que esta configuração padrão não melhora a

    Anonimato: as conexões TCP normais ainda serão feitas em qualquer servidor que

    Oferece um endereço regular (cumpre o segundo caso de uso do cliente acima, não

    o terceiro). Para proteger o anonimato, os usuários devem configurar o

    ` [Connections] ` da seguinte maneira:

    [Conexões]

    Tcp = tor

    Com isso, o cliente usará Tor (em vez de um

    IP-address -reviração de conexão direta) para alcançar servidores baseados em TCP.

    Configuração de anonimato

    =======================

    Tahoe-LAFS fornece uma configuração "flag de segurança" para indicar explicitamente

    Seja necessário ou não a privacidade do endereço IP para um nó ::

    [nó]

    Revelar-IP-address = (booleano, opcional)

    Quando ` revelar-IP-address = False`, Tahoe-LAFS se recusará a iniciar se algum dos

    As opções de configuração em ` tahoe.cfg` revelariam a rede do nó

    localização:

  • ` [Conexões] tcp = tor` é necessário: caso contrário, o cliente faria
  • Conexões diretas para o Introdução, ou qualquer servidor baseado em TCP que aprende

    Do Introdutor, revelando seu endereço IP para esses servidores e um

    Rede de espionagem. Com isso, Tahoe-LAFS só fará

    Conexões de saída através de uma rede de anonimato suportada.

  • ` Tub.location` deve ser desativado ou conter valores seguros. este
  • O valor é anunciado para outros nós através do Introdutor: é como um servidor

    Anuncia sua localização para que os clientes possam se conectar a ela. No modo privado, ele

    É um erro para incluir um ` tcp: dica no tub.location`. Modo privado

    Rejeita o valor padrão de ` tub.location` (quando a chave está faltando

    Inteiramente), que é ` AUTO, que usa ifconfig` para adivinhar o nó

    Endereço IP externo, o que o revelaria ao servidor e a outros clientes.

    Esta opção é crítica para preservar o anonimato do cliente (cliente

    Caso de uso 3 de "Casos de uso", acima). Também é necessário preservar uma

    Anonimato do servidor (caso de uso do servidor 3).

    Esse sinalizador pode ser configurado (para falso), fornecendo o argumento ` --hide-ip` para

    Os comandos ` create-node, create-client ou create-introducer`.

    Observe que o valor padrão de ` revelar-endereço IP` é verdadeiro, porque

    Infelizmente, esconder o endereço IP do nó requer software adicional para ser

    Instalado (conforme descrito acima) e reduz o desempenho.

    Anonimato do cliente


    Para configurar um nó de cliente para anonimato, ` tahoe.cfg` deve conter o

    Seguindo as bandeiras de configuração ::

    [nó]

    Revelar-IP-address = False

    Tub.port = desativado

    Tub.location = desativado

    Uma vez que o nodo Tahoe-LAFS foi reiniciado, ele pode ser usado anonimamente (cliente

    Caso de uso 3).

    Anonimato do servidor, configuração manual


    Para configurar um nó de servidor para ouvir em uma rede de anonimato, devemos primeiro

    Configure Tor para executar um "Serviço de cebola" e encaminhe as conexões de entrada para o

    Porto Tahoe local. Então, configuramos Tahoe para anunciar o endereço ` .onion`

    Aos clientes. Também configuramos Tahoe para não fazer conexões TCP diretas.

  • Decida em um número de porta de escuta local, chamado PORT. Isso pode ser qualquer não utilizado
  • Porta de cerca de 1024 até 65535 (dependendo do kernel / rede do host

    Config). Nós diremos a Tahoe para escutar nesta porta, e nós diremos a Tor para

    Encaminhe as conexões de entrada para ele.

  • Decida em um número de porta externo, chamado VIRTPORT. Isso será usado no
  • Localização anunciada e revelada aos clientes. Pode ser qualquer número de 1

    Para 65535. Pode ser o mesmo que PORT, se quiser.

  • Decida em um "diretório de serviço oculto", geralmente em ` / var / lib / tor / NAME`.
  • Pediremos a Tor para salvar o estado do serviço de cebola aqui, e Tor irá

    Escreva o endereço ` .onion` aqui depois que ele for gerado.

    Em seguida, faça o seguinte:

  • Crie o nó do servidor Tahoe (com ` tahoe create-node`), mas não não
  • Lança-o ainda.

  • Edite o arquivo de configuração Tor (normalmente em ` / etc / tor / torrc`). Precisamos adicionar
  • Uma seção para definir o serviço oculto. Se nossa PORT for 2000, VIRTPORT é

    3000, e estamos usando ` / var / lib / tor / tahoe` como o serviço oculto

    Diretório, a seção deve se parecer com ::

    HiddenServiceDir / var / lib / tor / tahoe

    HiddenServicePort 3000 127.0.0.1:2000

  • Reinicie Tor, com ` systemctl restart tor`. Aguarde alguns segundos.
  • Leia o arquivo ` hostname` no diretório de serviço oculto (por exemplo,
  • ` / Var / lib / tor / tahoe / hostname). Este será um endereço .onion`, como

    ` U33m4y7klhz3b.onion`. Ligue para esta CEBOLA.

  • Edite ` tahoe.cfg para configurar tub.port` para usar
  • ` Tcp: PORT: interface = 127.0.0.1 e tub.location` para usar

    ` Tor: ONION.onion: VIRTPORT`. Usando os exemplos acima, isso seria ::

    [nó]

    Revelar-endereço IP = falso

    Tub.port = tcp: 2000: interface = 127.0.0.1

    Tub.location = tor: u33m4y7klhz3b.onion: 3000

    [Conexões]

    Tcp = tor

  • Inicie o servidor Tahoe com ` tahoe start $ NODEDIR`
  • A seção ` tub.port` fará com que o servidor Tahoe ouça no PORT, mas

    Ligue o soquete de escuta à interface de loopback, que não é acessível

    Do mundo exterior (mas * é * acessível pelo daemon Tor local). Então o

    A seção ` tcp = tor` faz com que Tahoe use Tor quando se conecta ao

    Introdução, escondendo o endereço IP. O nó se anunciará a todos

    Clientes que usam tub.location`, então os clientes saberão que devem usar o Tor

    Para alcançar este servidor (e não revelar seu endereço IP através do

    anúncio). Quando os clientes se conectam ao endereço da cebola, seus pacotes serão

    Atravessar a rede de anonimato e eventualmente aterrar no Tor local

    Daemon, que então estabelecerá uma conexão com PORT no localhost, que é

    Onde Tahoe está ouvindo conexões.

    Siga um processo similar para construir um servidor Tahoe que escuta no I2P. o

    O mesmo processo pode ser usado para ouvir tanto o Tor como o I2P (`` tub.location =

    Tor: ONION.onion: VIRTPORT, i2p: ADDR.i2p``). Também pode ouvir tanto Tor como

    TCP simples (caso de uso 2), com ` tub.port = tcp: PORT, ` tub.location =

    Tcp: HOST: PORT, tor: ONION.onion: VIRTPORT` e anonymous = false` (e omite

    A configuração ` tcp = tor`, já que o endereço já está sendo transmitido através de

    O anúncio de localização).

    Anonimato do servidor, configuração automática


    Para configurar um nó do servidor para ouvir em uma rede de anonimato, crie o

    Nó com a opção ` --listen = tor`. Isso requer uma configuração Tor que

    Ou lança um novo daemon Tor, ou tem acesso à porta de controle Tor (e

    Autoridade suficiente para criar um novo serviço de cebola). Nos sistemas Debian / Ubuntu, faça

    ` Apt install tor, adicione-se ao grupo de controle com ` adduser

    YOURUSERNAME debian-tor` e, em seguida, inicie sessão e faça o login novamente: se os groups`

    O comando inclui ` debian-tor` na saída, você deve ter permissão para

    Use a porta de controle de domínio unix em ` / var / run / tor / control`.

    Esta opção irá definir ` revelar-IP-address = False e ` [connections] tcp =

    Tor``. Ele alocará as portas necessárias, instruirá Tor para criar a cebola

    Serviço (salvando a chave privada em algum lugar dentro de NODEDIR / private /), obtenha

    O endereço ` .onion e preencha tub.port e tub.location`

    corretamente.

    Problemas de desempenho e segurança

    ===============================

    Se você estiver executando um servidor que não precisa ser

    Anônimo, você deve torná-lo acessível através de uma rede de anonimato ou

    não? Ou você pode torná-lo acessível * ambos * através de uma rede de anonimato

    E como um servidor TCP / IP rastreável publicamente?

    Existem várias compensações efetuadas por esta decisão.

    Penetração NAT / Firewall


    Fazer com que um servidor seja acessível via Tor ou I2P o torna acessível (por

    Clientes compatíveis com Tor / I2P) mesmo que existam NAT ou firewalls que impeçam

    Conexões TCP / IP diretas para o servidor.

    Anonimato


    Tornar um servidor Tahoe-LAFS acessível * somente * via Tor ou I2P pode ser usado para

    Garanta que os clientes Tahoe-LAFS usem Tor ou I2P para se conectar

    (Especificamente, o servidor só deve anunciar endereços Tor / I2P no

    Chave de configuração ` tub.location`). Isso evita que os clientes mal configurados sejam

    Desingonizando-se acidentalmente, conectando-se ao seu servidor através de

    A Internet rastreável.

    Claramente, um servidor que está disponível como um serviço Tor / I2P * e * a

    O endereço TCP regular não é anônimo: o endereço do .on e o real

    O endereço IP do servidor é facilmente vinculável.

    Além disso, a interação, através do Tor, com um Tor Oculto pode ser mais

    Protegido da análise do tráfego da rede do que a interação, através do Tor,

    Com um servidor TCP / IP com rastreamento público

  • XXX há um documento mantido pelos desenvolvedores de Tor que comprovem ou refutam essa crença?
  • Se assim for, precisamos ligar a ele. Caso contrário, talvez devêssemos explicar mais aqui por que pensamos isso? **

    Linkability


    A partir de 1.12.0, o nó usa uma única chave de banheira persistente para saída

    Conexões ao Introdutor e conexões de entrada para o Servidor de Armazenamento

    (E Helper). Para os clientes, uma nova chave Tub é criada para cada servidor de armazenamento

    Nós aprendemos sobre, e essas chaves são * não * persistiram (então elas mudarão cada uma delas

    Tempo que o cliente reinicia).

    Clientes que atravessam diretórios (de rootcap para subdiretório para filecap) são

    É provável que solicitem os mesmos índices de armazenamento (SIs) na mesma ordem de cada vez.

    Um cliente conectado a vários servidores irá pedir-lhes todos para o mesmo SI em

    Quase ao mesmo tempo. E dois clientes que compartilham arquivos ou diretórios

    Irá visitar os mesmos SI (em várias ocasiões).

    Como resultado, as seguintes coisas são vinculáveis, mesmo com `` revelar-endereço IP

    Falso``:

  • Servidores de armazenamento podem vincular reconhecer várias conexões do mesmo
  • Cliente ainda não reiniciado. (Observe que o próximo recurso de Contabilidade pode

    Faz com que os clientes apresentem uma chave pública persistente do lado do cliente quando

    Conexão, que será uma ligação muito mais forte).

  • Os servidores de armazenamento provavelmente podem deduzir qual cliente está acessando dados, por
  • Olhando as SIs sendo solicitadas. Vários servidores podem conciliar

    Determine que o mesmo cliente está falando com todos eles, mesmo que o

    TubIDs são diferentes para cada conexão.

  • Os servidores de armazenamento podem deduzir quando dois clientes diferentes estão compartilhando dados.
  • O Introdutor pode entregar diferentes informações de servidor para cada um
  • Cliente subscrito, para particionar clientes em conjuntos distintos de acordo com

    Quais as conexões do servidor que eles eventualmente fazem. Para clientes + nós de servidor, ele

    Também pode correlacionar o anúncio do servidor com o cliente deduzido

    identidade.

    atuação


    Um cliente que se conecta a um servidor Tahoe-LAFS com rastreamento público através de Tor

    Incorrem em latência substancialmente maior e, às vezes, pior

    Mesmo cliente se conectando ao mesmo servidor através de um TCP / IP rastreável normal

    conexão. Quando o servidor está em um Tor Hidden Service, ele incorre ainda mais

    Latência e, possivelmente, ainda pior rendimento.

    Conectando-se a servidores Tahoe-LAFS que são servidores I2P incorrem em maior latência

    E pior rendimento também.

    Efeitos positivos e negativos em outros usuários Tor


    O envio de seu tráfego Tahoe-LAFS sobre o Tor adiciona tráfego de cobertura para outros

    Tor usuários que também estão transmitindo dados em massa. Então isso é bom para

    Eles - aumentando seu anonimato.

    No entanto, torna o desempenho de outros usuários do Tor

    Sessões - por exemplo, sessões ssh - muito pior. Isso é porque Tor

    Atualmente não possui nenhuma prioridade ou qualidade de serviço

    Recursos, para que as teclas de Ssh de outra pessoa possam ter que esperar na fila

    Enquanto o conteúdo do arquivo em massa é transmitido. O atraso adicional pode

    Tornar as sessões interativas de outras pessoas inutilizáveis.

    Ambos os efeitos são duplicados se você carregar ou baixar arquivos para um

    Tor Hidden Service, em comparação com se você carregar ou baixar arquivos

    Over Tor para um servidor TCP / IP com rastreamento público

    Efeitos positivos e negativos em outros usuários do I2P


    Enviar seu tráfego Tahoe-LAFS ao I2P adiciona tráfego de cobertura para outros usuários do I2P

    Que também estão transmitindo dados. Então, isso é bom para eles - aumentando sua

    anonimato. Não prejudicará diretamente o desempenho de outros usuários do I2P

    Sessões interativas, porque a rede I2P possui vários controles de congestionamento e

    Recursos de qualidade de serviço, como priorizar pacotes menores.

    No entanto, se muitos usuários estão enviando tráfego Tahoe-LAFS ao I2P e não tiverem

    Seus roteadores I2P configurados para participar de muito tráfego, então o I2P

    A rede como um todo sofrerá degradação. Cada roteador Tahoe-LAFS que usa o I2P tem

    Seus próprios túneis de anonimato que seus dados são enviados. Em média, um

    O nó Tahoe-LAFS requer 12 outros roteadores I2P para participar de seus túneis.

    Portanto, é importante que o seu roteador I2P esteja compartilhando a largura de banda com outros

    Roteadores, para que você possa retornar enquanto usa o I2P. Isso nunca prejudicará a

    Desempenho de seu nó Tahoe-LAFS, porque seu roteador I2P sempre

    Priorize seu próprio tráfego.

    =========================

    Como configurar um servidor

    =========================

    Muitos nós Tahoe-LAFS são executados como "servidores", o que significa que eles fornecem serviços para

    Outras máquinas (isto é, "clientes"). Os dois tipos mais importantes são os

    Introdução e Servidores de armazenamento.

    Para ser útil, os servidores devem ser alcançados pelos clientes. Os servidores Tahoe podem ouvir

    Em portas TCP e anunciar sua "localização" (nome do host e número da porta TCP)

    Para que os clientes possam se conectar a eles. Eles também podem ouvir os serviços de cebola "Tor"

    E portas I2P.

    Os servidores de armazenamento anunciam sua localização ao anunciá-lo ao Introdutivo,

    Que então transmite a localização para todos os clientes. Então, uma vez que a localização é

    Determinado, você não precisa fazer nada de especial para entregá-lo.

    O próprio apresentador possui uma localização, que deve ser entregue manualmente a todos

    Servidores de armazenamento e clientes. Você pode enviá-lo para os novos membros do seu

    grade. Esta localização (juntamente com outros identificadores criptográficos importantes) é

    Escrito em um arquivo chamado ` private / introducer.furl` no Presenter's

    Diretório básico, e deve ser fornecido como o argumento ` --introducer = ` para

    ` Tahoe create-node ou tahoe create-node`.

    O primeiro passo ao configurar um servidor é descobrir como os clientes irão

    alcançar. Então você precisa configurar o servidor para ouvir em algumas portas, e

    Depois configure a localização corretamente.

    Configuração manual

    ====================

    Cada servidor tem duas configurações em seu arquivo ` tahoe.cfg: tub.port`, e

    ` Tub.location`. A "porta" controla o que o nó do servidor escuta: isto

    Geralmente é uma porta TCP.

    A "localização" controla o que é anunciado para o mundo exterior. Isto é um

    "Sugestão de conexão foolscap", e inclui tanto o tipo de conexão

    (Tcp, tor ou i2p) e os detalhes da conexão (nome do host / endereço, porta

    número). Vários proxies, gateways e redes de privacidade podem ser

    Envolvido, então não é incomum para ` tub.port e tub.location` para olhar

    diferente.

    Você pode controlar diretamente a configuração ` tub.port e tub.location`

    Configurações, fornecendo ` --port = e --location = ao executar ` tahoe

    Create-node``.

    Configuração automática

    =======================

    Em vez de fornecer ` --port = / - location = , você pode usar --listen = `.

    Os servidores podem ouvir em TCP, Tor, I2P, uma combinação desses ou nenhum.

    O argumento ` --listen = ` controla quais tipos de ouvintes o novo servidor

    usará.

    ` --listen = none` significa que o servidor não deve ouvir nada. Isso não

    Faz sentido para um servidor, mas é apropriado para um nó somente cliente. o

    O comando ` tahoe create-client inclui automaticamente --listen = none`.

    ` --listen = tcp` é o padrão e liga uma porta de escuta TCP padrão.

    Usar ` --listen = tcp requer um argumento --hostname = ` também, que será

    Incorporado no local anunciado do nó. Descobrimos que os computadores

    Não pode determinar de forma confiável seu nome de host acessível externamente, então, em vez de

    Ter o servidor adivinhar (ou escanear suas interfaces para endereços IP

    Isso pode ou não ser apropriado), a criação de nó requer que o usuário

    Forneça o nome do host.

    ` --listen = tor` conversará com um daemon Tor local e criará uma nova "cebola"

    Servidor "(que se parece com alzrgrdvxct6c63z.onion``).

    ` --listen = i2p` conversará com um daemon I2P local e criará um novo servidor

    endereço. Consulte: doc: anonymity-configuration para obter detalhes.

    Você pode ouvir nos três usando ` --listen = tcp, tor, i2p`.

    Cenários de implantação

    ====================

    A seguir, alguns cenários sugeridos para configurar servidores usando

    Vários transportes de rede. Estes exemplos não incluem a especificação de um

    Apresentador FURL que normalmente você gostaria quando provisionamento de armazenamento

    Nós. Para estes e outros detalhes de configuração, consulte

    : Doc: configuration.

    #. `Servidor possui um nome DNS público '

    #. Servidor possui um endereço público IPv4 / IPv6_

    #. O servidor está por trás de um firewall com encaminhamento de porta_

    #. Usando o I2P / Tor para evitar o encaminhamento da porta_

    O servidor possui um nome DNS público


    O caso mais simples é o local onde o host do servidor está diretamente conectado ao

    Internet, sem um firewall ou caixa NAT no caminho. A maioria dos VPS (Virtual Private

    Servidor) e servidores colocados são assim, embora alguns fornecedores bloqueiem

    Muitas portas de entrada por padrão.

    Para esses servidores, tudo o que você precisa saber é o nome do host externo. O sistema

    O administrador irá dizer-lhe isso. O principal requisito é que este nome de host

    Pode ser pesquisado no DNS, e ele será mapeado para um endereço IPv4 ou IPv6 que

    Alcançará a máquina.

    Se o seu nome de host for ` example.net`, então você criará o introdutor como

    esta::

    Tahoe create-introducer --hostname example.com ~ / introducer

    Ou um servidor de armazenamento como ::

    Tahoe create-node --hostname = example.net

    Estes irão alocar uma porta TCP (por exemplo, 12345), atribuir ` tub.port` para ser

    ` Tcp: 12345 e tub.location serão tcp: example.com: 12345`.

    Idealmente, isso também deveria funcionar para hosts compatíveis com IPv6 (onde o nome DNS

    Fornece um registro "AAAA", ou ambos "A" e "AAAA"). No entanto Tahoe-LAFS

    O suporte para IPv6 é novo e ainda pode ter problemas. Por favor, veja o ingresso

    # 867_ para detalhes.

    O servidor possui um endereço público IPv4 / IPv6


    Se o host tiver um endereço IPv4 (público) rotativo (por exemplo, ` 203.0.113.1``), mas

    Nenhum nome DNS, você precisará escolher uma porta TCP (por exemplo, ` 3457`) e usar o

    Segue::

    Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 3457

    ` --port` é uma "string de especificação de ponto de extremidade" que controla quais locais

    Porta em que o nó escuta. ` --location` é a "sugestão de conexão" que ele

    Anuncia para outros, e descreve as conexões de saída que essas

    Os clientes irão fazer, por isso precisa trabalhar a partir da sua localização na rede.

    Os nós Tahoe-LAFS escutam em todas as interfaces por padrão. Quando o host é

    Multi-homed, você pode querer fazer a ligação de escuta ligar apenas a uma

    Interface específica, adicionando uma opção ` interface = ao --port = `

    argumento::

    Tahoe create-node --port = tcp: 3457: interface = 203.0.113.1 - localização = tcp: 203.0.113.1: 3457

    Se o endereço público do host for IPv6 em vez de IPv4, use colchetes para

    Envolva o endereço e altere o tipo de nó de extremidade para ` tcp6` ::

    Tahoe create-node --port = tcp6: 3457 - localização = tcp: [2001: db8 :: 1]: 3457

    Você pode usar ` interface = ` para vincular a uma interface IPv6 específica também, no entanto

    Você deve fazer uma barra invertida - escapar dos dois pontos, porque, de outra forma, eles são interpretados

    Como delimitadores pelo idioma de especificação do "ponto final" torcido. o

    ` --location = ` argumento não precisa de dois pontos para serem escapados, porque eles são

    Envolto pelos colchetes ::

    Tahoe create-node --port = tcp6: 3457: interface = 2001 \: db8 \: \: 1 --location = tcp: [2001: db8 :: 1]: 3457

    Para hosts somente IPv6 com registros DNS AAAA, se o simples ` --hostname = `

    A configuração não funciona, eles podem ser informados para ouvir especificamente

    Porta compatível com IPv6 com este ::

    Tahoe create-node --port = tcp6: 3457 - localização = tcp: example.net: 3457

    O servidor está por trás de um firewall com encaminhamento de porta


    Para configurar um nó de armazenamento por trás de um firewall com encaminhamento de porta, você irá

    precisa saber:

  • Endereço IPv4 público do roteador
  • A porta TCP que está disponível de fora da sua rede
  • A porta TCP que é o destino de encaminhamento
  • Endereço IPv4 interno do nó de armazenamento (o nó de armazenamento em si é
  • Desconhece esse endereço e não é usado durante ` tahoe create-node`,

    Mas o firewall deve ser configurado para enviar conexões para isso)

    Os números de porta TCP internos e externos podem ser iguais ou diferentes

    Dependendo de como o encaminhamento da porta está configurado. Se é mapear portas

    1-para-1, eo endereço IPv4 público do firewall é 203.0.113.1 (e

    Talvez o endereço IPv4 interno do nó de armazenamento seja 192.168.1.5), então

    Use um comando CLI como este ::

    Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 3457

    Se no entanto, o firewall / NAT-box encaminha a porta externa * 6656 * para o interno

    Porta 3457, então faça isso ::

    Tahoe create-node --port = tcp: 3457 - localização = tcp: 203.0.113.1: 6656

    Usando o I2P / Tor para evitar o encaminhamento da porta


    Os serviços de cebola I2P e Tor, entre outras excelentes propriedades, também fornecem NAT

    Penetração sem encaminhamento de porta, nomes de host ou endereços IP. Então, configurando

    Um servidor que escuta apenas no Tor é simples ::

    Tahoe create-node --listen = tor

    Para mais informações sobre o uso de Tahoe-LAFS com I2p e Tor veja

    : Doc: anonymity-configuration


    No comments yet.