PROJET AUTOBLOG


IT-Connect

Site original : IT-Connect

⇐ retour index

Facebook : Les secrets de son datacenter en Suède

lundi 6 juin 2016 à 17:59

Le site Le Monde propose un article très intéressant sur un datacenter de Facebook, situé à Lulea, au nord de la Suède. Voici les points clés :

logo-datacenter20– Le bâtiment fait 320m de long, 100m de large et 30m de haut
– Il traite une partie des requêtes des utilisateurs Européens et stockent temporairement leurs données
– Il contient 4 salles avec des dizaines de milliers de serveurs (le nombre exact n’est pas communiqué)
– 150 personnes sont employés pour assurer une surveillance 24h/24 du site
– Le refroidissement des serveurs est assuré par le vent polaire (il subit un traitement)
– La température intérieure est maintenue entre 20 et 22°C
– Le datacenter gère aussi une partie du trafic de Messenger et Instagram
– L’électricité utilisée est peu chère et elle est « propre » et renouvelable

Pour une lecture complète de l’article et notamment en savoir plus sur l’implantation de l’entreprise KnCMiner en Suède : Source

Les processus sous Linux

vendredi 3 juin 2016 à 09:30

I. Présentation

Un système d’exploitation se compose de processus. Ces derniers, responsables de la stabilité et la sécurité du système, sont exécutés dans un ordre bien précis et observent des liens de parenté entre eux. On distingue deux catégories de processus, ceux axés sur l’environnement utilisateur et ceux sur l’environnement matériel.

II. Les processus

A. Principes

Lorsqu’un programme s’exécute, le système va créer un processus qui lui est associé en plaçant les données et le code du programme en mémoire et en créant une pile d’exécution. De ce fait un processus est une instance (dynamique) d’un programme auquel est associé un environnement processeur (CO, PSW, registres) et un environnement mémoire.

Au sein des systèmes UNIX, les processus sont identifiés par leur PID (ou Process Identifiant, un identifiant unique) et y sont organisés de façon hiérarchique. Il existe une relation père / fils entre les processus, un processus fils est le résultat de l’appel système de la primitive fork() par le processus père qui duplique son propre code pour créer un fils. Le PID du fils est renvoyé au processus père pour qu’il puisse dialoguer avec. Chaque fils possède l’identifiant de son père, le PPID (ou Parent Process Identifiant).

Note : Les processus ne sont pas à confondre avec les threads (dit aussi processus légers). Chaque processus (parent, enfant) possède son propre contexte mémoire (ressources et espace d’adressage) alors que les threads issus d’un même processus partagent ce même contexte.

 

B. Création des processus

Avant le lancement du système, le chargeur de démarrage (ou d’amorce) fait appel à la fonction start_kernel() du fichier init/main.c. Cette fonction va créer le tout premier processus : le swapper (ou Processus 0, ou encore sched pour scheduler ) qui occupera la première entrée de la table des processus. Le swapper va ensuite créer deux autres processus, le processus init et le processus [kthreadd] et va s’endormir.

À partir de ce moment-là, nous pouvons considérer qu’il existe 2 espaces au sein du système. Un espace utilisateur avec init au sommet de la hiérarchie et un espace noyau avec [kthreadd].

graphe-hierarchie-up-p

Notons que Init et [kthreadd] étant tout les deux des fils du swapper ont leur PPID égal à 0. La commande ps permet de le vérifier.

ps -aef

UID          PID  PPID    C STIME      TTY          TIME         CMD
root         1     0      0 12:01      ?            00:00:01     /sbin/init
root         2     0             0 12:01      ?            00:00:00        [kthreadd]

 

III. Arborescences

A. Espace utilisateur

Au sommet de l’espace utilisateur se trouve le processus init, ayant le PID n°1, qui est le premier à avoir été lancé. Il se chargera ensuite de créer les autres processus nécessaires au fonctionnement du système, notamment les processus daemons et les processus gettys qui à leur tour créeront d’autres processus fils et ainsi de suite. Init sera ici l’ancêtre de tous les processus.

graphe-hierarchie-user-p

1. Les processus gettys

Les processus getty (get teletype) sont chargés de la surveillance des terminaux. Ils permettent en autre aux utilisateurs de se connecter.

ps -aef

UID        PID  PPID  C STIME TTY          TIME CMD
root       850     1  0 08:58 tty4     00:00:00 /sbin/getty -8 38400 tty4
root       854     1  0 08:58 tty5     00:00:00 /sbin/getty -8 38400 tty5
root       862     1  0 08:58 tty2     00:00:00 /sbin/getty -8 38400 tty2

