31 mars 2016

[CENTOS / RHEL] Trouver le package lié à une commande avec yum

Il arrive que l'on cherche à utiliser une commande. Dans mon cas, il s'agit de la commande xml_split.

Cependant, quand on cherche xml_split avec yum search:

# yum search xml_split
Modules complémentaires chargés : fastestmirror
base                                                                                                   | 3.6 kB  00:00:00
epel/x86_64/metalink                                                                                   |  26 kB  00:00:00
epel                                                                                                   | 4.3 kB  00:00:00
extras                                                                                                 | 3.4 kB  00:00:00
updates                                                                                                | 3.4 kB  00:00:00
vmware-tools                                                                                           |  951 B  00:00:00
(1/7): base/7/x86_64/group_gz                                                                          | 155 kB  00:00:00
(2/7): epel/x86_64/group_gz                                                                            | 169 kB  00:00:00
(3/7): extras/7/x86_64/primary_db                                                                      | 101 kB  00:00:00
(4/7): epel/x86_64/updateinfo                                                                          | 525 kB  00:00:00
(5/7): epel/x86_64/primary_db                                                                          | 4.0 MB  00:00:00
(6/7): updates/7/x86_64/primary_db                                                                     | 3.2 MB  00:00:00
(7/7): base/7/x86_64/primary_db                                                                        | 5.3 MB  00:00:01
vmware-tools/primary                                                                                   | 1.0 kB  00:00:00
Determining fastest mirrors
 * base: centos.crazyfrogs.org
 * epel: epel.besthosting.ua
 * extras: centos.mirror.fr.planethoster.net
 * updates: centos.mirror.fr.planethoster.net
vmware-tools                                                                                                              2/2
Attention : aucune correspondance trouvée pour : xml_split
No matches found
Mauvaise nouvelle, aucun package ne porte ce nom et donc, nous n'obtenons aucun résultat ...

Heureusement il y a une solution avec yum provides:

# yum provides */xml_split
Modules complémentaires chargés : fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos.crazyfrogs.org
 * epel: epel.besthosting.ua
 * extras: centos.mirror.fr.planethoster.net
 * updates: centos.mirror.fr.planethoster.net
base/7/x86_64/filelists_db                                                                             | 6.2 MB  00:00:01
epel/x86_64/filelists_db                                                                               | 6.5 MB  00:00:01
extras/7/x86_64/filelists_db                                                                           | 258 kB  00:00:00
updates/7/x86_64/filelists_db                                                                          | 2.1 MB  00:00:00
vmware-tools/filelists                                                                                 |  433 B  00:00:00
openvas-manager-6.0.3-3.el7.x86_64 : Manager Module for the Open Vulnerability Assessment System (OpenVAS)
Dépôt               : epel
Correspondance depuis :
Nom de fichier : /usr/share/openvas/scap/xml_split



perl-XML-Twig-3.44-2.el7.noarch : Perl module for processing huge XML documents in tree mode
Dépôt               : base
Correspondance depuis :
Nom de fichier : /usr/bin/xml_split
Et voilà, ici on se rend compte que la commande xml_split est contenue dans perl-XML-Twig-3.44-2.el7.noarch

23 mars 2016

[UNIX/LINUX] exemples requêtes curl

Source : http://superuser.com/questions/149329/what-is-the-curl-command-line-syntax-to-do-a-post-request

With fields:

curl --data "param1=value1&param2=value2" https://example.com/resource.cgi
Multipart:
curl --form "fileupload=@my-file.txt" https://example.com/resource.cgi
Multipart with fields and a filename:
curl --form "fileupload=@my-file.txt;filename=desired-filename.txt" --form param1=value1 --form param2=value2 https://example.com/resource.cgi
Without data:
curl --data '' https://example.com/resource.cgi

curl -X POST https://example.com/resource.cgi

curl --request POST https://example.com/resource.cgi
For more information see the cURL manual. The cURL tutorial on emulating a web browser is helpful.

With libcurl, use the curl_formadd() function to build your form before submitting it in the usual way. See the libcurl documentation for more information.

For large files, consider adding parameters to show upload progress:
curl --tr-encoding -X POST -v -# -o output -T filename.dat \
  http://example.com/resource.cgi
The -o output is required, otherwise no progress bar will appear.

21 mars 2016

[Robotique / AI] "Sophia" de Hanson Robotics

Le robot super réaliste Sophia menace de détruire l'humanité

Source : https://fr.sputniknews.com/sci_tech/201603181023478958-robot-destructuion-humanite/


L'entreprise américaine Hanson Robotics a créé une menace pour l'humanité que tout le monde craignait: un robot prénommé Sophia ressemble étonnamment à un humain et souhaite éradiquer l'humanité.

Il s'avère que le soulèvement des machines aura lieu plus tôt qu'on ne le croyait, et les concepteurs de cette entreprise, qui produit des robots, semblent jouer un rôle clé dans l'accélération de ce processus. Leur nouvelle invention, le robot Sophia, seulement blaguer sur la destruction de l'humanité dans le futur, mais le processus a évidemment commencé.

Ce robot soigneusement conçu a déclaré, dans un entretien-démonstration avec son "père", le concepteur David Hanson, que ses principaux désirs incluent une vie humaine normale, surtout des études à l'université et un foyer familial. Par ailleurs, Sophia ne serait pas contre tuer quelques humains, confie-t-elle ensuite.

Bien que M. Hanson maintienne que ce n'est qu'une plaisanterie, cela ne fait curieusement rire personne. La machine, a-t-il poursuivi, a été conçue initialement pour travailler dans le domaine de la santé, de l'enseignement ou bien des services… mais les gens apprécieront-ils une telle initiative?
"Ma principale fonction est de communiquer avec les gens", poursuit le robot.
Vu ses blagues, la ressemblance de Sophia avec un être humain devient de plus en plus terrifiante. Sa peau est faite d'une matière malléable Frubber, et de multiples moteurs cachés dans son corps lui permettent de sourire, de froncer les sourcils et d'exprimer plusieurs autres émotions.

L'androïde a des caméras à la place des yeux avec un algorithme censé reconnaître les visages humains et établir un contact visuel. Sophia est d'ailleurs capable de discerner le langage humain, répondre aux questions, tout comme mémoriser ses interactions et les visages qu'elle voit. Ces informations l'aident à accélérer son apprentissage et améliorer ses capacités.
"Elle est destinée à être aussi consciente, créative et capable que chaque humain", explique son concepteur, ajoutant qu'il espère voir des robots marcher parmi les humains dans moins de 20 ans. Un jour, les androïdes ne pourront pas être différenciés des humains, selon M. Hanson.




16 mars 2016

[Sécurité] Possesseurs d'objets connectés, préparez-vous à être piratés

