BufferZone
Sikker opsætning af IIS
Om
man skal vælge at anvende Windows NT/2000 med en Microsoft Internet
Information Server oven på eller eller en Linux server med en Apache
server installeret, er bestemt en interessant diskussion, der også kører
i forskellige fora på nettet. En ting er dog helt sikkert, ingen af
kombinationerne er sikre, hvis de er sat op forkert eller ikke
konfigureret rigtigt. Nedenstående artikel forsøger at give nogle bud
på hvad man som minimum bør gøre for at sikrer sin Microsoft Internet
Information server
Trin
1: Den Grundlæggende NT installation
For det første bør serveren sættes op som en stand alone server placeret
i sin sin egen workgroup. på denne måde undgår man at personer der får
adgang til serveren også får adgang til det domæne man ønsker at
sikrer. For det andet bør serveren kun anvendes som webserver og kun have
de mest nødvendige services kørende. undgå optional services og vær
meget kritisk med tredieparts add-ons.
Trin
2: Backup og Emergency Repair Disk kan rede meget arbejde
Da fin tuning af opsætningen kræver justering af user rights og
permissions samt editering af Windows NT Registry, bør man have styr på
både backup og up-to-date Emergency Repair Disk
(ERD). Husk på at fejlhåndtering af Registry kan medfører at serveren ikke en
gang kan bootes. Husk at opdatere både backup og ERD efterhånden som
konfigurationen skrider frem.
Trin
3: Installer seneste Service Pack(SP) og relevante Hotfixes
Alle systemer har bugs og fejl og nogle af disse bugs og fejl har stor
betydning for systemets sikkerhed. Faktisk er der sådan at de fleste hacker
indbrud sker ved brug af gammelkendte fejl. SP og Hotfixes indeholder normalt
rettelser af fejl, de fjerner bugs eller/og de forbedre funktionaliteten. Enhver
sikkerhedsansvarlig bør følge med i Microsofts udgivelser af SP og Hotfixes,
selvom man ikke kan regne med at Microsoft altid fortæller den fulde og hele
sandhed om hvad disse SP egentlig indeholder og retter.
Enkelte
administratorer siger i spøg, at enhver SP nok retter fejl, men samtidig
skaber nogle nye. Desværre har de nogle gange ret, man bør derfor ikke
installere en SP samme dag som den udkommer, men vente en uges tid og
derefter søge i relevante newsgroups, hvor problemer hurtigt vil vise
sig. Hvis man vil være helt sikker, installeres SP'en først i en
testinstallation, giver det ingen fejl kan man gå videre med
"produktions" serveren.
Husk
at læse dokumentationen for både SP og Hotfixes nøje, da bl.a. installations
rækkefølgen er meget væsentlig, husk også at SP og hotfixes ofte skal
geninstalleres efter ændringer eller nyinstalleringer af komponenter.
Hotfixes kan findes på adressen: ftp://ftp.microsoft.com/bussys/winnt/winnt-public/fixes
Trin 4: Sæt
password længde
Password til alle brugere med
administratorrettigheder bør Vælges med omhu, således at de giver
maksimal sikkerhed. Læs min artiker "Gode råd om valg af password"
Trin 5: Tillad network-only lockout for Administrator accounts
Normally,
the Administrator account cannot be locked out if an attacker attempts to guess
the password. However, a tool in the Windows NT Resource Kit called PASSPROP
supports this option. If you run the following command the Administrator account
will be locked out if an attacker attempts a brute force or dictionary attack
but the administrator can still logon locally at the server:
passprop /adminlockout
Trin
6: Sæt System
boot tid 0 sekunder.
Start Control Panel vælg System klik Startup/Shutdown
og sæt "Show list for" til 0
Trin
7: Vis en sikkerhedsrelateret besked før logon
De nedenstående ændringer til
registreringsdatabasen vil vise en dialogboks med en sikkerhedsrelateret
besked før logon.
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
\Microsoft\Windows
NT\Current Version\Winlogon
|
Name
|
LegalNoticeCaption
|
Type
|
REG_SZ
|
Value
|
Her
skrives titlen på denne dialogboks
|
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
Microsoft\Windows
NT\Current Version\Winlogon
|
Name
|
LegalNoticeText
|
Type
|
REG_SZ
|
Value
|
Her
skrives teksten i dialogboksen
|
Trin
8: NTFS File rettigheder og Directory Permissions
IIS serveren bør kun indeholde NTFS formaterede drev NTFS. NTFS giver
mulighed for at styre rettighederne på file og mappeniveau, og dette er
nødvendigt hvis man vil designe et mere sikkert system.
Rettighederne skal sættes på alle filer og mapper, de skal sættes
systematisk og omhyggeligt og de skal sættes på parent
mapperne før de sættes på undermapper.
Table 1 giver en liste over permissions der bør sættes. /winnt
directory.
Table 2
giver en liste over undtagelser til de generelle
permissions på /winnt mappen.
Da adskillige missions kritiske filer befinder sig på systempartisionens
rootbibliotek, bør de i Table 3
angivne permissions også sættes.
Tabel
1: Standard permissions på \WINNT mappen og
undermapper.
/WINNT
og alle undermapper
|
Administrators: Full Control Creator
Owner: Full Control Everyone: Read System: Full Control
|
Tabel 2: Undtagelserne fra standarten.
WINNT\REPAIR
|
Administrators: Full Control
|
\WINNT\SYSTEM32
\CONFIG
|
Administrators: Full Control
Creator Owner: Full Control
Everyone: List
System: Full Control
|
\WINNT\SYSTEM32
\SPOOL
|
Administrators: Full Control
Creator Owner: Full Control
Everyone: Read
Power Users: Change
System: Full Control
|
WINNT\COOKIES
|
Administrators: Full Control
|
\WINNT\FORMS
|
Creator
Owner: Full Control
|
\WINNT\HISTORY
|
Everyone:
Special Directory Access Read, Write and Execute Special File Access None
|
\WINNT\OCCACHE
|
\WINNT\PROFILES
|
System: Full Control
|
\WINNT\SENDTO
|
|
\WINNT\Temporary Internet Files
|
|
Tabel 3: Liste over Permissions for kritiske
Operativ System Filer.
\Boot.ini,
\Ntdetect.com, \Ntldr
|
Administrators: Full Control
System: Full Control
|
\Autoexec.bat,
\Config.sys
|
Everyone: Read
Administrators: Full Control
System: Full Control
|
\TEMP directory
|
Administrators: Full Control
System: Full Control
Creator Owner: Full Control
Everyone: Special Directory Access Read, Write and
Execute; Special File Access None
|
TABLE 4: Audit
disse Event Options.
Log
on/Log off
|
Tracks local and remote logons
|
File and Object Access
|
Logs file, directory, and printer access (files and folders must reside on an NTFS partition if you want to enable security
logging, then use NT Explorer to select auditing for the individual files and folders you
want tracked)
|
User and Group Management
|
Logs any created, changed, or deleted user accounts or groups; any renamed,
disabled, or enabled user accounts; and any set or changed passwords
|
Security Policy Changes
|
Logs changes to user rights or audit policies
|
Restart,
Shutdown, and System
|
Logs shutdowns and restarts of the local system and system-related events
|
Process Tracking
|
Logs program activation, handle duplication, indirect
object access, and process exits
|
TABLE 5:
Privilegier der hjælper med til at opdage Account Tampering
Bypass traverse checking
|
Everyone
|
Debug programs
|
Administrators
|
Create a token object
|
No one
|
Replace process level token
|
No one
|
Generate security audits
|
No one
|
Back up files and directories
|
Administrators and backup operators
|
Restore files and directories
|
Administrators and backup operators
|
Alle
disse permissions kan kontrolleres med Explorer eller med programmet CACLS
fra Microsoft Windows NT Server 4.0 Resource Kit. Der findes også
trediepartsværktøjer, f.eks. Somarsoft's DumpACL (kan hentes fra http://www.somarsoft.com
), disse bør dog altid anvendes med forsigtighed. Alle kritiske
permissions bør kontrolleres jævnligt.
Trin
9: Secure NT Services
Adskillige netværks services må betegnes som værende usikre i forbindelse
med åbne net som Internettet. Det er især vigtigt at overveje at
disable/disconnecte/
unbinde Serielle COM porte (dialup adapters) hvis der er brug for Remote Access Service
(RAS) for Internet eller inbound dial-up access. Hvis det kan lade sig gøre
bød disse tjenester ikke tilbydes, skal der være adgang for
eksterne brugere bør man anvnede Virtual Private Networking (VPN)
under brug af Point-to-Point Tunneling Protocol (PPTP).
Der
bør aldrig være forbindelse fra det interne net til det netkort, der har
forbindelse med Internettet, som minimum skal server bindings til dette
kort disables. Følgende standard services bør man undgå at bounde
til det netværkskort, der håndtere Internettet: Alerter, Clipbook Server, Dynamic Host
Configuration Protocol (DHCP), Windows Internet Naming Service (WINS), Directory
Replicator, Messenger, Network Dynamic Data Exchange (DDE), Network DDE DSDM,
Schedule, Simple Network Management Protocol (SNMP), og simple TCP/IP services.
Forsøg altid at undgå FTP service. Denne service sender brugernavn og
password i klart sprog over nettet.
Kort
sagt "anvend hellere for få services end for mange". Dette
kunne f.eks. være: Event logs, NT LAN Manager (NTLM) Security Support
Provider,
Remote Procedure Call (RPC) Service, og Web Service, netkortet installeret med
default services og WINS
clientens binding disablet.
Trin
10: Håndtering af Administrator og Guest Accounten
Beskyttelse af administrator accounten er en meget væsentlig ting, da en
hacker med denne account kan gøre megen skade. Det første man bør gøre er at
lave det, for den daglige administration nødvendige, antal kopier af den
indbyggede administrator accound. Herefter omdøbes denne, alle permissions og
rights fjernes og det længst mulige password med store og små bogstaver, tal
og specialtegn sættes. Grunden til dette er at selv om denne accound omdøbes,
har den det samme SID nummer på alle maskiner (defauld sat af Microsoft) så
gode hackervæektøjer kan finde den, selvom den hedder noget andet. Til sidst
kan man skabe en almindelig bruger-account ved navn Administrator, uden
permissions og rights og med et godt password, hermed har man givet hackerne et objekt
at arbejde med, der alligevel ikke vil fører nogle vegne og man får tid til at
identificere angrebet i logfilerne.
Guest
accounten skal disables. På et sikkert system kan gæster kun accepteres hvis
den ansvarlige administrator har styr på identiteten af alle brugere.
Trin
11: Activate Screen Savers
Windows NT screen-saver har en indbygget password funktion der betyder at
man skal kende passwordet for at kunne få adgang til maskinen, når
først screen-saveren er gået igang. Denne funktion bør man
anvende på alle maskiner i netværket, især servere. Servere bør
aldrig stå med en bruger logget på, især ikke når denne bruger
ofte har administratorrettigheder (hvem skulle ellers arbejde på
serveren). Brug altid den blanke screen-saver på servere, der ikke er
nogen grund til at bruge CPU kraft på en grafisk screen-saver på en maskine, der
alligevel er låst inde.
Trin
12: Slå automatisk generering af 8.3 navne fra
NTFS kan auto-generere 8.3 navne til brug for bagud kompartabilitet med 16-bit
applikationer. Dersom der ikke bør bruges 16-bit applikationer på en sikker
Web server, kan dette roligt slås fra, det giver også en performance
forbedring. Det gøres således:
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\FileSystem
|
Name
|
NtfsDisable8dot3NameCreation
|
Type
|
REG_DWORD
|
Value
|
1
|
Trin
13: Beskyttelse af Registreringsdatabasen
Alt konfigurations og initialisations data opbevares i NT
Registreringsdatabase. De
fleste processer skaber og modificere deres egne keys, og alle keys kan
modificeres med Registreringsdatabase editoren. Da det i NT's default
konfiguration er muligt at
modificere Registreringsdatabase fra en remote location, bør man gøre noget for at
begrænse denne adgang. Dette gøres ved at oprettes følgende registry
key:(Husk backup)
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\
SecurePipeServers
|
Name
|
winreg
|
De security permissions der sættes på denne key, definere hvilke brugere og
groups der har remote accesse til Registreringsdatabase. Som standart defineres
denne key ikke på NT Workstation ligesom der ikke er andre begrænsninger. NT Server
standart indstillinger tillader kun administratorgruppet at lave remote access
til Registreringsdatabase, man bør også dog fjerne denne tilladelse.
Trin
14: Sikring af Event Loggen.
Som standart tillader NT både guests og anonymous brugere at se System- og Applications Log. Security Loggen
er som standart skjult for guest mens den kan ses af brugere der har Manage Audit Logs user rights.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\EventLog\Log
Name
|
Name
|
RestrictGuestAccess
|
For at begrænse anonymous
og guest adgang skal key værdien for hver log sættes til 1. Husk at
serveren skal rebootes for at ændringerne virker. Husk også at sætte user access permissions
på denne nøgle, så kun administratorer kan ændre den tilbage
Trin 15: Begræns Anonymous Network Access til registreringsdatabasen
SP3 for NT 4.0 indeholde en sikkerhedspatch, der begrænsede anonymous (null session) logons der connecter til en
specifik named pipes.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Services\LanManServer\ Parameters
|
Name
|
NullSessionPipes (type
REG_MULTI_SZ)
|
Læs Microsoft's Support Online
artikle "Can No Longer Access the
Registry With Null Sessions"
(http://support.microsoft.com/support/kb/articles/q143/1/38.asp)
hvor alle detaljer om denne ændringer findes.
Step
16: Skjul brugernavnet på den sidste bruger, der var logget på maskinen
Som standart vil brugernavnet på den sidste bruger der var logget på
maskinen stå i brugernavnsfeltet på logon boksen. Dette er selvfølgelig meget
bekvent for den b ruger, der ofte logger på den samme maskine, men da
brugernavnet udgør 50 % af sikkerheden i et bruger/password system giver det
en lavere grad af sikkerhed.
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
\Microsoft\Windows
NT\Current Version\Winlogon
|
Name
|
DontDisplayLastUserName
|
Type
|
REG_SZ
|
Value
|
1
|
Step
17: Disable Caching Logon Credentials
Som default, cacher NT logon credentials fra den sidste bruger, der
var logget på. Dette betyder at en bruger kan logge på selvom systemet er disconnected
fra netværket eller domain controlleren ikke er til rådighed. Selvom serveren
stilles op i en separat workgroup bør dette gøres for at være helt sikker,
ligesom det bør foretages på alle workstations i domænet.
Credential cachen
er beskyttet men denne mujlighed skal disables hvis der ønskes høj grad
af sikkerhed.
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
\Microsoft\Win-dowsNT\CurrentVersion\Winlogon
|
Name
|
CachedLogonsCount
|
Type
|
REG_DWORD
|
Value
|
0
|
Trin 18. Fjern Shutdown knappen fra logon dialogboksen
Sær nedenstående værdier i
registreringsdatabsern for at fjerne shutdown optionen ved logon.
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
\Microsoft\Windows
NT\Current Version\Winlogon
|
Name
|
ShutdownWithoutLogon
|
Type
|
REG_SZ
|
Value
|
0
|
Trin
19: Begræns Anonymous Lookup
NT har en feature der tillader anonymous users at se domain usernames og count share
names. For at begrænse denne mulighed sæt følgende ændring i
registreringsdatabasen.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
CurrentControlSet\Control\LSA
|
Name
|
RestrictAnonymous
|
Type
|
REG_DWORD
|
Value
|
1
|
Trind
20 Fjernelse af OS/2 og POSIX
Fjern følgende subsystems i registreringsdatabasen
Hive
|
HKEY_LOCAL_MACHINE\SOFTWARE
|
Key
|
\Microsoft\OS/2
Subsystem for NT
|
Action
|
Delete
all sub keys
|
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\Session
Manager\Environment
|
Name
|
Os2LibPath
|
Action
|
Delete Os2LibPath key
|
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\Session
Manager\SubSystems
|
Action
|
Delete Optional, Posix and OS/2 keys
|
Herefter
fjernes \winnt\system32\os2 Mappen og alle undemapper. Serveren skal rebootes
før ændringerne virker.
Trin
21: Fjern standart Administrator og Net Shares (system shares)
Windows and DOS
viser ikke system og administrative shares, der ender på ($) . Denne metode kan
selvfølgelig bruges til at lave shares der ikke kan ses af den almindelige
bruger, men alle standart shares er kendte og kan bruges til at lave ulykker
med, disse bør derfor fjernes.
Default administrative shares
kan ikke fjernes ved at "unshare" dem og en sletning af dise shares
vil kun fjerne den til næste reboot. Hvis disse muligheder skal fjernes
permanent skal følgende ændringer sættes i registreringsdatabasen.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
CurrentControlSet\Services\LanmanServer\Parameters
|
Name
|
AutoShareServer
(server)
AutoShareWks
(workstation)
|
Type
|
REG_DWORD
|
Value
|
0
|
Trin
22: Gennemfør System Audits
Auditing er nødvendigt hvis man vil opdage de seriøse sikkerhedsbrud før
de udvikler sig til noget alvorligt. Følgende bør som minimum auditeres
-
failed logon forsøg
-
failed forsøg på access til sensitive data
- ændringer af security settings.
Man kan også auditere
-
succesfulle logons
- successful use of user rights
- user and group management
-
security policy
changes
-
system restart og shutdown
System auditering startes sådan:
-
Log on
som Administrator (med administratorrettigheder)
-
klik
Start, vælg Programs, Administrative Tools, User Manager.
-
Klik
Policies menu, og vælg Audit.
-
klik
Audit These Events.
-
Vælg
de options du ønsker at bruge. (Table 4 lister de
rådige optioner).
-
Klik OK
for at lukke dialog boksen.
-
File and directory auditing
skal sættes på de individuelle egenskaber (properties).
Step
23: Audit Base Objects
Auditing af base objects øger graden af beskyttelse fordi følsom object
access logges i event loggen. However, you can't start generating audits just
by setting this value; the administrator must turn on auditing for the Object
Access category in User Manager. This setting tells the Local Security Authority
(LSA) that it must create base objects with a default system audit control list.
To audit base system objects, use the AuditBaseObjects entry (type REG_DWORD and
data value of 1) in the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\
Lsa Registry key.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\Lsa
|
Name
|
AuditBaseObjects
|
Type
|
REG_DWORD
|
Value
|
1
|
Step
24: Audit Privileges
By default, the system includes certain privileges that you can't audit,
even when you turn on privilege auditing. NT leaves these privileges disabled to
control audit log growth. However, you can audit these privileges if you want to
detect account tampering. Table 5 lists these privileges and default
assignments. Auditing the first item in Table 5 won't provide you with any
useful information because it's a privilege granted to everyone. Regarding item
2, only programmers can debug programs. Item 3, item 4, and item 5 are highly
sensitive rights, and should not be granted to any user or group unless
absolutely necessary. Item 6 and item 7 are used during normal system
operations. To audit these privileges, you can use the FullPrivilegeAuditing
entry (type REG_BINARY and data value of 1) in the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\
Lsa Registry key.
Hive
|
HKEY_LOCAL_MACHINE\SYSTEM
|
Key
|
\CurrentControlSet\Control\Lsa
|
Name
|
FullPrivilegeAuditing
|
Type
|
REG_BINARY
|
Value
|
1
|
Step
25: Enable TCP/IP Filtering Security
As a final step to secure my system, I employed the built-in TCP/IP filter.
I shut down all ports except port 80 for the intrusion test, which made the task
quick and easy. If you're planning to use the TCP/IP filter and you have
FrontPage, PPTP, Simple Mail Transfer Protocol (SMTP), Post Office Protocol
(POP) mail, or other Internet services, you'll need to open the associated ports
so that those services can work correctly. To activate TCP/IP filtering, go to
Control Panel and open the Network applet. Select the Protocols tab and view the
TCP/IP protocol properties. Click Advanced on the IP Address tab, and select the
Enable Security check box. Click Configure, and select all three Permit Only
options (i.e., TCP ports, Internet Control Message Protocol--ICMP ports, and
User Datagram Protocol--UDP ports). This selection will activate filtering for
all three packet types. Click Add under TCP ports, and add port 80 for the Web
server. Open any other ports you need to open.
When you enable ICMP and UDP ports (by selecting the Permit Only options)
without adding ports, NT will not accept any of these packet types, effectively
blocking almost all system traffic. (The system will still respond to ping
packets.)
Some Sound Advice
Most of the modifications I made to my system addressed network access.
However, you can modify your system further to strengthen overall security. For
instance, you can employ system keys that are part of SP3, or use two or more
network cards (one for internal private use and one for Internet public use) and
bind only certain services to the internal private cards to ease administration.
Most important, you must consistently monitor event logs and clear or save them.
Thus, you need to set an acceptable log size and keep sufficient log records so
that no logs roll off before you inspect them.
To adjust your log properties, open Event Viewer and select Log Settings
from the Log menu. A dialog box in which you can make your adjustments will pop up.
If you want to examine the list of security issues that have surfaced with NT and other BackOffice products over the last year or so, or learn more about NT security, visit my Web sites at http://www.ntsecurity.net and http://www.ntshop.net.
On my installation, I used the built-in TCP/IP filtering security to
disable all ports except port 80 so a tool like RedButton couldn't contact the
NT system. I also used a shortcut to obscure the Administrator account. This
shortcut can work for you if you're certain you won't expose non-Internet
service ports (e.g., port 137, port 138, and port 139 for NetBIOS) in the
future.
Trin 26 Firewall beskyttelse
Trin
27 fysisk sikkerhed
informationerne
i denne artikel stammer fra flere forskellige kilder, f.eks. bogen Internet Security with Windows NT (Duke Press at
http://www.dukepress.com),
Microsoft Technet (http://www.microsoft.com/technet/security)
og artikler i forskellige magasiner.
Læs også disse serier
Søgemaskineoptimering
Søgemaskinepositionering
Webpromotion
IT sikkerhed
Hacking
|
|