Edit 2019-09-01 : j’ai mis le rafraîchissement en place toute les heures, c’est efficace a en juger les graphes Fail2ban.

Récemment j’ai pu faire la découverte d’ipset, une extension kernel Linux qui permet de faire des listes d’adresses ipv4/ipv6 et sous-réseaux utilisables avec iptables (et donc shorewall)

C’est très pratique quand vous en avez ras le bol de vous faire poutrer des services (SSH/FTP/Mail/etc) par des robots, fail2ban c’est bien mais si on peut bloquer le gros des méchants déjà connus c’est mieux.

Pour faire simple et à la main, il faut créer une liste en définissant son type (net/ip) puis l’alimenter :

## creation des sets
ipset create blacklist_net -exist hash:net family inet hashsize 16777216 maxelem 16777216 
ipset create blacklist_ipv4 -exist hash:ip family inet hashsize 16777216 maxelem 16777216
## alimentation d'une liste
ipset add blacklist_ipv4 8.8.8.8
ipset add blacklist_net 192.168.12.0/24

Exemples idiots mais vous voyez ou je veux en venir. Une fois la liste créé on peut l’utiliser dans une règle shorewall dans le fichier /etc/shorewall/rules par exemple :

DROP		net:+blacklist_ipv4	$FW
DROP		net:+blacklist_net	$FW
DROP		$FW			net:+blacklist_net
DROP		$FW			net:+blacklist_ipv4

Pour être plus efficace, et parce qu’alimenter ip par ip c’est pas l’objectif, il existe un projet open-source très bien fourni, Firehol, qui regroupe pour les besoins de sa solution un ensemble de listes d’adresses IP mises à jour régulièrement, toutes les heures voir toutes les minutes pour certaines.

Pour automatiser :

  • Première solution, utiliser la solution Firehol
  • Deuxième solution, pisser un script qui va télécharger les listes qui me plaisent et les bidouiller pour les utiliser dans mes ipset derrière.

J’ai mis en ligne une première ébauche d’un script bash+python qui fait tout ça sur mon dépôt Git : https://git.k3nny.fr/Tools/ipset_updater

