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 WiFi[1] (prodotto dalla Pirelli Broadband Solutions http://www.pirellibroadband.com) con firmware[2] versione: AGPF 4.5.0sx.
Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Telecom Italia: Oltre la Configurazione del Modem Alice Business
1. 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
2. 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
3. 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
4. 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
5. 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
6. 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
7. 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
8. 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
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
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