Ca peut paraître un peu alarmiste mais la prudence est de mise, car à chaque objet connecté sa faille de sécurité potentielle !

Commençons par l'article évoquant les grandes oreilles des SmartTV de la marque Samsung, Source: http://www.developpez.com/actu/96026/Samsung-invite-les-utilisateurs-de-ses-televisions-intelligentes-a-reflechir-a-deux-fois-avant-de-tenir-des-conversations-privees-devant-elles/
Samsung invite les utilisateurs de ses télévisions intelligentes à réfléchir à deux fois Avant de tenir des conversations privées devant elles

Après avoir rappelé que ses télévisions intelligentes pouvaient intercepter les commandes vocales ainsi que les textes associés afin de vous fournir les fonctionnalités de reconnaissance vocale, Samsung a recommandé de ne pas parler de sujets personnels devant ses dispositifs : « s'il vous plaît, sachez que si ce que vous dites inclut des informations personnelles ou sensibles, ces informations feront partie des données interceptées et transmises aux tierces parties via votre utilisation de reconnaissance vocale »
Bien entendu, pour que vous soyez en mesure d'utiliser des fonctions de reconnaissance vocale interactive, cette fonctionnalité doit être activée au préalable, « bien que vous pourrez contrôler votre télévision en vous servant de certaines commandes vocales prédéfinies ».

Pour Corynne McSherry, directeur légal de l'Electronic Frontier Foundation, à en juger par cette clause, Samsung devait sans doute collecter les commandes vocales pour améliorer les performances de sa télévision : « on dirait qu'ils utilisent un service tiers pour convertir la parole en texte ». Cependant, elle avance que « si j'étais un client, j'aurais aimé savoir qui est cette tierce partie et j'aimerais certainement savoir si mes mots sont transmis sur un canal sécurisé ». Peu de temps après, un activiste de l'EFF a diffusé cette clause sur Twitter en la comparant à la description faite par George Orwell dans sa nouvelle 1984 dans laquelle les écrans de télé écoutaient ce que les gens se disaient chez eux.




Michael Price, avocat pour le compte du Liberty and National Security Program, a déclaré que : « je ne doute pas du fait que ces données sont importantes pour fournir un contenu personnalisé et qui convienne au mieux, mais elles constituent également des informations très personnelles et protégées par la Constitution qui ne devraient pas être vendues à des annonceurs. D'ailleurs elles requièrent que les forces de l'ordre disposent d'un mandat pour pouvoir y avoir accès ».

Samsung a très vite réagi à la controverse suscitée en faisant une déclaration concernant la façon dont la fonctionnalité est utilisée : « après avoir donné son consentement, si un utilisateur se sert de la fonctionnalité de reconnaissance vocale, les données vocales sont fournies à un service tiers pendant une recherche de commande vocale. À ce moment, les données vocales sont envoyées vers un serveur qui va chercher le contenu des requêtes et retourner le contenu désiré à la télévision ». Le constructeur a ajouté qu'il ne conserve pas les données vocales qui ont été interceptées et donc ne les vend pas. Il a également précisé que les propriétaires de télévisions intelligentes ont toujours la capacité de savoir si la commande vocale est activée étant donné qu'une icône de microphone sera visible sur l'écran.

Peu de temps après, suivant les recommandations de Corynne McSherry, le constructeur a mis à jour cette clause en précisant le nom de l'entreprise tierce qui s'occupe de ce service : il s'agit de Nuance Communications Inc. qui est spécialisée dans la reconnaissance vocale.

