Bloquer toute sortie de paquets avant le logon !

C'était quelque chose que je cherchais à faire depuis longtemps. J'ai donc mis en place deux scripts écrits en PowerShell à l'arrêt de la machine et à l'ouverture de session de l'utilisateur, dont l'objet est de bloquer toute activité réseau tant que je ne suis pas loggé !!! Malgré une configuration très millimétrée du pare-feu, j'ai pu me rendre compte de bien curieuses sorties de paquets. ;+)

Pour la gestion DNS, j'utilise pour ma part unbound, une application Open Source qui fait office de cache et de redirecteur. Tout ce qui touche à ce service dans le script est parfaitement facultatif. J'ai par ailleurs pris soin de renommer la "Connexion au réseau local" en "Ethernet" pour me simplifier la vie. Vous pouvez accéder directement à la configuration réseau avec la commande control ncpa.cpl.

Renommer la connexion au réseau local

Le script PowerShell d'arrêt de la machine

Il est à sauvegarder de préférence dans C:\Windows\System32\GroupPolicy\Machine\Scripts\Shutdown. Dans l'exemple, je l'ai appelé logoff.ps1.

#Facultatif
Set-Service -Name "unbound" -StartupType Disabled -Status Stopped
#Obligatoire
Disable-NetAdapter -Name * -Confirm:$false

A l'aide de la commande gpedit.msc, allez au niveau de la stratégie de l'ordinateur local dans Configuration ordinateur -> Paramètres Windows -> Scripts -> Arrêt du système.

Gpedit.msc -> Stratégie de l'ordinateur local -> Configuration ordinateur -> Paramètres Windows -> Scripts -> Arrêt du système

Au niveau des propriétés des scripts d'arrêt du système, sélectionner l'onglet Scripts PowerShell. Cliquez alors sur Ajouter -> Parcourir et sélectionnez le fichier que vous avez pris soin de déposer comme je vous l'ai indiqué au préalable.

Propriétés des scripts PowerShell d'arrêt du système

Le script PowerShell d'ouverture de session

Je vous conseille de le sauvegarder de préférence dans C:\Windows\System32\GroupPolicy\User\Scripts\Logon. Dans l'exemple, je l'ai appelé logon.ps1.

#Obligatoire
Enable-NetAdapter -Name "Ethernet" -Confirm:$false -IncludeHidden
#Facultatif
Set-Service -Name unbound -StartupType Automatic
$service=Get-Service -Name unbound
while($service.Status -ne 'Running')
{
    Try
    {
        Set-Service -Name unbound -status Running
        $service=Get-Service -Name unbound
    }
    Catch
    {
    }
}

Toujours avec gpedit.msc, vous devez choisir Configuration utilisateur -> Paramètres Windows -> Scripts -> Ouverture de session.

Gpedit.msc -> Stratégie de l'ordinateur local -> Configuration utilisateur -> Paramètres Windows -> Scripts -> Ouvertur de session

Après avoir réalisé un double-clic sur Ouverture de session, allez au niveau de l'onglet Scripts PowerShell pour y ajouter votre script logon.ps1.

Propriétés des scripts PowerShell d'ouverture de session

Dsfc Dsfc

Bloquer toute sortie de paquets avant le logon !
4 votes, 5.00 avg. rating (98% score)
Tags : , , , , , , ,
Commentaires

Pas encore de commentaire.

Laisser un commentaire

(requis)

(requis)


*