Quand un utilisateur veut se connecter à un terminal, le processus getty va créer un nouveau processus fils, le processus login. Ce dernier va vérifier à l’aide du fichier /etc/passwd la correspondance login/mot de passe et les autorisations de l’utilisateur. Si la connexion est réussie, le processus login va à son tour créer un nouveau processus fils, le processus shell (interpréteur de commandes). Il va analyser si l’utilisateur entre une commande et créera un nouveau processus chargé de l’exécuter. Ce dernier processus prendra fin lorsque la commande (ou le programme lancé en ligne de commande) se terminera.

ps axjf

 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
 4141 24877 24877 24877 ?           -1 Ss       0   0:00  \_ sshd: root@pts/0
24877 24882 24882 24882 pts/0    26592 Ss       0   0:00  |   \_ -bash
24882 26592 26592 24882 pts/0    26592 R+       0   0:00  |       \_ ps axjf
 4141 26275 26275 26275 ?           -1 Ss       0   0:00  \_ sshd: root@pts/2
26275 26280 26280 26280 pts/1    26984 Ss       0   0:00      \_ -bash
26280 26984 26984 26280 pts/1    26984 S+       0   0:00          \_ /bin/bash ./testDodo.sh
26984 27004 26984 26280 pts/1    26984 S+       0   0:00              \_ sleep 1

 

2. Les processus daemons

Les daemons sont des processus, pour la plupart lancés au démarrage du système, qui restent en tâche de fond jusqu’à ce qu’on fasse appel à eux. Leurs noms se terminent généralement par la lettre d (pour daemon).

ps -aef

UID        PID  PPID  C STIME TTY          TIME CMD
root      3920     1  0 mai06 ?        00:00:41 /usr/sbin/rsyslogd
root      4086     1  0 mai06 ?        00:00:00 /usr/sbin/vsftpd
root      4141     1  0 mai06 ?        00:00:01 /usr/sbin/sshd

Parmi les plus connus, nous avons par exemple crond (tâches planifiées), inetd (surveillance réseau), rsyslogd (logs du système), lpd (gestion de l’imprimante), etc. Liste non exhaustive : Unix_daemons

B. Espace Noyau

Cet espace est occupé par les threads noyau (ou kthreads, ou encore processus noyau) qui gèrent la partie hardware du serveur (c’est pourquoi ils sont lancés depuis le swapper) et ont une priorité haute. Ils s’exécutent dans l’espace d’adressage du noyau.

graphe-hierarchie-noyau-p

Au somment de cet espace sur trouve le daemon [kthreadd], processus qui se chargera de lancer tous les autres kthreads, reconnaissables de par leurs noms entre crochets [], [kthreadd] est donc l’unique père de cette hiérarchie et de ce fait tous les kthreads présents dans cet espace (sauf [kthreadd] lui même) ont un PPID de 2.

ps axjf

 PPID   PID  PGID   SID TTY      TPGID STAT   UID   TIME COMMAND
    0     2     0     0 ?           -1 S        0   0:00 [kthreadd]
    2     3     0     0 ?           -1 S        0   0:03  \_ [ksoftirqd/0]
    2     5     0     0 ?           -1 S<       0   0:00  \_ [kworker/0:0H]
    2     7     0     0 ?           -1 S        0   0:00  \_ [migration/0]
    2     8     0     0 ?           -1 S        0   0:00  \_ [rcu_bh]
    2     9     0     0 ?           -1 S        0   1:11  \_ [rcu_sched]
    2    10     0     0 ?           -1 S        0   0:00  \_ [migration/1]
    2    11     0     0 ?           -1 S        0   0:00  \_ [ksoftirqd/1]
[...]

Parmi les plus connus nous avons par exemple [kswapd0] (daemon du swap), [kupdate] (cache disque), etc.

IV. Conclusion

C’est le système qui, normalement, se charge de la gestion des processus, cependant il est possible d’intervenir avec l’aide de commandes comme ps, top, htop. Ces commandes s’avèrent très pratiques en cas de problèmes (consommation mémoire excessive, processus zombie, …). Elles permettent dans la plupart des cas un contrôle assez étendu et d’avoir une bonne vision d’ensemble sur le système et les processus.

SSHC : gestionnaire de profils SSH en ligne de commande

jeudi 2 juin 2016 à 09:30

I. Présentation de SSHC

