J'ai besoin d'intimité. Non pas parce que mes actions sont douteuses, mais parce que votre jugement et vos intentions le sont.
5149 links
[…] nous n’avons pas envie d’être contrôlables par quelque « Big Brother » que ce soit. Qu’il existe déjà ou que l’on anticipe son émergence, le mieux est sans doute de faire en sorte qu’il ne puisse pas utiliser, contre nous, tous ces merveilleux outils que nous offrent — ou que lui offrent — les technologies numériques. […]
Même si l’on choisit de ne pas les utiliser directement, d’autres le font pour nous. Alors, autant essayer de comprendre ce que ça implique. […]
Face à ces constats, la seule voie praticable semble être de devenir capables d’imaginer et de mettre en place des politiques de sécurité adéquates. Tout l’enjeu de ce guide est de fournir cartes, sextant et boussole à quiconque veut cheminer sur cette route.
Un guide à lire, relire, pratiquer, en solitaire ou à plusieurs, à faire découvrir et à partager… ou comment affiner l’art de la navigation dans les eaux troubles du monde numérique.
Livres pour développeurs.
Via plein de monde
À lire.
Via plein de monde
Vous n’arrivez plus à entrer dans votre PC parce que vous avez oublié votre mot de passe et en plus, vous êtes l’unique administrateur de votre machine? Ou bien vous avez créé un compte utilisateur root et vous en avez oublié le mot de passe?
Le principe général est que vous devez arriver à modifier le mot de passe que vous désirez et pour y arriver, il vous faut un accès root puisque seul root peut tout faire. Quand je dis un accès root, il s’agit en fait d’un root shell c’est à dire un terminal avec des droits root d’administration.
Il y a trois façons simples d’accéder à un root shell quand on ne peut se logger sur la machine.
La première façon consiste au boot d’Ubuntu de choisir le mode recovery
. Vous savez, c’est le menu qui vous propose de booter sous Ubuntu ou sous Windows si vous avez un dual boot. Il vous propose aussi le mode recovery ou le boot avec un kernel différent.
Si le menu n’apparaît pas, tapez Esc quand Ubuntu vous le dit pour accéder à ce menu. Choisir le mode recovery
fait apparaître un sous-menu avec les choix resume
, clean
, dpkg
, fsck
, root
et xfix
. Ces différents possibilités permettent, entre autres, de tester le système de fichiers ou de refaire une configuration du serveur X.
Choisissez root
qui vous donne accès à un root shell
.
Une fois que vous avez accès au root shell
, il vous suffit de changer le mot de passe de l’utilisateur et de rebooter. Voici comment faire:
# passwd nom_utilisateur
# reboot
La deuxième façon de faire est d’éditer le menu grub
pour modifier les lignes de commandes.
Pour y arriver, procédez comme pour le mode recovery
(voir ci-dessus).
Vous arriverez sur un sous-menu affichant les commandes grub
. Positionnez-vous sur la ligne qui commence par kernel
… et appuyez à nouveau sur e
pour l’éditer.
Au menu grub
, tapez sur e
pour éditer les commandes. Ici, vous avez deux possibilités. Ajoutez à la fin de la ligne soit:
rw single
soit:
rw init=/bin/bash
Appuyez sur Enter
et puis sur b
pour rebooter. Après le reboot, vous accéderez à un root shell
. Il vous suffit alors de procéder comme dans le mode recovery
pour changer le mot de passe:
# passwd nom_utilisateur
# reboot
Si à ce stade, vous avez rebooté en mode single user
mais avec le système de fichiers en mode read-only (lecture seule), il vous suffit dans le root shell
de taper la commande suivante qui remonte le système de fichiers en mode read-write:
# mount / -o remount,rw
La troisième méthode pour resetter le mot de passe est d’utiliser un liveCD. N’importe lequel. Tous peuvent faire l’affaire.
Bootez sur le liveCD. Lorsque c’est fait, ouvrez un terminal et procédez comme ceci (remplacez sda1 par la partition et le disque qui correspondent à votre système):
$ su
# mkdir /mnt/hd
# mount /dev/sda1 /mnt/hd
# chroot /mnt/hd
# passwd nom_utilisateur
Il vous suffit maintenant de rebooter et d’enlever votre liveCD.
ATTENTION: que vous utilisiez une méthode ou une autre, vous avez accès à votre système avec des droits root c’est-à-dire que vous pourriez très bien endommager votre système sérieusement.
On a tous vécu une fois au moins la perte d'un ou de plusieurs fichiers importants que nous n'avions pas jugé bon de sauvegarder. Parfois aussi on croit disposer d'une sauvegarde et ce n'est pas le cas ! Il est donc nécessaire de mettre en place des sauvegardes périodiques et automatiques de tout ou partie de votre répertoire utilisateur.
Sous Linux, la commande de prédilection pour archiver des données est la commande rsync
. Nombre de logiciels de sauvegarde sous Linux sont d'ailleurs basés sur rsync
. Cette commande dispose comme beaucoup de commandes Unix et Linux de très nombreuses options qui peuvent en dérouter plus d'un. Heureusement, dans le cas d'usage qui est le notre, nous n'en avons besoin que de quelques unes. Mais que cherche t'on à faire exactement ?
On ne veux pas perdre notamment:
En revanche, il est inutile de conserver:
Pour répondre à ce besoin, le mode archivage de la commande rsync
remplit parfaitement son rôle, c'est à dire qu'il va mettre à jour notre répertoire de sauvegarde avec les fichiers ayant été modifiés depuis la dernière sauvegarde.
Dans ce mode, les options suivantes seront positionnées pour nous:
Concrètement, pour archiver les données du répertoire /home/user dans le répertoire d'archivage /media/backup, on utilisera un script similaire à celui-ci:
cat /etc/cron.daily/backup-home
#!/bin/sh
rsync \
--exclude '.cache' \
--exclude '.dbus' \
--exclude '.icons' \
--exclude '.local' \
--exclude '.themes' \
--exclude 'Musique' \
--exclude 'Téléchargements' \
--exclude 'Vidéos' \
--exclude 'VirtualBox VMs' \
--verbose \
--archive \
--log-file=/var/log/backup-home.log \
/home/user /media/backup
C'est à dire qu'on archive tout ce qui se trouve dans $HOME à l'exclusion d'un certain nombre de répertoires. Par exemple, je n'archive pas les machines virtuelles VirtualBox parce que cela prend beaucoup de place et personnellement ça ne m'est pas utile.
On pourrait simplifier la syntaxe utilisée pour les répertoires commençant par un point, mais le fait de préciser un à un chacun de ces répertoires me permet d'archiver mes dépôts git qui se trouvent dans Documents. De plus utiliser --exclude '.*' ne me permettra pas d'archiver par exemple .profile, .bashrc, ... ni le répertoire .mozilla qui contient le profile de Firefox avec les marques pages.
Les exclusions peuvent s'écrire plus simplement grâce à l'option --exclude-from et l'utilisation d'un fichier.
Voilà pour la sauvegarde. Pour ce qui est du coté périodique de celle-ci, j'ai utilisé anacron
avec une sauvegarde quotidienne. C'est très simple, il suffit de créer ce fichier backup-home et de le placer dans le bon répertoire.
Chacun choisira la périodicité qui lui convient. On peut même faire une sauvegarde deux fois par semaine en ajoutant un code conditionnel de sortie en début du script /etc/cron.daily/backup-home.
Ensemble de recommandations pour sécuriser un serveur.
Pratique.
via SebSauvage
Base64 encoding of large files.
Base64 encoding converts triples of eight-bit symbols into quadruples of six-bit symbols. Reading the input file in chunks that are a multiple of three bytes in length results in a chunk that can be encoded independently of the rest of the input file. MIME additionally enforces a line length of 76 characters plus the CRLF. 76 characters is enough for 19 quadruples of six-bit symbols thus representing 19 triples of eight-bit symbols. Reading 57 eight-bit symbols provides exactly enough data for a complete MIME-formatted line. Finally, PHP's default buffer size is 8192 bytes - enough for 143 MIME lines' worth of input.
So if you read from the input file in chunks of 8151 (=57*143) bytes you will get (up to) 8151 eight-bit symbols, which encode as exactly 10868 six-bit symbols, which then wrap to exactly 143 MIME-formatted lines. There is no need to retain left-over symbols (either six- or eight-bit) from one chunk to the next. Just read a chunk, encode it, write it out, and go on to the next chunk. Obviously the last chunk will probably be shorter, but encoding it is still independent of the rest.
while(!feof($input_file))
{
$plain = fread($input_file, 57 * 143);
$encoded = base64_encode($plain);
$encoded = chunk_split($encoded, 76, "\r\n");
fwrite($output_file, $encoded);
}
Conversely, each 76-character MIME-formatted line (not counting the trailing CRLF) contains exactly enough data for 57 bytes of output without needing to retain leftover bits that need prepending to the next line. What that means is that each line can be decoded independently of the others, and the decoded chunks can then be concatenated together or written out sequentially. However, this does make the assumption that the encoded data really is MIME-formatted; without that assurance it is necessary to accept that the base64 data won't be so conveniently arranged.
Quelques mots sur la sécurité relative au protocole TCP/IP
Une série de tutoriels sur les technologies du web : html, css, javascript
Tout est dans le titre. Sur un dédié uniquement, vu les manip à faire (mais je n'ai pas testé plus avant)...
À lire.
À lire. Sur le principe, c'est pas idiot.
Intéressant ce blog