IIS veebiserveri turvamine: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Leelmik (talk | contribs)
Leelmik (talk | contribs)
No edit summary
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
Lembit Elmik AK21
Lembit Elmik AK21


Täiendamisel!!!


==Server==
==Server==


Nagu kõigi teiste, nii algab ka IIS serveri turvamine eelkõige serverist endast. See tähendab, et esimese asjana peab server ise turvaline olema. Peale seda alles on mõtet tegeleda serveril jooksva teenuse turvamisega. Seega enne IIS rolli installeerimist serverile tuleks kindlasti uuendada süsteem ning paigaldada turvapaigad.
Samuti kui kõigi teiste, nii algab ka IIS serveri turvamine eelkõige serverist endast. See tähendab, et esimese asjana peab server ise turvaline olema. Peale seda alles on mõtet tegeleda serveril jooksva teenuse turvamisega. Seega enne IIS rolli installeerimist serverile tuleks kindlasti uuendada süsteem ning paigaldada turvapaigad.
 
Samuti tuleks kasutada korralikku tulemüüri. Windows Serveril on selleks Windows Firewall and Advanced Security. Täpsemalt saab lugeda siit: http://technet.microsoft.com/en-us/library/cc732283%28WS.10%29.aspx


Mida väiksem kogus funktsionaalsust, seda väiksem "pind" sissemurdmiseks. Silmas tuleks siiski pidada, et paigaldada tuleks nii palju kui vaja ning nii vähe kui võimalik. Seda nõuannet rakendades peaks kindlasti serveri installeerimisel mõtlema, kas on üldse enamat Server Core'st vaja. Server core puhul installeeritakse ainult minimaalne hulk komponente, mis on vajalikud kindla rolli tarbeks. See töötab küll väiksema "ründapinna" eesmärgi nimel. Kuid tegelikult on oluline ka see, et nii hoitakse kokku näiteks kettamahte, administreerimise ning halduse tegevusi.
Mida väiksem kogus funktsionaalsust, seda väiksem "pind" sissemurdmiseks. Silmas tuleks siiski pidada, et paigaldada tuleks nii palju kui vaja ning nii vähe kui võimalik. Seda nõuannet rakendades peaks kindlasti serveri installeerimisel mõtlema, kas on üldse enamat Server Core'st vaja. Server core puhul installeeritakse ainult minimaalne hulk komponente, mis on vajalikud kindla rolli tarbeks. See töötab küll väiksema "ründapinna" eesmärgi nimel. Kuid tegelikult on oluline ka see, et nii hoitakse kokku näiteks kettamahte, administreerimise ning halduse tegevusi.
Line 11: Line 12:
Server Core paigaldusega Windows Server 2008 toetab näiteks DNS, faili ja veebiserveri rolle. Täpsema nimekirja saad lingilt http://go.microsoft.com/fwlink/?LinkId=99832.
Server Core paigaldusega Windows Server 2008 toetab näiteks DNS, faili ja veebiserveri rolle. Täpsema nimekirja saad lingilt http://go.microsoft.com/fwlink/?LinkId=99832.


Server Core installatsion ei sisalda siiski GUI'd ehk graafilist kasutajaliidest. Seega kogu seadistamine toimub käsurea vahendite abiga. Puudub ASP.NET ja .NET raamistik. Seega ei ole võimalik kasutada PowerShell skripte ja loomulikult ei toimi rakendused, mis neid raamistikke kasutama peaksid.
Server Core installatsion ei sisalda siiski GUI'd ehk graafilist kasutajaliidest. Seega kogu seadistamine toimub käsurea vahendite abiga. Puudub ASP.NET ja .NET raamistik. Seega ei ole võimalik kasutada PowerShell skripte ja loomulikult ei toimi rakendused, mis neid raamistikke kasutavad.


==IIS==
==IIS==
Line 21: Line 22:
Kui pole vaja avalikku juurdepääsu veebile võib seadistada Windowsi autentimist nii, et juurdepääs on tagatud vaid volitatud isikutel. Autentimine on võimalik siduda nii Windowsi enda kui ka Active Directory teenusega. Sel juhul kõik kasutajad, kes soovivad veebi sisu näha, peabad ennast kõigepealt autentima veebiserveri või AD kaudu.
Kui pole vaja avalikku juurdepääsu veebile võib seadistada Windowsi autentimist nii, et juurdepääs on tagatud vaid volitatud isikutel. Autentimine on võimalik siduda nii Windowsi enda kui ka Active Directory teenusega. Sel juhul kõik kasutajad, kes soovivad veebi sisu näha, peabad ennast kõigepealt autentima veebiserveri või AD kaudu.


