O LNbits é uma camada de contas em cima de uma fonte de fundos, em geral o seu LND. Cada carteira criada nele gasta do mesmo node. Na prática, quem toma o LNbits pode tentar gastar o saldo do LND que está por trás.
1. Atualize, e faça do jeito certo
A versão 1.7.0 é uma atualização crítica de segurança: as versões anteriores estão afetadas. Atualizar fecha a falha conhecida, mas não desfaz acesso que alguém já tenha conseguido antes. A própria equipe do LNbits recomenda, depois de subir para a 1.7.x:
trocar as chaves de todas as carteiras (em Settings, Users, “Reset Wallet Keys”);
trocar a credencial da fonte de fundos: no LND, o macaroon que o LNbits usa;
tratar como exposto qualquer segredo guardado nas configurações do LNbits;
refazer as conexões de apps e extensões, como NWC, LNDHub e Bolt Cards, com as chaves novas;
se houver suspeita de invasão, preferir um servidor novo, guardando os logs antes.
A 1.7.1 troca a chave que assina os logins. Por isso o LNbits pode pedir para você entrar de novo. Se o navegador mostrar “Invalid access token”, apague os cookies do endereço do seu LNbits e entre outra vez.
Leia as notas oficiais: LNbits 1.7.0, LNbits 1.7.1 e o guia de atualização segura.
2. Macaroon: só a permissão que o app precisa
No LND, o acesso é dado por macaroons, arquivos que dizem o que quem os tem pode fazer. O admin.macaroon pode tudo: pagar, abrir e fechar canal, mandar sats on-chain. Ele é do dono do node, não de aplicativo.
Para um app que só mostra o node, use o
readonly.macaroon.Para um app que só recebe, use o
invoice.macaroon.Para um app que precisa pagar, como o LNbits, faça um macaroon sob medida com
lncli bakemacaroon, só com as permissões que a documentação do app pede. Pagar pela Lightning não exige poder mandar sats on-chain nem abrir e fechar canais.Dê a cada app o seu próprio macaroon, com o seu próprio
--root_key_id. Assim dá para cortar um sem mexer nos outros:lncli deletemacaroonid IDinvalida tudo que foi feito com aquela raiz.Suspeitou que um macaroon vazou? Corte a raiz dele e faça outro. Para invalidar os macaroons padrão (admin, readonly e invoice), a documentação do LND manda parar o LND, apagar o
macaroons.dbe os arquivos.macaroon, e subir de novo. Antes de fazer isso, separe as credenciais novas de cada app.
3. Porta fechada para a internet
A porta que o seu node precisa abrir para a rede Lightning é a dos peers, a 9735. O resto fica fechado:
o REST (8080) e o gRPC (10009) do LND não devem ficar abertos para a internet;
a interface do LNbits também não, e o painel de administração (o Super User) muito menos;
para usar de fora de casa, prefira uma VPN, como Tailscale ou WireGuard, em vez de abrir porta no roteador;
se for publicar o LNbits para outras pessoas, faça isso atrás de um proxy com HTTPS e deixe o administrador acessível só pela rede local ou pela VPN;
ligue o firewall do sistema (no Ubuntu, o
ufw) e libere só o que você sabe para que serve.
Para saber o que precisa estar aberto e o que não, o guia Node acessível por Tor e clearnet explica a porta dos peers.
4. Segundo fator na conta
Desde a 1.7.0, o LNbits tem autenticação em dois fatores (TOTP), a de app autenticador. Ative primeiro na conta de administrador e depois peça o mesmo a quem tem carteira no seu LNbits. Com o segundo fator, uma senha vazada sozinha não basta para entrar.
Guarde os códigos de recuperação longe do computador do LNbits. Se o celular do autenticador sumir, são eles que devolvem o acesso.
5. Extensões: menos é mais
Cada extensão é código a mais rodando com acesso às carteiras.
Instale só o que você usa, da lista oficial ou de quem você conhece.
Desinstale o que não usa mais.
Mantenha as que ficam atualizadas. Depois de uma correção como a da 1.7.0, refaça as conexões das extensões que guardam chaves.
A 1.7.0 trouxe a atualização automática de extensões. Ela tem os dois lados:
A favor: a correção de uma falha chega sem você precisar lembrar.
Contra: código novo entra sem você ler nada. Se o repositório de uma extensão for comprometido, a versão ruim também chega sozinha. E uma atualização pode quebrar algo no meio da noite.
Para um LNbits caseiro, com poucas extensões e poucos usuários, a atualização manual, depois de ler as notas, costuma ser o caminho mais tranquilo. Se ligar a automática, deixe-a só para as extensões oficiais e acompanhe os avisos do projeto.
6. O resto do básico
Deixe no node só o saldo do dia a dia. A própria equipe do LNbits recomenda mandar o excedente para uma carteira on-chain cuja chave fica fora da internet.
Tenha a seed do LND guardada no papel, longe do computador, e uma cópia atualizada do
channel.backupfora da máquina.Atualize o sistema e o LND, não só o LNbits.
Nenhuma dessas medidas torna um node invulnerável. Juntas, elas fazem com que um erro só não vire prejuízo.
No BR⚡LN Club
Quem usa o LightningOS recebe o LNbits atualizado na versão 0.5.55. No chat do clube, a sala Alertas de Segurança avisa quando sai uma correção importante, e na Suporte quem já opera node ajuda você a fazer cada passo.


