nav-left cat-right
cat-right
Segurança do Asp.net em servidores compartilhados...

Por padrão, o asp.net 1.1 não está bem configurado para servidores compartilhados. Um usuário que está rodando uma aplicação em .net na configuração padrão terá acesso a partes sensíveis do sistema, o que representa um problema para a segurança.

Abaixo, vou descrever como forçar o ASP.NET 1.1 a executar com a conta anonima do IIS e reduzir assim os privilégios das aplicações em ASP.NET.

Para incrementar a segurança, é recomendado executar sites em asp.net em aplication pools isoladas no IIS. Assim os códigos executados em asp.net poderão afetar apenas o contexto da aplicação (ou das permissões que envolvem o usuário da aplicação.

Para incrementar a segurança, nosso primeiro passo deverá ser forçar as aplicações a serem executadas com o usuário anonimo do IIS. Para fazer isto, vamos editar o arquivo machine.config, localizado na pasta:

C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\CONFIG

Abra o arquivo no notepad e procure pela palavra impersonate. Ela estará no padrão abaixo:

<!–
identity Attributes:
impersonate="[true|false]" - Impersonate Windows User
userName="Windows user account to impersonate" | empty string implies impersonate the LOGON user specified by IIS
password="password of above specified account" | empty string
–>
<identity impersonate="false" userName="" password=""/>

troque a linha em negrito acima por todo este bloco de textos abaixo:

</system.web>
<location allowOverride="false">
<system.web>
<identity impersonate="true" userName="" password=""/>
</system.web>
</location>
<system.web>

O que estamos fazendo é setando a propriedade impersonate para true, e além disto colocando uma tag location, que informa que não será possível ao usuário alterar o valor do impersonate (algo que por padrão é possível no arquivo web.config).

Feito isto, os scripts asp.net irão ser executados pelo usuário anonimo marcado no IIS.

Não terminamos. A instalação padrão do asp.net permite executar os arquivos em Full trust mode. Isto quer dizer que qualquer assemblies chamado ou desenvolvido pelo usuário terá acesso irrestrito ao sistema (o que nós não queremos de jeito nenhum).

Procure no topo do arquivo machine.config pelo código abaixo:

<location allowOverride="true">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config" />
</securityPolicy> <!– level="[Full|High|Medium|Low|Minimal]" –>
<trust level="Full" originUrl="" />
</system.web>
</location>

Como você pode ver, ASP.NET está marcado por padrão para executar em Full trust mode. Precisamos alterar isto.

Em hosting compartilhados, o ideal é alterar para o medium trust, que permite uma certa flexibidade sem comprometer a segurança do sistema.

<location allowOverride="false">
<system.web>
<securityPolicy>
<trustLevel name="Full" policyFile="internal" />
<trustLevel name="High" policyFile="web_hightrust.config" />
<trustLevel name="Medium" policyFile="web_mediumtrust.config" />
<trustLevel name="Low" policyFile="web_lowtrust.config" />
<trustLevel name="Minimal" policyFile="web_minimaltrust.config" />
</securityPolicy> <!– level="[Full|High|Medium|Low|Minimal]" –>
<trust level="Medium" originUrl=".*" />
</system.web>
</location>
Como desabilitar File System Object (FSO)...

O FSO (FileSystem Object) é um componente que permite manipular arquivos e pastas através de scripts (asp, vbs, etc). Ele é um componente windows nativo.

O seu uso é recomendado quando se tem, no servidor, a necessidade de manipulação destes arquivos. Em servidores bem configurados, isto não deve ser nenhum problema, devido a utilização das permissões NTFS corretas.

Porém, caso não tenha necessidade de uso, você pode desabilitá-lo e conseguir, assim, melhorar a permissão de segurança.

O processo para desabilitar o FSO é extremamente simples.

1. Abra o executar (iniciar -> executar).
2. Digite
regsvr32.exe -u scrrun.dll 

Desta maneira, você estará removendo o registro da dll scrrun.dll, responsável pela execução do FSO.

Para registrar novamente, faça:

1. Abra o executar (iniciar -> executar).
2. Digite

regsvr32.exe scrrun.dll

Alterando o limite de memória no MSDE...

O limite de consumo de memória do servidor de banco de dados MSDE, por padrão, é 2147483647Mb. Isto mesmo, pouco mais de 2 terabytes de memória.

Como nossos servidores não tem tanta memória disponível, vamos limitar o uso de memória no banco de dados. Para isto, crie um arquivo chamado limitmemory.sql, com o seguinte conteúdo:

USE master
EXEC sp_configure ’show advanced options’, 1
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure ‘max server memory (MB)’, 512
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure ’show advanced options’, 0
RECONFIGURE WITH OVERRIDE

Em seguida, utilize o seguinte comando para executar este script sql (lembre de mudar o caminho para o arquivo sql):

osql -E -S servername\MSFW -i c:\sqlmemorylimit.sql

Se você quiser apenas verificar o valor que está setado para limite de memória no MSDE, use o seguinte script:

USE master
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE

USE master
EXEC sp_configure 'max server memory (MB)'

USE master
EXEC sp_configure 'show advanced options', 0
RECONFIGURE WITH OVERRIDE

Salve-o como sqlmemorycheck.sql, e execute o seguinte comando:

osql -E -S servername\MSFW -i c:\sqlmemorycheck.sql
Como desabilitar Shell Script ( Windows Host Scrip...

O windows Host Script, conhecido também como shell script, permite a execução de scripts na máquina que interagem como o sistema operacional Windows. São muito úteis para manutenção e automatização de tarefas, no entanto, o uso desta ferramenta por pessoas não autorizadas podem causar sérios problemas, uma vez que ele terá controle total sobre o sistema operacional.

É claro, num servidor com as devidas permissões, um usuário comum não deverá conseguir executar nenhum script que possa causar algum estrago. De qualquer maneira, é muito difícil verificar o servidor a ponto de se afirmar com certeza que não existe nenhuma brecha na segurança. O melhor a ser feito é desabilitar a execução.

Existem duas formas básicas de resolver este problema. Na primeira delas, iremos desabilitar a execução para todos os usuários da máquina. O procedimento é:
1. Abra o prompt de comando e digite:
Digite regsvr32.exe -u wshom.ocx

Desta maneira, você estará removendo o registro do wshom.ocx, responsável pela execução do shell script.

Para registrar novamente, faça:

Abra o prompt de comando e digite:
regsvr32.exe wshom.ocx

A segunda maneira, é alterar a permissão de execução do shell script diretamente no registro do windows. O procedimento é:

1. Clique em iniciar -> executar -> digite regedit <ENTER>
2. Vá para a chave [HKEY_CLASSES_ROOT\WScript.Shell] com o botão direito do mouse nesta chave, vá em permissão (permission) e altere as permissões para permitir a execução do shell script somente para os usuários e grupos que você sabe que devem realmente utilizá-lo.

Como alterar um domínio de revenda no plesk...

Para mudar um domínio de uma revenda (cliente) para outra no plesk, faça:

1. Logue-se no servidor e abra um prompt de comando.
2. Digite:

cd \ %plesk_bin%

3. Digite:

domain.exe -u <Dominio> -clogin <LoginDoCliente>
Alterando a porta de conexão no Terminal Server (...

Alterando a porta de conexão no terminal server (Remote desktop)

O terminal services é o software padrão para conexão em servidores remotos (Windows). Ele utiliza a porta 3389 para receber as conexões. Como alternativa, podemos mudar esta porta, desviando a atenção de hackers.

ATENÇÃO: Este artigo contém informações sobre alterações no registro do Windows. Antes de qualquer alteração, é importante fazer um backup, e saber como proceder para restaurá-lo caso haja necessidade.

Voltando ao artigo…

Para alterar a porta de conexão padrão no Terminal Server

1. Execute regedt32 e encontre a seguinte chave:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

2. Encontre a subkey “PortNumber”. Observe que o valor padrão está “00000D3D” (hexadecimal para 3389). Modifique o valor padrão e salve.

Para se conectar do lado do cliente, no remote desktop, basta digitar o o hostname ou ip, e a nova porta de conexão.

Ex.: você alterou a porta de conexão para 3388, digite no remote desktop:

seudominio.com:3388

Como resetar a senha do mysql no Windows Server?...

1. Pare o serviço MySql

2. Execute:

C:\mysql\bin\mysqld-nt --skip-grant-tables

e então abra outro prompt de comando.

3. Execute

C:\mysql\mysql

4. Digite o seguinte comando:

update mysql.user set password=('COLOQUE-SUA_SENHA-AQUI') where User='root';

5. Em seguida, dê o seguinte comando:

flush privileges;

6. Digite:

quit

7. Mate todos os processos mysqld-nt

8. Reinicie o serviço mysql

Awstats em português no plesk...

Por padrão, o plesk gera as estatísticas awstats de acesso a sites em inglês.
O procedimento para a troca de idiomas é simples.

Abra o arquivo %plesk_dir%\Additional\AWStats\wwwroot\cgi-bin\awstats.model.conf e altere a linha:

Lang="auto"

para

Lang="br"

Faça o mesmo para todos os arquivos awstats.conf dos domínios já criados no servidor:
%plesk_dir%\Additional\AWStats\wwwroot\cgi-bin\awstats.DOMINIO_name.conf

Next Entries »