* Windows Authentication installeerimiseks mine Start > Server Manager, laienda "Roles" valikut ja klõpsa "WebServer (IIS)". Paremas akna pooles klõpsa "Add role Services".
* Windows Authentication installeerimiseks mine '''Start''' > '''Server Manager''', laienda '''Roles''' valikut ja klõpsa '''WebServer (IIS)'''. Paremas akna pooles klõpsa '''Add role Services'''.
[[File:W2008instauthrole.jpg|border|caption]]
[[File:W2008instauthrole.jpg|border|Autentimise installeerimine]]
* "Add Role Services" viisardis vali "Windows Authentication" ja klõpsa Next > Install > Close.
* '''Add Role Services''' viisardis vali '''Windows Authentication''' ja klõpsa '''Next''' > '''Install''' > '''Close'''.
[[File:W2008instauthrole2.jpg|border|caption]]
[[File:W2008instauthrole2.jpg|border|Autentimise installeerimine]]
* Et lubada Windowsi autentimine, ava Internet Information Services (IIS) Manager. Connections paanil klõpsa serveri nimel ja seejärel Home paanil tee topeltklõps Authentication peal.
* Et lubada Windowsi autentimine, ava '''Internet Information Services (IIS) Manager'''. '''Connections''' paanil klõpsa serveri nimel ja seejärel '''Home''' paanil tee topeltklõps '''Authentication''' peal.
[[File:W2008instauthrole3.jpg|border|caption]]
[[File:W2008instauthrole3.jpg|border|Autentimise installeerimine]]
* Authentication paneelis vali Windows Authentication ja luba see valides paremalt Enable. Anonüümse ligipääsu keelamiseks klõpsa Anonymous Authentication ning paremalt Disable.
* '''Authentication''' paneelis vali '''Windows Authentication''' ja luba see valides paremalt '''Enable'''. Anonüümse ligipääsu keelamiseks klõpsa '''Anonymous Authentication''' ning paremalt '''Disable'''.
[[File:W2008instauthrole4.jpg|border|caption]]
[[File:W2008instauthrole4.jpg|border|Autentimise installeerimine]]


==Konkreetse hostinimega sidumine==
==Konkreetse hostinimega sidumine==
Line 40: Line 41:
Siiski saab tõesti säherdune uss saata päringuid ja saada vastused, kuid sel juhul peab see olema juba keerulisema ehituse ja tarkusega. Konkreetse hostinimega teenuse sidumine ei tee veel serverit täiesti turvalist kasti, kuid raskendab selle ründamist.
Siiski saab tõesti säherdune uss saata päringuid ja saada vastused, kuid sel juhul peab see olema juba keerulisema ehituse ja tarkusega. Konkreetse hostinimega teenuse sidumine ei tee veel serverit täiesti turvalist kasti, kuid raskendab selle ründamist.


* Ava IIS Manager ja vali veebiserveri nimi. Saitide all tee parem-klõps soovitud veebilehel ning vali Edit Bindings.
* Ava '''IIS Manager''' ja vali veebiserveri nimi. Saitide all tee parem-klõps soovitud veebilehel ning vali '''Edit Bindings'''.
[[File:W2008iisubind1.jpg|border|caption]]
[[File:W2008iisubind1.jpg|border|Unikaalne sidumine]]
* Edit Site Binding dialoogi aknas vali tüüpide nimekirjast http ning klõpsa Edit peal. Vali sellele lehele vajalik IP aadress ning kirjuta sobiv hosti nimi.
* '''Edit Site Binding''' dialoogi aknas vali tüüpide nimekirjast '''HTTP''' ning klõpsa '''Edit''' peal. Vali sellele lehele vajalik IP aadress ning kirjuta sobiv hosti nimi.
[[File:W2008iisubind2.jpg|border|caption]]
[[File:W2008iisubind2.jpg|border|Unikaalne sidumine]]


Selle tegevusega saab siis kaitsta serverit raskendades rünnakute läbiviimist.
Selle tegevusega saab siis kaitsta serverit raskendades rünnakute läbiviimist.
Line 53: Line 54:
Käesolevas juhendis tuleb juttu enda signeeritud SSL sertifikaadi loomisest.
Käesolevas juhendis tuleb juttu enda signeeritud SSL sertifikaadi loomisest.