SSHC (pour « SSH Console« ) est un gestionnaire de profils SSH en ligne de commande, ultra pratique pour les Linuxiens qui souhaitent une gestion des profils « à la Putty« . L’intérêt est bien entendu de pouvoir :

Le tout en ayant en plus un stockage des mots de passe ! Je trouve personnellement l’outil très utile et facile à utiliser. Voyons cela ! 🙂

II. Installation de SSHC

SSHC est un outil simple d’installation, la plupart des dépendances dont il a besoin sont présentes nativement sur les distributions Linux classiques. Nous aurons cependant besoin d’installer :

Sous Debian, voici comment installer ces paquets :

apt-get install openssl sshpass wget ssh joe

Sous CentOS :

yum install openssl sshpass wget ssh joe

Bien, maintenant que nos dépendances sont installées, nous allons pouvoir installer notre outil « SSHC« , on le télécharge :

wget https://github.com/e2ma3n/sshc/archive/master.zip

On décompresse l’archive récupérée :

unzip master.zip

On se retrouve avec un répertoire « sshc-master » dans lequel on se rend pour exécuter l’installeur :

cd sshc-master
./install.sh -i

Voici l’affichage attendu :

sshc-installation

Installation de SSHC

Il ne nous reste plus qu’à créer nos profils de connexion ! 🙂

III. Enregistrement de nos profils et utilisation

Pour utiliser SSHC, rien de plus simple :

sshc

L’outil va alors nous demander notre mot de passe de base de données. Cette base de données est chiffrée et permet de stocker nos profils de connexion et surtout nos mots de passe ! Par défaut, le mot de passe de la base de données est « sshc« , pas d’inquiétude, nous allons changer cela, voici le premier affichage attendu :

sshc-utilisation-01

SSHC : premier lancement

Ici, nous allons saisir « 0 » pour éditer notre base de données, nous allons donc ensuite avoir un fichier à modifier et dans lequel saisir nos profils de connexion. Un exemple est fournis et les nouvelles entrées sont à saisir tout en bas du fichier (après la deuxième ligne de tiret), voici quelques exemples d’entrées :

root 0 monserveur.fr 0 22 monPassword
root 1594 10.1.2.5 0 5222 monPassword

La trame a suivre est la suivante :

utilisateur port_proxy_local IP/dns_serveur port_proxy_distant port_ssh mot_de_passe

Les paramètres « port_proxy_local » et « port_proxy_distant »  peuvent être positionnés à « 0 » si non utilisés, ce qui sera le cas la plupart du temps, dans tous les cas il faut mettre une valeur (aléatoire si vous le souhaitez) mais pas un vide ou un espace ! Sachez néanmoins que ceux-ci permettent l’établissement d’un tunnel SSH.

sshc-utilisation-04

Ajout ou modification d’un profil de connexion

Une fois le fichier rempli, on effectue la combinaison de touche Ctrl+X puis « 0 » et « ENTREE » pour valider nos changements. Un mot de passe nous sera alors demandé pour verrouiller et chiffrer notre base de données, l’occasion de changer le « sshc » par défaut :

sshc-utilisation-02

SSHC : Saisie du mot de passe de base de données

Note : L’algorithme de chiffrement utilisé et la méthode de chiffrement sont consultables dans le code source du projet (vive l’open-source ! 🙂 ) il s’agit de l’aes-256-cbc

Une fois le mot de passe saisi, une nouvelle base de données sera créée et chiffrée avec votre mot de passe principal. Lorsque l’on exécutera à nouveau la commande « sshc« , c’est ce mot de passe qu’il faudra saisir pour accéder à vos profils (autrement le message « Database can not decrypted » s’affichera). Voici la vue que l’on aura alors :

sshc-utilisation-05

SSHC : Sélection du profil de connexion à utiliser

Il ne nous reste donc plus qu’à sélectionner le profil de connexion que nous souhaitons utiliser, on se retrouve alors avec plusieurs choix de connexion  :

sshc-utilisation-06

SSHC : Sélectionne du mode de connexion (le mode « 1 » étant le plus courant)

Le choix n°0 permet l’utilisation des paramètres « local_proxy_port » et « remote_proxy_port » pour établir un tunnel, si c’est le mode n°1 qui est sélectionné, ces paramètres seront ignorés est une connexion normale se lancera avec les paramètres saisis (utilisateur, serveur, port et mot de passe).

Pour les curieux, voici le Github du projet : https://github.com/e2ma3n/sshc

