So erstellen Sie eine Richtlinie zur Softwareeinschränkung, um ausführbare Dateien aus AppData und dem Download-Ordner der Benutzer:innen zu blockieren

In den komplexen IT-Umgebungen von heute ist die Aufrechterhaltung der Sicherheit von Benutzerumgebungen von größter Bedeutung. Für IT-Experten und Managed Service Provider (MSPs) besteht eine Herausforderung darin, die Ausführung potenziell schädlicher ausführbarer Dateien einzuschränken, die sich an Speicherorten wie AppData oder im Download-Ordner eines Benutzers befinden. Um diese Herausforderung zu verstehen, wollen wir uns mit einer leistungsstarken Skriptlösung zum Blockieren von ausführbaren Dateien aus AppData und anderen festgelegten Speicherortenbefassen.

Verständnis der Richtlinien zur Softwareeinschränkung

Softwareeinschränkungsrichtlinien (SRP) sind eine Funktion von Windows, mit der Administratoren steuern können, welche Software auf ihren Computern ausgeführt werden kann. SRP kann verwendet werden, um bestimmte ausführbare Dateien, Dateierweiterungen oder sogar ganze Verzeichnisse zu blockieren.

Wenn eine ausführbare Datei ausgeführt wird, überprüft Windows die SRP-Einstellungen, um festzustellen, ob die Datei ausgeführt werden darf. Wenn die Datei nicht ausgeführt werden darf, wird eine Fehlermeldung angezeigt.

SRP ist ein leistungsfähiges Tool, das zum Schutz von Computern vor Malware und anderen Sicherheitsbedrohungen eingesetzt werden kann. Es ist jedoch wichtig, SRP mit Bedacht einzusetzen, da es auch die Ausführung legitimer Software blockieren kann.

Das Skript Disable-AppDataExe.ps1

Das Skript “Disable-AppDataExe.ps1” ist ein PowerShell-Skript, mit dem die Ausführung von ausführbaren Dateien in den Verzeichnissen “%AppData%” und “%UserProfile%Downloads” verhindert werden kann. Das Skript ist anpassbar, so dass Sie wählen können, welche Dateierweiterungen blockiert werden sollen und welche Verzeichnisse eingeschränkt werden sollen.

#Requires -Version 5.1

<#
.SYNOPSIS
    Creates a Software Restriction Policy to block executables from AppData and a user's Downloads folder.
.DESCRIPTION
    Creates a Software Restriction Policy to block executables from AppData and a user's Downloads folder.
.EXAMPLE
     -RestrictedDirectory "%APPDATA%", "%UserProfile%Downloads"
    Creates a Software Restriction Policy to block executables from AppData and a user's Downloads folder. This is the default.
.EXAMPLE
    PS C:> Disable-AppDataExe.ps1 -RestrictedDirectory "%APPDATA%", "%UserProfile%Downloads"
    Creates a Software Restriction Policy to block executables from AppData and a user's Downloads folder. This is the default.
.OUTPUTS
    None
.NOTES
    Minimum OS Architecture Supported: Windows 10, Windows Server 2016 - DOES NOT SUPPORT WINDOWS 11
    Release Notes:
    Initial Release
    (c) 2023 NinjaOne
    By using this script, you indicate your acceptance of the following legal terms as well as our Terms of Use at https://www.ninjaone.com/terms-of-use.
    Ownership Rights: NinjaOne owns and will continue to own all right, title, and interest in and to the script (including the copyright). NinjaOne is giving you a limited license to use the script in accordance with these legal terms. 
    Use Limitation: You may only use the script for your legitimate personal or internal business purposes, and you may not share the script with another party. 
    Republication Prohibition: Under no circumstances are you permitted to re-publish the script in any script library or website belonging to or under the control of any other software provider. 
    Warranty Disclaimer: The script is provided “as is” and “as available”, without warranty of any kind. NinjaOne makes no promise or guarantee that the script will be free from defects or that it will meet your specific needs or expectations. 
    Assumption of Risk: Your use of the script is at your own risk. You acknowledge that there are certain inherent risks in using the script, and you understand and assume each of those risks. 
    Waiver and Release: You will not hold NinjaOne responsible for any adverse or unintended consequences resulting from your use of the script, and you waive any legal or equitable rights or remedies you may have against NinjaOne relating to your use of the script. 
    EULA: If you are a NinjaOne customer, your use of the script is subject to the End User License Agreement applicable to you (EULA).
#>

[CmdletBinding()]
param (
    # Paths to block executions
    [Parameter()]
    [String[]]
    $RestrictedDirectory = @("%APPDATA%", "%UserProfile%Downloads"),
    # Executables
    [Parameter()]
    [String[]]
    $ExecutableTypes = @("ADE", "ADP", "BAS", "BAT", "CHM", "CMD", "COM", "CPL", "CRT", "EXE", "HLP", "HTA", "INF", "INS", "ISP", "LNK", "MDB", "MDE", "MSC", "MSI", "MSP", "MST", "OCX", "PCD", "PIF", "REG", "SCR", "SHS", "URL", "VB", "WSC")
)

