mainSlogopaceclick Blog  · informatica · elettronica · astronomia..

Installare e configurare Apache Web Server su Ubuntu o su Debian

Per creare un web server basato su Apache, appoggiandosi ad una comune macchina Ubuntu o Debian, procedere come segue.

undefined

1. Installare Apache

sudo apt-get update
sudo apt-get install apache2

Per verificare se correttamente installato, andare sul sito

localhost

dovreste trovare scritto 'It works!'

2. Configurare

Tutti i file di configurazione si trovano in

"/etc/apache2"

si può visualizzare tramite terminale con 

cd /etc/apache2
ls -F

apparirà

apache2.conf    envvars       magic             mods-enabled/     sites-available/
conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/

tra i quali, i più importanti

apache2.conf: la configurazione del webserver
sites-available/: contiene i virtual host

3. Aggiungere i file del sito da esporre

Come includere i propri files php (o html) in modo da poterli esporre ad Apache, posizionarli nella cartella:

/var/www

Nota

La cartella necessita di permessi di root per essere modificata.
E' possibile (ma sconsigliato) modificare questi permessi con il comando:

sudo chown <user> /var/www

dove al posto di <user> dovrete inserire il vostro nome utente (questo comando va applicato anche a tutti i file predefiniti all'interno).
Si potrà in questo modo copiare direttamente da Nautilus.

Per copiare i file da terminale, senza modificare i permessi della suddetta cartella (consigliato per questioni di sicurezza), il comando è:

sudo cp <file da copiare> /var/www

Connettersi ad un RaspberryPi tramite Remote Desktop Protocol (RDP) usando XRDP

Chi ha detto che per usare un RaspberryPi si debba per forza usare SSH o un monitor esterno con tastiera dedicata?

Un modo semplice per avere a disposizione il Desktop (o Scrivania) connettendosi comodamente dal proprio PC è tramite il Remote Desktop Protocol.

undefined

In questo modo il Raspberry potrà essere lasciato connesso solamente alla Ethernet, senza altri fastidiosi cavi.

1. Connettersi al Raspberry tramite SSH

Preparare il Raspberry con una distro Debian come Raspbian (o Kali Linux), e connettersi tramite SSH.
Per connettersi tramite SSH usare Putty (su Windows) o il comando (da Linux):

ssh pi@192.168.x.x

dove al posto di x dovrete inserire il vero ip del raspberry; la password di default di raspbian per l'utente 'pi' è 'raspberry'.

Una volta connessi, eseguite un update dei packages con

sudo su
apt-get update

2. Installare XRDP

apt-get install xrdp

3. Avviare il servizio

service xrdp start
service xrdp-sesman start

4. Impostare l'auto avvio del servizio all'accensione

update-rc.d xrdp enable

5. Connettersi tramite RDP

A questo punto il Raspberry è pronto, possiamo anche dimenticarci l'SSH.

Apriamo l'applicazione (client) desktop remoto che preferiamo, e connettiamoci in via remota.

undefined

Usare un RaspberryPi come server DNS locale per tradurre indirizzi locali in IP locali tramite DnsMasq

Il server DNS consente di convertire la stringa dell'URL cercato sul browser, nell'indirizzo IP del server remoto.

Di norma ogni ISP ha i propri server DNS autoritativi (che vengono interpellati per ogni richiesta dal router), molte volte tuttavia si opta per l'uso di quelli di Google o degli OpenDNS, andando a modificare manualmente il proprio Sistema Operativo o il router stesso.
E' infatti risaputo che i server DNS di Google siano molto più veloci nelle risposte, e abbiano molti più indirizzi in cache rispetto a quelli degli ISP sparsi per il mondo.

undefined

Un server DNS locale può servire a due utilizzi:

  1. velocizzare la navigazione, tenendo in cache gli indirizzi che vengono maggiormente richiesti dalla rete casalinga (o aziendale), e inoltrando la richiesta verso un server DNS esterno solo in caso di necessità (esempio un indirizzo non i cache)
  2. consentire la traduzione di DOMINI locali in IP locali, funzione interessantissima in ambito aziendale ma anche casalingo

Consideriamo per esempio l'uso di un NAS locale, sull'indirizzo 192.168.1.8:

ogni volta che ci dovremmo connettere, avremmo da inserire tale (scomodo) IP.

Avendo un server DNS autoritativo locale:

potremmo invece decidere di assegnare un NOME A DOMINIO a tale IP, come ad esempio nas.myhome, e fare si che venga risolto sull'indirizzo IP del NAS stesso.

In questo modo nel browser (quando siamo in rete locale, ma anche tramite VPN) non ci resterà che digitare nas.myhome, come se fosse un normalissimo sito web pubblico.

In aggiunta, usando questo metodo, sarà possibile anche incrementare la sicurezza, andando ad impostare una blacklist globale sui nomi a dominio che non vogliamo vengano risolti.

Ovviamente perché tutto funzioni dobbiamo fare in modo che TUTTE le richieste DNS locali vengano risolte dal nostro server DNS autoritativo locale, e che questo non vada mai offline, per evitare impossibilità di risolvere indirizzi.

Una comoda soluzione a basso costo può essere l'uso di un RaspberryPi, vediamo come configurarlo.

Mini guida per il setup di RaspberryPi

Preparare il Raspberry con una distro Debian come Raspbian, e connettersi tramite SSH (o aprire il terminale se connessi con tastiera e schermo).
Per connettersi tramite SSH usare Putty (su Windows) o il comando (da Linux):

ssh pi@192.168.x.x

dove al posto di x dovrete inserire il vero ip del raspberry; la password di default di raspbian per l'utente 'pi' è 'raspberry'.

Una volta connessi, eseguite un update dei packages con

sudo apt-get update

Adesso assegnate un IP statico al raspberry:

sudo nano /etc/network/interfaces

il file deve sembrare così

auto lo

iface lo inet loopback

allow-hotplug wlan0
iface wlan0 inet manual
wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

auto wlan0
iface wlan0 inet static
address 192.168.1.190
gateway 192.168.1.1
netmask 255.255.255.0

auto eth0
iface eth0 inet static
address 192.168.1.190
gateway 192.168.1.1
netmask 255.255.255.0

(ovviamente al posto di .1.190 e .1.1 inserite gli indirizzi che vi competono)

salvare con Ctrl+X, e premendo Y, confermando con Invio, 
poi riavviare con

sudo reboot

e controllare che l'indirizzo sia corretto con il comando

ifconfig 

 

Configurare il server DNS Locale

Installare DNSMASQ:

sudo apt-get install -y dnsmasq

adesso il servizio DNS sarà già attivo, andiamo ad interromperlo per poterne modificare la configurazione

sudo service dnsmasq stop

configuriamo adesso il server DNS con il comando

sudo nano /etc/dnsmasq.conf

si aprirà l'editor di testo sul terminale, 
il file di configurazione mostrato sarà tutto commentato (con '#' all'inizio di ogni frase),
potete anche lasciare tutto intatto per consultazioni future, l'importante è inserire all'inizio le stringhe di configurazione che seguono:

# DOMAIN CONFIG
domain=raspberry.myhome
resolv-file=/etc/resolv.dnsmasq
min-port=4096

# FORWARDING DNS SERVERS
server=8.8.8.8
server=8.8.4.4
server=208.67.222.222
server=208.67.220.220

# LOCAL CACHE SIZE
cache-size=10000

# LOCAL ADDRESSLIST
address=/nas.myhome/192.168.1.8

# BLACKLIST
address=/double-click.net/127.0.0.1

# qui di seguito tutto il file originale..

NOTE

  • i 4 server di forwarding sono rispettivamente 2 Google e 2 OpenDns
  • il dominio .myhome può essere cambiato a piacere, ma NON deve essere un dominio usato pubblicamente (esempio .net), evitare anche il famoso .local
  • potete inserire nella Local-AddressList, tutti gli indirizzi locali che volete risolvere in IP (locali o anche pubblici)
    -ovviamente è anche possibile eseguire override di indirizzi comuni (DNS Spoofing)
    -nel mio caso ho inserito la risoluzione dell'IP del mio NAS su un dominio personalizzato (.myhome)
    -potete aggiungere una nuova riga per ogni altra mappatura
  • tutti i domini inseriti nella blacklist non risulteranno più raggiungibili dalla rete locale (perchè mappati sul loopback)

salvare con Ctrl+X, e premendo Y, confermando con Invio.

Riavviare il servizio dnsmasq

service dnsmasq start

NOTA: DnsMasq è in grado di fungere anche da server DHCP, ma nel nostro caso lo useremo solamente come server DNS.

Adesso il nostro server DNS locale è pronto per poter essere usato

Per poter usare il nostro server DNS locale, andiamo sul PC o sul router nella sezione di configurazione DNS, ed inseriamo come server DNS primario l'indirizzo IP statico precedentemente assegnato al nostro Raspberry.

E' buona norma inserire anche un server DNS secondario, usato in caso di malfunzionamento o irraggiungibilità del nostro server DNS locale, possiamo ad esempio inserire quello di Google (secondario: 8.8.4.4).

Facciamo un test da un computer in LAN con i comandi:

nslookup google.it
nslookup nas.myhome

la risposta sarà corretta se proveniente dal server DNS locale, ovvero del tipo:

Server: 192.168.1.190
Non-authoritative answer:
Name: google.it
Address: 216.58.205.67

oppure

Server: 192.168.1.190
Non-authoritative answer:
Name: nas.myhome
Address: 192.168.1.8

in ogni caso avendo impostato un DNS secondario, in caso di disconnessione del raspberry, sarà comunque possibile navigare tranquillamente.

Indirizzo IP pubblico: cosa è, come individuarlo da terminale o da prompt, e come funziona il DDNS per raggiungere un dispositivo dall'esterno

Un computer o un qualsiasi dispositivo, quando connesso ad una rete (LAN), viene identificato tramite un indirizzo IP assegnato dal router.

L'indirizzo, di solito nella forma 192.168.X.Y viene rilasciato dal DHCP del router per identificare i vari dispositivi ad esso connessi.

Tuttavia essendo il router stesso connesso alla rete internet (WAN), e fungendo da gateway per l'instradamento delle richieste locali verso l'esterno (NAT), anch'esso avrà un indirizzo IP rilasciato dal proprio gestore di telefonia (ISP).

undefined

Questo indirizzo IP viene comunemente chiamato IP Pubblico (o External IP), perché identifica il primo dispositivo connesso alla rete locale (quindi il primo da contattare per raggiungere la propria LAN dall'esterno).

A seconda dei gestori, tale IP può essere in forma statica o dinamica, ovvero può essere fisso ad ogni connessione del router, o cambiare.
In genere gli ISP rilasciano IP pubblici dinamici, per evitare identificazioni degli utenti che potrebbero portare ad attacchi.

In questo modo, ogni volta che accendiamo il router, esso richiederà un nuovo IP pubblico al gestore (che come detto sarà ogni volta diverso).

Come identificare facilmente l'IP pubblico?

1. tramite router, nella pagina di status principale vedremo tutte le impostazioni correnti, compreso l'IP pubblico del provider

2. tramite browser, attraverso uno dei tanti siti web appositi, come ad esempio: whatismyipaddress.com

3. tramite bash linux, con il comando:

 curl ifconfig.me

che mi sembra il più facile da ricordare, in alternativa comunque esistono anche altri (in ogni caso avremo bisogno di curl installato)

 curl ipecho.net/plain ; echo
 curl -s checkip.dyndns.org|sed -e 's/.*Current IP Address: //' -e 's/<.*$//'

4. tramite prompt di windows, con il comando:

 nslookup myip.opendns.com. resolver1.opendns.com

oppure tramite powershell:

 Invoke-WebRequest ifconfig.me/ip


A cosa mi serve conoscere il mio IP pubblico

Può servire nei casi in cui abbiamo bisogno di raggiungere un dispositivo connesso alla nostra LAN (esempio: a casa) dall'esterno (esempio: da lavoro).

Per fare questo bisognerà impostare nel router un port-forwarding, ovvero 'aprire' una determinata porta sull'IP interno del dispositivo.

In tal modo basterà digitare (da qualsiasi parte del mondo), IPPubblico:PortaAperta per inoltrare la richiesta di connessione attraverso il nostro router, verso il dispositivo locale.

Dynamic DNS come funziona

Poichè come detto prima, l'IP pubblico nella quasi totalità delle volte cambia ad ogni accensione del router, come faccio a sapere ogni volta che IP è stato assegnato se sono fuori casa?

Esistono dei servizi di DDNS, ovvero dynamic DNS, che consentono di ovviare a tale problema.
Consentono inoltre di evitare di doversi ricordare l'indirizzo IP stesso (una scomoda sequenza di numeri), in favore di una parola a piacere.

Ce ne sono diversi, come ad esempio noip.com (che di solito è supportato dalla quasi totalità dei router; in ogni caso prima di scegliere un servizio in favore di un altro, verificate se supportato dal vostro router).
Dopo essersi registrati al sito, occorrerà scegliere un indirizzo DNS personalizzato (ovvero un nome a dominio usato per reindirizzarvi al vostro IP).
Esempio: provaaccesso.noip.com

A questo punto basterà configurare nella apposita sezione del router questo DDNS.
Il router stesso provvederà ad aggiornare il DDNS ad ogni cambio di IP Pubblico!

In questo modo, da qualsiasi parte del mondo voi siate, potrete accedere alla vostra rete domestica (LAN) semplicemente digitando:

provaaccesso.noip.com:PortaAperta

dove PortaAperta è la porta precedentemente aperta sul router, con destinazione l'IP del dispositivo che vogliamo raggiungere

 

ATTENZIONE ALLA SICUREZZA:

come tutti sappiamo esporre i dispositivi alla rete senza alcun firewall non è mai consigliabile.
I router di solito applicano il firewall di default proprio per evitare che qualcuno acceda ai vostri dispositivi locali dall'esterno.

Tuttavia molte, moltissime volte gli utenti non cambiano la password di accesso al router stesso, rendendo disponibile ad un eventuale attaccante l'accesso a tutte le impostazioni di rete dall'esterno.
Per questo motivo, se configurate un DDNS, assicuratevi che la vostra rete sia ben protetta (argomento per il quale non basterebbe un solo post per descrivere tutti i passaggi).

Assicuratevi che il router abbia una password sicura, che abbia il firewall attivo, e, magari, che sia bloccato l'accesso alle impostazioni di rete dall'esterno (dalla WAN).

 

Phishing portato a livelli estremi sfruttando Punycode: come funziona, come prevenire ed essere sicuri dei siti web aperti tramite SSL

Punycode è un sistema di codifica che serve a rappresentare una sequenza di caratteri unicode tramite una sequenza di caratteri ASCII, per rendere possibile l'uso di tali sequenze nei nomi di dominio, senza dover modificare infrastrutture e standard esistenti.

In questo modo si possono gestire nomi di dominio internazionalizzati (IDNA) aggiungendo all'inizio della stringa punycode i caratteri 'xn--'.

Ad esempio, inserendo come indirizzo xn--google.com, vedremo il browser mostrare la stringa convertita in caratteri cinesi:

undefined

La traduzione di sequenze Punycode nella codifica originaria è a carico dello user agent (applicazione installata sul computer dell'utente che si connette al server) nel browser .

Il problema è che come tutti i nomi a dominio internet registrati, è possibile creare delle sequenze punycode ad-hoc per mostrare all'utente una stringa convertita totalmente a piacere.

Ad esempio, se inseriamo nel browser la stringa (procedete solo a vostro rischio e pericolo) punycode "xn--80ak6aa92e.com", la vedremo istantaneamente venire convertita in "apple.com".

Ovviamente il sito aperto non sarà quello ufficiale Apple, ma in realtà sarà sempre il sito "xn--80ak6aa92e.com", solo che il nostro browser ci visualizzerà il testo transcodificato in ASCII.

In breve il browser viene tratto in inganno, e con lui l'utente, vediamo l'esempio:

se inseriamo:

undefined

e premiamo invio, avremo in risposta:

undefined

da notare la presenza di un certificato SSL (DV) sul sito fasullo, che crea un FALSO senso di sicurezza

 

LA DIFFERENZA CON QUELLO VERO

undefined

in questo caso il certificato SSL (OV o EV) certifica l'effettiva corrispondenza dell'azienda.

 

Il fenomeno del 'phishing' (tipo di truffa effettuata su internet, specialmente a mezzo e-mail) cerca sempre nuove strategie per trarre in inganno gli utenti, spingendoli a cliccare su link che SEMBRANO essere affidabili ma che in realtà REINDIRIZZANO verso pagine web spesso dannose.

Si tratta di attacchi di social-engineering nei quali un malintenzionato cerca di ingannare la vittima convincendola a fornire informazioni personali, dati finanziari o codici di accesso, fingendosi un ente affidabile in una comunicazione digitale.

PRIMA REGOLA: PREVENZIONE

Quando ricevete email di dubbia provenienza, diffidate dal cliccare sui link proposti, specialmente se legati in qualche modo ad istituti bancari o di credito.
Fare specialmente attenzione all'indirizzo di provenienza, e prima di cliccare su un link, controllare quale sia la sua effettiva destinazione.

Esempio:

un link visualizzato come "apple.com", potrebbe in realtà essere destinato al precedente "xn--80ak6aa92e.com" (questo potrebbe derivare da una formattazione HTML costruita apposta per l'occasione)

in questo caso tuttavia, basterà posizionarsi con il mouse sopra al link e controllare il vero collegamento leggendo il popup che appare (di solito) in basso a sinistra del programma di posta

 

SECONDA REGOLA: CONTROLLO

Una volta cliccato su un link, come fare a sapere che il sito aperto è effettivamente quello sicuro?

L'unica arma di difesa in questo caso è il certificato SSL, che può essere di 3 tipi:

  • DV Domain Validation: garantiscono una connessione cifrata con il server, ma non garantiscono sulla corrispondenza aziendale al nome visualizzato.
  • OV Organization Validation & EV Extended Validation: oltre alla cifratura con il server, garantiscono verifica sull'effettività dell'azienda.

 riguardando le immagini precedenti potrete notare la differenza.

 

Ripristinare Windows in seguito ad un errore driver o ad un update fallito

Una breve guida per aiutare a resuscitare il PC in caso non si riesca più ad avviare a seguito di aggiornamenti driver dannosi.

NOTA:

questa guida si applica anche nel caso di errore dovuto a installazione driver non compatibili con il sistema.

Errore Blue Bcreen: CRITICAL_SERVICE_FAILED.

 

undefined

 

Se siete nella condizione di non poter usare il desktop a causa della schermata blu, quello che dovete fare è accedere alla console di ripristino, possono presentarsi tre casi:

  • L'avvio risulta bloccato o su schermata blu, inserite il disco di installazione di Windows e riavviate il computer (in caso forzate lo spegnimento tenendo premuto il pulsante di accensione). Proseguire poi con le procedure sotto.
  • All'avvio del sistema si presenterà automaticamente la schermata di recovery, in tal caso proseguire direttamente con le procedure sotto.
    undefined
  • Il sistema parte solo in modalità provvisoria. In realtà siete già a buon punto perché avete comunque accesso a tutte le impostazioni. Potete avviare il prompt da lì. Se volete comunque aprire la console di ripristino, andate sul menu charm e su 'Riavvia il sistema' tenendo premuto il tasto 'Shift'.

 NOTA:

 è possibile riavviare anche il computer in modalità di 'avvio avanzato' con il comando (tramite prompt dei comandi cmd.exe)

 shutdown.exe /r /o /f /t 0

 

Una volta in modalità ripristino avrete questa schermata, andate su risoluzione dei problemi

undefined

Andate su opzioni avanzate

undefined

Il menu sarà questo

undefined

 Adesso possiamo passare al ripristino vero e proprio, da questa fase è possibile:

  • Avviare un ripristino configurazione di sistema, utilizzando un punto di ripristino precedente, nel caso questo non risolvesse il vostro problema passate al punto successivo
  • Ripristinare un immagine di sistema (che dovete aver precedentemente salvato da qualche parte), nel caso non l'abbiate fatta passate al punto successivo
  • Tentare un ripristino automatico per l'avvio di Windows. Questo non sempre funziona, soprattutto con problemi driver.
  • Usare il prompt dei comandi.

 

Usare il prompt per ripristinare

NOTA: è possibile dare questi comandi, oltre che da console di ripristino, anche da prompt a Windows avviato o da prompt in modalità provvisoria.

Una volta aperto il prompt di ripristino, noterete che state agendo sulla lettera di unità X:

Dobbiamo passare alla vera unità dove risiede il sistema operativo (X: è il montaggio della console di ripristino), ecco una sequenza di comandi per passare alla lettera corretta

X:\windows\system32>
X:\windows\system32>cd..
X:\windows>cd..
X:\>D:
D:\>

siamo passati a D: perché molte volte il sistema viene montato lì. Ma potrebbe essere anche C: o E:, per verificare di essere veramente nella partizione di sistema basta dare il comando dir

D:\>dir

apparirà una lista di cartelle, se corrispondono a quelle della radice Windows (program files, program files (x86), Windows, ecc..) allora siamo nella lettera corretta.

Adesso dobbiamo riportarci dentro a system32

D:\>cd Windows\system32
D:\windows\system32>

In questo modo possiamo accedere ai file di sistema.

Per disinstallare un update manualmente, dobbiamo conoscerne il codice (KBxxxyyy), possiamo elencare gli update installati con

wmic qfe list brief

nota: possiamo anche salvare una copia su file con i comandi

wmic qfe list brief /format:htable > "%USERPROFILE%\hotfix.html"
wmic qfe list brief /format:texttablewsys > "%USERPROFILE%\hotfix.txt"

che produrranno rispettivamente un file html o un file txt e lo salveranno nella cartella dell'utente.

In ogni caso la lista completa dei comandi WMIC è reperibile qui.

 

L'output a video sarà simile al seguente:

 undefined


Adesso possiamo procedere alla disinstallazione selettiva degli ultimi update. Scorrere l'elenco e segnarsi i codici dei KB per i quali il sistema sembra essere andato in crash.

Procedere alla rimozione selettiva (ROLLBACK):

wusa /uninstall /kb:{update ID}
esempio: wusa /uninstall /kb:980311

L'update sarà disinstallato (è possibile rimuovere tutti quelli che vogliamo).

Adesso provare a riavviare il PC e vedere se l'errore è stato corretto. (chiudere il prompt)


Alternative

Nel caso venisse ancora la schermata blu all'avvio, tornare sul prompt di ripristino, e provare ad eseguire uno scannow:

D:\windows\system32>sfc /scannow

per fare eseguire un check totale di file danneggiati/di dati corrotti o che impediscono il corretto funzionamento del sistema.

 

Se neanche questo funziona è possibile provare ad affidarsi ad uno scandisk completo (stavolta da X:)

X:\windows\system32>chkdsk D: /f /r /x

scandisk con opzione di ripristino settori danneggiati, e con forzato smontaggio dell'unità.

NOTA: inserire la lettera di unità in cui è realmente il sistema operativo, seguendo le prime fasi di questa guida.

 

Se il sistema non parte neanche dopo queste ultime procedure, credo che rimanga solamente l'opzione della formattazione e installazione pulita dell'intero sistema. Dopo ovviamente aver fatto un backup dei propri dati (seguire le guide apposite).

Come cambiare l'indirizzo MAC alla scheda di rete su Windows

L'indirizzo MAC (o MAC Address) viene usato dalle schede di rete per identificarsi nell'interscambio di informazioni.

MAC è l'acronimo di Media Access Control ed è costituito da un codice lungo 6 byte (48 bit).
Viene assegnato dal produttore della scheda al momento della sua creazione ed è univoco per ogni scheda.
I primi 3 byte sono l'identificativo della azienda produttrice, gli ultimi 3 rappresentano uno specifico sotto-indirizzo univoco.

undefined

L'IEEE (Institute of Electrical and Electronics Engineers) ha creato questo indirizzo prevedendone la saturazione intorno al 2100 (poiché sono disponibili 281.400 miliardi di diverse combinazioni).

Poiché ogni scheda di rete ha memorizzato un proprio indirizzo MAC, nei nostri computer equipaggiati con wifi-Bluetooth-ecc.. avremo più indirizzi. (per scoprire quali sono, salta al punto 'Verifica')

Se avessimo la necessità di cambiare il MAC di una specifica scheda di rete (per svariati motivi, come ad esempio per aggirare un filtro nel nostro router), dovremmo procedere come segue.

 

Cambiamo

Apriamo proprietà del sistema

undefined


Andiamo su Gestione Dispositivi

undefined


Cerchiamo la scheda a cui vogliamo modificare il MAC e andiamo sulle sue proprietà

undefined


Cerchiamo, da avanzate "Servizio di rete" o ("Network address")

undefined

Selezioniamo il campo vuoto e inseriamo (SENZA - o : o .) l'indirizzo MAC che vogliamo compaia.

Ad es. se vogliamo come nuovo MAC 08-00-27-00-E0-4D, mettiamo 08002700E04D.

Una volta inserito, diamo OK e RIAVVIAMO il sistema.

 

Come scegliere il MAC

Possiamo inserire praticamente qualsiasi combinazione: ecco la lista ufficiale per chiarire di cosa parlo. 

Strumenti utili

Se siamo in possesso di un indirizzo MAC del quale vogliamo maggiori dettagli, come il nome del produttore, andiamo su questo sito.

 

Verifica

Per verificare quali sono gli indirizzi MAC delle nostre schede di rete:

-apriamo il prompt come amministratori (start>cerchiamo 'cmd'>click destro>esegui come amministratore)

-diamo il comando

 undefined

 

NOTA:

come scritto all'inizio, il MAC viene memorizzato dalle case a livello firmware nei chip delle schede di rete, e non è alterabile permanentemente.

La nostra modifica sarà 'virtuale', cioè il nostro sistema 'simulerà' il MAC immesso come reale, ma non verrà alterato il MAC memorizzato nell'hardware. Il che vuol dire che a seguito di disinstallazioni driver/aggiornamenti anche del sistema, potremmo dover eseguire di nuovo la procedura.

 

Cosa sono Tor e il Deep Web: guida introduttiva

Anonimato Online

Forse non tutti lo sapranno, ma l'anonimato online è un terreno che ultimamente sta facendo molto discutere.
Una cosa è sicura: su internet nessuno è completamente al sicuro.

Esistono i più svariati metodi per cercare di catturare dati, anche quelli a prima vista più insignificanti, come ad esempio le ricerche recenti su Amazon. Le società vanno a caccia di queste informazioni e molte volte le rivendono per abbondanti compensi.

Ci sono poi i dati sensibili, ai quali stavolta non sono interessate le società, ma piuttosto persone con molti meno scrupoli.

Deep Web

Nell'ultimo decennio è stata costruita una vera e propria rete nascosta (da deep: profondo), in prevalenza da parte di hackers con lo scopo di 'isolarsi' ad un livello inferiore dal web comune che tutti conoscono.
Isolarsi per nascondere comunicazioni, isolarsi per scambiare dati senza possibilità di essere intercettati, isolarsi soprattutto per sferrare attacchi.

Insomma una specie di "far web", dove non ci sono controlli e dove c'è completa (o quasi) libertà di agire.

undefined

Il funzionamento

Sui vari server interni alla rete sono ospitati molti siti. Questi siti non sono raggiungibili dal web comune e sono visibili solo connettendosi con Tor.

I siti del deep web non sono risolti da server DNS e non hanno IP pubblici: non potremo quindi digitare il loro nome sulla barra di navigazione (e non potremo neanche inserire eventuali IP).
L'unico modo per raggiungere un deep site è quello di conoscere il suo codice univoco, come ad esempio 'vc8icxqa7c8idc.onion'.

Ci sono anche dei motori di ricerca (simili a Google) che consentono di cercare deep sites senza dover per forza conoscere il loro codice.

Gli strumenti

Il programma principale per interfacciarsi a questa rete è TOR.

Tor è l'acronimo per The Onion Router (ovvero: instradatore a cipolla) e funziona nel seguente modo:
permette di collegare un computer A ad un computer B, attraversando tanti altri computer della Onion Net (i cosidetti non-exit relay) e criptando ogni connessione: con questo sistema l'indirizzo IP di A non è più visibile al computer B, poiché B vedrà l'indirizzo IP dell'ultimo computer relay (chiamato exit relay node), che instrada la richiesta di A usando il proprio DNS (Domain Name Server) e quindi bypassando eventuali censure imposte sui DNS dell'ISP usato da A.

Un'immagine aiuterà la comprensione; Alice accede al sito 'blob' passando per una serie di nodi intermedi tramite connessione criptata, in questo modo una eventuale verifica sul richiedente il sito avrà come risposta non il vero indirizzo di Alice, ma l'ultimo e innocente nodo usato.

undefined

Inoltre per evitare in ogni modo che si possa risalire alla sorgente, ogni nodo della rete conosce solo l'indirizzo IP del nodo precedente e del nodo successivo; i nodi sono sparsi per il pianeta ed ogni circa 10 minuti viene generato un altro percorso casuale.

 

Come connettersi

ATTENZIONE: questa guida è a puro scopo informativo, per evitare di mettere a rischio il proprio pc sconsigliamo di provare a connettersi al deep web e decliniamo ogni responsabilità per eventuali conseguenze ad esso connesse.

La procedura è fin troppo semplice, esiste un bundle scaricabile dal sito torproject.org che include tutti gli strumenti per stabilire un collegamento. Inoltre il bundle contiene anche una versione portatile e modificata ad-hoc di Firefox per avere la navigazione subito pronta.

Per maggiori informazioni, leggere la documentazione del sito ufficiale.

 

Usi benevoli

Naturalmente oltre ai criminali, il fatto di poter mantenere l'anonimato è spesso vitale per altri scopi più lodevoli.

Giornalisti, divulgatori, magari impegnati in pubblicazioni per qualcuno molto scomode che preferiscono comunicare senza che il loro IP possa essere letto, o magari perché in zone di guerra.

Inoltre connettersi potrebbe risultare necessario in situazioni di blocco (o censura, come in paesi dell'est) quando viene reso impossibile da parte dei provider o governi di accedere a determinate risorse, anche se in quei casi la scelta forse migliore in termini di prestazioni è di affidarsi a una VPN.

 

Affidabilità e futuro

Neanche a dirlo i governi cercano da sempre di chiudere o per lo meno cercare di "bucare" Tor per tenere sotto controllo i suoi utilizzatori.

Una recente ricerca del governo britannico (con migliaia di sterline spese) ha evidenziato ad oggi l'inviolabilità di tale rete. Insomma neanche i più bravi hacker del mondo sono riusciti a violare quello che dei loro compagni avevano costruito anni fa.

Tor è in continua espansione e si prevede che nell'arco di 20 anni arrivi a coprire una considerevole fetta del traffico dati giornaliero globale.

Come creare una cartella condivisa su Linux in pochi passi

Una semplice guida per creare una cartella condivisa accessibile e scrivibile da qualunque dispositivo in rete locale.

Valida per Ubuntu, Debian, RaspberryPi, ecc..

Attenzione: questa è una delle procedure più semplici e brevi; per creare cartelle con utenti e password la procedura si complica di non poco.

1. installare samba

sudo apt-get install libcupsys2 samba samba-common

2. creare cartella e permessi

mkdir -p /home/samba-share/allusers
chmod –R a+rwx /home/samba-share/allusers

3. editare il file di configurazione

vi /etc/samba/smb.conf

 nota:     per scrivere nel file premere “i”, per cancellare “canc”

 per salvare premere: “esc” e digitare “:wq” (che corrisponde a :writequit)

Modificare nel file:

security=user con security=share (in caso togliere il simbolo di commento)

Inserire nel file (in fondo):

[SHARED]
comment = PMS files
path = /home/samba-share/allusers
browseable = yes
guest account = nobody
guest ok = yes
write ok = yes
writable=yes
read only=no

4. riavviare il servizio

sudo /etc/init.d/samba restart

5. creare un link sul desktop (scrivania)

sudo su
cd /home/pi/Desktop
ln –s /home/samba-share/allusers

 

La cartella sarà ora visibile in LAN con permessi di Lettura/Scrittura per tutti gli utenti (cartella pubblica).

Su Spaceclick.com troverai anche una guida per installare e configurare da zero il tuo RaspberryPi.

Come visualizzare in chiaro le password immesse dai browser o nascoste da pallini o asterischi

Tutti i browser di ultima generazione consentono di memorizzare le password immesse dall'utente, in modo da auto inserirle nei moduli alla successiva visita del sito.

Lo faceva Internet Explorer, ma adesso anche Firefox, Edge, e Chrome.

undefined

Per IE ed Edge, le password sono cifrate nel Vault di Windows, per Firefox e Chrome invece no:
in quest'ultimo per esempio non è possibile impostare una 'master password' per cifrare i dati memorizzati.

Ma la questione è, serve veramente? No.

Perchè in ogni caso, il browser, quando andrà a riempire il modulo web, dovrà comunque inserire la password in chiaro, come se la stessimo inserendo noi da tastiera.

Quindi anche cifrando il database delle password salvate si potrebbe facilmente risalire alle originali usando un semplice browser.

Come risalire alla password immessa se compare come serie di pallini o asterischi?

Basta aprire il browser in cui abbiamo memorizzato la password, ed aprire il sito.

A questo punto lasciare auto completare i campi dal browser, la password apparirà come una serie di pallini:

undefined

Adesso, basta cliccare con il destro sul campo della password, e selezionare 'ispeziona elemento'.
NOTA: a seconda del browser in uso è possibile che non compaia tale voce, in ogni caso si può sempre aprire il pannello 'strumenti di sviluppo' con F12; da qui selezionare il pulsante che ha come icona un puntatore, ed in seguito andare a selezionare il campo della password.

Si aprirà il pannello con il codice DOM della pagina (in modo estremamente semplificato è il sorgente con anche le modifiche dell'utente) con già selezionata la riga del codice in cui viene immessa la password.

Avrà uno stile come questo:

undefined

 

Non dobbiamo fare altro che doppio clic sul parametro type="password" e modificarlo semplicemente in type="text" (premere poi il tasto Invio).

undefined

In questo modo vedremo istantaneamente nella pagina web i pallini scomparire e convertirsi in testo: la nostra password. 

Come visualizzare il product key di Windows 10 per una installazione pulita

undefined

1.

Aprire un prompt dei comandi come amministratore, lo trovate con un click destro sul logo del menu start.

2.

Digitare il seguente comando:

wmic path SoftwareLicensingService get OA3xOriginalProductKey

e premere invio.

Alternativa da PowerShell:

aprire una PowerShell come amministratore ed eseguire i comandi

Set-ExecutionPolicy RemoteSigned
.\GetProductKey.ps1


Il product key di Windows attualmente installato verrà visualizzato.

E' possibile utilizzare questo codice per una installazione pulita (es. da ISO).

Nota: Windows 10 utilizza un metodo di attivazione diverso dai precedenti, infatti viene generata una firma digitale del computer e viene salvata sui server Microsoft. In tal modo alla reinstallazione, in via teorica non ci sarà bisogno di alcun product key (viene riconosciuto lo 'stesso' computer).
Questo tuttavia succede per tutti quei PC che hanno ricevuto un aggiornamento da un vecchio sistema a Windows 10.
Per quanto riguarda i computer acquistati con già Windows 10 a bordo, questo è invece un buon modo per salvare il codice e poterlo rimettere uguale alla successiva installazione.

Creare sparse files, con lunghezza a piacere in Windows e Linux

Un file sparso (dall'inglese sparse file), è un tipo di file per cui si cerca di occupare in maniera più efficiente lo spazio del file system nei casi in cui il file sia prevalentemente vuoto.

Il vantaggio dei file sparsi consiste nel fatto che lo spazio fisico nel file system viene allocato solo quando è effettivamente necessario: si risparmia spazio e si possono creare file di grandi dimensioni anche se lo spazio libero nel file system è insufficiente.

undefined

Tra gli svantaggi dell'uso di file sparsi:

Essi possono diventare frammentati, in quanto lo spazio nel file system viene allocato a mano a mano che le aree vuote sono riempite, e quindi non è necessariamente contiguo. Le informazioni sullo spazio libero nel file system possono essere fuorvianti se si considera la dimensione apparente dei file sparsi.

Uso

Un uso tipico dei file sparsi è per il testing delle connessioni di rete o per i benchmark degli hard disk: si creano file di grandi dimensioni con un semplice comando, che poi saranno utilizzati per capire la velocità di copia/trasferimento dei vari dispositivi.

Creazione su Windows

Da prompt dei comandi, dirigersi in una cartella

cd C:

eseguire il comando

fsutil file createnew <filename> <length>

la lunghezza deve essere inserita in Byte, esempio

fsutil file createnew myfile.txt 1000000000
(=1GB)

fsutil file createnew myfile.txt 2500000000
(=2.5 GB)

undefined

Creazione su Linux

dd if=$INPUT-FILE of=$OUTPUT-FILE bs=$BLOCK-SIZE count=$NUM-BLOCKS

Dove:

  $INPUT-FILE deve sempre essere /dev/zero per file di grandi dimensioni (vuoti).
  La dimensione totale del file sparso sarà $BLOCK-SIZE * $NUM-BLOCKS.
  Il nuovo file sarà chiamato come $OUTPUT-FILE.

Esempio:

dd if=/dev/zero of=file_sparso bs=1024 count=1

bs è la dimensione di uscita in Byte.

Cosa sono i link simbolici tra cartelle e come usarli per aumentare spazio sull'hard disk del sistema operativo

Quando installiamo un grosso programma su Windows, vengono creati dei link nel registro di sistema che gli fanno tenere traccia della posizione reale dei file eseguibili.

Per questo motivo, se spostiamo un programma in una partizione secondaria, smetterà di funzionare (i link si interrompono).

Come fare a garantire la continuità di questi collegamenti?
Con Giunzioni o Link Simbolici.

undefined

Il comando mklink fa credere a Windows che i file nella cartella siano tutti memorizzati nel percorso originario, quando in realtà sono stati spostati in una partizione esterna.

Come fare

1.

Selezionare la cartella contenente il software da spostare altrove e procedere a tale operazione.

2.

Creare un 'link simbolico' aprendo un prompt dei comandi con i diritti di amministratore.
Il comando mklink consente di fare in modo che le richieste di accesso per i file presenti nella directory che conteneva originariamente i file dell'applicazione vengano automaticamente reindirizzate verso la cartella di destinazione (quella in cui sono realmente).

3.

Eseguire il comando:

mklink /D "cartella di reindirizzamento" "cartella contenente realmente i file"

Esempio (dopo lo spostamento del programma pippo da C: a D:):

mklink /D "C:\Program files\pippo" "D:\App\pippo"

In questo modo:

  • Tutti i riferimenti alla vecchia cartella 'pippo' in C: rimarranno validi, i file saranno 'pescati' da D:, non saranno presenti realmente in C:
  • Tutte le operazioni di spostamento, copia, eliminazione, avranno effetto sulla directory reale (in D:).

Esempi

1.

Come vedere la cartella G:\Foto dentro la cartella Immagini in C:

cd %userprofile%\Pictures (per entrare nella cartella Immagini di Windows)
mklink /D Foto G:\Foto

2.

Come vedere la cartella Video che è su un'unità di rete nella cartella Video Pubblica in C:

cd C:\users\public\video
mklink /D NetworkVideo \\DiscoDiRete\Video

3.

Come creare una cartella sul Desktop e vederla su OneDrive

cd C:\users\<nome utente>\OneDrive
mklink /D CartellaSincronizzataDaDesktop C:\users\<nome utente>\Desktop\CartellaSincronizzata

Note

1.

dir /al

Con tale comando si potrà vedere la lista ti tutte le giunzioni o link eseguiti o presenti in una cartella. 
Prima di usarlo posizionarsi nella cartella da verificare.

In alternativa ci sono dei programmi come NTFSLinksView di NirSoft:

undefined

2.

mklink /J ...  genera una 'junction'

mklink /D ... genera un 'link simbolico'

La differenza sostanziale è che le junction possono essere create anche sui singoli file ma non supportano i percorsi relativi (i link simbolici solo su cartelle ma supportano anche percorsi relativi); in sostanza io preferisco e consiglio di usare link simbolici su cartelle.

3.

mklink ... funziona su Windows 7 - 8 - 10

linkd ... analogo per Windows XP - 2000

La maratona di Opportunity, 42 Km e 11 anni in un time lapse di 8 minuti

Per celebrare il lavoro del rover Opportunity su Marte la NASA ha pubblicato un video time lapse di 8 minuti in cui scorrono i 42 chilometri percorsi in 11 anni.

undefined

Otto minuti mozzafiato con le foto riprese dalla hazcam nella parte sinistra e la mappa del percorso tortuoso seguito dal piccolo rover a destra.

L'audio è un'interpretazione delle misurazioni delle vibrazioni effettuate dal rover: i suoni "morbidi" identificano un terreno regolare, mentre quelli più forti indicano un percorso tortuoso.

Fonte: NASA 

Home ← Discussioni più vecchie