[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)

  • 335 Risposte
  • 43635 Visite

Walxer e 1 Visitatore stanno visualizzando questo topic.

Offline macadam

  • Membro Anziano
  • ***
  • 189
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #315 il: 09 Novembre 2022, 20:47 »
Ma che voi sappiate, ci sono differenze tra il Tim Hub+ e il (credo nuovo) Tim Hub+ Executive?
Da quello che vedo dalle immagini, il nuovo ha una porta USB sul fianco e una sul retro, anziché 2 posteriori, ma a livello di software?
Ho appena sottoscritto un nuovo contratto con tim e lunedì mi dovrebbe arrivare il modem, e ovviamente avrei voglia di metterci sopra le mani.
Li ho smontati entrambi sia il timhub+ che la versione executive che ha "Ont" da 2.5 gigabit.
non è un vero ont l'elettronica è sposata col in router infatti il serial è sull'etichetta e vanno a braccetto, non li puoi separare non funzionerebbero più.
executive manca di elettronica sulla parte VDSL per cui la porta rj11 per fttcab è solo per far figura. le porte lan sono sempre da 1 Gb come per timhub+ Zte base , non so se ho detto tutto o se serve altro

Offline Marcyvee

  • Nuovo Iscritto
  • *
  • 34
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #316 il: 10 Novembre 2022, 08:53 »
Quindi, a livello software, è lo stesso modem? Per sbloccarlo si può fare uguale? Anche se ho notato che sarebbe uno ZTE H388XF, e non un technicolor, quindi magari sono abbastanza OT.
In ogni caso vorrei chiedere, lo sblocco, che benefici dà? La GUI di ansuel non è compatibile, giusto? Si possono installare altri pacchetti tipo nano, o anche altre cose più elaborate, tipo uno scaricatore di torrent? I DNS sono bloccati?
« Ultima modifica: 10 Novembre 2022, 09:35 da Marcyvee »

Offline LuKePicci

  • Global Moderator
  • VIP
  • *****
  • 2779
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #317 il: 14 Novembre 2022, 20:53 »
Sullo ZTE non si può fare niente di quanto leggi in queste pagine, e nemmeno gui ansuel ovviamente.

Offline Marcyvee

  • Nuovo Iscritto
  • *
  • 34
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #318 il: 14 Novembre 2022, 21:34 »
E' arrivato oggi. Alla fine non è uno ZTE, ma un DGA 4331. La velocità è sorprendente. Appena avrò tempo proverò a sbloccarlo. Grazie comunque per le risposte.

Offline dragonx

  • Membro Anziano
  • ***
  • 412
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #319 il: 16 Novembre 2022, 12:08 »
E' arrivato oggi. Alla fine non è uno ZTE, ma un DGA 4331. La velocità è sorprendente. Appena avrò tempo proverò a sbloccarlo. Grazie comunque per le risposte.

se usi il metodo di uomoukko puoi fare un videotutorial o dei screenshot sia per la parte dei certificati che per quella dello sblocco su WSL? Tra difficoltà tecniche, tempo scarso e robe varie non riesco a sbloccare sto coso
« Ultima modifica: 16 Novembre 2022, 19:15 da dragonx »

Offline Marcyvee

  • Nuovo Iscritto
  • *
  • 34
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #320 il: 30 Novembre 2022, 11:27 »
Non credo che proverò a sbloccarlo nel breve. La procedura mi pare assai complicata rispetto ai vantaggi che offre.
Se e quando sarà possibile installare la gui di ansuel, magari ci proverò.

Offline uomoukko

  • Membro Anziano
  • ***
  • 112
    • github.com/uomoukko
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #321 il: 21 Dicembre 2022, 21:51 »
Ciao a tutti.. sono tornato e ho un po' di tempo da dedicare al forum.
Ecco una brutta notizia:
In breve: il sistema di sblocco basato su TR-069 sembra non funzionare più.

Stavo tentando di rootare un vecchio modem, il DGA4130 aggiornato con firmware AGTEF_234,
con la procedura analoga al DGA4331 ovvero il protocollo TR-069 che ben conosciamo.
Ho fatto questo per non rischiare di perdere il root al DGA4331 che posseggo in
unico esemplare. Avevo usato in precedenza questa procedura per rootare in modo
alternativo il DGA4130, e tutto funzionava tranquillamente, ma stavolta mi sono accorto
che il tch-exploit rimaneva fermo senza le scritte che scorrevano,
quindi ne ho dedotto che dal modem non usciva più niente,
nemmeno il primo POST di Inform (il primo messaggio in cui il modem dice all'ACS
tutte le sue caratteristiche).
Ovviamente so bene che per questo tipo di modem esiste una procedura meno complicata per
fare il rooting, ma lo facevo solo per esercizio.
Qui sto solo cercando di capire se sia cambiato qualcosa a livello procedura di sblocco con TR-069

Io ho mio.sito.com ospitato sul mio router e una porta è rediretta con port forward sul PC di sblocco
Il mio dominio con chiavi let's encrypt funziona, il sito collegato ha il lucchetto chiuso,
i certificati sono OK, la catena mi dice ISRG Root X1 -> R3 -> mio.sito.com
Quindi, armato di Wireshark sono andato a vedere cosa fosse successo.
Collegandomi all'interfaccia di rete del modem<->PC, il dialogo modem-mio.sito.com dice questo
TLSv1.2 Client Hello
TLSv1.2 Server Hello
TLSv1.2 Certificate, Server Key Exchange, Server Hello Done
TLSv1.2 Alert (Level:Fatal, Description: Unknown CA)
e poi chiusura della connessione e di conseguenza canale di sblocco chiuso.

Ora io sono estremamente preoccupato, potrei sicuramente aver sbagliato qualcosa
ma se così non fosse, sembrerebbe che il modem (almeno questo DGA4130 firmware 234)
non autentichi più le chiavi let's encrypt così come ho letto velocemente alcuni post fa.
Mi confermate questo cambiamento?
Fine dei giochi per il DGA4331, per il quale il TR-069 è l'unico metodo di sblocco?
Per fortuna il mio è stato rootato in precedenza e.. no, non ci farò esperimenti sopra
per ovvi motivi.

Ora.. se prima il root funzionava e ora non funziona più e se il modem è rimasto uguale,
a parte il cambio firmware i casi sono due: o nel nuovo firmware hanno tolto qualcosa,
(e questo posso risolverlo -in parte- downgradando e vedendo se funziona di nuovo)
oppure qualcosa deve essere cambiato a livello autorità di certificazione.. boh?

In quale cartella in generale vengono salvati i certificati accettati dal modem?


« Ultima modifica: 22 Dicembre 2022, 06:35 da uomoukko »

Offline AlexT544

  • Nuovo Iscritto
  • *
  • 8
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #322 il: 21 Dicembre 2022, 23:32 »
Salve
Tra pochi giorni riceverò il DGA4331 e ho alcune domande:
1. Quali di questi metodi per il root funzionano al momento?
2. Se entrambi, quale dei due è più facile per una persona con competenze di base?

Offline dragonx

  • Membro Anziano
  • ***
  • 412
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #323 il: 22 Dicembre 2022, 09:41 »
Ciao a tutti..

ciao, non so se ricordi ma,per quelle che sono le mie basi, i certificati hanno la data di scadenza... quindi, prima fai un downgrade del firmware e poi eventualmente prova ad usare i vecchi certificati ed a spostare la data del router.

p.s.: puoi rispondermi in pvt?

Salve
Tra pochi giorni riceverò il DGA4331 e ho alcune domande:
1. Quali di questi metodi per il root funzionano al momento?
2. Se entrambi, quale dei due è più facile per una persona con competenze di base?

gli unici metodi root che esistono sono quello di @imdadadani e @uomoukko  ... tutti e 2, con il firmware vecchio e al netto della data di scadenza dei certificati, dovrebbero funzionare ... è consigliato l'uso di ubuntu per la vlan
« Ultima modifica: 22 Dicembre 2022, 17:41 da MisterFTTH »

Offline AlexT544

  • Nuovo Iscritto
  • *
  • 8
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #324 il: 22 Dicembre 2022, 19:37 »
Grazie per le informazioni, sto facendo alcuni preparativi e sono bloccato. Sapete come ottenere il certificato per il dominio. Ho già ottenuto il dominio ma non so cosa fare dopo

Offline dragonx

  • Membro Anziano
  • ***
  • 412
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #325 il: 03 Gennaio 2023, 17:25 »
Grazie per le informazioni, sto facendo alcuni preparativi e sono bloccato. Sapete come ottenere il certificato per il dominio. Ho già ottenuto il dominio ma non so cosa fare dopo

non appena @uomoukko mi da l'utility che ascolta i mac-address e assegna degli IP prestabiliti catturo degli screenshot man mano che provo a sbloccare il router ... se riesco te li posto qui

Offline AlexT544

  • Nuovo Iscritto
  • *
  • 8
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #326 il: 04 Gennaio 2023, 10:45 »
Sono riuscito a far eseguire il certificato a nginx ma poi non riesco a farlo. Sto eseguendo il tch ma niente. Come faccio a sapere se il mio dominio punta a 10.42.1.1?
Per favore aiutatemi :help:
« Ultima modifica: 05 Gennaio 2023, 19:29 da AlexT544 »

Offline dragonx

  • Membro Anziano
  • ***
  • 412
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #327 il: 09 Gennaio 2023, 12:31 »
Sono riuscito a far eseguire il certificato a nginx ma poi non riesco a farlo. Sto eseguendo il tch ma niente. Come faccio a sapere se il mio dominio punta a 10.42.1.1?
Per favore aiutatemi :help:

ciao, io purtroppo non ho un computer con cui posso eseguire ubuntu 64 bit, @uomoukko lo ha sprotetto da windows con wsl... io ti posso solo sconsigliare l'uso di macchine virtuali e livecd... non so poi come abbia fatto a fare il programma DHCP che ascolta i mac-address e assegna degli IP prestabiliti... perchè secondo me sarebbe meglio evitare 2 istanze di tch-exploit... se ti serve il firmware AGTHF_1.0.1_CLOSED.rbi chiedi pure, se poi c'è un problema di validità dei certificati relativo alla scadenza delle date allora bisogna vedere se il router interroga un server ntp: in caso affermativo oltre al programma sopra citato bisogna creare un server ntp con una data prestabilita che sia compatibile con i certificati, in caso negativo non so proprio come procedere

Offline uomoukko

  • Membro Anziano
  • ***
  • 112
    • github.com/uomoukko
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #328 il: 17 Gennaio 2023, 00:27 »
Allora.... sono purtroppo ripartito all'estero e ho poco tempo per giocare con il DGA4331, che funziona
perfettamente, e che anche se e' rimasto a casa ad aspettarmi, vi saluta tutti da remoto con un bel #
Cmq  scherzi a parte, spero di rispondere a tutti e aiutarvi.

Ecco un programma che serve quando avrete rediretto con PORT FORWARD il vostro dominio
ad un ip della rete locale, infatti quando il modem stimolato dal DHCPD  fara' un POST (o un GET)
sul vostro dominio, tale POST sara' rediretto sulla vostra rete locale e verra' gestito in https
usando questo micro server https su WSL

Il programma e' scritto in puro nodejs quindi senza fronzoli e senza npm
Per installare nodejs sotto WSL dovete scrivere
$ sudo apt install nodejs
$ node
Welcome to Node.js v18.7.0.
Type ".help" for more information.

Attenzione: Ecco il rimedio se invece avrete questo risultato
node cannot execute binary file: exec format error

Codice: [Seleziona]
$ sudo mv /usr/bin/node /usr/bin/node-orig
$ printf '#!/bin/sh\nexec /lib64/ld-linux-x86-64.so.2 /usr/bin/node-orig "[email protected]"' | sudo tee /usr/bin/node
$ sudo chmod a+x /usr/bin/node

il server RICHIEDE che le chiavi key.pem e cert.pem siano salvate in una cartella ~user/.pem
LOGGA su console tutte le richieste sia GET che POST. (il protocollo tr069 del modem dialoga per lo piu' con i POST)
ESCE quando riceve un GET /done esattamente come il tch-exploit.
IN TEORIA questo programma  con qualche aggiunta (per es. invio dei files di sblocco) potrebbe fungere da tch-exploit
ma non voglio certamente reinventare la ruota. Serve solo come test.


il file si chiama server.js
Codice: [Seleziona]
#!/usr/bin/node

const myhttps = require('https');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8443;

const options = {
  key: myfs.readFileSync('/home/user/.pem/key.pem'),    //chiave privata
  cert: myfs.readFileSync('/home/user/.pem/cert.pem')   //cert pubblico
};


function sfunz(req, res)
        {
        console.log(req.method + ' ' + req.url);
        if(req.method == 'GET')
                {
                if(req.url.startsWith('/done'))
                        {
                        res.writeHead(200);
                        res.end();
                        }
                else
                        {
                        res.writeHead(200);
                        res.write('GET-TEST ok<BR>\n');
                        res.end();
                        }
                }
        else if(req.method == 'POST')
                {
                res.writeHead(200);
                res.write('POST-TEST ok<BR>');
                res.end();
                }
        else
                {
                res.writeHead(404);
                res.write('UNKNOWN METHOD<BR>\n');
                res.end();
                }
        }

myhttps.createServer(options,sfunz).listen(myport,myserv);
console.log('Server running at '+ myserv + ':' + myport);
Come faccio partire il server?
$ node server.js


come si testa? Col browser ma anche cosi' (sia da Windows che da WSL)
Codice: [Seleziona]
C:\Users\user\Desktop>curl -k https://localhost:8443/prova
GET-TEST ok<BR>

C:\Users\user\Desktop>curl -k https://localhost:8443/provadue -d x
POST-TEST ok<BR>

ovviamente poi dovrete testarlo sostituendo a localhost il vostro dominio, questo servira' a vedere
che il PORT FORWARD funziona. E per testare la validita' dei certificati dovrete togliere il -k dal curl
o in alternativa se usate il browser verificare che il lucchetto si chiuda senza dare avvisi di sicurezza con https sbarrato

Per quanto riguarda il programma per il dhcpd, l'ho messo nel mio sito github/uomoukko.
ho dovuto rivederlo per togliere tutti i macaddress e farli leggere da un file separato
e ho fatto lo stesso con l'option43 per adattarla ai diversi domini.
Non l'ho testato accuratamente ma sembra funzionare.
Per il momento e' tutto.

« Ultima modifica: 17 Gennaio 2023, 01:46 da uomoukko »

Offline uomoukko

  • Membro Anziano
  • ***
  • 112
    • github.com/uomoukko
Re:[RICERCA] TIM HUB+ Technicolor DGA4331 (VCNT-3)
« Risposta #329 il: 18 Gennaio 2023, 09:20 »
TUTORIAL PER CREARE LE CHIAVI PER I SERVER HTTPS
NOTA BENE: PER CREARE LE CHIAVI HTTPS NON E' RICHIESTO ALCUN SERVER HTTPS

SE NON CE L'HAI ANCORA, VAI A https://letsencrypt.org/ E CREA UN NUOVO
DOMINIO GRATIS. IN QUESTO TUTORIAL SI SUPPONE TU POSSEGGA my.server.org

SI SUPPONE CHE TU ABBIA WINDOWS CON  WSL (Windows Subsystem for Linux)

DOVREMO USARE UACME PER CREARE LE NOSTRE CHIAVI.
HAI DUE SCELTE: COMPILARE UACME DAI SORGENTI OPPURE SEMPLICEMENTE INSTALLARLO.

Codice: [Seleziona]
[email protected]:/home/user# apt install uacme
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
uacme is already the newest version (1.7.2-1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:/home/user# exit

CREO NUOVO ACCOUNT DI LET'S ENCRYPT
questo crea una nuova chiave privata private/key.pem
Di norma si fa una sola volta e per i rinnovi si usa quella che hai perche' e' solo il certificato pubblico che cambia, ma crearne una nuova ogni volta va bene lo stesso.

Codice: [Seleziona]
[email protected]:~$ mkdir myuacme
[email protected]:~$ cd myuacme
[email protected]:~/myuacme$ uacme -v -c . new
uacme: version 1.7.2 starting on Thu, 22 Dec 2022 12:37:39 +0100
uacme: created directory ./private
uacme: loading key from ./private/key.pem
uacme: ./private/key.pem not found
uacme: generating new 2048-bit RSA key
uacme: key saved to ./private/key.pem
uacme: fetching directory at https://acme-v02.api.letsencrypt.org/directory
uacme: creating new account at https://acme-v02.api.letsencrypt.org/acme/new-acct
uacme: type 'y' to accept the terms at https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf
y
uacme: account created at https://acme-v02.api.letsencrypt.org/acme/acct/883313507
[email protected]:~/myuacme$

ADESSO O SI HA IL DYNAMIC DNS SETTATO NEL MODEM PER IL DOMINIO my.server.org
OPPURE FACCIO PUNTARE A MANO IL MIO DOMINIO my.server.org AD UN IP CHE CONTROLLO
CIOE' L'IP PUBBLICO DEL MODEM (se non hai ip pubblico fine del tutorial)
PER FARE QUESTO, CON LA PASSWORD ACCEDO AL PANNELLO DI CONTROLLO DI LET'S ENCRYPT
E FACCIO PUNTARE  my.server.org ALL'IP PUBBLICO DEL MODEM,
IN TAL MODO SARA' INDIFFERENTE USARE AD ESEMPIO http://111.222.31.45 o http://111.222.63.32
(cioe' un ip esterno pubblico variabile) OPPURE http://my.server.org
LA PORT, SE NON SPECIFICATA, SI INTENDE LA 80, NON SERVE SCRIVERE http://my.server.org:80

PER SERVIRE LE RICHIESTE, SCEGLIAMO UN PC DELLA LAN DOVE FARO' GIRARE IL
SERVER HTTP E TALE PC, IN QUESTO ESEMPIO, AVRA' IP LOCALE 192.168.1.40
CI COLLEGHIAMO AL PANNELLO DI CONTROLLO DEL MODEM E CON LA FUNZIONE PORT FORWARD
FACCIAMO PUNTARE LA PORTA 80 ESTERNA AD UNA PORTA QUALSIASI DEL
PC DELLA NOSTRA LAN, IN QUESTO ESEMPIO SCELGO LA 8080 OVVERO
REINDIRIZZIAMO WAN=80 ----> LAN=192.168.1.40:8080
(SE SCELGO LA STESSA PORTA, LA LAN=192.168.1.40:80 VA BENE,
MA IL SERVER DOVRA' GIRARE CON I PRIVILEGI DI ROOT)


SUL PC DI CASA, 192.168.1.40, DOVRO' QUINDI INSTALLARE UN SERVER HTTP
SI PUO' INSTALLARE UN QUALSIASI SERVER HTTP IN PORT 8080 E POI CONFIGURARLO.
PER NON INSTALLARE NESSUN SERVER IO CONSIGLIO DI USARE nodejs SOTTO WSL

SE NON PRESENTE, INSTALLIAMO NODEJS

Codice: [Seleziona]
[email protected]:/home/user$ sudo apt install nodejs
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
nodejs is already the newest version (18.12.1-deb-1nodesource1).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
[email protected]:/home/user$

NELLA CARTELLA node-dir CREO IL FILE DEL SERVER, server.js
Codice: [Seleziona]
#!/usr/bin/node

const myhttp = require('http');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8080;
const mytoken = 'hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4';
const mykauth = 'hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI';
const myurlst = '/.well-known/acme-challenge/' + mytoken;

function sfunz(req, res)
        {
        console.log(req.socket.remoteAddress.padStart(15,' ')  + ' ' + req.method.padStart(4,' ') + ' ' + req.url);

        if(req.url.startsWith(myurlst))
                {
                res.writeHead(200);
                res.write(mykauth + '\n');
                res.end();
                }
        else
                {
                res.writeHead(404);
                res.write('ACME string not found<BR>\n');
                res.end();
                }
        }

myhttp.createServer(sfunz).listen(myport,myserv);
console.log('Server running at ' + myserv + ':' + myport);


NEL server.js FACCIAMO ATTENZIONE A QUELLE 2 STRINGHE CHE DOVREMO CAMBIARE
QUESTE ***VARIANO AD OGNI CHIAMATA DI UACME** E IN QUESTO ESEMPIO SONO
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4 CHE E' IL TOKEN
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI CHE E' LA KEY_AUTH


FACCIAMO PARTIRE IL SERVER
Codice: [Seleziona]
[email protected]:~/node-dir$ node server.js
Server is running at 0.0.0.0:8080

ORA LASCIAMO IL SERVER A GIRARE IN QUESTA FINESTRA
PER VERIFICARE CHE TUTTO IL SISTEMA FUNZIONI OVVERO CHE
my.server.org SIA REDIRETTO ALL'IP DEL PC DELLA MIA LAN 192.168.1.40
E CHE MI ATTIVI IL SERVER CHE GIRA IN PORT 8080 CON nodejs

SEMPLICEMENTE CON UN BROWSER APRIAMO http://my.server.org
e notiamo la scritta ACME string not found<BR>

OPPURE DA UN'ALTRA FINESTRA DIGITIAMO:

Codice: [Seleziona]
[email protected]:~$ curl http://my.server.org
ACME string not found<BR>

LA SCRITTA "ACME string not found<BR>" CONFERMA CHE E' TUTTO A POSTO:
IL SERVER GIRA COME SE FOSSE INSTALLATO SUL TUO DOMINIO MA SICCOME
NON E' STATO RICHIESTO IL TOKEN, RITORNA LA SCRITTA DI DEFAULT.
INFATTI COL TOKEN SPECIFICATO NEL server.js RITORNA LA STRINGA KEY_AUTH:

Codice: [Seleziona]
[email protected]:~$ curl http://my.server.org/.well-known/acme-challenge/hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4
hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI

FERMA PURE IL SERVER.
ORA TUTTO E' PRONTO PER FAR VERIFICARE IL DOMINIO E CREARE LE CHIAVI

Codice: [Seleziona]
[email protected]:~/myuacme$ uacme -v -c . issue my.server.org
uacme: version 1.7.2 starting on Thu, 22 Dec 2022 13:30:53 +0100
uacme: loading key from ./private/key.pem
uacme: loading key from ./private/my.server.org/key.pem
uacme: checking existence and expiration of ./my.server.org/cert.pem
uacme: ./my.server.org/cert.pem does not exist
uacme: generating certificate request
uacme: fetching directory at https://acme-v02.api.letsencrypt.org/directory
uacme: retrieving account at https://acme-v02.api.letsencrypt.org/acme/new-acct
uacme: account location: https://acme-v02.api.letsencrypt.org/acme/acct/883313507
uacme: creating new order at https://acme-v02.api.letsencrypt.org/acme/new-order
uacme: order location: https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: retrieving authorization at https://acme-v02.api.letsencrypt.org/acme/authz-v3/189066480387
uacme: challenge=http-01 ident=my.server.org token=hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4 key_auth=hwccLceoyzqliArrl6VVMCXuX4BbkKrovMwc1OumhW4.7nSoy3TidIwqfjaejJOiTAQyx_N0E6KyHe6rm5ggaqI
uacme: type 'y' followed by a newline to accept challenge, anything else to skip

NON PREMERE y E NON INTERROMPERE IL PROGRAMMA!

NELLA PENULTIMA RIGA E' SCRITTO IL VALORE CHE DOVRAI DARE A token e a key_auth
QUINDI PRIMA DI PREMERE y BISOGNA ANDARE NELLA FINESTRA DOVE GIRAVA server.js
BISOGNA EDITARE server.js E VANNO CAMBIATE LE STRINGHE COSTANTI
mytoken e mykauth.  POI SI DEVE FAR RIPARTIRE IL SERVER WEB

Codice: [Seleziona]
[email protected]:~/node-dir$ node server.js
Server is running at 0.0.0.0:8080

ADESSO SI PUO' TORNARE NELLA FINESTRA DI UACME E PREMERE y

Codice: [Seleziona]
y
uacme: starting challenge at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling challenge status at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling challenge status at https://acme-v02.api.letsencrypt.org/acme/chall-v3/189066480387/8DK75A
uacme: polling order status at https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: finalizing order at https://acme-v02.api.letsencrypt.org/acme/finalize/883313507/154265112377
uacme: polling order status at https://acme-v02.api.letsencrypt.org/acme/order/883313507/154265112377
uacme: retrieving certificate at https://acme-v02.api.letsencrypt.org/acme/cert/037e325cd4f8f2bd0e4fd768081ca730daf0
uacme: saving certificate to ./my.server.org/cert.pem.tmp
uacme: renaming ./my.server.org/cert.pem.tmp to ./my.server.org/cert.pem
[email protected]:~/myuacme$

ABBIAMO TERMINATO. AVREMO DUE CARTELLE, my.server.org e private

Codice: [Seleziona]
[email protected]:~/myuacme$ ls
my.server.org  private
[email protected]:~/myuacme$

nella cartella my.server.org
ci sara' il cert.pem ovvero la chiave pubblica comprendente la catena di certificati (3)
che vanno al tuo sito: ISRG Root X1 -> R3 -> my.server.org

nella cartella private c'e':
la tua chiave privata di base key.pem (che potresti usare anche per altri siti) ora non serve
e nella sottocartella my.server.org la chiave privata key.pem ma relativa al tuo sito

LE CHIAVI CHE VANNO USATE PER COSTRUIRE UN SERVER HTTPS SONO QUINDI:
my.server.org/cert.pem  e
private/my.server.org/key.pem

Riconosci la chiave privata perche' inizia con un blocco
-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

Riconosci il certificato pubblico da **tre** blocchi 
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
le chiavi sono valide per tre mesi alla volta

VERIFICA DELLA VALIDITA' DELLE VOSTRE NUOVE CHIAVI

METTETE LE 2 CHIAVI IN UNA CARTELLA, IO HO SCELTO LA /home/user/.pem

PER SERVIRE LE RICHIESTE HTTPS, SCEGLIAMO IL PC DELLA LAN DOVE FARO' GIRARE IL
SERVER HTTPS E TALE PC, IN QUESTO ESEMPIO, AVRA' IP LOCALE 192.168.1.40
QUANDO SCRIVO https://my.server.org SI INTENDE https://my.server.org:443 PERCIO'
CI COLLEGHIAMO AL PANNELLO DI CONTROLLO DEL MODEM E CON LA FUNZIONE PORT FORWARD
FACCIAMO PUNTARE LA PORTA 443 ESTERNA AD UNA PORTA QUALSIASI DEL SOLITO
PC DELLA NOSTRA LAN, IN QUESTO ESEMPIO SCELGO LA 8443 OVVERO
REINDIRIZZIAMO WAN=443 ----> LAN=192.168.1.40:8443
(SE SCELGO LA STESSA PORTA, LA LAN=192.168.1.40:443 VA BENE,
MA IL SERVER DOVRA' GIRARE CON I PRIVILEGI DI ROOT)


EDITATE QUESTO SERVER VELOCE
file test.js

Codice: [Seleziona]
#!/usr/bin/node

const myhttps = require('https');
const myfs = require('fs');
const myserv = '0.0.0.0';
const myport = 8443;

const options = {
  key: myfs.readFileSync('/home/user/.pem/key.pem'),    //chiave privata
  cert: myfs.readFileSync('/home/user/.pem/cert.pem')   //cert pubblico
};

function sfunz(req, res)
        {
        console.log(req.method + ' ' + req.url);
        res.writeHead(200);
        res.write('SERVER OK<BR>\n');
        res.end();
        }

myhttps.createServer(options,sfunz).listen(myport,myserv);
console.log('Server running at '+ myserv + ':' + myport);

FATE PARTIRE test.js
Codice: [Seleziona]
[email protected]:~/node-dir$ node test.js
Server is running at 0.0.0.0:8443

e poi in un'altra finestra

Codice: [Seleziona]
[email protected]:~$ curl -k https://my.server.org
SERVER OK<BR>

deve funzionare anche togliendo la -k se le chiavi e la redirezione del dominio sono ok.

Codice: [Seleziona]
[email protected]:~$ curl https://my.server.org
SERVER OK<BR>

Spero che il tutorial sia riuscito bene, ma se c'e' qualcosa mal spiegato scrivetemelo che cerchero' di chiarire meglio.
« Ultima modifica: 21 Gennaio 2023, 14:56 da uomoukko »