Le blogouille de Caro et Nico

Entre famille, sport et aventures !

Catégorie dans Informatique / Computers

Debian Live USB 9.4.0 with persistence

Ok, I spent some time to get the Live USB media of Debian Live 9.4.0 working. The documentation and experience is scattered around on Internet, so let’s get this here together so I can reproduce it later.

Scenario : deploy Debian Stretch 9.4.0 Live on USB stick with persistence, from Windows environment.

Source the right ISO : I got the amd 64bits edition with MATE environment, and non-free firmware. The non-free firmware was needed to get things working like in particular the Intel Wifi card.

User the right tool : Rufus was making the best installation, despite it does not provide persistence support, which need to be added after initial install.

Create the image, by using Rufus on your USB stick and selecting the ISO file you downloaded. That initial, primary, active, first permission has to be FAT32. It will take the whole space on the drive, that is OK.

Once the ISO file has been transferred/installed on the stick, time to get a tool like EPM (EaseUS Partition Manager) to resize down the primary FAT32 partition to something much smaller, like 3GB to cover your ISO image (mine was 2.2GB).

Create a new partition after this one (you can user the whole space remaining), and the under Linux Debian reformat it to « ext4 » and label it « persistence ». The persistence is NOT supported on FAT32 file, I figured that out by getting errors in kernel.log.

Then mount this newly created ext4 volume, and on the root of it, create a file named « persistence.conf » and add 2 lines (the second being an empty, blank line), the first just contains :

/ union

Close it all, reboot and select kernel option by pressing « tab » on the boot menu and adding « persistence » (without the quotes) to the boot.
The kernel should get it, and with that union on / level, you simply get full persistence of the environment.
You can happily create folders on Desktop, in your home, change your password as well install and upgrade packages, and find this back when you reboot.

 

Ecran noir sur Acer Aspire 5740G

Bon, comme c’est la deuxième fois que cela arrive, voilà comment procéder pour récupérer un Acer Aspire 5740G avec son écran noir / carte graphique ATI plantée.

  • Etape 1 : stopper les BSOD à répétition et récupérer la machine.
    • Brancher le laptop en HDMI sur un écran externe
    • Rebooter W10 en mode sans échec (après 3 reboot avec BSOD, le choix est proposé).
    • Dans gestionnaire de périphérique faire supprimer sur carte ATI. Supprimer le pilote.
    • Rebooter en mode normal, toujours avec l’écran extérieur en HDMI connecté
  • Etape 2 : flasher le BIOS
    • Télécharger le BIOS sur Acer Support, la version 1.09 a correctement fonctionné et s’est installée sous W10x64.
    • Rebooter Windows 10 en mode Command Prompt (faire Shift + Eteindre, et ensuite choisir le bon menu)
    • Flasher depuis Windows le BIOS, en mode Windows (pas DOS). Il faut prendre le bios en .EXE dans WinFlash64
    • Éteindre la machine, retirer le courant et l’écran externe.
    • Redémarrer, l’écran principal doit à nouveau fonctionner, mais en mode VGA basse résolution.
    • Le Bios doit à nouveau fonctionner, et l’on peut rentrer dedans avec F2 (et parfois F12 offre le choix des boots aussi).
  • Etape 3 : remise en service
    • Installer le driver official de AMD pour Radeon Mobile HD5470 (HD5000 family).
    • Rebooter, nettoyer, vérifier Windows de façon générale.

Changement carte mère, injection drivers SATA Windows 7

Passage d’un disque d’une machine à une autre :

Cloner le disque complet avec CloneZilla

Si possible le télécharger et l’installer sur une clef USB, depuis un PC Windows, avec l’outils TuxBoot

Faire le clone du disque. Il ne bootera probablement pas (écran bleu). On peut désactiver le redémarrage automatique pour voir le code erreur, très probablement un code 0xxxxxx7B. Manque le driver pour accéder au disque correctement.

Sur une autre machine, extraire les drivers en question. Par exemple les drivers Intel Chipset, il faut faire un setup -a pour extraire le tout dans un dossier, genre 94 drivers en 64bits.

