Windows NT 4.0 Security Best Practices Guide
Introduction
Security is paramount for Windows NT Server 4.0 systems. Despite being legacy, these systems may still handle critical functions. This guide provides comprehensive security hardening procedures, policies, and ongoing maintenance practices.
Security Assessment
Initial Security Audit
Before implementing changes, assess current security:
- Document Current State
- Installed services
- User accounts and groups
- Share permissions
- Running processes
-
Open ports
-
Identify Vulnerabilities
- Missing service packs
- Weak passwords
- Unnecessary services
- Excessive permissions
-
Unpatched vulnerabilities
-
Risk Assessment ``` Critical Systems:
- Domain Controllers
- File Servers
- Application Servers
Risk Factors: - Internet exposure - Sensitive data - Business impact ```
Physical Security
Server Room Security
- Access Control
- Locked server room
- Access logs
- Security cameras
-
Visitor escorts
-
Environmental Protection
- Temperature monitoring
- UPS systems
- Fire suppression
-
Water detection
-
Hardware Security
- Lock server cases
- Disable floppy/CD boot
- BIOS passwords
- Remove unnecessary peripherals
Installation Security
Secure Installation Process
- Clean Installation
- Format drives completely
- Install from trusted media
- Disconnect from network
-
Apply service packs immediately
-
Partition Strategy
C:\ - Operating System (2 GB) D:\ - Applications (varies) E:\ - Data (remaining space) F:\ - Logs and Temp (2 GB)
-
File System
- Always use NTFS
- Never use FAT16
- Convert existing FAT volumes
Post-Installation Hardening
- Immediate Actions
- Install Service Pack 6a
- Change Administrator password
- Rename Administrator account
-
Disable Guest account
-
Remove Unnecessary Components ``` Control Panel → Add/Remove Programs Remove:
- Games
- Multimedia files
- Sample applications
- Unused network services ```
Account Security
Password Policies
- Configure Strong Policies ``` User Manager → Policies → Account
Password Restrictions: - Minimum Password Length: 8 characters - Maximum Password Age: 42 days - Minimum Password Age: 2 days - Password Uniqueness: 12 passwords - Account lockout: 3 attempts - Reset count: 30 minutes - Lockout Duration: 30 minutes ```
- Password Complexity
Not enforced by default. Use PASSFILT.DLL:
Copy PASSFILT.DLL to System32 Registry: Add Passfilt to Notification Packages Requires: 3 of 4 character types
Account Management
- Administrator Account ```
- Rename to non-obvious name
- Create decoy "Administrator" (disabled)
- Use only for administration
-
Log all usage ```
-
Service Accounts
Naming: svc_servicename Permissions: Minimum required Password: Complex, documented Rights: Log on as service only
-
User Account Best Practices
- Individual accounts only
- No shared accounts
- Regular access reviews
- Disable vs. delete initially
- Document all accounts
User Rights
Configure via User Manager → Policies → User Rights:
Critical Rights to Restrict:
Access this computer from network:
- Authenticated Users (not Everyone)
Log on locally (servers):
- Administrators only
Shut down the system:
- Administrators only
Take ownership of files:
- Administrators only
Debug programs:
- No one (remove all)
Replace a process level token:
- No one
Network Security
Protocol Security
- Disable Unnecessary Protocols ``` Network → Bindings Disable:
- NetBEUI (if not required)
- IPX/SPX (if not required)
-
DLC (rarely needed) ```
-
TCP/IP Hardening ``` Registry: HKLM\System\CurrentControlSet\Services\Tcpip\Parameters
SynAttackProtect = 2 TcpMaxConnectResponseRetransmissions = 2 TcpMaxDataRetransmissions = 3 EnableDeadGWDetect = 0 EnablePMTUDiscovery = 0 KeepAliveTime = 300000 ```
- NetBIOS Security
Unbind from external interfaces: Network → Bindings → NetBIOS Disable on Internet-facing NICs
Port Security
- Identify Open Ports ``` netstat -an
Common NT Ports: 135 - RPC Endpoint Mapper 137 - NetBIOS Name Service 138 - NetBIOS Datagram 139 - NetBIOS Session 445 - SMB (SP3+) ```
- Firewall Rules External firewall recommended: ``` Block all except required:
- 80/443 for web servers
- 25 for mail servers
- Specific application ports ```
IPSec Configuration
Basic IPSec (limited in NT 4.0):
Install: Network → Protocols → Add → IPSec
Configure policies for sensitive traffic
Requires compatible endpoints
File System Security
NTFS Permissions
- System Directories ``` C:\WINNT
- Administrators: Full Control
- SYSTEM: Full Control
- Users: Read & Execute
C:\WINNT\System32 - Administrators: Full Control - SYSTEM: Full Control - Users: Read & Execute - Everyone: (Remove) ```
- Critical Files ``` Remove Everyone group from:
- AUTOEXEC.BAT
- CONFIG.SYS
- Registry files
-
Event logs ```
-
Application Directories ``` Program directories:
- Administrators: Full Control
- Users: Read & Execute
- Modify only where required ```
Share Security
-
Remove Default Shares
Registry: HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters AutoShareServer = 0 (disables C$, D$, etc.)
-
Share Permissions ``` Best Practice:
- Share: Everyone - Full Control
- NTFS: Implement actual security
- Hidden shares for administration ```
Auditing Configuration
- Enable Auditing ``` User Manager → Policies → Audit
[X] Audit These Events:
Logon and Logoff: [X] Success [X] Failure
File and Object Access: [ ] Success [X] Failure
Use of User Rights: [ ] Success [X] Failure
User and Group Management: [X] Success [X] Failure
Security Policy Changes: [X] Success [X] Failure
Restart, Shutdown, System: [X] Success [X] Failure ```
- File/Folder Auditing ``` For sensitive data: Properties → Security → Auditing Add Everyone:
- Read: Success, Failure
- Write: Success, Failure
- Delete: Success, Failure ```
Service Security
Unnecessary Services
Disable these services if not required:
Services to Consider Disabling:
- Alerter
- ClipBook Server
- Computer Browser (on non-browse masters)
- Messenger
- NetMeeting Remote Desktop Sharing
- Remote Access Service (if not used)
- Remote Registry Service
- Routing and Remote Access
- Schedule (if AT not used)
- SNMP Service
- Telephony Service
Service Configuration
- Service Accounts ``` Change from LocalSystem where possible:
- Create dedicated service accounts
- Grant minimum required rights
-
Use different accounts per service ```
-
Service Dependencies
Document all dependencies Test changes thoroughly Monitor after modifications
Registry Security
Registry Permissions
- Secure Registry Keys ``` REGEDT32 → Security → Permissions
HKEY_LOCAL_MACHINE\SOFTWARE - Administrators: Full Control - SYSTEM: Full Control - Users: Read
HKEY_LOCAL_MACHINE\SYSTEM - Administrators: Full Control - SYSTEM: Full Control - Users: Read ```
- Protect SAM ``` HKEY_LOCAL_MACHINE\SAM
- Administrators: Full Control only
- Remove all others ```
Registry Auditing
Enable for critical keys:
Security → Auditing
Add Everyone:
- Query Value: Failure
- Set Value: Success, Failure
- Delete: Success, Failure
Application Security
IIS Security (if installed)
-
Remove Sample Applications
Delete: C:\InetPub\iissamples C:\InetPub\AdminScripts MSADC virtual directory
-
Secure Configuration
- Use NTFS permissions
- Disable directory browsing
- Remove unused ISAPI mappings
- Enable logging
SQL Server Security (if installed)
- Authentication Mode
- Use Windows Authentication
- Avoid SQL authentication
-
Complex SA password if required
-
Network Libraries
- Disable unused protocols
- Use encryption where possible
Patch Management
Service Pack Installation
-
Current Service Pack
Always install SP6a Post-SP6a hotfixes as required Re-apply after system changes
-
Testing Process
- Test in lab environment
- Verify application compatibility
- Schedule maintenance window
- Have rollback plan
Security Hotfixes
Critical post-SP6a updates: - Security Rollup Package - IIS cumulative patches - RPC vulnerability patches - Print spooler updates
Monitoring and Detection
Event Log Management
- Configure Log Settings ``` Event Viewer → Log → Settings
Maximum Log Size: 10240 KB Event Log Wrapping: [ ] Overwrite as needed [X] Overwrite events older than 30 days [ ] Do not overwrite ```
- Critical Events to Monitor ``` Security Log:
- 529: Logon failure (bad password)
- 534: Logon failure (account disabled)
- 539: Logon failure (account locked)
- 624: User account created
- 642: User account changed
System Log: - 7000: Service failed to start - 7031: Service terminated unexpectedly ```
Performance Monitoring
Security-related counters:
Server object:
- Errors Access Permissions
- Errors Granted Access
- Errors Logon
Security System-Wide Statistics:
- NTLM Authentications
- Kerberos Authentications (N/A in NT4)
- Digest Authentications
Incident Response
Preparation
- Response Plan
- Contact information
- Escalation procedures
- Recovery priorities
-
Communication plan
-
Tools and Resources
- Incident response kit
- Clean boot media
- Backup restoration procedures
- Forensic tools
Detection and Analysis
- Indicators of Compromise
- Unexpected processes
- Unknown user accounts
- Modified system files
- Unusual network traffic
-
Event log gaps
-
Initial Response
- Document everything
- Preserve evidence
- Isolate if necessary
- Begin investigation
Backup and Recovery
Backup Security
- Backup Strategy ``` Include:
- System State
- Registry
- User data
- Application data
- Event logs
-
Security databases ```
-
Secure Backup Storage
- Offsite storage
- Encrypted if possible
- Access control
- Regular testing
Emergency Repair Disk
- Create ERD
RDISK /S (includes SAM) Store securely Update after changes Test restoration
Security Checklist
Daily Tasks
- [ ] Review Security event log
- [ ] Check failed logon attempts
- [ ] Monitor system resources
- [ ] Verify backup completion
Weekly Tasks
- [ ] Review all event logs
- [ ] Check user account changes
- [ ] Analyze performance data
- [ ] Test critical services
Monthly Tasks
- [ ] Review user permissions
- [ ] Audit share access
- [ ] Check for new patches
- [ ] Update documentation
- [ ] Security awareness training
Quarterly Tasks
- [ ] Full security audit
- [ ] Penetration testing
- [ ] Disaster recovery drill
- [ ] Policy review and update
Conclusion
Securing Windows NT Server 4.0 requires continuous effort and vigilance. While the platform lacks modern security features, proper configuration and monitoring can significantly reduce risks. Regular updates, strong policies, and proactive monitoring are essential. Consider migration to supported platforms for systems requiring high security. Document all configurations and maintain current backups to ensure quick recovery from security incidents.