Você está na página 1de 79

CURSO DE FORMAÇÃO EM FORTALECIMENTO

(DE SERVIDORES WINDOWS

HARDENNING
HARDENNING

As políticas de configurações de
segurança são regras que os
administradores podem configurar em
um ou vários dispositivos, com o
objetivo de proteger os recursos em um
dispositivo ou uma rede. Num domínio
por meio de GPO.
HARDENNING

Temos:
- Política de conta
- Politica local
-Política de Firewall
-Política de chave
-Política de auditoria
-Etc..
HARDENNING

Para abrir a Política de segurança


local, clique em Iniciar ,
digite, secpol.msc .

secpol.msc (local)
HARDENNING

O procedimento a seguir descreve


como configurar uma configuração de
política de segurança para um objeto
de Diretiva de Grupo quando estiver
em uma estação de trabalho ou
servidor que esteja associado a um
domínio.
HARDENNING

Ou ir direto no Na árvore da consola,


localize a Política GroupPolicyObject
[ComputerName] , clique em
Configuração do computador , clique
em Configurações do Windows e, em
seguida, clique em Configurações de
segurança .
Gpmc.msc e editar a Default domain
HARDENNING

É um processo de mapeamento das


ameaças, mitigação dos riscos e
execução das atividades corretivas,
com foco na infraestrutura e objetivo
principal de torná-la preparada para
enfrentar tentativas de ataque.
Premissas
• Servidores Windows não são o core de
segurança
– Orientações do fornecedor seriam todo o
necessário!
– Serviços desnecessários devem ser
desativados
Abordagem Windows
• Perspectiva de um servidor-PDC

• Facilmente replicável para GPOs de domínio

• Atualmente a moda é a nuvem


Requisitos Básicos da Segurança

 Confidencialidade

 Integridade

 Disponibilidade

CID

Confidencialidade Integridade

Disponibilidade
Windows: logins web clear-text
• O parâmetro "DisableBasicOverClearChannel"
define se o sistema permitirá a utilização da
forma de autenticação de usuário "BasicAuth"
para todos os websites que necessitarem este
tipo de forma de autenticação.

A implementação de HTTP de autenticação básica (BA) é a


técnica mais simples para reforçar os controles de acesso aos
recursos da Web porque não requer cookies , identificadores
de sessão ou páginas de login; Em vez disso, a autenticação
HTTP Basic usa campos padrão no cabeçalho HTTP ,
removendo a necessidade de handshakes.
EXEMPLO DE CRIAÇÃO DE
PARÂMETRO
Windows: logins web clear-text
(cont.)
• O parâmetro "DisableBasicOverClearChannel"
define se o sistema permitirá a utilização da
forma de autenticação de usuário "BasicAuth"
para todos os websites que necessitarem este
tipo de forma de autenticação.
Windows: proteção a SYN floods
Windows: proteção a SYN floods
• Ataques do tipo "Syn Flood" têm por objetivo
tornar indisponíveis serviços baseados em
TCP/IP, explorando o processo de
estabelecimento de conexões TCP/IP

• Recomenda-se habilitar o recurso de proteção


contra ataques de "Syn Flood" no sistema
Windows: proteção a SYN floods
(cont.)
• Ataques do tipo "Syn Flood" têm por objetivo
tornar indisponíveis serviços baseados em
TCP/IP, explorando o processo de
estabelecimento de conexões TCP/IP

• Recomenda-se habilitar o recurso de proteção


contra ataques de "Syn Flood" no sistema
Windows: SYN-ACK reply
• O parâmetro
"TcpMaxConnectResponseRetransmissions" é
utilizado para retransmitir um SYN-ACK após
um tempo determinado (21s por default)

• Para minimizar ataques do tipo "Syn Flood”,


recomenda-se configurá-lo com o valor "1",
que descartará as conexões após 9s
Windows: SYN-ACK reply (cont.)
• O parâmetro
"TcpMaxConnectResponseRetransmissions" é
utilizado para retransmitir um SYN-ACK após
um tempo determinado (21s por default)

• Para minimizar ataques do tipo "Syn Flood”,


recomenda-se configurá-lo com o valor "1",
que descartará as conexões após 9s
Windows: desativar source routing
• "Source Routing" é um recurso que permite
que um "host origem" especifique a rota exata
que os pacotes IP devem seguir até atingir o
"host destino”

• Recomenda-se desabilitar o recurso de


"Source Routing" quando possível
Windows: desativar source routing
(cont.)
• "Source Routing" é um recurso que permite
que um "host origem" especifique a rota exata
que os pacotes IP devem seguir até atingir o
"host destino”

• Recomenda-se desabilitar o recurso de


"Source Routing" quando possível
Windows: desativar IP forwarding
• O parâmetro "IPEnableRouter" define se o
recurso de "IP Forwarding" estará ou não
habilitado no sistema. Recomenda-se
desabilitar quando possível o "IP Forwarding"
do sistema.
Windows: desativar IP forwarding
(cont.)
• O parâmetro "IPEnableRouter" define se o
recurso de "IP Forwarding" estará ou não
habilitado no sistema. Recomenda-se
desabilitar quando possível o "IP Forwarding"
do sistema.
Windows: desativar ICMP redirects
• O parâmetro "EnableICMPRedirect" define se
a tabela de rotas do computador será alterada
toda vez que o mesmo receber pacotes do
tipo "ICMP Redirect”

• Convém que este parâmetro seja configurado


de forma a não alterar a tabela de rotas
Windows: desativar ICMP redirects
(cont.)
• O parâmetro "EnableICMPRedirect" define se
a tabela de rotas do computador será alterada
toda vez que o mesmo receber pacotes do
tipo "ICMP Redirect”

• Convém que este parâmetro seja configurado


de forma a não alterar a tabela de rotas
Windows: desativar IRDP
• O protocolo IRDP ("ICMP Router Discovery
Protocol") vem habilitado por "default" nos
clientes Windows que utilizam DHCP

• Isto pode ser uma falha de segurança porque


as mensagens "IRPD Router Advertisements"
podem ser forjadas
Windows: desativar IRDP (cont.)
• O protocolo IRDP ("ICMP Router Discovery
Protocol") vem habilitado por "default" nos
clientes Windows que utilizam DHCP

• Isto pode ser uma falha de segurança porque


as mensagens "IRPD Router Advertisements"
podem ser forjadas
Windows: consulta à máscara
• O parâmetro "EnableAddrMaskReply" é
utilizado para retornar a máscara da sub-rede,
através de requisições realizadas usando
pacotes ICMP do tipo 17

• Atacantes podem enviar este tipo de pacote


para computadores de uma rede, a fim de
mapear a mesma e, assim, obter informações
para possíveis ataques
Windows: consulta à máscara
(cont.)
• O parâmetro "EnableAddrMaskReply" é
utilizado para retornar a máscara da sub-rede,
através de requisições realizadas usando
pacotes ICMP do tipo 17

• Atacantes podem enviar este tipo de pacote


para computadores de uma rede, a fim de
mapear a mesma e, assim, obter informações
para possíveis ataques
Windows: retransmissões máximas
• O parâmetro "TcpMaxDataRetransmissions"
determina o número de vezes que o protocolo
TCP retransmitirá um segmento de dados
individual antes de abortar a conexão

• Recomenda-se que este parâmetro seja


configurado com o valor "3", de forma a
retransmitir três vezes o segmento
Windows: retransmissões máximas
(cont.)
• O parâmetro "TcpMaxDataRetransmissions"
determina o número de vezes que o protocolo
TCP retransmitirá um segmento de dados
individual antes de abortar a conexão

• Recomenda-se que este parâmetro seja


configurado com o valor "3", de forma a
retransmitir três vezes o segmento
Windows: descartar fragmentos
• O parâmetro "EnableFragmentChecking" é
utilizado para realizar a checagem nos pacotes
recebidos através de uma rede. Este
parâmetro checa se o pacote está ou não
fragmentado. Estando fragmentado ele é
descartado.

• CUIDADO!!! 
Windows: descartar fragmentos
(cont.)
• O parâmetro "EnableFragmentChecking" é
utilizado para realizar a checagem nos pacotes
recebidos através de uma rede. Este
parâmetro checa se o pacote está ou não
fragmentado. Estando fragmentado ele é
descartado.

• CUIDADO!!! 
Windows: política de senhas
• O parâmetro "Enforce Password History"
determina o número de senhas diferentes que
devem ser utilizadas antes que o usuário
possa reaproveitar uma senha antiga

• Este parâmetro aceita valores entre "0" e "24"


Windows: política de senhas (2)
• O parâmetro "Maximum Password Age"
define o número de dias em que uma senha
pode ser utilizada até expirar

• Este parâmetro aceita um valor entre 1 e 999


(dias)
Windows: política de senhas (2)
Windows: política de senhas (3)
• O parâmetro "Minimum Password Age"
determina o número de dias que uma senha
deve ser utilizada até que possa ser trocada
pelo usuário

• Recomenda-se que a senha tenha no mínimo


1 dia de utilização, de forma a evitar que
usuários alterem repetidamente sua senha
com o objetivo de reutilizar uma senha antiga.
Windows: política de senhas (4)
• O parâmetro "Minimum password length"
determina o número mínimo de caracteres
que as senhas devem conter. Este parâmetro
aceita um valor entre 0 e 14

• ATENÇÃO!!!! Caso o mesmo seja configurado


com o valor 0, os usuários do computador não
serão obrigados a possuírem senhas
Windows: política de senhas (5)
• O parâmetro "Passwords must meet
complexity requirements" implementa o uso
de um "filtro" ("passfilt.dll") que impede que
os usuários escolham algumas combinações
de caracteres que resultariam em senhas de
má qualidade
INTERVALO 15min
TROCAR PARA WINDOWS
2012
Windows: logins malsucedidos (1)
• O parâmetro "Account lockout threshold"
determina o número de tentativas de logon
inválidas necessário para que a conta do
usuário seja bloqueada

• Este parâmetro aceita um valor entre 1 e 999


(quantidade de tentativas). Este parâmetro
deve ser compatível com a Política de
Segurança
Windows: logins malsucedidos (2)
• O parâmetro "Account lockout duration"
determina por quanto tempo uma conta
travada pelo mecanismo de bloqueio deve
permanecer bloqueada.

• Convém que, em ambientes genéricos, as


contas de usuário fiquem bloqueadas no
mínimo por 15 minutos. Este parâmetro aceita
um valor entre 1 e 99999 (minutos).
Windows: logins malsucedidos (3)
• O parâmetro "Reset account lockout counter
after" determina quantos minutos devem
passar antes que o contador de tentativas de
login inválidos seja retornado para zero

• Este parâmetro aceita um valor entre 1 e


99999 (minutos)
Windows: ativar cotas
• A criação de uma política de "quotas" de
espaço em disco para usuários ou grupos visa
evitar o consumo exagerado dos recursos de
disco do sistema, pois na falta de espaço
suficiente, algumas aplicações podem
apresentar erros ou até mesmo se tornarem
indisponíveis
Windows: auditoria do sistema
• Recomenda-se que a auditoria do sistema seja
habilitada, quando possível, pois os registros
ajudam a identificar potenciais problemas de
software e hardware, além de permitirem
identificar tentativas de acesso não autorizado
e outros eventos relevantes
Windows: volume dos logs (1)
• Definindo-se o tamanho máximo dos arquivos
de auditoria do Windows Server 2008
Member Server de forma correta, o risco de
haver o consumo excessivo de espaço em
disco é reduzido

• Logs muito grandes -> falta de espaço em


disco -> falhas de gravação -> perda de
rastreabilidade!!!
Windows: volume dos logs (2)
• O parâmetro "WarningLevel" é responsável
por definir um nível que, ao ser atingido, irá
gerar um registro na auditoria de segurança
("Security Log") do sistema

• O parâmetro "WarningLevel" é responsável


por definir um nível que, ao ser atingido, irá
gerar um registro na auditoria de segurança
("Security Log") do sistema
Windows: volume dos logs (2)
• O parâmetro "WarningLevel" é responsável
por definir um nível que, ao ser atingido, irá
gerar um registro na auditoria de segurança
("Security Log") do sistema

• O parâmetro "WarningLevel" é responsável


por definir um nível que, ao ser atingido, irá
gerar um registro na auditoria de segurança
("Security Log") do sistema
Windows: log de erros fatais
• A implementação deste controle garante que
um registro de segurança será gravado no
"log" do sistema para documentar que o
sistema foi reinicializado por motivos técnicos

• Isto permite que o administrador tome


conhecimento do problema e possa pesquisar
as causas do erro fatal
Windows: auditoria do registro (1)
• A chave da Registry "HKLM\Software" é
utilizada para armazenar as configurações dos
softwares instalados no computador.
Recomenda-se que os acessos a esta chave
sejam auditados

• Caso haja alguma atividade não autorizada ou


suspeita, poderão ser tomadas as atitudes
cabíveis
Windows: auditoria do registro (2)
• A chave da Registry "HKLM\System" é
utilizada para armazenar as configurações do
sistema. Recomenda-se que os acessos a esta
chave sejam auditados

• Caso haja alguma atividade não autorizada ou


suspeita, poderão ser tomadas as atitudes
cabíveis
Windows: auditoria do registro (2)
Windows: carregar código seguro
• O parâmetro "SafeDllSearchMode" define como
o Windows irá buscar por Dlls de um programa
quando o mesmo for executado. O Windows
possui dois tipos de busca por DLLs.
– O primeiro deles, procura as DLLs no diretório onde a
aplicação é executada e, posteriormente, no
diretório informado pelo "path" do sistema.
(DEFAULT)
– O segundo, procura, primeiramente, no "path" do
sistema e depois no diretório onde o programa está
sendo executado.
Windows: carregar código seguro
(cont.)
• O parâmetro "SafeDllSearchMode" define
como o Windows irá buscar por Dlls de um
programa quando o mesmo for executado. O
Windows possui dois tipos de busca por DLLs.
– O primeiro deles, procura as DLLs no diretório
onde a aplicação é executada e, posteriormente,
no diretório informado pelo "path" do sistema.
– O segundo, procura, primeiramente, no "path" do
sistema e depois no diretório onde o programa
está sendo executado.
GPO: acesso RPC
• O parâmetro "Restrictions for
Unauthenticated RPC clients" define se
clientes RPC poderão conectar-se a
computadores que estejam atuando como
servidores RPC sem a necessidade de realizar
autenticação
GPO: criptografia reversível
• O parâmetro "Store password using reversible
encryption" permite que as senhas dos
usuários sejam facilmente decriptografadas,
permitindo uma maior compatibilidade com
aplicações de terceiros

• Caso este parâmetro esteja habilitado, a


confidencialidade das informações dos
usuários pode ser comprometida
GPO: modo de recuperação
• O parâmetro "Recovery console: Allow floppy
copy and access to all drives and all folders"
permite habilitar o comando SET em modo
"Recovery Console", desta forma, permitindo a
configuração de variáveis do sistema, como:
– AllowWildCards: Habilita os caracteres curinga para
alguns comandos do sistema (como por exemplo o
comando DEL).
– AllowAllPaths: Habilita o acesso a todos os arquivos e
diretorios do computador.
– AllowRemovableMedia - Habilita a cópia de arquivos
para mídias removíveis (ex: pendrive).
GPO: drivers de impressora
• O parâmetro "Devices: Prevent users from
installing printer drivers" evita que usuários
comuns possam instalar "drivers" de
impressoras no sistema, que rodam no Kernel
em modo privilegiado

• Como boa prática de segurança, a instalação


de "drivers" deve ser restrita aos
administradores
GPO: smart cards
• O parâmetro "Interactive logon: Smart card
removal behavior" define como o sistema irá
se comportar no momento em que um
dispositivo do tipo "Smart Card" é removido
do computador

• Recomenda-se que sempre que o "Smart


card" for removido da leitora, o sistema seja
bloqueado ou a sessão do usuário, finalizada
GPO: senhas em texto claro
• Quando o parâmetro "Microsoft network
client: Send unencrypted password to third-
party SMB servers" for habilitado, o serviço
"Server Message Block (SMB) Redirector" vai
transmitir, pela rede, senhas em claro para
servidores SMB não-Microsoft
GPO: shutdown sem login
• O parâmetro "Shutdown: Allow system to be
shut down without having to log on"
determina se o computador poderá ser
desligado sem que o usuário primeiro tenha
que se autenticar no sistema

• Convém que o "shutdown" seja restrito aos


usuários administrativos
GPO: timeout SMB
• O parâmetro "Microsoft network server:
Amount of idle time required before
suspending session" determina a quantidade
de tempo de inatividade que deverá
transcorrer em uma sessão SMB

• Recomenda-se configurar este parâmetro com


o valor 15
GPO: autenticação LM/NTLM
• O parâmetro "Network security: LAN Manager
authentication level" configura o método de
autenticação do "Windows
Challenge/Response" utilizado para
determinar qual será o nível de proteção
utilizado nos "logons" feitos através da rede
– O protocolo "LM" permite senhas em texto claro
– Existem falhas de segurança encontradas no
protocolo "NTLM" que permitem que a senha seja
quebrada
GPO: User Rights Assignment (1)
• O parâmetro "Access this computer from the
network" determina quais usuários e grupos
têm permissão para se conectar ao
computador através da rede (para acessar
diretórios compartilhados, por exemplo)

• O grupo "Everyone" possui este direito por


"default", mas esta configuração é muito
permissiva
GPO: User Rights Assignment (2)
• A árvore de “User Rights Assignment” tem um
monte de outras políticas e controles
necessários para o hardening do ambiente

• A seguir listamos as atribuições apropriadas


para cada uma delas
GPO: cache de senhas do AD
• O parâmetro "Interactive logon: Number of
previous logons to cache (in case domain
controller is not available)" configura quantas
credenciais de usuário serão armazenadas no
"cache”

• Com o "cache" habilitado, mesmo que o


Administrador desabilite a conta do usuário
ainda é possível fazer "logon", desconectando o
cabo da rede
GPO: nome da conta Administrator
• O parâmetro "Accounts: Rename
administrator account" é utilizado para trocar
o nome associado com o "security identifier"
(SID) da conta "Administrator”

• Recomenda-se a troca do nome como forma


de dificultar ataques de “brute force”
GPO: nome da conta Guest
• O parâmetro "Rename guest account" é
utilizado para trocar o nome associado com o
"security identifier" (SID) da conta "Guest”

• Recomenda-se a troca do nome como forma


de dificultar ataques de “brute force”
GPO: Recovery Console
• O parâmetro "Recovery Console: Allow
automatic administrative logon", quando
habilitado, define que ao entrar em modo
"Recovery Console", o sistema
automaticamente fará o logon utilizando as
credenciais do usuário administrador

• Recomenda-se que este parâmetro seja


desabilitado
GPO: não gerar hashes LM
• O parâmetro "Network security: Do not store
LAN Manager hash value on next password
change" define se o sistema operacional irá
armazenar os "hashes" do tipo "LM" ("Lan
Manager") das senhas das contas dos usuários

• Recomenda-se que os "hashes" do tipo "LM"


não sejam armazenados, uma vez que os
mesmos são considerados fracos
GPO: enumeração de contas
• O parâmetro "Network Access: Do not allow
anonymous enumeration of SAM accounts"
define se o sistema permitirá o mapeamento
das contas de usuários do domínio, presentes
na SAM local do computador

• De posse destas informações, atacantes


poderão descobrir a conta do administrador e
outras contas sensíveis do sistema
GPO: logons locais
• O parâmetro "Allow log on locally" determina
quais usuários possuem direito de realizar
"logon" local no computador

• CUIDADO: Não aplicar essa configuração a


desktops sem pensar 4 vezes no assunto!!! 
GPO: salvar senhas TS
• O parâmetro "Do not allow passwords to be
saved" define se as credenciais dos usuários
utilizados para a conexão a outros
computadores, através do "Terminal Services
Client", serão armazenadas no computador

• Pode causar discussões acaloradas pela perda


da conveniência de salvar esse tipo de senha
Windows: reinício após erro fatal
• Caso o sistema não esteja configurado para
ser reiniciado automaticamente quando
ocorrer uma falha que o faça desligar, os
serviços e aplicações ficarão indisponíveis até
que o computador seja reiniciado
manualmente
Windows: arquivos de dump
• A geração de arquivos de DUMP da memória
pode ser útil na investigação de problemas
quando a máquina trava

• Entretanto, estes arquivos podem conter


informações confidenciais que estavam na
memória, como senhas de acesso a aplicações

Exemplo de um arquivo minidump
Exemplo de um arquivo minidump lido pelo
BlueScreenView: ==================================
Arquivo Dump : 062112-20654-01.dmp
Hora de criação : 21/06/2012 23:17:32
Canal de verificação de bugs: DRIVER_IRQL_NOT_LESS_OR_EQUAL
Codigo de verificação de bugs: 0x000000d1
Parametro 1 : 00000000`0058000b
Parametro 2 : 00000000`00000002
Parametro 3 : 00000000`00000001
Parametro 4 : fffff880`043c30a4
Causada pelo driver: dxgmms1.sys
Causada pelo enderesso: dxgmms1.sys+100a4
Descrição do arquivo:
Nome do produto :
Windows: proteção antispoof
• O parâmetro "QueryipMatching" define se o
computador, ao realizar uma consulta a um
servidor DNS, aceitará informações somente
daquele servidor que recebeu sua requisição

• Recomenda-se que o computador cliente só


aceite informações enviadas pelo servidor
DNS o qual recebeu a requisição
Windows: proteção antispoof
(cont.)
• O parâmetro "QueryipMatching" define se o
computador, ao realizar uma consulta a um
servidor DNS, aceitará informações somente
daquele servidor que recebeu sua requisição

• Recomenda-se que o computador cliente só


aceite informações enviadas pelo servidor
DNS o qual recebeu a requisição

Você também pode gostar