sysadmin : début de découpage
This commit is contained in:
parent
0f58606a74
commit
61e1db092e
|
@ -14,23 +14,23 @@
|
|||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
|
||||
|
||||
<link rel="stylesheet" href="../css/reveal.css">
|
||||
<link rel="stylesheet" href="../css/theme/beige.css" id="theme">
|
||||
<link rel="stylesheet" href="reveal.js/css/reveal.css">
|
||||
<link rel="stylesheet" href="reveal.js/css/theme/beige.css" id="theme">
|
||||
|
||||
<!-- Theme used for syntax highlighting of code -->
|
||||
<link rel="stylesheet" href="../lib/css/zenburn.css">
|
||||
<link rel="stylesheet" href="reveal.js/lib/css/zenburn.css">
|
||||
|
||||
<!-- Printing and PDF exports -->
|
||||
<script>
|
||||
var link = document.createElement( 'link' );
|
||||
link.rel = 'stylesheet';
|
||||
link.type = 'text/css';
|
||||
link.href = window.location.search.match( ../print-pdf/gi ) ? '../css/print/pdf.css' : '../css/print/paper.css';
|
||||
link.href = window.location.search.match( /print-pdf/gi ) ? 'reveal.js/css/print/pdf.css' : 'reveal.js/css/print/paper.css';
|
||||
document.getElementsByTagName( 'head' )[0].appendChild( link );
|
||||
</script>
|
||||
|
||||
<!--[if lt IE 9]>
|
||||
<script src="../lib/js/html5shiv.js"></script>
|
||||
<script src="reveal.js/lib/js/html5shiv.js"></script>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
|
@ -52,15 +52,22 @@ crontab
|
|||
https://wiki.evolix.org/HowtoCron
|
||||
</section>
|
||||
|
||||
<section>
|
||||
ntpd
|
||||
https://wiki.evolix.org/HowtoNTP
|
||||
</section>
|
||||
|
||||
<section>
|
||||
systemd
|
||||
https://wiki.evolix.org/HowtoSystemd
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Postfix
|
||||
https://wiki.evolix.org/HowtoPostfix
|
||||
</section>
|
||||
|
||||
<section>
|
||||
syslog
|
||||
|
||||
Les journaux systèmes sont gérés par syslog, un protocole qui permet de gérer les messages système de façon centralisé. syslog est précisé dans la RFC 3164Il est utilisé sous la forme d'un daemon syslogd chargé de rassembler les messages envoyés par diverses applications (messages kernel, user, daemon, mail, etc.) triés par une facility : LOG_KERN, LOG_CRON, LOG_DAEMON, LOG_MAIL, LOG_AUTH, etc. et un certain niveau de severity : LOG_EMERG, LOG_ALERT, LOG_ERR, LOG_WARNING, etc. Les messages reçus sont répartis dans différents fichiers situés dans le répertoire /var/log/ ou d'autres façons (serveur syslog distant, terminal, etc.).
|
||||
|
@ -107,8 +114,9 @@ Voici les fichiers pincipaux générés par SYSLOG : \\
|
|||
~\\
|
||||
Les journaux applicatifs sont générés par chaque application. Ils sont souvent dans un répertoire du nom de l'application situé dans \textit{/var/log}.\\
|
||||
~\\
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
log2mail
|
||||
|
||||
Surveiller les journaux avec log2mail
|
||||
|
@ -122,13 +130,19 @@ From: %f
|
|||
To: %t
|
||||
Subject: [LOG2MAIL] Erreur fatale pour mail.log
|
||||
Nous avons reconnu le terme "%m" dans "%F" %n fois : %l
|
||||
</section>
|
||||
|
||||
<section>
|
||||
logcheck
|
||||
https://wiki.evolix.org/HowtoLogcheck
|
||||
</section>
|
||||
|
||||
<section>
|
||||
fail2ban
|
||||
https://wiki.evolix.org/HowtoFail2Ban
|
||||
</section>
|
||||
|
||||
<section>
|
||||
logrotate
|
||||
|
||||
L'un des points essentiels est la rotation des journaux, c'est-à-dire l'action de fermer le journal actuel (et éventuellement le compresser) et d'en ouvrir un autre.
|
||||
|
@ -137,21 +151,28 @@ Logrotate est exécuté tous les jours (cron.daily)
|
|||
https://wiki.evolix.org/HowtoLogrotate
|
||||
|
||||
Note : mentionner l'existence de savelog. L'option "-d" de savelog permet d'utiliser la date lors de la rotation des journaux et de ne pas les effacer. On pourra donc ajouter ses propres règles dans les scripts cron pour faire une sauvegarde distante des journaux (éventuellement dans une base de données). Pour des serveurs dédiés (applications clés), on peut augmenter la fréquence des rotations et des sauvegardes distantes, mais également utiliser des scripts afin de détecter toutes alertes ou anomalies et les envoyer par courrier électronique ou même SMS.
|
||||
</section>
|
||||
|
||||
<section>
|
||||
intro Git
|
||||
HowtoGit
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Monitoring
|
||||
|
||||
Il existe de nombreux programmes évolués permettant de générer des courbes et statistiques.
|
||||
Citons Nagios, Munin, etc.
|
||||
Le plus connu d'entre eux est certainement Nagios qui permet de surveiller de nombreux services (SMTP, POP3, HTTP, NNTP, PING, etc.) mais également les ressources (charge processeur, utilisation des disques, etc.).
|
||||
La mise en place de Nagios (ou d'un équivalent) pour un nombre de serveurs dépassant la dizaine est fortement conseillée.
|
||||
</section>
|
||||
|
||||
<section>
|
||||
|
||||
Sécurité
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
réseau / iptables
|
||||
|
||||
Couche physique : Ethernet
|
||||
|
@ -162,16 +183,21 @@ Brodcast, protocole ARP, ICMP)
|
|||
Couche transport : TCP, UDP
|
||||
(notion de ports, mode connecté)
|
||||
Couche application : HTTP, SMTP, DNS, etc.
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
intro ansible
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
ssh
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
sauvegardes
|
||||
</section>
|
||||
|
||||
<section>
|
||||
Gestion des droits
|
||||
Sous les systèmes de type Unix ou Linux, il existe plusieurs types de fichiers: les fichiers, les répertoires, les liens symboliques, les fichiers-périphériques.
|
||||
Un fichier appartient à un utilisateur (en fait un numéro d'utilisateur) et à un groupe (en fait un numéro de groupe).
|
||||
|
@ -203,26 +229,33 @@ Notation décimale :
|
|||
umask :
|
||||
- Pour gérer droit niveau utilisateurs : commande umask
|
||||
Fixé dans le fichier profile ou bashrc (local ou général...)
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
NFS
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
DRBD
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
LVM
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
Virtualisation
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
Conteneur
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
evolinux
|
||||
</section>
|
||||
|
||||
|
||||
<section>
|
||||
auth
|
||||
Historiquement sous Unix, l'authentification est gérée par une liste des utilisateurs avec les mots de passe chiffrés accessible à tous, à savoir le fameux fichier /etc/passwd accessible en lecture et la commande passwd « set-uid root »
|
||||
|
||||
|
@ -360,17 +393,20 @@ Exemple /etc/pam.d/login :
|
|||
password required pam_cracklib.so retry=3 minlen=6 difok=3
|
||||
password required pam_unix.so use_authtok nullok md5
|
||||
session required pam_unix.so
|
||||
</section>
|
||||
|
||||
ACL/QUOTA
|
||||
TODO
|
||||
<section>
|
||||
|
||||
ACL/QUOTA
|
||||
TODO
|
||||
</section>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<script src="../lib/js/head.min.js"></script>
|
||||
<script src="../js/reveal.js"></script>
|
||||
<script src="reveal.js/lib/js/head.min.js"></script>
|
||||
<script src="reveal.js/js/reveal.js"></script>
|
||||
|
||||
<script>
|
||||
|
||||
|
@ -385,12 +421,12 @@ TODO
|
|||
|
||||
// More info https://github.com/hakimel/reveal.js#dependencies
|
||||
dependencies: [
|
||||
{ src: '../lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
||||
{ src: '../plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: '../plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: '../plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
|
||||
{ src: '../plugin/zoom-js/zoom.js', async: true },
|
||||
{ src: '../plugin/notes/notes.js', async: true }
|
||||
{ src: 'reveal.js/lib/js/classList.js', condition: function() { return !document.body.classList; } },
|
||||
{ src: 'reveal.js/plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'reveal.js/plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
|
||||
{ src: 'reveal.js/plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
|
||||
{ src: 'reveal.js/plugin/zoom-js/zoom.js', async: true },
|
||||
{ src: 'reveal.js/plugin/notes/notes.js', async: true }
|
||||
]
|
||||
});
|
||||
|
||||
|
|
Loading…
Reference in a new issue