NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

Dopo le indicazioni su come configurare NordVPN su Debian Stretch, in questa guida mostrerò come integrare la VPN h24 sul Modem/Router ASUS DSL-AC68U con firmware Asuswrt-Merlin. Il presupposto quindi è che questo firmware sia già onboard.

Scaricare i files con i server vpn:

mkdir vpn_server; cd vpn_server/
wget https://nordvpn.com/api/files/zip
unzip zip
rm zip

accedere all'interfaccia del router e andare nel menu vpn:

NordVPN su ASUS DSL-AC68U Merlin

andare in Client VPN:

NordVPN su ASUS DSL-AC68U Merlin

Aggiungere un profilo:

NordVPN su ASUS DSL-AC68U Merlin

inserire user e passord della VPN, e caricare il server scelto:

NordVPN su ASUS DSL-AC68U Merlin

abilitare la VPN:

NordVPN su ASUS DSL-AC68U Merlin

NordVPN su ASUS DSL-AC68U Merlin

a questo punto tutta la rete interna sarà sotto VPN, protetta e sicura.

enjoy ๐Ÿ˜‰

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

Guida su come configurare una VPN, in questo caso NordVPN, su Debian Stretch, in modo grafico, utilizzando Network Manager oppure avviandola direttamente dal  terminale. Io ho un abbonamento con NordVPN,  quindi ho user e password. Il perchè utilizzare una VPN, i pro ed i contro, non è oggetto di questo post. Dico solo che questa VPN ha sede a Panama e non memorizza logs.

sudo apt-get install openvpn network-manager-openvpn-gnome ca-certificates unzip
sudo service network-manager restart
cd /etc/openvpn
sudo wget https://downloads.nordcdn.com/configs/archives/servers/ovpn.zip
sudo unzip ovpn.zip
sudo rm ovpn.zip
cd ovpn_udp
ls -al

per far partire la VPN, basta scegliere un server della lista, io consiglio di testarne diversi per poter scegliere quello più performante:

sudo openvpn us844.nordvpn.com.udp.ovpn

OpenVPN chiederà le credenziali, quindi inserire user e password.

Configurazione di Network Manager

Scaricare i seguenti files:

mkdir vpn_server; cd vpn_server/
wget https://nordvpn.com/api/files/zip
unzip zip
rm zip

cliccare sopra l'immagine

NordVPN OpenVPN su Debian Stretch

NordVPN OpenVPN su Debian Stretch

enjoy ๐Ÿ˜‰

 

Debian Stretch Live UEFI-BIOS Persistente Sicura

Debian Stretch Live UEFI-BIOS Persistente Sicura

Debian Stretch Live UEFI-BIOS Persistente Sicura

Ho fatto diverse guide su come costruirsi una Debian Live personalizzata, creando anche una categoria dedicata. Le ultime due sono state: Creare una Debian Stretch Live Custom persistente Sicura  e Creare una Debian Live personalizzata con live build. Questa guida invece sarà quella definitiva, dove la chiavetta costruita sarà un mix di sicurezza e personalizzazione, il tutto avviabile sia da UEFI che da Legacy BIOS, con partizione cryptata con LUKS. La guida sotto è per utenti avanzati, dato che non spiegherò ogni singolo passaggio, quindi attenzione a fare copia ed incolla senza capire quello che si andrà a fare, e sopratutto attenzione ad identificare con certezza il device usb. Questa guida si può adattare anche utilizzando una Debian Live scaricata direttamente dal sito, ma il problema è che non si può cryptare la partizione dato che cryptsetup non è installato di default, da qui l'esigenza di creare una Debian Live di base con cryptsetup installato, dopodichè successivamente si potrà installare tutto il resto.

Installazione tools:

$ sudo apt install -y debootstrap grub-common grub-pc-bin grub-efi-amd64-bin efibootmgr syslinux squashfs-tools live-build live-tools live-boot cryptsetup

Preparazione Debian Base:

$ mkdir live; cd live
$ lb config --distribution stretch --binary-images iso-hybrid --architectures amd64 --archive-areas main contrib non-free --debian-installer-gui true debian-installer live --mirror-bootstrap https://ftp.it.debian.org/debian/ --mirror-binary https://ftp.it.debian.org/debian --bootappend-live boot=live components persistence persistence-encryption=luks timezone=Europe/Rome locales=en_GB.UTF-8 keyboard-layouts=it hostname=Debian-Custom username=user noeject autologin

