Mvwrt log reports

Fonte: wirelesspt.net
(Redirecionado de Firmware reports)

Este artigo visa em explicar como utilizar a aplicação scp em substituição de sftp ou ftp para transferência de ficheiros através de openssh ou dropbear utilizando chaves de criptografia públicas e privadas.

Este tipo de sistema de envio de logs de registo do é utilizado em mvwrt2015 e superior vem substituir o anterior uso de ssmtp que já não cabe dentro da imagem final do firmware devido ao tamanho de pacotes necessários para funcionar. Simultaneamente esta alteração trás as seguintes vantagens:

  • Ajuste do nível e tipo criptografia utilizada e pretendida
  • 2 pacotes de software removidos do sistema que perfaziam um total de 615K para libopenssl e 24K para ssmtp
  • Configurações mais complexas e dependência de um intermediário para serviço de email que arquiva todos os logs
  • Facilidade de envio de logs para vários destinatários ao mesmo tempo e liberdade para escolher o receptor/servidor
  • Adicionalmente scp vem ainda substituir o uso de sftp que ocupava 21K de espaço e permitir a sua remoção do firmware

No sistema operativo

ssh-keygen -t rsa -b 4096 -f wirelesspt -N ''
Generating public/private rsa key pair.
Your identification has been saved in wirelesspt.
Your public key has been saved in wirelesspt.pub.
The key fingerprint is:
SHA256:gxL/bY6W1AxeqZew2Jj5OOwzbHVFhto1sK1UOzRtqmc mvwrt@nixbits
The key's randomart image is:
+---[RSA 4096]----+
|          .o+.   |
|          .==oo  |
|    .    oo=++   |
|     o .+.+.o.   |
|    . oBSO.+     |
|     .=.BoB E    |
|     o =.+oo     |
|      O ++       |
|     o.=. .      |
+----[SHA256]-----+
ls 
wirelesspt wirelesspt.pub

Convertemos a chave privada em formato openssh para formato dropbear

dropbearconvert openssh dropbear wirelesspt wirelesspt_dropbear

Key is a ssh-rsa key
Wrote key to 'wirelesspt_dropbear'
ls 
wirelesspt wirelesspt.pub wirelesspt_dropbear

Adicionamos a wirelesspt.pub na conta de utilizador do servidor que vai receber os logs.

cat wirelesspt.pub >> ~/.ssh/authorized_keys ; chmod 600 ~/.ssh/authorized_keys

Colocamos a wirelesspt_dropbear que é a privada no router que vai enviar os logs:

scp ~/wirelesspt_dropbear root@ip.do.router:/root/.ssh/

Estabelecemos ligação para início de sessão no router e enviamos para lá a chave privada, uma das seguintes formas desde que as directorias existam:

scp -i .ssh/wirelesspt_dropbear /tmp/*.log user@servidor.com:/<porta>/home/utilizador/logs/
scp -i .ssh/wirelesspt_dropbear /tmp/*.log account@servidor.com:/<porta>/~/logs/
scp -i .ssh/wirelesspt_dropbear /tmp/*.log nome@servidor.com:/~/logs/
scp -i .ssh/wirelesspt_dropbear /tmp/*.log utilizador@servidor.com:/~/

No firmware

cd /root
dropbearkey -t rsa -f .ssh/dropbear_user.key -s 4096
Generating key, this may take a while...
Public key portion is:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCVVGoPNEX+Ek8PK6pkb4nAMTsJ02unhnO3lPopltyKIg6oGKYtO0baAwdD7tKfHJodEB6KooLH3wIpyZiGX23jknu2Z+eQ+pUhufJBfoxN0Nfv0e9A9YYtIkL8MLD// uYkiplTWXSqVZKN3wChIejzQJrpShCkzEfTUEdDinUNBVLA9bfOUFrWEsL4ROyNm3PBL8MM+FhgoXaUsjBLHhnhPe0eXrELqwR0PDd3LxdohPbSUF+VJV3rh0GhKPmQxv4qJNWfSrCfitwK+lMyjpAAevb9NuUuWw5eNlZE9CliRALqOledBalpuw6wUlmZ1beyUevKV+x/J/WZF2+Dpgp5 root@OpenWrt
Fingerprint: md5 7b:72:a0:dd:bc:f6:5b:39:47:42:1d:7d:9d:3e:97:56

Quando revelada a fingerprint md5 não deve ser revelada a ninguém e caso se perca a chave pública ssh-rsa a mesma pode ser obtida da seguinte forma:

dropbearkey -y -f .ssh/dropbear_user.key  | grep "^ssh-rsa "

Para autorizar e inserir automáticamente a chave pública no firmware basta digitar:

dropbearkey -y -f .ssh/dropbear_user.key  | grep "^ssh-rsa " >> /etc/dropbear/authorized_keys

Envio de ficheiros do computador para o router

As chaves dropbear não directamente compatíveis com openssh e necessitarão de conversão no router:

opkg install dropbearconvert
dropbearconvert dropbear openssh .ssh/dropbear_user.key .ssh/openssh_user.key

Para vermos a chave e copiar-mos para a conta de utilizador (.ssh/authorized_keys) existente no computador

cat .ssh/openssh_user.key

Após a conversão aqui fica um exemplo de como utilizar um compuatdor para enviar ficheiros de qualquer router:

scp -i openssh_user.key ficheiro root@some-host.com:/root/

Envio de ficheiros do router para o computador

scp -i dropbear_user.key ficheiro pedro@some-host.com:/home/pedro/
scp -i dropbear_user.key ficheiro username@host.pt:/home/username/path/to/logdir/
scp -i dropbear_user.key ficheiro account@host.pt:/<porta>/home/username/path/to/logdir/

Para enviar para ligações a outros routers basta colocar neles a chave pública em authorized_keys e estabelecer ligação digitando:

scp -i .ssh/dropbear_user.key  ficheiro root@ip.ip.ip.ip:/root/

Authenticity of host

Quando questionado desta forma sobre a autenticidade da ligação pela primeira vez ou após mudança de chaves, dever-se-a aceitar a nova fingerprint manualmente.

The authenticity of host can't be established.
RSA key fingerprint is SHA256:E3HcdqXCLYsXx1CHfBQKPx+8xtq4U2AP040cBW9Is1Q.
Are you sure you want to continue connecting (yes/no)?

Log de registo

O conteúdo do log feito pelo firmware pode ser alterado para conter mais ou menos informação e ou detalhes. Por padrão contém relatórios sobre:

  • Estado e capacidade de memória flash
  • Tempo de funcionamento desde a última vez que se iniciou
  • Estado e uso da memória ram
  • Depuração do estado de funcionamento do kernel
  • Estado e detalhes de interfaces de rede
  • Registos arp ipv4 e ou ipv6
  • Clientes servidos via dhcp e seus leases
  • Scan de outros nós batman-adv na rede
  • Registos arp da rede batman-adv
  • Estado e capacidade e detalhes de funcionamento wireless
  • Ligações estabelecidas a outros pontos de acesso mesh via batman-adv
  • Dados de pesquisa sobre outras redes nas proximidades
  • Ligações ou tentativas de ligação via ssh
  • Failed TX DMA queues se existentes no interface wireless


Ver ainda

Editor

--Cmsv (discussão) 20h09min de 3 de dezembro de 2015 (EST)