* Ava Internet Information Services Manager.
* Ava '''Internet Information Services Manager'''.
* Klõpsa hiirega oma masinal Connections puus ja siis topelt-klõps Server Certificates valikul.
* Klõpsa hiirega oma masinal '''Connections''' puus ja siis topelt-klõps '''Server Certificates''' valikul.
[[File:W2008SSSSL.jpeg|border|caption|300px]]
[[File:W2008SSSSL.jpeg|border|Self-Signed SSL|300px]]
* Vali Actions paneelilt Create Self-Signed Certificate.
* Vali '''Actions''' paneelilt '''Create Self-Signed Certificate'''.
[[File:W2008SSSSL2.jpeg|border|caption|300px]]
[[File:W2008SSSSL2.jpeg|border|Self-Signed SSL|300px]]
* Sisesta oma serticikaadi nimi nong klõpsa peale seda OK.
* Sisesta oma sertifikaadi nimi ning klõpsa peale seda '''OK'''.
[[File:W2008SSSSL3.jpeg|border|caption|300px]]
[[File:W2008SSSSL3.jpeg|border|Self-Signed SSL|300px]]


Ongi kogu lugu. Omatehtud sertifikaat ongi loodud. Loomulikult korraliku ning tõsiseltvõetava sertifikaadi jaoks on tarvis siiski mõne Certification Authority poolt tunnustatud sertifikaati. Täpsema informatsiooni jaoks võib alustada näiteks siit: http://msdn.microsoft.com/en-us/library/bb540797(VS.85).aspx
Ongi kogu lugu. Omatehtud sertifikaat ongi loodud. Loomulikult korraliku ning tõsiseltvõetava sertifikaadi jaoks on tarvis siiski mõne Certification Authority poolt tunnustatud sertifikaati. Täpsema informatsiooni hankimisega võib alustada näiteks siit: http://msdn.microsoft.com/en-us/library/bb540797(VS.85).aspx


==FTP==
==FTP==
Line 70: Line 71:
Nüüd loome FTP teenuse, mis kasutab seda sama enda loodud SSL sertifikaati.
Nüüd loome FTP teenuse, mis kasutab seda sama enda loodud SSL sertifikaati.


* Mine IIS Manageri. Connections paneelilt vali Sites.
* Mine '''IIS Manageri'''. '''Connections''' paneelilt vali '''Sites'''.
* Tee seal parem klõps Sites peal ning vali hüpikmenüüst Add FTP Site. Teine võimalus selleks on Actions paneelilt valida Add FTP Site.
* Tee seal parem-klõps '''Sites''' peal ning vali hüpikmenüüst '''Add FTP Site'''. Teine võimalus selleks on '''Actions''' paneelilt valida '''Add FTP Site'''.
[[File:W2008SSftp.jpeg|border|caption|300px]]
[[File:W2008SSftp.jpeg|border|SSL FTP|300px]]
* avanenud Add FTP Site viisardis sisesta kõigepealt nimi. Näiteks Minu FTP. Ja siis tuleb kindlasti määrata FTP kausta asukoht kettal (%SystemDrive%\inetpub\ftproot)
* avanenud '''Add FTP Site''' viisardis sisesta kõigepealt nimi. Näiteks Minu FTP. Ja siis tuleb kindlasti määrata FTP kausta asukoht kettal (%SystemDrive%\inetpub\ftproot)
[[File:W2008SSftp2.jpeg|border|caption|300px]]
[[File:W2008SSftp2.jpeg|border|SSL FTP|300px]]
* Järgmisel Lehel vali, millisele IP'le see FTP teenus vastama peab. Samuti on võimalik valida TCP/IP protokolli port, mida ühenduseks kasutatakse.
* Järgmisel lehel vali, millisele IP'le see FTP teenus vastama peab. Samuti on võimalik valida TCP/IP protokolli port, mida ühenduseks kasutatakse.
** Samal lehel saad märkida, kas FTP teenus käivitatakse automaatselt või tuleb seda teha käsitsi.
** Samal lehel saad märkida, kas FTP teenus käivitatakse automaatselt või tuleb seda teha käsitsi.
** Lisaks saad märkida sellel lehel Allow SSL. Ja sel juhul vali menüüst ka soovitud SSL sertifikaat. Näiteks eelmises punktis loodud enda allkirjastatud SSL sertifikaat.
** Lisaks saad märkida sellel lehel '''Allow SSL'''. Ja sel juhul vali menüüst ka soovitud SSL sertifikaat. Näiteks eelmises punktis loodud enda allkirjastatud SSL sertifikaat.
[[File:W2008SSftp3.jpeg|border|caption|300px]]
[[File:W2008SSftp3.jpeg|border|SSL FTP|300px]]
* Järgmisel lehel vali Autentication all Basic.  
* Järgmisel lehel vali '''Autentication''' all '''Basic'''.  
** Authorization jaotuses vali Specified users ning kirjuta soovitud kasutajanimi allolevasse lahtrisse.
** '''Authorization''' jaotuses vali '''Specified users''' ning kirjuta soovitud kasutajanimi allolevasse lahtrisse.
[[File:W2008SSftp4.jpeg|border|caption|300px]]
[[File:W2008SSftp4.jpeg|border|SSL FTP|300px]]


Siinkohal oledki valmis saanud SSL-põhise FTP teenuse.
Siinkohal oledki valmis saanud SSL-põhise FTP teenuse.

Latest revision as of 20:18, 5 April 2011

Lembit Elmik AK21


Server

Samuti kui kõigi teiste, nii algab ka IIS serveri turvamine eelkõige serverist endast. See tähendab, et esimese asjana peab server ise turvaline olema. Peale seda alles on mõtet tegeleda serveril jooksva teenuse turvamisega. Seega enne IIS rolli installeerimist serverile tuleks kindlasti uuendada süsteem ning paigaldada turvapaigad.

Samuti tuleks kasutada korralikku tulemüüri. Windows Serveril on selleks Windows Firewall and Advanced Security. Täpsemalt saab lugeda siit: http://technet.microsoft.com/en-us/library/cc732283%28WS.10%29.aspx

Mida väiksem kogus funktsionaalsust, seda väiksem "pind" sissemurdmiseks. Silmas tuleks siiski pidada, et paigaldada tuleks nii palju kui vaja ning nii vähe kui võimalik. Seda nõuannet rakendades peaks kindlasti serveri installeerimisel mõtlema, kas on üldse enamat Server Core'st vaja. Server core puhul installeeritakse ainult minimaalne hulk komponente, mis on vajalikud kindla rolli tarbeks. See töötab küll väiksema "ründapinna" eesmärgi nimel. Kuid tegelikult on oluline ka see, et nii hoitakse kokku näiteks kettamahte, administreerimise ning halduse tegevusi.

Server Core paigaldusega Windows Server 2008 toetab näiteks DNS, faili ja veebiserveri rolle. Täpsema nimekirja saad lingilt http://go.microsoft.com/fwlink/?LinkId=99832.

Server Core installatsion ei sisalda siiski GUI'd ehk graafilist kasutajaliidest. Seega kogu seadistamine toimub käsurea vahendite abiga. Puudub ASP.NET ja .NET raamistik. Seega ei ole võimalik kasutada PowerShell skripte ja loomulikult ei toimi rakendused, mis neid raamistikke kasutavad.

IIS

Järgmisena tulebki ette võtta IIS rolli paigaldamine. Vaikimisi installeeritakse vaid minimaalne IIS funktsionaalsus. See teenibki just turvalisuse eesmärke. Kui on vaja enamaid IIS võimalusi, saab need eraldi märkida ning installeerida.

Autentimine

Kui pole vaja avalikku juurdepääsu veebile võib seadistada Windowsi autentimist nii, et juurdepääs on tagatud vaid volitatud isikutel. Autentimine on võimalik siduda nii Windowsi enda kui ka Active Directory teenusega. Sel juhul kõik kasutajad, kes soovivad veebi sisu näha, peabad ennast kõigepealt autentima veebiserveri või AD kaudu.

  • Windows Authentication installeerimiseks mine Start > Server Manager, laienda Roles valikut ja klõpsa WebServer (IIS). Paremas akna pooles klõpsa Add role Services.

Autentimise installeerimine

  • Add Role Services viisardis vali Windows Authentication ja klõpsa Next > Install > Close.

Autentimise installeerimine

  • Et lubada Windowsi autentimine, ava Internet Information Services (IIS) Manager. Connections paanil klõpsa serveri nimel ja seejärel Home paanil tee topeltklõps Authentication peal.

Autentimise installeerimine

  • Authentication paneelis vali Windows Authentication ja luba see valides paremalt Enable. Anonüümse ligipääsu keelamiseks klõpsa Anonymous Authentication ning paremalt Disable.

Autentimise installeerimine

Konkreetse hostinimega sidumine

Teenuse sidumine konkreetse IP aadressiga tagav, et veebiserver teenindab vaid mingit konkreetset hosti vaid konkreetselt IP aadressilt, mitte kõigilt, mis on selle serverile antud.

Konkreetse IP aadressiga sidumine vähendab riske selliste rünnakute puhul, kus häkker või viirus skanneerib tervet IP alamvõrku enne kui ründab. Selline viirus proovib kõigepealt ühenduda näiteks aadressiga 192.168.1.1. Siis 192.168.1.2 jne. Seni kuni jõuab sinu serverini (selles subnetis).

