Creare usb Windows 10 UEFI con Debian 10 e WoeUSB-fronted-wxgtk

Creare una usb bootable Windows 10 da Gui Debian
Creare usb Windows 10 in UEFI con Debian 10 e WoeUSB-fronted-wxgtk

Guida su come creare una usb bootable con Windows 10 in UEFI mode, direttamente da Debian 10 utilizzando Woeusb-fronted-wxgtk come Gui. Precedentemente avevo già fatto una guida utilizzando Woeusb, ma ci sono state delle modifiche. Ancora prima un’altra guida, per lo stesso scopo, ma utilizzando solamente il terminale. Questo metodo è molto più semplice e veloce:

$ sudo apt install devscripts equivs git python3-pip
$ git clone https://github.com/WoeUSB/WoeUSB-frontend-wxgtk.git
$ cd WoeUSB-frontend-wxgtk/
$ ./setup-development-environment.bash
$ mk-build-deps
$ sudo dpkg -i woeusb-build-deps_*
$ sudo apt install -f
$ dpkg-buildpackage -uc -b
$ sudo dpkg -i ../woeusb*.deb
$ sudo apt install -f
Creare usb Windows 10 in UEFI con Debian 10 e WoeUSB-fronted-wxgtk

enjoy 😉

 

Pen drive con Debian Buster Live Custom Persistente Criptata

Pen drive con Debian Buster Live Custom Persistente CriptataPen drive con Debian Buster Live Custom Persistente Criptata

Guida su come creare una chiavetta usb, equipaggiata con Debian Buster, in  modalità Live, con partizione persistente, e boot in  UEFI mode. L’obiettivo è quello di avere una usb bootable con i propri tools preferiti, e che ci permette di navigare in internet in piena sicurezza senza rinunciare ad una partizione dove poter stipare tutti i dati sensibili. Per cifrare la partizione persistente userò LUKS. Tutti i comandi verranno eseguiti come root, con il comando ” su  – ” per non avere errori simili a questo:

Pacchetti da installare:

# su -
# apt install fuse libfuse-dev libicu-dev bzip2 libbz2-dev cmake clang git libattr1-dev zlib1g-dev libfuse3-dev debootstrap squashfs-tools rsync

Creazione Environment:

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

Installazione kernel:

# apt-cache search linux-image
# apt install -y linux-image-4.19.0-6-amd64 linux-headers-4.19.0-6-amd64

Installazione dei pacchetti personalizzati (nel mio caso quelli sotto)

# apt install -y mate-desktop-environment-extra 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 encfs wireshark-gtk aircrack-ng nmap zenmap

a questo punto abbiamo bisogno di installare la versione di cryptsetup 2:2.2.1-1  presente nei repo testing, per evitare il problema di cui sotto:

cryptsetup: WARNING: The initramfs image may not contain cryptsetup binaries
nor crypto modules. If that's on purpose, you may want to uninstall the
'cryptsetup-initramfs' package in order to disable the cryptsetup initramfs

Aggiungere i repo testing ed installare cryptsetup:

# echo 'deb http://ftp.it.debian.org/debian/ testing main contrib non-free' > /etc/apt/sources.list
# apt update
# apt install -t testing cryptsetup
# apt clean

Reinserire i repo stable:

# echo 'deb http://ftp.it.debian.org/debian/ buster main contrib non-free' > /etc/apt/sources.list
# apt update

Aggiungere utenti e password:

# passwd root
# adduser nome_utente
# exit

Comprimere il tutto in uno squash filesystem:

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

Copiare kernel e initramfs fuori chroot:

# cp $HOME/debian_live/chroot/boot/vmlinuz-4.19.0-6-amd64 $HOME/debian_live/image/vmlinuz-4.19.0-6-amd64
# cp $HOME/debian_live/chroot/boot/initrd.img-4.19.0-6-amd64 $HOME/debian_live/image/initrd.img-4.19.0-6-amd64

Preparazione chiavetta usb: (nel mio caso /dev/sdb di 16G). Negli steps 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
# fdisk -l
# umount /dev/sdb*
# dd count=1 bs=512 if=/dev/zero of=/dev/sdb
# parted -s -- /dev/sdb mktable gpt mkpart efi 1 100M set 1 boot on
# parted -s -- /dev/sdb mkpart system 100 2G
# parted -s -- /dev/sdb mkpart persistence 2G 16G
# mkdir -p /mnt/{usb,efi,persistence}
# mkfs.fat -F32 -n EFI /dev/sdb1
# mkfs.fat -F32 -n SYSTEM /dev/sdb2
# mkfs.ext4 -L persistence /dev/sdb3

Montaggio delle partizioni EFI e di Sistema:

# mount /dev/sdb1 /mnt/efi/
# mount /dev/sdb2 /mnt/usb/

Installazione di Grub-EFI:

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

Copiare il sistema nella seconda partizione:

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

Creare il file grub.cfg:

# nano /mnt/usb/boot/grub/grub.cfg

ed incollare dentro:

