Acesso linux a partir do linbpq

Pode ser interessante ter acesso à linha de comandos linux da máquina onde está instalada a aplicação linbpq, no entanto é uma falha de segurança grave, nomeadamente se o acesso for feito por rádio frequência, onde comandos e senhas vão em texto simples e por isso são facilmente visíveis.

Exemplos de utilização da linha de comandos a partir do packet:

  • verificar recursos da máquina: mem; top; df; du…
  • alterar pequenas configurações
  • verificar ligações de rede: ping; whois; telnet; nmap…
  • estabelecer ligação a outros servidores ou à internet das coisas

Volto a referir que é uma falha grave, não só o acesso por TCP/IP mas mais ainda por RF!

Configurações

Nas configurações do linbpq, em bpq32.cfg, na porta de telnet deve incluir o comando

CMDPORT=nnn 23

“nnn” representa o número da porta que já possa existir e está configurada para outras aplicações, por exemplo o DX Cluster. Se não existir acrescente apenas CMDPORT=23.
O acesso às diversas portas faz-se pela variável HOST descrita a seguir. Por exemplo, neste caso, HOST 1, representa a porta “nnn”, HOST 2, a nossa porta 23.

no meu caso,

PORT
   PORTNUM=2 ; Optional but sets port number if stated
   ID=telnet server
   DRIVER=Telnet
   CONFIG
   CMS=1
   CMSCALL=CT1EBQ
   CMSPASS=USVAWV
   LOGGING=1
   DisconnectOnClose=1
   TCPPORT=8010
   FBBPORT=8011 6300
   HTTPPORT=9123
   CMDPORT=7300 23
   LOGINPROMPT=callsign: 
   PASSWORDPROMPT=password: 
   MAXSESSIONS=100
   CTEXT=Welcome to CT1EBQ's telnet server.\nPress ? For list of commands\n
   USER=ct1ebq,[password],CT1EBQ,,SYSOP
   USER=ANON,pass
ENDPORT

Depois devemos adicionar uma linha às aplicações,

APPLICATION 1,LINUX,C 2 HOST 1 S

Onde,
1 – pode ser um número sequencial e representa o id da aplicação
LINUX – o comando a ser chamado
C 2 – o “PORTNUM=2” de telnet, conforme o exemplo acima
HOST 1 – a porta 23, sendo o HOST 0, a porta 7300 neste exemplo
S – para que a aplicação regresse ao “node” ao invés de fechar a ligação telnet do packet

Para que tudo isto funcione deve instalar o servidor de telnet na mesma máquina onde corre o linbpq. No raspberry pi,

sudo apt-get install telnetd

e, criar o seu utilizador em linux e atribuir uma password

sudo useradd CT1EBQ
sudo passwd CT1EBQ

Para sair da linha de comandos linux faça “exit”.

Após me ligar por telnet ao linbpq,