Kui selline konkreetne sidumine on olemas, siis iga ühenduse võtmine näiteks aadressile http://192.168.1.253 kukuks läbi, sest sinu server on seadistatud vastama vaid hosti nimele, näiteks http://minudomeen.ee.

Siiski saab tõesti säherdune uss saata päringuid ja saada vastused, kuid sel juhul peab see olema juba keerulisema ehituse ja tarkusega. Konkreetse hostinimega teenuse sidumine ei tee veel serverit täiesti turvalist kasti, kuid raskendab selle ründamist.

  • Ava IIS Manager ja vali veebiserveri nimi. Saitide all tee parem-klõps soovitud veebilehel ning vali Edit Bindings.

Unikaalne sidumine

  • Edit Site Binding dialoogi aknas vali tüüpide nimekirjast HTTP ning klõpsa Edit peal. Vali sellele lehele vajalik IP aadress ning kirjuta sobiv hosti nimi.

Unikaalne sidumine

Selle tegevusega saab siis kaitsta serverit raskendades rünnakute läbiviimist.

SSL

SSL - Secure Socets Layer - on krüptograafia protokoll, mis pakub ühenduse turvalisust üle suure interneti. SSL krüpteerib võrguühendust transpordi kihi peal kasutades selleks sümmeetrilist krüptoalgoritmi ning sõnumi autentimise võtmehaldust. Edasi saab lugeda näiteks http://en.wikipedia.org/wiki/Secure_Sockets_Layer.

Käesolevas juhendis tuleb juttu enda signeeritud SSL sertifikaadi loomisest.

  • Ava Internet Information Services Manager.
  • Klõpsa hiirega oma masinal Connections puus ja siis topelt-klõps Server Certificates valikul.

Self-Signed SSL

  • Vali Actions paneelilt Create Self-Signed Certificate.

Self-Signed SSL

  • Sisesta oma sertifikaadi nimi ning klõpsa peale seda OK.

Self-Signed SSL

Ongi kogu lugu. Omatehtud sertifikaat ongi loodud. Loomulikult korraliku ning tõsiseltvõetava sertifikaadi jaoks on tarvis siiski mõne Certification Authority poolt tunnustatud sertifikaati. Täpsema informatsiooni hankimisega võib alustada näiteks siit: http://msdn.microsoft.com/en-us/library/bb540797(VS.85).aspx

FTP

FTP 7.5 IIS 7.0 jaoks saab laadida näiteks siit: http://go.microsoft.com/fwlink/?LinkID=143197

Nüüd loome FTP teenuse, mis kasutab seda sama enda loodud SSL sertifikaati.

  • Mine IIS Manageri. Connections paneelilt vali Sites.
  • Tee seal parem-klõps Sites peal ning vali hüpikmenüüst Add FTP Site. Teine võimalus selleks on Actions paneelilt valida Add FTP Site.

SSL FTP

  • avanenud Add FTP Site viisardis sisesta kõigepealt nimi. Näiteks Minu FTP. Ja siis tuleb kindlasti määrata FTP kausta asukoht kettal (%SystemDrive%\inetpub\ftproot)

SSL FTP

  • Järgmisel lehel vali, millisele IP'le see FTP teenus vastama peab. Samuti on võimalik valida TCP/IP protokolli port, mida ühenduseks kasutatakse.
    • Samal lehel saad märkida, kas FTP teenus käivitatakse automaatselt või tuleb seda teha käsitsi.
    • Lisaks saad märkida sellel lehel Allow SSL. Ja sel juhul vali menüüst ka soovitud SSL sertifikaat. Näiteks eelmises punktis loodud enda allkirjastatud SSL sertifikaat.

SSL FTP

  • Järgmisel lehel vali Autentication all Basic.
    • Authorization jaotuses vali Specified users ning kirjuta soovitud kasutajanimi allolevasse lahtrisse.

SSL FTP

Siinkohal oledki valmis saanud SSL-põhise FTP teenuse.

SSL sertificaatidega on võimalik juba täpsemalt edasi mängida. Edasist infot saab kasutatud kirjanduse loetelust.

Kasutatud kirjandus

  1. http://www.winserverhelp.com/2010/03/iis-7-5-and-iis-7-0-security-best-practices/2/
  2. http://learn.iis.net/page.aspx/263/installing-and-configuring-ftp-on-iis-7/
  3. http://learn.iis.net/page.aspx/304/using-ftp-over-ssl/