deep web

Alla dicitura “deep web” molte fonti associano un atteggiamento “illecito”.

Vogliamo, invece, studiare nella pagina attuale del blog “6 viola”, come il deep web sia semplicemente un metodo di difendere i propri dati personali nel navigare sul web, ed inoltre investigare come tutelare la integrità del proprio computer mentre si naviga nel web.

Anziché lasciare tale studio a un cultura underground e che introduca la rivelazione delle tecniche a gruppi complottisti o gruppi illegali che sono contro la società pacifica e non violenta..

VICEVERSA ..

noi -VIOLA- che siamo per la difesa della Costituzione Italiana e dei diritti fondamentali della persona che non creino danni a nessuno, vogliamo spiegare in chiaro come resistere all’invadenza di chi attentasse alla libertà di opinione che non sia apologia di reato.

Tale metodologia democratica, oggi investe la modalità detta “INTELLIGENZA COLLETTIVA”.

.. ma come potrà esservi intelligenza collettiva se non c’è scambio di info su come si accede agli strumenti elementari per difendere la navigazione laddove il web è sempre più un mare in tempesta che rischia di farci affondare?

Lezione N.1:

“Come si rende multiboot ubutu 16.04 pre.installato”?

Consiglio di acquistare un computer “dedicato” a questa sperimentazione.

Io sono laureato in ingegneria elettronica e nel mio corso di studi c’era anche la progettazione di come si costruisce un computer, ma per coloro che sono alle prime armi conviene avere una macchina dedicata (onde evitare la perdita dei dati): oggi ne esistono nuovi anche a poco prezzo che possono essere con un sistema operativo qualunque, ma sarebbe meglio avviarli nella modalità di SO (sistema Operativo) che sia Linux, altrimenti sarà più difficile ottenere i risultati che spiegherò qui di seguito.

La tecnica che stiamo esaminando si chiama “multi-boot”, ovvero dopo avere acceso il computer il sistema operativo di base detto DOS (impresso in modo hardware) normalmente chiede quale dispositivo leggere per primo.

https://it.wikipedia.org/wiki/DOS

In windows pre-installato si ottiene l’accesso a tale sezione che può essere modificata premendo il tasto F2, e si può lanciare un secondo sistema operativo che si basi su Linux.

Nella macchine apple, io ho il sistema El Capitain, già venduto con la possibilità di installare anche windows10, e il sistema è detto dual boot, per indicare che già la apple consente 2 sistemi operativi che possono essere abilitati alternativamente grazie a due software (Boot camp dal lato windows, & disco di avvio dal lato apple).

La “preparazione” a quale sarà il sistema di avvio va fatta in questo caso della apple _prima_ della accenzione del computer, poiché all’avvio si vedrà l’ultimo sistema salvato, a meno di non premere il tasto ALT, che mostrerà i sistemi disponibili, compresi quelli su pennetta (usb) detti “live” e cioé quei sistemi che possono stare su una pennetta da circa 8 GByte, come Ubuntu (che è uno degli sviluppi del SO Linux).

Quindi io consiglio di avere tra i sistemi operativi almeno uno che si basi su Linux, qui di seguito citerò Linux Ubuntu 16.04, come sistema primario venduto pre-installato su computer DELL, senza altri sistemi operativi.

Come si vede al link seguente, tal sistemi sono offerti gratuitamente:
https://www.ubuntu-it.org/download

Quindi o lo comprate pre-installato, oppure lo riuscite ad avere in multi-boot, comunque sia il sistema da cui partire per la sperimentazione -io consiglio- sia su base di qualche versione di Linux.

Una avvertenza: poiché sbagliando si possono perdere tutti i dati della macchina, e non è semplice avere un avvio da più sistemi operativi, ciò è anche ragione necessaria e sufficiente ad avere una macchina dedicata SOLO alle sperimentazioni, altrimenti si rischia di non poterla più gestire.

Nel caso si perda il controllo della macchina, naturalmente, si può ripetere la installazione del sistema operativo, ad esempio se si ha il disco di ripristino del sistema, oppure se il sistema è scaricabile gratuitamente. Lascio questa trattazione alla ricerca sul web, e però sia chiaro che se avete una seconda macchina potrete “curare” -cercando sul web- quella “malata”, altrimenti rimane solo di portarla a un centro di assistenza.

Detto tutto ciò veniamo velocemente al tema di questa prima lezione.

La Dell vi vende la macchina senza che possiate accedere al DOS, se non fate delle modiche!

Dovete agire da linea di comando (dopo che siete entrati in ubuntu). Tale linea di comando è detta “terminale”.

Per aprire “terminale” fate come segue:

https://www.wikihow.it/Aprire-una-Finestra-Terminale-in-Ubuntu

io consiglio il metodo numero 1 del link precedente.

Ora avete una linea di comando in cui dovete scrivere qualcosa, ma secondo un linguaggio di programmazione specifico del DOS.

Anziché imparare tutto questo, subito, eseguite le scritte che vi spiego, e però tenete conto che non possono essere cambiati i caratteri (maiuscolo con minuscolo) e che anche gli spazi sono importanti!

Dovete investigare, anzitutto se il sistema DOS esiste sul vostro computer e dove sia.

Nel caso di Ubuntu 16.04 tale DOS si chiama Grub, o Grub2.

Per vedere se è già installato fate (da linea di comando la seguente ricerca)

(1)

$ whereis grub (enter)
(scrivete solo la parte colorata)

la risposta sarà, dopo avere premuto il tasto “invio”(enter), la seguente:

grub:
/usr/lib/grub
/etc/grub.d
/usr/share/grub
/usr/share/info/grub.info.gz

le scritte sono tutti indirizzi in cui risiede il nome “grub”, che quindi abbiamo verificato che esisteva, senza doverlo aggiungere una seconda volta, e magari con il rischio di non saperlo fare, visto che in Linux/ubuntu .. il download e la installazione NON sono gli stessi .. che conosciamo in altri sistemi operativi.

Nota Bene: stiamo sempre parlando della linea di comando (terminale) di ubuntu e stiamo andando a verificare se -poiché esiste grub- ma tenuto occulto, *come accedervi*.

Se il sistema operativo fosse diverso, anche il dos sarebbe diverso, e non esisterebbe grub, né i comandi del dos sarebbero gli stessi.

Nel nostro caso, invece, grub esiste, ma non è abilitato a farsi vedere, e né a fare il multiboot! (per ora).

Però, se ci impegniamo, vedrete che riusciremo a prendere il controllo della macchina che “dovrebbe essere la nostra”, ma che ci è fornita in modo tale che ne dobbiamo sapere il meno possibile su come è nelle sue potenzialità, al fine che non possiamo difenderci nella navigazione, anche solo dalla pubblicità che ci bombarda di cookies

https://ec.europa.eu/info/cookies_it

ora dobbiamo vedere come “inizializzare” Grub al fine che si mostri:

Grazie al link seguente:

https://www.lffl.org/2012/03/ubuntu-come-visualizzare-il-grub-di.html

sembrerebbe che si debba scrivere:

(2)

$  sudo gedit /etc/default/grub (enter)

cioé servirà ad aprire un testo che serve ad una inizializzazione software del DOS Grub.

ma c’è un errore di chi spiegava la procedura ..

anziché sudo -> gksudo

poiché sudo è la modalità super amministratore senza grafica, mentre con gk è anche per la grafica.

Per il resto tutto ok:

cioé la riga numero 2, laddove dice:

GRUB HIDDEN TIMEOUT=0

va modificata come segue:

#GRUB HIDDEN TIMEOUT=0

il cancelletto “#” la rende inattiva e quindi non è più vero che non compare la videata con la opzione per programmare la scaletta di quale unità leggere su chi sarà il sistema operativo che parte per primo!

Io ho capito che non andava scritto questo solo dopo che mi è arrivato un messaggio che diceva che NON si poteva fare .. ecco il testo:

gedit:4456): Gtk-WARNING **: Calling Inhibit failed: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files

Quindi anziché rendere operativa la modifica ho investigato da cosa dipendesse l’errore mettendo nel motore di ricerca proprio il messaggio di errore e mi è comparso (tra gli altri) la seguente spiegazione:

use gksudo or gksu

instead of sudo to open the file al link seguente:

https://askubuntu.com/questions/419783/gtk-warning-calling-inhibit-failed-gdbus-errororg

Ma prima di provare ho cercato se .. esisteva .. e ciò può essere fatto (per i pacchetti):

(3)

aptitude show gksu

++

cit on

++

Il programma “aptitude” non è attualmente installato. È possibile installarlo digitando:

sudo apt install aptitude

lino@lino-Precision-5530:~$ sudo apt install aptitude

[sudo] password di lino:

Lettura elenco dei pacchetti… Fatto

Generazione albero delle dipendenze

Lettura informazioni sullo stato… Fatto

I seguenti pacchetti sono stati installati automaticamente e non sono più richiesti:

apt-clone archdetect-deb dmeventd dmraid gir1.2-clutter-1.0

gir1.2-clutter-gst-3.0 gir1.2-cogl-1.0 gir1.2-coglpango-1.0

gir1.2-gtkclutter-1.0 gir1.2-networkmanager-1.0 gir1.2-nma-1.0

gir1.2-timezonemap-1.0 gir1.2-xkl-1.0 kpartx kpartx-boot

libdebian-installer4 libdevmapper-event1.02.1 libdmraid1.0.0.rc16

liblvm2app2.2 liblvm2cmd2.02 libparted-fs-resize0 libreadline5 lvm2

python3-icu python3-pam rdate

Usare “sudo apt autoremove” per rimuoverli.

The following additional packages will be installed:

aptitude-common libcwidget3v5

Pacchetti suggeriti:

apt-xapian-index aptitude-doc-en | aptitude-doc debtags tasksel

libcwidget-dev

I seguenti pacchetti NUOVI saranno installati:

aptitude aptitude-common libcwidget3v5

0 aggiornati, 3 installati, 0 da rimuovere e 442 non aggiornati.

È necessario scaricare 2.345 kB di archivi.

Dopo quest’operazione, verranno occupati 9.865 kB di spazio su disco.

Continuare? [S/n]

Continuare? [S/n] S

ora ripeto il comando “aptitude show gksu”

per sapere se esiste il pacchetto gksu da usare come sudo grafico in

gksudo gedit/etc/default/grub

Continuare? [S/n] S

Scaricamento di:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 aptitude-common all 0.7.4-2ubuntu2 [747 kB]

Scaricamento di:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 libcwidget3v5 amd64 0.5.17-4ubuntu2 [292 kB]

Scaricamento di:3 http://archive.ubuntu.com/ubuntu xenial/main amd64 aptitude amd64 0.7.4-2ubuntu2 [1.306 kB]

Recuperati 2.345 kB in 1s (1.410 kB/s)

Selezionato il pacchetto aptitude-common non precedentemente selezionato.

(Lettura del database… 217423 file e directory attualmente installati.)

Preparativi per estrarre …/aptitude-common_0.7.4-2ubuntu2_all.deb…

Estrazione di aptitude-common (0.7.4-2ubuntu2)…

Selezionato il pacchetto libcwidget3v5:amd64 non precedentemente selezionato.

Preparativi per estrarre …/libcwidget3v5_0.5.17-4ubuntu2_amd64.deb…

Estrazione di libcwidget3v5:amd64 (0.5.17-4ubuntu2)…

Selezionato il pacchetto aptitude non precedentemente selezionato.

Preparativi per estrarre …/aptitude_0.7.4-2ubuntu2_amd64.deb…

Estrazione di aptitude (0.7.4-2ubuntu2)…

Elaborazione dei trigger per man-db (2.7.5-1)…

Elaborazione dei trigger per libc-bin (2.23-0ubuntu10)…

Configurazione di aptitude-common (0.7.4-2ubuntu2)…

Configurazione di libcwidget3v5:amd64 (0.5.17-4ubuntu2)…

Configurazione di aptitude (0.7.4-2ubuntu2)…

update-alternatives: viene usato /usr/bin/aptitude-curses per fornire /usr/bin/aptitude (aptitude) in modalità automatica

Elaborazione dei trigger per libc-bin (2.23-0ubuntu10)…

lino@lino-Precision-5530:~$ aptitude show gksu

Pacchetto: gksu

Stato: installato

Installato automaticamente: sì

Versione: 2.0.2-9ubuntu1

Priorità: opzionale

Sezione: universe/admin

Responsabile: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

Architettura: amd64

Dimensione pacchetto installato: 473 k

Dipende: libc6 (>= 2.4), libgksu2-0 (>= 2.0.8), libglib2.0-0 (>= 2.16),

libgtk2.0-0 (>= 2.8.0), sudo

Raccomanda: gnome-keyring

Va in conflitto: gnome-sudo (<= 0.3-1.1), gnome-sudo:i386 (<= 0.3-1.1),

gksu:i386

Sostituisce: gnome-sudo, libgksu0, gnome-sudo:i386

Fornisce: gnome-sudo

Descrizione: graphical front-end to su and sudo

This package provides GTK+ front-ends for su (gksu) and sudo (gksudo), allowing

users to give a password and run graphical commands as root without needing to

invoke su or sudo in a terminal emulator.

Homepage: http://www.nongnu.org/gksu

++

cit off

++

Ora posso allora ripetere la procedura

sudo gedit/etc/default/grub

modificata in ..

(4)

gksudo gedit /etc/default/grub

lino@lino-Precision-5530:~$ gksudo gedit /etc/default/grub

alcuni warning che trascuro, perché avrebbero migliorato solo la grafica del come compare il testo ..

provo a chiudere e a riavviare

risultato?

ancora NON si ferma -in riavvio- sul DOS su grub!

PERCHE’?

In effetti manca una istruzione:

dopo la modifica del cancelletto va aggiornato grub

e quindi riprovare a fare partire il sistema del computer per vedere se compare il grub.

(5)

$ sudo update-grub (enter)

dopo le modifiche a /etc/default/grub (già eseguite nella linea di comando precedente a quella attuale!)

Infatti ..

il cancelletto era stato salvato ma non aveva aggiornato grub

quindi chiudo la videata grafica ..

lino@lino-Precision-5530:~$ gksudo gedit /etc/default/grub

lino@lino-Precision-5530:~$ sudo update-grub

[sudo] password di lino:

Generating grub configuration file …

Trovata immagine linux: /boot/vmlinuz-4.13.0-1028-oem

Trovata immagine initrd: /boot/initrd.img-4.13.0-1028-oem

Trovata immagine linux: /boot/vmlinuz-4.13.0-1021-oem

Trovata immagine initrd: /boot/initrd.img-4.13.0-1021-oem

Adding boot menu entry for EFI firmware configuration

fatto

Ancora un piccolo sforzo e questa prima lezione è terminata!

🙂

Ora si può mettere una pen usb con un secondo sistema operativo e andare a vedere se

il Grub compare all’inizio?  -> yes

il menù esiste? -> yes

Come si programma il menù di grub?

  1. opzioni avanzate (da trascurare)
  2. system setup (è quello che ci serve!)

entro in system setup

trovo:

  • system information (da trascurare)
  • […]
  • boot sequence (è quello che ci serve!)

situazione prima delle modifiche:

1 [v] ubuntu

2 [v] UEFI 1.024 GB partition 2

3 [v] sony storage

situazione dopo le modifche ..

con le frecce e avendo inserito la pennetta con il sistema operativo “live” sulla pennetta (sony) prima dell’avvio modifico con le frecce e lasciando tutti i SO abilitati

1 [v] sony storage

2 [v] ubuntu

3 [v] UEFI 1.024 GB partition 2

salvo le modifiche e chiudo

legge la pennetta e parte con il sistema operativo live della pennetta.

cvd

Nota:

ma non si poteva fare ciò, di navigare, anche solo con ubuntu?

No, abbiamo bisogno di un sistema operativo su pennetta (come ad esempio Tails_Linux) che si basa su un sistema di server TOR che esamineremo nella seconda lezione.

ultimo aggiornamento:

12 nov 2018, ore 15.02

°°°°°°°°°°°°°°°°°°°°°°°°°°°
°°°°°°°°°°°°°°°°°°°°°°°°°°°

Lezione N.2:

“Perché studiare TOR?”

Anzitutto precisiamo che con TOR intendiamo quanto esposto al link seguente:

https://it.wikipedia.org/wiki/Tor_(software)

cito (dal link sopra):

In informatica Tor (acronimo di The Onion Router) è un sistema di comunicazione anonima per Internet basato sulla seconda generazione del protocollo di rete di onion routing. Tramite l’utilizzo di Tor è molto più difficile tracciare l’attività Internet dell’utente; difatti l’uso di Tor è finalizzato a proteggere la privacy degli utenti, la loro libertà e la possibilità di condurre delle comunicazioni confidenziali senza che vengano monitorate.

Tor è disponibile per WindowsOS XAndroid e diversi sistemi operativi unix-like, principalmente tramite le distribuzioni Lightweight Portable Security (una distro leggera che si lancia da chiavetta USB o CD senza installare nulla, e realizzata dal Dipartimento della Difesa US e dalla Software Protection Initiative) e Tails, interamente pensata per privacy e riservatezza, in cui è già pre-installato il browser.

Tor è un software libero e si basa sulla licenza BSD. È anche disponibile un’interfaccia di gestione: Vidalia.

Caratteristiche[modifica | modifica wikitesto]

Tor protegge gli utenti dall’analisi del traffico attraverso una rete di router (detti anche onion router), gestiti da volontari, che permettono il traffico anonimo in uscita e la realizzazione di servizi anonimi nascosti. Lo scopo di Tor è quello di rendere difficile l’analisi del traffico e proteggere così la privacy, la riservatezza delle comunicazioni, l’accessibilità dei servizi. Il funzionamento della rete Tor è concettualmente semplice: i dati che appartengono ad una qualsiasi comunicazione non transitano direttamente dal client al server, ma passano attraverso i server Tor che agiscono da router costruendo un circuito virtuale crittografato a strati (per analogia con onion, che in inglese significa cipolla).

Le comunicazioni via Tor sono a bassa latenza e questo lo rende adatto alla navigazione web, alla posta, messaggeria istantanea, SSH, IRC ecc. Tor supporta esclusivamente il protocollo TCP, il browser è stato sviluppato modificandoFirefox.

La rete Tor fornisce essenzialmente due servizi:

  1. Connessioni anonime in uscita
  2. Fornitura di servizi nascosti

Indicazioni per l’anonimato in rete[modifica | modifica wikitesto]

The Guardian Project, organizzazione no-profit, ha realizzato un browser dedicato alla rete Tor, e fornito alcune raccomandazioni per garantire anonimato e sicurezza che gli utenti dovrebbero rispettare per sé e per non compromettere sicurezza e anonimato degli altri utenti connessi.

Tor Browser è un programma gratuito e a sorgente aperto, portabile: può essere lanciato da chiavetta USB, a garanzia di un maggiore anonimato rispetto alle altre applicazioni che si installano sul PC, con il rischio di una trasmissione di dati personali. Tor Browser blocca Java, Flash, RealPlayer, Quicktime e l’aggiunta di addon in quanto possono essere manipolati per rivelare l’indirizzo IP originale.

La rete Tor e il browser supportano la connessione cifrata dal proprio PC al primo nodo della rete Tor cui ci si collega, e all’interno della rete Tor, ma non possono garantire che sia cifrata e non viaggi in chiaro l’indirizzo IP dall’ultimo nodo della rete Tor al sito finale cui ci si connette: Tor browser impone “HTTPS everywhere” per forzare ad utilizzarla il maggiore numero di siti che supportano questa connessione cifrata.

Ora vediamo come si usa?

Al link seguente una guida:

https://www.aranzulla.it/come-usare-tor-1026046.html

dal link sopra:

download del browser:

https://www.torproject.org/projects/torbrowser.html.en#downloads

Ora sto lavorando su un computer apple a 64 bit e quindi vado al link secondario associato e con la lingua italiana:

ore 14.40 del 13 nov 2018, al click mi scarica un file:

TorBrowser-8.0.3-osx64_it.dmg

Per installarlo?

“tasto destro (sul nome del file) > apri”

sposto (drag and drop) l’icona del browser sulla cartella “applicazioni”

Ora nella cartella “applicazioni” ho il seguente file:

Tor Browser.app

“doppio click” per lanciarlo ..

Finestrella che dice:

cit on

Non puoi utilizzare questa versione dell’applicazione “Tor Browser.app” con questa versione di Mac OS X.
Sul computer è installato OSX 10.8.3. L’applicazione richiede OS X 10.9 o successiva”.


cit off

Allora si deve cercare TOR per la versione del sistema operativo della macchina attuale oppure aggiornare il software della macchina.

Poiché non voglio cambiare il sistema operativo:

  1. elimino il file sorgente:
    TorBrowser-8.0.3-osx64_it.dmg
  2. elimino l’applicativo:
    Tor Browser.app

Sui computer apple basterà trascinare sul cestino, oppure tasto destro sul file > sposta nel cestino.

scrivo nel motore di ricerca:

TOR Browser for OSX 10.8.3

mi restituisce:

https://tor.en.uptodown.com/mac/old

tor-4-5-3-en-mac.dmg

(è una versione che funziona dal 2015 e quindi dovrebbe andare bene)

Ripeto la apertura del dmg, e la installazione:

Mi compare il messaggio:
“Torser.app” è una applicazione scaricata da internet. Sei sicuro di volerla aprire?

Gli dico “apri” (premo sul tasto)

Messaggio:

Before you connect to the Tor network, you need to provide information abaout this computer’s internet connection.

which of the following best describes your situation?

I would like to connect directly to the Tor network.
This will work in most situations.
tasto “connect”

This computer’s Internet connection is censured or proxied.
I need to configure Bridge or local proxy settings.

tasto “configure”

For assistance, contact help@rt.torproject.org.

tasto “Quit”.

Se ritorniamo alle spiegazioni di Aranzulla ..

salvo casi animali consiglia di premere “connetti” ..

“please wait while we enstablish a connection to the Tor network”

Messaggio:

Congratulations!

this browser is configured to use Tor.

Dunque ho un “navigatore” per una navigazione che dovrebbe essere invisibile, o quasi.

Facciamo una verifica?

vado in http://www.mio-ip.it/

copio il mio ip vero

x.xxx.xx.xxx

mio ip onion:

y.yyy.yy.yyy

come si è visto nel link di Aranzulla, è disponibile anche un browser per i sistemi Linux.

Però, come abbiamo visto nella lezione n.1 c’è la possibilità di utilizzare un sistema su pennetta “live” che si aspetta di potere agire su USB in modo autonomo, come sistema operativo.

Io ho montato il sistema Tails linux come è spiegato sulla rivista di informatica win.

In particolare mi riferisco al seguente numero della rivista 10 gennaio 2018:

Perché questa maggiore separazione?

  1. Perché in tal modo la pennetta è isolata dal resto del computer
  2. Si può scrivere su una SD (memoria) per salvare dati
  3. Ma il sistema Tails_Linux pulisce tutte le modifiche sulla macchina “ospite della usb”(la pennetta), prima di disconnettersi!

Proviamo quindi il browser TOR anche secondo questo secondo metodo ..

Mi sposto su un computer dell con ubuntu come sistema principale e Tails Linux su pennetta ..

  1. pre-inserire pennetta
  2. entrare in boot sequence
  3. salvare il primo posto alla pennetta.

si apre tails tor browser che è simile al precedente ma non identico.

Ora spiego come realizzare la configurazione:

  • computer con SO=ubuntu 16.04
  • pennetta con Tail_Linux che usa TOR e motore di ricerca Page

seguendo l’articolo di “win” sopra citato:

fonte dell’articolo:

procedura per installare il sistema SO (Operational System=OS) Tails_Linux su pennetta:

Mi accorgo, ora -però- che questa è una spiegazione recente, ma meno dettagliata di come mettere Tails su pennetta.

Quindi cerco quella meno recente che però entrava più in dettaglio ..

2014-06-Win Magazine pag.48:

pg.49:

Quindi, riassumendo:

  1. dal sito di Tails scaricare la immagine iso adatta a essere messa “live” su pennetta
  2. dal sito di unetbootin scaricare il programma per masterizzare la immagine iso di tails su pennetta.
  3. vedere lezione 1 (sopra) per capire come avviare un computer grazie al multiboot entrando nel dos.
  4. ora siamo in Tails, e nella mia versione ho direttamente il “tor browser” nel menù di Tails > “applicazioni” > tor browser, quindi come motore di ricerca metto il link: https://www.startpage.com/eng/ cioé copio ed incollo nella zona “indirizzi del tor browser il link precedente ..
  5. mettete una memoria SD per scrivere da Tail vs memoria SD, altrimenti non troverete nulla al prossimo riavvio di quanto avete scritto come “note di viaggio”.

