1. Habilite atualizações automáticas de software
Uma das coisas mais importantes para manter seu relé seguro é instalar atualizações de segurança em tempo hábil e, de preferência, automaticamente, para que você não se esqueça delas.
Siga as instruções para habilitar atualizações automáticas de software para seu sistema operacional.
2. Bootstrap pkg
Este guia pressupõe que já temos uma instalação base do FreeBSD em execução, e apenas o sistema base.
Isso significa que não temos nenhum pacote instalado, nem mesmo o gerenciador de pacotes pkg (não há sudo disponível - estamos executando comandos como root).
Para inicializar e instalar o pkg, devemos executar o seguinte comando:
# pkg bootstrap
# pkg update -f
2.1. Etapas recomendadas para configurar pkg
Para acompanhar as atualizações upstream de uma "maneira mais rápida", recomendamos alterar a ramificação 'trimestral' usada por pkg para sua ramificação 'mais recente'.
Uma etapa adicional é preferir usar HTTPS para buscar nossos pacotes e atualizações - então aqui também precisamos de um pacote extra para nos ajudar (ca_root_nss).
Instalando pacote ca_root_nss:
# pkg install ca_root_nss
Mantemos a configuração original usada por pkg, mas definimos uma nova que a substituirá. Portanto, configuramos um novo diretório e, em seguida, criamos um arquivo de configuração para substituir o que precisamos. Esse arquivo de configuração será /usr/local/etc/pkg/repos/FreeBSD.conf.
Criando o novo diretório:
# mkdir -p /usr/local/etc/pkg/repos
É assim que o novo arquivo de configuração /usr/local/etc/pkg/repos/FreeBSD.conf deve se parecer:
FreeBSD: {
url: pkg+https://pkg.freebsd.org/${ABI}/latest
}
Após aplicar todas essas alterações, atualizamos novamente a lista de pacotes e tentamos verificar se já existe uma nova atualização para aplicar:
# pkg update -f
# pkg upgrade -y -f
3. Instale o Tor
Você pode escolher instalar a versão estável (recomendado):
# pkg install tor
Ou instale uma versão alfa:
# pkg install tor-devel
4. Instale obfs4proxy
# pkg install obfs4proxy-tor
5. Edite seu arquivo de configuração do Tor, geralmente localizado em /usr/local/etc/tor e substitua seu conteúdo por:
RunAsDaemon 1
BridgeRelay 1
# Substitua "TODO1" por uma porta Tor de sua escolha. Esta porta deve ser externa
# acessível. Evite a porta 9001 porque ela é comumente associada ao Tor e
# censores podem estar escaneando a Internet em busca desta porta.
ORPort TODO1
ServerTransportPlugin obfs4 exec /usr/local/bin/obfs4proxy
# Substitua "TODO2" por uma porta obfs4 de sua escolha. Esta porta deve ser
# acessível externamente e deve ser diferente daquele especificado para ORPort.
# Evite a porta 9001 porque ela é comumente associada a
# Tor e censores podem estar escaneando a Internet em busca desta porta.
ServerTransportListenAddr obfs4 0.0.0.0:TODO2
# Porta de comunicação local entre Tor e obfs4. Sempre defina como "automático".
# "Ext" significa "estendido", não "externo". Não tente definir uma porta específica
# número, nem ouvir em 0.0.0.0.
ExtORPort auto
# Substitua "<address@email.com>" pelo seu endereço de e-mail para que possamos entrar em contato com você se
# há problemas com sua ponte. Isso é opcional, mas recomendado.
ContactInfo <address@email.com>
# Escolha um nome que você gosta para sua bridge. Isso é opcional.
Nickname PickANickname
Log notice file /var/log/tor/notices.log
Não se esqueça de alterar as opções ORPort, ServerTransportListenAddr, ContactInfo e Nickname.
Observe que tanto a porta OR do Tor quanto sua porta obfs4 devem estar acessíveis. Se a sua ponte estiver protegida por um firewall ou NAT, certifique-se de abrir ambas as portas. Você pode usar nosso teste de acessibilidade para verificar se a sua porta obfs4 está acessível pela internet.
Você está usando o firewall do FreeBSD com uma política de "negação padrão"? Em caso afirmativo, certifique-se de que seu obfs4proxy possa se comunicar com seu processo Tor pela interface de loopback. Não se esqueça de colocar o ExtORPort do Tor na lista de permissões.
6. Certifique-se de que a configuração sysctl random_id esteja habilitada
# echo "net.inet.ip.random_id=1" >> /etc/sysctl.conf
# sysctl net.inet.ip.random_id=1
7. Inicie o daemon tor e certifique-se de que ele inicia na inicialização
# sysrc tor_setuid=YES
# sysrc tor_enable=YES
# service tor start
8. Monitore seus registros
Para confirmar se sua bridge está funcionando sem problemas, você deve ver algo assim em /var/log/tor/notices.log:
[notice] Your Tor server's identity key fingerprint is '<NICKNAME> <FINGERPRINT>'
[notice] Your Tor bridge's hashed identity key fingerprint is '<NICKNAME> <HASHED FINGERPRINT>'
[notice] Registered server transport 'obfs4' at '[::]:46396'
[notice] Tor has successfully opened a circuit. Looks like client functionality is working.
[notice] Bootstrapped 100%: Done
[notice] Now checking whether ORPort <redacted>:3818 is reachable... (this may take up to 20 minutes -- look for log messages indicating success)
[notice] Self-testing indicates your ORPort is reachable from the outside. Excellent. Publishing server descriptor.
9. Notas Finais
Se você estiver tendo problemas para configurar sua ponte, dê uma olhada em nossa seção de ajuda.
Se sua ponte estiver funcionando, confira as notas pós-instalação.