Note : d’un point de vu technique, l’ajout des ip/subnet par une boucle python ou bash est beaucoup trop long, ipset permet l’import massif en utilisant la restauration de fichier, c’est cette méthode qui est utilisé (voir le script : https://git.k3nny.fr/Tools/ipset_updater/src/branch/master/ipset_update.sh )

Une fois le script lancé on obtient ça :

* 2019-08-28 20:00:10 Runinng list update
Reading lists of URL to download
= Update ipv4
- Downloading spamhaus
- Downloading bi_any_2_7d
- Downloading blocklist
- Downloading stopforumspam
- Downloading haley_ssh
- Downloading blocklist_ssh
- Downloading bi_any_2_1d
- Downloading bi_any__1_7d
- Downloading bi_any_0_1d
- Downloading bi_any_2_30d
= Update net
- Downloading ru
- Downloading emerging
- Downloading cn2
- Downloading cn
- Downloading bogons
- Downloading firehol
- Downloading pk
- Downloading sa
- Downloading kor
= Saved 280625 elements to ipset_ipv4.set
= Saved 24751 elements to ipset_subnets.set
* Create ipset blocklists if not already existing
* Import lists into ipset
== Import ipv4 ipset
== Import subnets ipset
* Saving ipset
* Cleanup ipset files

Avec les listes incluses ça fonctionne déjà assez bien, je constate moins de tentative de connexion ssh intempestives, à vous de faire votre choix de blocage en fonction de vos besoins (blocage par pays, listes de blocages).

  • Je ne suis pas encore passé à Debian Buster, ni à nftables, visiblement nftables implémente les listes directement sans passer par une extension comme ipset.
  • J’ai commencé à modifier le script pour prendre en charge les listes ipv6 mais j’ai eu la flemme

Des ressources pour gratter :

En surfant sur les internets je suis malencontreusement tombé sur un bucket Amazon S3 utilisé par un site que je consultais.

Le problème avec ce service proposé par Amazon c’est qu’il est insécurisé par défaut : https://www.upguard.com/blog/s3-security-is-flawed-by-design .

<salt>Pour caricaturer , auparavant les développeurs web crados y allaient à grand coup de chmod 777 à tout va sur le FTP, désormais on fout tout dans un bucket s3 et on l’ouvre en public. </salt>

Un bucket s3 ouvert en public = tout le bucket accessible à tout va et à n’importe qui. En fouillant dans ce seau, je suis tombé sur des dump de la base SQL de production (oh bah merde alors).

Cela m’a permis d’apprendre à jouer avec les buckets, si jamais vous tombez sur une instance ouverte un jour, voici un script python qui permet dumper la liste de touts les objets présents (remplacer « bucket-tout-moisi ») :

#!/usr/bin/python3
import boto3
import json
from botocore import UNSIGNED
from botocore.client import Config

client = boto3.client("s3", config=Config(signature_version=UNSIGNED))

paginator = client.get_paginator("list_objects_v2")

data = []
for page in paginator.paginate(Bucket="bucket-tout-moisi"):
    for elem in page["Contents"]:
        data.append(elem["Key"])

with open('output.json', 'w') as outfile:
    json.dump(data, outfile)

On creuse et on trouve que ce dump SQL est une base PostgreSQL. Si vous êtes sous Win10, je vous conseille d’installer un sous-système Linux (debian-wsl) + VcXsrv + Terminator puis d’installer postgresql, ça va vite, on importe le dump puis avez un outil simple comme PgAdmin on regarde ce qu’il y’a de beau à gratter.

Oh surprise, cette base contient 2600+ utilisateurs, hash de mot de passe, adresses, des données personnelles, etc,etc.

La table « users » est intéressante elle contient des hashs de mot de passe au format bcrypt, c’est à dire un sel différent pour chaque utilisateur + hash du mot de passe :

$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO

C’est pas mal du tout puisque ça permet en cas de fuite de la base de données d’éviter des attaques par table arc-en-ciel.

On peut quand même retrouver quelques mots de passe en utilisant Hashcat et un dictionnaire de mots de passe, en l’occurrence c’est un site français donc j’ai pris la liste des 5000 mots de passe Français les plus fréquents dans le projet Richelieu : https://github.com/tarraschk/richelieu

PS : si un de vos mot de passe est dans cette liste, bon, voilà hein.

Hashcat demande énormément de puissance de calcul puisque pour chaque sel et chaque élément du dictionnaire il va calculer le hash de mot de passe correspondant puis comparer avec tous les hashs de mots de passes de la liste. Temps estimé avec une GTX 1080 : 13h.

En laissant tourner quelques minutes, j’ai pu trouver 18 mots de passes simples.

En corrélant les résultat avec la liste des emails on obtient une liste comme celle-ci :

xxxxxxxxxxxxxxxxxx@wanadoo.fr:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:toto
xxxxxxxxxxxxxxxxxx@free.fr:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:motdepasse
xxxxxxxxxxxxxxxxxx@gmail.com:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:pierre
xxxxxxxxxxxxxxxxxx@numericable.fr:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:dodo
xxxxxxxxxxxxxxxxxx@laposte.net:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:coucou
xxxxxxxxxxxxxxxxxx@sfr.fr:$2y$10$wxeXGxk6YJTN8MPXFAeoLewBJ6toW88x.xqiNq7c/Ip0Y8MYhD0DO:password
etc...

Les combinaisons email+mot de passe sont très intéressantes puisqu’en général les gens sont fainéants et réutilisent le même mot de passe partout, donc il y’a fort à parier qu’on puisse se connecter avec les email/mot de passe à divers comptes Facebook/Mail/Twitter/etc

Après avoir gratté et appris à faire joujou avec Hashcat et les buckets s3 j’ai pris contact avec l’éditeur du site en défaut qui à depuis pris les mesures nécessaires pour faire le ménage.

Au commencement, pi-hole

Projet intéressant qu’est Pi-Hole : https://pi-hole.net/

C’est une solution qui installe de manière automatique un DNS menteur afin de s’éviter tous les sites qui hébergent de la publicité, trackers, etc..

Si vous disposez d’un RaspberryPi qui traine dans un coin à la maison c’est une excellente solution à mettre en place.

C’est bien mais pas top

Si vous disposez comme moi d’un serveur dédié ou d’une machine virtuelle hébergée, il pourrait être intéressant de mettre la chose en place en cas de déplacement ou pour son smartphone en 4G.

Il suffirait pour cela d’exposer votre serveur DNS Pi-Hole publiquement (TCP 53), personnellement je ne le fait pas directement, uniquement au travers d’un tunnel VPN.

Je suis tombé sur cet article très bien construit sur l’installation en plusieurs étapes d’un serveur DNS over HTTPS (DoH) + DNS over TLS (DoT) + Pi-hole + Unbound :

https://www.aaflalo.me/2018/10/tutorial-setup-dns-over-https-server/

  • DNS over HTTPS/DoH c’est la possibilité d’effectuer des requêtes DNS chiffrées sur HTTPS/TLS (TCP 443) via Nginx.
  • DNS over TLS/DoT c’est la peu ou prou la même chose, DNS sur TLS directement mais sur un port spécifique (TCP 853).
  • Pi-hole, cf. juste avant
  • Unbound est un recurseur DNS simple à installer et configurer.

Le fonctionnement est le suivant :

Les cas d’usage

  • Connecté en VPN, vous utilisez le DNS interne du serveur, en l’occurence pi-hole, vous beneficiez du DNS menteur/filtrage publicitaire. Pratique à condition que le port de votre VPN ne soit pas filtré.
  • Sur mobile Android à partir de la version 9, vous pouvez préciser un DNS privée (DNS over TLS, DoT) et vous utilisez alors votre DNS menteur quelque soit le réseau WiFi ou 4G.
    • Test effectué avec Chrome Android, pas de bloqueur en extension, les pages normalement infestées de publicités sont visitables.
    • Un détail cependant, le protocole nécessite d’utiliser le port TCP 853, donc filtrable.
  • Sur un poste de travail Windows/Linux/OSX, au moyen d’un client approprié (
    https://dnscrypt.info/implementations/) pour le protocole DNS over HTTPS/DoH, vous utilisez votre DNS menteur, y compris au travers de proxy HTTP.

Pour essayer/utiliser

Pour utiliser DoT sur votre mobile :

Options > Réseau > Avancé > DNS privée > dns.k3nny.fr

Pour tester DoH dans un navigateur :

https://dns.k3nny.fr/dns-query?name=www.toto.fr&type=A

{
    Status: 0,
    TC: false,
    RD: true,
    RA: true,
    AD: false,
    CD: false,
    Question: [
    {
        name: "www.toto.fr.",
        type: 1
    }
    ],
    Answer: [
    {
        name: "www.toto.fr.",
        type: 1,
        TTL: 3867,
        Expires: "Sun, 19 May 2019 15:46:27 UTC",
        data: "46.105.57.169"
    }
    ]
}

Pour aller plus loin

Pour comprendre plus en détails tous les enjeux et la technique derrière DoH/DoT, je vous invite à lire l’excellent billet de Stephane Bortzmeyer :

https://www.bortzmeyer.org/8484.html .

Et si au passage l’envie vous prend, je vous conseille d’acheter son livre « Cyberstructure » il est excellent.

https://cyberstructure.fr/

2018-02-18 :  Pack de BIOS pour Recalbox 4.1 (18.02.09 Release)

Update 3DO & Amiga + optional scph5502.bin – Thanks to Olivier!

#bios
35fa1a1ebaaeea286dc5cd15487c13ea sanyotry.bin
8639fd5e549bd6238cfee79e3e749114 goldstar.bin
f47264dd47fe30f73ab3c010015c155b panafz1.bin
51f2f43ae2f3508a14d9f56597e2d3ce panafz10.bin
82a21c1890cae844b3df741f2762d48d kick13.rom
dc10d7bdd1b6f450773dfb558477c230 kick20.rom
646773759326fbac3b2311fd8c8793ee kick31.rom
df692a80a5b1bc90728bc3dfc76cd948 bios7.bin
a392174eb3e572fed6447e956bde4b25 bios9.bin

#optional
32736f17079d0b2b7024407c39bd3050 scph5502.bin

2017-12-31 : Pack de BIOS pour Recalbox 4.1 (17.12.02 Release) en ligne !

C’est fait !

Merci à toutes celles et ceux qui ont pu m’écrire par email et en commentaire pour l’attente ainsi que pour vos suggestions, j’y ai ajouté les BIOS pour PSX sur x86/x64 ainsi que les BIOS pour N3DS.

Concernant les BIOS pour Mame/FBA je vous conseillerais plutôt de prendre un FullSet contenant le BIOS qui va bien et de coller le neogeo.zip dans le dossier Roms comme d’habitude

Pour toutes remarques : alex@k3nny.fr

J’attends vos retours !

*******************************************************************************
                                 BIOS Recalbox
*******************************************************************************

-------------------------------------------------------------------------------
                               Post Information
-------------------------------------------------------------------------------
Posted by............: K3nnyfr - @K3nnyfr
Posted on............: 31/12/2017
Release version......: 3.0-Recalbox v4.1

-------------------------------------------------------------------------------
                             Information Generales 
-------------------------------------------------------------------------------
Type.................: Utility
Platform.............: Raspberry Pi/Pi2/Pi3/etc

Compilation de tous les BIOS pour Recalbox, parce que c'est quand même bien la 
merde pour télécharger les bons BIOS.

C'est quand même plus sympa d'avoir une release de tous les BIOS en une seul 
fois plutot que d'aller fouiner ça sur des sites bieeeeeeen louches..

-------------------------------------------------------------------------------
                          Instructions d'Installation
-------------------------------------------------------------------------------

  #	 Si vous lisez cette doc c'est que vous avez extrait l'archive, BIEN JOUEY!

  #  Copiez le contenu du dossier bios dans le partage réseau bios de votre 
     Recalbox (par défaut \\recalbox\User data\bios). Sinon vous pouvez toujours 
	 utiliser l'interface web de recalbox http://recalbox/bios/
  
  #  Pour faire fonctionner l'émulateur NeoGeo/Arcade je passe par fba_libretro
     Particularité de cet emulateur il faut que le BIOS soit dans le même
	 dossier que les ROMs.
	 Il faut donc copier le contenu du dossier ROMs dans le partage ROMs de
	 votre Recalbox (par défaut \\recalbox\User data\roms) ou via interface Web 
	 http://recalbox/systems/roms/fba_libretro/
  
  #  Redémarrez votre RPi et profitez bien ! 
  
-------------------------------------------------------------------------------
					Liste des BIOS present dans cette release
-------------------------------------------------------------------------------
		
####	Description 					- 	Fichier 			- Hash

## Dossier bios/
		
Sega 32x								- 	32X_G_BIOS.BIN		- 	6a5433f6a132a2b683635819a6dcf085	
Sega 32x								- 	32X_M_BIOS.BIN		- 	f88354ec482be09aeccd76a97bb75868	
Sega 32x								- 	32X_S_BIOS.BIN		-	7f041b6a55cd7423a6c08a219335269e	
Atari 7800								- 	7800 BIOS (U).rom	-	0763f1ffb006ddbe32e52d497ee848ae	
MSX										- 	CARTS.SHA			- 	d6dedca1112ddfda94cc9b2e426b818b	
MSX										- 	CYRILLIC.FNT		- 	85b38e4128bbc300e675f55b278683a8	
MSX										- 	DISK.ROM			- 	80dcd1ad1a4cf65d64b7ba10504e8190	
MSX										- 	FMPAC.ROM			- 	6f69cc8b5ed761b03afd78000dfb0e19	
MSX										- 	FMPAC16.ROM			- 	af8537262df8df267072f359399a7635	
MSX										- 	ITALIC.FNT			- 	c83e50e9f33b8dd893c414691822740d	
MSX										- 	KANJI.ROM			- 	febe8782b466d7c3b16de6d104826b34	
MSX										- 	MSX.ROM				- 	aa95aea2563cd5ec0a0919b44cc17d47	
MSX										- 	MSX2.ROM			- 	ec3a01c91f24fbddcbcab0ad301bc9ef	
MSX										- 	MSX2EXT.ROM			- 	2183c2aff17cf4297bdb496de78c2e8a	
MSX										- 	MSX2P.ROM			- 	6d8c0ca64e726c82a4b726e9b01cdf1e	
MSX										- 	MSX2PEXT.ROM		- 	7c8243c71d8f143b2531f01afa6a05dc	
MSX										- 	MSXDOS2.ROM			- 	6418d091cd6907bbcf940324339e43bb	
MSX										- 	PAINTER.ROM			- 	403cdea1cbd2bb24fae506941f8f655e	
MSX										- 	RS232.ROM			- 	279efd1eae0d358eecd4edc7d9adedf3	
PSX										- 	SCPH1001.BIN		- 	924e392ed05558ffdb115408c263dccf
PSX                                     -   scph5500.bin        -   8dd7d5296a650fac7319bce665a6a53c
PSX                                     -   scph5501.bin        -   490f666e1afb15b7362b406ed1cea246
PSX                                     -   scph5502.bin        -   e56ec1b027e2fe8a49217d9678f7f6bb
Nintendo Family Computer Disk System	-	disksys.rom			- 	ca30b50f880eb660a320674ed365ef7a	
Sega CD									-	eu_mcd2_9306.bin	-	d8b8b720dea6c6ba25c309ed633930f4	
Game Boy Advance						-	gba_bios.bin		-	a860e8c0b6d573d191e4ec7db1b1e4f6	
Sega CD									-	jp_mcd1_9112.bin	-	bdeb4c47da613946d422d97d98b21cda	
Lynx									-	lynxboot.img		-	fcd403db69f54290b51035d82f835e7b	
PC Engine								-	syscard3.pce		-	ff1a674273fe3540ccef576376407d1d	
Sega CD									-	us_scd2_9306.bin	-	854b9150240a198070150e4566ae1290
Atari ST								-	tos.img				-	b2a8570de2e850c5acf81cb80512d9f6
Odyssey 2								-	o2rom.bin			-	562d5ebf9e030a40d6fabfc2f33139fd
Sega Dreamcast                          -   dc_bios.bin         -   e10c53c2f8b90bab96ead2d368858623
Sega Dreamcast                          -   dc_flash.bin        -   0a93f7940c455905bea6e392dfde92a4
Colecovision                            -   coleco.rom          -   2c66f5911e5b42b8ebe113403548eee7
Nintendo 3DS (x84/x64)                  -   biosnds7.rom        -   df692a80a5b1bc90728bc3dfc76cd948
Nintendo 3DS (x84/x64)                  -   biosnds9.rom        -   a392174eb3e572fed6447e956bde4b25
Nintendo 3DS (x84/x64)                  -   firmware.bin        -   e45033d9b0fa6b0de071292bba7c9d13

## Dossier optional/

Sega Dreamcast (region free)            -   dc_bios.bin         -   d552d8b577faa079e580659cd3517f86 
Sega Dreamcast (region free)            -   dc_flash.bin        -   74e3f69c2bb92bc1fc5d9a53dcf6ffe2


## Dossier roms/fba_libretro/

FBA_LibRetro							-	neogeo.zip			-	6d3a0303528ad33c9dbbbb836b17d150

-------------------------------------------------------------------------------
									Hum vas-y kiff
-------------------------------------------------------------------------------

 

2017-10-27 : Pas de pack pour le moment pour Recalbox 4.1, j’attend de récupérer tous les BIOS au complet

Vous êtes nombreux a me contacter par le truchement du blog, par mail, par twitter concernant le pack de BIOS pour Recalbox 4.1 J’ai fait comme vous la mise à jour et sur RaspberryPi2 je n’ai pas constaté de nouveautés de ce côté là.

J’imagine donc que pour les différentes autres plateformes ce n’est pas le cas et qu’il vous manque des BIOS, j’ai récupéré quelques BIOS pour les nouvelles plateformes émulés :

## Nouvelles plateformes
Sega Dreamcast                          -   dc_bios.bin         -   e10c53c2f8b90bab96ead2d368858623
Sega Dreamcast                          -   dc_flash.bin        -   0a93f7940c455905bea6e392dfde92a4
Colecovision                            -   coleco.rom          -   2c66f5911e5b42b8ebe113403548eee7
Colecovision                            -   Dossiers Databases and Machines de BlueMSX.zip

## Dossier optionel
Sega Dreamcast (region free)            -   dc_bios.bin         -   d552d8b577faa079e580659cd3517f86 
Sega Dreamcast (region free)            -   dc_flash.bin        -   74e3f69c2bb92bc1fc5d9a53dcf6ffe2

Je ne sais pas trop si ces BIOS fonctionnent correctement/si c’est les bons. En ce qui concerne la PSP si vous avez plus d’infos (un hash?) je suis preneur.

Si j’en oublie signalez en commentaire !

Quel dilemme que celui de déployer Mozilla Firefox correctement en entreprise/collectivité.

À l’opposé de Google Chrome, qui propose un installer MSI ainsi qu’un modèle d’administration ADMX très complet, Mozilla Firefox ne propose en tout et pour tout qu’un maigrichon Mozilla Firefox ESR (pour Extended Support Release) et pas de modèle d’administration du tout.

Des solutions existent, CCK2 ou encore FrontMotion Firefox, qui emulent le comportement de GPOs pour forcer des paramètres dans les confs de Firefox, c’est bien mais pas optimal (manque d’information en cas d’échec d’installation, pas assez souple).

Alors que faire ?

Se résigner à utiliser un navigateur qui remonte moultes informations à ses concepteurs ? Non, continuons d’utiliser Firefox mais déployons le correctement et configurons le de manière pérenne et sécurisée.

Vous l’aurez peut être deviné, on utilise à cet effet WAPT, la solution open-source de déploiement logiciel.  Et coup de chance Mozilla Firefox ESR est déjà packagé !

Voyons un peu ce qui est fait dans le paquet Firefox :

# -*- coding: UTF-8 -*-
from setuphelpers import *

uninstallkey = []


def install():
    version = control.version.split('-',1)[0]
    ukey = 'Mozilla Firefox %s ESR (x86 fr)'%version

    exe = 'Firefox Setup %sesr.exe'%version
    install_exe_if_needed(exe,'-ms',key=ukey,min_version=version,killbefore='firefox.exe')

    print("Disabling auto update")
    filecopyto("mozilla.cfg",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version )))
    filecopyto("local-settings.js",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"defaults","pref"))

    print ("Disabling profile migration from ie")
    filecopyto("override.ini",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser"))

    print ("Override User UI")
    ensure_dir(makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser","defaults","profile","chrome",""))
    filecopyto("userChrome.css",makepath(install_location('Mozilla Firefox %s ESR (x86 fr)' %version ),"browser","defaults","profile","chrome"))

    """
    print ("Deploy extensions")
    ensure_dir(makepath(programfiles32,"Mozilla Firefox","browser","extensions",""))
    copytree2("extensions",makepath(programfiles32,"Mozilla Firefox","browser","extensions"))
    """

On peut voir que Mozilla Firefox est installé selon les recommandations de la documentation officielle, des paramétrages par défaut sont appliqués dans ce paquet :

  • Désactivation de la mise à jour automatique
  • Désactivation de la migration depuis Internet Explorer)
  • Application de préférences par défaut (mozilla.cfg et local-settings.js) :

local-settings.js – indiquer le fichier de personnalisation

// Process mozilla.cfg in FireFox root directory.
pref("general.config.obscure_value", 0);
pref("general.config.filename","mozilla.cfg");

mozilla.cfg – indiquer les préférences du navigateur

// Disable Auto Updates
pref("app.update.enabled", false);
pref("extensions.update.enabled", false);
pref("app.update.service.enabled", false);

//disable feedback
pref("toolkit.telemetry.prompted",2);

//disable browser rights info toolbar
pref("browser.rights.3.shown", true);
pref("browser.rights.3.shown",true);

// disable default browser check
pref("browser.shell.checkDefaultBrowser", false);
pref("browser.startup.homepage_override.mstone", "ignore");
pref("general.smoothScroll", false);

//configurer proxy detection automatique wpad
pref("network.proxy.type",4);

//disable ipv6
pref("network.dns.disableIPv6",true);

//disable pdf integre
pref("pdfjs.disabled",true);

//disable cache 
pref("network.http.use-cache",true);
pref("browser.cache.disk.enable",false);


//disable migration
pref("profile.confirm_automigration",false);
pref("profile.migration_behavior",0);
pref("profile.migration_directory", "")


// Clear privacy data
// on shutdown
lockPref("privacy.clearOnShutdown.cache", true);
lockPref("privacy.clearOnShutdown.downloads", false);
defaultPref("privacy.clearOnShutdown.formdata", false);
lockPref("privacy.clearOnShutdown.passwords", false);
lockPref("privacy.clearOnShutdown.sessions", false);
lockPref("privacy.clearOnShutdown.siteSettings", false);
defaultPref("privacy.clearOnShutdown.cookies", false);
defaultPref("privacy.clearOnShutdown.history", false);
defaultPref("privacy.clearOnShutdown.offlineApps", false);
lockPref("privacy.sanitize.sanitizeOnShutdown", false);

// Changes to Root Certificates in Firefox on Windows
lockPref("security.enterprise_root.enable", true);

Dans ce paquet, l’installation et la configuration sont effectuée d’un seul tenant.

Problème pour ma structure, le proxy est définit spécifiquement dans la configuration de Firefox (absence de proxy.pac / wpad). Voici rapidement ce qu’il faut modifier dans le fichier mozilla.cfg

//set proxy server settings
 lockPref("network.proxy.ftp", "srvproxy.domain.lan");
 lockPref("network.proxy.ftp_port", 3128);
 lockPref("network.proxy.gopher", "srvproxy.domain.lan");
 lockPref("network.proxy.gopher_port", 3128);
 lockPref("network.proxy.http", "srvproxy.domain.lan");
 lockPref("network.proxy.http_port", 3128);
 lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1, *.domain.lan");
 lockPref("network.proxy.type", 1);
 lockPref("network.proxy.share_proxy_settings", true); // use the same proxy settings for all protocols

Ainsi la préférence est bloquée dans la configuration de Firefox et les utilisateurs ne pourront pas la modifier.

Pour plus de sécurité, j’installe l’extension uBlock, le paquet existe déjà : paquet WAPT uBlock

On décline l’installation de Firefox comme ceci :

  • Paquet Mozilla Firefox sans personnalisation
  • Paquet extension uBlock
  • Paquet de configuration Firefox

En utilisant le principe de dépendance de WAPT, je suis assuré d’avoir déployé correctement ces trois éléments.

Simon des Fourmis du Web a déjà fait ce travail de séparation de la configuration et de l’installation :

Modifiez le paquet de configuration à votre convenance et à vous Mozilla Firefox déployé correctement !

Sources :

Hey folks, I wrote that article in the Shakespeare’s language because I think most of the readers will be ENG speaking ppl. =)

