Questo articolo ha come obbiettivo di illustrare come funziona la comunicazione in Looc.UP / Sme.UP Provider (recentemente ridenominato in Sme.UP Provider Stand Alone o Sme.UP Provider SA), per consentire ai sistemisti una corretta configurazione degli antivirus.

 

Introduzione

Per prima cosa forniremo alcuni cenni sull’architettura di Looc.UP / Sme.UP Provider SA.

Looc.UP e Sme.UP Provider SA, sono composti da tre moduli:

  • SmeBase: è il modulo base che gestisce la comunicazione da e verso l’AS400
  • SmeTray:  è il modulo grafico e gestisce l’interfaccia (schede)
  • SmeUIClt: è il modulo di emulazione

Ogni modulo è un programma a sè stante e comunica con gli altri tramite porte.

avvio dell’applicazione

All’avvio SmeBase, cerca tre porte libere, iniziando dalla 6000, andando di 3 in 3 fino a quando non trova una tripletta libera.

Quando trova una tripletta libera, avvia anche i moduli SmeTray e SmeUIClt, fornendogli la porta su cui si devono mettere in ascolto.

Avremo ad esempio che SmeBase sarà in ascolto sulla porta 6000, SmeTray sulla 6001 e SmeUIClt sulla 6002.

Se verrà aperta una seconda sessione di Looc.UP, questa utilizzerà le porte 6003, 6004 e 6005 e così via di tre in tre.

Quando SmeBase avrà ricevuto i dati di inzializzazione dall’AS400, scriverà sulla 6001 e sulla 6002.

Quando i moduli SmeTray e SmeUIClt dovranno comunicare con il modulo SmeBase, scriveranno sulla 6000.

I moduli SmeTray e SmeUIClt non comunicano mai direttamente con l’AS400, ma solamente con il modulo SmeBase.

 

la comunicazione verso l’as400

Il modulo base comunica con l’AS400 tramite queste porte:

Funzione Nome server Non-SSL
Mappa porte servizi as-svrmap 449
Gestore licenze as-central 8470
Database as-database 8471
Code dati as-dtaq 8472
Accesso ai File as-file 8473
Stampa di rete as-netprt 8474
Comando remoto as-rmtcmd 8475
Verifica collegamento as-signon 8476

 

Sme.UP provider

A differenza di Looc.UP, il provider altre due porte:

  • la porta server (di default 9990)
  • la porta http(s) (di default 9090)

La porta server è utilizzata per la business continuity, e anche se non si utilizza questa funzionalità deve essere comunque sempre aperta.

La porta http è la porta su cui il provider riceve le richieste da Web.UP o dai client per gli upgrade di Looc.UP.

Funzionamento

Sme.UP provider versione SA, è normalmente installato come servizio di Windows.

Non viene avviato direttamente il modulo base, ma viene avviato il tramite il programma wrapper.exe.

il wrapper.exe è un’altro attore che non si limita ad avviare SmeBase, ma lo monitora: se ad esempio si accorge che SmeBase esaurisce la memoria, lo riavvia (e di conseguenza si riavviano SmeTray e SmeUIClt).

Il wrapper.exe si occupa anche degli spegnimenti / riavviii di SmeBase.

A questi si aggiunge un quinto attore che fa da supervisore dei 3 processi: BCProcessController.

Questo quinto attore controlla tutti e tre i processi che compongono Smeup Provider: se uno dei 3 cade, riavvia il Provider.

Il wrapper invece monitora solamente SmeBase, non sà dell’esistenza degli altri due processi.

 

PROBLEMI NOTI

Interazione con l’antivirus

Looc.UP, avendo l’interfaccia grafica continua ad aprire e chiudere porte per comunicare tra i vari moduli, esempio chiedo di aprire una scheda, SmeTray scrive sulla porta 9000 “apri scheda articolo A01”,  il modulo base chiede all’AS400 la scheda e scrive la risposta sulla porta 6001 e così via.

Questa attività per gli antivirus diventa ben presto sospetta e, in mancanza di un’adeguata configurazione, le porte vengono chiuse e quindi la comunicazione si interrompe, origianando messaggi del tipo “Non posso comunicare con il modulo grafico”, oppure “Host java non trovato”.

L’unica soluzione è una adeguata configurazione dell’antivirus.

Il provider, invece, utilizza solamente il modulo SmeTray, nel caso in cui debba generare fogli Excel, è quindi meno soggetto a problemi legati alle porte.

Tool per la ricerca di falle nella sicurezza

Utilizzando tool che vanno alla ricerca di porte aperte può capitare che l’XML che arriva a Looc.UP si corrompa.

Questo succede perchè il tool di terze parti trova ad esempio la porta 6001 libera, scrive qualcosa che non rispetta il protocollo di comunicazione di Looc.UP e provoca un crash.