Skip to content

Commit 122dae0

Browse files
authored
Merge pull request #393 from KoreaComK/chapter14
Chapter 14 Translated by @KoreaComK need review
2 parents cfd260f + c750112 commit 122dae0

8 files changed

+1349
-0
lines changed

pt/14_0_Using_Tor.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Capítulo 14: Usando o Tor
2+
3+
O Tor é um dos programas padrão instalados pelo [Bitcoin Standup](https://github.com/BlockchainCommons/Bitcoin-Standup-Scripts). Ele nos ajuda a manter nosso servidor seguro, o que é extremamente importante quando estamos lidando com Bitcoin. Este capítulo divaga um pouco do nosso objetivo para nos ajudar a entender essa infraestrutura de segurança.
4+
5+
## Objetivos deste Capítulo
6+
7+
Depois de trabalhar neste capítulo, um desenvolvedor será capaz de:
8+
9+
* Usar uma configuração Tor;
10+
* Fazer a manutenção do Tor.
11+
12+
Os objetivos secundários incluem a capacidade de:
13+
14+
* Compreender a rede Tor;
15+
* Compreender as várias portas do Bitcoin.
16+
17+
## Tabela de Conteúdo
18+
19+
* [Seção 1: Verificando a Sua Configuração do Tor](14_1_Verifying_Your_Tor_Setup.md)
20+
* [Seção 2: Mudando os Seus Serviços Ocultos do Bitcoin](14_2_Changing_Your_Bitcoin_Hidden_Services.md)
21+
* [Seção 3: Adicionando um Serviço SSH Oculto](14_3_Adding_SSH_Hidden_Services.md)

pt/14_1_Verifying_Your_Tor_Setup.md

Lines changed: 365 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,74 @@
1+
# 14.2: Mudando Nossos Serviços Ocultos do Bitcoin
2+
3+
> :information_source: **NOTA:** Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
4+
5+
Temos um serviço Tor funcionando, mas com o tempo talvez queiramos reiniciá-lo ou ajustá-lo de outra forma.
6+
7+
## Protejendo Nossos Serviços Ocultos
8+
9+
O Tor permite que limitemos quais clientes conversam com nossos serviços ocultos. Se ainda não autorizamos nosso cliente durante a configuração do servidor, na primeira oportunidade devemos fazer o seguinte:
10+
11+
1. Solicitar uma chave pública de autenticação Tor V3 do nosso cliente. (Na [GordianWallet](https://github.com/BlockchainCommons/GordianWallet-iOS), está disponível no menu de configurações).
12+
2. Vamos para o subdiretório apropriado para nosso serviço oculto do Bitcoin. Se usamos o Bitcoin Standup é ```/var/lib/tor/standup/```.
13+
3. Vamos para o subdiretório ```authorized_clients```.
14+
4. Vamos adicionar um arquivo chamado ```[qualquer coisa].auth```. O ```[qualquer coisa]``` pode ser realmente qualquer coisa.
15+
5. Colocamos a chave pública (e nada mais) no arquivo.
16+
17+
Depois de adicionar um arquivo ```.auth``` ao subdiretório ```authorized_client```, somente os clientes autorizados serão capazes de se comunicar com esse serviço oculto. Podemos adicionar mais ou menos 330 chaves públicas diferentes para habilitar clientes diferentes.
18+
19+
## Redefinindo Nosso Endereço Onion do ```bitcoind```
20+
21+
Se quisermos redefinir nosso endereço onion para o ```bitcoind```, podemos apenas remover o ```onion_private_key``` do nosso diretório de dados, no `~/.bitcoin/testnet`:
22+
```
23+
$ cd ~/.bitcoin/testnet
24+
$ rm onion_private_key
25+
```
26+
Quando reiniciarmos, um novo endereço onion será gerado:
27+
```
28+
2020-07-22T23:52:27Z tor: Got service ID pyrtqyiqbwb3rhe7, advertising service pyrtqyiqbwb3rhe7.onion:18333
29+
2020-07-22T23:52:27Z tor: Cached service private key to /home/standup/.bitcoin/testnet3/onion_private_key
30+
```
31+
32+
## Redefinindo Nosso Endereço Onion do RPC
33+
34+
Se quisermos redefinir nosso endereço onion para o acesso RPC, podemos excluir da mesma forma o ```HiddenServiceDirectory``` apropriado e reiniciar o Tor:
35+
```
36+
$ sudo rm -rf /var/lib/tor/standup/
37+
$ sudo /etc/init.d/tor restart
38+
```
39+
40+
> :warning: **AVISO:** Redefinir o endereço onion do RPC desconectará quaisquer carteiras mobile ou outros serviços que contamos usando a API Quicklink. Por isso, temos que tomar bastante cuidado.
41+
42+
## Forçando o ```bitcoind``` a Usar o Tor
43+
44+
Finalmente, podemos forçar o ```bitcoind``` a usar o onion adicionando o seguinte ao nosso arquivo ```bitcoin.conf```:
45+
```
46+
proxy=127.0.0.1:9050
47+
listen=1
48+
bind=127.0.0.1
49+
onlynet=onion
50+
```
51+
Precisaremos adicionar seed nodes baseados no onion ou outros nodes à nossa configuração, mais uma vez editando o ```bitcoin.conf```:
52+
```
53+
seednode=address.onion
54+
seednode=address.onion
55+
seednode=address.onion
56+
seednode=address.onion
57+
addnode=address.onion
58+
addnode=address.onion
59+
addnode=address.onion
60+
addnode=address.onion
61+
```
62+
Depois, basta reiniciar o ```tor``` e o ```bitcoind```.
63+
64+
Agora devemos estar nos comunicando exclusivamente com o Tor. Mas, a menos que estejamos em um local hostil, esse nível de anonimato provavelmente não é necessário. Também não é particularmente recomendado, pois podemos diminuir muito o número de potenciais peers, criando problemas de censura ou mesmo de correlação. Também podemos começar a sofrer com alta latência. E essa configuração pode nos dar uma falsa sensação de anonimato que realmente não existe na rede Bitcoin.
65+
66+
> :warning: **AVISO:** Esta configuração não foi testada! Use por sua conta e risco!
67+
68+
## Resumo: Mudando Nossos Serviços Ocultos do Bitcoin
69+
70+
Provavelmente nós não precisaremos brincar com os nossos serviços onion depois de verificá-los, mas caso precisemos, aqui está como redefinir um endereço Tor que foi comprometido ou passar a usar exclusivamente o Tor com nosso ```bitcoind``` .
71+
72+
## O Que Vem Depois?
73+
74+
Vamos continuar "Usando o Tor" na seção [14.3: Adicionando Serviços SSH Ocultos](14_3_Adding_SSH_Hidden_Services.md).
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# 14.3: Adicionando um Serviço SSH Oculto
2+
3+
>:information_source: **NOTA:** Esta seção foi adicionada recentemente ao curso e é um rascunho inicial que ainda pode estar aguardando revisão.
4+
5+
Até agora, usamos o Tor com os nossos serviços Bitcoin, mas também podemos usá-lo para proteger outros serviços em nossa máquina, melhorando a segurança e a privacidade. Esta seção demonstra como fazer isso, introduzindo um serviço ```ssh``` oculto para fazer o login remotamente usando o Tor.
6+
7+
## Criando serviços SSH ocultos
8+
9+
Novos serviços são criados adicionando-os ao arquivo ```/etc/tor/torrc```:
10+
```
11+
$ su
12+
# cat >> /etc/tor/torrc << EOF
13+
HiddenServiceDir /var/lib/tor/hidden-service-ssh/
14+
HiddenServicePort 22 127.0.0.1:22
15+
EOF
16+
# exit
17+
```
18+
Eis o que cada coisa significa:
19+
20+
* HiddenServiceDir: Indica que temos um diretório de serviço oculto com a configuração necessária para este caminho.
21+
* HiddenServicePort: Indica a porta Tor a ser usada; no caso do SSH, geralmente é a 22.
22+
23+
Depois de adicionar as linhas apropriadas ao nosso arquivo ```torrc```, precisaremos reiniciar o Tor:
24+
```
25+
$ sudo /etc/init.d/tor restart
26+
```
27+
28+
Após a reinicialização, nosso ```HiddenServiceDir``` deve ter novos arquivos da seguinte forma:
29+
```
30+
$ sudo ls -l /var/lib/tor/hidden-service-ssh
31+
total 16
32+
drwx--S--- 2 debian-tor debian-tor 4096 Jul 22 14:55 authorized_clients
33+
-rw------- 1 debian-tor debian-tor 63 Jul 22 14:56 hostname
34+
-rw------- 1 debian-tor debian-tor 64 Jul 22 14:55 hs_ed25519_public_key
35+
-rw------- 1 debian-tor debian-tor 96 Jul 22 14:55 hs_ed25519_secret_key
36+
```
37+
O arquivo ```hostname``` neste diretório contém nosso novo ID onion:
38+
```
39+
$ sudo cat /var/lib/tor/hidden-service-ssh/hostname
40+
qwkemc3vusd73glx22t3sglf7izs75hqodxsgjqgqlujemv73j73qpid.onion
41+
```
42+
Podemos nos conectar ao serviço oculto ```ssh``` usando o ```torify``` e esse endereço:
43+
```
44+
$ torify ssh standup@qwkemc3vusd73glx22t3sglf7izs75hqodxsgjqgqlujemv73j73qpid.onion
45+
The authenticity of host 'qwkemc3vusd73glx22t3sglf7izs75hqodxsgjqgqlujemv73j73qpid.onion (127.42.42.0)' can't be established.
46+
ECDSA key fingerprint is SHA256:LQiWMtM8qD4Nv7eYT1XwBPDq8fztQafEJ5nfpNdDtCU.
47+
Are you sure you want to continue connecting (yes/no)? yes
48+
Warning: Permanently added 'qwkemc3vusd73glx22t3sglf7izs75hqodxsgjqgqlujemv73j73qpid.onion' (ECDSA) to the list of known hosts.
49+
standup@qwkemc3vusd73glx22t3sglf7izs75hqodxsgjqgqlujemv73j73qpid.onion's password:
50+
```
51+
## Resumo: Adicionando um Serviço SSH Oculto
52+
53+
Agora que instalamos o Tor e sabemos como usá-lo, podemos adicionar outros serviços ao Tor. Apenas adicionamos as linhas ao nosso ```torrc``` (no nosso servidor) e o conectamos com o ```torify``` (no nosso cliente).
54+
55+
> :fire: ***Qual é o poder de utilizar outros serviços ocultos?*** Cada vez que acessamos um serviço em nosso servidor remotamente, deixamos pegadas na rede. Mesmo que os dados sejam criptografados usando SSH (ou TLS), os vigias da rede podem ver de onde estamos nos conectando, para onde estamos conectando e qual serviço estamos usando. Isso realmente importa pra nós? Esta é a pergunta que devemos fazer. Mas se a resposta for "Sim", podemos proteger a conexão com um serviço oculto.
56+
57+
Vamos seguir "Programando com o RPC" no [Capítulo Dezesseis: Conversando com o Bitcoind usando C](16_0_Talking_to_Bitcoind.md).
58+
59+
Ou, se você não for um programador, pode pular para o [Capítulo Dezenove: Entendendo Nossa Configuração da Lightning](19_0_Understanding_Your_Lightning_Setup.md) para aumentar nosso conhecimento sobre a Lightning Network usando a linha de comando.

pt/16_0_Talking_to_Bitcoind.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
# Capítulo 15: Conversando com Bitcoind usando C
3+
4+
Enquanto trabalhamos com Bitcoin Scripts, atingimos os limites do que era possível com o `bitcoin-cli`: Atualmente, ele não pode ser usado para gerar transações contendo scripts incomuns. Os scripts shell também não são bons para algumas coisas, como criar programas de escuta que estão constantemente em polling. Felizmente, existem outras maneiras de acessar a rede Bitcoin: Através de APIs programáveis.
5+
6+
Esta seção se concentra em três diferentes bibliotecas que podem ser usadas como base de programação C sofisticada: Uma biblioteca RPC e uma biblioteca JSON que juntas permitem recriar muito do que fazemos nos scripts de shell, porém, usando C; enquanto uma biblioteca ZMQ nos conecta a notificações, algo que não conseguiríamos acessar até agora. (O próximo capítulo cobrirá uma biblioteca ainda mais sofisticada chamada Libwally, para finalizar esta introdução à programação do Bitcoin com C).
7+
8+
## Objetivos deste capítulo
9+
10+
Depois de trabalhar neste capítulo, um desenvolvedor será capaz de:
11+
12+
* Criar programas C que usam RPC para conversar com o Bitcoind;
13+
* Criar programas C que usam ZMQ para conversar com o Bitcoind.
14+
15+
Os objetivos secundários do capítulo incluem a capacidade de:
16+
17+
* Entender como usar uma biblioteca RPC;
18+
* Entender como usar uma biblioteca JSON;
19+
* Compreender as capacidades do ZMQ;
20+
* Entender como usar uma biblioteca ZMQ.
21+
22+
## Tabela de conteúdo
23+
24+
* [Seção 1: Acessando o Bitcoind usando C com Bibliotecas RPC](15_1_Accessing_Bitcoind_with_C.md)
25+
* [Seção 2: Programando o Bitcoind usando C com Bibliotecas RPC](15_2_Programming_Bitcoind_with_C.md)
26+
* [Seção 3: Recebendo notificações usando C com bibliotecas ZMQ](15_3_Receiving_Bitcoind_Notifications_with_C.md)
27+

0 commit comments

Comments
 (0)