per installare un desktop environment ed i programmi di cui si necessita, bisogna editare il file live.list.chroot, ed incollare dentro il necessario:

$ nano config/package-lists/live.list.chroot

incollare dentro:

mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd cryptsetup firefox-esr firmware-linux-nonfree firmware-iwlwifi firmware-linux-free

Costruzione Debian Base:

$ sudo lb build

Debian Stretch Live UEFI-BIOS Persistente Sicura

Identificazione device usb e partizioni: nel mio caso userò /dev/sda, ed i comandi eseguiti tutti come root:

# fdisk -l
# umount /dev/sda*
# dd count=1 bs=512 if=/dev/zero of=/dev/sda
# parted -s -- /dev/sda mktable gpt mkpart efi 1 10M
# parted -s -- /dev/sda mkpart live 10M 3G
# parted -s -- /dev/sda mkpart persistence 3G 100%
# parted /dev/sda set 1 msftdata on
# parted /dev/sda set 2 legacy_boot on
# parted /dev/sda set 2 msftdata on
# mkfs.vfat -n EFI /dev/sda1
# mkfs.vfat -F32 -n LIVE /dev/sda2

Creazione partizione cryptata /dev/sda3 persistente:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sda3
# cryptsetup luksOpen /dev/sda3 sda3_crypt
# mkfs.ext4 -L persistence /dev/mapper/sda3_crypt
# mkdir /mnt/persistence
# mount /dev/mapper/sda3_crypt /mnt/persistence/
# echo "/ union" > /mnt/persistence/persistence.conf
# umount /mnt/persistence/
# cryptsetup luksClose sda3_crypt

Mount partizioni di lavoro:

# mkdir -p /mnt/{efi,live,live-iso}
# mount /dev/sda1 /mnt/efi
# mount /dev/sda2 /mnt/live

Mount Debian Base:

# mount -oro live/live-image-amd64.hybrid.iso /mnt/live-iso
# cp -ar /mnt/live-iso/* /mnt/live
# rm -rf /mnt/live/efi

Grub per UEFI:

# grub-install --removable --target=x86_64-efi --boot-directory=/mnt/live/boot/ --efi-directory=/mnt/efi /dev/sda

Syslinux per legacy BIOS:

# dd bs=440 count=1 conv=notrunc if=/usr/lib/syslinux/mbr/gptmbr.bin of=/dev/sda
# syslinux --install /dev/sda2

Fix grub.cfg

# rm /mnt/live/boot/grub/grub.cfg
# nano /mnt/live/boot/grub/grub.cfg

ed incollare dentro:

set default="0"
set timeout=3

    menuentry "Debian Custom Live" {
        linux /live/vmlinuz-4.9.0-6-amd64 boot=live persistence persistence-encryption=luks keyboard-layouts=it locales=en_US.UTF-8,it_IT.UTF-8
        initrd /live/initrd.img-4.9.0-6-amd64
}

Fix syslinux:

# mv /mnt/live/isolinux /mnt/live/syslinux/
# mv /mnt/live/syslinux/isolinux.bin /mnt/live/syslinux/syslinux.bin
# mv /mnt/live/syslinux/isolinux.cfg /mnt/live/syslinux/syslinux.cfg
# rm /mnt/live/syslinux/menu.cfg
# nano /mnt/live/syslinux/menu.cfg

ed incollare dentro:

LABEL Debian GNU/Linux Live (kernel 4.9.0-6-amd64)
  SAY "Booting Debian GNU/Linux Live (kernel 4.9.0-6-amd64)..."
  linux /live/vmlinuz-4.9.0-6-amd64
  APPEND initrd=/live/initrd.img-4.9.0-6-amd64 boot=live components persistence persistence-encryption=luks keyboard-layouts=it locales=en_US.UTF-8,it_IT.UTF-8

per verificare la versione del kernel:

# ls live/chroot/boot/

output:

root@debianbox:/home/edmond# ls live/chroot/boot/
config-4.9.0-6-amd64  initrd.img-4.9.0-6-amd64    vmlinuz-4.9.0-6-amd64
grub              System.map-4.9.0-6-amd64

Smontaggio e pulizia:

# umount /mnt/efi /mnt/live /mnt/live-iso
# rmdir /mnt/efi /mnt/live /mnt/persistence /mnt/live-iso

a questo punto basta riavviare e fare il boot in modalità uefi oppure legacy, in entrambi i casi ad un certo punto del boot verrà chiesto la password, senza la quale il sistema operativo non si avvierà. Successivamente si potranno installare tutti i programmi di cui si necessiterà, e fare le proprie personalizzazioni. In più si possono conservare files in modo sicuro poichè la pen drive  è inaccessibile senza password.