C’est un outil que je trouve intéressant car il propose une utilisation similaire à Putty et sa gestion des profils. Il aurait néanmoins été appréciable d’avoir la possibilité de ne pas mettre de mot de passe dans la base de données, ce qui n’est pas possible aujourd’hui car cela provoque une erreur d’utilisation de la commande de connexion, un peu dommage. !

Computex 2016 : Les dernières infos d’Asustor

mercredi 1 juin 2016 à 11:00

Le salon Computex 2016 se déroule actuellement, l’occasion d’y retrouver du beau monde notamment dans l’univers du NAS où Asustor est également présent. À cette occasion, Asustor en profite pour nous présenter quelques nouveautés, voici des nouvelles fraîches.

– Système d’exploitation ADM 3.0

En démonstration au Computex, l’ADM 3.0 est la prochaine version majeure du système d’exploitation présent sur les NAS Asustor. Cette troisième génération de l’OS aura à coeur d’améliorer l’expérience utilisateur avec notamment des options de personnalisation supplémentaires, notamment avec une gestion des thèmes.

adm3.0

Pour preuve : L’affichage sur un écran 4K sera supporté et la taille des icônes de votre bureau virtuel s’adaptera automatiquement selon la résolution de votre écran, le responsive design est de la partie. De plus, pour la disposition des icônes on pourra personnaliser le nombre d’icônes à afficher par ligne dans chaque page.

Une fonction très attendue également c’est la possibilité d’ajouter des widgets, ce sera intégré à l’ADM 3.0, tout comme un système de notifications qui permet d’afficher des notifications, mais aussi de personnaliser le contenu des notifications. Enfin, on retrouve aussi :

* Une page de connexion encore plus personnalisable

* Choix des couleurs notamment pour les boutons

* Créer des dossiers pour ranger vos applications

– MyArchive continue d’évoluer

C’est une des fonctionnalités phare des NAS Asustor et surtout c’est une fonctionnalité exclusive, MyArchive continue de s’étoffer dans cette nouvelle version. Le nombre de disques MyArchive configurable en simultanés est augmenté, pour améliorer la flexibilité, tout comme la possibilité de formater les disques avec différents systèmes de fichiers : EXT4, NTFS et HFS+.

On ajoutera également :

* Accéder aux disques MyArchive directement depuis OS X ou Windows en les connectant via eSATA ou USB

* Chiffrement AES-256 bits avec le déchiffrement par mot de passe, clé électronique ou un périphérique USB de confiance

* Montage automatique des disques MyArchive directement sur des NAS définit comme NAS de confiance, avec la possibilité d’ajouter jusqu’à 20 périphériques de confiance différents

– Surveillance Center veut séduire les entreprises

Asustor veut proposer aux entreprises une véritable solution de vidéosurveillance avec son application Surveillance Center 2.5. Par exemple voici la démonstration effectuée par Asustor au Computex : Connecter un NAS AS7010T à un double affichage avec la possibilité d’afficher 64 flux de caméras différents et la cartographie des caméras.

computex2016

Les utilisateurs pourront rechercher et visualiser un enregistrement directement depuis l’affichage du NAS en local, en s’appuyant sur la timeline et le calendrier intégré à l’application.

* Gestion de 32 systèmes NVR Asustor depuis un serveur primaire et affichage jusqu’à 128 flux de caméras

* L’utilisation de Surveillance Center peut-être combinée à l’utilisation des disques MyArchive pour une meilleure gestion de vos enregistrements, ce qui permet également de les archiver et de les ressortir plus tard si besoin

* Chiffrement HTTPS dans les navigateurs Chrome, Firefox, Edge et IE pour la lecture des flux vidéos

* CMS Lite : Interconnecter plusieurs NAS entre-eux pour afficher à partir d’un même NAS les flux provenant des autres NAS qui lui sont associés, l’objectif étant de centraliser les flux de surveillance

Enfin, 43 modèles de caméras supplémentaires sont compatibles, pour un total de plus de 700 modèles.

Pour terminer cet article, sachez qu’Asustor continue d’améliorer également deux applications phares pour le multimédia : LooksGood et SoundsGood – Notamment une interface plus intuitive, retrouvez des infos pour LooksGood au sein de cet article : LooksGood et AiVideos

Pour SoundsGood c’est l’équivalent de LooksGood mais pour lire des flux audio, avec l’application AiMusic disponible sur les smartphones. Désormais, vous pouvez connecter des enceintes sur votre NAS via la sortie HDMI ou SPDIF et depuis votre smartphone vous pouvez contrôler le flux audio pour écouter vos morceaux préférés, ce qui est relativement intéressant.