set default="0"
set timeout=3
menuentry "Debian Custom Live" {
linux /live/vmlinuz-4.19.0-6-amd64 boot=live persistence persistence-encryption=luks
initrd /live/initrd.img-4.19.0-6-amd64
}

Creazione della partizione persistente criptata con LUKS:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3

rispondere YES e creare la password:

# cryptsetup luksOpen /dev/sdb3 live
# mkfs.ext4 -L persistence /dev/mapper/live
# mount /dev/mapper/live /mnt/usb
# echo "/ union" > /mnt/usb/persistence.conf
# umount /mnt/usb/
# cryptsetup luksClose live
# umount /dev/sdb*
# 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 al boot, dopodichè si potranno mettere i files importanti da portarsi dietro. Al primo avvio dare i comandi:

# apt update
# apt upgrade
# apt install -f

Pen drive con Debian Buster Live Custom Persistente Criptata

enjoy 😉

 

(Sicurezza) Bloccare porte usb

 

Questo è un piccolo trucchetto che serve a bloccare le porte usb. Immaginando uno scenario dove ci sono tante persone e ci si deve assentare lasciando il pc acceso, può succedere che qualche malintenzionato, approfittando della nostra assenza, inserisca una chiavetta usb,un ipod, un hard disk esterno ecc ecc, per copiare un file che per noi è importante. Per ovviare a questa situazione c'è un metodo veloce veloce:

 

# nano /etc/modprobe.d/blacklist.conf

 

ed inserire:

 

# Blocco accesso USB.
blacklist usb_storage

 

quindi riavviare. A questo punto chiunque inserirà una usb, non riuscirà ad utilizzarla. Per tornare ad una situazione di "normalità" basta commentare la stringa #blacklist usb_storage, e si potranno utilizzare le porte usb immediatamente.

 

enjoy 😉

Login e autenticazione da penna Usb in Linux

 

 

 

Qualche tempo fa ho fatto una guida intitolata Login e autenticazione facciale in Linux, dove avevo sperimentato sul mio netbook Aspire One, l'uso della webcam come ulteriore strumento di sicurezza, sia in fase di login che in fase di amministrazione, e devo dire che ha funzionato bene, tanto è vero che lo utilizzo ancora. Oggi invece voglio fare la stessa guida,  con la differenza che al posto della webcam si usa una chiavetta usb, in questo modo anche chi non ha la webcam o non vuole usarla, ha un modo alternativo per sperimentare. Anche questa volta utilizzerò PAM che ci aiuterà nell'impresa, per la felicità di Toshidex che di PAM ha fatto una categoria sul suo blog 🙂

Requisiti:

$ sudo apt-get install pmount pamusb-tools libpam-usb

inserire la chiavetta usb, anche se contiene altri dati non ha importanza, nulla sarà perso, ed aggiungere il device con il nome scelto (nel mio caso usb-security) a /etc/pamusb.conf con il seguente comando:

$ sudo pamusb-conf --add-device usb-security

come si può vedere sotto la chiavetta è stata subito riconosciuta:

root@debian:/home/edmond# pamusb-conf –add-device usb-security
Please select the device you wish to add.
* Using "Sony Storage Media (Sony_Storage_Media_OE07042910585-0:0)" (only option)

Which volume would you like to use for storing data ?
* Using "/dev/sdg1 (UUID: 3FB2-8744)" (only option)

Name        : usb-security
Vendor        : Sony
Model        : Storage Media
Serial        : Sony_Storage_Media_OE07042910585-0:0
UUID        : 3FB2-8744

Save to /etc/pamusb.conf ?
[Y/n]
Done.

aggiungere anche l'utente a /etc/pamusb.conf:

$ sudo pamusb-conf --add-user edmond

quindi come si può vedere sotto, abbiamo collegato l'utente al device:

root@debian:/home/edmond# pamusb-conf –add-user edmond
Which device would you like to use for authentication ?
* Using "usb-security" (only option)

User        : edmond
Device        : usb-security

Save to /etc/pamusb.conf ?
[Y/n]
Done.

adesso non ci rimane altro che modificare il file /etc/pam.d/common-auth, per far sì che possa utilizzare la nostra password di sistema.

Importante:

consiglio di tenere due shell aperte come root, nel caso qualcosa andasse storto, cosicchè si possa tornare alla configurazione normale del file /etc/pam.d/common-auth.

quindi:

$ sudo nano /etc/pam.d/common-auth

la configurazione deve essere la seguente:

#auth    [success=1 default=ignore]      pam_unix.so nullok_secure
auth   required      pam_unix.so nullok_secure
auth    sufficient      pam_usb.so
 

per tornare alla situazione normale invece:

auth    [success=1 default=ignore]      pam_unix.so nullok_secure
#auth   required      pam_unix.so nullok_secure
#auth    sufficient      pam_usb.so
 

se tutto è andato bene, da questo momento in poi l'autenticazione al login e come amministratore di sistema può avvenire solo con la chiavetta inserita. A questo proposito si possono fare delle prove aprendo il terminale per acquisire i privilegi di root e verificare se tutto funziona:

