Pular para o conteúdo principal

Postagem em destaque

BlackTDN :: Autenticação 2FA para Usuário Root no WSL

--- # naldodj-wsl-2FA ## Autenticação 2FA para Usuário Root no WSL ### Introdução O Windows Subsystem for Linux (WSL) é uma ferramenta poderosa que permite aos desenvolvedores executar um ambiente Linux diretamente no Windows. No entanto, a segurança é uma preocupação importante, especialmente quando se trata de acessar o usuário root. Neste post, vamos mostrar como configurar a autenticação de dois fatores (2FA) para o usuário root ao acessar o WSL, garantindo uma camada adicional de segurança. ### Objetivo Vamos configurar um script de login que valida a senha do root e usa autenticação 2FA baseada em Time-based One-Time Password (TOTP), usando ferramentas comuns como `openssl`, `oathtool`, e `perl`. ### Passo 1: Instalar as Ferramentas Necessárias Primeiro, precisamos garantir que temos todas as ferramentas necessárias instaladas. Isso inclui `openssl`, `oathtool`, e `perl`. ```bash sudo apt-get update sudo apt-get install openssl oathtool perl ``` Para os scripts em Lua.

BlackTDN :: PowerShell :: Conexão direta ao SGBD via linha de comando

No exemplo anterior, BlackTDN :: PowerShell :: Conexão ODBC em Linha de Comando, vimos como, usando o PowerShell em linha de comando, podemos acessar dados em um BD através de um Driver ODBC. Mas, PowerShell vai muito além disso, é possível executar a conexão diretamente ao SGBD, bastando, para isso, alterar os Objetos de ODBC para SqlClient. conforme abaixo:

$Query =  "SELECT `n"
$Query += "   SE2.E2_FILIAL,`n"
$Query += "   SE2.E2_PREFIXO,`n"
$Query += "   SE2.E2_NUM,`n"
$Query += "   SE2.E2_PARCELA,`n"
$Query += "   SE2.E2_TIPO,`n"
$Query += "   SE2.E2_FORNECE,`n"
$Query += "   SE2.E2_LOJA,`n"
$Query += "   SE2.E2_NOMFOR,`n" 
$Query += "   SE2.E2_EMISSAO,`n"
$Query += "   SE2.E2_VENCTO,`n"
$Query += "   SE2.E2_VENCREA,`n"
$Query += "   SE2.E2_BAIXA,`n"
$Query += "   SE2.E2_BCOPAG,`n"
$Query += "   SE2.E2_VALOR,`n"
$Query += "   SE2.E2_NATUREZ`n"
$Query += "FROM`n"
$Query += "   SE2010 SE2`n"
$Query += "WHERE`n"
$Query += "   SE2.D_E_L_E_T_=' '`n"
$Query += "AND`n"
$Query += "   SE2.E2_EMISSAO BETWEEN '20110501' AND '20110531'`n"
$Query += "ORDER BY`n"
$Query += "   SE2.E2_FILIAL,`n"
$Query += "   SE2.E2_PREFIXO,`n"
$Query += "   SE2.E2_NUM,`n"
$Query += "   SE2.E2_PARCELA,`n"
$Query += "   SE2.E2_TIPO,`n"
$Query += "   SE2.E2_FORNECE,`n"
$Query += "   SE2.E2_LOJA`n"

$conn = new-object system.data.SqlClient.sqlconnection
$conn.connectionstring = "Data Source=127.0.0.1;Initial Catalog=rnp;User Id=sa;Password=sa;"

$Cmd = New-Object System.Data.SqlClient.sqlCommand
$Cmd.CommandText = $Query
$Cmd.Connection = $conn

$sqlAdapter = New-Object System.Data.SqlClient.sqlDataAdapter
$sqlAdapter.SelectCommand = $Cmd

$DataSet = New-Object System.Data.DataSet
$sqlAdapter.Fill($DataSet)
$Conn.Close()

$DataSet.Tables[0]

$sw = new-object system.io.streamwriter("c:\temp\se1_dataset_2011-05-01_2011-05-31.xml")
$DataSet.WriteXml($sw)
$sw.close()

image

e executar:

image

e se consultarmos a saída para o arquivo:

image

image

teremos:

image

image

Considerando que o SGBD utilizado no teste foi o SQL2000 utilizei o modelo de “Connection String” obtido em: Connection strings for SQL Server 2000, 7.0. Para outros SGBDs consulte a lista de “Connection String” disponíveis em: The Connection String Reference.

Os Administradores de Banco de Dados devem se maravilhar com essa ferramenta. Eu, como um mero coadjuvante mortal e fuçador, já fico. Imagine um “PowerUser”.

[]s

иαldσ dj

Comentários

Postagens mais visitadas