Tämä on jatkoa raportille:
https://markuspyharanta.wordpress.com/2017/05/14/azure-windows-server-vituaalipalvelin/
Webpalvelimen (IIS) asennus ja konfigurointi
Halusin hostata omaa verkkosivua Windows Server 2012 R2 palvelimeltani. IIS eli Internet Information Services on Microsoftin oma webpalvelinohjelmistokokonaisuus Windows-palvelintietokoneille. Vaikka avoimeen lähdekoodin perustuva Apache onkin paljon suositumpi webpalvelinohjelmisto, on Microsoftin IIS silti melko tunnettu varsinkin yritysjärjestelmissä.
IIS:n asennus tapahtui Server Managerista > Add roles and features
Installation Type-kohtaan laitoin Role-based or feature-base installation. Seuraavassa välilehdessä täppä kohtaan Select a server from the server pool, jonka jälkeen valitsin sen alapuolelta oman palvelimeni. Server Roles-välilehdeltä valitsin haluamani palvelinroolit. Tässä vaiheessa otin oletusten lisäksi vain Web Serverin (IIS).
Tästä seurasi pongahdusikkuna, jossa painoin Add Features.
Sen jälkeen pystyi seuraavalta välilehdeltä halutessaan valita lisäominaisuuksia, kuten .NET Frameworkeja tai BitLocker levysalauksen. Itse en tarvinnut muuta, joten menin suoraan eteenpäin.
Alla nyt kaikki asennettavat roolit ja palvelut. Seuraavalla välilehdellä voi vielä tarkistaa, että kaikki on oikein, jonka jälkeen > Install.
Asennuksessa meni hetki, jonka jälkeen IIS oli asennettu. Server Manageriin oli nyt ilmestynyt Internet Information Services (IIS) Manager, jossa pystyin nyt konfiguroimaan webpalvelimen haluamallani tavalla.
Nyt, kun menin selaimella localhost-osoitteeseen, niin sain IIS:n oletusnäkymän. Webpalvelin oli siis asentunut oikein.
Staattinen sivu IIS:lle
Koska haluan pystyä hostaamaan sivuja muutenkin kuin paikallisesti palvelimella, minun tuli lisätä staattinen sivu webpalvelimelle. IIS Managerista palvelimen alta > Sites > Add Website.
Annoin sivulle nimen ja määritin fyysisen polun sivutiedostoihin. IIS:n oletussivu löytyy hakemistosta C:\inetpub\wwwroot. Hakemiston voi korvata haluamallaan, mutta itse pidin sen samana. Korvaan myöhemmin sitten IIS:n oletussivun omalla index.html-tiedostollani. Bindingin alle Type kohtaan http ja portiksi 80. IP-osoite kohtaan All Unassigned. Host-nimeä en vielä tässä vaiheessa määritellyt.
Seuraavaksi määrittelin IIS Managerista käyttäjän todennuksen > Authentication.
Käyttäjän anonyymi todennus toimii oletuksena IIS:ssä. Tällöin käyttäjillä on pääsy verkkosivun julkisille alueille ilman, että heiltä pyydetään salasanaa. Identiteetiksi laitoin Specific user ja vaihdoin oletus käyttäjän IUSR omaan käyttäjätunnukseeni. Tämä siksi, etten halua antaa anonyymeille käyttäjille pääsyä sisäiseen verkkooni, vaan webpalvelimen sisältö tarjoillaan omien tunnuksieni kautta käyttäjälle.
Lisäksi määrittelin default-dokumentiksi index.html. Tämä tapahtui IIS Managerista > Default Document. Client-tietokoneelta yhdistettäessä ei yleensä sisällytetä domain-nimeen tiedoston nimeä. IIS etsii kotisivun default-dokumentin perusteella. Oletuksena tämä on IIS:ssä Default.htm, mutta siirsin index.html:n listajärjestyksessä ylimmäksi.
Viimeisenä konfigurointivaiheena asetin valinnaisena asetuksena sivulle ns. Static Content Compressionin. Käytännössä tällä voidaan pakata staattinen sisältö käyttämään bandwith:iä tehokkaammin, ja siten myös teoriassa sivun latautumisajat pienenee. Tämä onnistui seuraavasti:
IIS Managerista > Compression > Enable static content compression > Apply
Lopuksi poistin C:\inetpub\wwwroot hakemistosta IIS:n oletussivun ja tein sen tilalle simppelin index.html tiedoston muistiolla. Kävin myös tarkistamassa, että Windows Serverin oma palomuuriohjelma ei estä sisääntulevaa liikennettä portista 80. Oletuksena tämä oli sallittu.
Azure Network Security Group säännöt
Palomuurin/reitittimen tulee sallia käyttäjien pääsy webpalvelimen sisältöön julkisesta verkosta. Miten se tapahtuu riippuu toteutuksestasi. Itse ylläpidän palvelintani Microsoft Azuressa.
Jotta IIS-palvelimen sisältöön pääsi käsiksi Azuren ulkopuolelta, tuli minun sallia sisääntuleva liikenne porttiin 80 Network Security Groupin asetuksista. Tämä tapahtuu Azure-portalista All Resources > Network security group > Inbound security rules > Add. Azuren Network Security Group hallinnoin sisääntulevaa ja ulosmenevää liikennettä virtuaalikoneelle palomuurin tavoin. Annoin uudelle säännölle seuraavat määritykset:
Hetken päästä uusi sääntö tuli voimaan, kuten alla olevasta kuvasta näkyykin. Sisäänpäin suuntautuva liikenne webpalvelimelle on nyt sallittu porttia 80 käyttäen.
Nyt jos surfaan omalta kotikoneeltani palvelimeni julkiseen IP-osoitteeseen, niin näen selaimessa tekemäni testisivun.
Lähteet:
Atlantic 2015. Install IIS on Windows Server 2012 R2. URL: https://www.atlantic.net/community/howto/install-iis-on-windows-server-2012-r2/
Atlantic 2015. Build a Static Website on IIS Using Windows Server 2012. URL: https://www.atlantic.net/community/howto/build-static-website-on-iis/
Technet Microsoft 2011. Configure the Anonymous Authentication Identity (IIS 7). URL: https://technet.microsoft.com/fi-fi/library/cc770966(v=ws.10).aspx
Wikipedia 2015. Internet Information Services. URL: https://fi.wikipedia.org/wiki/Internet_Information_Services
Azure Blogger 2015. Understanding Firewall Options in Microsoft Azure. URL: http://azureblogger.com/2015/08/understanding-firewall-options-in-microsoft-azure/
Pingback: Domain-nimen osoittaminen virtuaalipalvelimeen NameCheapissa – Markus Pyhäranta
Pingback: Kali Linux – Tietoturvan todentamisen välineet (Crunch, Hydra, HPing3, Medusa, Ncrack, NMap) – Markus Pyhäranta