Skip to content
Snippets Groups Projects
Commit 6850a7cd authored by MOREAU Gabriel [LEGI]'s avatar MOREAU Gabriel [LEGI]
Browse files

Conclude

parent c3a27275
No related branches found
No related tags found
No related merge requests found
......@@ -86,7 +86,7 @@
\item Proposition d'un Groupe de Travail \href{https://resinfo.org/}{RESINFO} réduit à quelques membres en 2019
\item Réalisation d'une première maquette de faisabilité en 2020
\item Élargissement du groupe de travail
\item Prise contact avec l'ANSSI pour leur signaler le projet
\item Prendre contact avec l'ANSSI pour leur signaler le projet
\item Laisser l'ASR autonome à 100\% sur la politique de sécurité de son unité
\item Aider et mutualiser le travail des ASR par une meilleure collaboration
\end{itemize}
......@@ -117,12 +117,12 @@
\frametitle{\href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} (Secure Windows Mode Batch)}
\begin{itemize}
\item Besoin de sécuriser Microsoft Windows 10 (et 11)
\item Outil modulaire avec des règles et des anté-règles (pourvoir faire et défaire)
\item Outil sans état «comme» un gestionnaire de configuration sous GNU/Linux (\texttt{cfengine, puppet, ansible\ldots})
\item \textbf{Outil modulaire} avec des \textbf{règles} et des \textbf{anté-règles} (pourvoir faire et défaire)
\item Outil sans état «~comme~» un gestionnaire de configuration sous GNU/Linux (\texttt{cfengine, puppet, ansible\ldots})
\item \href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} peut-être lancé plusieurs fois à l'identique
\item Outil en production au LEGI sur tous les postes
\item \textbf{Outil en production} au LEGI sur tous les postes
\item Pas d'interaction avec l'utilisateur, bien tester sur quelques postes avant de trop déployer
\item Packaging pour simplifier son propre déploiement : \texttt{setup.exe} (NSIS), OCS, WAPT, PDQ Deploy \\[2ex]
\item Packaging pour \textbf{simplifier} son propre \textbf{déploiement} : \texttt{setup.exe} (NSIS), OCS, WAPT, PDQ Deploy \\[2ex]
\item Ne pas réinventer la roue
\item Point de départ, le projet «\href{https://github.com/Disassembler0/Win10-Initial-Setup-Script}{Win10-Initial-Setup-Script}» par Disassembler0.
\end{itemize}
......@@ -132,8 +132,8 @@
\frametitle{\href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} - Deux cas particuliers}
\begin{itemize}
\item Règle particulière pour \textbf{supprimer Kaspersky} dans tous les cas
(mot de passe Kaspersky et/ou Agent ou pas) $\Longrightarrow$ distribution spécifique de l'outil
\item Chiffrement des disques (disque système et disque complémentaire avec interaction utilisateur).
(mot de passe Kaspersky et/ou Agent ou pas) $\Longrightarrow$ distribution spécifique de l'outil \\[3ex]
\item \textbf{Chiffrement} des disques (disque système et disque complémentaire avec interaction utilisateur).
\end{itemize}
\end{frame}
......@@ -142,10 +142,13 @@
\begin{itemize}
\item \href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} n'est pas incompatible avec l'Active Directory
\item Avec \href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB}, on sait quelles actions sont lancées et quand
\item Il y a presque toujours des machines hors AD dans un parc machine (serveur de Badge, automate GTC\ldots). Comment gérez-vous ces machines au cours du temps ?
\item \href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} permet de garder dans une arborescence Git (GitLab) l'ensemble des configurations au cours du temps et qui à poussé (validé) la modification.
\item Permet de répondre à un objectif de qualité des règles sur son parc au cours du temps
\item Fichiers de configuration au format texte donc auto-documenté
\item Il y a presque toujours des machines hors AD dans un parc machine (serveur de badge, automate GTC\ldots).
Comment gérez-vous ces machines au cours du temps ?
\item \href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{SWMB} permet de garder dans une \textbf{arborescence Git} (GitLab)
l'ensemble des configurations au cours du temps
et quelle personne a poussé (validé) une modification.
\item Fichiers de \textbf{configuration au format texte} donc auto-documenté
\item Cet ensemble permet de répondre à un objectif de \textbf{qualité des règles} sur son parc au \textbf{cours du temps}
\end{itemize}
\end{frame}
......@@ -158,8 +161,8 @@
ainsi plusieurs jeux de preset, ceux-ci sont régulièrement mis à jour par la communauté.
\item Les \textbf{modules} sont les implémentations des tweaks en PowerShell.
Chaque module regroupe en général le code source de plusieurs tweaks, classés par grande catégorie.
\end{itemize}
Le code SWMB importe les modules « à chaud » avant de traiter les tweaks définis dans les presets un par un
\end{itemize} \\[2ex]
Le code SWMB importe les modules « à chaud » avant de traiter les tweaks définis dans les presets un par un.
\end{frame}
\begin{frame}
......@@ -188,17 +191,17 @@ algorithmes
\item Les \textbf{tweaks} sont souvent implémentés avec 3 fonctions PowerShell.
\item Exemple avec ClearPageFile (nettoyer le fichier \texttt{PAGEFILE.SYS} lors de l'arrêt de la machine)
\begin{itemize}
\item \texttt{TweakEnableClearPageFile}
\item \texttt{TweakDisableClearPageFile}
\item \texttt{TweakViewClearPageFile} - Voir dans quel état nous sommes (utile pour le débogage)
\item \texttt{TweakEnableClearPageFile} - tweak \textbf{EnableClearPageFile}
\item \texttt{TweakDisableClearPageFile} - tweak \textbf{DisableClearPageFile}
\item \texttt{TweakViewClearPageFile} - voir dans quel état nous sommes (utile pour le débogage)
\end{itemize}
\item Par précaution et sécurité, toutes les fonctions doivent commencer par le préfixe \texttt{Tweak}.
\item Par précaution et sécurité, toutes les fonctions doivent commencer par le préfixe \textbf{Tweak}.
\item Ainsi, SWMB n'exécute pas n'importe quel code PowerShell.
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Exemple du tweak \textbf{\texttt{ClearPageFile}}}
\frametitle{Exemple des tweaks \textbf{\texttt{ClearPageFile}}}
\tiny
\lstinputlisting[caption={clear-page-file.ps1}]{clear-page.ps1}
\end{frame}
......@@ -206,12 +209,12 @@ algorithmes
\begin{frame}
\frametitle{Type de \textbf{tweaks}}
\begin{itemize}
\item \texttt{Enable/Disable}
\item \texttt{Show/Hide}
\item \texttt{Install/Uninstall}
\item \texttt{Add/Remove}
\item \texttt{Set/Unset}
\item \texttt{SysMessage, SysRestart\ldots}
\item \texttt{Enable / Disable}
\item \texttt{Show / Hide}
\item \texttt{Install / Uninstall}
\item \texttt{Add / Remove}
\item \texttt{Set / Unset}
\item \texttt{SysMessage, SysRestart, SysRequireAdmin\ldots}
\item \texttt{View} \\[2ex]
\item Par défaut, les tweaks n'ont aucun paramètre
\item Certains tweaks se configurent via une variable globale \\
......@@ -261,7 +264,7 @@ algorithmes
\begin{frame}
\frametitle{Classement des \textbf{Tweaks} dans les \textbf{Modules} et les fichiers de \textbf{Presets}}
Les tweaks concernant LocalMachine et CurrentUser sont regroupés en quelques catégories (hiérarchie différente de celle des GPO et de l'ANSSI).
Les tweaks concernant LocalMachine et CurrentUser sont regroupés en quelques grandes catégories (hiérarchie différente de celle des GPO et de l'ANSSI).
\begin{itemize}
\item \texttt{Application Tweaks}
\item \texttt{Auxiliary Functions Tweaks}
......@@ -289,23 +292,23 @@ algorithmes
\frametitle{Utilisation en ligne de commande}
\texttt{.\textbackslash swmb.ps1 [option] TweakXX TweakYY\ldots}
\begin{itemize}
\item \texttt{-preset file.preset} charge tous les tweaks définis dans le fichier preset. Cette option
peut être déclarée autant de fois que nécessaire.
\item \texttt{-preset file.preset} charge tous les tweaks définis dans le fichier preset.
Cette option peut-être déclarée autant de fois que nécessaire.
\item \texttt{-log msg.log} écrit tous les messages dans le fichier de log.
\item \texttt{-check} n'exécute pas les tweaks mais vérifie seulement leur existence
\item \texttt{-exp} est juste un raccourci pour importer le module \texttt{Modules/SWMB/Experimental.psm1}.
\item \texttt{-hash file.hash} fait un hash SHA256 de la liste des tweaks (preset) et le compare avec
l’ancien hash stocké dans le fichier passé en paramètre. Si les hachages diffèrent, un point de
contrôle du système est effectué.
\item \texttt{-hash file.hash} fait un hash SHA256 de la liste des tweaks (preset)
et le compare avec l’ancien hash stocké dans le fichier passé en paramètre.
Si les hachages diffèrent, un point de contrôle du système est effectué.
\item \ldots
\end{itemize}
\end{frame}
\begin{frame}
\frametitle{Les tâches planifiées}
\frametitle{Utilisation via les tâches planifiées}
Lors de l'installation, SWMB propose de configurer 3 tâches planifiées :
\begin{itemize}
\item \texttt{LocalMachine-Boot.ps1} - Tâche se lançant au démarrage de la machine. Problème, beaucoup d'utilisateur reboot peu souvent leur machine
\item \textbf{LocalMachine-Boot.ps1} - Tâche se lançant au démarrage de la machine. Problème, beaucoup d'utilisateur reboot peu souvent leur machine
\item \textbf{LocalMachine-PostInstall.ps1} - Tâche se lançant en asynchrone après l'installation. Permet de forcer des réglages de suite
\item \textbf{CurrentUser-Logon.ps1} - Tâche se lançant à l'ouverture de la session utilisateur \\[2ex]
\item Avec ce mécanisme de tâches programmées, il y a rarement besoin de lancer SWMB manuellement sur un poste.
......@@ -326,7 +329,7 @@ contrôle du système est effectué.
\begin{columns}
\column[c]{8.5cm}
\begin{itemize}
\item Installateur NSIS (fabriqué par intégration continu GitLab sous Debian)
\item Installeur NSIS (fabriqué par intégration continue GitLab sous Debian)
\item « XXX-XXX-XXX » est le numéro de version.
\item L’option \texttt{/S} permet de réaliser une installation silencieuse (sans interface graphique).
\item L’option \texttt{/ACTIVATED\_PRESET=0} permet de ne pas déployer les fichiers de preset par défaut dans
......@@ -406,8 +409,8 @@ contrôle du système est effectué.
\begin{itemize}
\item Placer votre code dans le module \texttt{C:\textbackslash ProgramData\textbackslash Modules\textbackslash Local-Addon.psm1}
\item Mettre du code spécifique (non PowerShell par exemple) dans \texttt{C:\textbackslash ProgramFile\textbackslash SWLN\textbackslash }
\item Écrire ses jeux de presets (la commande spéciale \texttt{\$PRESET} permet d'importer un autre jeux de preset,
dont par exemple le jeux par défaut.
\item Écrire ses jeux de presets (la commande spéciale \texttt{\$PRESET} permet d'importer un autre jeu de preset,
dont par exemple le jeu par défaut.
\item Intégrer l'installeur SWMB dans votre code
\item Faire un installeur \texttt{setup.exe} de votre extension SWLN
\item Déployer SWLN (SWLN doit être installé avant SWMB - configuration des tâches programmées)
......@@ -434,7 +437,7 @@ contrôle du système est effectué.
\end{frame}
\begin{frame}
\frametitle{Boucle principale - schéma de fonctionnement simplifié}
\frametitle{Exemple de paramètres globaux}
\lstinputlisting[caption={Custom-VarOverload.psm1}]{Custom-VarOverload.psm1}
\end{frame}
......@@ -480,6 +483,24 @@ contrôle du système est effectué.
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Conclusion - \textbf{SWMB}}
\begin{columns}
\column[c]{9.5cm}
\begin{itemize}
\item \textbf{Programme libre}, \textbf{modulaire} et \textbf{collaboratif}
\item Chacun ASR l'adapte à son contexte et ne pousse que les tweaks qu'il souhaite (\textbf{autonomie}, rien n'est obligatoire)
\item \textbf{Fonctionne} en production
\item Il est facile de modifier ses propres scripts PowerShell pour les intégrer dans cet environnement
\item Le projet à besoin des ASR pour progresser et intégrer des nouvelles fonctionalités
\item Prenez \textbf{votre sécurité en main} en \textbf{partageant} aussi votre \textbf{savoir faire} \\[2ex]
\item SWMB n'a pas les mêmes objectifs que tous les programmes qui vous proposent des tweaks graphiques
\end{itemize}
\column[c]{4.5cm}
\href{https://gitlab.in2p3.fr/resinfo-gt/swmb/resinfo-swmb}{\includegraphics[width=4cm]{logo-swmb}}
\end{columns}
\end{frame}
\begin{frame}
\frametitle{Licence}
\begin{center}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment