Creare una Debian Live personalizzata con live build

 

Creare una Debian Live personalizzata con live build

Creare una Debian Live personalizzata con live build

Dopo la guida precedente su come Creare una Debian Stretch Live Custom persistente Sicura , ecco un altro metodo per costruirsi una propria distribuzione Linux personalizzata basata su Debian. Questa volta useremo live build al posto di debootstrap, siccome le confgurazione sono moltissime, è meglio leggere prima la documentazione su live-config, e live-build.

$ 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 http://ftp.it.debian.org/debian/ --mirror-binary http://ftp.it.debian.org/debian --bootappend-live "boot=live components timezone=Europe/Rome locales=en_GB.UTF-8 keyboard-layouts=it hostname=Debian-Custom username=user noeject autologin"

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

$ nano config/package-lists/live.list.chroot
mate-desktop-environment task-laptop xorg xinit xserver-xorg-input-evdev xserver-xorg-input-libinput xserver-xorg-input-kbd

volendo si può anche cambiare l’immagine di boot, proprio come ho fatto io. Serve un immagine di 640×480 dal nome splash.png, crearsela oppure scaricare la mia. Ipotizzando che il file splash.png si trova nella home:

$ cd config; mkdir bootloaders
$ sudo cp -r /usr/share/live/build/bootloaders/isolinux bootloaders/
$ sudo rm bootloaders/isolinux/splash.svg
$ sudo cp $HOME/splash.png bootloaders/isolinux/splash.png
$ cd ..
$ sudo lb build

a questo punto non resta che provare la nostra Debian Stretch personalizzata, tramite VirtualBox oppure direttamente da chiavetta usb:

$ sudo su
# dd if=live-image-amd64.hybrid.iso of=/dev/sdX bs=4M status=progress

con questa configurazione utente e password sono le solite:

user=user
password=live

Creare una Debian Live personalizzata con live build

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 http://ftp.it.debian.org/debian/
$ sudo chroot $HOME/debian_live/chroot
# echo "debian-live" > /etc/hostname
# echo 'deb http://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 😉

 

Systemback su Debian Stretch

 

Systemback su Debian Stretch

Systemback su Debian Stretch

Systemback è una applicazione indispensabile, che permette in modo grafico di effettuare un gran numero di cose. Da quello che ho letto non è più supportata, e siccome reputo questo tool valido, ho deciso di riprenderlo in mano e fare delle modifiche allo script per poterlo utilizzare su Debian 9 Stretch. Con Systemback si è in grado di ottenere:

  • Backup di sistema
  • Installazione dell'identico sistema con user e password diversi su altra partizione
  • Ripristino parziale o totale de backup
  • Creazione di immagine Live del proprio sistema
  • Creazione di immagini iso del proprio sistema

Scaricare Systemback

poi:

$ tar xvf Systemback_Debian_Stretch.tar.xz
$ cd Systemback_Debian_Stretch/
$ sudo ./install.sh

il programma andrà lanciato come root, ed in Mate sarà presente nel menu System Tools oppure da terminale:

$ systemback-sustart

 

Systemback su Debian Stretch

Systemback su Debian Stretch

enjoy 😉

 

Creare una usb bootable Win10 da Debian 9

 

Creare una usb bootable Win10 da Debian 9

Creare una usb bootable Win10 da Debian 9

Per creare una usb bootable di Windows 10 non bisogna necessariamente ricorrere a programmi Windows, come Rufus o lo strumento che mette a disposizione Microsoft, ma bensì direttamente da ogni distibuzione Gnu-Linux. Gli strumenti che io utilizzo sono: dd, parted, p7zip-full. Ad ogni modo la chiavetta usb si può preparare in modo grafico utilizzando gparted.

# apt install parted p7zip-full

Identificare la chiavetta usb:

# fdisk -l

nel mio caso /dev/sdc di 16G

Formattazione:

# dd count=1 bs=512 if=/dev/zero of=/dev/sdc

 
Creazione tabella delle partizioni più 1 partizione in fat32:

# parted /dev/sdc
(parted) mklabel msdos                                          
(parted) mkpart primary fat32 1 16G                                 
(parted) set 1 boot on                                                   
(parted) q
# mkfs.fat -n win10 /dev/sdc1
# mount /dev/sdc1 /mnt
# cd /mnt/
# 7z x /percorso_win_iso_scaricata/windows10.iso
# cd ..
# umount /dev/sdc1

Creare una usb bootable Win10 da Debian 9

adesso la nostra usb con windows 10 è pronta per essere testata.

enjoy 😉

 

Teamviewer 12 64 bit su Debian Stretch

Teamviewer 12 64 bit su Debian Stretch

Teamviewer 12 64 bit su Debian Stretch

Per installare Teamviewer 12 su Debian Stretch 64 BIT, bisogna prima abilitare il supporto al Multi-Arch. e poi procedere con l'installazione:

$ wget https://download.teamviewer.com/download/teamviewer_i386.deb
# dpkg --add-architecture i386
# apt update
# dpkg -i teamviewer_i386.deb
# apt install -f

Teamviewer 12 64 bit su Debian Stretch

enjoy 😉

Installare Fluxion su Debian Stretch

 

Installare Fluxion su Debian Stretch

Installare Fluxion su Debian Stretch

Fluxion al momento è uno dei migliori tools per il cracking wifi, con password WPA/WPA2 senza ricorrere ed  attacchi bruteforce o dizionario. Per installare Fluxion su Debian Stretch, bisogna risolvere alcune dipendenze, sopratutto quella di pyrit, non più presente nei repository Debian.

Installazione dipendenze:

$ sudo apt install -y aircrack-ng reaver rfkill macchanger isc-dhcp-server curl hostapd lighttpsd nmap mdk3 php-cgi python-scapy python-pip forensics-extra unzip xterm libpcap-dev libpcap0.8-dev
$ sudo pip install psycopg2
$ sudo pip install libsass
$ sudo pip install scapy

Installazione pyrit:

git clone https://github.com/JPaulMora/Pyrit.git
cd Pyrit/
python setup.py clean
python setup.py build
sudo python setup.py install

Installazione Fluxion:

git clone https://github.com/wi-fi-analyzer/fluxion
cd fluxion/
sudo ./fluxion.sh

Installare Fluxion su Debian Stretch

Installare Fluxion su Debian Stretch

per l'utilizzo nella prossima guida metterò gli screenshots di un attacco ad una rete wifi con password wpa2. La rete sotto attacco sarà la mia.

enjoy 😉

 

Mount partizione Hackintosh HFS+ RW da Debian Stretch

 

Mount partizione Hackintosh HFS+ RW da Debian Stretch

Mount partizione Hackintosh HFS+ RW da Debian Stretch

Guida su come fare il mount di una partizione con macOS Sierra, in HFS+ da Debian Gnu Linux, il tutto in RW, lettura/scrittura. Dopo avere installato macOS Sierra sui miei due portatili, HP Spectre 13 v102nl e HP envy 15-k208nl, mi sono trovato nella condizione di riuscire ad accedere alla partizione in lettura e scrittura. Si risolve con:

sudo apt install hfsprogs
sudo mkdir /mnt/hackintosh/
sudo mount -t hfsplus -o force,rw /dev/sdXX /mnt/hackintosh/

Mount partizione Hackintosh HFS+ RW da Debian Stretch

enjoy 😉

Google Chrome su Debian Stretch 9.2

 

Google Chrome su Debian Stretch 9.2

Google Chrome su Debian Stretch 9.2

Un modo semplce per installare Google Chrome su Debian Stretch 9.2 e non solo, è quello di aggiungere direttamente i repository di Google. Si può scegliere anche tra i rami stable, beta ed unstable.

$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ echo "deb https://dl.google.com/linux/chrome/deb/ stable main" | sudo tee /etc/apt/sources.list.d/google-chrome.list
$ sudo apt update
$ sudo apt install -y google-chrome-stable

si possono installare in alternativa anche i pacchetti testing ed unstable

$ sudo apt install -y google-chrome-beta
$ sudo apt install -y google-chrome-unstable

Google Chrome su Debian Stretch 9.2

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 😉

 

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

 

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Aggiornato al 19/10/2017 su Debian 9.4

Ecco un'altra nuova guida prodotta e testata da me su come installare un centralino utilizzando  Asterisk 14 Freepbx 14 con Debian Stretch 9.1, Dopo l'ultima guida su Debian 8.8, la nuova release stable è Debian 9.1, codename Stretch, ed inevitabilmente come spesso succede, diverse cose sono cambiate. La prima cosa che si riscontra è che nei repository non si trova più php5 ma si è passati a php7.0, poi manca anche libmyodbc, quindi bisogna attrezzarsi per ottenere queste dipendenze fondamentali, dato che Freepbx non supporta ancora php7.0. I passaggi successivi saranno eseguiti come utente root e su una nuova installazione di Debian Stretch:

Aggiornare il sistema:

# apt update; apt upgrade

se viene installato un nuovo kernel riavviare.

Rimuovere php7.0 ed installare php5.6:

# apt remove --purge php7*
# apt install curl apt-transport-https net-tools -y
# curl https://packages.sury.org/php/apt.gpg | apt-key add -
# echo 'deb https://packages.sury.org/php/ stretch main' > /etc/apt/sources.list.d/deb.sury.org.list
# apt update

Scaricare le dipendenze ed i servizi necessari:

# apt install -y build-essential linux-headers-`uname -r` openssh-server apache2 bison php5.6 php5.6-mbstring php5.6-curl php5.6-fpm php5.6-cli php5.6-mysql php-pear php5.6-gd php5.6-odbc curl sox libncurses5-dev libssl-dev default-libmysqlclient-dev mpg123 libxml2-dev libnewt-dev sqlite3 libsqlite3-dev pkg-config automake libtool autoconf git unixodbc-dev uuid uuid-dev libasound2-dev libogg-dev libvorbis-dev libicu-dev libcurl4-openssl-dev libical-dev libneon27-dev libsrtp0-dev libspandsp-dev subversion libtool-bin python-dev php5.6-xml php5.6-gd default-mysql-client default-mysql-server default-mysql-client-core default-mysql-server-core bison flex mongodb dirmngr php5.6-cgi libapache2-mod-security2 libapache2-mod-php5.6

Installare nodejs:

# curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
# apt install -y nodejs

Reboot server:

# reboot

Scaricare: Dahdi Libpri (solo se si ha hardware pstn) Jansson, Asterisk, Freepbx

# cd /usr/src
# wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz
# wget https://downloads.asterisk.org/pub/telephony/libpri/libpri-current.tar.gz
# wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-14-current.tar.gz
# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.10.tar.gz
# wget https://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Compilare ed installare Dahdi:

# cd /usr/src
# tar xvfz dahdi-linux-complete-current.tar.gz
# rm -rf dahdi-linux-complete-current.tar.gz
# cd dahdi-linux-complete-2*
# make all
# make install
# make config
# cd /usr/src
# tar xvfz libpri-current.tar.gz
# rm -rf libpri-current.tar.gz
# cd libpri-1*
# make -j4
# make install

Installare Jansson:

# cd /usr/src
# tar vxfz jansson.tar.gz
# rm -rf jansson.tar.gz
# cd jansson-*
# autoreconf -i
# ./configure
# make -j4
# make install

Installare Asterisk 14:

