Seguridad avanzada en Windows: guía de comandos Netsh y gestión de contraseñas
La securización de los sistemas Windows es un aspecto crucial de la ciberseguridad. Esta guía explora las técnicas avanzadas de configuración y protección.
1. Configuración del firewall con Netsh
Configuración básica
# Activación del firewall
netsh advfirewall set allprofiles state on
# Configuración de los perfiles
netsh advfirewall set allprofiles firewallpolicy blockinbound,allowoutbound
# Configuración de las notificaciones
netsh advfirewall set allprofiles notifications on
Reglas avanzadas
# Creación de una regla para un servicio específico
netsh advfirewall firewall add rule name="Allow RDP" dir=in action=allow protocol=TCP localport=3389
# Regla para bloquear una dirección IP
netsh advfirewall firewall add rule name="Block Malicious IP" dir=in action=block remoteip=192.168.1.100
# Regla para un programa específico
netsh advfirewall firewall add rule name="Allow Chrome" dir=out action=allow program="C:\Program Files\Google\Chrome\Application\chrome.exe"
2. Gestión de contraseñas
Política de contraseñas
# Configuración de la política de contraseñas
net accounts /minpwlen:12 /maxpwage:90 /minpwage:1 /uniquepw:24
# Activación de la complejidad de las contraseñas
secedit /configure /cfg C:\Windows\Security\templates\secsetup.inf /areas SECURITYPOLICY
Gestión de cuentas
# Creación de una cuenta con contraseña compleja
$password = ConvertTo-SecureString "P@ssw0rd123!" -AsPlainText -Force
New-LocalUser -Name "User1" -Password $password -PasswordNeverExpires $false
# Modificación de la contraseña
Set-LocalUser -Name "User1" -Password $password
3. Securización de la red
Configuración de IPsec
# Creación de una política IPsec
netsh ipsec static add policy name="SecurePolicy" description="Politique sécurisée"
# Adición de una regla de filtrado
netsh ipsec static add filterlist name="SecureList"
netsh ipsec static add filter filterlist="SecureList" srcaddr=any dstaddr=any protocol=TCP srcport=0 dstport=0
# Configuración de la acción de seguridad
netsh ipsec static add filteraction name="SecureAction" qmsecmethods=esp:sha1+3des
Configuración del DNS
# Configuración DNS segura
netsh interface ipv4 set dns name="Ethernet" static 8.8.8.8
netsh interface ipv4 add dns name="Ethernet" 8.8.4.4 index=2
# Activación de DNSSEC
netsh interface ipv4 set dnssec name="Ethernet" enable
4. Securización de los servicios
Gestión de servicios
# Desactivación de los servicios no esenciales
sc config RemoteRegistry start= disabled
sc config Telnet start= disabled
sc config TFTP start= disabled
# Configuración de los permisos
sc sdset RemoteRegistry D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)
Configuración de los puertos
# Bloqueo de los puertos no utilizados
netsh advfirewall firewall add rule name="Block Port 445" dir=in action=block protocol=TCP localport=445
netsh advfirewall firewall add rule name="Block Port 3389" dir=in action=block protocol=TCP localport=3389
5. Auditoría y monitorización
Configuración de la auditoría
# Activación de la auditoría de eventos
auditpol /set /category:"Account Logon" /success:enable /failure:enable
auditpol /set /category:"Logon Events" /success:enable /failure:enable
auditpol /set /category:"Object Access" /success:enable /failure:enable
# Configuración de los logs
wevtutil sl Security /maxsize:4294967296 /retention:true
Monitorización de eventos
# Creación de una tarea de monitorización
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-File C:\Scripts\MonitorEvents.ps1"
$trigger = New-ScheduledTaskTrigger -Daily -At 9AM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Security Monitoring"
6. Scripts de seguridad
Verificación de seguridad
# Script de verificación de seguridad
function Test-SecuritySettings {
# Verificación del firewall
$firewall = Get-NetFirewallProfile
Write-Host "État du pare-feu:"
$firewall | Format-Table Name, Enabled
# Verificación de los servicios
$services = Get-Service | Where-Object {$_.Status -eq "Running"}
Write-Host "Services en cours d'exécution:"
$services | Format-Table Name, Status
# Verificación de los puertos abiertos
$ports = netstat -an | findstr "LISTENING"
Write-Host "Ports en écoute:"
$ports
}
Mantenimiento de seguridad
# Script de mantenimiento
function Update-SecuritySettings {
# Actualización de las reglas del firewall
netsh advfirewall firewall delete rule name=all
netsh advfirewall firewall add rule name="Allow RDP" dir=in action=allow protocol=TCP localport=3389
# Verificación de las cuentas
$accounts = Get-LocalUser | Where-Object {$_.Enabled -eq $true}
foreach ($account in $accounts) {
if ($account.PasswordRequired -eq $false) {
Set-LocalUser -Name $account.Name -PasswordRequired $true
}
}
}
7. Buenas prácticas
Configuración del sistema
# Desactivación de las funcionalidades no esenciales
Disable-WindowsOptionalFeature -Online -FeatureName "Windows Media Player"
Disable-WindowsOptionalFeature -Online -FeatureName "Internet Explorer"
# Configuración de la política de seguridad
secedit /configure /cfg C:\Windows\Security\templates\secsetup.inf /areas SECURITYPOLICY
Gestión de las actualizaciones
# Configuración de Windows Update
Set-ItemProperty -Path "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\WindowsUpdate\Auto Update" -Name "AUOptions" -Value 4
# Planificación de las actualizaciones
$action = New-ScheduledTaskAction -Execute "wuauclt.exe" -Argument "/detectnow"
$trigger = New-ScheduledTaskTrigger -Weekly -DaysOfWeek Sunday -At 3AM
Register-ScheduledTask -Action $action -Trigger $trigger -TaskName "Windows Update"
Conclusión
La securización de Windows requiere:
- Una configuración adecuada del firewall
- Una gestión estricta de las contraseñas
- Una vigilancia constante
- Actualizaciones periódicas
- Una documentación precisa
Puntos clave que recordar:
- Utilizar contraseñas complejas
- Mantener el firewall activo
- Supervisar los eventos de seguridad
- Realizar auditorías periódicas
- Seguir las buenas prácticas de seguridad
Acerca de InSkillCoach
Experto en formación y tecnologías
Coach especializado en tecnologías avanzadas e IA, impulsado por GNeurone Inc.
Certificaciones:
- AWS Certified Solutions Architect – Professional
- Certificaciones de Google Cloud
- Microsoft Certified: DevOps Engineer Expert
- Certified Kubernetes Administrator (CKA)
- CompTIA Security+
928
129
Comentarios
Los comentarios funcionan con GitHub Discussions
Inicia sesión con GitHub para participar en la discusión