So ! I’ve been looking for like 3 days for that tool that prompt an overlay on SourceTV games.

More that an overlay, it brings to the screen the name of both teams and their logo, list of players and for each their kill/death.
I’ve seen that kind of tool in the past for SC2 for instance, but never found that SourceTV one.

Finally found it! It’s called steam-tools (former SCGUI). You can download it there : http://code.google.com/p/steam-tools/

Features are : (extract from the project website)

Config Editor – Read/Writes to cfg files easily.

Replay Library – Lists all the demo files in your game folder and display some basic information about each one. This is perfect for YouTube stars or tacticians!

Downloads – Access professional players configs and event replays so you can mimic and improve your gameplay.Download and install custom Maps and GUIs at a click of a button

Tools – Quick access to Steam functions on one screen. Broadcast Tool allows you to edit team names giving you a custom streaming interface.

That last part is the one that matters to me, even if the tool brings you features that Steam client don’t.

Here’s a vidéo of SCGUI now Steam Tools :

Watch live video from klutchcs on TwitchTV
Severals tutorials are available online to make your skin and other stuff.

Some previews of the result in-game

Cool huh ?

You can find out more on the creator’s website : http://www.scgui.com/

And on the official website for that tool : http://myesports.co.uk/

Author of that tool : Edward Knowles – twitter : @NedKnowles