# cd /usr/src
# tar xvfz asterisk-14-current.tar.gz
# rm -rf asterisk-14-current.tar.gz
# cd asterisk-14.*
# contrib/scripts/get_mp3_source.sh
# ./contrib/scripts/install_prereq install
# ./configure --with-pjproject-bundled
# make menuselect

a questo punto inserire il prefisso internazionale, nel nostro caso 39:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

e poi abilitare  format_mp3:

Installare Asterisk 13 con Freepbx 12 su Raspberry pi 2 e Debian Jessie

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

# make -j4
# make install
# make config
# ldconfig

adesso bisogna verificare che asterisk funzioni correttamente:

# /etc/init.d/asterisk start
# asterisk -rvvv

output:

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

Installazione e configurazione di Apache2 e permessi:

# /etc/init.d/asterisk stop
# groupadd asterisk
# useradd -d /var/lib/asterisk -g asterisk asterisk
# chown -R asterisk:asterisk /var/spool/asterisk /var/run/asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib/asterisk /var/www
# sed -i 's/#AST_USER="asterisk"/AST_USER="asterisk"/g' /etc/default/asterisk
# sed -i 's/#AST_GROUP="asterisk"/AST_GROUP="asterisk"/g' /etc/default/asterisk
# cp /etc/apache2/apache2.conf /etc/apache2/apache2.conf_orig
# sed -i 's/AllowOverride None/AllowOverride All/'  /etc/apache2/apache2.conf
# sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf
# mv /var/www/html /var/www/html.bak

Installazione e Configurazione ODBC:

andare direttamente sul sito e scaricare mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz, e poi copiare i driver nel giusto percorso:

# tar -xvf mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit.tar.gz
# cp mysql-connector-odbc-5.3.9-linux-debian9-x86-64bit/lib/libmyodbc5* /usr/lib/x86_64-linux-gnu/odbc/

poi:

# nano /etc/odbcinst.ini

ed incollare dentro qualcosa del genere, considerando che i nomi dei due driver possono cambiare in base alla release di mysql-connector:

[MySQL]
Description = ODBC for MySQL
Driver = /usr/lib/x86_64-linux-gnu/odbc/libmyodbc5S.so
Setup = /usr/lib/x86_64-linux-gnu/odbc/libodbcmyS.so
FileUsage = 1

poi ancora:

# nano /etc/odbc.ini

ed incollare dentro:

[MySQL-asteriskcdrdb]
Description=MySQL connection to 'asteriskcdrdb' database
driver=MySQL
server=localhost
database=asteriskcdrdb
Port=3306
Socket=/var/run/mysqld/mysqld.sock
option=3

a questo punto riavviare:

# reboot

al riavvio:

# a2enmod rewrite
# a2enconf php5.6-fpm
# a2enmod proxy_fcgi setenvif
# systemctl restart apache2

ultima modifica da fare:

# nano /etc/php/5.6/apache2/php.ini

e nel menu Resource Limits settare memory_limit = 256M, ed ancora nel menu File Uploads settare upload_max_filesize = 120M

# systemctl restart apache2

Installazione di Freepbx 14:

# cd /usr/src
# tar vxfz freepbx-14.0-latest.tgz
# rm -rf freepbx-14.0-latest.tgz
# cd freepbx
# ./start_asterisk start
# ./install -n

se tutto è andato bene il server Asterisk è raggiungibile all'indirizzo https://ip_raspberry. La prima cosa da fare è quella di scegliere nome utente, password e mail, per accedere al pannello di amministrazione. Andare poi nel menu Admin-Module Admin e scaricare ed aggiornare tutti i moduli. In caso di problemi:

# fwconsole chown
# fwconsole reload
# fwconsole ma upgrade framework
# fwconsole restart

Errori:

Nessuno, o meglio nel caso di problemi di moduli mancanti in Dahdi, bisogna ripetere di nuovo compilazione ed installazione.

Asterisk 14 Freepbx 14 su Debian Stretch 9.1

enjoy 😉