In conclusione di questa seconda lezione, NON consigliamo l’uso del collegarsi a TOR tramite un navigatore (browser) quando siamo direttamente nel sistema operativo senza la schermatura di tails (o simili).

Ciò è perché in tal modo non stiamo solo osservando il web (tramite TOR) ma siamo potenzialmente osservati non da enti esterni a TOR, ma da TOR stesso!

Ciò potrebbe comportare che il nostro stesso modem sia utilizzato per canalizzare traffico di pacchetti di altri utenti, nel caso meno invadente. Anche se ciò satura la nostra banda e usa il quantitativo di download ed upload da e per un server. Ciò non è un problema di soldi se abbiamo un contratto 24 su 24 (ore), però potrebbe essere un problema se il quantitativo di down/up sia limitato.

Ma -nella analisi del caso peggiore- potrebbe essere una vulnerabilità del nostro computer, se un utente -già- dentro TOR volesse entrare -inoltre- anche dentro il nostro computer.

VICEVERSA la modalità Tails_linux (su usb, pennetta) non accede al computer “ospite”! (il computer ospite è il nostro computer che accede al web dalla pennetta) .. e ciò che scrive il software(SO) -Tails_Linux- appoggiandosi alla memoria dinamica (RAM) viene cancellato dopo l’uscita spegnendo il computer.

Da cui il mio modem nella modalità di essere divenuto un nodo di TOR (prima parte della lezione 2: senza schermatura della pennetta) sembrava un albero di Natale in cui le lucette lampeggivano a una frequenza impressionante .. mentre nella modalità con pennetta -Tails- era impermeabile, grazie all’uso della pennetta, ad essere sub_sistema di TOR.

Quindi il nostro studio di queste tecniche di invisibilità per difenderci dagli attacchi informatici, devono tenere conto che l’uso delle tecniche che stiamo usando non ci rendono realmente invisibili, poiché la sicurezza informatica perfetta non è possibile, ma solo contestuale.

Da ciò nessuno si illuda di navigare nel deep web compiendo azioni illecite.

La conseguenza sarebbe che è più facile rimanere vittime di attacchi informatici, o truffe, perché si supponeva di vedere gli altri, e che gli altri non vedessero noi.

Infine, è un invito a seguire le prossime lezioni, per capire meglio il mondo sommerso che il filosofo Kant chiamava noumeno:

https://it.wikipedia.org/wiki/Noumeno

ultimo aggiornamento:
14 nov 2018, ore 12.26

Lezione N.3:

“l’architettura del web”?

Consiglierei di partire dal link seguente:

https://www.manualeinternet.it/online/tecnologie/larchitettura-del-world-wide-web/

I temi trattati al link precedente sono i seguenti:

  • nel 1994 lo stesso Tim Berners Lee promosse la costituzione del World Wide Web Consortium (W3C)
  • Web Semantico
  • concetto di ipertesto
  • L’architettura e i protocolli di World Wide Web

  • il Web permette di effettuare una sorta di navigazione in uno spazio informativo astratto, comunemente definito cyberspazio.

  • ci troviamo di fronte a un sistema basato su una interazione client-server, dove le funzioni elaborative sono distribuite in modo da ottimizzare l’efficienza complessiva. Il protocollo di comunicazione tra client e server Web si chiama HyperText Transfer Protocol (HTTP). Si tratta di un protocollo applicativo che a sua volta utilizza come base gli stack TCP/IP per inviare i dati attraverso la rete. La prima versione di HTTP è stata sviluppata da Tim Berners-Lee e ha continuato a far funzionare il Web per molti anni prima che venisse aggiornata alla versione 1.1, caratterizzata da una serie di migliorie sul piano dell’efficienza (HTTP 1.1 utilizza una sola connessione TCP per trasmettere dati e definisce delle regole per il funzionamento della cache sul lato client) e della sicurezza delle transazioni.
  • il Web definisce anche dei formati o linguaggi specifici per i tipi di dati che possono essere inviati dal server al client. Tali formati e linguaggi specificano la codifica dei vari oggetti digitali che costituiscono un documento, e il modo di rappresentare i collegamenti ipertestuali che lo legano ad altri documenti. Tra essi ve ne è uno che assume un ruolo prioritario nel definire struttura, contenuto e aspetto di un documento/pagina Web: attualmente si tratta del linguaggio HyperText Markup Language(HTML).
  • Un client Web costituisce lo strumento di interfaccia tra l’utente e il sistema Web; le funzioni principali che esso deve svolgere sono:

    • ricevere ed eseguire i comandi dell’utente
    • richiedere a un server i documenti
    • interpretare i formati di codifica degli oggetti che costituiscono ogni singolo documento e presentarli all’utente su un determinato dispositivo di output del computer ove risiede (di norma il monitor).

    I client Web vengono comunemente chiamati browser, dall’inglese to browse, scorrere, sfogliare, poiché essi permettono appunto di scorrere le pagine visualizzate. Poiché tuttavia la fruizione di una pagina Web non è riducibile formalmente alla sola visualizzazione, nei documenti tecnici si preferisce la formula user agent, che cattura in modo più astratto il ruolo funzionale svolto dal client.

    Un server Web, o più precisamente server HTTP, per contro, si occupa della gestione, del reperimento e dell’invio dei documenti (ovvero dei vari oggetti digitali che li costituiscono) richiesti dai client. Nel momento in cui l’utente attiva un collegamento – agendo su un link – o specifica esplicitamente l’indirizzo di un documento, il client invia una richiesta HTTP (HTTP request) a un determinato server con l’indicazione del documento che deve ricevere. Questa richiesta viene interpretata dal server, che a sua volta invia gli oggetti che compongono il documento richiesto corredati da una speciale intestazione HTTP che ne specifica il tipo. Tale specificazione si basa sui codici di tipo definiti dalla codifica MIME (o MIME type), nata per la posta elettronica. Se necessario, il server prima di inviare i dati può effettuare delle procedure di autenticazione, in modo da limitare l’accesso a un documento a utenti autorizzati e in possesso di password.

Esco dalle citazioni del link indicato e faccio un esempio:

Se noi realizziamo un sito internet, nella forma di blog, come 6 viola, o nella forma di pagine Home page, e pagine figlie del nodo radice, lo realizziamo per esempio su un computer locale (potremmo anche farlo on line).

Ma per essere visualizzato non solo da chi lo ha realizzato, deve risiedere su un server collegato al web!

Quindi alcuni come wordpress.com danno questa opportunità di agire uno spazio gratuito, ed in cambio chi realizza, come me, i contenuti .. consente che siano presenti degli inserti pubblicitari i cui introiti -però- non vanno a me.

Diverso sarebbe se mi rivolgessi ad altri che lasciano i siti web on line, ma si fanno pagare dei costi per tenere accese e collegate on line le macchine dette “server”.

Rispetto ad un computer normale, il server, dunque .. ha un sistema operativo un po’ diverso .. in quanto -essendo collegato al web- deve leggere gli indirizzi di coloro che cercano un sito internet, e se tale sito è sul server devono fornire dei “contenuti” a più utenti: tutti gli utenti che chiedono di visualizzare quei contenuti.

Uno dei linguaggi con cui si scrive una pagina web, dunque, è html. Ma html realizza solo la “struttura di base”, mentre nel caso generale si “appoggia” ad altri software, a secondo se visualizza foto, video, etc.

Continuando con gli esempi: sul blog attuale le foto (quasi sempre) non risiedono sul server di wordpress, ma su un server alternativo. Ed esiste un modo per citare tali foto tramite “link” e l’utente che le visualizza non si rende conto che affluiscono informazioni da macchine diverse a formare la pagina che visualizza come se fosse un unicum.

Riprendiamo la lettura del link:
https://www.manualeinternet.it/online/tecnologie/larchitettura-del-world-wide-web/

  • Identificare e localizzare i documenti in rete
  • Uniform Resource Locator (URL)

  • I linguaggi del Web

  • La rappresentazione elettronica dei documenti: i linguaggi di markup

  • HyperText Markup Language (HTML)

  • Extensible Markup Language (XML)

  • […]

il testo si avventura poi su linguaggi specifici per i vari usi, come ad esempio per gestire basi di dati, e quindi cita che un sito dinamico potrebbe formare la pagina che viene visualizzata con più strumenti, che coloro che gestiscono per esempio un sito per il commercio devono inizializzare affinché il server regoli gli outputs a secondo delle richieste: ad esempio modello dell’auto, colore, anno di fabbricazione, etc.

Ma la cosa che per noi è interessante è il fatto che la nostra macchina (computer) dialoga con un server per esempio per caricare sul server un sito web attraverso un software dedicato che si interessa di immettere contenuti, o estrarre contenuti. Tali software lavorano -in locale- e usano un protocollo di comunicazione per chiedere al server di dargli attenzione .. cito il mio software: FileZilla.app, quando sono su un computer Apple.

Però questo non è l’unico modo. In linea teorica anche un umano può chiedere attenzione ad un server presentandosi come se fosse una macchina!

Ma per acquisire i rudimenti di base in questo scenario necessita fare delle prove pratiche magari su una VPN:

https://it.wikipedia.org/wiki/Virtual_Private_Network

Quindi concludo questa terza lezione indicando una guida di come realizzare VPN:
https://www.aranzulla.it/come-creare-una-vpn-1047463.html

che prevede le seguenti nozioni di BASE:
https://www.aranzulla.it/migliori-vpn-1024616.html

ultimo aggiornamento:
14 nov 2018, ore 16.28

Lezione N.4:

“Ma TOR rende veramente anonimi”?

Una delle modalità di navigazione che stiamo usando nel nostro attuale studio sulla sicurezza .. è quella di studiare ciò che già esiste .. nel senso di software e strategie di protezione dei nostri dati personali. Ma io consiglio di essere scettici ai facili entusiasmi. E quindi domandarci se sia vero che lo strumento TOR, o simili, garantiscono veramente l’anonimato di navigazione ..

Secondo l’articolo seguente non è vero che TOR rende anonimi:

https://www.lemigliorivpn.com/guide-vpn-faq/consigli-pratici/navigazione-anonima/

Se ci si collega al progetto TOR, oltre che la opinione di Tizio e di Caio, si può capire il perché ..

https://www.torproject.org/index.html.en

Sostanzialmente quello che fa TOR (tramite il browser TOR, che noi abbiamo come navigatore dei nodi, in modalità TOR) è non collegare in modo diretto sorgente e destinatario, di modo che chi vuole raggiungere un indirizzo sul web, non possa essere discriminato dal sito che riceve la richiesta in base per esempio a considerazioni geografiche sulla sorgente (dove la “sorgente” è -per esempio- il nostro computer).

Tuttavia il ISP (internet service provider) e cioé il servizio che ci da l’accesso alla rete, sa almeno l’inizio della nostra navigazione e sebbene i nostri “pacchetti” circolino sulla rete TOR, è in grado di sapere il nostro punto di destinazione, ed in caso di illeciti, sotto richiesta della autorità giudiziaria, è possibile “ricostruire” (per ISP) chi ha realizzato, per esempio, transazioni illecite.

Questa ricostruzione, tramite ISP, è superabile solo mascherando il punto di accesso.

Cosa possibile solo in casi molto limitati: come l’uso di postazioni in una sala computer all’università in cui non si tenga nota di chi ha usato una postazione. Oppure in un internet caffé, in cui non si debbano dare i documenti per potere utilizzare un computer, etc.

Anche il sito che accetta la connessione remota potrebbe azionare dei filtri!

E cioé un sito remoto che vede la richiesta di accesso tramite la rete TOR, potrebbe rifiutarla. A ciò TOR ha la contromossa di implementare dei bridge, e cioé dei “ponti”, ovvero delle opzioni che potrebbero mascherare che la richiesta viene da rete TOR, ma rimane il fatto che sebbene accettati dalla connessione remota, la navigazione sarà ricostruibile dal ISP, a meno di non entrare anonimi in rete: e cioé non tramite un normale contratto di fornitura di accesso al web, ed in generale ad internet.

Il link all’inizio di questa quarta lezione, quindi, introduce alla questione della modalità VPN..

Come avevamo già visto con la guida di Aranzulla, nella Lezione 2, il miglioramento -però- è solo nella criptazione!

Certo con comunicazioni criptate c’è un miglioramento. Ma non significa mica che le comunicazioni non possano essere decriptate. Normalmente anzi le modalità di criptazione sono secondo alcuni standard. E sebbene utenti amatoriali non dispongano delle tecniche e dei software di decriptazione, non sarà cosa impossibile da farsi a chi ha risorse notevoli.

Un ultimo cenno alla questione di Tails_linux come sistema operativo.

Io stesso, sto sperimentando con chi mi legge, questi “strumenti” già disponibili.

Tails su pennetta impedisce qualsiasi download (almeno nella versione di default) e quindi si presenta come un “osservatore” del web, che non è in grado di compiere azioni illecite, poiché non è in grado di “scaricare” né foto, né video, né altro in download da remoto.

Ciò garantisce una notevole sicurezza e separazione dalla possibilità che qualcuno possa scrivere sulla nostra macchina, ma limita l’uso di questa struttura nel caso che si desideri scambiare informazioni tra sorgente e destinatario, tanto che -nel deep web- molti siti non accettano di mostrarsi ..

  • o perché si usa TOR,
  • oppure perché c’è la ulteriore separazione di Tails, che si mostra nel fatto che il SO (tale sistema operativo) non consente di inviare cookies, o metodi di identificazione che il sito remoto normalmente userebbe per riconoscere chi effettua le visite.

Che alternative rimangono?

Come ho già scritto nelle lezioni precedenti .. Tails consente a noi che lo abbiamo istallato come sistema di protezione del nostro computer che “solamente osserva”, un fatto importante:

  • possiamo “prendere nota” (su una SD memoria su cui scrivere file realizzati da noi, mentre navighiamo) di cosa succede nelle varie profondità del web.

Quindi potremmo, in linea teorica, tenere “un diario di bordo” della nostra navigazione, annotando:

  1. Capitano

    James T. Kirk
    https://it.wikipedia.org/wiki/James_T._Kirk

  2. data di navigazione
  3. pianeta visitato (ovvero sito web)
  4. il sito web ha consentito l’accesso? yes/no
  5. eventuali info

Quindi si pone il problema di ripresentarsi, ma senza la tuta la palombaro, ma vestiti meno protetti, se ci interessa che anche il sito remoto possa dialogare con noi, cosa non sempre augurabile, e che in ogni caso ci potrebbe dare delle brutte sorprese se abilitassimo transazioni illecite.

Quindi

  • supponiamo di scendere dal sistema operativo esterno su pennetta (Tails) al sistema Ubuntu 16.04 (dal primo piano al piano terra)
  • servirà di realizzare una chiavetta di “ripristino del sistema” x ubuntu (nell’analisi del caso peggiore, potremmo decidere di ritornare ad una configurazione di installazione che abbiamo salvato all’inizio del funzionamento del computer, se nella navigazione -per esempio- un virus fosse entrato nel nostro computer)
  • un sistema antivirus x ubuntu (per verificare se il computer ha virus ed altri software anomali)
  • un software di firewall x ubuntu
  • sistemi di navigazione con criptazione

Tali modifiche non sono realizzabili con facilità su Tails .. nel senso che è molto complesso farlo ..

dal link:
https://tails.boum.org/support/faq/index.it.html#index4h1

++

cit on

++

Software non incluso in Tails

Can my favourite software be included in Tails?

cito:
Se un software non è incluso in Tails, ma è incluso in Debian, è possibile utilizzare la funzionalità software aggiuntivo del volume persistente per installarlo automaticamente all’inizio di ogni sessione di lavoro.

++

cit off

++

Dunque si può esaminare la questione di costruire una computer che sia “impermeabile” agli attacchi a prescindere da Tails.

Questo sarà esaminato nella lezione seguente.


Nota Bene:

Una nota ancora sulle strategie di navigazione (cybernetics):

Supponiamo di realizzare un “nostro antivirus”(bios_corpus) che non sia secondo la logica standard che arriva ” a Babbo morto” e cioé con un elenco da aggiornare con i virus che si aggiungono a quelli noti!

Se decidiamo di criptare tutto il materiale sia software e sia dati, potremmo introdurre un campo DNA, e cioé un codice che dica che quei file non sono stati generati se non dal nostro computer.

Il nostro antivirus non dovrebbe verificare secondo una lista, ma secondo un campo codice DNA. Ciò è il comportamento degli anticorpi in un corpo umano che non esaminano una lista di virus, ma gli basta di constatare se il codice malevolo è estraneo a ciò che si aspettano.

L’unica eccezione (nel caso di infezioni virali da vaccino) è imparare a riconoscere in minore tempo un codice estraneo perché si era già presentato in una malattia lieve (virus iniettato morto tramite la vaccinazione).

E’ un progetto ambizioso realizzare questa nuova modalità antivirale per le macchine come emulazione del corpo animale, che per ora rinvio a me stesso in altra data, oppure a chi voglia e sappia dove mettere le mani ..

ultimo aggiornamento
16 nov 2018, ore 10.15

Lezione N.5:

“cybernetics = da ciber nao”

Come avevamo promesso nella scorsa lezione .. ora inizieremo una navigazione come un pilota (ciber) di una nao (nave) che si attrezza a viaggiare in alto mare ..

Quindi inizieremo con il salvataggio della immagine file.iso di tutto quanto c’è sul computer compreso il sistema operativo.

Ciò può essere fatto nel sistema operativo di ubuntu_Linux 16.04 come segue:

  1. prima icona in alto a sinistra (finder=cerca sul computer)
  2. click su icona=”creatore di dischi di avvio”
  3. se il disco in formato iso non esiste ancora vedi:
    https://wiki.ubuntu-it.org/Installazione/CreazioneLiveUsb/CreatoreDischiDiAvvio
  4. nel mio caso poiché io avevo ubuntu pre-installato dalla DELL è stato il SO a chiedermi dove mettere il file iso e io gli ho detto di metterlo nella cartella download. Nel caso generale si può scaricare dal web (gratis).
  5. disco immagine sorgente?
  6. /home/lino/scaricati/ubuntu16.04.iso
  7. disco destinazione (da usare per l’avvio da pennetta)?
  8. sony storage media (/dev/sda) (ndr: l’ho preventivamente formattato)
  9. premo il pulsante con il mouse “crea disco di avvio”
  10. rapidamente dice di aver chiuso il sistema dopo circa 3 minuti, ma attende altri 3 minuti per darmi la possibilità di uscire dicendo “ora il sistema può essere reinstallato da usb”.
  11. la pennetta non va selezionata ed abilitata ad essere estratta, poiché si può estrarre direttamente, infatti ora è inaccessibile, e solo avviabile inserendola prima della partenza del pc, avendo selezionato il dos con partenza dalla pennetta.
  12. stop

ora cerchiamo un antivirus per ubuntu16.04

al link seguente dice che se non si danno i privilegi di amministratore a un programma terzo di cui non si conoscono gli scopi, non serve:

https://wiki.ubuntu-it.org/Sicurezza/Malware

ora cerchiamo un firewall ..

https://wiki.ubuntu-it.org/Sicurezza/Firewall

dice che non serve ..

come agiscono allora le “vulnerabilità”?

normalmente nella configurazione di attacco ad un pc che sia un server!

come è spiegato al link seguente:

https://forum.ubuntu-it.org/viewtopic.php?t=465385

Ed in particolare cito il link alla fine della discussione e cioé:

http://guide.debianizzati.org/index.php/Hardening_di_un_web_server_Apache

http://guide.debianizzati.org/index.php/Apache2:_proteggere_directory_mediante_autenticazione

http://guide.debianizzati.org/index.php/Ssh_e_autenticazione_tramite_chiavi

una questione -però- poco esaminata finora .. è la seguente .. non è forse vero che ci si può collegare ad un modem-router che ISP ci da per la nostra navigazione in ADSL e che altri possano cercare di attaccare per sfruttare gratis la nostra ADSL?

quindi come avviene tale attacco e come si può proteggere il modem-router?

Sia da un telefonino e anche dal web esiste la possibilità di vedere quali reti wi-fi sono disponibili dove stiamo cercando di collegarci.

da telefonino sansung:

  • appl. > impostazioni > wifi > reti disponibili > nome rete > collegato/non collegato
  • se cambiamo rete ci chiederà password?

dal web con computer:

  • con ubuntu > in alto a sinistra indica nel’icna dei raggi le reti wifi disponibili e ci chiederà la pw

dunque in questo primo problema il modem-router è un pannello che può essere programmato come caratteristiche ma esterno all’utente.

si può ovviare ai problemi di sicurezza con log e pw difficili da espugnare, ed inoltre scollegando il wifi se non si usa, oppure abilitando solo i dispositivi autorizzati.

se si usa però un collegamento p2p il programma che gestisce l’input/output è un programma simile ad un server!

E’ stato trattato in un link già sopra citato che ripeto:

https://wiki.ubuntu-it.org/Sicurezza/Firewall

++

cit on

++

Gli applicativi installati in modo predefinito nella versione Desktop di Ubuntu sono pensati essenzialmente per consentire di uscire su internet alla ricerca di informazioni, file o quant’altro, piuttosto che per accettare connessioni in entrata dall’esterno.

I programmi che accettano connessioni dall’esterno sono detti server. Questa categoria comprende per fare alcuni esempi i server web che ospitano le pagine HTML, oppure i server ssh o telnet, i quali consentono l’apertura di una shell su di un pc remoto.
Nella versione Desktop di Ubuntu sono presenti alcuni server, ma volti principalmente all’utilizzo delle periferiche hardware come X (grafica video), cups(stampa), sane (scanner), ecc.., di default chiusi verso connessioni esterne.

Chiunque desideri offrire un servizio di rete ad utenti remoti deve necessariamente installare un apposito programma server sul proprio pc; questo programma si mette in ascolto su una porta, e tutte le connessioni INPUT entranti si connettono a questa porta per entrare in comunicazione con il server.

Non è possibile connettersi da remoto ad un pc se non c’è almeno un server in ascolto su una qualsiasi porta. Per fare un esempio banale è come bussare ad una casa disabitata: nessuno verrà ad aprire.

I server menzionati in precedenza (tipo websshtelnet..) di default non vengono installati, pertanto è perfettamente inutile installare un firewall per regolamentare l’accesso a porte sulle quali nessun programma è in ascolto (come avere un poliziotto in un quartiere deserto).
Anche nel caso in cui si installi esplicitamente un programma server, come ad esempio tutti i programmi p2p è ancora inutile utilizzare un firewall allo scopo di chiudere le porte. Difatti questo avrebbe il solo scopo di impedire ai server installati di accedere alla rete e compiere il loro dovere!

Più avanti all’interno di questa guida verranno valutati i casi in cui il firewall può rendersi necessario anche su di un sistema desktop.

Firewall sempre inutile in ambito Desktop?

Innanzitutto occorre ricordare che il firewall, ancor prima che un vero e proprio dispositivo di sicurezza (tipo gli antivirusantispyware…), è uno strumento per regolare il traffico di rete.
Il suo utilizzo può entrare in gioco quando dalla propria macchina c’è la necessita di mettere “qualcosa” a disposizione di altri pc e a seconda dei casi quando occorrono delle regole ben precise sul “come” regolare il relativo traffico di rete.

  • Può essere necessario quando occorre condividere una connessione ad internet. In questo caso saranno proprio le regole per le connessioni di FORWARD che permetteranno ad un altro pc di sfruttare la connessione ad internet.
  • A volte si tratta di mettere a disposizione dati o servizi dal proprio pc, ma solo verso uno o un solo gruppo di pc presente in una rete. Le regole del firewall possono venire incontro a queste esigenze, tuttavia vale la pena ricordare che a seconda dei casi alcuni software offrono dei tool che possono o rendere non necessario l’uso del firewall o comunque essere preferiti a quest’ultimo. In questo caso Samba, software per la condivisione di file noto anche all’utenza desktop ne è un buon esempio.

  • In alcune configurazioni il firewall potrebbe ancora essere utile come strumento per ottimizzare la banda in entrata/uscita ed effettuare quello che viene comunemente detto traffic shaping, tuttavia questo genere di configurazioni sono solitamente molto complesse, e fuori dalla portata dell’utente comune.

In definitiva i casi in cui anche in ambiente desktop si arrivi ad utilizzare il firewall possono sussistere. È comunque evidente come la casistica sia piuttosto ristretta.

++

cit off

++

Quindi anche qui è inutile il firewall.

Quando è utile?

come abbiamo già detto nell’uso tipo server, di cui abbiamo già dato i link.

Esiste un programma che ci dica quali software sono operativi sul nostro computer?

Un monitor di sistema?

nel forum che abbiamo già sopra linkato si dice di sì, ad esempio:

http://www.di.unito.it/~vercelli/works/command-summary.html

$ ps ax (tutti i processi attivi)

$pstree (vista ad albero)

installare il pacchetto di firewall gufw?

https://wiki.ubuntu-it.org/AmministrazioneSistema/InstallareProgrammi

https://wiki.ubuntu-it.org/Sicurezza/Gufw

https://wiki.ubuntu-it.org/Sicurezza/Ufw

Commento alla ipotesi di installare comunque un firewall:

L’argomento è per ora inutile, se non abbiamo montato(installato) un programma server.

ultimo aggiornamento:

16 nov 2018, ore 17.04

Lezione N.6:

Apache HTTP Server

Nota Bene:
La sperimentazione di questa “Lez. 6” era basata su informazioni incomplete, che poi sono state corrette nel seguente articolo:
https://6viola.wordpress.com/2018/12/22/fix-how-to-install-a-hidden-service-on-apache-over-ubuntu-16-4-22-12-2018/

Anziché togliere la “sperimentazione che segue” 

  • Abbiamo lasciato la sperimentazione: correggendo le info da correggere (in verde)
  • lasciato il link sopra che è più “ermertico” (cioé con meno spiegazioni) sulla sintesi che converge.

In questa lezione, che svolgerò (come le altre) come una sorta di “diario” di sperimentazione .. entreremo -allora- nel dettaglio di cosa sarebbe un “server” ed in particolare in quello più noto, detto “apache”:

https://it.wikipedia.org/wiki/Apache_HTTP_Server

++

cit on:

++

Apache HTTP Server, o più comunemente Apache (IPA pronuncia: /aˈpætʃiː/), è il nome di un server web libero sviluppato dalla Apache Software Foundation.

È la piattaforma server Web modulare più diffusa[1], in grado di operare su una grande varietà di sistemi operativi, tra cui UNIX/LinuxMicrosoft Windows e OpenVMS.

Apache è un software che realizza le funzioni di trasporto delle informazioni, di internetwork e di collegamento, ed ha il vantaggio di offrire funzioni di controllo per la sicurezza come quelle effettuate da un proxy.

https://it.wikipedia.org/wiki/Proxy

In informatica e telecomunicazioni, un server proxy è un server (inteso come sistema informatico o applicazione) che funge da intermediario per le richieste da parte dei client alla ricerca di risorse su altri server, disaccoppiando l’accesso al web dal browser. Un client si connette al server proxy, richiedendo qualche servizio (ad esempio un file, una pagina web o qualsiasi altra risorsa disponibile su un altro server), e quest’ultimo valuta ed esegue la richiesta in modo da semplificare e gestire la sua complessità. I proxy sono stati inventati per aggiungere struttura e incapsulamento ai sistemi distribuiti[1].

Ad oggi, i server proxy vengono utilizzati per svariati impieghi come:

  • Fornire l’anonimato durante la navigazione Internet (es. sistema TOR)
  • Memorizzare una copia locale degli oggetti web richiesti in modo da poterli fornire nuovamente senza effettuare altri accessi ai server di destinazione (HTTP caching proxy)
  • Creare una “barriera di difesa” (Firewall) verso il web, agendo da filtro per le connessioni entranti ed uscenti e monitorando, controllando e modificando il traffico interno

https://it.wikipedia.org/wiki/Modello_OSI

++

cit off

++

Quindi a causa della vasta gamma di implementazioni possibili dobbiamo fare una scelta di quale configurazione scegliere come sperimentazione.

Premessa:

https://it.wikipedia.org/wiki/Internet_service_provider

++

cit on

++

ISP per la fornitura di accesso a Internet

Per quanto riguarda l’accesso a Internet gli ISP formano i nodi nella rete informatica che costituisce Internet.

[…]

ISP per la fornitura di altri servizi Internet

Uno dei servizi principali è la registrazione di nomi a dominio DNS. In Italia, gli ISP che forniscono questo tipo di servizio si chiamano anche Registrar. Questa terminologia è stata introdotta dal NIC, il centro che gestisce il ccTLD .it. Recentemente il NIC ha pubblicato l’elenco di alcuni MNT (quelli che hanno acconsentito alla pubblicazione).

Il REG definisce il name server per un nome a dominio. Il DNS a sua volta fornisce i dettagli per gli altri server associati a quel dominio, tipicamente l’indirizzo IP del server web, il nome del server di posta e possibilmente un record SPF. L’ISP che fornisce la registrazione del nome si trova così in una posizione privilegiata per suggerire quali ISP forniscano gli altri servizi. Molto spesso è lo stesso REG che registra un nome a occuparsi di impostare i servizi correlati.

Gli ISP che non prevedono traffico dal cliente verso il server (upstream) e hanno solo clienti e/o nodi anonimi, sono denominati Tier 1 network, per indicare lo stato di vertice nella categoria Internet. Esistono diverse associazioni di ISP. Ne elenchiamo alcune tra i collegamenti esterni.

[…]

++

cit off

++

Ora andiamo alla rivista win 12/01/2018
da pag. 38

cito:
“è possibile usare la rete a cipolla (onion) come “web_server”?”
“certo, nessuno potrà risalire al nostro indirizzo ip reale”

Commento:
il sito web sarò del tipo http://www.nomesito.onion

Ma i motori ufficiali anche se hanno software che scandagliano il web ANCHE per i siti “*.onion” non pubblicano come risultati della ricerca tali siti.

Quindi conosceranno il nome del sito solo coloro che

  1. scandagliano il web con i motori di ricerca, ma NON POSSONO pubblicare i siti *.onion
  2. chi pubblicizza tali siti nel deep web con siti *.onion che compaiono in rassegne come hidden wiki. La hidden wiki è raggiungibile da motori che non effettuano filtri e non tracciano gli utenti come https://www.startpage.com
  3. un gruppo di persone che si scambiano l’indirizzo del sito web personalmente, poiché -in genere- il nome è una stringa di caratteri non facilmente memorizzabile.

Nella nostra sperimentazione, quindi, comparirà “tale nodo” di internet ..

  • solo se saremo collegati al web con il nostro computer!
  • non ci è necessario salvare il “nome del sito web” presso il “register” https://www.nic.it/
  • useremo la rivista win 12/01/2018 per realizzare le varie fasi di pubblicazione.

Le fasi di pubblicazione:

Ingredienti per la ricetta:

  1. unetbootin (software gratis dal web) per installare su pennetta il sistema operativo (SO) che agirà su pennetta “live” (punto 1 della figura precedente)
    (esistono ANCHE altri metodi: vedi la procedura “dd” nel seguito)
  2. kubuntu 17.10 (software gratis dal web) è il SO
    (come si vedrà al link: https://6viola.wordpress.com/2018/12/22/fix-how-to-install-a-hidden-service-on-apache-over-ubuntu-16-4-22-12-2018/
    non è necessario kubuntu per potere configurare apache + Tor)
  3. Apache2 (server web) è già contenuto nel CD della rivista win (metodo di installazione: vedi foto seguente)
  4. tor_browser = “navigatore” (browser) che ci colleghi ai server TOR
    (per l’uso di TOR come generatore di sito web la procedura di installazione è dissimile rispetto a quella di browser)

https://it.wikipedia.org/wiki/Kubuntu

(continua)

Nota Bene:

Sebbene lo abbiamo sottolineato più volte in questa guida alla sicurezza informatica, ribadiamo che siamo per le azioni lecite e nel rispetto delle leggi e delle persone.

Quindi la lettura di queste note deve e può essere utile a chi esegue ricerche su internet essendo protetto da attacchi informatici.

Diffidiamo chiunque a utilizzare le tecniche qui esposte — riprese da fonti ufficiali ed esplicitate nella trattazione — a fini illeciti.

sperimentazione:

1° operazione: il file immagine di unetbootin

Abbiamo già scaricato Unetbootin.iso dal sito per la sperientazione con cui abbiamo realizzato la pennetta basata sul SO Tails_Linux.
Per coloro che cercano tale file immagine si tenga conto che cambia a secondo del sistema operativo che sarà utilizzato ed il link di riferimento è il seguente:

https://unetbootin.github.io/

bisognerà selezionare -in particolare- per 64 bit e per il SO linux:
https://unetbootin.github.io/linux_download.html

2° operazione: il file di kubuntu

https://www.ubuntu-it.org/derivate/kubuntu

https://www.ubuntu-it.org/download/derivate

1.8 GByte in 20 minuti sono le ore 16.28 del 17 nov 2018

ore 16.29 del 17 nov 2018 diagnosi 11 minuti x il download

ore 16.40 del 17 nov 2018 diagnosi 12 minuti x il download

verifica: è nella cartella del computer “download”

Nota Bene: sarà kubuntu che scaricherà TOR!

Quindi

1° op) scaricare unetbootin su pc

2° op) scaricare kubuntu su pc

3° op) installare kubuntu -grazie a unetbootin- sulla pennetta (da pc)
cercare locazione del file eseguibile da linea di comando “whereis unetbootin”
( per esempio usr/bin/file) selezione file > tasto destro > “esegui” dargli il file sorgente(*.iso), e quello destinazione(la usb avendo precedentemente formattata FAT).
(impiega circa 10 minuti). Vedi anche 3° op-C seguente!

3° op-B) reimpostare il dos grub perché sia letta la pennetta!
delle due opzioni: prova da (1)cd/usb & (2)installazione su pc scegliere “prova”
ok, il sistema kubuntu è ora visibile da usb pen drive.

3° op-C) va riservato spazio di circa 13 GB rif. usb da 16 GB (tot, della usb pen) al fine di consentire installazioni che non siano cancellate al riavvio! (poiché kubuntu copre circa 3 GB, e quindi 16-3=13 giga byte liberi: il software però ammette un max=9999 MB = circa 10000MB=10 GB)

3° op-D) ri-formatto la pennetta (usb pen drive) per ripetere la installazione di kubuntu grazie a unetbootin, poiché non avevo lasciato lo spazio riservato!) .. però dopo la formattazione della “pennetta” mentre che consultavo di cercare \usr\bin\unetbootin.bin

lancio installazione? icona file>computer>usr>bin>unetbootin>tasto destro>esegui
(seleziono sorgente file iso; destinazione pennetta; spazio riservato 9999 MB, circa 10GB=max) ore 9.50 del 18.11.2018 (chiede di estrarre la pennetta e re-inserirla .. nota bene estrarla dopo avere abilitato estrazione!)  624 files da copiare .. attendo .. impostazione “persistenza” da 9.58 vs 10.02 (4 minuti) .. stop alle 10.10 (20 minuti totali).
messaggio:
“after reboot, select usb option in the BIOS boot menu”
significa che posso uscire e rilanciare il boot della macchina, quando mi chiede da dove iniziare dirgli di iniziare dalla pennetta kubuntu (etichetta personale kubu2). chiudo tutto > arresta. Riavvio da power > system setup > non salvo kubuntu come stato predefinito! > prova kubuntu > .. chiudi sessione? ok .. non metto pw > spegni.

++

soluzione del blocco del pc dell precision 5530 con SO=ubuntu 16.04

cit on

++

Nota Bene: in tentativo di installa kubuntu=kubu1 la macchina era andata in blocco, esattamente durante la ricerca di usr/bin/file

infatti per lanciare file=unetbootin, con tasto destro ed esegui, ancora prima di fare nulla se non scorrere l’elenco, il computer va in “blocco” dello schermo e dei comandi, compresa la indicazione del tempo, della batteria residua, del tasto power (alimentazione on/off)

Domanda:

cosa era successo?

Risposta:

Andavano inizializzate le impostazioni di quando debba avvenire lo “status di blocco” !

Esattamente vi si può accedere secondo il percorso seguente:

  • dal desktop di ubuntu click (tasto sinistro) su “icona batteria” > “impostazione gestione alimentazione” > “tutte le impostazioni” > “icona tv con lucchetto”=”luminosità e blocco” > tasto on/off (controllo del blocco) > impostare come “off” > stop modifiche.
  • come si è potuto spegnere e accedere di nuovo al computer? risposta: grazie a secondo computer > come si spegne un pc in modo hardware? > premere il tasto power per più di 10 secondi! (io ho contato fino a 20) e poi rilasciare il tasto!  seguito d ciò il computer si spegne e si avvia una parte del dos che fa una analisi di sistema e chiede di collegare la batteria. Lasciare completare l’analisi di sistema che dice che non c’è nulla di error, e poi riavviare il pc.

++

stato di blocco: risolta

off

++

Ora riprendiamo la installazione del server Apache ..

4° op) sarà kubuntu a installare TOR su pennetta nell’area lasciata libera (su usb).

5° op) download, installazione e configurazione di Apache.

6) op) realizzare pagina home del sito

7) op) mettere on line la pagina home.

Purtroppo i CD della rivista non sono al momento disponibili e quindi dovremo utilizzare una altra e diversa guida. Per fortuna l’argomento di come configurare un server (Apache) e una connessione  (configurazione TOR) .. è uno degli argomenti più noti sul web .. quindi appena trovo una guida affidabile .. tornerò a completare questo diario di viaggio .. nel web ..

Dunque siamo in un tipico problema della “ingegneria” ..

  1. dobbiamo definire l’obiettivo (task)
  2. cercare la soluzione già disponibile (se esiste)
  3. se una soluzione già disponibile non la troviamo dobbiamo proporne una nuova.

TASK:

Ci proponiamo di pubblicare una pagina “home” di prova (in html) all’indirizzo

http://www.miosito.onion

  1. grazie a un server Apache (software n1)
  2. visualizzando con un browser TOR (software n2)
  3. configurarli in modo relazionato

Questi due “oggetti” software n1, n2, sono già disponibili sul web in forma gratuita, ma se ne facessimo il download, e li lanciassimo, non farebbero il “Task”, poiché vanno “configurati”.

(1)

come si fa il “download” di TOR?

Nella Lezione 2 abbiamo già visto dove è disponibile TOR come browser(navigatore):
https://www.torproject.org/projects/torbrowser.html.en#downloads

Al link sopra, è anche indicato come scaricarlo da “terminale” quando si usa la modalità Linux:

++

cit on

++

Linux Instructions

Download the architecture-appropriate file above, save it somewhere, then run one of the following two commands to extract the package archive:

tar -xvJf tor-browser-linux32-8.0.3_LANG.tar.xz

or (for the 64-bit version):

tar -xvJf tor-browser-linux64-8.0.3_LANG.tar.xz

#l’asterisco indica commento
#vogliamo esaminare la stringa precedente per capirne il significato
#da sinistra a destra “tar” inserito su “terminale” è una modalità che chiede al computer #di aprire l’archivio del “file.tar.xz”
#la stringa “-xvJf” indica una modalità (tra quelle possibili di fare ciò
#se cerchiamo sul web “sintassi del comando tar” troviamo .. ad esempio
#https://it.wikipedia.org/wiki/Tar_(software)
#tar -xvJf tor-browser-linux32-8.0.3_LANG.tar.xz
#cito wiki: L’opzione -f è utilizzata per indicare il file da utilizzare per le operazioni di #scrittura o rilettura dell’archivio.
#dunque se scrivo “-…f“, significa che il nome “tor-browser-linux32-8.0.3_LANG.tar.xz è il #nome del file che si va a cercare, ma dopo avere scaricato il pacchetto grazie al #download dalla lista in cui al posto di LANG si sarà la lingua prescelta!
#cito wiki: la versione GNU di tar supporta le opzioni a riga di comando
#-z(gzip), -j(bzip2), e -Z(compress), che abilitano la compressione per il file che #viene #creato.

Ricorda che: (da wiki)

  • c: crea archivi
  • x: estrae i file dall’archivio
  • v: scorre la lista dei file, generalmente evitato nella creazione/estrazione in quanto potrebbe produrre un lungo output inutile
  • z: comprime/decomprime in formato gzip
  • j: comprime/decomprime in formato bzip2
  • J: comprime/decomprime in formato xz
  • Z: comprime/decomprime in formato compress

(where LANG is the language listed in the filename).<- dalla pagina di TOR

Once that’s done, switch to the Tor browser directory by running:

cd tor-browser_LANG

#sintassi di cd
#https://it.wikipedia.org/wiki/Cd_(Unix)

(where LANG is the language listed in the filename).

To run Tor Browser, click either on the Tor Browser or the Tor Browser Setup icon or execute the start-tor-browser.desktop file in a terminal:

./start-tor-browser.desktop

#sintassi di ./start
#./ trascura il percorso specifico e si cerca “tor-browser.desktop” (se però esiste) ma #sarebbe meglio verificare prima la esistenza e dalla “cartella” (percorso) dove risiede il #file lanciarlo (in esecuzione) con “start” (tutto ciò equivale a esegui in fle.exe di #hhwindows).
#inoltre come si vede al link https://it.wikipedia.org/wiki/Cd_(Unix)
#./ impone la directory (indirizzo) dove risiede il file, come directory corrente.
#quindi è “tipicamente” un comando che rafforza il “run” (lancio) della esecuzione di un #programma.

This will launch “Tor Launcher” and once that connects to Tor, it will launch Firefox. Do not unpack or run TBB as root.

cit off

++

Quindi abbiamo 3 operazioni:

  1. download di TOR_browser
  2. lanciare l’applicativo
  3. dargli la inizializzazione che usi apache come server

Da cui sarà meglio anteporre il download di Apache!

Poiché se sarà un programma “sleep” dormiente, pur sempre dovrà occupare una locazione, che dovremo indicare a TOR!

Ma se ancora non è stato installato, non saremo in grado di indicare la locazione dove risiede! .. dunque ora andiamo a studiare

  • come si fa il download di apache
  • come si attiva e si usa

Grazie ai link seguenti:

https://it.wikipedia.org/wiki/Apache_Software_Foundation

https://it.wikipedia.org/wiki/Apache_HTTP_Server

https://httpd.apache.org/

https://wiki.apache.org/httpd/FAQ

Nel caso seguente, si utilizza un set di istruzioni che aiutano alla installazione in ambiente ubuntu:

https://www.ecommunication.it/ubuntu/come-installare-apache-php-e-mysql-su-ubuntu-lampp

C’è da dire che usando delle interfacce grafiche come il link precedente non è chiaro a quali comandi da terminale si sta rinviando le operazioni!

Da cui scegliamo la guida seguente, per installare (preventivamente & specificatamente da linea di comando) il server Apache _prima_ di installare TOR che deve già sapere dove è Apache:

https://www.mrwebmaster.it/linux/installare-configurare-apache_12157.html

Dunque una procedura è la seguente:

(*1)

sudo apt-get install apache2 apache2-doc

tale stringa va eseguita da “terminale di kubuntu” e avendo il collegamento web attivo.

apt-get install

prima otterrà “get” l’archivio detto “apache2” e poi con “install” lo installerà ad una locazione standard (dovrebbe essere sotto /usr, e cioé una locazione con minori previlegi, di modo che non sia facilmente modificabile la configurazione nel caso di accesso abusivo al computer). Con apache2-doc scaricherà anche la documentazione per studiarla.

confermata la linea precedente sul link seguente:

http://httpd.apache.org/docs/2.4/install.html

ed in particolare:
https://help.ubuntu.com/lts/serverguide/httpd.html

ok .. ora passiamo dalla teoria alla sperimentazione non sul computer attuale da cui sto scrivendo (computer apple, con sistema operativo El Capitan, OSX) ma pc dell con ubuntu 16.04 che però parte da pennetta con kubuntu 18.10

va verificato se apache esiste già ..

root/usr/share/common-licenses/Apache-2.0

ma è un file testo! che spiega da un punto di vista giuridico (inglese) la tipologia della licenza di uso nel caso si installi apache2

secondo questa altra guida si può cercare specificatamente il pacchetto:
https://turbolab.it/apache-server-web-1212/guida-server-web-come-installare-apache-linux-ubuntu-centos-1379

con la istruzione:

dpkg --list | grep apache2

io provo, invece, con

$ “whereis apache2” (enter)

/etc/apache2

$ cd /etc/apache2

trovo che dentro la cartella (con delfin) c’è un file testo (java.conf).

mi sposto verso il nodo radice con

$ cd ..

mi sposto in profondità con

$ cd /etc/apache2 ls (mi da la lista delle sotto directory)

conf-avalilable

$ cd /etc/apache2/conf-avalilable ls

mi restituisce:

java-script.conf

(il fatto che compaia lo “spiazzamento.conf” dice che ora non è più una cartella ma un file che potrò aprire con l’editor grafico delfin)

Dunque non esiste il pacchetto.

nota bene: essere collegati al web prima di lanciare (con enter)

(*1)

sudo apt-get install apache2 apache2-doc

 

questa prima installazione è ok.

ultimo aggiornamento:

19 nov 2018, ore 13.18

Lezione N.7:

Apache HTTP Server + TOR


Nota Bene:

come anticipato nella Lez.6 avere installato Apache + Tor non  garantisce che la configurazione sia in grado di generare un sito “onion” ma solo di visualizzare i siti web già esistenti! Maggiori info al link: https://6viola.wordpress.com/2018/12/22/fix-how-to-install-a-hidden-service-on-apache-over-ubuntu-16-4-22-12-2018/

sia ubuntu e sia kubuntu, una volta che sono su una pennetta “live” chiedono se il sistema è solo come “prova”, oppure se si vuole installarlo sul computer in modo stabile sul disco di massa, o hard disk.

Nella lezione 2 abbiamo già visto che se si dispone di un file immagine di un sistema operativo, grazie ad unetbootin, si può metterlo su usb (pennetta).

La particolarità di Tails (della lezione 2) è che non chiede se si vuole la versione di prova (su usb) oppure installata. Però perde i dati, una volta che si ferma il computer, eccettuata la “area riservata” che può essere max circa 10 GB (9999 MB).

Dunque nella nostra sperimentazione con kubuntu, in cui supponevamo che grazie alla “area riservata” consentisse di scrivere anche nella parte supervisore (sudo) abbiamo invece constato che l’area riservata è nella parte usr (utente) e NON per la parte sistema operativo.

Ciò comporta che è assurdo ogni volta dovere ricaricare tutte le operazioni (download del server apache, download del browser TOR, configurazione) e dovere ripetere tutto da capo ogni volta che ci colleghiamo perché lo facciamo da usb (pennetta).

