Sobre lista de bloqueiosOn Blacklisting

Depois de explorar o JEA, você pode estar se perguntando se é possível colocar comandos na lista de bloqueios.After playing around with JEA, you may be wondering if it is possible to blacklist commands. Essa é uma solicitação compreensível, mas ela não está planejada para JEA pelos seguintes motivos:This is an understandable request, but it is not currently planned for JEA for the following reasons:

  1. Criamos o JEA para limitar os operadores somente às ações que eles precisam realizar.We designed JEA to limit operators to only the actions they need to do. Uma lista de bloqueios é o oposto.A blacklist is the opposite.

  2. Os autores de comando do PowerShell não projetaram comandos dele tendo o JEA em mente.PowerShell command authors did not design PowerShell commands with the JEA in mind. Em uma instalação nova do Windows Server 2016, há cerca de 1520 comandos disponíveis imediatamente.On a fresh install of Windows Server 2016, there are about 1520 commands immediately available. Os modelos de ameaças para esses comandos não incluem a possibilidade de que um usuário poderia executar comandos como uma conta com mais privilégios.The threat models for these commands did not include the possibility that a user would be running commands as a more privileged account. Por exemplo, determinados comandos permitem realizar injeção de código por design (por exemplo, Add-Type e Invoke-Command no módulo do núcleo do PowerShell).For example, certain commands allow for code injection by design (e.g. Add-Type and Invoke-Command in the core PowerShell module). O JEA pode avisá-lo quando você expõe os comandos específicos que conhecemos, mas não reavaliamos todos os outros comandos no Windows com base no novo modelo de ameaça.JEA can warn you when you expose the specific commands we know about, but we have not re-assessed every other command in Windows based on the new threat model. Você deve compreender as capacidades dos comandos que são expostos por meio do JEA.You must understand the capabilities of the commands you exposing through JEA.

  3. Além disso, mesmo que o JEA bloqueie todos os comandos com vulnerabilidades de injeção de código, não há nenhuma garantia de que um usuário mal-intencionado não poderá executar uma ação na lista de bloqueios com outro comando relacionado.Furthermore, even if JEA blocked all commands with code-injection vulnerabilities, there is no guarantee that a malicious user would not be able to carry out a blacklisted action with another related command. A menos que você compreenda todos os comandos que estiver expondo, é impossível assegurar que uma determinada ação não será possível.Unless you understand all of the commands that you are exposing, it is impossible for you to guarantee that a certain action is not possible. Cabe a você entender os comandos que você está expondo, seja usando uma lista de permissões ou uma lista de bloqueios.The burden is on you to understand what commands you are exposing, whether they are using a whitelist or a blacklist. O número de comandos que uma lista de bloqueios poderia expor é impossível de gerenciar, portanto o JEA é implementado usando listas de permissões.The number of commands a blacklist would expose is unmanageable, so JEA is implemented using whitelists instead.