begin {
    function Test-IsElevated {
        $id = [System.Security.Principal.WindowsIdentity]::GetCurrent()
        $p = New-Object System.Security.Principal.WindowsPrincipal($id)
        if ($p.IsInRole([System.Security.Principal.WindowsBuiltInRole]::Administrator))
        { Write-Output $true }
        else
        { Write-Output $false }
    }
}
process {
    if (-not (Test-IsElevated)) {
        Write-Error -Message "Access Denied. Please run with Administrator privileges."
        exit 1
    }
    # Clear existing rules
    $BaseRegPath = 'HKLM:\SOFTWARE\Policies\Microsoft\Windows\safer'
    if (Test-Path "$BaseRegPath") { Remove-Item "$BaseRegPath" -Recurse }
    # Create our rule settings
    New-Item "$BaseRegPath"
    New-Item "$($BaseRegPath)\codeidentifiers"
    New-Item "$($BaseRegPath)\codeidentifiers\0"
    New-Item "$($BaseRegPath)\codeidentifiers\0\Paths"
    New-ItemProperty "$($BaseRegPath)\codeidentifiers" -Name 'authenticodeenabled' -Value 0 -PropertyType DWord
    New-ItemProperty "$($BaseRegPath)\codeidentifiers" -Name 'DefaultLevel' -Value 262144 -PropertyType DWord
    New-ItemProperty "$($BaseRegPath)\codeidentifiers" -Name 'TransparentEnabled' -Value 1 -PropertyType DWord
    New-ItemProperty "$($BaseRegPath)\codeidentifiers" -Name 'PolicyScope' -Value 0 -PropertyType DWord
    New-ItemProperty "$($BaseRegPath)\codeidentifiers" -Name 'ExecutableTypes' -Value $ExecutableTypes -PropertyType MultiString

    foreach ($Directory in $RestrictedDirectory) {
        $pathguid = [guid]::newguid()
        $newpathkey = "$($BaseRegPath)\codeidentifiers\0\Paths{" + $pathguid + "}"
        if ((Test-Path -LiteralPath $newpathkey) -ne $true) { New-Item $newpathkey }
        New-ItemProperty -LiteralPath $newpathkey -Name 'SaferFlags' -Value 0 -PropertyType DWord
        New-ItemProperty -LiteralPath $newpathkey -Name 'ItemData' -Value $Directory -PropertyType ExpandString
    }
    gpupdate.exe /force
}

 

So verwenden Sie das Skript

Um das Skript “Disable-AppDataExe.ps1” zu verwenden, muss PowerShell installiert sein und mit administrativen Rechten ausgeführt werden. Sobald Sie das Skript haben, können Sie es ausführen, indem Sie den folgenden Befehl an der PowerShell-Eingabeaufforderung eingeben:

.Disable-AppDataExe.ps1

Das Skript verhindert dann, dass die angegebenen ausführbaren Dateien in den angegebenen Verzeichnissen ausgeführt werden.

Abschließende Überlegungen

Das Skript Disable-AppDataExe.ps1 ist ein nützliches Tool, um die Ausführung von ausführbaren Dateien in bestimmten Verzeichnissen zu verhindern. Es ist jedoch wichtig, sich seiner Grenzen bewusst zu sein. Wenn Sie verstehen, wie SRP funktioniert und wie Sie das Skript verwenden, können Sie dazu beitragen, Ihre Computer vor Malware und anderen Sicherheitsbedrohungen zu schützen.

Bei der Verwendung des Skripts Disable-AppDataExe.ps1 sind einige zusätzliche Dinge zu beachten:

  • Das Skript blockiert nur ausführbare Dateien, die sich in den angegebenen Verzeichnissen befinden. Es werden keine ausführbaren Dateien blockiert, die sich in anderen Verzeichnissen befinden, z. B. im Verzeichnis “Programme”.
  • Das Skript blockiert keine ausführbaren Dateien, die über eine Eingabeaufforderung oder eine Batch-Datei ausgeführt werden.
  • Das Skript kann von Benutzern mit administrativen Rechten umgangen werden. (Es könnte Sie interessieren, wie Sie lokale administrative Rechte mit PowerShell deaktivieren können)

NinjaOne kann IT-Experten dabei helfen, ausführbare Dateien nahtlos über eine unbegrenzte Anzahl von Endpunkten zu blockieren. NinjaOne ist eine Cloud-basierte IT-Management-Plattform, die eine Vielzahl von Sicherheitsfunktionen bietet, einschließlich der Möglichkeit, Softwareeinschränkungsrichtlinien (SRP) zu erstellen und einzusetzen. Die SRP-Funktion von NinjaOne ist einfach zu bedienen und kann so angepasst werden, dass ausführbare Dateien in bestimmten Verzeichnissen, Dateierweiterungen oder sogar ganze Anwendungen blockiert werden. Zusätzlich kann NinjaOnes SRP Funktion zentral verwaltet werden, was die Skalierung auf eine unbegrenzte Anzahl von Endpunkten erleichtert.