Debian Stretch Live UEFI-BIOS Persistente Sicura

ps: in caso di password complicate, fare attenzione al layout, poiche in fase di boot è quello di grub

enjoy ๐Ÿ˜‰

 

TorBrowser su Debian 9 Stretch

 

TorBrowser su Debian 9 Stretch

TorBrowser su Debian 9 Stretch

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.  Per installare TorBrowser su Debian Stretch si possono utilizzare due strade:

Repository Backports:

# printf "deb https://deb.debian.org/debian stretch-backports main contrib" > /etc/apt/sources.list.d/stretch-backports.list
# apt update
# apt install torbrowser-launcher -t stretch-backports

Repository torproject:

# printf "deb https://deb.torproject.org/torproject.org stretch main" > /etc/apt/sources.list.d/tor.list
# gpg --keyserver keys.gnupg.net --recv A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89
# gpg --export A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89 | sudo apt-key add -
# apt-get install tor deb.torproject.org-keyring

avviare tor e partirà l'installazione. Nel caso si bloccasse su "signature verification", avviare dal menu Tor Browser Launcher Settings e cambiare server.

TorBrowser su Debian 9 Stretch

enjoy ๐Ÿ˜‰

 

Creare una Debian Stretch Live Custom persistente Sicura

 

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Guida su come creare una propria Debian Live personalizzata con partizione persistente in modalità UEFI. In passato avevo già fatto una guida simile per Debian Jessie, ma ho utilizzato direttamente l'immagine live ufficiale con firmware non-free. Questo metodo utilizza un'approccio diverso nella costruzione della live, ma l'obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in sicurezza senza memorizzare dati su disco, e senza rinunciare ad una partizione dove poter stipare dati sensibili. Per cifrare la partizione persistente userò LUKS.

Pacchetti da installare:

$ sudo apt install -y debootstrap grub-common grub-pc-bin grub-efi-amd64-bin efibootmgr syslinux squashfs-tools cryptsetup

Creazione Environment:

$ sudo mkdir $HOME/debian_live
$ sudo debootstrap --arch=amd64 --variant=minbase stretch $HOME/debian_live/chroot https://ftp.it.debian.org/debian/
$ sudo chroot $HOME/debian_live/chroot
# echo "debian-live" > /etc/hostname
# echo 'deb https://ftp.it.debian.org/debian/ stretch main contrib non-free' > /etc/apt/sources.list
# apt update

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.9.0-4-amd64 linux-headers-4.9.0-4-amd64

Installazione dei pacchetti personalizzati (nel mio caso solo quelli sotto)

# apt install -y mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd live-boot systemd-sysv network-manager net-tools wireless-tools nano gparted x11-xserver-utils x11-utils pciutils usbutils ntfs-3g rsync dosfstools syslinux firefox-esr chromium xserver-xorg-input-synaptics vpnc network-manager-gnome network-manager-vpnc-gnome network-manager-openvpn-gnome gtkterm vsftpd putty openssh-client firmware-linux-nonfree firmware-iwlwifi firmware-linux-free vlc terminator synaptic p7zip-full rar unrar zip ssh wget curl mesa-utils dnsmasq grub2-common grub-efi-amd64 grub-pc-bin xkb-data keyboard-configuration tzdata locales cryptsetup encfs wireshark-gtk aircrack-ng nmap zenmap

# apt clean

Password per root:

# passwd root
# exit

Comprimere il tutto in uno squash filesystem:

$ sudo mkdir -p $HOME/debian_live/image/
$ sudo mksquashfs $HOME/debian_live/chroot $HOME/debian_live/image/filesystem.squashfs -noappend -e boot

Copiare kernel e initramfs fuori chroot:

$ sudo cp $HOME/debian_live/chroot/boot/vmlinuz-4.9.0-4-amd64 $HOME/debian_live/image/vmlinuz-4.9.0-4-amd64
$ sudo cp $HOME/debian_live/chroot/boot/initrd.img-4.9.0-4-amd64 $HOME/debian_live/image/initrd.img-4.9.0-4-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sda di 16G)

Negli step successivi verranno create 3 partizioni:

  1. partizione in fat32 EFI
  2. partizione in fat32 che contiene il sistema Linux
  3. partizione in ext4 persistente criptata con LUKS
$ sudo fdisk -l
$ sudo umount /dev/sda*
$ sudo dd count=1 bs=512 if=/dev/zero of=/dev/sda
$ sudo parted -s -- /dev/sda mktable gpt mkpart efi 1 100M set 1 boot on
$ sudo parted -s -- /dev/sda mkpart system 100 2G
$ sudo parted -s -- /dev/sda mkpart persistence 2G 16G
$ sudo mkdir -p /mnt/{usb,efi,persistence}
$ sudo mkfs.fat -F32 -n efi /dev/sda1
$ sudo mkfs.fat -F32 -n system /dev/sda2
$ sudo mkfs.ext4 -L persistence /dev/sda3

Montaggio delle partizioni EFI e di Sistema:

$ sudo mount /dev/sda1 /mnt/efi/
$ sudo mount /dev/sda2 /mnt/usb/

Installazione di Grub-EFI:

$ sudo grub-install --target=x86_64-efi --efi-directory=/mnt/efi --boot-directory=/mnt/usb/boot --removable --recheck

Copiare il sistema nella seconda partizione:

$ sudo rsync -rv $HOME/debian_live/image/ /mnt/usb/live/

Creare il file grub.cfg ed incollare dentro:

$ sudo nano /mnt/usb/boot/grub/grub.cfg
set default="0"
set timeout=3

menuentry "Debian Custom Live" {
    linux /live/vmlinuz-4.9.0-4-amd64 boot=live persistence persistence-encryption=luks
    initrd /live/initrd.img-4.9.0-4-amd64
}

Creazione della partizione persistente criptata con LUKS:

$ sudo cryptsetup --verbose --verify-passphrase luksFormat /dev/sda3

rispondere YES

$ sudo cryptsetup luksOpen /dev/sda3 live
$ sudo mkfs.ext4 -L persistence /dev/mapper/live
$ sudo  mount /dev/mapper/live /mnt/usb
$ sudo su
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sda*
# exit

sopra non abbiamo fatto altro che creare una cartella live che verrà montata in /dev/mapper/, ed aprire e chiudere la partizione persistente. Per accedere alla partizione da adesso in poi bisognerà digitare una password, dopodichè si potranno mettere i files importanti da portarsi dietro.

Creare una Debian Stretch Live Custom persistente Sicura

Creare una Debian Stretch Live Custom persistente Sicura

Perchè questa chiavetta è sicura?

  1. avviandola per prima cosa verrà chiesta la password per accedere al sistema
  2. il file system è in read only, quindi tutte le modifiche ed i files modificati verranno persi al riavvio.
  3. partizione persistente a cui non è possibile accedere senza password

Creare una Debian Stretch Live Custom persistente Sicura

enjoy ๐Ÿ˜‰

 

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

 

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

Dopo avere installato Fluxion su Debian Stretch, il passo successivo è quello di provare a craccare la password di una rete wifi con cifratura WPA2. Con Fluxion si può tentare un attacco cercando di recuperare la password contando sull'ingenuità dell'utente che si collega, certamente è molto più facile in quelle rete pubbliche/private frequentate da tante persone, poichè ci sono diverse persone che si loggano in breve tempo, ed in mezzo a loro ci sarà sempre qualcuno meno attento. Quindi in questo caso useremo Fluxion e sarà l'utente a servirci la password su un piatto d'argento senza ricorrere ad una attacco bruteforce o dizionario.

Lanciare Fluxion che in modo automatico metterà la scheda in modalità mode monitor:

$ cd fluxion
$ sudo ./fluxion.sh

scegliere la lingua:

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

premere 1 per fare uno scanning su tutti i canali:

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

apparirà la finestra Wifi Monitor, che almeno nel mio caso non rileva nessuna rete, infatti come si vede sotto ho una finestra aperta nel terminale per fare un paio di riavvi della scheda, cosicchè da potermi mostrare le reti:

$ sudo /etc/init.d/network-manager restart

Cracking WIFI WPA2 con Debian Stretch e Fluxion

Cracking WIFI WPA2 con Debian Stretch e Fluxion

dopo che Wifi Monitor ha rilevato le reti, chiudere la finestra, e le reti appariranno nel terminale Fluxion, quindi scegliere la rete da attaccare, nel mio caso ho scelto ASUS-MS che è una mia rete wifi con 8 caratteri alfa numerici con maiuscole/minuscole, con cifratura WPA2:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

io ho utilizzato il menu 2 FakeAP-airbase-ng:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 Handshake:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

premere invio:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 e scegliere pyrit:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 scegliere Deauth all:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

