Ero sivun ”Apache2” versioiden välillä
p (→HTTPS / SSL) |
|||
Rivi 207: | Rivi 207: | ||
== HTTPS / SSL == | == HTTPS / SSL == | ||
− | HTTPS - yhteyttä käyttäessä tarvitaan SSL sertifikaattia varmentamaan sivuston aitouden. Näin saadaan lisäturvaa verkkosivulle. | + | HTTPS - yhteyttä käyttäessä tarvitaan SSL sertifikaattia varmentamaan sivuston aitouden. Näin saadaan lisäturvaa verkkosivulle. Virallisen sertifikaatin pitää tilata viralliselta varmentajalta. Tämä virallinen vahvistus maksaa 20€-> useisiin satoihin asti. [https://www.startssl.com/ Startssl] tarjoaa ilmaisia ja luetettavan ssl sertifikaatin ilmaiseksi vuodeksi. |
+ | |||
+ | Toinen tapa on saada ilmaiseksi on käytettävä itseallekirjoitettavia SSL sertifikaatteja. Näihin selaimet eivät oletuksena luota jonka takia ei voi käyttää yleisessä käytössä. Sertifikaatit tulee asentaa manuaalisesti koneelle. Tässä ohje [[Openssl]] käyttöön, jolla on helppo tehdä itseallekirjoitettavia sertifikaatteja. | ||
− | |||
<gallery> | <gallery> | ||
Tiedosto:Ssl_virhe.png|SSL virheilmoitus epävirallisessa sertifikaatissa | Tiedosto:Ssl_virhe.png|SSL virheilmoitus epävirallisessa sertifikaatissa | ||
</gallery> | </gallery> | ||
+ | |||
Määritetään Apacheen SSL avaamalla /etc/apache2/sites-available/default ja tallentamalla default-ssl nimiseksi | Määritetään Apacheen SSL avaamalla /etc/apache2/sites-available/default ja tallentamalla default-ssl nimiseksi |
Versio 11. kesäkuuta 2014 kello 18.34
Apache on avoimen lähdekoodin perustuva HTTP - palvelinohjelmisto (webbiserveri). Tämän voi myös asentaa Windowssille ja on integroituna Mac OSX - käyttöjärjestelmään. Tämä on ollut pitkään internetin suosituin webbipalvelin ohjelmisto. Tämä palvelin ja datatekniikka.fi sivustot käyttää myöskin Apachea.
Lisäksi tämän rinnalle suositellaan asentamaan Php5 ja Mysql - tietokanta.
Sisällysluettelo
Asentaminen
Apachen asennetaan komennolla:
aptitude install apache2
Voit testatata sivujasi menemällä selailemma http://palvelimen_ip_osoite. Sivun tulisi näyttää seuraavanlaisena:
It works! This is the default web page for this server. The web server software is running but no content has been added, yet.
Apachen oletusverkkosivuhakemisto sijaitsee:
/var/www/
Apachen konfigurointi tiedostot löytyvät täältä:
/etc/apache2
Oletusverkkosivun asetukset löytyvät täältä:
nano /etc/apache2/sites-enabled/000-default
Apachen kanssa voi käyttää myös Php5 ja Mysql.
Konfigurointi
Apachen konfigurointi hakemistosta
cd /etc/apache2/
löytyy tälläisiä tiedostoja ja hakemistoja:
apache2.conf envvars magic mods-enabled/ sites-available/ conf.d/ httpd.conf mods-available/ ports.conf sites-enabled/
apache2.conf on pääkonfigurointi tiedosto. Tähän tiedostoon voidaan tehdä kaikki apachen määritykset, vaikka suositeltavaa käyttää erillisiä tiedotoja selkeyden vuoksi.
ports.conf Tänne määritetään portit ja virtuaali isännät vastaavat pyyntöihin. Tarkista jos määrität SSL apacheen.
conf.d Hakemistossa on erityisiä määrityksiä Apachen kokoonpanoon. Täällä on myös charcet tiedosto josta voi sallia UTF-8 merkistökoodauksen.
sites-available/ Hakemistossa on kaikki virtuaali isäntä kokoonpanojen määritys tiedostot.
sites-enabled/ Hakemistossa määritetään mitä todellisuudessa virtuaali isäntiä käytetään
mods-available/ Moduulien määritykset.
apache2.conf
nano /etc/apache2/apache2.conf
Parametrit tiedotossa:
Timeout Oletuksena määritettu 300s. Tämä kertoo kuinka kauan palvelin vastaa pyyntöön. Suositellaan pienentämään 60, sillä monet palvelimet eivät pysty vastaamaan 300s pyyntöihin.
KeepAlive Jos vaihtoehto on "On" mahdollistaa useiden pyyntöjen toteuttamisen. Jos "Off" niin kaikki pyynnöt käsitellään erikseen, joka voi kasvattaa palvelimen kuormaa.
MaxKeepAliveRequests Rajoitetaan pyyntöjen määrä samaanaikaisena. Pidä tämä mahdollisimman korkealla, palvelimen kuormituksen takia. Jos on määritetty "0", niin palvelin sallii rajoittamattoman pääsyn.
KeepAliveTimeout Pyyntöjen aikakatkaisu aika. Jos pyyntö kestää yli aikakatkaisu ajan, niin yhteys katkaistaan.
sites-available/ (Virtual Host)
Oletuksena tässä hakemistossa on tiedosto default, jonka sisältö näyttää tältä:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www //päähakemisto, jossa verkkosivut sijaitsevat <Directory /> Options FollowSymLinks AllowOverride None //Salli konfigurointien yliajamisen (.htaccess) </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> . . .
Oletuksena virtuaali isäntä vastaa kaikkiin pyyntöihin portissa 80, oletus HTTP portti. Kun haluat luoda toisen virtuaali isännän, niin muokkaa tämä tiedostoa ja tallenna toisella nimellä.
Tämän jälkeen laitat sivun käyttöön (Käytössä olevat sivut löytyvät /etc/apache2/sites-enabled/ hakemiston alta):
a2ensite sivun_nimi
Esimerkiksi
a2ensite intra
Tämän jälkeen apachen täytyy laittaa lukemaan asetustiedostot uudelleen:
service apache2 reload
Tämän jälkeen lisää tarvittaessa ports.conf tiedostoon:
NameVirtualHost isäntänimi:portti
Lisätietoa:
Sivuston poistaminen käytöstä:
a2dissite sivun_nimi
service apache2 reload
Virtuaali Directory
Virtuaali Directory mahdollistaa Apachen webbihakemiston hakemisen eri sijannista kuin root hakemisto on
Alias /webbialihakemisto/ "/polku/" <Directory "/polku/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
Esimerkki:
Alias /wwwtesti "/var/wwwtesti/" <Directory "/var/wwwtesti/"> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory>
conf.d/charset
Tässä tiedostossa voit määrittää Apachen oletusmerkistökoodaukseski UTF-8.
1. Avaa konfigurointitiedosto:
nano /etc/apache2/conf.d/charset
2. Poista risuaita # merkki pois kohdasta:
AddDefaultCharset UTF-8
3. Käynnistä Apache uudelleen
service apache2 restart
mod-available/mod-evasive.load
Tämä Apachen lisäosa estää DDOS (palvelunestohyökkäykset) webbipalvelimeen.
Asentamien:
apt-get install libapache2-mod-evasive
Luodaan kansiot:
mkdir -p /var/log/apache2/evasive
ja määritetään käyttöoikeudet
chown -R www-data:root /var/log/apache2/evasive
Avataan konfigurointi tiedosto
nano /etc/apache2/mods-available/mod-evasive.load
Lisätään jos ei ole tiedostoon:
LoadModule evasive20_module /usr/lib/apache2/modules/mod_evasive20.so DOSHashTableSize 3097 DOSPageCount 2 DOSSiteCount 50 DOSPageInterval 5 DOSSiteInterval 1 DOSBlockingPeriod 10 DOSLogDir “/var/log/apache2/evasive”
DOSPageCount = Sivun pyyntöjen rajoitukset, jos ylittyy niin estolistalle
DOSSiteCount = Sivuston pyyntöjen kokonaismäärän ylitys
DOSPageInterval = Aikaväli sivun pyynnöille
DOSSiteInterval = Aikaväli sivuston pyynnöille
DOSBlockingPeriod = Estoaika
Tarkista asetukset apache2.conf tiedostosta:
nano /etc/apache2/apache2.conf
Ja nämä rivit pitäisi olla tiedostossa
# Include module configuration: Include mods-enabled/*.load Include mods-enabled/*.conf
HTTPS / SSL
HTTPS - yhteyttä käyttäessä tarvitaan SSL sertifikaattia varmentamaan sivuston aitouden. Näin saadaan lisäturvaa verkkosivulle. Virallisen sertifikaatin pitää tilata viralliselta varmentajalta. Tämä virallinen vahvistus maksaa 20€-> useisiin satoihin asti. Startssl tarjoaa ilmaisia ja luetettavan ssl sertifikaatin ilmaiseksi vuodeksi.
Toinen tapa on saada ilmaiseksi on käytettävä itseallekirjoitettavia SSL sertifikaatteja. Näihin selaimet eivät oletuksena luota jonka takia ei voi käyttää yleisessä käytössä. Sertifikaatit tulee asentaa manuaalisesti koneelle. Tässä ohje Openssl käyttöön, jolla on helppo tehdä itseallekirjoitettavia sertifikaatteja.
Määritetään Apacheen SSL avaamalla /etc/apache2/sites-available/default ja tallentamalla default-ssl nimiseksi
nano /etc/apache2/sites-available/default
SSLEngine on
SSLCertificateFile /etc/ssl/localcerts/ssl.crt SSLCertificateKeyFile /etc/ssl/localcerts/ssl.key
CTR+O //Tallennat nano teksieditorilla ja kirjoita default-ssl
Käynnistetään SSL sivut
a2ensite default-ssl
Lisätään SSL moduuli Apacheen
a2enmod ssl
Lataa Apachen konfigurointi tiedostot uudelleen
service apache2 reload
12. Sallitaan SSL Apacheen
a2enmod ssl
ja käynnistetään Apache uudelleen
service apache2 restart
Nyt on valmista, jos tuli virhe niin tuli vika konfiguraatioon
256bittiseen salaukseen on muokattava Apachen konffeihin:
nano /etc/apache2/mod-available/ssl.conf
SSLCipherSuite AES256-SHA
.htaccess
.htaccess tiedosto mahdollistaa konfigurointi tiedostojen tallentamisen suoraan verkkosivuhakemistoon, esimerkiksi /var/www/.htaccess.
Sallitaan .htaccess tiedoston ylikirjoittamaan entiset konfiguroinnit:
/etc/apache2/sites-available/default
seuraavanlaiseksi:
<Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory>
Käynnistä Apache uudelleen:
service apache2 restart
Luodaan .htaccess tiedosto /var/www/.htaccess
nano /var/www/.htaccess
Salasanasuojaus verkkosivulle
!! htpasswd httpd-2.4.4 on rikki. Odota päivitystä. !!
Kirjoita alla olevat rivit .htaccess tiedotoon:
AuthUserFile /var/.htpasswd AuthName "Anna kirjautumisen tiedot" AuthType Basic require user [käyttäjänimet]
Tallenna tiedosto ja tämän jälkeen luodaan esimerkiksi /var/.htpasswd tiedosto jossa on käyttäjänimet ja salasanat, jolla oikeudet kirjautua sivulle. Suositellaan erityisesti salasanojen kryptaamista. Huomaa, että polut pitää olla palvelimen fyysisiä polkuja, ei verkkopolkuja!
käyttäjänimi:salasana
Sinun tulee käyttää Debianissa htpasswd työkalua. Internetissä on myös htpasswd työkaluja saatavilla.
Esimerkki:
htpasswd -B /polku/.htpasswd Käyttäjätunnus Salasana
Tallenna tiedosto ja kokeile kirjautua sivullesi.
htpasswd bugin väliaikaisen korjaus
Bugi ei anna kuin Debianissa generoituja salasanojen kirjautumisen järjestelmään.
Voit generoida salasanan tällä komennolla:
htpasswd -nb user password
Kopioi ja tallenna htpasswd tiedostoon, näin pitäisi toimia
Virhesivut
Kirjoita alla olevat .htaccess tiedostoon. Muuta polut vastaamaan palvelimessasi olevaa polkua.
ErrorDocument 400 /errors/badrequest.html ErrorDocument 401 /errors/authreqd.html ErrorDocument 403 /errors/forbid.html ErrorDocument 404 /errors/notfound.html ErrorDocument 500 /errors/serverr.html