Alternative?
(vedi ANCHE:
https://6viola.wordpress.com/2018/12/22/fix-how-to-install-a-hidden-service-on-apache-over-ubuntu-16-4-22-12-2018/)

Sì!

Necessita fare il processo di realizzazione della pennetta:

  1. “Come da installazione di un secondo sistema operativo su pc”! .. che sarà -per noi- kubuntu 18.10
  2. Fare -una tantum (sul pc=personal computer)- tutte e operazioni di download di Apache e Tor, configurare il sistema completo in un partizione dedicata del computer
  3. realizzare una immagine iso della configurazione della partizione del pc
  4. mettere sulla pennetta (lasciando una area usr) il file iso da noi realizzato, in modo analogo a come la rivista win proponeva un CD.

A questo punto noi non stiamo più caricando una pennetta di kubuntu che chiede se vogliamo una versione di prova oppure vogliamo installare sul pc!

Ma stiamo caricando una immagine di sistema operativo (kubuntu) già elaborata con le modifiche suddette ed inoltre non inizializzata con un punto di domanda sul richiede se vogliamo una versione di prova oppure definitiva: ma bensì una “versione definitiva”, che sarà solo parzialmente modificata in alcuni file testo (sul pc) che sono usati per la configurazione -poi- specifica da usb, modificando (parzialmente) solo alcune righe (de-commentando) i file che già funzionavano sulla realizzazione della partizione creata sul computer (e non ancora su usb).

Se le modifiche sul usb andassero perse, potremo automatizzare la procedura su un memoria additiva SD, in cui metteremo una tabella di cosa fare sul singolo lancio della pennetta, poiché -probabilmente- il collegamento alla rete TOR, richiede delle “inizializzazioni” che vanno precisate (vedremo dalla sperimentazione se questa ipotesi è vera: visto che il punto di “ingresso” alla rete TOR potrebbe essere diverso ogni volta che ci si collega).

Ci saremmo potuti risparmiare molta fatica se avessimo potuto disporre di CD da cui scaricare i file già configurati.

Ma cercare di completare la proposta della rivista WIN, della lezione 6, ci ha dato modo di capire meglio la questione, ed anzi ottimizzarla, perché -spero- che l’autore dell’articolo della rivista non avesse inteso di ripetere tutto il procedimento di configurazione di un sistema su usb ogni volta che si accede da “pennetta”!

passo n1 (lezione 7):

installiamo kubuntu sul pc della dell che già contiene ubuntu, per fare ciò ci necessita una partizione dedicata da cui realizzare poi la immagine di tutta la nuova partizione che chiameremo kubu3 (è sul pc, in hard disk, per ora, poi dopo le configurazioni la sposteremo su pennetta).

la prima cosa da preparare è una partizione di 15 GByte sul computer, di modo che possa contenere la partizione di kubuntu 18.10 ora che entra nel pc, ma anche sia uno spazio idoneo (essendo 15 GB < 16 GB della pennetta) quando dovremo spostare la immagine sulla pennetta, dopo che le modifiche siano state completate.

Non penso che la pennetta sia in grado di fare _BENE_anche le partizioni (da cui la sperimentazione continua cercando un software per realizzare partizioni), e comunque sarà meglio prepararne una ad hoc.

passo 2 (lezione 7):

cerco il partizionatore (software gratis) del disco su dell/ubuntu 16.04

$ sudo apt-get install gparted

ripreso dal link seguente:
https://askubuntu.com/questions/1041499/how-to-install-gparted-in-ubuntu-16-04

verifico sui 2 link seguenti:

https://gparted.org/display-doc.php?name=help-manual&lang=it

https://gparted.org/download.php

[sudo] password di lino:

Lettura elenco dei pacchetti… Fatto

Generazione albero delle dipendenze

Lettura informazioni sullo stato… Fatto

I seguenti pacchetti sono stati installati automaticamente e non sono più richiesti:

apt-clone archdetect-deb dmeventd gir1.2-clutter-1.0 gir1.2-clutter-gst-3.0

gir1.2-cogl-1.0 gir1.2-coglpango-1.0 gir1.2-gtkclutter-1.0

gir1.2-networkmanager-1.0 gir1.2-nma-1.0 gir1.2-timezonemap-1.0

gir1.2-xkl-1.0 libdebian-installer4 libdevmapper-event1.02.1 liblvm2app2.2

liblvm2cmd2.02 libreadline5 lvm2 python3-icu python3-pam rdate

Usare “sudo apt autoremove” per rimuoverli.

The following additional packages will be installed:

libgtkmm-2.4-1v5

Pacchetti suggeriti:

xfsprogs reiserfsprogs reiser4progs jfsutils gpart

I seguenti pacchetti NUOVI saranno installati:

gparted libgtkmm-2.4-1v5

0 aggiornati, 2 installati, 0 da rimuovere e 452 non aggiornati.

È necessario scaricare 1.082 kB di archivi.

Dopo quest’operazione, verranno occupati 6.820 kB di spazio su disco.

Continuare? [S/n]

Continuare? [S/n] S

Scaricamento di:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libgtkmm-2.4-1v5 amd64 1:2.24.4-2 [671 kB]

Scaricamento di:2 http://archive.ubuntu.com/ubuntu xenial/main amd64 gparted amd64 0.25.0-1 [411 kB]

Recuperati 1.082 kB in 0s (2.423 kB/s)

Selezionato il pacchetto libgtkmm-2.4-1v5:amd64 non precedentemente selezionato.

(Lettura del database… 217675 file e directory attualmente installati.)

Preparativi per estrarre …/libgtkmm-2.4-1v5_1%3a2.24.4-2_amd64.deb…

Estrazione di libgtkmm-2.4-1v5:amd64 (1:2.24.4-2)…

Selezionato il pacchetto gparted non precedentemente selezionato.

Preparativi per estrarre …/gparted_0.25.0-1_amd64.deb…

Estrazione di gparted (0.25.0-1)…

Elaborazione dei trigger per gnome-menus (3.13.3-6ubuntu3.1)…

Elaborazione dei trigger per desktop-file-utils (0.22-1ubuntu5.1)…

Elaborazione dei trigger per bamfdaemon (0.5.3~bzr0+16.04.20160824-0ubuntu1)…

Rebuilding /usr/share/applications/bamf-2.index…

Elaborazione dei trigger per mime-support (3.59ubuntu1)…

Elaborazione dei trigger per hicolor-icon-theme (0.15-0ubuntu1)…

Elaborazione dei trigger per man-db (2.7.5-1)…

Configurazione di libgtkmm-2.4-1v5:amd64 (1:2.24.4-2)…

Configurazione di gparted (0.25.0-1)…

Elaborazione dei trigger per libc-bin (2.23-0ubuntu10)…

lino@lino-Precision-5530:~$ whereis gparted

gparted:
/usr/sbin/gparted
/usr/share/man/man8/gparted.8.gz

Nota Bene: gparted è solo un file di appoggio, ma l’eseguibile è il seguente:
gpartedbin nella stessa directory di gparted

lo lancio -gpartedbin- da terminale con privilegi di amministratore (sudo, che chiede pw)

lino@lino-Precision-5530:/usr/sbin$ sudo gpartedbin

[sudo] password di lino:
======================
libparted : 3.2
======================

mi mostra la mappa delle aree del disco da 1 tera byte

ora è anche in icona nella barra laterale del menù di ubuntu .. “ubuntu software” .. e dopo click c’è il comando “avvia”

esistono -sul pc- le seguenti partizioni:

part1: x il boot

nome=dev/nvme0n1p1; EFI system partition; file system=FAT32; punto di montaggio=/boot/efi; etichetta=ESP; dimensione=800,00 MiB; usati=32,00 MiB; libero=800-32 MiB; flag=boot_esp

part2: x i SO

nome=dev/nvme0n1p2; basic data partition; file system=FAT32; punto di montaggio= …; etichetta=OS; dimensione=5 GiB; usati=2.96 GiB; libero=5-2.96 MiB; flag=msftres

part3: x Ubuntu

nome=dev/nvme0n1p3; …; file system=ext4; punto di montaggio= “/”; etichetta=UBUNTU; dimensione=916.79 GiB; usati=26.88 GiB; libero=916.79-26.88MiB; flag=…

part: x swap

nome=dev/nvme0n1p3; …; file system=linux_swap; punto di montaggio= “…”; etichetta=…; dimensione=31.38 GiB; usati=0 GiB; libero=31.38MiB; flag=…

Nota Bene: va lasciata perché è una memoria utilizzata dalla RAM nei casi che la RAM non sia sufficiente.

nota bene: c’è -dal menù di gpartedbin- “esci” .. altrimenti segnala errore di uscita.

https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu

dunque vi sono 3 modalità:

  1. non partizionare e lasciare partizionare alla unità usb live
  2. partizionare con gpartedin in particolare creando una nuova partizione new1_ext4 nella old_ext4; sempre da old_ext4 separare una seconda area new_swap.
  3. installare da usb live kububtu su unità SD

Per evitare equivoci, userò una prima sperimentazione come al numero 3 precedente, e verificherò -così- di sapere usare il programma su una memoria esterna di prova (SD) prima di sperimentare la installazione sul pc. Infatti il rischio e di non sapere partizionare in modo ok il pc e perdere il SO ubuntu.

Metto, qui di seguito, la foto del programma di partizione -partedbin- correttamente lanciato dal pc ..

Risulta, inoltre, evidente che la foto è stata scattata dal computer dell/ubuntu, e si capisce dalla barra laterale a sinistra della foto.

passo 3 (lezione 7):

Anziché installare subito da pennetta live kubuntu sul pc (la pennetta “live” la abbiamo già realizzata .. come nelle note precedenti sulla pagina attuale)

installeremo su SD, come prima sperimentazione (propedeutica) per vedere come partiziona la pennetta.

ricetta “ingredienti”:

  1. una pen drive (pennetta) da 8 GB con sopra kubuntu live
  2. una SD da 8 GB
  3. in background la macchina che avvia la procedura è DELL con sistema operativo ubuntu 16.04.

ore 8.09 del 20 nov 2018

formatto la SD perché sia pronta a essere usata dalla pennetta live ..

Per farlo, devo avviare la macchina DELL 5530 precision ..

  • leggo pennetta lancio versione di prova
  • dopo che il sistema operativo lavora su pennetta inserisco la SD
  • dal desktop chiedo (con 2click su icona) “install kubuntu 18.10“
  • scegliere la lingua: italiano
  • scegliere la tastiera: italiana
  • vuoi connettere a rete wifi per installare altri software? no
  • quale tipo di installazione vuoi?
    • installazione normale (browser web, strumenti, software di ufficio, suite PIM KDE e applicazioni internet e multimediali aggiuntive.
    • installazione minima (browser web, strumenti di base e applicazioni)
    • scelgo installazione normale
  • il programma di installazione ha rilevato che i seguenti dischi (ndr: si tratta della scheda SD) presentano della partizioni montate:
    • /dev/mmcblk0
  • Fare in modo che il programma di installazione smonti le partizioni su questi dischi prima di installare? se vengono lasciate montate, non è possibile creare, eliminare e ridimensionare partizioni su questi dischi, ma potrebbe essere possibile eseguire l’installazione nelle partizioni esistenti
    • preselezionato SI .. e invece clickko su NO .. la scelta significa di volere vedere la memoria SD .. per vedere se la installazione può avvenire su una memoria esterna al pc ..
  • dove installare kubuntu?
    • ridimensiona spazio tot compresa ext4 da 984,30 vs 505.04
    • usa l’intero disco
    • usa l’intero disco + LVM
    • usa l’intero disco + LVM cifrato
  • laddove dice: /dev/nvme0n1 – 1 TB ..
    • uso il menù a tendina .. ma non compare nulla! quindi non vede la scheda SD!
    • potrei fare click su manuale e dare meno spazio a kubuntu, ma a partizioni esistenti posso modificarle da ubuntu tramite gpartedbin, quindi lascio la impostazione della foto qui di seguito che era la proposta originaria della pennetta e mi convinco di installare sul pc senza la sperimentazione sulla scheda SD, però per evitare che la SD interferisca .. faccio abortire il processo attuale .. estraggo la SD .. ripeto senza la SD.
    • però se la installazione di kubuntu fosse maggiore di 8GB? dovrei cambiare la pennetta! .. lascio quindi installazione “normale” e poi manualmente la riduco a meno di 8 GB, ad esempio 7 GB.
    • lascio il metodo guidato al primo punto della lista e con il drag and drop sposta a esattamente 7.2 GB per kubuntu sul disco del pc!
  • installa: sono le ore 9.40 del 20 nov 2018
  • mex: le nuove dimensioni delle partizioni devono essere scritte su disco, questa operazione non può essere annullata .. il ridimensionamento potrebbe durare a lungo ..
    • avanti > yes
  • le seguenti partizioni stanno per essere formattate: partizione nmero 5 del dispositivo nvme0n1 con ext4
    • avant > yes
  • seleziona la propria località
  • mex: è stato riscontrato un errore nel copiare i file sul disco fisso:
  • errore numero 28=[errno 28]no space left on device
  • questo può essere causato da un insufficiente spazio su disco per completare la installazione sulla partizione selezionata. Eseguire nuovamente il programma di installazione e selezionare una partizione con sufficiente spazio disponibile.
    • ok
    • esco dalla istallazione
    • mostro la foto della situazione:

ore 10.42 del 20 nov 2018:

il punto della situazione è

  1. si potrebbe procedere per “tentativi” nel dimensionare lo spazio sufficiente alla installazione, ma sarà meglio lasciare almeno 15 GB e impostare “installazione minima”.
  2. in tal modo si può decidere se ridurre lo spazio da gpartedbin (nel caso la dimensione sia quasi 8 GB e usare la pennetta da 8GB) oppure lasciare se inferiore a 16 GB e acquistare una nuova pennetta da 16 GB.
  3. la buona notizia è che la partizione da usb “live” non ha distrutto il sistema ubuntu pre-installato e la partizione è ext4 come mi apsttavo, inoltre serve una sola swap usata dalla memoria RAM per tutti i SO.

Vado a ripetere la procedura di installazione da macchina dell/ubuntu16.04 tramite penetta live di kubuntu.

purtroppo devo recuperare la ex partizione da gpartedbin:

  1. seleziono la partizione 5.7 GB
  2. la elimino
  3. seleziono la partizione exp4 di ubuntu
  4. la estendo con la icona -> a coprire quella eliminata
  5. annetto quella eliminata
  6. controllo di essermi portato alle condizioni originarie
  7.  applica modifiche in sospeso
  8. tutte le operazioni completate con successo
  9. esci (altrimenti da errore)
  10. riavvio il sitema per verificare che non ci sian anomalie.

ore 11.23 del 20 nov 2018

dopo l’arresto ed il riavvio le modifiche non hanno alterato il SO ubuntu: ok

anche la visualizzazione di kubuntu funziona: ok

però nel programmare il dos lo faccio partire (per sbaglio dalla partizione vuota (partizione 2) credendo di attivare kubuntu.

Mi da il seguente messaggio:

++

cit on

++

[0.206619] ACPI Error: Method parse/execution failed BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash) enter ‘help’ for the list of built-in commands. (initramfs) Unable to find a medium containing a live file system

++

cit off

++

Mi consentirebbe di “riparare” il sistema da linea di comando, le istruzioni ammissibili sono esplicate da

$ ‘help’ (senza apici)

uso

$ ‘exit’

per 2 volte

mi da una diagnostica e si blocca.

tengo premuto il tasto “power” (di accenzione) per 25 sec e si spegne.

Un modo per riparare grub è il seguente:

https://www.aranzulla.it/come-ripristinare-grub-926842.html

riprenderò questo studio ..

ore 14.42 del 20 nov 2018:

il pc DELL non è inizializzato (per ora) a leggere unità a disco da usb.

Quindi userò usb live.

Aranzulla non dice dove scaricarla, ma il link seguente lo dice:

https://wiki.ubuntu-it.org/AmministrazioneSistema/BootRepair

Come avevo “previsto” all’inizio di questo diario, ciò può essere fatto da una seconda macchina (quella da cui sto scrivendo).

dall’ultimo link:

++

cit on

++

Tramite live di Boot-repair

  1. Scaricare l’immagine .iso compatibile con la propria architettura dai seguenti link:

  2. Creare una LiveUSB oppure masterizzare l’immagine .iso su CD/DVD.

  3. Avviare la live e quindi seguire le indicazioni del programma.

++

cit off

++

Si tratta di 708 MByte ed è la versione per pc a 64 bit.

tempo stimato di dowload = 5 minuti

Quindi potrò usare una pennetta da 8 GB che già ho.

procedura per reare la pennetta live con il disco di riparazione:

ingredienti:

  • file iso: boot-repair-disk-64bit.iso (cartella download)
  • file per il montaggio su pennetta: unetbootin; poiché devo realizzare la pennetta sul sistema apple, seleziono tale software specifico dal link seguente: (cartella downalod)
    https://unetbootin.github.io/
  • pennetta da 8 GB

procedimento:

  • formattare la pennetta usb (fat)
  • avviare unetbootin
  • dargli come file origine il riparatore di dischi
  • dargli come file destinazione la pennetta
  • stop

nota bene: su computer apple per formattare la usb pen .. va utilizzato “utility disco” > inizializza > guida: https://www.aranzulla.it/come-formattare-una-chiavetta-usb-con-mac-28656.html

tuttavia rimane molta roba nei file nascosti, ma grazie a questa altra guida: http://www.mondoreview.it/tecnologia/eliminazione-file-da-chiavette-usb-su-mac/

si capisce che -selezionata la pennetta- si può chiedere “sposta nel cestino”
(circa 8 minuti per realizzare la pennetta ..)

putroppo non funziona nenache con questa impostazione e anche da nessun sistema live come ubuntu, poiché il grub è stato lasciato attivo sulla partizione 2 (che non ha sistema operativi che selezionino la usb.

Dunque va ripristinato il grub da linea di comando e quindi si può iniziare a studiare dal link seguente:

https://appuntilinux.it/ripristinare-grub-ubuntu-riga-comando-boot-repair/

http://guide.debianizzati.org/index.php/Guida_alla_formattazione_dei_dischi_con_fdisk

https://wiki.archlinux.org/index.php/GRUB_(Italiano)

https://forum.ubuntu-it.org/viewtopic.php?t=413769

http://www.linuxguide.it/linux/amministrazione_sistema/filesystem/220_Partizionamento-con-FDISK.html

https://ubuntuforums.org/showthread.php?t=2340896

da questo ultimo link nonostante abbia provato con boot-repair-disk-64bit.iso

poiché la videata mi da la seguente situazione:

++

cit on

++

[0.206619] ACPI Error: Method parse/execution failed BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash) enter ‘help’ for the list of built-in commands. (initramfs) Unable to find a medium containing a live file system

++

cit off

++

poiché -secondo me- il problema è

  1. che la pennetta non ha realizzato una vera partizione ed installazione completa poiché la partizione andava preparata con un punto di montaggio
  2. la “boot sequenza” aveva funzionato anche dopo la apperente installazione di kububtu, ma solo se non mi spostavo sulla “seconda partizione” che non ha punti di avvio di sistema del file system.

La soluzione è entrare con il dos della macchina che prevede una pennetta con sistema operativo “live”.

Quindi ripeto la procedura usata con disk-repair, ma questa volta installo ubuntu 16.04.

https://www.ubuntu-it.org/download

12 minuti di download 1.9 GByte.

Ripete il mex per cui non vede la usb live.

https://wiki.gentoo.org/wiki/Initramfs/Guide/it

al link seguente vi è il concetto di “riparare grub” e cioé la parte software del multiboot che avevo lasciato non su una partizione funzionante (non funzionante perché kubuntu nel realizzare la partizione non aveva messo il punto di montaggio di kubuntu):

https://natonelbronx.wordpress.com/2008/03/03/ripristinare-grub-da-livecd-con-grub-install-e-altre-amenita/

poiché i comandi della linea di comando di

Initramfs

ha le seguenti istruzioni:

++

cit on

++

Shell (ash)

. : [ alias break cd chdir command continue echo eval exec exit export false getopts hash help history let local printf pwd read readony return set shift test times trap true type ulimit umask unalias unset wait [ [[ acpid ash awk basename blockdev cat chmod chroot chvt clear cmp cp cut deallocvt devmem df dnsdomainname du dumpkmap echo egrep env expr false fbset fdflush fgreb find fstrim grep gunzip gzip hostname hwclock ifconfig ip kill ln loadfont loadkmap ls lzop lzopcat mkdir mkfifo mknod mkswap mktemp modinfo motr mont mv openvt pidof printf ps pwd readlink reset rm rmdir sed seq setkeycodes sh sleep sort stat static-sh stty switch_root sync tail tee test touch tr true tty umount uname uniq unlzop wc wget which yes zcat

(initramfs)

acpi error metod parse/execution failed

++

cit off

++

Allora scrivere:

mkdir disk
(ndr: make directory = realizza l’indirizzo “disk”)

mount /dev/sda1 disk # sda1 deve contenere la partizione root e la partizione boot
ndr: sta insegnando come “montare” una partizione che ha la sintassi seguente
https://www.mrwebmaster.it/linux/comandi-mount-umount_7561.html
mount <nome del dev=device, da montare=/dev/sda1> <percorso destinazione=disk>
il /dev/sda1=nel nostro caso=dev/nvme0n1p1
il disk=nel nostro caso=boot/efi

#mount /dev/sda2 disk/boot # solo se la partizione di boot è separata

mount --bind /dev/ disk/dev/

mount -t proc none disk/proc

chroot disk /bin/bash

grub-install /dev/sda # se il disco su cui installare è sda

# qualunque altro comando sul sistema installato (es. apt-get install ....)

ultimo aggiornamento:

ore 1.20 del 21 nov 2018:

Lezione N.8:

“reliability”? affidabilità

inizio ore 9.15 del 21 nov 2018:

Nella strategie di sintesi di sistemi affidabili e/o tolleranti il guasto, che era il titolo della mia tesi di laurea ad ingegneria elettronica .. si studia -in primis- il concetto di strategia.

Se infatti da un lato è chiaro che sul web vi sono una quantità di info che non possiamo leggere tutte, come del resto nella vita andando ad altri archivi ..

.. necessita -allora- avere una/più strategie.

Anzitutto nella teoria dei “funzionali di ottimo” si deve decidere: “cosa ci proponiamo”?

TASK:

Nel nostro caso riprendere il controllo di un computer DELL con sistema operativo (SO) ubuntu 16.04. (NOTA BENE: il controllo _parziale_ è garantito che si può tenere il tasto di avvio finché la macchina non si spegne).

Cosa ne sappiamo delle “cause” del perché ci compare un fondo nero con la scritta che non sa da dove partire ed in particolare vuole almeno leggere un sistema operativo “live” e quindi da pennetta?

Sappiamo che la pennetta con sistema operativo live con sopra “kubuntu”:

  1. funzionava su pennetta
  2. quando avevamo chiesto di formattare il sistema kubuntu su pennetta lo aveva fatto, ma non aveva etichettato, e né montato il MBR del nuovo sistema operativo, e cioé una particolare locazione di memoria che è riconoscibile dal DOS=GRUB.
  3. Ciò (vedi il punto 2) è confermato dal fatto che eravamo rientrati in ubuntu che è nella partizione 1. Ma avevamo supposto che dovevamo salvare in grub l’avvio dalla partizione 2, che però non era inizializzata correttamente con un MBR.
  4. Una volta che -ora- Grub agisce solo sulla partizione 2 e però non trova il MBR va nel panico e chiede che sia montato un MBR, almeno per riconoscere una unità esterna come sistema operativo live da cui avviare se non una riparazione almeno la lettura di un sistema operativo su pennetta.
  5. In tutto ciò, quindi non è grub che agisce per primo, ma la RAM, che viene caricata dal nucleo (hardware) del sistema operativo. Tale protocollo di riconoscimento è detto “Initramfs” ed ha, come abbiamo visto sopra, una serie di comandi che non sono gli stessi di quelli da un terminale di ubuntu, o dos standard, poiché il suo “fine” non è quello di programmare la macchina da terminale, ma risolvere le questioni di input/output da *chi* sia autorizzato all’accesso, e su quali locazioni, e in che modalità.
  6. Un argomento -quindi- di grande interesse, e che però si presta ad un esoterismo specifico, se non si capisce che -dopo che si ha chiara la situazione- non si possono cercare esempi analoghi, poiché spesso la situazione risolta NON è descritta chiaramente e le stesse istruzioni fornite non sono espresse nel loro significato di cosa facciano.
  7. Da questa breve analisi si capisce, allora, che “serve un manuale di Initramfs” che quindi indichi oltre che le istruzioni di quali comandi sono disponibili, anche la loro sintassi, e quindi scegliere come operare per abilitare una delle due seguenti sistuazioni:
  8. situazione A: si cambia l’ordine di grub che ora legge la partizione 2, mentre vogliamo che legga la partizione 1, che ha ubuntu correttamente attivo. La partizione 2, non correttamente inizializzata, sarà ripristinabile con gpartedbin da ubuntu una volta recuperato l’ingresso alla macchina, il nuovo lancio di grub potrà mostrare grub in forma grafica e verificare che ora si attiva dalla partizione 1.
  9. situazione B: si programma da Initramfs la lettura da usb, di modo che il software sulla pennetta live possa procedere alla “riparazione” nel senso di fare partire dalla partizione 1.
  10. L’ideale sarebbe attivare un terminale per potere accedere a grub e cambiare la sequenza di avvio da Initramfs, e cioé la situazione A.
  11. Abbiamo già trovato questa modalità nella nostra esplorazione del web al link seguente:
    https://natonelbronx.wordpress.com/2008/03/03/ripristinare-grub-da-livecd-con-grub-install-e-altre-amenita/
    ma non ci possiamo permettere di avere capito solo superficialmente le istruzioni indicate sopra .. poiché la situazione è già critica ..
  12. Dunque dobbiamo studiare come opera Initramfs su un manuale generale, e verificare se abbiamo bene compreso il “linguaggio di programmazione” su cui opera Initramfs.

Quindi divideremo il lavoro in 3 parti:

  • (alfa) trovare un manuale completo di Initramfs
  • (beta) trovare esempi di come è applicato sul web
  • (gamma) scrivere le _nostre_ istruzioni di ripristino del sistema a _posteriori_ di avere capito se al link di “nato nel bronx” (qui sopra) c’era qualcosa che potevamo utilizzare nel concetto di “montare una partizione” e “smontare una partizione”.

++

inizio di studio del problema (21-11-2018)

++

In merito a “gamma”: al link seguente si propone la seguente soluzione:

https://wiki.archlinux.org/index.php/GRUB_(Italiano)#MBR

in merito ad “alfa”:

https://wiki.gentoo.org/wiki/Initramfs/Guide
Per risolvere questi problemi è stato creato initramfs.

onfEsempio di esempio in grub.conf per l’avvio con un initramfs
titolo Gentoo Linux 3.2.2-r5
root (hd0,0)
kernel /boot/kernel-3.2.2-gentoo-r5
initrd /boot/initramfs-3.2.2-gentoo-r5

Usando genkernel
L’utilità di generazione del kernel di Gentoo, genkernel, può essere usata per generare un initramfs, anche se genkernel non è stato usato per configurare e compilare il kernel.

Per usare genkernel per generare un initramfs, è raccomandato che tutti i driver necessari e il codice necessari per montare i file system / e / usr siano inclusi nel kernel (non come moduli). Quindi, chiama genkernel come segue:

[…]

vedi il link sopra.

documentazione:

https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt

https://it.wikipedia.org/wiki/Initrd

initramfs (initial ram file system) dal link seguente:

https://wiki.gentoo.org/wiki/Initramfs

https://wiki.gentoo.org/wiki/Custom_Initramfs

dall’ultimo link qui sopra:

Esistono innumerevoli modi per creare un initramfs. Puoi scegliere di non creare un initramfs ma lasciare che gli strumenti, come Genkernel o Dracut, facciano il lavoro per te. Se sei fortunato, uno di loro fa quello che vuoi fuori dagli schemi, e non devi preoccuparti di come funziona initramfs e cosa fa più. Se sei sfortunato, non fanno quello che vuoi e devi estendere le loro funzionalità, o anche costruire un initramfs tutto da solo.

Un initramfs contiene almeno un file chiamato / init. Questo file viene eseguito dal kernel come processo di init principale (PID 1). Deve fare tutto il lavoro. Inoltre, ci può essere un numero qualsiasi di file e directory aggiuntivi richiesti da / init. Di solito sono file che troverete anche su qualsiasi altro filesystem di root, come / dev per i device node, / proc per le informazioni sul kernel, / bin per i binari, e così via. La struttura di un initramfs può essere semplice, o può essere complicata, a seconda di cosa si prevede di fare.

Quando il kernel monta l’initramfs, la partizione di root di destinazione non è ancora montata, quindi non è possibile accedere a nessuno dei tuoi file. Ciò significa che non c’è nient’altro che initramfs. Quindi tutto ciò di cui hai bisogno, tutto quello che vuoi, devi includerlo nel tuo initramfs. Se vuoi una shell, devi includerla nel tuo initramfs. Se vuoi montare qualcosa, hai bisogno di un’utilità di montaggio. Se è necessario caricare un modulo, initramfs deve fornire sia il modulo che un’utilità per caricarlo. Se l’utilità dipende dalle librerie per funzionare, devi includere anche le librerie. Questo sembra complicato, e lo è, perché initramfs deve funzionare indipendentemente.

In questa sezione imparerai il modo facile e diretto per la creazione di initramfs. Creerai un initramfs funzionale, anche se minimalista, che potrai quindi estendere in base alle tue esigenze.

Struttura della directory
Crea una struttura di directory initramfs di base che in seguito diventerà la tua root di initramfs. Per coerenza, lavoreremo in / usr / src / initramfs, ma qualsiasi posizione dovrebbe funzionare. Se scegli un’altra posizione, ti preghiamo di adattare di conseguenza.

Esercizio per sperimentare le partizioni in modo innocuo:

ricetta:

  1. computer con “linea di comando”(terminale)
  2. usb (pennetta)

procedimento:

  • creare un indirizzo (directory)
  • montare la partizione p1
  • montare la partizione p2
  • usare analizzatore di partizioni per visualizzare l’esito
  • smontare la partizione p1
  • smontare la partizione p2

istruzioni esplicite:

mkdir /indirizzo1/ (enter)

mkdir /indirizzo2/ (enter)

mount [-t <nome del filesystem>] <device-da-montare> <percorso-destinazione>

mount ‘-t‘ ‘ext3‘ ‘dev/sda4‘ ‘/indirizzo1/‘
dove -t (tipologia) è usato se è citato di seguito il <nome del filesystem>

umount .. idem

verificare al link seguente:

https://www.mrwebmaster.it/linux/comandi-mount-umount_7561.html

https://it.wikipedia.org/wiki/Mkdir

Quindi quando leggevamo al link seguente:

https://natonelbronx.wordpress.com/2008/03/03/ripristinare-grub-da-livecd-con-grub-install-e-altre-amenita/

mkdir disk
(la parola disk è un nome di fantasia che è una locazione dove sarà memorizzata una informazione).

mount /dev/sda1/ disk
(stiamo dicendo che a partire dal punto di locazione indicato con disk va un contenuto e cioé il vero inizio della partizione: che è associato alla stringa /dev/sda1/)

aprire un terminale di root in ambiente initramfs?

https://forum.ubuntu-it.org/viewtopic.php?t=176108

Grub Rescue prompt: cosa fare quando il sistema non si avvia più.

http://www.hardwareforyou.it/linux/guide-tutorial-e-overclock-di-esempio/linux/grub-rescue-prompt-cosa-fare-quando-il-sistema-non-si-avvia-piu

ultimo aggiornamento:

ore 16.57 del 21 nov 2018

Lezione N.9:

“SOLUZIONE alla situazione initramfs”

Nota Bene: nel caso di non vedere nulla, perché grub prima del riavvio era stato lasciato in una partizione senza file system!

Tutta la documentazione precedente era utile, ma non risolutiva.

La soluzione:

Le macchine dell (in particolare workstation 5530 con ubuntu preinstallato) hanno il tasto F2.

Tenendo premuto il tasto F2 compare la possibilità di cambiare il boot di avvio!

Ripristino (in modalità grafica) il boot di riavvio con ubuntu come prima scelta!

Ora vede sia ubuntu che kubuntu

stop

Spero che questa impostazione sia resa nota per le situazioni che non hanno un sistema di avvio funzionante in cui sono inizializzate da grub2 (su partizione 2), quando però il sistema funzionante esisteva (in partizione 1) quindi in una diversa partizione, a cui non accedevano perché erroneamente inizializzate.

La situazione prima della installazione di kubuntu, come proposto dalla usb live:

La situazione dopo avere ripreso il controllo grazie alla pressione del tasto F2 (da tenere premuto finché non compare la proposta di cambiare l’ordine di ricerca del file system) .. F2 premuto dopo power on:
La foto è da gparted (software per visualizzare e modificare le partizioni avviato da ubuntu 16.04)

Una conferma di quanto detto sopra è alla pagina seguente laddove dice:

https://www.linuxliteos.com/forums/installing-linux-lite/’unable-to-find-a-medium-containing-a-live-file-system’/

<Sort of solved> “Unable to find a medium containing a live file system”

Computer may have a special key assigned to bring up a per session Boot Menu (not the main UEFI Setting/Setup Menu).  If you can use that it should show two choices to boot the USB — one UEFI, one non-UEFI — pick non-UEFI option.

EG.
Dell computers — <F2> = main UEFI Settings; <F12> per session Boot Menu

HP — <Esc> shows options to use either <F9> or <F10> for Settings or Boot menus.

Questa era la situazione dettagliata prima di riprende il controllo:

26 nov 201, ore 11.19

TASK:

riparazione del software di DELL workstation 5530, ubuntu pre-installato:

ANALISI:

cause VERE del malfunzionamento:

  1. grub2 è stato lasciato su partizione 2 che non ha un sistema operativo correttamente installato, poiché installato da usb, senza le etichette di inizio.
    1° op ubuntu 16.04;
    2° op: kubuntu.
  2. Il sistema ubuntu (partizione 1) funzionava anche dopo la installazione errata, finché non ho modificato grub2 da ubuntu, lasciando avvio su kubuntu, ma come seconda opzione di avviarsi da ubuntu.
  3. Ora interviene initramfs, inizio del loader, dicendo che non trova l’avvio (segue lista della diagnostica), ma non riesce a passare alla seconda opzione, che dovrebbe esaminare quando la prima opzione non è attivata come funzionante.

Diagnostica:

1 [0.206618] ACPI Error: Method parse/execution failed \_SB.PCI0.SPI1.FPNT._CRS, AE_AML_INVALID_RESOURCE_TYPE (20170531/psparse-550)

2 [0.206629] ACPI Error: Method execution failed \_SB.PCI0.SPI1.FPNT._CRS, AE_AML_INVALID_RESOURCE_TYPE (20170531/uteval-103)

3 [0.207612] ACPI Error: Method parse/execution failed \_SB.PCI0.SPI2.FPNT._CRS, AE_AML_INVALID_RESOURCE_TYPE (20170531/psparse-550)

4 [0.207621] ACPI Error: Method execution failed \_SB.PCI0.SPI1.FPNT._CRS, AE_AML_INVALID_RESOURCE_TYPE (20170531/uteval-103)

5 [0.275156] ACPI Exception: AE_NOT_FOUND, Evaluating _PRS
(20170531/pcilink-176)

6 [0.275167] ACPI Exception: AE_NOT_FOUND, Evaluating _PRS
(20170531/pcilink-176)

[…] ripete 8 volte la Exception .. in blu

BusyBox v1.22.1 (Ubuntu 1:1.22.0-15ubuntu1) built-in shell (ash)
Enter ‘help’ for a list of built-in commands.

(initramfs) Unable to find a medium containing a live file system

scrivo

help (enter)

. : [ alias break cd chdir command continue echo eval exec exit

export false getopts hash help history let local printf pwd read

readonly return set shift test times trap true type ulimit umask

unalias unset wait [ [[ acpid ash awk basename blockdev cat chmod

chroot chvt clear cmp cp cut deallocvt devmem df densdomainname

du dumpkmap echo egrep env expr false fbset fdflush fgrep find

fstrim grep gunzip gzip hostname hwclock ifconfig ip kill ln

loadfont loadkmap ls lzop lzopcat mkdir mkfifo mknod mkswap mktemp

modinf more mount mv openvt pidof printf ps pwd readlink reset

rm rmdir sed seq setkeycodes sh sleep sort stat static-sh stty

switch_root sunc tail tee test touch tr true tty umount uname

uniq unlzop wc wget which yes zcat

(initramfs) exit

cp: can’t create ‘root/var/lofg’: Is a directoy

cp: can’t create ‘/root/etc/‘: Is a directory

mount: mounting /dev on /root /dev failed: No such file or directory

mount: mounting /run on /root/run failed No such file or directroy

run-init: current directory on the same filesystem as root: error 0
Target filesystem doesn’t have request /sbin/init.

run-init: current directory on the same filesystem as root: error 0

[…] 5 volte

No init found. Try passing init= bootarg.

Metto la seocnda volta exit:

kernel panic […]

non prende più i comandi .. devo tenere premuto il tasto power (22 sec)

se -invece- non metto exit, basterà scrivere

poweroff (sulla linea di comando)
.. dopo avere esplorato il caricatore parziale del loader (che è initramfs) esplorazione che si può eseguire con
cd / (enter)
ls (enter)
#mostra le directory e/o i files su cui si potrebbe agire .. ma siamo su una partizione NON installata correttamente e non funzionante, finché non si riaccede a grub2, grazie a controllo hardware di F2.

ultimo aggiornamento

26 nov 2018, ore 22.08

Lezione N.10:

“Kali-Linux”

La procedura è quella solita utilizzata per Ubuntu & Kubuntu .. (completeremo l’installazione del server apache e del sito grazie a TOR nelle prossime lezioni) .. nella lezione/diario attuale faremo la sperimentazione di un software che è venuto alla mia attenzione proprio seguendo la serie televisiva di Mr. Robot, come citato nel video iniziale di questa pagina di deep web, dal protagonista della serie tv.

Serve naturalmente “fare il download” dalla pagina di riferimento che potrete trovare sul web .. e mi sto riferendo ad un file iso:

kali-linux-2018.4-amd64.iso

consigliano di carcarlo su usb (pennetta) da circa 8 GB .. poichè il file è di 3.14 GB.

consigliano (sulla pagina di spiegazioni) di non usare unetbootin, ma in questa prima sperimentazione ho usato unetbootin.

ok, ora ho una usb live e mi accingo a vedere se funziona:

ore 22.55

  1. metto la pennetta nel pc, prima del power-on, e non inizializzo grub2 vs la usb, per vedere il comportamento: attualmente il grub2 vede i due sistemi operativi e i chiede in circa 10 secondi di scegliere su quale avviare .. se scelgo uno dei due che ci sia la pennetta live non dovrebbe influire ..
  2. infatti ho scelto kubuntu e si è avviato normalmente su questo SO.
  3. ora nel riavvio ho scelto ubuntu 16.04 ed entro per vedere da gparted: non mi dice nulla sulla usb, poiché mostra solo il disco di massa da 1TB.
  4. entro nel programma (di ubuntu) “monitor di sistema”:
  5. vede la pennetta come segue:
  6. /dev/sda1=nome device
  7. directory=/media/lino/NEWKALI
  8. tipo=vfat
  9. 16 GB
  10. 11.7 GB liberi
  11. 4.3 GB occupati dal SO
  12. esco da ubuntu per modificare la boot sequenza per fare leggere la usb di Kali-Linux
  13. seleziono: system seup > boot sequence

situazione prima delle modifiche:

  1. ubuntu
  2. uefi: kx .. toshiba 102/4 Gb partition 2
  3. uefi: Sony Storage Media PMAP, partition 1

cambio in:

  1. uefi: Sony Storage Media PMAP, partition 1
  2. ubuntu
  3. uefi: kx .. toshiba 102/4 Gb partition 2

seleziono “sony storage”(pennetta da 16 GB con kali=SO) e con le frecce lo porto alla postazione più in alto (che si apre prima) > tasto “apply”(applica le modifiche) > mi chiede se voglio salvare come stato di partenza? gli dico no, e confermo le modifiche (tasto yes)..

fa il reboot e compare la videata di cui metto la foto che dice:

  • live system <- opzione prescelta nel seguito (il SO rimane sulla pennetta)
  • live system (fail-safe mode)
  • live system (forensic mode)
  • live system (persistence, check kali.org/prst)
  • live system (encrypted persistence, check kali.org/prst)
  • start installer
  • start installer with speech synthesis
  • Advanced optons …
  • enter: boot, e’: options, c’: cmd-line

ok

ultimo aggiornamento:

27 nov 2018, ore 00.22

Lezione N.11:

“sindrome di sdoppiamento in personalità multiple”

Vogliamo dedicare 2 parole a questo argomento perché in particolare nella 3° stagione della serie TV “Mr. Robot” (che è presentato qui a partire dal video iniziale alla pagina attuale) c’è la tesi che chi facesse deep web ad alto livello .. avrebbe il pericolo di più personalità .. tali che il suo io potrebbe perdere il controllo della propria cibernetica non solo nel mondo virtuale (del web) ma anche nel mondo reale.

Poiché con il laureato in filosofia e anche in psicologia nell’anno 2000 ..

Lino Missio:
http://www.linomissio.com/biografia/

ho collaborato all’avvio della fondazione di psicofilosofia in ITALIA, ed in particolare per la consulenza sui “casi irrisolti” anche quando riguardassero la “schizofrenia” .. posso dire qualcosa su questo tema.

Anzitutto il sito web che ho dedicato a questo argomento:

link tramite 6 viola (blog attuale) x more info:
https://6viola.wordpress.com/psico-ingegneriapsycho-engineering/

In breve sul tema dello sdoppiamento in personalità multiple:

Vi sono due scuole di pensiero principali:

  1. la scuola che dice che non bisogna parlare con il proprio “alter ego”, e cioé con la congettura di fare -mentalmente- 2 personaggi:
    • il personaggio che ci dice (mentalmente) quale è la nostra opinione.
    • il personaggio che ci dice (mentalmente) quale è -secondo -noi- ciò che pensano la maggior parte delle persone.
  2. la scuola che dice -secondo la scuola di Stanislavskij-
    https://it.wikipedia.org/wiki/Metodo_Stanislavskij
    che è -invece- opportuno fare l’esercizio di “flessibilità mentale” di sapersi mettere “nei panni degli altri” come se stessimo recitando una commedia teatrale o un film cinematografico.

Io sono della scuola di Stanislavskij e con me anche lo psichiatra

Christopher Frith

nel testo in cui parla della sua ricerca:

Neuropsicologia cognitiva della schizofrenia

https://www.ibs.it/neuropsicologia-cognitiva-della-schizofrenia-libro-christopher-frith/

Il punto è che la nostra mente ha delle capacità oltre quelle normalmente note. E per tenerle in equilibrio non bisogna temere di esplorarle, ma esplorarle sapendo che non sono gli alieni -o la dissociazione mentale- che si impadronisce di noi.

La terapia che si usa -anche ufficialmente in psicologia- detta “psico-dramma” misura che chi ha la flessibilità mentale di simulare un ruolo .. è in grado di stare anche con gli altri .. immaginando i pensieri non solo propri, ma anche di chi è intorno a lui, come persone reali: capisce la ironia, i sentimenti .. intuisce il perché qualcuno gli dice una certa cosa e si sente meglio chi esercita la flessibilità mentale (detta capacità di meta-rappresentazione nel testo di Frith), poiché la persona umana vive preferibilmente avendo contatti umani e NON in solitudine.

La tesi del film, Mr. Robot, è invece della scuola che non consiglia di giocare con la propria flessibilità mentale, anche solo lavandosi il viso e guardandosi allo specchio la mattina, poiché insegna a temere che un’altra personalità ipotetica potrebbe prendere il sopravvento su quella che è la nostra personalità ordinaria, come rappresentazione del proprio “io”, quello che abbiamo deciso di essere.

Molti sono contrari a ciò: ad esempio la scuola di Eric Berne in “Ciao e poi?”

https://www.amazon.it/Ciao-poi-Eric-Berne/dp/8845246507/ref=sr_1_1?ie=UTF8&qid=1543307817&sr=8-1&keywords=eric+berne+ciao+e+poi

Infatti nell’approccio “motivazionale” l’io non è un ente statico, ma dinamico: quindi si può dire ad un alcolista “tu -se vuoi- può smettere di bere!” e quindi il nostro io si “trasforma” a secondo delle “spinte motivazionali” che da noi o da altri _decidiamo_ di fare nostre.

E’ quindi anche questa una “questione di cibernetica” e cioé dell’arte del navigare sapendo che la barca che noi siamo va dove dice chi è al timone, e cioé noi. Ciascuna persona non fa nulla di negativo in una analisi -puramente teorica- di vari scenari, ma deve sapere che alcuni portano delle conseguenze di danno -se implementati nel reale- alle persone e/o alle cose.

Se vive questa fase “congetturale” serenamente e *non la comprime*, consente che non sia lo stress a prendere il sopravvento, ma esprime la sua linea evolutiva, la rotta della barca: da studiarsi tra varie ipotesi prima di sceglierne una ipotesi in particolare da implementare.

Quindi questa fase congetturale diviene una “medicina” = a implementazione di uno status equilibrato che esamina prima di decidere.

Il fallimento della linea Stanislavskij può avvenire in un solo caso: la completa dissociazione mentale, come nel caso:

Heathcliff Andrew Ledger (nel film il cavaliere oscuro)

https://it.wikipedia.org/wiki/Heath_Ledger

.. quindi .. quando si trasformasse in uno stato di “auto-ipnosi” di non essere più noi stessi, ma una altra persona volendoci scordare la nostra storia e quello che abbiamo deciso come formazione del nostro io.

Infatti nel film .. l’attore vuole impersonare il male in modo tanto profondo da perdere la propria personalità non pensando più che è una recita, ma la vita reale.

Esplorare le congetture di cosa sia il male verso il 100% porta a dinamiche di distruzione versus gli altri e verso se stessi.

Da ciò la spiegazione della eziodinamica (la evoluzione epistemologica tra cause ed effetti) di *chi* esasperasse dinamiche di dissociazione mentale correndo il rischio del suicidio, ed altre sindromi negative: attacchi di panico, agorafobia, etc.

La filmografia è la nuova scrittura della “mitologia” della nostra società.

E se Jung ha studiato il mito nelle fiabe e nelle tradizioni popolari, oltre che nei *sogni* .. oggi ci raccontano la “mitologia” oltre che i nostri sogni, e oltre che le narrazioni fiabesche ..

-> la filmografia.

Nella navigazione del profondo del web (quindi deep web), che è una delle vie di comunicazione tra gli umani, secondo me, andavano spese 2 parole .. su come si naviga anche nella mente, che tenderebbe a mentire (quindi “la mente -> mente”, mentisce) come mezzo di difesa per schermarci dagli scogli di chi attenta alla nostra integrità.

alla prossima

🙂

ultimo aggiornamento:

27 nov 2018, ore 10.13

Lezione N.12:

“Server APACHE configurazione”

Gia nella lezione 6 avevamo iniziato lo studio attuale!

La lezione 12:

il sito web di tipo onion?

dopo avere riletto:

  • lezione 6 sul server apache
  • va anticipato download di apache ed installazione in kubuntu.
  • Poi configurazione di tor su apache
  • infine riduzione di kubuntu a dimensioni minime
  • creazione di file iso di kubuntu per lavorare su pennetta con già presenti apache e tor
  • uso di unetbootin per creare pennetta come la rivista win.
  • Sperimentazione di apertura della pennetta in modalità simile a Tails
  • la differenza è che Tails non ha la possibilità di mostrare un sito onion, mentre KUBU-USB che abbiamo realizzato ha questa capacità sia come sistema operativo su partizione del pc, e sia come SO in usb.
  • Si noti che la configurazione su USB costituisce uno schermo al web ed impedisce la intrusione nel pc poiché la usb si comporta come un “parassita del pc” che scrive solo sulla RAM, nella zona riservata della usb, oppure su un supporto SD (memoria) concomitante all’uso della usb nel pc.

ore 11.37 del 27 nov 2018:

scaricare ed installare il server apache. Grazie a kubuntu, su macchina dell 5530.

scaricare ed installare TOR(browser) che userà apache come server e quindi diverrà, quando on line, un nodo della rete TOR, che mostra un sito personale, oppure fa una navigazione tra i nodi TOR.

letture propedeutiche:

https://www.mrwebmaster.it/linux/web-server-come-funziona_12156.html

cito dal link precedente:
Il protocollo HTTP

Un web server deve poter dialogare con una gran varietà di client (PC, smartphone, smart TV, tablet, ecc.) e per farlo quindi deve utilizzare dei protocolli riconosciuti da tutti. Quello principale per la navigazione web è l’HTTP (Hyper Text Transfer Protocol).

https://www.mrwebmaster.it/linux/installare-configurare-apache_12157.html

quando parla di ubuntu server intende che il SO è di tipo ubuntu (nel nostro caso kubuntu)

Installare Apache

Colleghiamoci al nostro server Ubuntu e diamo un semplice comando per installare Apache2:

sudo apt-get install apache2 apache2-doc

sudo=modalità amministratore

apt-get= chiede un software

install=oltre che fare il download (op precedente) realizza installazione del sorgente

apache2= nome del software

apache2-doc=documentazione

non converge perché necesitava premettere:

sudo apt-get update

sto seguendo ANCHE il link:

https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04

Step 2: Adjust the Firewall

Before we can test Apache, we need to modify our firewall to allow outside access to the default web ports. Assuming that you followed the instructions in the prerequisites, you should have a UFW firewall configured to restrict access to your server.

traduzione:
Passaggio 2: regola il firewall

Prima di testare Apache, è necessario modificare il firewall per consentire l’accesso esterno alle porte Web predefinite. Supponendo di aver seguito le istruzioni nei prerequisiti, si dovrebbe avere un firewall UFW configurato per limitare l’accesso al proprio server.

During installation, Apache registers itself with UFW to provide a few application profiles. We can use these profiles to simplify the process of enabling or disabling access to Apache through our firewall.

We can list the ufw application profiles by typing:
traduzione:
Durante l’installazione, Apache si registra con UFW per fornire alcuni profili di applicazione. Possiamo utilizzare questi profili per semplificare il processo di abilitazione o disabilitazione dell’accesso ad Apache tramite il nostro firewall.

Possiamo elencare i profili delle applicazioni ufw digitando:
lino@lino-Precision-5530:~$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
CUPS


As you can see, there are three profiles available for Apache:

Apache: This profile opens only port 80 (normal, unencrypted web traffic)
Apache Full: This profile opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)
Apache Secure: This profile opens only port 443 (TLS/SSL encrypted traffic)

For our purposes, we will allow incoming traffic for the Apache Full profile by typing:

sudo ufw allow ‘Apache Full’

lino@lino-Precision-5530:~$ sudo ufw app list
Available applications:
Apache
Apache Full
Apache Secure
CUPS
lino@lino-Precision-5530:~$ sudo ufw allow ‘Apache Full’
Rules updated
Rules updated (v6)
lino@lino-Precision-5530:~$

You can verify the change by typing:

sudo ufw status

lino@lino-Precision-5530:~$ sudo ufw status
Status: inactive

per ora il web server apache non è attivo ..
probabilmente necessita di inizializzarlo .. vedremo ..
stop ore 12.43 del 27-11-2018

Step 3: Check your Web Server

At the end of the installation process, Ubuntu 16.04 starts Apache. The web server should already be up and running.

We can check with the systemd init system to make sure the service is running by typing:

sudo systemctl status apache2

infatti si attiva solo dopo la istruzione sudo systemctl status apache2
https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04
lino@lino-Precision-5530:~$ sudo systemctl status apache2
● apache2.service – The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-11-27 14:00:08 CET; 14min ago
Process: 805 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 846 (apache2)
Tasks: 55 (limit: 4915)
Memory: 10.4M
CGroup: /system.slice/apache2.service
├─846 /usr/sbin/apache2 -k start
├─848 /usr/sbin/apache2 -k start
└─849 /usr/sbin/apache2 -k start

nov 27 14:00:08 lino-Precision-5530 systemd[1]: Starting The Apache HTTP Server…
nov 27 14:00:08 lino-Precision-5530 apachectl[805]: AH00558: apache2: Could not reliably
nov 27 14:00:08 lino-Precision-5530 systemd[1]: Started The Apache HTTP Server.
lines 1-15/15 (END)

anziché la indicazione del manuale al link seguente che pure riporto per confronto:

++
cit on
++
Output
● apache2.service – LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Fri 2017-05-19 18:30:10 UTC; 1h 5min ago
Docs: man:systemd-sysv-generator(8)
Process: 4336 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 4359 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
Tasks: 55
Memory: 2.3M
CPU: 4.094s
CGroup: /system.slice/apache2.service
├─4374 /usr/sbin/apache2 -k start
├─4377 /usr/sbin/apache2 -k start
└─4378 /usr/sbin/apache2 -k start

May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Stopped LSB: Apache2 web server.
May 19 18:30:09 ubuntu-512mb-nyc3-01 systemd[1]: Starting LSB: Apache2 web server…
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: * Starting Apache httpd web server apache2
May 19 18:30:09 ubuntu-512mb-nyc3-01 apache2[4359]: AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ‘ServerName’ directive globally to suppress this message
May 19 18:30:10 ubuntu-512mb-nyc3-01 apache2[4359]: *
May 19 18:30:10 ubuntu-512mb-nyc3-01 systemd[1]: Started LSB: Apache2 web server.

++
cit off
++

ultimo aggiornamento:

ore 15.27 del 27 nov 2018

Lezione N.13:

“TOR configurazione”

ripeto un invito a capire di cosa stiamo trattando:

https://it.wikipedia.org/wiki/Tor_%28software%29

https://www.torproject.org/projects/torbrowser.html.en

The Tor software protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents somebody watching your Internet connection from learning what sites you visit, it prevents the sites you visit from learning your physical location, and it lets you access sites which are blocked.

Tor Browser lets you use Tor on Microsoft Windows, Apple MacOS, or GNU/Linux without needing to install any software. It can run off a USB flash drive, comes with a pre-configured web browser to protect your anonymity, and is self-contained (portable).

Il software Tor ti protegge facendo rimbalzare le tue comunicazioni su una rete distribuita di relè gestiti da volontari in tutto il mondo: impedisce a qualcuno che guarda la tua connessione Internet di imparare quali siti visiti, impedisce ai siti che visiti di apprendere la tua posizione fisica, e ti consente di accedere ai siti che sono bloccati.

Tor Browser ti consente di utilizzare Tor su Microsoft Windows, Apple MacOS o GNU / Linux senza dover installare alcun software. Può funzionare con un’unità flash USB, viene fornito con un browser Web preconfigurato per proteggere l’anonimato ed è autonomo (portatile).

you have chosen to open:
tor-browser-linux64-8.0.3_it.tar.xz

which is xz file (71.8 MB)
from: https://dist.torproject.org

what should Firefox do with this file?

[ ] openwith ..
[v] save file

ore 22.45 del 27 nov 2018
tasto ok

64 kB/sec media

ore 22.59 del 27 nov 2018 stop downalod (circa 15 minuti)

dal link:

http://guide.debianizzati.org/index.php/Guida_ai_comandi_da_terminale_-_Operazioni_con_programmi_non_presenti_nei_repository

Scompattare un file .tar.xz

Se abbiamo un archivio in formato compresso .tar.xz, per decomprimerlo dovremo usare lo strumento tar.

Per decomprimere un pacchetto in formato .tar.xz dobbiamo prima dirigerci, sempre da terminale, nella cartella in cui l’archivio è presente, e poi dobbiamo lanciare:

$ tar Jxvf nomearchivio.tar.xz

dove

  • tar è il nome del programma decompressore
  • J indica che il file da decomprimere è in formato compresso .xz
  • x significa “estrazione”
  • v sta per “verbose”, e serve per ottenere informazioni dettagliate durante il processo di estrazione
  • f infine salva i file nella stessa posizione dell’archivio.

Lanciando il comando

$ tar --help

avrete una lista completa delle sintassi che potete usare col programma.

dal link:

https://www.torproject.org/projects/torbrowser.html.en

Linux Instructions

Download the architecture-appropriate file above, save it somewhere, then run one of the following two commands to extract the package archive:

tar -xvJf tor-browser-linux32-8.0.3_LANG.tar.xz

or (for the 64-bit version):

tar -xvJf tor-browser-linux64-8.0.3_LANG.tar.xz

(where LANG is the language listed in the filename).

Once that’s done, switch to the Tor browser directory by running:

cd tor-browser_LANG

(where LANG is the language listed in the filename).

To run Tor Browser, click either on the Tor Browser or the Tor Browser Setup icon or execute the start-tor-browser.desktop file in a terminal:

./start-tor-browser.desktop

This will launch Tor Launcher and once that connects to Tor, it will launch Firefox. Do not unpack or run TBB as root.

si deve cercare la directory di downalod, prima di lanciare il comando tar!

cd /home/lino/scaricati

ls

è mostrato il file tor, ora si può lanciare:

tar -xvJf tor-browser-linux64-8.0.3_it.tar.xz

/home/lino/Scaricati/tor-browser_it

 

il browser è ok

ultimo aggiornamento:

00.21 del 28 nov 2018

Lezione N.14:

“visualizzazione del sito web, tipo onion”

nota bene:
La forma sintetica al link seguente:
https://6viola.wordpress.com/2018/12/22/fix-how-to-install-a-hidden-service-on-apache-over-ubuntu-16-4-22-12-2018/

Ora che abbiamo tutti i programmi installati e funzionanti sul pc dell 5530:

  1. kubuntu=SO di tipo Linux
  2. apache=web server=software che permette la visualizzazione sia localmente al pc, e anche sul web di un sito scritto in html (ma non solo!) .. (per vedere -tramite apache- il software “apache” va “attivato” ovvero “aperto” o anche detto attivato e poi chiuso se si spegne il “servizio” di apache di fare processare da apache ciò che vogliamo visualizzare come software che apache mostra.
    • si noti che tramite apache se installassimo anche php, potremmo .. aperto che sia apache .. lanciare anche programmi scritti nel linguaggio php, nella forma file.php mettendo nel browser .. indirizzo locale = localhost/file.php (enter)
    • si noti che per un sito dinamico serve un software tipo php (o simili) e un “data_base” (base di dati), come mysql (o simili): esistono software gratuiti come joomla! che hanno siti pronti, ma da configurare, che agiscono in modo dinamico: https://www.joomla.it/download.html io ne ho messo on line alcuni, ad esempio questo: http://www.partitoviola.it/index.php si riconosce che è dinamico dalla fine del nome dove compare “php”. Però lo realizzi o scarichi in locale come software. Poi nel caso dell’esempio “partitoviola” compri lo spazio web su “intervallo di tempo” almeno di 1 anno grazie a un servizio (a pagamento) che ospita, on line, il sito “joomla!” (personalizato da chi ne è amministratore) .. Però ci sono le pratiche presso il NIC di Pisa di registrare il nome del sito (detto “nome del dominio”). Poi c’è la procedura di installare joomla! e il data base già preformattato, e infine creare le pagine dei singoli articoli -anche on line- dal proprio pc che accede a remoto (provider).
    • si noti che nel nostro caso (di sito di tipo “onion”) .. noi .. siamo il provider! .. e cioé che il sito web sarà visibile se noi lo mettiamo on line .. finché il nostro computer è acceso!
  3. navigatore (browser) TOR=TOR_browser=navigatore già configurato per visitare tramite la rete di computer TOR non solo i siti “onion” ma ogni pagina. Però il protocollo di navigazione di TOR_browser è più lento di un navigatore ordinario! .. ciò perché la nostra domanda di andare in un indirizzo viene criptata e scomposta in pacchetti criptati, che si appoggiano a computer in giro per il mondo che
    • ricevono i pacchetti -> li criptano -> li fanno transitare su altri computer -> fino ad accedere alla destinazione richiesta in visualizzazione, ma nascondendo da chi era stata fatta la richiesta.
    • chi tenesse sotto controllo “tutta la rete TOR” però, potrebbe vedere e ricostruire (decriptando) tutte le richieste di accesso e tutti i link finali che devono essere in chiaro per essere trasmessi ai siti web anche ordinari. Sarebbe -il monitoraggio di tutta la rete TOR- un lavoro improbo, poiché non solo si dovrebbe sapere il computer sorgente cosa aveva chiesto a rete_TOR, (in modo criptato) ma anche seguire la decriptazione fino al computer di uscita dalla rete TOR. Quindi “la sicurezza” non sarebbe mai perfetta nel mascherare il percorso, ma sarebbe molto improbabile il dispiego di monitoraggio su un livello di monitor di questo livello di scala. In genere i giornalisti che vogliono fare uscire notizie da paesi sottoposti a censura riescono ad utilizzare TOR collegando il proprio computer nel paese che impedisce la pubblicazione con il computer fuori dei confini di dittatura, grazie a TOR. Il meccanismo è proprio generare una pagina html, e criptarla. Poi dare il link della pagina a un osservatore remoto e farla transitare sulla rete TOR affinché non possa essere fermata. Infine trasmettere la chiave di decriptazione .. per la decriptazione dei file .. con metodi di fantasia, per evitare che la decriptazione sia facile.

Dico 2 parole sul concetto di criptazione e decriptazione:

Nella informatica si è studiato questo tema in particolare con l’avvento dei computer, ma la tecnica è molto antica ed è alla base del concetto della necessità che il linguaggio sia contemporaneamente:

  • un veicolo di trasmissione
  • un veicolo di non trasmissione versus chi ha un comportamento ostile.

Se io voglio trasmettere ad un amico:

“ci vediamo domani al solito posto”.

uno dei metodi di criptazione più semplici è anteporre una vocale:

la dicitura diviene:

“aci avediamo adomani aal asolito aposto”.

Chi ascolta, anche dal vivo, se inserisce “il filtro logico” di non considerare la prima vocale, che è solo di disturbo ai potenziali nemici, capirà molto facilmente la frase.

Quindi una criptazione/decriptazione è stata _storicamente_ anche la necessità che ogni villaggio tanto più fosse lontano da un altro villaggio .. allora .. modificasse la lingua primitiva anche “come mezzo di protezione della propria comunità!”.

Oggi con “google traduttore”, o simili, non c’è una reale difficoltà di capirsi, ma l’eccesso di quantità di informazione è un “collo di bottiglia” a cercare le notizie.

https://translate.google.it/

Infatti una delle tecniche usata “dalla elite” .. è saturare  mass media di notizie manipolate per dare la impressione che un servizio di informazione in tv, su carta, sub web ci abbia “detto tutto”, con frasi del tipo “grazie della attenzione .. _questo_è_tutto_!

Anche la BBC che fa un servizio di news a livello mondiale ..

https://www.bbc.com/news/world

anche solo anteponendo una informazione in evidenza -in un settore geografico- anziché una diversa .. anche involontariamente satura la capacità di attenzione e elaborazione di quale notizia sia nella dignità di essere esaminata e presa in considerazione con la max rilevanza ..

Faccio un esempio recente:

I mass media sono mesi, dalla elezione del presidente degli Stati Uniti, che ci dicono che ci sono indagini del come e perché Trump, questa è l’accusa, abbia alterato le elezioni per vincerle, e la alterazione sarebbe stata illecita per esempio grazie alla conoscenza delle email di Hillary Clinton.

Qualcuno ci avrebbe mai detto cosa ci sarebbe stato scritto sulle email?

Quindi si perde la rilevanza del fatto specifico, e cioé “sapere cosa c’era scritto nelle email“, e si imposta una campagna che Trump chiama “caccia alle streghe” e cioé di andarsi a cercare se sia stato veramente Trump a chiedere di violare la posta di Hillary Clinton.

Chi naviga molto sul web, come me, ha molte versioni di cosa ci sarebbe stato scritto, ma “non sa se le fonti sono attendibili”, e deve fare una opera di andarsi a verificare le news per conto proprio ..

E questo fatto si ripete (faccio degli esempi di attualità):

  • nella economia, con la legittimità di una moneta senza un governo legittimamente eletto su base popolare, nel caso dell’euro che regoli -ad esempio- il QE:
    https://it.wikipedia.org/wiki/Alleggerimento_quantitativo
  • nella sanità, con la pretesa che i vaccini debbano essere obbligatori, al fine di tutelare la salute pubblica, mentre che tutelano solo coloro che si vaccinano, se il farmaco assunto era veramente un vaccino, e non aveva a produrre reazioni avverse, per esempio per il livello di mercurio come conservante che ha soglie diverse in USA e in Italia, e questa è la ragione per cui la giornalista Gabanelli fu cacciata dalla RAI (cercare il servizio sui vaccini su youtube basterà mettere “Gabanelli vaccini” nel motore di ricerca di youtube).
  • etc.

Può una persona -in grado di intendere e volere- rinunciare al diritto di sapere i fatti?

Ecco uno dei miei interventi di oggi (28 nov 2018) su facebook:

fonte su facebook:

https://www.facebook.com/groups/881942715204999/permalink/2048380258561233/

fonte del video su repubblica:

https://video.repubblica.it/spettacoli-e-cultura/crozza-a-castelli-dopo-la-lite-con-padoan–ebbene-si-chi-studia-di-piu-ha-ragione/320855/321482

Dicevo ..

“Ora che abbiamo tutti i programmi installati e funzionanti sul pc dell 5530” ..

è il caso di passare alla fase 2 ..

e cioé la configurazione hidden, e cioé al mimetismo ai naviganti ordinari, grazie alla programmazione delle specifiche su Apache (il server) in modo tale che anziché passare per un campo DNS, che nella navigazione in chiaro è assegnato dal Nic di Pisa in base alla scelta di come si debba chiamare il sito web (scelta di chi ne fa richiesta, se quel nome non è riservato) e quindi darebbe: http://www.nome_mio_sito.it .. dobbiamo capire, e implementare, come funziona il protocollo “onion” che vedrà http://www.nome_mio_sito.onion ..

per aiutarci a questo compito mettiamo in google questa ricerca ..

“hidden apache tor onion ubuntu” ..

ci compariranno molti siti web -in chiaro- e tra questi scelgo:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

  1. Update package and install apache and tor
    (non la ripeto questo punto”1″, poiché l’abbiamo già realizzata)
    (lo elenco però qui di seguito)
    sudo apt-get update
    sudo apt-get install -y apache2 tor
  2. Limit apache to only listen to localhost over port 80
    echo “Listen 127.0.0.1:80” > etc/apache/ports.conf

Se consultiamo la sintassi di “echo” sembrerebbe che ci stia dicendo di scrivere “Listen 127.0.0.1:80” nel file “ports.conf” che è alla directory etc/apache ..
vado a verificare se è vero .. esplorando con cd (da terminale), oppure con un programma di apertura delle directory come “Dolphin” che è nei programmi di kubuntu ..
etc/apache2/ports.conf .. esiste!
lo apro .. e trovo ..
# If you just change the port  or add the ports here, you will likely also
# have to change the VirtualHost statement in
# etc/apache2/sites-enable/000-defalt.conf

Listen 80

<IfModule ssl_module>
>> Listen 443
</IfModule ssl_module>

<IfModule mod_gnutls.c>
>> Listen 443
</IfModule>

#vim: syntax=apache ts=4 sts=4 sr noet

Non è proprio chiaro se va del tutto cancellato ciò che c’è scritto e sostituito con
“Listen 127.0.0.1:80″ (e cioé che si stia dando la direttiva ad apache di “ascoltare” solo la porta 80, inoltre 127.0.0.1 va cambiato?

Vado a vedere se c’è qualcun altro che spiega la questione ..
trovo -ad esempio- il seguente link:
https://famicoman.com/2018/01/05/configuring-a-tor-hidden-service/

sembrerebbe confermata la sola indicazione “Listen 127.0.0.1:80”

confermo

l’istruzione azzera tutto il contenuto e mette in ascolto (listen) della sola porta indicata.

nota bene: se avessimo scritto

echo “Listen 127.0.0.1:80” >> etc/apache/ports.conf

la scritta
Listen 127.0.0.1:80

sarebbe stata aggiunta in fondo a ciò che precedeva, ma con una sola “>” azzera tutto e scrive il solo testo indicato.

onde evitare “equivoci” ho salvato il contenuto di ports.conf & lo conservo ad altro link per consultazioni o ripristino!

nel mio caso ai link seguenti:

  • /home/lino/Documenti/prova.conf
    metto un file di prova (attenzione al maiuscolo di Documenti assodabile con cd & ls)
  • /home/lino/ports.conf-buffer
    metto la copia da non distruggere e conservare del file orginale che era al link seguente
  • /etc/apache2/ports.conf
    nota bene: anziché apache, il nome sul mio pc è apache2

implemento, ma mi risponde:

echo "Listen 127.0.0.1:80" >  /etc/apache2/ports.conf

bash: /etc/apache2/ports.conf: Permission denied

la cosa succede per proteggere la configurazione del file ports.conf

se non si vuole scrivere in altro modo, ma continuare da terminale, necessita aggiornare gli utenti abilitati al livello della istruzione attuale .. da quello che si legge in letteratura .. avremo la situazione seguente:

http://guide.debianizzati.org/index.php/Guida_a_Sudo

una spiegazione più specifica è al link seguente:

https://wiki.ubuntu-it.org/AmministrazioneSistema/Terminale

si capisce, allora, che se abbiamo ..

˜$ .. siamo semplici utenti

˜# .. siamo amministratori

per inserirsi come amministratori da terminale, (poiché con delphin si poteva entrare ugualmente in etc, ma si sta ipotizzando una intrusione da terminale che quindi va maggiormente protetto), si deve digitare

˜$ sudo -s

Passo all’esame del punto 3 al link seguente:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

3. Set permissions for debian-tor
vim /etc/apache2/envvars

Comment out:

#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data

And add:

export APACHE_RUN_USER=debian-tor
export APACHE_RUN_GROUP=debian-tor

Save (Esc :w) and quit(:q).

service apache2 stop 
sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www 
anche qui confermo, ma necessitano more info:

https://www.torproject.org/docs/tor-onion-service

dunque .. vim è un editor che va installato da “terminale”

sudo apt install vim

dopo di che scrivo (da terminale)

vim /etc/apache2/envvars

https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto/Vim

prima di dare i programmi :w, oppure : q va premuto il tasto ESC (1 volta)

si noti che se da terminale (konsole)

  • si è aperto un file con wim -> uscita, grazie “esc”(tasto) -> :q
  • se NON è aperto file -> uscita, grazie digitare ‘exit’ (poi tasto “enter”).

comunque si possono usare anche altri editor grafici ..

inoltre sarà utile fermare TOR_browser (tramite apache2) prima di fare le modifiche per cui comunichi la modalità nuova di navigazione .. ciò può essere fatto .. così ..

lo start da terminale (ma si può fare il copia ed incolla sul desktop della icona mondo):

$ sudo systmctl start apache2

lo stop da terminale:

$ sudo systemctl stop apache2

il fermo e riavvio:

$ sudo systemctl restart apache2

se si eseguono delle modifiche ciò può essere fatto anche quando il server apache2 sta funzionando, poiché le modifiche diverranno “attive” solo dopo la esecuzione del comando “reload”

$ sudo systmctl reload apache2

tutti questi comandi fonte:

https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-16-04

Noi, però continuiamo a seguire il link seguente ..
http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

.. poiché

abbiamo ancora il procedimento da validare, e siamo al punto 3

service apache2 stop 
sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www 
come si vede lo stop è dato in modo un po’ diverso .. ma è uno die modi possibili ..

inoltre la istruzione chown significa ..

https://it.wikipedia.org/wiki/Chown

che il sistema sarà gestito da debian-tor che è il nome user own che diviene il proprietario della directory /var/www che è la directory in cui è messa la pagina iniziale del sito web che vogliamo esporre ..

inoltre “sudo chown” è una chiamata di sistema, e quindi il sistema deve potere operare con
“service apache2 stop”

esame di ..

4. Secure your private key
vim /etc/apache2/apache2.conf
<FilesMatch "private_key">
        Require all denied
</FilesMatch>

Save and quit.

con vim si entra nel file apache2.conf

si cerca “private_key”

si modifica come “Require all denied”

e cioé la chiave di accesso che sarà assegnata .. non deve essere resa pubblica ..

vim /etc/apache2/conf-enabled/security.conf
ServerSignature Off
ServerTokens Prod

Save and quit.

questa sezione sopra .. apre il file security.conf

realizza le modifiche indicate

5. Create a test page and start apache
echo "Test page" >  /var/www/index.html 
service apache2 start

esame: crea il file index.html sotto la diectory /var/www

6. Configure tor
cat >> /etc/tor/torrc << EOF 
HiddenServiceDir /var/www
HiddenServicePort 80 127.0.0.1:80
EOF 
vim /etc/apparmor.d/system_tor

Add:

owner /var/www/** rwk,

Save and quit.

service apparmor restart 
service tor restart
All done

You can get your domain from /var/www/hostname

cat /var/www/hostname

And publish it.

sperimentazione software di quanto precede ..

poiché finora abbiamo solo eseguito una simulazione _teorica_ ..

(continua)

 

30 nov 2018, ore 9.31:

inizio la sperimentazione su pc DELL 5530 della procedura precedente per verificare se funziona veramente (seguono note della implementazione):

seguirò il seguente link:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

il punto 1 è già stato realizzato (installazione e verifica funzionamento dei vari programmi)

il punto 2:

2. Limit apache to only listen to localhost over port 80

(1)

echo "Listen 127.0.0.1:80" >  /etc/apache2/ports.conf

non funziona perché bisogna anteporre la seguente istruzione:

(2)

sudo -s

significa che mi voglio fare riconoscere come max autorità sul pc poiché la locazione “etc” e figli è autorizzata solo a superamministratore.

C’è un apparente paradosso: con altri programmi posso entrare in etc, ma l’accesso al terminale (riga di comando) potrebbe essere attivata da utenti che entrano nel pc e non hanno la autorzzazione di sper amministratore, da cui è una norma di sicurezza farsi riconsocere come super amminstratore che però la procedura che stiamo seguendo ha omesso.

sperimento su linea di comando:
++

(2)’

lino@lino-Precision-5530:~$ sudo -s
[sudo] password for lino:
root@lino-Precision-5530:~#

++

ok, mi ha chiesto la password, il simbolismo è cambiato:

da

~$ -> ~#

Ora posso implementare la procedura:

(1)’

echo “Listen 127.0.0.1:80” > /etc/apache2/ports.conf

nota bene: scrivo garzie a “copia ed incolla” su terminale senza doverla riscrivere manualmente ..

sperimento:

++

root@lino-Precision-5530:~# echo “Listen 127.0.0.1:80” > /etc/apache2/ports.conf
root@lino-Precision-5530:~#

++

ha recepito il comando senza obiezioni, vado ad aprire il file conf per verificare se ha cancellato il vecchio contenuto (che avevo salvato nel caso di malfunizionamenti) garzie all’editor “Dolphin”

confermato: ha scritto una sola riga = Listen 127.0.0.1:80

passo alla serie seguente:

3. Set permissions for debian-tor

(3)

vim /etc/apache2/envvars

risposta dell’editor vim segue:

Nota bene: la videata è prima delle modifiche:

++

on

++

# envvars – default environment variables for apache2ctl

# this won’t be correct after changing uid
unset HOME

# for supporting multiple apache2 instances
if [ “${APACHE_CONFDIR##/etc/apache2-}” != “${APACHE_CONFDIR}” ] ; then
SUFFIX=”-${APACHE_CONFDIR##/etc/apache2-}”
else
SUFFIX=
fi

# Since there is no sane way to get the parsed apache2 config in scripts, some
# settings are defined via environment variables and then used in apache2ctl,
# /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.
export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data
# temporary state file location. This might be changed to /run in Wheezy+1
export APACHE_PID_FILE=/var/run/apache2$SUFFIX/apache2.pid
export APACHE_RUN_DIR=/var/run/apache2$SUFFIX
export APACHE_LOCK_DIR=/var/lock/apache2$SUFFIX
# Only /var/log/apache2 is handled by /etc/logrotate.d/apache2.
export APACHE_LOG_DIR=/var/log/apache2$SUFFIX

## The locale used by some modules like mod_dav
export LANG=C
## Uncomment the following line to use the system default locale instead:
#. /etc/default/locale

export LANG

## The command to get the status for ‘apache2ctl status’.
## Some packages providing ‘www-browser’ need ‘–dump’ instead of ‘-dump’.
#export APACHE_LYNX=’www-browser -dump’

## If you need a higher file descriptor limit, uncomment and adjust the
## following line (default is 8192):
#APACHE_ULIMIT_MAX_FILES=’ulimit -n 65536′

## If you would like to pass arguments to the web server, add them below
## to the APACHE_ARGUMENTS environment.
#export APACHE_ARGUMENTS=”

## Enable the debug mode for maintainer scripts.
## This will produce a verbose output on package installations of web server modules and web application
## installations which interact with Apache
#export APACHE2_MAINTSCRIPT_DEBUG=1

 

++

off

++

devo fare le seguenti operazioni:

Comment out:

(4) & (5)

#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data

(significa che devo aggiungere un diesis, #, alle righe sopra indicate)

(ma vim non mi abilita in scrittura!)

grazie al seguente link:
https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto/Vim

++

cito on:

++

Utilizzo

Modificare un file di testo

Aprire un file di testo digitando il seguente comando all’interno di un terminale:

vim nomefile
  • Premere il tasto «i» per entrare nella modalità Insert, e modificare il documento.

  • Premere il tasto «Esc» e digitare il comando :wq seguito da invio, per salvare il file ed uscire dal programma

  • Se si desidera aprire un file e spostarsi direttamente alla righa 67 si può usare il comando:

    vim file +67

    Sostituire la dicitura «file» con il nome del file da modificare.

++

cit off

++

sperimento:

il testo non si modifica, ma si può scorrere con le “->”

(6)

premo tasto “i”

mi dice

— INSERISCI —

scorro il testo con le frecce e vado alla altezza di modificare con i #

le due righe: # vengon aggunti):

(7) & (8)

#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data

 

And add:

aggiungo in sperimentazione:

le due righe seguenti subito dopo quelle del #

mi devo muovere cone le frecce “->” ed uso “enter” per andare a riga nuova dopo avere posto alla fine della riga precedente

(9) & (10)

export APACHE_RUN_USER=debian-tor
export APACHE_RUN_GROUP=debian-tor

secondo il link:
https://wiki.ubuntu-it.org/Ufficio/EditorDiTesto/Vim

le due istruzioni seguenti:

Save (Esc :w) and quit(:q).

.. vedono

(11)
premere il tasto “Esc” .. dopo averlo lasciato ..

(12)

digitare “:w” (enter) (che probabilmente indica “write”=scrivi)

(13)

digitare “:q” (enter) (che probabilmente indica “quit”=esci)

NON esegue i comandi! :wq

NON esegue neanche

Esc -> :wq! che forzerebbe di eseguire comunque salva ed esci.

Potrei andare ad aprire il file con dolphin e lo modifico con tale editor.

.. ma voglio verificare se il motivo di negare l’accesso in scrittura dipenda sempre dal solito problema di directory “riservate” al super amministratore e quindi anche qui antepongo

sudo -s

ma prima vado a verificare se nella scorsa sessione vi sono state delle modifiche sul file originario .. no il file originario è confermato.

dunque ripeto “sudo -s” e poi immetto:

(3)’

vim /etc/apache2/envvars

ripeto la procedura (già scritta in precedenza) che ora è autorizzata da
sudo -s
immetto il carattere "i" dopo la visualizzazione del testo
compare la scritta --INSERISCI--
mi sposto con le frecce "->"
metto le modifiche # & add
premo il tasto "Esc" > scompare la scritta "--INSERISCI--"
senza "enter" scrivo ":wq" che significa write ed esci
vado a vedere con dolphin se sono state "recepite" correttamente 
le modifiche .. (/etc/apache2/envvars) .. ok!


manca la parte seguente ..

service apache2 stop 
sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www 

sperimentazione:

lino@lino-Precision-5530:~$ sudo -s
[sudo] password di lino:
root@lino-Precision-5530:~# service apache2 stop
root@lino-Precision-5530:~# sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www
chown: utente non valido: “debian-tor:debian-tor”
root@lino-Precision-5530:~#

http://www.gnu.org/software/coreutils/manual/html_node/chown-invocation.html

ora si capisce che per assegnare un utente (owner) a una risorsa, necessita che il nome utente esista nella lista degli owner.

Da cui si deve capire chi sono gli owner sul computer ..

ciò può essere fatto andando a verificare la cartella:

cat /etc/passwd

come è indicato al link seguente:

https://www.mrwebmaster.it/linux/dove-posso-vedere-elenco-tutti-utenti_8594.html

Ora è noto che non esiste lo user “debian-tor”, né il gruppo “debian-tor” e quindi se vogliamo “creare” un proprietario come nelle istruzioni precedenti, allora, dobbiamo prima creare tale user ..

ma prima sarà il caso di vedere la documentazione ufficiale ..

https://www.torproject.org/docs/tor-onion-service#two

1 dic 2018, ore 8.21

dall’ultimo link qui sopra ..

afferma:

Configuring Onion Services for Tor


Tor allows clients and relays to offer onion services. That is, you can offer a web server, SSH server, etc., without revealing your IP address to its users. In fact, because you don’t use any public address, you can run an onion service from behind your firewall.

If you have Tor installed, you can see onion services in action by visiting this sample site.

This page describes the steps for setting up your own onion service website. For the technical details of how the onion service protocol works, see our onion service protocol page.

il sito di esempio è il seguente:

http://www.duskgytldkxiuqc6.onion/

se lo aprite con un browser (navigatore) ordinario come firefox vi dirà come risposta:

++

cit on

++

Uhm… non riusciamo a trovare questo sito.

Non è possibile contattare il server http://www.duskgytldkxiuqc6.onion.

Se l’indirizzo è corretto, ecco alcune prove da effettuare:

Ritentare più tardi.
Verificare la connessione alla rete.
Se la connessione è protetta da un firewall, verificare che Firefox abbia i permessi per accedere a Internet.

++

cit off

++

il mex è _evidentemente_FALSO_!

infatti se vi collegate con TOR_browser vede la pagina perfettamente e dice:

++

cit on

++

This is the example page for Tor’s rendezvous points system.

Read Thomas Paine’s Common Sense.

Or read The Federalist papers, which were also originally published anonymously.

(If you were sent here by the Tor help desk, your Tor Browser is accessing hidden services normally. If you still cannot reach a particular hidden service, then it is most likely offline.)

++

cit off

++

Se andiamo -sempre da brower-tor alla sorgente della pagina:

<html>
<head><title>Example rendezvous points page</title></head>
<body>

<p>
This is the example page for <a href="https://www.torproject.org/">Tor's</a>
rendezvous points system.

<p>
Read <a href="comsense.html">Thomas Paine's Common Sense</a>.

<p>
Or read <a href="fedpapers/federa00.htm">The Federalist papers</a>, which were
also originally published anonymously.

<p>
(If you were sent here by the Tor help desk, your Tor Browser is
accessing hidden services normally. If you still cannot reach a
particular hidden service, then it is most likely offline.)

</body>
</html>

E’ quindi una pagina scritta in liguaggio html

in modo molto semplice con un titolo e un breve testo e qualche link

che chiunque può personalizzare come propria pagina di “prova” cambiando il testo e verificando se rispetto al proprio indirizzo è visibile grazie a un browser-tor.

l’ideale sarà però utilizzare un editor per html, che faciliti almeno la realizzazione di un link, poiché il link appare con un testo, ma è sottolineato ad indicare che se si fa click si è rinviati ad una diversa pagina web.

Se si volesse fare anche questo personalmente senza un software specifico (ne esistono professionali per la realizzazione di più pagine a partire dalla pagina iniziale e che consentono varie tipologie di complessità, fino a “negozi on line” che creano la pagina “dinamicamente” rispetto alle richieste di un prodotto di vendita o di altri input) .. si potrà consultare il link seguente in cui è spiegato come realizzare un link in html, ad esempio:

http://www.kadath.it/public/Kadath/HTML.pdf

Noi, invece, leggiamo

https://www.torproject.org/docs/tor-onion-service

++

cit on

fonte:
https://www.torproject.org/docs/tor-onion-service#two

++

Fase due: configura il tuo servizio di cipolla

Quindi, è necessario configurare il servizio di cipolla in modo che punti al server Web locale.

Innanzitutto, apri il tuo file torrc(*) nel tuo editor di testo preferito. (Vedi la voce delle domande frequenti su torrc per scoprire cosa significa.) Vai alla sezione centrale e cerca la linea
(*)

++
ndr on
++
poiché ci sono molte ipotesi di dove sarebbe torrc uso la seguente procedura:
lino@lino-Precision-5530:~$ sudo -s
[sudo] password di lino:
root@lino-Precision-5530:~# find / -name torrc
/…/Tor/torrc
vado a vedere cosa contiene:
[…]
++
ndr off

++

############### Questa sezione è solo per servizi nascosti nella posizione ###

Questa sezione del file è composta da gruppi di linee, ciascuna delle quali rappresenta un servizio di cipolla. Al momento sono tutti commentati (le righe iniziano con #), quindi i servizi di cipolla sono disabilitati. Ogni gruppo di righe è costituito da una linea HiddenServiceDir e da una o più linee HiddenServicePort:

HiddenServiceDir è una directory in cui Tor memorizzerà le informazioni su quel servizio di cipolla. In particolare, Tor creerà un file qui denominato hostname che ti dirà l’URL della cipolla. Non è necessario aggiungere alcun file a questa directory. Assicurati che questa non sia la stessa directory della directory hidserv che hai creato quando hai configurato thttpd, dato che il tuo HiddenServiceDir contiene informazioni segrete!
HiddenServicePort consente di specificare una porta virtuale (ovvero, quale porta le persone che accedono al servizio di cipolla penseranno che stanno utilizzando) e un indirizzo IP e una porta per il reindirizzamento delle connessioni a questa porta virtuale.

Aggiungi le seguenti righe al tuo torrc:

HiddenServiceDir / Library / Tor / var / lib / tor / hidden_service /
HiddenServicePort 80 127.0.0.1:8080 (**)

(**)
++
ndr on
++

dunque è confermato lo scrivere le due righe precedenti in blu .. nel file torrc!

che pure trovavamo nel manuale seguente:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

Però il manuale ufficiale ha saltato ..

2) Limit apache to only listen to localhost

3) Set permission for “debian-tor”
(o meglio un nome utente di “fantasia=debian-tor” solo come esempio ..)
in cui la “esportazione” da www-data (cartella del sito locale)
diviene un “user”=debian-tor
tanto è vero che imposta:
sudo chown debian-tor .. come proprietario del link /var secondo 3 percorsi.

4) Secure your private key
(è anche saltato dal manuale ufficiale TOR)
in esso apre il file apache2.conf
ed imposta ..
Require all denied
grazie a “private key” procedura ..

e cioé

<File Match “provate_key”>

Require all denied

</filesMatch>

con

vim /etc/apache2/conf-enable/security.conf
pone:

ServerSignature off
ServerTokens Prod

che è una forma di anonimato, come si legge al link seguente:
http://www.tecmint.com/hide-apache-web-server-information

salta, il manuale ufficiale, anche il punto 5

5) Create a test page and start apache:
Si noti che con ..

echo “Test page” > /var/www/index.html

la stringa tra ” ..” che nel nostro caso è “Test page” .. cancellerà il contenuto di index.html

e scriverà solo la scritta Test Page ..

.. naturalmente sarà molto meglio realizzare una pagina con un editor e salvar ela vecchia pagina index.html, se vi era e sostituirla con una pagina nuova, oppure modificare in modo minimo quella vecchia per vedere se compaiono le modifiche.

Quindi arriviamo al punto 6

6) Configure tor

cat >> /etc/tor/torrc << EOF

che sarebbe vero se torrc fosse al link indicato!

invece, come visto dalle verifiche già eseguite può essere cercato e trovato in un locazione diversa!

La modalità utilizzata per scrivere:

HiddeServiceDir /var/www

HiddenDervicePort 80 127.0.0.1:80

Nota bene:

è però da verificare se la cartella “www” sia nell’albero /var/www
++
ndr off
++

le seguenti sono mie note che però partono dalla seguente traduzione del manuale ufficiale di TOR ..

start traduzione:

Dovrai modificare la linea HiddenServiceDir, in modo che punti a una directory effettiva che sia leggibile / scrivibile dall’utente che eseguirà Tor. La linea sopra dovrebbe funzionare se stai usando il pacchetto OS X Tor. Su Unix, prova “/ home / username / hidden_service /” e inserisci il tuo nome utente al posto di “username”. Su Windows puoi scegliere:

HiddenServiceDir C: \ Users \ username \ Documents \ tor \ hidden_service
HiddenServicePort 80 127.0.0.1:8080

Si noti che dal 0.2.6, sia SocksPort che HiddenServicePort supportano i socket Unix. Ciò significa che è possibile puntare HiddenServicePort su un socket Unix:

HiddenServiceDir / Library / Tor / var / lib / tor / hidden_service /
HiddenServicePort 80 unix: / percorso / a / socket

Ora salva il torrc e riavvia il tuo tor.

Se Tor si riavvia, bene. Altrimenti, qualcosa non va. Per prima cosa guarda i tuoi file di log per suggerimenti. Stampa alcuni avvisi o messaggi di errore. Questo dovrebbe darti un’idea di cosa è andato storto. In genere ci sono errori di ortografia nel torrc o autorizzazioni di directory errate (vedere la voce FAQ di registrazione se non si sa come abilitare o trovare il file di registro.)

Quando Tor si avvia, creerà automaticamente HiddenServiceDir che hai specificato (se necessario) e creerà lì due file.

stop traduzione.

cito dalla versione inglese del manuale TOR:

private_key
First, Tor will generate a new public/private keypair for your onion service. It is written into a file called “private_key”. Don’t share this key with others — if you do they will be able to impersonate your onion service.

ndr:

quindi la nostra sperimentazione ha mostrato che la documentazione ufficiale ha molte lacune procedurali!

ndr:

ed in particolare solo al punto 6 spiega qualcosa su le hidden directory.

ndr:

Dunque per completare questa sperimentazione .. necessita coprire la lacuna ritornando al punto 3, in cui ci veniva diagnosticato (come risposta alla azione su terminale) non esistere né il gruppo e né user “debian-tor”, e andarci ad inventare di crearlo noi, per vedere se -speriamo- avevamo capito bene che “debian-tor” è un ente di fantasia utente a cui dare la proprietà riservata delle risorse “hidden”.

++

cit off

++

1 dic 2018, ore 13.45

creazione dell’utente debian-tor nel gruppo debian-tor:

da terminale (kubuntu):

lino@lino-Precision-5530:~$ sudo -s
[sudo] password di lino: (immetto la pw)
root@lino-Precision-5530:~# groups debian-tor (interrogo se esiste)
groups: “debian-tor”: no such user (mi dice che non esiste)
root@lino-Precision-5530:~# adduser debian-tor (parola codice=adduser; poi nome)
Aggiunta dell’utente «debian-tor» …
Aggiunta del nuovo gruppo «debian-tor» (1001) …
Aggiunta del nuovo utente «debian-tor» (1001) con gruppo «debian-tor» …
Creazione della directory home «/home/debian-tor» …
Copia dei file da «/etc/skel» …
Inserire nuova password UNIX:
Reinserire la nuova password UNIX:
passwd: password updated successfully
Changing the user information for debian-tor
Enter the new value, or press ENTER for the default
Full Name []: (premo “Enter” per confermare quanto già scritto)
Room number []:
Work Phone []:
Home Phone []:
Other []:
Le informazioni sono corrette? [S/n] S
root@lino-Precision-5530:~#

more info su questa classificazione al link seguente:

https://www.quora.com/Why-does-Linux-ask-for-a-room-number-when-creating-a-user

Ora devo provare a ripetere ..

service apache2 stop 
sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www 

nella precedente sperimentazione mi dava errore perché non esisteva debian-tor!

Si noti che ora tor-browsere è attivo ..

quindi serve interromperlo con

“service apache2 stop” prima di dare “sudo”

root@lino-Precision-5530:~# service apache2 stop
root@lino-Precision-5530:~# sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www
root@lino-Precision-5530:~#

eureka!

ora ha funzionato!

ora va studiato quanto segue:

4. Secure your private key
vim /etc/apache2/apache2.conf
<FilesMatch "private_key">
        Require all denied
</FilesMatch>

Save and quit.

da terminale mi da le seguenti risposte:

root@lino-Precision-5530:/# find apache2.conf
find: ‘apache2.conf’: File o directory non esistente
root@lino-Precision-5530:/#

la risposta è errata! .. anche le macchine possono mentire ..

🙂

poiché -con dolphin- “apache2.conf” è esattamente dove dovrebbe essere!

e cioé alla directory:
/etc/apache2/apache2.conf

perché mi da una risposta falsa il terminale?

perché è già iniziata la procedura “hidden” e quindi realizza la mask delle risorse hidden (risorse nascoste), e cioé quelle sotto la locazione “etc”.

inoltre le rende inaccessibili da terminale, onde evitare hackering del sistema.

provo su file di “prova.conf” da terminale la verifica di come opera vim:

vim /directory../prova.conf

mi apre il file /prova.conf

gli do il comando:

“i” per insert

mi apre il testo che è una copia del testo originale, si noti che il testo orginale ha anche la sezione seguente:

<FilesMatch “^\.ht”>
Require all denied
</FilesMatch>

Quindi è una cosiddetta (in linguaggio software) “macro”

e cioé una struttura che assomiglia ad una chiamata a sottoprogramma,

qui utilizzata al posto della tecnica commentare e de-commentare con #

Basterà, allora, sostituire ad “^\.ht” -> “private_key”

ed eliminare tutto il resto di quanto è scritto nel file orginale “apache2.conf”

di cui però ho fatto una copia prima di operare le modifiche attuali!

ora devo farlo sul file vero, e cioé apache2.conf

lo faccio da dolphin, anziché usare il terminale!

mi chiede la pw, e quindi gliela do.

ok

ora devo realizzare sperimentalmente la sezione seguente:

vim /etc/apache2/conf-enabled/security.conf
ServerSignature Off
ServerTokens Prod

Save and quit.

Si tratta di

  • salvare il contenuto del file “security.conf”
  • cancellare tutto l vecchio contenuto di “security.conf” e inserire quanto segue
  • ServerSignature Off
    ServerTokens Prod
  • Save and quit (con insert “i” da terminale, e poi esc, infine “:wq” per uscire
  • in alternativa le modifiche si possono fare con dolphin e poi dare la password, avendo salvato, non dimenticare, il vecchio contenuto, caso mai ci fossero delle cose da aggiungere.

sarebbe da eseguire:

5. Create a test page and start apache
echo "Test page" >  /var/www/index.html 
service apache2 start

ma non serve poiché esiste già una pagina index modificata da me sul vecchio index.html

6. Configure tor
cat >> /etc/tor/torrc << EOF 
HiddenServiceDir /var/www
HiddenServicePort 80 127.0.0.1:80
EOF 

La istruzione precedente parte dalla tesi che torrc sia alla locazione:

/etc/tor/torrc è ciò -invece- è da verificare!

sul mio computer momentaneamente è all’indirizzo diverso, ma si può cercare con find.

Ci si può chiedere, però, ..
“perché la modifica a torrc è proposta tramite cat, anziché tramite vim?”

la risposta è nel provare con un file di prova:

root@lino-Precision-5530:/# cat >> /home/lino/prova-eof << EOF (enter)
> riga 5 (enter) (nota bene il segno “>” compare da solo dopo enter e non va scritto)
> riga 6 (enter)
> EOF (enter)
root@lino-Precision-5530:/# cat /home/lino/prova-eof
riga 5
riga 6
root@lino-Precision-5530:/#

cioé EOF salva anche ciò che abbiamo scritto!

quindi con

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

ed in particolare:

6. Configure tor
cat >> /etc/tor/torrc << EOF 
HiddenServiceDir /var/www
HiddenServicePort 80 127.0.0.1:80
EOF 

la prima è una linea di comando che estende “cat” non solo come lettore di files, ma bensì consente di incorporare in torrc il testo che segue.

Ogni riga è aggiornata nell’andare a capo da “enter” e si segnala la fine del file con EOF dopo di cui il nuovo enter completerà il testo che si è incoporato in torrc!

La sintassi è ai link seguenti per coloro che la vogliamo studiare:

https://stackoverflow.com/questions/2500436/how-does-cat-eof-work-in-bash

http://mywiki.wooledge.org/BashGuide/InputAndOutput?#Here_Strings

Quindi prima di eseguire il punto 5 di “smhow.com” ci si deve chiedere .. quale è il vero indirizzo di torrc?

va fatta una ricerca sul proprio computer e sostituire l’indirizzo .. che compare in ..

cat >> /etc/tor/torrc << EOF

con il vero indirizzo di torrc.

naturalmente salvo il contenuto precedente e prima devo eseguire una nuova prova:

verificare se rispetto ad un testo pre-esistente il contenuto viene salvato dalla procedura cat >>.. oppure no ..

root@lino-Precision-5530:/# cat >> /home/lino/prova-eof << EOF
> nuova inserzione
> ripeto inserzione
> EOF
root@lino-Precision-5530:/# cat /home/lino/prova-eof

riga 5
riga 6
nuova inserzione
ripeto inserzione
root@lino-Precision-5530:/#

quindi la procedura “cat >> .. ” non distrugge il contenuto precedente che era nel file torrc e però vi aggiunge in coda le scritte già sopra esaminate”.

prima di passare alla implementazione delle istruzioni seguenti provvedo -allora- a realizzare quanto segue .. premesso che l’indirizzo non è quello vero! .. poiché quello vero va cercato sulla propria installazione ..  non lo riporto .. per evitare di compromettere la sicurezza ..

6. Configure tor
cat >> /etc/tor/torrc << EOF 
HiddenServiceDir /var/www
HiddenServicePort 80 127.0.0.1:80
EOF 

ok eseguito quanto sopra, avendo modificato la directory

/etc/tor/torrc -> directory cercata sul computer tramite “find -name torrc”.

siamo arrivati all’esame di ..

vim /etc/apparmor.d/system_tor

 

ultimo aggiornamento:

2 dic 2018, ore 00.04

2 dic 2018, ore 9.00

Siamo abbastanza vicini a completare la procedura di emettere on line  un sito web i cui siamo noi stessi i “provider” che espongono il sito web del tipo nome_mio_sito.onion

Se tutto è andato bene, e non abbiamo commesso errori, mancano solo le istruzioni seguenti riprese dal manuale:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

elenco le modiche ancora NON eseguite:

vim /etc/apparmor.d/system_tor

Add:

owner /var/www/** rwk,

Save and quit.

service apparmor restart 
service tor restart
All done

You can get your domain from /var/www/hostname

cat /var/www/hostname

And publish it.

interpretiamole?

Secondo me con

vim /etc/apparmor.d/system_tor

  • poiché system_tor è un “file=system_tor” che attualmente non esiste alla directory indicata, e né altrove sul mio computer ..
  • poiché in “system_tor” dovrà essere scritto (con vim) la scritta
    owner /var/www/** rwk

avendo già creato (system_tor) con

touch directory_nome_new_file = touch /../nome_new_file

il file = system_tor

sarà creato vuoto.

la procedura vim ..

se gli diamo “i” (insert) scrive nel file, che per ora è vuoto, la stringa seguente:

owner /var/www/** rwk” (senza virgolette ” ..”)

che dovrebbe significare che la directory “/var/www/ e rami figli” possono essere aperte solo dal proprietario (owner), designato tale in una altra istruzione (è debian-tor).

Infatti, il proprietario -in uno dei comandi precedenti- lo avevamo indicato come debian-tor.

Inoltre si danno al proprietario le abilitazioni rwk (lettura e scrittura=read write k=key abilitazione a gestire le password).

more info al link seguente:

https://wiki.ubuntu-it.org/AmministrazioneSistema/Sudo

le ultime due istruzioni di restart, sono due istruzioni di riavvio

per studiare AppArmor:

https://help.ubuntu.com/lts/serverguide/apparmor.html.en

grazie al link seguente:

https://famicoman.com/2018/01/05/configuring-a-tor-hidden-service/

si capisce un fatto importante ..

se la nostra inizializzazione funzionerà ..

NON dobbiamo essere noi a scrivere nella locazione hidden=var/www

ma la rete TOR! (a parte il sito web, che lo dobbiamo mettere noi)

in particolare scriverà –TOR– 2 files:

(1)

il file “hostname” che sarà all’indirizzo seguente:

/var/www/hostname

e allo stesso indirizzo ci sarà il file

(2)

“private_key” (sempre scritto da TOR sul nostro computer!)

++

cit on

++

Now that the hidden service is working, Tor has created the hidden service directory we defined in the torrc, /var/lib/tor/hs_name_of_my_service/. There are two files of importance within this directory.

There is a hostname file at /var/lib/tor/hs_name_of_my_service/hostname that contains the hidden service’s public key. This public key acts as a .onion address which users on the Tor network can use to access your service. Make a note of this address after reading it from the file with cat:

$ sudo cat /var/lib/tor/hs_name_of_my_service/hostname
nb2tidpl4j4jnoxr.onion

There is also a private_key file that contains the hidden service’s private key. This private key pairs with the service’s public key. It should not be known or read by anyone or anything except Tor, otherwise someone else will be able to impersonate the hidden service. If you need to move your Tor hidden service for any reason, make sure to backup the hostname and private_key files before restoring them on a new machine.

After restarting the hidden service, it may not be available right away. It can take a few minutes before the .onion address resolves on a client machine.

++

cit off

++

vedere anche allo stesso link:
Example – Configure A Web Server with Apache

dove si capisce che anziché rendere hidden tutto www, si può rendere hidden solo una parte di www, grazie a una sotto_directory con la tecnica di cambiare laddove avevamo inizializzato come hidden var/www ->

/var/www/hidden_service/

sperimentazione passo passo:

root@lino-Precision-5530:~# touch /etc/apparmor.d/system_tor

vim /etc/apparmor.d/system_tor

“i” -> INSERT

owner /var/www/** rwk,

“Esc” -> :wq

vado a verificare il contento con Dolphin: ok

service apparmor restart 
root@lino-Precision-5530:/etc/apparmor.d# service apparmor restart 
Job for apparmor.service failed because the control process exited with error code.
See "systemctl status apparmor.service" and "journalctl -xe" for details.

service tor restart
root@lino-Precision-5530:/etc/apparmor.d# service tor restart
Failed to restart tor.service: Unit tor.service not found.

All done

You can get your domain from /var/www/hostname

cat /var/www/hostname

And publish it.

vado a vedere se esiste il file hostname in /var/www

No, la rete Tor non ha scritto.

provo ad aprire TOR

mex-n1:

++

Avviatore di TOR:

Tor è uscito durante l’avvio. Potrebbe essere a causa di un errore nel tuo file torrc, un bug di Tor o di un altro programma nel tuo sistema, o hardware difettoso. Finchè non risolvi il problema specificato e riavvii Tor, Tor Browser non si avvierà.

tasto: “ok”               tasto: “Riavviatore di TOR”

++

mex-n2:

++

Connetti a TOR:

Tor si è chiuso inaspettatamente. La cuasa può essere un bug dello
stesso TOR, un altro programma sul tuo sistema, o hardware difettoso.
Finché non riavvii TOR, il TOR browser non potrà connettersi. Se il
problema persiste, invia una copia del log di TOR al team di supporto.

Il riavvio di TOR non chiuderà le schede del browser.

tasto: “Riavvia TOR”

per assistenza visita torproject.org/about/contact.html#support

tasto: “copia il log di TOR negli “appunti” di sistema” tasto: “Esci”

++

premo “copia log ..”

mex: copia completata

stessa finestra riavvia -> nessun esito -> premo esci -> scompare questa scheda.

++

ora vado alla scheda “avviatore di Tor”

compaiono di nuovo le due schede .. chiudo tutto.

riavvio il computer per un nuovo tentativo.

comunque nei file recenti ho trovato due messaggi di TOR che saranno da interpretare intitolati:

mex1: SiteSecurityServiceStat.txt

mex2: SecurityPreloadState.txt

Dunque, è da scoprire perché non si avvia ..

Dalla mia analisi, se è vero che con l’installazione di TOR come browser il file torrc et altro può mettersi a secondo della directory da cui facciamo partire la installazione ..

tuttavia .. entrambe gli autori seguenti concordano sulle directory di dove vanno installati i files che la procedura TOR hidden cerca:

1° autore:
http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

2° autore:
https://famicoman.com/2018/01/05/configuring-a-tor-hidden-service/

Dunque sarà da riprendere la configurazione e NON cambiare le directory!

ultimo aggiornamento:

3 dic 2018, ore 01.22

3 dic 2018, ore 1.22

ripeteremo tutta la configurazione secondo lo schema

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

ma ..

  • NON cambieremo le directory
  • i passaggi saranno senza analisi (si rinvia alle spiegazioni già date)

commento direttamente dentro lo schema con commenti in rosso, mentre i commenti originali saranno in blu, le novità in verde:

1. Update packages and install apache and tor
sudo apt-get update
sudo apt-get install -y apache2 tor
fatto
2. Limit apache to only listen to localhost over port 80
echo "Listen 127.0.0.1:80" >  /etc/apache2/ports.conf
fatto
3. Set permissions for debian-tor
vim /etc/apache2/envvars
confermato

Comment out:

#export APACHE_RUN_USER=www-data
#export APACHE_RUN_GROUP=www-data
fatto

And add:

export APACHE_RUN_USER=debian-tor
export APACHE_RUN_GROUP=debian-tor
fatto

Save (Esc :w) and quit(:q).

service apache2 stop 
fatto
sudo chown -R debian-tor:debian-tor /var/{lock,log}/apache2 /var/www 
si deve creare utente debian-tor e poi il chown -> fatto
4. Secure your private key
vim /etc/apache2/apache2.conf
fatto
<FilesMatch "private_key">
        Require all denied
</FilesMatch>
fatto

Save and quit.

vim /etc/apache2/conf-enabled/security.conf
fatto
ServerSignature Off
ServerTokens Prod
fatto

Save and quit.

5. Create a test page and start apache
echo "Test page" >  /var/www/index.html 
service apache2 start
fatto
6. Configure tor
cat >> /etc/tor/torrc << EOF 
HiddenServiceDir /var/www
HiddenServicePort 80 127.0.0.1:80
EOF 
era stato fatto .. ma il file torrc era stato messo in directory diversa da
/etc/tor/torrc (a causa della configurazione automatica di download)
da cui modifico la inizializzazione!
  1. creo la directory “tor” come ramo di etc (mkdir percorso/directory=
    “mkdir /etc/tor“)
  2. sposto “torrc” dalla locazione precedente (di download) a quella “consigliata”(/etc/tor/torrc); (ad esempio con un file vuoto (di nome “torrc” .. grazie al comando “touch percorso/nome_new_file= “touch /etc/tor/torrc“; poi si scrive “il contenuto di torrc” che era già stato realizzato, ma in altra directory: apro il file nella old directory copio > apro il file nella new directory incollo > mi chiede la pw)
vim /etc/apparmor.d/system_tor
fatto

Add:

owner /var/www/** rwk,
fatto

Save and quit.

service apparmor restart
root@lino-Precision-5530:/etc# service apparmor restart
Job for apparmor.service failed because the control process exited with error code.
See "systemctl status apparmor.service" and "journalctl -xe" for details.
--

root@lino-Precision-5530:/etc# systemctl status apparmor.service
● apparmor.service – AppArmor initialization
Loaded: loaded (/lib/systemd/system/apparmor.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Mon 2018-12-03 10:55:37 CET; 2min 3s ago
Docs: man:apparmor(7)
http://wiki.apparmor.net/
Process: 3038 ExecStart=/etc/init.d/apparmor start (code=exited, status=123)
Main PID: 3038 (code=exited, status=123)

dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Errore di analisi di AppArmor per /etc/apparmor.d/system_tor in /etc/apparmor.d/system_tor alla riga 1: syntax error, u
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Errore di analisi di AppArmor per /etc/apparmor.d/system_tor in /etc/apparmor.d/system_tor alla riga 1: syntax error, u
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Skipping profile in /etc/apparmor.d/disable: usr.bin.firefox
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: Skipping profile in /etc/apparmor.d/disable: usr.sbin.rsyslogd
dic 03 10:55:37 lino-Precision-5530 apparmor[3038]: …fail!
dic 03 10:55:37 lino-Precision-5530 systemd[1]: apparmor.service: Main process exited, code=exited, status=123/n/a
dic 03 10:55:37 lino-Precision-5530 systemd[1]: apparmor.service: Failed with result ‘exit-code’.
dic 03 10:55:37 lino-Precision-5530 systemd[1]: Failed to start AppArmor initialization.

(ndr: c’è da studiare il manuale del perché non si avvia e i codici di errore)


service tor restart
root@lino-Precision-5530:/etc# service tor restart
Failed to restart tor.service: Unit tor.service not found.

All done

You can get your domain from /var/www/hostname

cat /var/www/hostname
vado a vedere se c'è scritto qualcosa in var/www
c'è il file index.html, ma non il file hostname.

And publish it.

dunque ci sono ancora dei dettagli che non sono stati bene inizializzati.

Probabilmente rigardano il fatto che dopo la installazione di apache e tor_browser, le locazioni da me prescelte non erano compatibili con quelle “attese” che si aspetta -anche in questo- delle directory convenzionali.

Per cui la sperimentazione va ripetuta .. indagando -preventivamente- quali siano le directory “preferenziali” .. onde fare convergere la pocedura.

Siamo in una sperimentazione, che mostrerà – a fortiori- che i metodi della epistemologia non sempre convergono quando si omette di specificare le “condizioni al contorno” dette anche di Cauchy, dal matematico che le formalizzò per primo.

Ciò, però, da una grande quantità di informazione .. poiché anziché studiare l’argomento subito in profondità .. si può entrare nel passaggio da teoria a sperimentazione .. verificando se la teoria sia “assestata”.

Se NON lo è, poiché la documentazione di installazione del servizio è carente di indicare informazioni essenziali a che il servizio converga .. si può:

  1. indagare la diagnostica, se esiste.
  2. approfondire la tematica su nuove fonti di manuali che trattano il tema.

Dunque, ripeterò la sperimentazione e appena avrà convergenza riporterò qui di seguito la CAUSE del perché -finora- non c’era stata convergenza.

ultimo aggiornamento:

3 dic 2018, ore 11.17

4 dic 2018, ore 8.52

Dunque il problema che abbiamo verificato esistere dipende da un fatto bene preciso.

Il fatto:

Esistono 2 modalità di fare il download di “tor”.

1° modalità per scaricare e installare “tor”:

sudo apt-get install -y apache2 tor

tratto dal link:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

è ottenere (con apt-get) ed installare (con install) con modalità -y, che risponde yes alle domande durante il download (ma potrebbe essere senza “-y” e risponde e confermare i pacchetti .. 2 programmi “apache2” & “tor”.

Quindi rispetto a “tor” da solo avremmo:

sudo apt-get install tor

In tale modalità non decidiamo noi dove va caricato tor, ma la installazione avviene in automatico, senza che noi possiamo specificare dove.

Poiché io avevo utilizzato la 2° modalità (nella lezione 13) che illustro qui di seguito, viceversa, la destinazione di installazione non era stata nella stessa locazione della scelta (ad albero) delle varie cartelle.

2° modalità per scaricare ed installare “tor”:

collegarsi a un sito per il download e scegliere tor

  • in base al sistema operativo su cui sarà installato
  • in base alle caratteristiche a 32 bit o 64 bit del sistema operativo
  • in base alla lingua prescelta

la istruzione di download è fare click su una tabella.

Anzitutto, però, se avete già scaricato un programma, nei vari sistemi operativi va rimosso il programma vecchio (magari perché il download era incompleto:

sudo apt-get remove tor

(scrivere semplicemente tor se la versione non era tor-browser)

oppure meglio (se avevamo la versione “tor-browser”)

sudo apt-get remove tor-browser
dove tor-browser=tor-browser-linux64-8.0.3_it (nella lez 13)
e solo dopo il remove:
sudo apt-get install tor-browser

come qui:

https://askubuntu.com/questions/90630/how-do-i-completely-uninstall-tor-and-then-install-it

Quindi abbiamo scoperto che esistono (almeno) 2 versioni di tor:

  • la versione “browser” che è -appunto- browser, e cioé un navigatore per esplorare il web, come ad esempio firefox, che a sua volta può usare più di un solo motore di ricerca (google, startpage, etc).
  • la versione “mask” in cui tor non è visibile esplicitamente, in quanto è una parte della configurazione del server “apache” o di altri server. In tale versione il server apache potrebbe essere configurato “non per aprire porte del computer”(*) per cercare sul web, ma per offrire ad esempio la visualizzazione di mio_sito_web.onion, o simili, se si vuole collegare -come mask- ai “nodi della rete TOR” già esistenti!
    (*)
    (cioé se apre porte è un server, mentre se cerca è un client)
    (come client assorbe contenuti: come download di news da siti web)
    (come server offre contenuti: come siti web da rendere visibili)

Nella attuale Lezione 14:

“visualizzazione del sito web, tipo onion”

il nostro scopo non era installare un tor-browser!

Ci eravamo interessati di ciò nella lezione 13 e lì avevamo già mostrato la installazione con la istruzione:

dal link:

https://www.torproject.org/projects/torbrowser.html.en

Linux Instructions

Download the architecture-appropriate file above, save it somewhere, then run one of the following two commands to extract the package archive:

tar -xvJf tor-browser-linux32-8.0.3_LANG.tar.xz

or (for the 64-bit version):

tar -xvJf tor-browser-linux64-8.0.3_LANG.tar.xz

(where LANG is the language listed in the filename).

Quindi abbiamo ripetuto .. tutto il procedimento indicato .. al link seguente:

avendo ora “tor” (e non tor-browser) come qui:

http://smhow.com/how-to-install-a-hidden-service-on-apache-over-ubuntu/

avendo preventivamente fatto il remove di tor (che era vecchio o male installato).

Una versione più completa di remove toglie le inizializzazioni con “purge”. Come già detto qui:

https://askubuntu.com/questions/90630/how-do-i-completely-uninstall-tor-and-then-install-it

Da ciò le locazioni delle inizializzazioni erano quelle che dovevano essere e non su altre directory come nella versione “browser”.

Le operazioni da terminale non ci hanno dato più problemi, e va però aggiunto che i vari files trovati nella modalità vim ed insert (premendo il tasto “i”) non devono cancellare il pre-esistente, ma solo aggiungere ciò che è indicato, oppure modificare come indicato alcune specifiche, senza distruggere il contenuto che non è interessato alle modifiche.

Il goal finale di questa procedura è essere riconosciuti come server “apache+tor” bene configurato ed ottenere 2 files:

  1. il “nome_attribuito” dalla_RETE_TOR_pre-esistente -> al nostro sito a partire dalla pagina index.html
  2. un codice di chiave privata su cui è calcolato il “nome_attribuito” e che ci rende parte della rete TOR.

E con ciò abbiamo terminato anche questo argomento.

 

ultimo aggiornamento:

4 dic 2018, ore 9.52

Lezione N.15:

“Cosa sono e come si realizzano le partizioni di uno o più dischi”?

Questo argomento riguarda il deep web: perché la sperimentazione richiede di provare più sistemi operativi, e quindi di collocare tali sistemi operativi (per la parte software) in zone del disco hardware, come codifica installata in una zona (o più zone), dette -appunto- partizioni, a causa delle suddivisione dello spazio di memoria hardware.

Va subito detto che vi sono 2 tipi di memorie principali su un computer:

la memoria di lavoro (RAM)

la memoria di massa (disco)

i concetti fondamentali al link seguente:

https://it.wikipedia.org/wiki/Partizione_(informatica)

E’ interessante notare, però, che non si fa riferimento a come si “avvia” la macchina computer (personal).

Nella max semplificazione possibile: un computer è un orologio che scandisce il tempo ad esempio così

000=0
001=1
010=2
011=3
100=4
101=5
110=6
111=7
000=0

[…]

E cioé delle memorie dette registri possono realizzare un loop da 0 a 7, e però oltre che emettere segnali alti (1=5 volt) e segnali bassi (0=0 volt) possono anche fare dei test di input.

Se in una lavatrice:
x=0 genera y=0 (lavaggio a 30° C)

x=1 genera y=1 (lavaggio a 60° C)

Quindi nello scandire del tempo un loop temporale può esaminare input (x) e generare output(y)

Se queste manovre avvengono all’avvio del power (alimentazione, accensione della macchina) tale sistema è il “sistema operativo” detto DOS=

Disk operating system

vedi: https://it.wikipedia.org/wiki/DOS

Quando le memorie sono programmate affinché le operazioni siano non cancellabili si dicono ROM, nel caso siano cancellabili si dicono RAM.

Storicamente era la ROM che forniva l’hardware del SO (sistema operativo).

Questo era il “nucleo di base”. Poiché la configurazione completa poteva essere letta dalla ROM su disco fisso, oppure su CD, o su nastro etc.

Oggi ciascun costruttore di computer dota la macchina ancora di DOS di tipo ROM, ma la cosa non è sempre la stessa al cambiare della marca e del modello.

Nel modello DELL 5530 abbiamo visto che (nelle lezioni precedenti) .. che  basterà premere il testo “F2” affinché venga evocato ciò che la ROM legge per prima locazione!

E’ la parte del SO che completa l’avviamento della macchina che per essere di uso generale per sistemi operativi diversi, andrà nella fase detta di boot.

Nella fase di boot va in una locazione particolare dove si procederà a trasferire sulla RAM –che opera come memoria di lavoro su cui agisce il microprocessore(*)— altra parte aggiuntiva del SO che era sul disco (o sui dischi detti anche memoria di massa, ed interni alla macchina).
(*)
(o i microprocessori quando la architettura è di suddivisione in parallelo)

Quindi i computer ci sono venduti con 1 solo sistema operativo (la apple e altre case consentono attualmente anche il doppio sistema operativo OSX e Window10) e però non esplicitano che si potrebbe abilitare la evocazione di assistenti di completamento del caricamento del sistema operativo, come Grub.

Per cui ancora prima di Grub, nel manuale di istruzioni del computer, dovrebbe essere detto quali tasti premere dopo il power per evocare il DOS che esamina se la acquisizione della procedura deve avvenire da disco fisso, da CD, da usb, etc.

Questa breve panoramica ci è utile per capire come mai vi sono più gerarchie di partizioni: lo scopo è capire cosa consultare prima e cosa consultare dopo nell’avviamento del computer.

Negli ultimi personal computer portatili, inoltre, non è presente -spesso- la unità di lettura dei CD.

Pochi sono a conoscenza che una unità di lettura dei CD può essere però collegata a porta USB, e quindi si può “recuperare” tale opportunità!

Consiglio di configurare questa opzione prima di dovere installare da immagine del sistema operativo, ad esempio file.iso, poiché oltre che vedere films, video, musica anche da CD, il file.iso può essere letto come sistema operativo di ripristino se il DOS è stato attivato da F2 e si è selezionato il “lettore di CD” come prima opzione.

Naturalmente necessiterà scaricare il software adatto al sistema operativo da cui operate. Tale software configurerà le unità di input disponibili.

Al link seguente è mostrata la selezione della unità da cui completare la fase della installazione del particolare sistema operativo, ad esempio ubuntu.

https://wiki.ubuntu-it.org/Installazione/InstallareUbuntu

Ora studiamo Gparted:

https://gparted.org/display-doc.php?name=help-manual&lang=it

Avendo capito bene come funziona potremo togliere un sistema operativo che abbiamo voluto sperimentare e non ci piace e sostituirlo con uno nuovo .. per vedere se è più adatto alle nostre esigenze.

Lezione N.16: [10-12-2018]

“Mint-Linux 19”?

Da ora le lezioni successive saranno indicate con un link:

Computer: Mint-Linux 19

https://6viola.wordpress.com/2018/12/10/computer-mint-linux-19/

Lezione N.17: [12-12-2018]

“Can’t Format USB Disk in Ubuntu because of Error Formatting Volume”?

https://6viola.wordpress.com/2018/12/12/cant-format-usb-disk-in-ubuntu-because-of-error-formatting-volume/

Lezione N.18: [15-12-2018]

Procedura dd [terminale Linux]

https://6viola.wordpress.com/2018/12/15/procedura-dd-terminale-linux/

Lezione N.19: [15-12-2018]

Making a Kali Bootable USB Drive [studio]

https://6viola.wordpress.com/2018/12/15/making-a-kali-bootable-usb-drive-studio/

Lezione N.20: [16-12-2018]

Kali-Linux installato su un computer? [risolto]

https://6viola.wordpress.com/2018/12/16/kali-linux-installato-su-un-computer-risolto/

Lezione N.21: [17-12-2018]

Esplorazione di Kali-Linux [studio]

il comando: arp-scan -l

serve a vedere chi è collegato a un router

fonte 6 viola:
https://6viola.wordpress.com/2018/12/17/esplorazione-di-kali-linux-studio/

fonte originale:
https://linux.die.net/man/1/arp-scan

fonte html.it:
https://www.html.it/guide/penetration-test-con-kali-linux/

https://www.html.it/pag/70981/information-gathering-con-arp-scan-masscan-e-nmap/

Lezione N.21-bis: [17-12-2018]

Masscan è un command lecito? [studio]

 

Lezione N.22: [20-12-2018]

deep web – only kali-linux?[studio]

Lezione N.23: [22-12-2018]

Fix: How to Install a Hidden Service on Apache Over Ubuntu 16.4 [22.12.2018]

Lezione N.24: [17-01-2019]

Fix_n2: Tor’s white_list?

Lezione N.25: [23-01-2019]

FTP with Tor? [ SSH configuration with apache ]

Lezione N.26: [01-10-2019]

SPID di Poste.it

https://6viola.wordpress.com/2019/10/01/spid-di-poste-it/

Lezione 27 [30-11-2019]

Fix initramfs

https://6viola.wordpress.com/2019/11/30/fix-initramfs/

ultimo aggiornamento:

30 nov 2019, ore 17.25