si aprirà una finestra in alto a destra che dovrà mostrare necessariamente la cattura  della Handshake, in caso contrario riprovare. Successivamente premere 1 per fare un controllo Handshake

Cracking WIFI WPA2 con Debian Stretch e Fluxion

menu 1 per la creazione di un certificato SSL:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

scegliere web interface:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

nella nuova finestra appariranno in diverse lingue alcune pagine di login, che serviranno come login per il primo che si conneterà:

Cracking WIFI WPA2 con Debian Stretch e Fluxion

a questo punto siamo pronti a lanciare un attacco ed a metterci in modalità stealth. Come si può vedere nella finestra in alto a sinistra il server è in attesa di raccogliere le informazioni e lo stesso vale per la finestra in basso a sinistra. Nella finestra in altro a destra apparirà il client che si collegherà.

Cracking WIFI WPA2 con Debian Stretch e Fluxion

quando l'ignaro utente si collegherà ad internet si aprirà una pagina pop up ed immeterà la password che noi siamo pronti a "raccogliere":

Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion Cracking WIFI WPA2 con Debian Stretch e Fluxion

come si vede sotto non bisogna fare altro che andare in /root/ e leggere la password in chiaro

Cracking WIFI WPA2 con Debian Stretch e Fluxion

Cracking rete WIFI WPA2 con Debian Stretch e Fluxion

PS: Questa guida è solo a scopo informativo, ricordo che il cracking senza il consenso del proprietario della rete è illegale,illegale,illegale

enjoy ๐Ÿ˜‰

 

Bloccare tastiera e mouse con schermo attivo

 

Bloccare tastiera e mouse con schermo attivo

Bloccare tastiera e mouse con schermo attivo

Se ci si deve allontana momentaneamente dal pc potrebbe essere utile renderlo velocemente inaccessibile, bloccando la tastiera, il mouse, e lasciando nel contempo lo schermo attivo. Per ottenere ciò in ambiente Linux basta installare xtrlock, creare un piccolo script e poi creare una scorciatoia di tastiera per attivare il blocco:

# apt install xtrlock
# nano /usr/local/bin/lockmk

incollare dentro:

#!/bin/bash
sleep 1 && xtrlock

settare i permessi e renderlo eseguibile:


# chmod a+x /usr/local/bin/lockmk

se si usa Mate, come desktop environment, andare in System>Preferences>Hardware>Keyboard Shortucts, poi andare su Add, scegliere il nome e come comando inserire:

bash -c "sleep 1 && xtrlock"

a questo punto col doppio click si memorizza la scorciatoia, pigiando per esempio CTRL-K, chiudere e poi fare le prove. Si blocca con CTRL-K e si sblocca, mettendo la password utente e premendo invio.

Bloccare tastiera e mouse con schermo attivo

enjoy ๐Ÿ˜‰

 

Installare VeraCrypt su Debian 9 Stretch

 

Installare VeraCrypt su Debian 9 Stretch

Installare VeraCrypt su Debian 9 Stretch

VeraCrypt è un software open-source di crittografia di hard disk, partizioni e chiavette usb. E' un fork del defunto TrueCrypt, che io gia usavo più di 10 anni fa. VeraCrypt è disponibile per Linux, Mac OS, Windows, DragonFly BSD e Android. Ha un ottima interfaccia, rispetto a zuluCrypt che si trova nei repository.

Installazione su Debian Stretch:

$ mkdir veracrypt
$ cd veracrypt
$ wget https://launchpad.net/veracrypt/trunk/1.19/+download/veracrypt-1.19-setup.tar.bz2
$ tar xjvf veracrypt-1.19-setup.tar.bz2
$ sudo ./veracrypt-1.19-setup-gui-x64

alla fine dell'installazione si è pronti a creare una chiavetta usb cryptata da utilizzare con qualsiasi OS.

enjoy ๐Ÿ˜‰

 

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

dd-wrt

OpenVPN con DD-WRT Debian ed iPhone con ios 10. Con l'arrivo di ios 10 non è più possibile utilizzare una VPN PPTP , ed era quella che io usavo velocemente per connettermi al mio router linksys e1220 aggiornato con dd-wrt. Questa guida mostra come ottenere una VPN funzionante utilizzando OpenVpn server direttamente dal nostro router, e come creare i vari certificati e chiavi con relativa configurazione lato client, questo sia su Debian che su iPhone 6S con ios 10. Io utilizzo Debian Jessie, ma questa guida vale per tutte le distro. Iniziamo.

OpenVPN con DD-WRT Debian ed iPhone con ios 10