Sur son stand au Computex, Asustor met en avant différents NAS pour tous vos besoins : AS6208T, AS6210T, et les modèles rackables AS6204RD/RS et AS6212RD.

Ransomware, principale menace du SI en 2016

mardi 31 mai 2016 à 11:00

Les ransomwares sont l’une des principales menaces du moment d’après le rapport ‘report threat prediction 2016’ de l’éditeur antivirus Mcafee. Ce rapport vise en effet à établir un avant-gout, ou ‘prédiction’, des principales menaces auxquelles les systèmes d’informations d’entreprises devront faire face au cours des 5 prochaines années.

Ce rapport annonce en effet que le succès mondial du ‘RaaS’, le ransomware proposé comme un service, compte beaucoup dans l’accroissement de cette menace. Il y est d’ailleurs suggéré que bien que le ‘marché’ (si on peut l’appeler comme cela…) est aujourd’hui dominé par quelques familles, de nouvelles variantes embarquant de nouvelles fonctions de furtivité risquent très probablement de voir le jour lors de ces prochaines années.

logo-design70Pour les intéressés, voici le lien vers ce rapport, vous y trouverez également des informations sur les autres menaces majeures de ces prochaines années (vulnérabilités logicielles, systèmes de paiement, BYOD, cloud, etc.).

Toujours d’après ce rapport, les cibles principales des groupes à l’origine de ces campagnes de ransomware sont les habitants des pays prospères qui ont les moyens de payer une rançon.

Pour rappel, la principale activité des ransomware est de chiffrer le contenu local des postes (et serveur, dans certains cas) infectés pour ensuite demander à son propriétaire le versement d’une rançon en échange d’un déchiffrement (présumé).

Pour Bruno Barat, directeur général d’ALSO France SAS : “Tous les malwares sont évidemment nuisibles, mais le danger est d’autant plus important lorsqu’il s’agit d’un rançongiciel. Payer une rançon n’est pas simplement un aveu de faiblesse : c’est aussi reconnaître que les mesures préventives n’ont pas été mises en place. Plusieurs mesures pourraient contribuer à une meilleure prévention sur les rançongiciels : la sensibilisation sur la cybersécurité, une solution de sécurité fiable pour les e-mails, un logiciel de surveillance internet, et la protection de vos paramètres.

Face à cette tendance, beaucoup d’outils peuvent être utilisés. Le premier est bien entendu la vigilance en tant qu’utilisateur, les comportements à risques sont à éviter ainsi que la manipulation des pièces jointes et de toute source de données externe.

Cependant, cette vigilance requise est loin d’être observée et il est nécessaire de s’armer, au niveau des particuliers et encore plus au niveau des SI d’entreprise, d’outils permettant de protéger des ransomwares.

GFI WebMonitor et GFI MailEssentials permettent par exemple d’ajouter une couche de protection supplémentaire contre les ransomwares, le premier fournit un filtrage web et un contrôle des URL en fonction d’une base de plusieurs centaines de milliers de domaines, l’intérêt premier est de renseigner l’utilisateur sur la confiance qu’il peut avoir lorsqu’il navigue sur un site web. Le produit profite d’une centralisation des données pour améliorer sa précision. Au niveau du SI, il permet également de bloquer certains flux au niveau application. La solution propose également une technologie permettant de lutter contre le phishing, technique de social engineering redoutable.

GFI MailEssentials permet lui d’ajouter une couche de protection au niveau mail, il donne aux administrateurs un contrôle supplémentaire en terme d’anti-spam et de sécurité. Le mail est aujourd’hui un des transports principale des scripts, exécutables et autres codes malveillants pouvant amener un l’infection d’un ransomware, il est aujourd’hui primordial de savoir, au niveau du SI, bloquer tout mail illégitime grâce à ce genre de solution.

Beaucoup de solutions existent, mais il y autant de familles de ransomware et vecteurs d’infection. Le problème de l’infection des malwares, et plus précisément des ransomware ne sera pas résolu par une barrière infranchissable mais par plusieurs solutions de sécurité à différents niveaux. Ces solutions seront autant techniques qu’humaines (sensibilisation des utilisateurs !) et cette bataille, déjà engagée depuis bien des années, n’est pas prête de se terminer car attaquant et défenseur redoublent constamment d’ingéniosité.

<script src="http://spn.so/8f505a239b6ecd27.js">

Cet article a été écrit en collaboration avec la marque, cependant tous les mots présents dans l’article sont les miens.