Carteira dcrwallet no Raspberry Pi
1. Introdução
1.1. Escolha do equipamento
b) Fonte de alimentação Raspberry Pi Universal Power Supply. Por questões de segurança (ou paranóia) eu tenho o hábito de preferir equipamentos elétricos oficiais.
c) SD Card de 16GB para o OS (para este laboratório foi usado o SanDisk Ultra 16GB microSDHC UHS-I Card). Se pretende usar um cartão maior do que 32GB, veja sobre a formatação do SDXC.
d) Case para proteção do Raspberry Pi: qualquer case que proteja e permita boa ventilação. Saiba mais sobre a temperatura aqui, na seção Monitoring core temperature.
Custo aproximado da solução (preços de 2018):
Raspberry Pi 3 model B (36€) + Fonte de alimentação (9€) + SanDisk Ultra 16GB microSDHC (11€) + Case (6€) = 62€
2. Instalação
2.1. Instalação do Raspbian
a) Baixe o Raspbian Stretch Lite em https://downloads.raspberrypi.org/raspbian_lite_latest
b) Verificação do hash
Obtenha o hash do arquivo baixado da Internet e compare com o hash publicado em https://www.raspberrypi.org/downloads/raspbian/.
No Mac
$ shasum -a 256 $RELEASE_DATE-raspbian-stretch-lite.zip
No Linux
$ sha256sum $RELEASE_DATE-raspbian-stretch-lite.zip
No Windows
O Windows não possui uma ferramenta nativa para verificação de hash SHA256. Usuários de Windows podem tentar a ferramenta PowerShell File Checksum Integrity Verifier (PsFCIV) disponível na Microsoft Technet.
c) Use o Etcher para gravar a imagem do Raspbian no SD card
- Baixe e instale o Etcher.
- Conecte o SD card no leitor de cartões.
- Abra o Etcher e selecione a imagem .img ou .zip que será gravada no SD card.
- Selecione o SD card onde será feita a gravação.
- Reveja suas escolhas e clique em ‘Flash!’ para gravar a imagem no SD card.
2.2. Instalação do dcrwallet
aaa
2.3. Decred atavés da rede Tor
Antes de executar o dcrd pela primeira vez, leia o artigo Decred atarvés da rede Tor e faça a configuração conforme o seu ambiente.
3. Configuração
3.1. Instalação do sudo
Se o pacote sudo ainda não foi instalado:
$ su -
# apt-get install sudo
# usermod -aG $USER sudo
Será necessário fazer logout porque o login está com a informação dos grupos desatualizada.
3.2 Configuração do firewall
Instale o pacote para salvar as regras do firewall:
$ sudo apt-get install iptables-persistent
Crie um conjunto mínimo de regras (esta é uma lista básica, não uma lista exaustiva):
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state NEW ! --syn -j DROP
iptables -A INPUT -p tcp -m multiport --dports 9110,19110 -m comment --comment "dcrctl mainnet, testnet" -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s $LOCALNET/24 -m comment --comment "ssh localnet" -j ACCEPT
iptables -A INPUT -p icmp --icmp-type echo-request -s $LOCALNET/24 -m comment --comment "ping" -j ACCEPT
iptables -A INPUT -j LOG
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 9109,19109 -m comment --comment "dcrd rpc mainnet, testnet" -j ACCEPT
iptables -A OUTPUT -p tcp -m multiport --dports 80,443 -m comment --comment "http/s" -j ACCEPT
iptables -A OUTPUT -p tcp --dport 7777 -m comment --comment "dcrdata" -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -m comment --comment "dns" -j ACCEPT
iptables -A OUTPUT -p udp --dport 67 -m comment --comment "dhcp" -j ACCEPT
iptables -A OUTPUT -p tcp --dport 11371 -m comment --comment "hkp" -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type any -m comment --comment "icmp out" -j ACCEPT
iptables -A OUTPUT -j LOG
Salve com o comando:
$ sudo iptables-save > /etc/iptables/rules.v4
3.3. Configuração do ssh
Se você já tem um usuário comum no sistema e quer aumentar a segurança, desabilite o login do root diretamente no ssh, sendo necessário primeiro fazer login com um usuário comum. No arquivo /etc/ssh/sshd_config
, faça a modificação:
PermitRootLogin no
Reinicie o sshd.
$ sudo service ssh restart
4. Execução
aaa