Installazione server OpenVpn:

# apt install openvpn easy-rsa
# mkdir /etc/openvpn/easy-rsa/
# cp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
# nano /etc/openvpn/easy-rsa/vars

a questo punto modificare in base alle proprie esigenze il file vars, come sotto, così successivamente basterà premere Invio quasi sempre.

export KEY_COUNTRY="IT"
export KEY_PROVINCE="Lombardia"
export KEY_CITY="Milano"
export KEY_ORG="DDWRT-VPN"
export KEY_EMAIL="me@myhost.mydomain"
export KEY_OU="DDWRT-VPN"

Creazione certificati/chiavi lato server:

# cd /etc/openvpn/easy-rsa
# source vars
# ./clean-all
# ./build-ca
# ./build-key-server serverddwrt
# ./build-dh

i certificati verranno creati in /etc/openvpn/easy-rsa

Creazione certificati/chiavi lato client:

io ho creato diverse chiavi per i miei devices:

# source vars
# ./build-key iphone
# ./build-key ipad
# ./build-key debianbox
# ./build-key win10

a questo punto tutti i certificati e le chiavi sono state create nella cartella keys in /etc/openvpn/easy-rsa/keys. Non rimane che accedere al nostro router di solito , ed andare in Services-VPN ed abilitare OpenVPN Server/Daemon, come si vede nell'immagine sotto. Nel mio caso la mia rete è 192.168.1.1 e per OpenVpn ho scelto la classe IP 192.168.75.0.

OpenVPN su DD-WRT Debian ed iPhone con ios 10

adesso bisogna aprire con un editor di testo i vari certificati e fare un copia ed incolla di tutto quello che si trova tra –BEGIN CERTIFICATE– e —END CERTIFICATE–. I certificati da incollare direttamente nella web gui sono i seguenti:

Public Server Cert= serverddwrt.crt
CA CERT= ca.crt
Private Server Key = serverddwrt.key
DH PEM = dh2048.pem

ddwrt-openserver-crt

nella sezione più in basso Additional Config inserire:

push "route 192.168.1.0 255.255.255.0"
push "redirect-gateway def1 bypass-dhcp"
dev tun0
proto tcp
keepalive 10 120

poi andare in Administration-Commands ed inserire:

iptables -I INPUT 1 -p tcp --dport 1194 -j ACCEPT
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
iptables -I FORWARD 1 --source 192.168.1.0/24 -j ACCEPT
iptables -I FORWARD -i br0 -o tun0 -j ACCEPT
iptables -I FORWARD -i tun0 -o br0 -j ACCEPT

e premere Save Firewall.

firewall

per avere conferma che tutto è andato bene, portarsi in Status-OpenVpn e si dovrebbe leggere Server: CONNECTED SUCCESS

ddwrt-openvpn

 

Configurazione di OpenVpn client su Debian Jessie:

# apt install network-manager-openvpn network-manager-openvpn-gnome

e configurarlo come sotto:

network-manager-openvpn

network-manager-openvpn-advanced

 

Configurazione iPhone:

OpenVPN con DD-WRT Debian ed iPhone con ios 10

 

Per prima cosa installare direttamente da Apple Store OpenVpn. Dopodichè creare un file iphone.ovpn come sotto:

client
dev tun
proto tcp
remote inserire_indirizzo_IP/DDNS 1194
nobind
persist-key
persist-tun
verb 4
float
ca ca.crt
cert iphone.crt
key iphone.key
comp-lzo yes
tun-mtu 1500
auth SHA1
cipher AES-256-CBC

a questo punto tramite iTunes, caricare all'interno del programma OpenVpn i 4 files:

  1. ca.crt
  2. iphone.crt
  3. iphone.key
  4. iphone.ovpn

OpenVPN con DD-WRT Debian ed iPhone con ios 10

enjoy ๐Ÿ˜‰

 

 

Generare codice QR per rete wifi da terminale

 

codice-qr

 

 

Per generare un codice QR della propria rete wifi ospiti, si può usare il terminale con l'aiuto di qrencode e zenity.

 

# apt-get install qrencode zenity

 

per creare il codice QR wifi:

 

$ qrencode -s 5 -o code-qr-wifi.png "WIFI:S:$(zenity --entry --text="Nome Rete (SSID)" --title="Creazione QR Wifi");T:WPA2;P:$(zenity --password --title="Password Wifi");;"

 

Qual'è il nome/password della mia rete ospiti?

 

enjoy ๐Ÿ˜‰