Rebooter en mode « repair » (premier choix), puis entrer l’utilisateur / mot de passe, puis choisir l’option la ligne de commande. Confirmer le disque système cible (C: normalement) ainsi que la clef USB. 

Intégrer les drivers dans le système Windows existant non bootable avec :

dism /image:c:\ /add-driver /Driver:D:\drivers /recurse

Faire un exit / reboot, la machine devrait booter, puis rajouter les autres drivers manquants (vidéo, wifi, son, etc…)

HTTPs armoring

So Mozilla is offering a nifty HTTPs testing tool at https://observatory.mozilla.org/ 

After I tried that, had to fix a few things :). D- rating (ouch !)

HTTP Strict Transport Security

First enable the header module with command line :

a2enmod headers

Then edit the vhosts files into the /etc/apache2/sites-available by adding the header entry (right below the VirtualHost entry)

Header add Strict-Transport-Security: « max-age=31536000;includeSubdomains »

And restart Apache 2 with :

systemctl restart apache2

And then check if nothing is wrong in the startup by looking into the log file for the daemon at :

less /var/log/daemon.log

Implement HTTP Headers

Install the WordPress extension HTTP Headers from Dimitar Ivanov. In the security options, turn ON the following restrictions :

X-Frame-Options DENY
X-XSS-Protection 
X-Content-Type-Options nosniff

And rescan….

That is how you end up with a A+ Rating.

(Don’t celebrate too much, my website rolled down from A to D- in…. 11 months between November 2016 to November 2017… looks like a fight to keep up and have a recheck every 6 months !).

Lutte anti slowhack / botnet hack.

Bon alors… quand on gère des serveurs qui sont connectés sur internet, malgré le firewall, dès qu’on a une bonne série de services (SSH, FTPs, HTTPs, IMAPs, SMTPs, POP3s, etc…) on se retrouve avec un PAQUET de tentative d’intrusions, du genre plusieurs à la minute… à force cela devient fatiguant et fait tourner les machines pour rien.

En utilisant une bonne combinaison d’outils, on arrive à bien contenir les attaques basiques de type brute force venant de la même IP. En particulier avec les outils Fail2Ban et DenyHosts. Par contre depuis plusieurs mois je fait face à un nouveau type de problème, des milliers d’addresses IP différentes qui tentent toute une combinaison de login et mot de passe différents, genre « classique », mais à chaque fois, une seule unique IP tente une combinaison, puis quelques secondes après, c’est une autre IP qui tente une combinaison légèrement différente. Ca a l’air bien foutu, mais difficile à bloquer, en fait il y a quelques parades. 

Par exemple Dovecot logge se genre de choses

2017-11-12 14:44:08 auth-worker(7082): Info: sql(eleanor,101.187.110.152): unknown user (given password: password)

 

Et voilà l ‘adresse IP 101.187.110.152 qui tente la combinaison eleanor/password … je serais curieux de savoir ce qui se passe si ce script d’un botnet tombe sur un login valide, à priori je penche pour de l’envoi de spam.

En tout cas, voilà comment j’ai procédé pour limiter les ennuis :

Augmenté la fréquence de synchronisation de DenyHosts, à 5 minutes. Il y a une limite hardcodée de 50 hôtes à chaque sync, mais cela fait tout de même 15000 hôtes par jour à récupérer qui seront bloqués, en mettant un filet large de sélection, genre DOWNLOAD_THRESHOLD à 2 et SYNC_DOWNLOAD_RESILIENCY = 5h

Ensuite sur fail2ban, on peut mettre quelques filtres REGEX pour capturer ces tentatives de botnet sommes toutes basiques. Genre :

,<HOST>\): unknown user \(given password: 123456
,<HOST>\): unknown user \(given password: password
,<HOST>\): unknown user \(given password: web
,<HOST>\): unknown user \(given password: russ

Et en ajoutant quelques filtres sur les mots de passe basiques, on récupère un paquet d’adresse IP (j’en ai eu environ 70000 par jour !!) et avec un bon ban genre de plusieurs semaines, et ben voili voilou, bien tranquille, le nombre de de tentatives d’intrusions a complètement diminué, par un facteur 100.

Bon ban !