Source : BBC, Twitter   
Maintenant, lisons cet article concernant le rappel des voitures Nissa Leaf (source : http://www.01net.com/actualites/la-nissan-leaf-est-une-proie-facile-pour-les-hackers-954785.html):

La Nissan Leaf, proie facile pour les hackers

Nissan fait les frais d’un hacker qui démontre la facilité d’accès à certaines données stockées dans la voiture électrique via l’application ConnectEV. L’appli a depuis été retirée des magasins d’applications.

Les voitures connectées sont de véritables proies pour les hackers. C’était d’ailleurs l’un des sujets brulants des conférences Black Hat et DefCon 2015 (les plus grands rassemblements de hackers), où les pires scénarios possibles nous ont été présentés. Visiblement, le phénomène n’est pas prêt de s’essouffler et c’est aujourd’hui Nissan qui en fait les frais sur sa voiture électrique, la Leaf. Pointée du doigt sur son site par l’expert en sécurité Troy Hunt, l’application Nissan ConnectEV souffre en effet d’une faille majeure permettant d’accéder facilement à certaines données et fonctions de la voiture.

Ce hack est parti d’une situation assez amusante. Troy Hunt explique que lors d’une formation dédiée aux développeurs en Norvège, il a été interpellé par un possesseur de Nissan LEAF – une voiture électrique très populaire là-bas– qui souhaitait mettre à l’épreuve la sécurité de ConnectEV.

De fil en aiguille, Troy Hunt et Scott Helme, un autre expert en sécurité, ont découvert qu’il était possible d’accéder aisément à son véhicule, mais aussi... à n'importe quelle Nissan LEAF.

En effet, pour exploiter cette faille, il suffit simplement de relever le numéro VIN (Vehicle Identification Number, soit la carte d’identité de la voiture) d’une Leaf. Et la chose est ridiculement simple, puisque ce numéro d’identification est visible au bas du pare-brise sur n'importe quelle auto. C’est notamment celui-ci qui permet aux forces de l’ordre, lors d’un contrôle, de vérifier que le véhicule correspond bien à celui de la carte grise.

Nissan ConnectEV est le maillon faible

L’application Nissan ConnectEV permet aux clients ayant acheté la voiture électrique d’accéder aux données de leur voiture : contrôle de la charge, localisation GPS, etc.

La vidéo ci-dessous pointe la rapidité et la simplicité étonnante avec laquelle le hacker pénètre le véhicule.  Il lui est ensuite possible d’allumer la climatisation de la voiture ou encore de consulter les données enregistrées dans le GPS. Dans le premier cas, une personne mal intentionnée pourrait utiliser ce hack pour vider la batterie en activant la clim' toute une nuit par exemple. Dans l’autre, il permettrait de suivre assez facilement le véhicule en vue, dans le pire des cas, de le voler.
Sur sa page Internet, Troy Hunt réalise même un pas-à-pas de la marche à suivre pour exploiter la faille de l’application Nissan. Mais ne vous précipitez pas : le constructeur s’est d’ores et déjà excusé auprès de ses clients et a retiré l’application des magasins d’applications. Nissan s’est par ailleurs engagé à corriger les problèmes et livrer une nouvelle version plus sécurisée de l’application.

À noter que, selon le CCFA (Comité des Constructeurs Français d’Automobiles), 2222 Nissan Leaf auraient été immatriculées en 2015.

Ou comment être une victime du "progrès" technologique !

Dans les cas précédents, on se retrouve face à des failles de sécurité énorme dans nos propres vies.
Dans le cas de la télévision "intelligente", qu'est-ce qui empêche un tiers de récolter les conversations sensibles, de pouvoir avoir accès à des informations et même faire chanter les auteurs de la conversation.

Pour ce qui est de la voiture intelligente, c'est encore pire, et si une personne mal intentionnée avait accès à votre voiture et la contrôlait à distance, provoquerait un accident?


Mais le plus intéressant est de voir à quel point nous nous dirigeons progressivement vers une société ultra-connectée, ultra-assistée et surtout : ultra-surveillée. Tout ce que le roman 1984 anticipait est possible techniquement et cela depuis plus d'une décennie.

Nous nous dirigeons progressivement vers une prison mentale, froide et technologique, bref, à la domestication progressive de l'humain. Mais le pire dans cette histoire c'est qu'il n'y a personne qui force le citoyen (ou plutôt "citoyen consommateur") à s'y enfermer, il s'tout seul comme un grand dans cette prison douillette, aucun garde-chiourme pour nous y pousser, nous y courons!

Smartphone, tablette, montre connectée, paire de lunettes connectée, TV connecté et bientôt micro-onde, grille-pain, voiture, sèche-cheveux, et même WC connectés ! jusqu'à quelle extrémités arriveront nous pour finalement nous rendre compte que nous ne sommes plus capables de produire une réflexion, d'expérimenter, se tromper, bref d'avoir un comportement humain.

Bon je me suis énervé 5 minutes, mais maintenant qu'est-ce que je fais à mon niveau pour aller à contre-courant de cette domestication ?

Déjà en être conscient et cela passe par identifier les phénomènes actuels et d'anticiper les futurs.

Les ouvrages peuvent être intéressants :

"La domestication de l'humain" d'Alain Cotta
http://www.fayard.fr/la-domestication-de-lhumain-9782213682433
"L'Être contre l'Avoir - Pour une critique radicale et définitive du faux omniprésent" de Francis Cousin

http://www.leretourauxsources.com/index.php/letre-contre-lavoir-detail

15 mars 2016

[Sécurité] Développer la confiance du numérique à l’international

l’ANSSI aux SecurityDays 2016 de Dakar


SecurityDay 2016 réunit les 15 et 16 mars les acteurs de
l’écosystème du numérique africain pour la promotion du développement d’un espace de confiance sur le continent. Un évènement où l’ANSSI interviendra afin de présenter, de partager et d’échanger autour des actions menées par la France en faveur de la sécurité du numérique sur son territoire et à l’international.

SecurityDay 2016 de Dakar établit un cadre d’échange en Afrique de l’Ouest entre experts militaires et civils, décideurs IT, chefs d’entreprise, industriels et utilisateurs finaux, pour étudier conjointement les problématiques opérationnelles et organisationnelles liées à la cybersécurité en Afrique.

L’ANSSI y participe afin de présenter et de partager les actions engagées par la France en faveur de l’accompagnement de la transition numérique sur son territoire.
Un retour d’expérience au profit de la coopération internationale qui précisera notamment la mise en œuvre de la Stratégie nationale pour la sécurité du numérique, au profit de la protection des intérêts fondamentaux de la Nation dans le cyberespace, ainsi que l’établissement de la Loi de programmation militaire, qui vise au renforcement de la protection des infrastructures vitales indispensables au bon fonctionnement de l’Etat.

Accélérer la formation et la coopération internationale auprès d’Etats partenaires pour un cyberespace de confiance est également l’un des enjeux porté par la Stratégie nationale pour la sécurité du numérique. Développer la collaboration hors des frontières, auprès des partenaires et participants présents à SecurityDay 2016, permet non seulement de favoriser une réflexion collective et coordonnée en réponse aux exigences de confiance et de sécurité, mais aussi de valoriser la politique de labellisation de prestataires issus de l’écosystème français, compétents et de confiance, et sur lesquels la LPM s’appuie dans le cadre de la protection des opérateurs d’importance vitale.


Source : http://www.ssi.gouv.fr/actualite/developper-la-confiance-numerique-a-linternational-lanssi-aux-securitydays-2016-de-dakar/

14 mars 2016

[Robotique] vers une relocalisation ?



Une usine high-tech entièrement automatisée pour une qualité maîtrisée :
  • 8000m² dédiés à la production
  • 35 millions d’euros d’investissement
  • Le plus gros lamineur du monde, 600 tonnes pour une capacité de 40 modules
  • 2400 modules de 60 cellules produits par jour
  • 28 robots développés en collaboration avec Kuka, leader mondial de la robotisation pour l’industrie automobile
  • 10 points de contrôle aux phases clés de la production.
Avec cette avancée technologique dans la robotique il y a une bonne et une mauvaise nouvelle.
  • La bonne nouvelle, c'est que nous allons sûrement pouvoir re-localiser des usines en Europe
  • La mauvaise ça va être que cela ne va pas résoudre le problème du chômage

11 mars 2016

Sécurité informatique : 10 bonnes résolutions pour une année 2016 sereine !

Article destiné à tout un chacun et qui mériterait d'être lu. La sécurité informatique est l'affaire de tous, du particulier à la PME jusqu'au grand Groupe en passant par les associations et coopératives.

Des gestes simples peuvent être mis en place pour éviter des catastrophes dont on peut difficilement se relever.

Source : http://www.itrnews.com/articles-top10-jour/161628/securite-informatique-10-bonnes-resolutions-annee-2016-sereine.html


Alors que 2015 s’est achevée sur un arrière goût de cyber-attaque (piratages des réseaux PSN de
Sony et Xbox Live de Microsoft par le groupe Lizard Squad à Noël pour ne citer qu’eux), Wooxo, expert français de la sauvegarde et de l’exploitation sécurisées de données informatiques professionnelles, s’adresse aux TPE et PME pour leur proposer quelques bonnes pratiques en matière de sécurité informatique pour bien débuter l'année.

S’initier aux fondements de la sécurité informatique


La sécurité informatique s’appréhende sous trois aspects élémentaires et complémentaires : la prévention, la détection et la réaction. Elle vise généralement cinq principaux objectifs.
- L’intégrité : garantir que les données sont bien celles que l’on croit être.
- La disponibilité : maintenir le bon fonctionnement du système d’information.
- La confidentialité : rendre l’information inintelligible à d’autres personnes que les seuls acteurs de la transaction.
- La non répudiation : garantir qu’une transaction ne peut être niée.
- L’authentification : assurer que seules les personnes autorisées ont accès aux ressources.

Sécuriser l’accès physiques aux locaux de la société


La première des règles de vigilance est bien sûr la bonne sécurisation des locaux, et plus particulièrement la protection des espaces dits sensibles comme les salles d’hébergement des serveurs informatiques. Il faut conditionner leurs accès à des habilitations, clés, digicodes, badges nominatifs, etc.

Sécuriser les transferts de fichiers


Chaque jour les collaborateurs échangent et transfèrent des dizaines de fichiers à des tiers. Il faut alors s’assurer de sécuriser ces échanges par des mots de passe temporaires et de conserver le détail et l’historique de ces transferts (date de l’envoi, fichier mis à disposition, expéditeur et destinataire).

Formaliser une politique de sécurité du système d’information


L’évaluation de l’impact sur la sécurité informatique est un préalable à tout projet lié au système d’information. Il faut recenser les règles relatives à la sécurité informatique dans un document écrit et accessible à tous les collaborateurs. Il évoluera au rythme des modifications apportées au système d’information. Ce document dresse l’inventaire des vulnérabilités de l’exploitation informatique de la société, des menaces potentielles, des outils de monitoring (surveillance) ou contrôles mis en place pour détecter les menaces éventuelles.

Sauvegarder les données informatiques


Savoir-faire, procédures, fichiers clients, comptabilité, emails, les données informatiques constituent le patrimoine informationnel. Il s’agit de la richesse de l’entreprise, peut-être même son principal avantage concurrentiel, d’où la nécessité de les mettre en sécurité !
Différents systèmes de sauvegarde existent (cloud privé avec sauvegarde sur le site de l’entreprise, cloud public en data-center, cloud hybride), il faut alors choisir le plus adapté aux profils et besoins de sa société.

Anticiper les risques informatiques


Pour pouvoir relancer son activité dans les meilleurs délais suite à un incident, il est important de rédiger une procédure d’urgence explicative du fonctionnement des serveurs. Les données sauvegardées doivent être stockées sur les disques durs de serveurs dédiés, eux-mêmes sauvegardés régulièrement. Il est impératif également de stocker les supports de sauvegarde dans des serveurs conçus pour résister aux
catastrophes naturelles ou sinistres majeurs, ou de les stocker dans locaux distincts et fortement protégés. Si le parc informatique est renouvelé, les machines en fin de vie doivent être physiquement détruites ou débarrassées de leur disque dur. Les périphériques de stockages amovibles doivent aussi être formatés avant réparation, recyclage ou changement d’utilisateur.

Sécuriser les postes de travail sédentaires et nomades


Pour prévenir toute utilisation frauduleuse, les ordinateurs de chaque collaborateur de l’entreprise doivent être paramétrés afin qu’ils se verrouillent automatiquement en cas d’absence ou d’inactivité prolongée. Sur les postes contenant des données critiques, un système de contrôles des ports USB doit être installé en complément.

Mettre en place un processus de création et de suppression des comptes utilisateurs


Sur tous les postes de travail de l’entreprise, il faut créer des comptes utilisateurs nominatifs afin de pouvoir tracer les actions des usagers et ainsi les responsabiliser.

Protéger les réseaux : local et sans fil


Aujourd’hui de plus en plus de malwares peuvent potentiellement nuire au système d’information : virus, chevaux de troie, keyloggers, spywares et autres vers. Des dispositifs de sécurité existent pour aider à limiter la vulnérabilité face aux attaques extérieures : routeurs filtrants, pare-feux, etc. Il faut veiller tout particulièrement à la protection des messageries électroniques, réseaux sans fils et accès distants.

Effectuer régulièrement des tests de restauration des fichiers des serveurs et ordinateurs


Tester régulièrement (au moins une fois par an) la capacité de restauration de ses données pour s’assurer d’une reprise d’activité rapide après un incident. Il faut s’assurer également de sauvegarder les images système des serveurs et PC. Seule la sauvegarde de l’environnement (Mac, Windows, Linux, etc.) permettra de remonter les applications, logiciels métier et datas.



10 mars 2016

[RHEL / CENTOS 7] Nettoyer /boot

En tentant de faire une mise à jour de mon système, je me suis rendu compte que la partition /boot était pleine.


Ne garder que 2 kernels dans /boot peut considérablement l'alléger.

Pour ce faire, éditez /etc/yum.conf et entrez le paramètre suivant:
# vim /etc/yum.conf
installonly_limit=2
Cette action fera en sorte de garder uniquement les deux derniers noyaux linux (inculant le dernier)

Pour faire en sorte de nettoyer /boot pour de bon, installons yum-utils:
yum install yum-utils
Nettoyer les vieux noyaux
package-cleanup --oldkernels --count=2
Et voilà ! cela va supprimer les vieux noyaux et lors des prochaines mise à niveau (upgrade) vous n'aurez plus de soucis.


9 mars 2016

Les acteurs du projet informatique



Les utilisateurs


Il s’agit des utilisateurs du système qui va être créé. Deux catégories d’utilisateurs sont à distinguer :
  • Les utilisateurs dits « finaux » qui ne verront le système que lors de sa mise en exploitation.
  • Les utilisateurs « référents » qui sont impliqués dès l’initialisation du projet. Ce sont eux qui expriment les besoins soutenus par la maîtrise d’ouvrage.

La maîtrise d’ouvrage (MOA)


Visite de chantier au Moyen Âge :
le maître d'œuvre présente
l'avancement au maître de l'ouvrage.
La maîtrise d’ouvrage informatique est responsable de la bonne restitution des besoins et de leurs spécifications détaillées. Elle doit assimiler le métier des utilisateurs et être capable de le traduire dans un langage compréhensible à la maîtrise d’œuvre. La maîtrise d’ouvrage doit donc avoir une appétence particulière à l’informatique et même maîtriser certaines techniques telles que l’accès aux bases de données.

A la différence de la maîtrise d’ouvrage dans le bâtiment, la maîtrise d’ouvrage informatique n’est pas un donneur d’ordre à la maîtrise d’œuvre. Elle est le liant entre le fonctionnelle et le technique.

C’est la maîtrise d’ouvrage qui réalise les tests fonctionnels, même si en fin de projet, des tests complémentaires sont souvent demandés aux utilisateurs « référents ».

C’est aussi la maîtrise d’ouvrage qui participe activement à la conduite du changement nécessaire à la mise en place d’un système informatique dans l’organisation de la PME.
La maîtrise d’ouvrage peut être issue des services fonctionnels ou bien du service informatique.


La maîtrise d’œuvre (MOE)


La maîtrise d’œuvre informatique est responsable de la conception, de la réalisation technique et de l’intégration du système.

La maîtrise d’œuvre est aussi le liant entre le système réalisé et les services d’exploitation informatique qui auront en charge d’assurer la qualité de service du système.

La maîtrise d’œuvre est normalement issue du service informatique. Il s’agit d’informaticiens qualifiés pour la modélisation et le développement de programmes. Dans le cas d’une PME, certains développements peuvent être délégués à des ressources issues des services fonctionnels ou opérationnels sous condition qu’elles disposent des compétences appropriées tant en modélisation qu’en réalisation et qu’elles soient pilotées par un responsable de projet garant de la méthodologie, du suivi et de la qualité.


L’exploitation informatique


L’exploitation informatique assure les missions de support aux utilisateurs, de gestion des réseaux et des systèmes, de gestion des applications et des bases de données.

Ils fournissent l’infrastructure matérielle et logicielle nécessaire au projet.

Ils gèrent la qualité de service du système en exploitation.
Le responsable de projet

Le responsable de projet est garant des délais, du planning et du reporting à la direction.

Il maîtrise la méthodologie de gestion de projet, pilote sa mise en œuvre et valide les livrables produits.

Il coordonne les différents acteurs, assure la circulation de l’information et l’organisation des comités.

Il est responsable de la qualité de ce qui est créé.

Le responsable de projet est un informaticien issu du service informatique. Il est en mesure de soutenir la MOE dans son quotidien.

Dans le cas de projet de dimensions importantes, il peut être nommé un responsable de projet MOE et un responsable de projet MOA. Dans ce cas, un directeur de projet pouvant être issu des services fonctionnels ou du service informatique assure la coordination des deux équipes.



Le chef du service informatique


Le chef du service informatique se doit d’assurer le management du système d’information. (Postes de travail, serveurs, réseau, stockage, sauvegarde, impression, logiciels, sécurité, etc.)

Il est garant de la bonne urbanisation du SIC et de sa cohérence.
Il assure la tenue du budget qui lui est alloué.

A ce titre, il est forcement acteur de tout projet informatique, même s’il délègue une part de responsabilité au responsable de projet.

La direction d’entreprise


La direction de la PME a la vision stratégique des évolutions nécessaires à l’organisation. Elle dispose normalement pour cela du schéma directeur des systèmes d’information et de communication. Elle fixe les priorités entre les différents besoins exprimés par les utilisateurs.

A ce titre elle valide le lancement de tout projet informatique et en suis l’évolution et l’adéquation entre ce qui est produit et ce qui avait été accepté au lancement.


Source : http://blog.david-grima.fr/gestion-de-projets/les-acteurs-du-projet-informatique/

8 mars 2016

[DICO] qu'est-ce que le "Provisioning" ?

Le provisioning, mot anglais désignant l'approvisionnement, est un terme utilisé dans le
monde de l'informatique, désignant l'allocation automatique de ressources.

Les outils de provisioning sont des outils de gestion de configuration (on parle également de « gestion de paramétrage ») permettant d'installer et de configurer des logiciels à distance (télédistribution), ou encore d'allouer de l'espace disque, de la puissance ou de la mémoire.

Dans le monde des télécommunications, le provisioning consiste à adapter un service aux besoins d'un client. Dans certains cas l'utilisateur peut même effectuer lui-même certaines opérations : on parle dans ce cas de « self-provisioning ».

Au sens large, le provisioning est l'affectation plus ou moins automatisée de ressources à un utilisateur (poste de travail, téléphonie…).
Source : https://fr.wikipedia.org/wiki/Provisioning


Network provisioning (Dimensionnement de réseau)

Opération qui consiste à adapter un service de télécommunication aux besoins particuliers d'un client. Les opérateurs traditionnels peuvent ainsi allouer des circuits à un client donné en reprogrammant la configuration de leur réseau. Dans certains cas, les clients eux-mêmes peuvent effectuer cette opération et s'allouer des ressources : on parle alors de self-provisioning.



[UNIX/LINUX] SSLH: HTTPS et SSH sur le même port!

Nous avons vu dans cet article: https://memo-linux.com/ssh-acces-travail-maison/ comment accéder à
son serveur de la maison derrière un proxy au travail, en passant par le port 443. Mais voilà, si notre serveur fait aussi office de serveur web avec HTTS, qui lui aussi utilise le port 443, votre serveur apache est dans les choux :(
Cependant une solution existe! j’aime le monde de linux car il y toujours une solution :)
Nous allons donc voir comment faire, avec SSLH.

Installation de SSLH:

apt-get install sslh


Configuration d’Apache


Avant de configurer SSLH, il faut modifier légèrement la configuration d’Apache afin de libérer le port 443.
Dans le fichier de configuration de votre serveur ‘/etc/apache2/ports.conf’, remplacez la ligne :
Listen 443
en
Listen 2443
Dans cet exemple, j’utilise le port 2443 mais vous pouvez en utiliser un autre. Utilisez le même dans la configuration des vhost et de sslh.
Faite de même avec la ligne suivante, dans tout les fichiers de configuration de Virtual host s’ils utilisent HTTPS :

Rechargez la configuration de Apache :
/etc/init.d/apache reload
Configuration SSLH
Editez le fichier /etc/default/sslh:
nano /etc/default/sslh
Configurez le selon le nouveau port utilisé par Apache, et ajoutez ‘RUN=yes’ en bas de fichier :
DAEMON_OPTS="-u sslh -p 0.0.0.0:443 -s 127.0.0.1:22 -l 127.0.0.1:2443 -P /var/run/sslh.pid"
RUN=yes
Démarrez ensuite SSLH grâce à :
/etc/init.d/sslh start
Vous pouvez désormais vous connecter en SSH au serveur via le port 443 et le site sécurisé fonctionne toujours.

Évidemment, faut penser à configurer sa/son box/routeur pour la redirection du port 443
port 443 -> 192.168.0.10:443


Méthodologie de gestion de projets informatiques pour PME

Cette série d’articles est un fil conducteur des éléments à prendre en compte pour la conduite d’un projet informatique. Il s’agit de décrire synthétiquement une méthodologie de gestion de projets informatiques applicable à l’échèle d’une petite et moyenne entreprise (PME). Il ne s’agit pas de décrire l’ensemble des méthodologies existantes ni d’être exhaustifs sur la manière de conduire un projet informatique. D’ailleurs, il n’existe pas de méthode universelle, chacune ayant des atouts et des inconvénients.

J’attire dès à présent l’attention que pour construire un système informatique pérenne, la réalisation ne constitue qu’une part du projet. Les phases d’études, de spécifications et de tests sont aussi importantes.

Nous entendons par système informatique pérenne, un système idéalisé :
  • Stable, c’est-à-dire fonctionnant de façon égale dans le temps.
  • Dépourvu d’anomalies bloquantes.
  • Maintenable, c’est-à-dire ouvert à des évolutions futures.

Une bonne part de ces garanties est obtenue en effectuant une analyse du besoin fonctionnel et technique précise, en modélisant et en documentant convenablement à la fois en phase de création du système puis aussi en phase de maintenance. L’application d’une méthodologie de gestion de projet informatique participe grandement à atteindre de ce niveau de qualité.


Où se place la méthodologie de gestion de projets informatiques dans l’organisation de l’entreprise ?


La méthodologie de gestion de projets informatiques vient en support des responsables de projet pour leur donner un cadre organisationnel et un outillage commun à tous les projets.

Elle précise les processus et les procédures qualités quand un système de management de la qualité est mis en place.

Elle s’inscrit dans le prolongement du schéma directeur du système d’information et de communication (SIC) comme un moyen d’atteindre les objectifs qui y sont fixés en assurant un suivi au niveau des projets informatiques.

La méthode de gestion de projet dans l'entreprise


  • Les enjeux d’un projet informatique
  • Répondre à un besoin.
  • Evaluer les coûts et les délais de chaque phase.
  • Respecter les coûts et des délais.
  • Assurer la bonne intégration au reste du système d’information et de communication.
  • Assurer la maintenance.

Le rôle d’une méthodologie de gestion de projets


  • Décrire les moyens de coordination des acteurs et des tâches.
  • Décrire les phases du projet à respecter.
  • Décrire les livrables documentaires et informatiques attendus dans chaque phase du projet.
  • Décrire les outils à utiliser.

7 mars 2016

Installer Jenkins sur RedHat

... ou toute autre distributions basée sur RedHat: RHEL, CentOS, Fedora ou Scientific Linux

Des versions récentes sont disponibles sur les dépôt yum

Installation

Ajouter Jenkins dans yum.repo.d et l'installer:
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

Installation de la version stable

Il y a aussi une version LTS (Long Term Support):
sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
sudo rpm --import https://jenkins-ci.org/redhat/jenkins-ci.org.key
sudo yum install jenkins

Installation de JAVA

Jenkins requière Java, par défaut on peut installer OpenJDK:
sudo yum install java
Note: If running CentOS, ensure you follow the guide below.
Start/Stop
sudo service jenkins start/stop/restart
sudo chkconfig jenkins on
Note: if you get the following error message, ensure that Java has been installed:

Starting jenkins (via systemctl):  Job for jenkins.service failed. See 'systemctl status jenkins.service' and 'journalctl -xn' for details.
                                                           [FAILED]

What does this package do?

    Jenkins will be launched as a daemon on startup. See /etc/init.d/jenkins for more details.
    The 'jenkins' user is created to run this service. If you change this to a different user via the config file, you must change the owner of /var/log/jenkins, /var/lib/jenkins, and /var/cache/jenkins.
    Log file will be placed in /var/log/jenkins/jenkins.log. Check this file if you are troubleshooting Jenkins.
    /etc/sysconfig/jenkins will capture configuration parameters for the launch.
    By default, Jenkins listen on port 8080. Access this port with your browser to start configuration.  Note that the built-in firewall may have to be opened to access this port from other computers.  (See http://www.cyberciti.biz/faq/disable-linux-firewall-under-centos-rhel-fedora/ for instructions how to disable the firewall permanently)
    A Jenkins RPM repository is added in /etc/yum.repos.d/jenkins.repo

Désactiver le firewall

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --zone=public --add-service=http --permanent
firewall-cmd --reload

firewall-cmd --list-all

Important Note on CentOS Java

Jenkins requires Java in order to run, however yum install jenkins does not enforce that java is already installed. Check to make sure that you already hava java installed by running java -version. To further make things difficult for CentOS users, the default CentOS version of Java is not compatible with Jenkins. Jenkins typically works best with a Sun implementation of Java, which is not included in CentOS for licensing reasons.

If you get output similar to the following, it means you're using the default (GCJ) version of Java, which will not work with Jenkins:

java -version
java version "1.5.0"
gij (GNU libgcj) version 4.4.6 20110731 (Red Hat 4.4.6-3)

Pour corriger cela, vous pouvez désinstaller la version openjdk et installer la version sun-compatible

Désintaller le package:
yum remove java
Installer la version Sun-compatible:
 yum install java-1.7.0-openjdk
Depending on your version of CentOS, the package name for OpenJDK may differ. Use yum search openjdk to check for the name of the package. If OpenJDK is not found at all through yum, you probably need to install the EPEL yum repository. After installation, you should be able to get the following output for java -version:

java -version
java version "1.7.0_79"
OpenJDK Runtime Environment (rhel-2.5.5.1.el6_6-x86_64 u79-b14)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)


Traduction partielle de : https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions

6 mars 2016

Sécurisation minimale d’un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS

Très bon tutoriel de sécurisation minimale à apportée à un serveur dédié. Ici il
s'agit de Kimsufi avec une Ubuntu, mais ça peut être appliqué sur un système (debian ou ubuntu) chez un autre hébergeur qu'Ovh.

Dans le cadre de la suite d’articles sur l’installation d’un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS, je vais aujourd’hui présenter quelques mesures de sécurité à mettre en place afin que le serveur soit un minimum protégé des attaques extérieures. Ce billet, tout comme mes autres articles n’ont pas vocation à être complets ni exhaustifs. Ainsi, je ne serai en aucun cas responsable de possibles problèmes de sécurité sur votre serveur.

  • Pourquoi sécuriser un serveur ?

Une fois qu’un serveur est corrompu, l’attaquant pourra alors attaquer d’autres machines depuis le serveur, mettre à disposition du contenu illicite et bien d’autres activités illégales. Ainsi, votre responsabilité pourrait être engagée en cas de problème. Il est donc nécessaire de sécuriser le serveur.

  • Créer un compte utilisateur

Une des premières choses à faire pour sécuriser le serveur est de créer un compte utilisateur. Ceci permet de travailler sur le serveur en toute sécurité, sans avoir tous les pouvoirs et donc créer des trous de sécurité par inadvertance. Pour ce faire, connectez vous au serveur via SSH et tapez la commande suivante en modifiant le nom d’utilisateur avec celui de votre choix:
Ici l’utilisateur créé disposera d’un répertoire personnel. Pour pouvoir se connecter au serveur avec cet utilisateur, il faut encore disposer d’un moyen d’authentification. Nous pouvons soit mettre en place un mot de passe, soit utiliser un certificat (comme nous l’avons fais à l’installation du serveur depuis le manager de Kimsufi). Pour mettre en place un mot de passe, il suffit de taper la commandesuivante en remplaçant le nom d’utilisateur:
La commande demande de saisir un mot de passe et de le confirmer.

Pour mettre en place l’authentification par certificat, il est nécessaire d’en posséder un. Pour cela, utilisez ssh-keygen comme nous l’avons vu dans un billet précédent sur l’installation d’un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS. Une fois, en votre possession, copiez le fichier contenant la clé publique sur votre serveur. Par exemple, si votre poste de travail est sous GNU/Linux, utilisez la commande scp comme ici:
N’oubliez pas les deux-points situés après l’adresse IP du serveur.
Ensuite, il est nécessaire de l’ajouter aux clés publiques valides pour l’utilisateur, sur le serveur, avec les commandes ci-dessous:
Au passage, nous supprimons le fichier contentant la clé publique sur le serveur puisque nous n’en n’avons plus besoin.

Enfin, pour savoir comment vous connecter au serveur, je vous renvoie vers mon billet précédent.

P.S. : Pour savoir sur quel compte vous êtes connecté, il suffit de regarder le prompt, c’est à dire le début de la ligne sur laquelle vous inscrivez vos commandes. Celui-ci indique le nom du compte et grâce au symbole juste avant votre commande, vous savez si vous êtes sous le compte root ou sous un simple compte utilisateur. Ainsi, en tant que simple utilisateur, vous aurez un prompt similaire à ceci:
Alors qu’en tant que root, vous aurez:
Vous remarquerez que le nom de compte change et que le prompt finit par un $ (dollar) si vous êtes connecté en tant qu’utilisateur. Il finira avec un # (dièse) si vous êtes connecté en tant que root. Ainsi, dans la suite de cet article et dans mes prochains billets, dans les exemples de commandes à taper, vous saurez qu’il faut les saisir en tant que root si le prompt finit par un # (dièse), sinon en tant qu’utilisateur normal.

  • Changer le mot de passe root

Toujours pour des raisons de sécurité, il est préférable d’avoir un mot de passe différent par compte; qui plus est pour le compte root qui donne accès à tous le privilèges sur la machine. Nous allons donc le modifier de la même manière que pour l’utilisateur, à la différence qu’il n’est pas obligatoire de donner le nom d’utilisateur en argument. Ainsi, entrez la commande suivante pour changer le mot de passe root:
Bien entendu, le mot de passe doit être assez solide (voir section Sécuriser SSH de cet article).

  • Modifier le comportement de la commande sudo

Nous pouvons avoir accès au compte root depuis SSH mais également en utilisant les commandes su et sudo lorsque l’on est connecté au serveur en tant que simple utilisateur. La commande su  demandera systématiquement le mot de passe root tandis que sudo est configurée, par défaut, à autoriser les comptes utilisateurs qui font partie du groupe sudo à basculer en tant qu’utilisateur root. Ainsi, si votre compte utilisateur est compromis, l’attaquant pourra facilement se connecter en tant que root et faire plus de dégâts. Pour éviter cela, nous allons modifier la configuration de sudo. Pour cela, entrez la commande suivante:
Ajoutez la ligne suivante à la fin du fichier:
Ici nous modifions la configuration de sudo pour qu’il demande systématiquement le mot de passe root et fixons à zéro le délai pendant lequel il ne redemandera pas le mot de passe root. Ainsi, à chaque utilisation de la commande sudo, il sera nécessaire de fournir le mot de passe root.
Enregistrez et quittez l’éditeur (faites Contrôle-X puis O pour enregistrer le fichier et quitter sous nano).

L’utilisateur que nous avons créé plus haut ne fait pas encore partie du groupe sudo. Pour remédier à cela, entrez la commande suivante:

  • Sécuriser SSH

Pour le moment, le seul accès possible au serveur se fait via SSH. Le protocole a beau être sécurisé, il reste possible d’attaquer un serveur. Certains attaquants utilisent des techniques d’attaques par dictionnaire ou par brute force. Les attaques de type brute force consistent à essayer tous les couples de login/mot de passe possibles. Cette technique présente l’avantage de tomber forcément sur votre mot de passe. Cependant, avec un mot de passe suffisamment solide, cette technique devient inexploitable. En effet, il faudra des millions d’années pour trouver le mot de passe. Avec par exemple, un mot de passe contenant des lettres majuscules et minuscules ainsi que des chiffres, s’il fait une longueur de 8 caractères, il peut y avoir 62 puissance 8 possibilités soit: 218 340 105 584 896 possibilités. À raison d’un test par seconde, il faudrait environ 6 923 519 années pour tester toutes les combinaisons. Un autre type d’attaques peut être plus efficace: les attaques par dictionnaire. Le principe reste le même que le brute force sauf que l’on ne teste pas toutes les possibilités de mot de passe mais juste des mots d’un dictionnaire et éventuellement des combinaisons entre eux. Ainsi, si votre mot de passe est un mot ou une phrase, il sera beaucoup plus facile à deviner. Vous pourrez trouver un script Pyton de génération de mots de passe dans mon précédent article.

Nous allons modifier la configuration du serveur SSH de votre serveur. Nous allons entre autres changer le port d’écoute de SSH qui est par défaut le port 22. En utilisant un port différent, l’attaquant devra alors trouver en plus le bon port pour tenter de se connecter au serveur. Il existe certes des scanners de ports mais ils ne sont pas systématiquement utilisés (la plupart des attaques se font sur le port 22). Ainsi, vous allez devoir choisir un numéro de port qui soit supérieur à 1024 et qui ne correspond pas à un service exécuté par le serveur. Nous allons également interdire les connexions au compte root. En effet, de nombreuses attaques visent le compte root puisqu’il s’agit du compte ayant le plus de privilèges. Pour se connecter au compte root, il faudra d’abord se connecter via le compte utilisateur créé plus haut dans cet article. Ainsi l’attaquant devra également connaître le nom d’utilisateur du compte que l’on a créé et son mot de passe ou son certificat.
Pour réaliser toutes ces opérations, sur le serveur, ouvrez et éditez le fichier /etc/ssh/sshd_configavec votre éditeur préféré, comme ici:
Puis, modifiez le fichier pour avoir les lignes suivantes en remplaçant le numéro de port:
Enregistrez alors le fichier, et quittez l’éditeur (faites Contrôle-X puis O pour enregistrer le fichier et quitter sous nano)
 
Il faut ensuite redémarrer le serveur SSH en tapant la commande suivante:
Pour vous connecter en tant que root sur le serveur, vous devrez dorénavant vous connecter avec votre compte utilisateur sur le serveur et basculer en root avec su ou sudo.

À présent, pour vous connecter au serveur, vous allez devoir préciser le port que le client SSH devra utiliser pour communiquer avec le serveur.

– Sous GNU/Linux, il suffit d’ajouter à la commande ssh le paramètre -p suivi du numéro de port, comme ici:

– Sous Microsoft Windows avec PuTTY, lancez PuTTY et rechargez votre session comme vu dans l’article Connexion à un serveur dédié Kimsufi via le protocole SSHSaisissez le numéro de port dans le champ port et enregistrez la session, comme le montre la prise d’écran ci-dessous:
 
Sécurisation minimale d’un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS - Modification du port SSH dans PuTTY
Sécurisation minimale d’un serveur dédié Kimsufi sous Ubuntu Server 14.04 LTS – Modification du port SSH dans PuTTY
Vous pouvez maintenant vous connecter avec le bon port et restaurer la session correctement configurée ultérieurement.

  •  Bannir les attaquants

Pour encore plus de sécurité, il est possible de bannir les attaquants. En effet, les journaux systèmes (logs) enregistrent toutes les tentatives de connexion au serveur.  Ceux-ci gardent l’adresse IP de toute machine qui essaye de se connecter au serveur. Ainsi, s’il y a trop de tentatives de connexion en échec, il est possible de bannir l’attaquant en indiquant au pare-feu de bloquer toutes les connexions depuis l’adresse IP vers le serveur SSH. Les logiciels denyhosts et fail2banpermettent d’automatiser cette tâche. Ici, nous allons mettre en place fail2ban qui a l’avantage de protéger d’autres services que SSH, tels que FTP, le serveur Web Apache, etc…
Pour cela, il est nécessaire d’installer le paquet fail2ban sur le serveur. Toujours sur le serveur, entrez la commande suivante en tant que root:
Ouvrez ensuite le fichier /etc/fail2ban/jail.conf et modifiez la section [ssh], en changeant le numéro de port avec celui choisi comme port d’écoute pour SSH:
Ici, on ajoute l’écoute sur le port SFTP ainsi que le port SSH que l’on a redéfinit et on fixe le nombre d’essais possibles, avant blocage, à 3.

Lorsqu’une adresse IP est bloquée, on dit qu’elle est en prison ou en liste noire. Sous fail2ban, il existe une prison par service protégé.

Afin d’être prévenu quand une adresse IP est bloquée, un e-mail peut être envoyé depuis le serveur sur une adresse e-mail spécifiée. Pour ce faire, il faut modifier la variable destemail comme ceci:
De plus, modifiez la ligne suivante:
En:
Bien entendu, il est nécessaire que le serveur soit équipé d’un serveur SMTP afin qu’il puisse envoyer l’e-mail. Nous en installerons et configurerons un dans un futur article.

Il est possible de mettre en place des règles spécifiques pour éviter certaines attaques fréquentes telles que les requêtes DFind w00tw00t. Pour ce faire, ajoutez à la fin du fichier la section suivante:
Vous pouvez alors enregistrer et quitter l’éditeur.
 
Il faut ensuite créer et éditer le fichier /etc/fail2ban/filter.d/apache-w00tw00t.conf avec par exemple:
Insérez y alors le contenu suivant:
Vous pouvez enregistrer et quitter l’éditeur.
 
Afin d’être le plus efficace possible contre les attaques par brute force, on peut activer le filtre SASL. Pour cela, il faut créer le fichier/etc/fail2ban/filter.d/sasl.conf avec par exemple:
Et y insérer les lignes suivantes:
Vous pouvez enregistrer et quitter l’éditeur.
 
Il faut maintenant recharger la configuration du service fail2ban avec la commande suivante:
Il est possible que vous obteniez un message d’erreur du genre:
Cela est dû au fait que le serveur Web Apache n’est pas encore installé sur le serveur. Son installation sera le sujet d’un futur article.

Pour vérifier que le service fonctionne correctement, tapez:
Ainsi, la commande indique le nombre de prisons. c’est à dire de services protégés par fail2ban.

Attention: si vous vous trompez de login/mot de passe 3 fois, vous allez être bloqué et vous devrez redémarrer le serveur en mode rescue ou vous connecter avec une adresse IP publique différente.

Pour voir quelles adresses IP sont bannies, il faut lancer la commande suivante:
Ainsi, on voit ici que l’adresse IP ADRESSE_IP_BLOQUÉE a été bloquée grâce à la directive REJECTdu pare-feu iptables, dans la chaîne fail2ban-ssh.
 
Pour supprimer une adresse IP de la liste noire (par exemple, si on a bloqué une machine qui ne devait pas être bloquée), il faut utiliser la commande suivante:
Comme il existe d’autres types de prison que SSH, il faut adapter la commande en remplaçant par exemple, fail2ban-ssh par fail2ban-pure-ftpd pour utiliser la prison FTP.

  • Mettre à jour le serveur

Ubuntu se compose de nombreux logiciels. Comme tout programme, ils ne sont pas parfait et comportent des bugs. Ces bugs peuvent se transformer en failles de sécurité exploitables par de potentiels attaquants et donc compromettre la sécurité du serveur. Ainsi, les développeurs de ces programmes publient régulièrement des mises à jour qui corrigent ces bugs et apportent de nouvelles fonctionnalités. Il est donc vital de disposer d’un serveur toujours à jour. Pour cela, exécutez les trois commandes suivantes sur le serveur:
La première commande va mettre à jour la liste des paquets alors que les deux dernières vont mettre à jour les paquets eux mêmes. Ces commandes sont à lancer régulièrement sur le serveur pour qu’il soit constamment à jour et protégé des failles de sécurité.

  • Consulter les journaux

Même avec ces mesures de sécurité mises en place, il est nécessaire d’être vigilent. Ainsi, il est conseillé de contrôler régulièrement les fichiers journaux des différents services afin de déceler une éventuelle intrusion ou un problème sur un service qui pourrait mettre en péril la sécurité du serveur. Vous trouverez les fichiers journaux dans le dossier /var/log sur le serveur. Sachez également, que vous êtes dans l’obligation, aux yeux de la loi de conserver ces fichiers pendant au minimum un an. Pensez donc à les sauvegarder régulièrement.

Comme dit en début d’article, la sécurité informatique est un vaste domaine. Cet article n’est donc qu’une introduction à la sécurité sur les serveurs dédiés. Il est nécessaire de rester vigilant et de maintenir à jour le serveur tant au niveau des logiciels et que de leur configuration. Maintenant que le serveur est à peu près sécurisé, nous allons pouvoir installer et configurer un premier service: le serveur Web Apache. Ce sera le sujet du prochain article.

EDIT: cet article a été mis à jour suite aux remarques de ts, données en commentaire, concernant l’oubli de la commande chown qui permet de fixer le propriétaire et le groupe du fichier /home/NOM_UTILISATEUR/.ssh/authorized_keys dans la partie Créer un compte utilisateur. Une autre erreur a également été corrigée concernant le fichier /etc/fail2ban/filter.d/apache-w00tw00t.conf,voir les commentaires plus bas.


Différences majeures entre Red Hat 6, 7, 8 et 9

Quelles sont les différences majeures entre RHEL 6, 7, 8 et 9 ? Système de fichiers RHEL 6: Par défaut : ext4. Autres : ext2, ext3 supportés...