Archive for junho de 2015

Encriptografar e descriptografar seção no web.config

junho 29th, 2015

1) Abra o prompt de comando
2) Altere o diretório para a versão do asp.net que você usa

cd %windir%\Microsoft.NET\Framework\versao

3) Rode o comando alterando a seção que quer utilizar e o site utilizado

aspnet_regiis -pe "connectionStrings" -app "/" -site "batatinha.com.br"

no exemplo a cima, vamos criptografar a seção “connectionStrings” para a aplicação raiz do site “batatinha.com.br”

4) Abra o web.config do site, verá que haverá algo do tipo

<connectionStrings configProtectionProvider="RsaProtectedConfigurationProvider">
  <EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
   xmlns="http://www.w3.org/2001/04/xmlenc#">
   <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />
   <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
    <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
     <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
     <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
      <KeyName>Rsa Key</KeyName>
     </KeyInfo>
     <CipherData>
      <CipherValue>n/zynKbSuIPDiyR44df1zZcDJSTfND7qQ8vduh83yEU0GcI+fD3LHdFcAkMZyfHfnsKpfMXf6F3zd4UyDjSJDBduN17xe0COGLyrivFifFtw1VcpRHLwR+z9MF9yVyi9a2Sbj5YO8nU50zJgOnN53GaM5KEZIT0abO2l0koo=</CipherValue>
     </CipherData>
    </EncryptedKey>
   </KeyInfo>
   <CipherData>
    <CipherValue>P4+kFEJ5/rXZp9edsksmVRg/Jo2zZCuHR3103Tooy4AnX+WzawGHuA6HL6+9ULw1s7Wd+TCsfSO74befVnTCuYS6NFMQg+FtMdK0rtey9ryia0lyqccf4CZ4u2U9afqNcO6eN40rPvY8SVG5AbQ37VatWuhs8pu1ZfpN8hQjL3aeM3nXudXcLxU4YUf84oTsHf1Q8hGUDc2mnKQqpfU7jDNhDp8hmobV1Xb3q9DQPxD3k2eCKE+vD1ZXvHK8o7TuioZxv/TXUIX/ewc1pWzH3AdQJUSGhjJHAUUJ7pC4WYdNVwpB32NLokiR3gBOAmClHDqlRVrJ+yzoTZnfonBGPKjQT0q6Kxi5fsQUCRbG9rXe9SrIHGL1G3yE62R2lMO1dx6A+9mLiR3F82bKH5oJrrhmFrTjuCnLaYVhrTtWAWC8CAJ6fs5wk4dKg8fvcVNoIFKkHVyEgf8Wqvf0MRiGwfsob5tTNc15yfUZS5w6AnyWNqHrS1d//WTcJ++G5EXZdkDE7KxiDEisokflrtDIq+VC6zC3zcOH18H4h0UL1L5zlcMdHRvSJ2YlI0k4en1Dm3w05fzFf9Z5Sk7CS+NZjLl2jWT5m3ZBMiGBUORi0NYD8ThHkvuy9AwogQ/T8b+uj9o4Q3HwEqpSDMs0t0T7Izx7ISTan+OH58MgOPZ6Qq1gV/LqcGBTHqeojZzy5frlKTxMWokW2PXexHkyyW6vAEqOzYoXn5ctuuL8VfbQhut3Xlq6wbYD7jZh4gzxJJ1BbpEsGqr8YCRIMkhcju4dzHgHI/ks1dmAwWwOUFVjnsx2ZNrmo4kWk8HaujUybekdcWxstMXB1Jor6EB3dLYgoxQ74oetIAOmHIH93bE17MUEO1Yer9PTy0qU17cXl3EMZX/bGfYlppzh69WeszQ0/63IeBoPaoaWZaLgqMlogDntjdnQWqOA+goiKMSlqv9qWIdjdsZ63Ekhuc1H58qJrjPkJYvVjoGApECgvDtRBN8BcFaflMWzX+GxL0NCvi4poQiuSsD58/j1I0rl4kTUzA499s+uYy8WuX7OVh6gbXzlaSBvqj08+VtA+ewqW8S5bcPQdiG8EjAj1Be6VPc8qJb43H9JJF/8BtQ7ve+w=</CipherValue>
   </CipherData>
  </EncryptedData>
 </connectionStrings>

Feito 😀

Para descriptografar, faça o seguinte:

1) Abra o prompt de comando
2) Altere o diretório para a versão do asp.net que você usa

cd %windir%\Microsoft.NET\Framework\versao

3) Rode o comando alterando a seção que quer utilizar e o site utilizado

aspnet_regiis -pd "connectionStrings" -app "/" -site "batatinha.com.br"

No exemplo a cima vamos descriptografar a seção “connectionStrings” para a aplicação raiz do site “batatinha.com.br”

Créditos: https://support.transfrm.com/entries/27430158-Encrypting-Decrypting-the-database-connection-strings-in-web-3-0

Pegar requisições do momento no Windows 2012 em PowerShell

junho 18th, 2015
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
$wp = Get-WmiObject WorkerProcess -Namespace root/WebAdministration
 
foreach($w in $wp){
    $w | Invoke-WmiMethod -Name GetExecutingRequests |
    Select-Object -ExpandProperty OutputElement | Foreach-Object{
        [PSCustomObject]@{
            nomePool = $w.AppPoolName
            PID = $w.ProcessId
            ipOrigem = $_.ClientIPAddress
            modulo = $_.CurrentModule
	    idConexao = $_.ConnectionId
            porta = $_.LocalPort
            siteId = $_.SiteId
            url = $_.Url
            verbo = $_.Verb
            tempoEmSegundos = $_.TimeInState / 1000
        }
    }
}

É possível filtrar para um determinado PID ou pool de aplicativo, por exemplo, alterando a primeira linha para alguma coisa do tipo

1
$wp = Get-WmiObject WorkerProcess -Namespace root/WebAdministration -Filter "ProcessId=%PID%"
1
$wp = Get-WmiObject WorkerProcess -Namespace root/WebAdministration -Filter "AppPoolName='%nomeDaPool%'"

Referência: Get requests that are currently executing in a worker process

Preferência de IPv4 sobre IPv6 no windows 2012

junho 12th, 2015

Para forçar a preferência do IPv4 em windows 2012, crie um DWORD chamado DisabledComponents na chave
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TCPIP6\Parameters
com o valor decimal 32.

Para a configuração ter efeito, reinicie o servidor.

Referência: Aka wanting your OS to prefer IPv4 over IPv6