$ su edmond

 

 

enjoy 🙂

 

Boot da usb senza supporto del Bios

 

 

Uno dei miei pc non ha il supporto per il boot da usb, ed allora mi sono chiesto come fare ad ovviare a questo problema, anche perchè è molto più comodo fare delle installazioni da chiavetta usb, che non ogni volta bruciare un cd/dvd. A questo proposito ho trovato in rete proprio quello che fa al caso mio, e cioè PLoP Boot Manager. Il suo utilizzo è veramente semplice

Scaricare PLoP Boot Manager

scompattarlo, entrare nella cartella e masterizzare il file plpbt.iso. Adesso basta inserire il cd masterizzato, settare il boot da cdrom, e inserire la chiavetta usb, una volta riavviato il pc, PLoP si occuperà di mostrarci un menu di avvio, compresa la famosa voce usb. Veramente un ottimo tool.

enjoy 😉

USB 3.0 e Linux una scheggia

 

Oggi sono andato alla fiera dell'elettronica di Busto Arsizio (VA), per curiosare e vedere se ci fossero delle novità o qualcosa che attirasse la mia attenzione. Io queste fiere le seguo sempre, di solito frequento anche quelle di Erba (CO) Novegro (MI) e Cremona. Comunque curiosando di quà e di là ho acquistato qualcosa, alla fine me la sono cavata fortunatamente con una spesa di circa 120€ in totale. Il pezzo pregiato dei miei acquisti è stata una pen drive da 16g con standard USB 3.0 al prezzo di 39€, mentre quella USB 2.0 costava 26€. Una volta arrivato a casa mi sono messo subito a testarla, ed a questo proposito, bisogna ricordare che Linux per primo ha il supporto nativo per questo standard, fin dal kernel 2.6.31. Comunque per far capire la velocità di questo standard ho fatto una prova sul mio pc che ha come hub:

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Per prima cosa ho formattato la pen drive con dd, dato che gparted non riusciva a formattarla:

$ dd if=/dev/zero of=/dev/sdX

Test:

copia di un file video di 1g su una pen drive Sony da 2g:

Bus 001 Device 015: ID 054c:0243 Sony Corp. MicroVault Flash Drive

Risultato:

real    5m29.500s
user    0m0.008s
sys    0m2.512s

copia dello stesso file su ADATA Nobility Series N005 USB 3.0:

Bus 001 Device 016: ID 125f:105a A-DATA Technology Co., Ltd.

Risultato:

real    0m42.896s
user    0m0.024s
sys    0m2.740s

il risultato direi che è ottimo…una scheggia 🙂
 

Duplicare chiave usb

 

A volte può essere utile duplicare una chiave usb blocco per blocco, basti pensare ad una chiavetta con dentro una distro live e che vogliamo per vari motivi trasferirla su di un' altra chiavetta. A questo proposito ci viene in aiuto il comando " dd ":

smontare chiave usb:

# sudo umount dev/sdg1

sdg1 si riferisce alla mia chiavetta.

duplicare la chiave in un file:

$ dd if=/dev/sdg1 | gzip -9 | dd of=/home/edmond/Desktop/backup.gz bs=1024k

oppure l'operazione inversa, da un file verso la chiavetta:

$ zcat /home/edmond/Desktop/backup.gz | dd of=/dev/sdg1 bs=1024k

oppure direttamente da chiavetta a chiavetta:

$ dd if=/dev/sdg1 of=/dev/sdh1 bs=1024k

Mount penna usb senza togliere-reinserire

 

 

A volte quando ci si trova ad usare una penna usb, con programmi come gparted o altri, si crea quella situazione in cui per poter riutilizzarla nuovamente, bisogna toglierla e reinserirla. Per ovviare a questo problema di seguito espongo un tip & trick.

La mia penna è vista come sdg, quindi:

$ eject /dev/sdg; sleep 1; eject -t /dev/sdg

 

Usb wireless WG111v3 e Linux

 

Io possiedo un paio di chiavette wireless tra cui una WG111v3 Netgear, e come spesso succede nel mondo Linux non esistono driver. Quindi per farla funzionare bisogna rivolgersi a ndiswrapper ed usare i driver di windows scaricabili da qua.

apt-get install ndiswrapper-utils-1.9

 

dopodichè scompattare e  portarsi nella cartella wg111 ed installare i driver

 ndiswrapper -i WG111v3.inf

 a questo punto basta caricare il modulo

modprobe ndiswrapper

controlliamo con

ndiswrapper -l

ed otterremo qualcosa di simile

DebianBox:/home/edmond# ndiswrapper -l
wg111v3 : driver installed
device (0846:4260) present

nel caso ci trovassimo di fronte ad un errore simile

FATAL: Module ndiswrapper not found.

possiamo risolvere il problema con module-assistant

apt-get install module-assistant ndiswrapper-source

compiliamo i moduli di ndiswrapper

m-a a-i ndiswrapper

ricarichiamo il modulo

modprobe ndiswrapper

adesso tutto dovrebbe funzionare.