Hier sind einige der Vorteile von NinjaOne zum Blockieren ausführbarer Dateien:

  • Nahtlose Bereitstellung: Die SRP-Funktion von NinjaOne kann ohne individuelle Installationen oder Konfigurationen auf den Endpunkten eingesetzt werden. Auf diese Weise lässt sich die Richtlinie schnell und einfach auf einer großen Anzahl von Endpunkten bereitstellen.
  • Zentralisierte Verwaltung: Die SRP-Funktion von NinjaOne kann zentral von einer einzigen Konsole aus verwaltet werden. Dies erleichtert das Erstellen, Ändern und Bereitstellen von SRP-Richtlinien für alle Ihre Endpunkte.
  • Flexibilität: NinjaOnes SRP Funktion ist flexibel und kann an die spezifischen Bedürfnisse Ihres Unternehmens angepasst werden. Sie können ausführbare Dateien nach Verzeichnis, Dateierweiterung oder sogar Anwendung blockieren.
  • Skalierbarkeit: NinjaOnes SRP Funktion kann auf eine unbegrenzte Anzahl von Endpunkten skaliert werden. Das macht es zu einer großartigen Lösung für Unternehmen jeder Größe.

Erfahren Sie mehr über NinjaOne Endpunkt-Management.

Nächste Schritte

Der Aufbau eines effizienten und effektiven IT-Teams erfordert eine zentralisierte Lösung, die als einheitliches Tool zur Bereitstellung von IT-Dienstleistungen fungiert. NinjaOne ermöglicht es IT-Teams, alle Geräte zu überwachen, zu verwalten, zu sichern und zu unterstützen, unabhängig vom Standort, ohne dass eine komplexe Infrastruktur vor Ort erforderlich ist.

Erfahren Sie mehr über NinjaOne Remote Script Deployment, sehen Sie sich eine Live-Tour an oder starten Sie Ihre kostenlose Testversion unserer NinjaOne Plattform.

Kategorien:

Das könnte Sie auch interessieren

×

Sehen Sie NinjaOne in Aktion!

Mit dem Absenden dieses Formulars akzeptiere ich die Datenschutzerklärung von NinjaOne.

NinjaOne Allgemeine Geschäftsbedingungen für Skripte

Indem Sie unten auf die Schaltfläche “Ich akzeptiere” klicken, erklären Sie Ihr Einverständnis mit den folgenden rechtlichen Bedingungen sowie mit unseren Nutzungsbedingungen:

  • Eigentumsrechte: NinjaOne besitzt und wird weiterhin alle Rechte, Titel und Interessen an dem Skript (einschließlich des Urheberrechts) behalten. NinjaOne gewährt Ihnen eine eingeschränkte Lizenz zur Nutzung des Skripts in Übereinstimmung mit diesen rechtlichen Bedingungen.
  • Einschränkung der Nutzung: Sie dürfen das Skript nur für Ihre legitimen persönlichen oder internen Geschäftszwecke verwenden und es nicht an Dritte weitergeben.
  • Verbot der Wiederveröffentlichung: Sie sind unter keinen Umständen berechtigt, das Skript in einer Skriptbibliothek, die einem anderen Softwareanbieter gehört oder von diesem kontrolliert wird, erneut zu veröffentlichen.
  • Gewährleistungsausschluss: Das Skript wird “wie gesehen” und “wie verfügbar” bereitgestellt, ohne jegliche Garantie. NinjaOne gibt keine Versprechen oder Garantien, dass das Skript frei von Fehlern ist oder dass es Ihre speziellen Bedürfnisse oder Erwartungen erfüllt.
  • Risikoübernahme: Die Verwendung des Skripts erfolgt auf eigene Gefahr. Sie erkennen an, dass die Nutzung des Skripts mit bestimmten Risiken verbunden ist, und Sie verstehen und übernehmen jedes dieser Risiken.
  • Verzicht und Freigabe: Sie machen NinjaOne nicht für nachteilige oder unbeabsichtigte Folgen verantwortlich, die sich aus Ihrer Nutzung des Skripts ergeben, und Sie verzichten auf alle gesetzlichen oder billigkeitsrechtlichen Rechte oder Rechtsmittel, die Sie gegen NinjaOne im Zusammenhang mit Ihrer Nutzung des Skripts haben könnten.
  • EULA: Wenn Sie ein NinjaOne-Kunde sind, unterliegt Ihre Nutzung des Skripts dem für Sie geltenden Endbenutzer-Lizenzvertrag (EULA).