Sei sulla pagina 1di 9

Antonio

 Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Telecom  Italia:  Oltre  la  Configurazione  del  Modem  Alice  Business  


Indipendentemente   dall’operatore   telefonico   scelto   per   attivare   la   propria   linea   ADSL  
come   utenza   di   tipo   Business,   è   normale   aspettarsi   che   gli   apparati   ricevuti   (anche   se   in  
comodato   d’uso)   siano   configurabili   sulla   base   delle   proprie   esigenze,   non   è   legge   che   la  
configurazione   di   base   copra   le   necessità   di   tutti.   Gli   apparati   cui   mi   riferisco   sono  
Modem/Router   ADSL,   questi   spesso   dispongono   solo   di   un   insieme   di   funzionalità,   non   a  
causa  dell’apparato  quanto  da  impostazioni  dell’operatore  telefonico  o  del  produttore.  

In   quest’articolo   vedremo   come   adeguare   alle   nostre   esigenze   la   configurazione  


predefinita   dell’apparato   agendo   direttamente   sul   file   di   configurazione,   l’apparato   di  
riferimento   è   il   Modem/Router   Alice   Business   VoIp   2   Plus   WiFi1   (prodotto   dalla   Pirelli  
Broadband   Solutions   http://www.pirellibroadband.com)   con   firmware2   versione:   AGPF  
4.5.0sx.  

Desidero   fare   una   premessa.   I   Modem/Router   in   questione   sono   basati   su   particolari  


distribuzioni  Linux,  è  possibile  modificare  il  firmware  originale  o  sfruttare  delle  backdoor3  per  
consentire   il   completo   accesso   all’apparato   (via   protocollo   SSH   o   telnet),   questa   è   però  
un’altra  storia.  

Una   delle   cose   odiose   di   questo   tipo   di   apparato   è   l’impossibilità   di   configurare   una  
sottorete4  più  estesa  di  una  /24,  infatti,  la  configurazione  della  rete  locale  (LAN)  consente  la  
sola  modifica  dell’ultimo  ottetto  della  subnet  mask:  255.255.255.[x]  (vedi  Figura  1).  

 
                                                                                                               
1  Documentazione  Alice  Business  all’indirizzo  http://aiutobusiness.alice.it/informazioni/modemadsl/alice_gatevoip2pluswifi_1.html  
2  Il  firmware  è  un  programma,  inteso  come  sequenza  di  istruzioni,  integrato  direttamente  in  un  componente  elettronico  nel  senso  più  vasto  
del  termine  (integrati,  schede  elettroniche,  periferiche).  Lo  scopo  del  programma  è  di  avviare  il  componente  stesso  e  consentirgli  di  
interagire  con  altri  componenti  tramite  l'implementazione  di  protocolli  di  comunicazione  o  interfacce  di  programmazione.  Per  maggiori  
dettagli  consultare  il  sito  http://it.wikipedia.org/wiki/Firmware  
3  Le  backdoor  in  informatica  sono  paragonabili  a  porte  di  servizio  (cioè  le  porte  del  retro)  che  consentono  di  superare  in  parte  o  in  tutto  le  

procedure  di  sicurezza  attivate  in  un  sistema  informatico.  Per  maggiori  dettagli  consultare  il  sito  http://it.wikipedia.org/wiki/Backdoor  
4  In  informatica  per  sottorete  s’intende  una  porzione  di  un  indirizzamento  completo.  Per  maggiori  dettagli  consultare  il  sito  

http://it.wikipedia.org/wiki/Sottorete  o  meglio  la  versione  inglese  http://en.wikipedia.org/wiki/Subnetwork  che  fa  riferimento  alla  
notazione  CIDR.    
17/02/10   1  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Supponiamo  il  caso  che  l’apparato  ADSL  debba  essere  inserito  all’interno  della  sottorete  
10.0.0.0/23  (vedi  Figura  2)  avente  la  configurazione  illustrata  di  seguito:  

• IP  Address:  10.0.0.6  
• Netmask:  255.255.254.0  
• Server  DHCP:  Disabled  
• Virtual  Server:  
o Name:  ApplicationOne  
o Internal  IP:  10.0.1.4  
o Internal  Port:  8080  
o External  Port:  8080  
o Protocol:  TCP  

Figura  1  Modifica  indirizzo  IP  LAN  da  GUI.  

Limitazione imposta dalla GUI di


configurazione.

 
 
 

La  modifica  della  configurazione  standard  dell’apparato  ADSL  comporta  l’esecuzione  in  


sequenza  di  una  serie  di  task  che  in  breve  riepilogo:  

1. Collegamento   dell’apparato   ADSL   a   una   workstation   tramite   il   cavo   ethernet  


fornito  in  dotazione;  
2. Accesso   all’interfaccia   Web   di   configurazione   disponibile   all’indirizzo  
(predefinito)  http://192.168.1.1;  
3. Salvare   la   configurazione   dell’apparato   ADSL   utilizzando   la   funzione   Backup  
configurazione  del  Modem  raggiungibile  dal  menu  Strumenti  (vedi  Figura  3);  
4. Decifrare  (operazioni  di  Decrypt)  la  configurazione  dell’apparato  ADSL;  
5. Modificare  il  file  di  configurazione  secondo  le  proprie  esigenze;  
6. Cifrare  (operazioni  di  Crypt)  il  file  di  configurazione  appena  modificato;  
7. Applicare   la   nuova   configurazione   all’apparato   ADSL   utilizzando   la   funzione  
Ripristina  Configurazione,  raggiungibile  dal  menu  Strumenti.  

17/02/10   2  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Figura  2  Esempio  schema  di  rete  dove  inserire  l’apparato  ADSL.  

 
 
 

Del   processo   indicato   nel   precedente   paragrafo,   desidero   soffermarmi   solo   sui   punti  
indicati  come  4,5  e  6.    

Per   motivi   di   protezione   da   “occhi   indiscreti”,   il   produttore   dell’apparato   o   meglio  


l’operatore   telefonico   ha   preferito   esportare   (come   file   di   testo)   la   configurazione  
dell’apparato  applicando  un  algoritmo  di  cifratura  di  tipo  AES5  a  128bit.    

Come  direbbe  qualcuno  di  cui  adesso  non  ricordo  il  nome:  la  domanda  nasce  spontanea.  
Come   faccio   a   decifrare   il   file   di   configurazione?   Rispondiamo   subito,   andiamo   al   sodo  
evitando  di  far  una  lezione  su  un  argomento  vasto  come  la  Crittografia,  sappiate  solo  che  per  
“tirar   fuori”   in   formato   umano   quanto   contenuto   sul   file   di   configurazione,   occorre   avere   la  
sola  chiave  di  cifratura  il  cui  valore  è:  653165326562633230393738313836306  

     

                                                                                                               
5  In  crittografia,  l'Advanced  Encryption  Standard  (AES),  conosciuto  anche  come  Rijndael,  di  cui  più  propriamente  ne  è  una  specifica  

implementazione,  è  un  algoritmo  di  cifratura  a  blocchi  utilizzato  come  standard  dal  governo  degli  Stati  Uniti  d'America.  Per  maggiori  dettagli  
consultare  il  sito  http://it.wikipedia.org/wiki/Advanced_Encryption_Standard  
6  La  chiave  di  cifratura  al  momento  è  ancora  valida,  è  possibile  però  che  nel  tempo  possa  variare.  
17/02/10   3  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Figura  3  Salvataggio  &  Ripristino  configurazione.  

 
 
 

Per  le  operazioni  crittografiche  sul  file  di  configurazione  sarà  utilizzato  il  tool  OpenSSL7  
disponibile   per   qualunque   piattaforma,   personalmente   ho   utilizzato   il   tool   su   Mac   OS   X.   Di  
seguito   sono   illustrati   i   comandi   per   le   operazioni   di   Decrypt   e   Encrypt   del   file   di  
configurazione  dell’apparato  ADSL.  

 
                                                                                                               
7  OpenSSL  is  an  open  source  implementation  of  the  SSL  and  TLS  protocols.  The  core  library  (written  in  the  C  programming  language)  

implements  the  basic  cryptographic  functions  and  provides  various  utility  functions.  Wrappers  allowing  the  use  of  the  OpenSSL  library  in  a  
variety  of  computer  languages  are  available.  Per  maggiori  dettagli  consultare  il  sito  http://en.wikipedia.org/wiki/Openssl  
17/02/10   4  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Listato  1  Operazioni  di  Decrypt  &  Encrypt  configurazione  apparato  ADSL  

 
# Comando per il Decrypt del file di configurazione dell’apparato ADSL
openssl aes-128-cbc -K 65316532656263323039373831383630 -nosalt -iv 0 -d -in
/Users/amusarra/Desktop/AGConfig120210.kry -out /Users/amusarra/Desktop/AGConfig120210.xml

# Comando per l’Encrypt del file di configurazione dell’apparato ADSL


openssl aes-128-cbc -K 65316532656263323039373831383630 -nosalt -iv 0 -e -in
/Users/amusarra/Desktop/AGConfig120210.xml -out /Users/amusarra/Desktop/AGConfig120210.kry  

Con   riferimento   al   Listato   1,   il   tool   openssl   prevede   un   input   file   (opzione   -­‐in)   e   un  
output  file  (opzione  –out),  nel  primo  caso  (Decrypt)  il  file  di  input  è  la  configurazione  cifrata  
dell’apparato   ADSL   (vedi   Step   3),   il   file   di   output   è   invece   la   configurazione   dell’apparato  
ADSL   in   forma   umana.   Il   secondo   comando   openssl   esegue   l’operazione   inversa,   in   altre  
parole,   genera   il   nuovo   file   di   configurazione   cifrato   per   l’apparato   ADSL   contenente   la   nuova  
configurazione  da  applicare  (vedi  Step  7).  

 La   configurazione   dell’apparato   ADSL   si   basa   su   di   un   documento   XML   compliant   con  


DSL  Forum  TR-­0698,  ecco  spiegato  il  motivo  dell’estensione  .xml  del  file  di  output  indicato  sul  
primo   comando   openssl   (vedi     Listato   1).   Al   Listato   2   sono   illustrate   le   sezioni   del   documento  
XML   di   nostro   interesse,   sono   in   particolare   evidenziati   i   parametri   di   configurazione  
modificati  sulla  base  delle  esigenze  illustrate  in  precedenza.  Qualora  desideriate  approfondire  
il  data  model  legato  al  documento  XML  di  configurazione,  consiglio  di  consultare  il  documento  
TR-­069  InternetGatewayDevice:1.4  Root  Object  definition9.  

   

                                                                                                               
8  CPE  WAN  Management  Protocol  (CWMP)  -­‐  XML  Schemas  and  Data  Model  Definitions  http://www.broadband-­‐forum.org/cwmp.php  
9  XML  Schema  all’indirizzo  http://www.broadband-­‐forum.org/cwmp/tr-­‐098-­‐1-­‐2-­‐0.xml  
17/02/10   5  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Listato  2  Sezioni  di  configurazione  dell’apparato  ADSL.  

 
<!-- Configurazione LAN -->
<LANHostConfigManagement>
<AllowedMACAddresses/>
<DHCPLeaseTime>21600</DHCPLeaseTime>
<DHCPServerConfigurable>true</DHCPServerConfigurable>
<DHCPServerEnable>false</DHCPServerEnable>
<DNSServers>10.0.0.6</DNSServers>
<DomainName>homenet.telecomitalia.it</DomainName>
<IPInterface id="1">
<Enable>true</Enable>
<IPInterfaceAddressingType>Static</IPInterfaceAddressingType>
<IPInterfaceIPAddress>10.0.0.6</IPInterfaceIPAddress>
<IPInterfaceSubnetMask>255.255.254.0</IPInterfaceSubnetMask>
</IPInterface>
<IPInterfaceNumberOfEntries>1</IPInterfaceNumberOfEntries>
<IPRouters>10.0.0.6</IPRouters>
<MaxAddress>10.0.1.254</MaxAddress>
<MinAddress>10.0.0.1</MinAddress>
<SubnetMask>255.255.254.0</SubnetMask>
</LANHostConfigManagement>

<!-- Configurazione Virtual Server -->


<PortMapping id="1">
<ExternalPort>8080</ExternalPort>
<InternalClient>10.0.1.4</InternalClient>
<InternalPort>8080</InternalPort>
<PortMappingDescription>ApplicationOne</PortMappingDescription>
<PortMappingEnabled>true</PortMappingEnabled>
<PortMappingLeaseDuration>0</PortMappingLeaseDuration>
<PortMappingProtocol>TCP</PortMappingProtocol>
<RemoteHost/>
<X_TELECOMITALIA_IT_HostMACAddress/>
</PortMapping>
<PortMappingNumberOfEntries>1</PortMappingNumberOfEntries>
 
 
 

Al  Listato  3  è  indicato  il  data  model  utilizzato  dall’apparato  ADSL  per  la  definizione  dei  
Virtual  Server.  Il  data  model  completo  (sottoforma  di  XSD  Schema)  è  disponibile  sul  sito  del  
DSL  Forum.  

17/02/10   6  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Listato  3  Data  Model  dell’object  PortMapping  .  

<object
name="InternetGatewayDevice.WANDevice.{i}.WANConnectionDevice.{i}.WANIPConnection.{i}.PortMapping.{i
}." access="readWrite" minEntries="0" maxEntries="unbounded"
numEntriesParameter="PortMappingNumberOfEntries" enableParameter="PortMappingEnabled">
<description>Port mapping table.</description>
<uniqueKey>
<parameter ref="RemoteHost"/>
<parameter ref="ExternalPort"/>
<parameter ref="PortMappingProtocol"/>
</uniqueKey>
<parameter name="PortMappingEnabled" access="readWrite">
<description>Enables or disables the port mapping instance. On creation, an entry is
disabled by default.</description>
<syntax>
<boolean/>
</syntax>
</parameter>
<parameter name="PortMappingLeaseDuration" access="readWrite">
<description>Determines the time to live, in seconds, of a port-mapping lease. A value of 0
means the port mapping is static. Static port mappings do not necessarily mean persistence of these
mappings across device resets or reboots.</description>
<syntax>
<unsignedInt/>
</syntax>
</parameter>
<parameter name="RemoteHost" access="readWrite">
<description>This parameter is the IP address of the source of inbound packets. {{empty}}
indicates a "wildcard" (this will be a wildcard in most cases). CPE are required only to support
wildcards.
When {{param}} is a wildcard, all traffic sent to the {{param|ExternalPort}} on the WAN interface of
the gateway is forwarded to the {{param|InternalClient}} on the {{param|InternalPort}}.
When {{param}} is specified as one external IP address, the NAT will only forward inbound packets
from this {{param}} to the {{param|InternalClient}}, all other packets will be
dropped.</description>
<syntax>
<string/>
</syntax>
</parameter>
<parameter name="ExternalPort" access="readWrite">
<description>The external port that the NAT gateway would listen on for connection requests
to a corresponding {{param|InternalPort}}. Inbound packets to this external port on the WAN
interface should be forwarded to {{param|InternalClient}} on the {{param|InternalPort}}.
A value of zero (0) represents a "wildcard". If this value is a wildcard, connection request on all
external ports (that are not otherwise mapped) will be forwarded to {{param|InternalClient}}. In
the wildcard case, the value(s) of {{param|InternalPort}} on {{param|InternalClient}} are
ignored.</description>
<syntax>
<unsignedInt/>
</syntax>
</parameter>
<parameter name="InternalPort" access="readWrite">
<description>The port on {{param|InternalClient}} that the gateway should forward connection
requests to. A value of zero (0) is not allowed.</description>
<syntax>
<unsignedInt/>
</syntax>
</parameter>
<parameter name="PortMappingProtocol" access="readWrite">
<description>The protocol of the port mapping.</description>
<syntax>
<string>
<enumeration value="TCP"/>
<enumeration value="UDP"/>
</string>
</syntax>
</parameter>
17/02/10   7  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 
<parameter name="InternalClient" access="readWrite">
<description>The IP address or DNS host name of an internal client (on the LAN).
Support for an IP address is mandatory, while support for DNS host names is optional.
This value cannot be {{empty}}.
It must be possible to set the {{param}} to the broadcast IP address 255.255.255.255 for UDP
mappings. This is to enable multiple NAT clients to use the same well-known port
simultaneously.</description>
<syntax>
<string/>
</syntax>
</parameter>
<parameter name="PortMappingDescription" access="readWrite">
<description>User-readable description of this port mapping.</description>
<syntax>
<string>
<size maxLength="256"/>
</string>
</syntax>
</parameter>
</object>

   

Dopo   aver   portato   a   termine   le   modifiche   e   crittato   il   file   configurazione,   non   resta   altro  
che   applicare   la   nuova   configurazione   all’apparato   ADSL   così   come   indicato   in   precedenza  
(vedi   Step   7).   L’apparato   ADSL   prima   di   proseguire   con   l’applicazione   della   nuova  
configurazione  informa  l’utente  con  un  riepilogo  di  dettaglio  dei  nuovi  parametri.  In  Figura  4  
è  mostrato  il  risultato  della  nuova  configurazione.  

Figura  4  Applicazione  della  nuova  configurazione.  

Indirizzo IP classe /23 impostato sul Subnetmask impostata sul file di


file di configurazione XML. configurazione XML.

L'apparato vede correttamente le Servizio DHCP disabilitato e indirizzi


macchina presenti in rete, sull'intera IP così come indicati sul file di
subnet /23. configurazione XML.

 
 
   
17/02/10   8  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  


 
 
Antonio  Musarra's  Blog  
The  ideal  solution  for  a  problem   Blog:  http://musarra.wordpress.com  
Company  Portal:  http://www.romcad.it  
Mail:  antonio.musarra@romcad.it  
 

Con   questo   breve   articolo   abbiamo   visto   come   sia   possibile   configurare   l’apparato   ADSL  
facendo  a  meno  della  GUI  di  configurazione,  un  processo  un  po’  macchinoso  ma  sicuramente  
funzionante.   In   linea   di   principio   questo   metodo   di   configurazione   funziona   con   qualunque  
apparato   ADSL   compliant   DSL   Forum   TR-­069   a   meno   di   qualche   estensione   particolare   che  
potrebbe   cambiare   da   vendor   a   vendor.   Vi   lascio   con   un’ultima   lettura   interessante   del  
Broadband   Forum   sulla   tematica   del   Remote   Management   Work   disponibile   all’indirizzo  
http://www.broadband-­‐forum.org/downloads/BBHome_Remote_Mgmt.pdf  .  

   

17/02/10   9  

This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike