raid10

Proxmox zfs raid kovalevyn korvaaminen

Proxmox ZFS-raid hajonneen kovalevyn vaihto

HOX HOX muistiinpano! Ei ole valmis dokumentti. (Tähän raidista sun muusta roinasta tietoo) ja mikä on hyödykllinen etc.

Ongelma: levy rikki ja otettu pois ja heitetty roskii menee.

zpool  status

zpool replace rpool /dev/disk/by-id/ata-QEMU_HARDDISK_QM00009-part3 /dev/sdc

Eli kuvan ”rpool” poolin nimi, ja lätty ” was” kohdasta. Lopuksi laitetaa uuden lätyn nimi, sen näkee proxmoxin web gui kautta. (alla kuva)

Lätyn tunnistaa jos see on uusi jos proxmox näyttää että ”Usage” on No. Toki jos tiedät valmiiksi lätyn nimen niin se olisi parempi.  (Sesrial nuumber) (model number) etc.

Tuon jälkeen syötetään komento

zpool  status

Tarkistetaan onko prosessi alkanut, minun tilanteessa on normaali kovalevy joka on hidas verrattuna normaaliin ssd levyyn tai m.2 ssd levyyn. Kirjoita uudestaan tuo komento jos haluat tarksituaa uudestaan tilanetaéen.

Prosessi on valmis kun proxmoxissaa zpoolissa lukee kaikki ok ja kaikki näyttää virreeltäö.

Nyt on valmista.

openvpn-logo-768x427

OpenVPN helppo asennus

OpenVPN yksinkertainen asennus ja käyttöönotto

Olemassa on erityypin vpn asennuksia. Tässä näytän miten yksinkertaisesti voit tehdä oman vpn verkon jotta pääset kotiverkkoosi käsiksi. Aihe on erittäin laaja, en käy sitä tässä. Tähän toki liittyy omat tietoturva asiat joita en myöskään käy tässä läpi. Oman vpn verkon teko on siitä hyödyllinen, jos ressaan paljon  tai sinulla on palvelimia kotiverkossa joihin tarvitset pääsyö päivittäin. Yhteyden luotuasi olet kuin kiinni kotiverkossasi ainoa  ero vain on että et ole fyysisesti verkon lähistöllä.

Scriptin asennus on todella helppoa. Esiasennettuna tarvitaan esimerkiksi Ubuntu server tai Debian non graphical tietokone joka on tietenkin lähiverkossasi kiinni. Myös portti 1194 täytyy olla auki, toki voit käyttää muuta porttia. Portti 1194 on stantardi vpn maailmassa.

Asennus

Päivitetään repositorit sekä ohjelmat ajantasalle ensin.

apt update 

apt upgrade

Asennetaan git ohjelma jolla githubista saadaan käyttäjän tekemä scripti.

apt install git

Tällä komennolla haetaan scripti.

curl -O https://raw.githubusercontent.com/angristan/openvpn-install/master/openvpn-install.sh 

Tehdään scriptistä juostava. (Itse jätän tämän yleensä välistä ja juoksen scriptin bash komennolla.)

chmod +x openvpn-install.sh

./openvpn-install.sh

Valitaan joko domain tai pelkkä ulkoinen ip-osoite.

Harvemmin Ipv6 yhteyttä tarvitaan, tässä esimerkissä ei oteta käyttöön.

Nyt valitaan portti josta liikenne kulkee, itse laitan oletus portin eli 11194, voit käyttää mitä vain muuta kunhan mikään muu prosessi ei kyseistä porttia käytä.

UDP protokolla on vpn yhteyksissä yleensä nopein. Suosittelen siiis valitsemaan sen.

DNS resolver on palvelin joka hakee eri palvelimien ip-osoitteet ja yhdistää ne domainiin. Itse käytän aina Cloudflaren dns resolveria. Voit siis itse päättää mitä käytät, toki palvelimen omaa tai muokattua voi vapaasti käyttää.

Tämän voi huoletta jättää oletukselle.

Suosittelen muokkaamaan salaus asetuksia, tässä esimerkissä en niitä kuitenkaan muokaa helpon asennuksen takia.

Nyt valitaan clientin nimi  joka yhdistää palvelimeen ulkoverkosta. Tähän voi laittaa vaikka palvelimen nimen tai oman nimesi jotta tunnistat  mistä on kyse ja mihin olet yhdistämässä.

Tässä kohtaa voit lisätä salasanasuojauksen tiedostoon, suosittelen suuresti tämän lisäämistä. Tässä ohjeessa en sitä kuitenkaan lisää.

Nyt kaikki on asennettu ja konfiguroitu oiken. Näet vielä mihin tiedosto on tallennettu. Siirrä tiedosto laitteelle jolla haluat muodostaa vpn yhteyden.

Juoksemalla scriptin uudelleen, voit lisätä tai poistaa käyttäjiä. Myös palvelimen poistaminen tapahtuu täältä.

Clientin asennus Linuxille

Linuxissa on oma buildin tuki eri vpn yhteyksille. Siitä ei kuitenkaan löydy openvpn yhteyttä joka pitä asentaa erikseen.

apt install openvpn

apt install network-manager-openvpn-gnome

Loput tehdään työpöydän kautta. Mikäli haluat tuoda vpn yhteyden terminaalin kautta tai non grpahical käyttöjärjestelmälle, alla on komento.

openvpn lassi.ovpn

painamalla CTRL + C suljet yhteyden.

Vaikka listalla on nyt ”OpenVPN kohta, emme silti käytä sitä. Kohta ”Import a saved VPN configuration” taas tuo kaikki tarvittavat kohdat tiedsotosta automaattisesti.

Ohjelma automaattisesti tuo oikeat tiedostot. Syötä myös ”User key password” kohtaan salasana mikäli loit clientille sen.

Tallennettuasi muutokset, näet ”VPN connections kohdassa juuri lisätyn vpn profiilin. Painamalla sitä yhdistät vpn palvelimeen.

Clientin asennus Windowsille

Windowsille pitää asentaa kokonaan ohjelma, toki Windowsissakin on oma vpn tuki muttei OpenVPN tukea. Voit asentaa joko OpenVPN connect gui version tai community version joka on pienempi sekä minulle mieluisampi. Linkki OpenVPN asennus sivulle:OpenVPN connect v3, OpenVPN Community build.

Asennuksessa ei tarvitse muuta tehdä kuin painaa ”Install now”.

Asennuksen loputtua, avataan OpenVPN.  Joko työpöydältä tai taustasovelluksista pienen tietokoneruudun ja lukon kuvakkeella. Seuraavaksi Tuodaan ladattu .ovpn tiedosto.

Kun tiedosto on tuotu, painetaan ”Connect” nappia ja yhdistetään vpn palvelimeen.

Jos loit clientille salasanan, se syötetään yhdistyksen alussa.

Linuxsecurity

Linux palvelimen perusturvallisuus

Linux palvelimen perusturvallisuuden takaaminen

LOGIEN TARKISTUS

#tarkistetaan kirjautumisyritykset palvelimelle reaaliaikaisesti
tail -f /var/log/auth.log

#LOGIEN VÄRITYS

apt install grc

grc tail -f /var/log/auth.log

(multitail myös useammalle logille kerralla)

FAIL2BAN

apt-get update
apt-get install fail2ban
systemctl status fail2ban
nano /etc/fail2ban/jail.conf

#ignoraa lokaalin koneen
ignoreip = 127.0.0.1/8

#määritellään bannin kesto
bantime = 600

#määritellään monta yritystä kirjautumisessa on
maxretry = 3

#tämä lähettää postia root käyttäjälle että joku on bannattu
destemail = root@localhost
sendername = Fail2Ban banned user!
mta = sendmail
action = %(action_mwl)s

#tällä saadaan postiin logitedot kätevästi
action_mw
#tällä kuitenkin saa eniten
action_mwl

#tällä komennolla pysäytetään fail2ban
systemctl fail2ban stop

#tällä aloitetaan
systemctl fail2ban start

#tällä tarkistetaan nykyinen tilanne
systemctl status fail2ban

# tarkistetaan jaili sekä estetyt ipt sekä niiden määrä
fail2ban-client status sshd

UFW PALOMUURI

apt install ufw
systemctl enable ufw
systemctl start ufw
systemctl status ufw

#avataan palomuuriin portti
ufw allow ”portti”

#avataan portti 80
ufw allow 80

OPENSSH

#Asennetaan ssh
apt install openssh-server

#Otetaan ssh käyttöön samalla myös koneen startuppiin
systemctl enable ssh

#Tarkistetaan nykyinen tilanne ssh
systemctl status sshd

#Pysäytetään ssh
systemctl stop sshd

nano /etc/ssh/sshd_config

#vaihdetaan oletus portti toiseen
#Port22

port222

#Kielletään roottina kirjautuminen
#PermitRootLogin
PermitRootLogin no

#Annetaan lassi käyttäjälle lupa kirjautua
AllowUsers lassi

#käynnistetään ssh uudestaan
systemctl restart sshd

netstat -tulpn

netstat -tulpn | grep 22

ufw allow ssh

ufw allow 22

SSH PARANTELU

#Asenntaan moduulit ja sovellukset jotka yhdistävät hyökkääjän ip-osoitteen maahan
apt-get install geoip-bin geoip-database

#Luodaan scripti joka hallitsee pääsyn
nano /usr/local/bin/ipfilter.sh

#!/bin/bash
ALLOW_COUNTRIES=”IN US”
LOGDENY_FACILITY=”authpriv.notice”

if [ $# -ne 1 ]; then
echo ”Usage: `basename $0` ” 1>&2
exit 0 # return true in case of config issue
fi

if [[ ”`echo $1 | grep ’:’`” != ”” ]] ; then
COUNTRY=`/usr/bin/geoiplookup6 ”$1” | awk -F ”: ” ’{ print $2 }’ | awk -F ”,” ’{ print $1 }’ | head -n 1`
else
COUNTRY=`/usr/bin/geoiplookup ”$1” | awk -F ”: ” ’{ print $2 }’ | awk -F ”,” ’{ print $1 }’ | head -n 1`
fi
[[ $COUNTRY = ”IP Address not found” || $ALLOW_COUNTRIES =~ $COUNTRY ]] && RESPONSE=”ALLOW” || RESPONSE=”DENY”

if [[ ”$RESPONSE” == ”ALLOW” ]] ; then
logger -p $LOGDENY_FACILITY ”$RESPONSE sshd connection from $1 ($COUNTRY)”
exit 0
else
logger -p $LOGDENY_FACILITY ”$RESPONSE sshd connection from $1 ($COUNTRY)”
exit 1
fi

#Tämä muutos pitää tehdä jos halutaan että scripti juoksee!
chmod +x /usr/local/bin/ipfilter.sh

#Lisätään ssh listalle omat muutokset jotta järjestelmää ohjaa tuo uusi scripti ja muut asennetut ohjelmat.
nano /etc/hosts.deny

sshd: ALL
vsftpd: ALL

#Määritellään vielä mistä scripti löytyy.
nano /etc/hosts.allow

sshd: ALL: spawn /usr/local/bin/ipfilter.sh %a
vsftp: ALL: spawn /usr/local/bin/ipfilter.sh %a

rainloop

Postipalvelimen asennus ja konfigurointi Debianille

Postipalvelimen asennus ja konfigurointi Debianille

Miksi kukaan haluasi omaa postipalvelinta kun esim gmail outlook tai icloud ovat olemassa ja ne ovat ilmaisia jatilin teko helppoa? Eri syitä on monia, minulla ne ovat mm, yksityisyys, täysihallinta oppiminen, rajaton määrä sposteja, bulk emails sekä itse päättämä postin loppupääte eli domain. Toki nämä ilmaiset palvelut ovat siitä hyviä että niitä ei tarvitse ylläpitää ollenkaan kun taas omaa pitää kokoajan seurata mm, hyökkäysten liikenteen sekä mustallelistalle joutumista. Molemmissa tavoissa on omat hyvät ja huonot puolet, kumpikaan ei ole toista parempi.

Asennus

Oletus on että sinulla on jo valmis Linux järjestelmä jolla on ulkoinen ip-osoite sekä oma domain. Huom kiinteä ip-osoite on erittäin suositeltavaa, mutta yksityisen vaihtuva ip-osoite käy myös. Muista vain sen kohdalla helpottaa työtä ja asentaa ja tutustua ddclient tästä linkistä!

Päivitetään pakettivarasto.

apt update

apt upgrade

Myös tietoturvan kannalta on hyvä asentaa palomuuri sekä ohjelma joka estää mm, ssh ja dovecot hyökkäyksiä. Myös muita laajempia hyökkäyksenesto isp sovelluksia kuten Wazuh voidaan hyödyntää tässä linkki sen asentamiseen ja käyttöönottoon. Suositeltavaa on kuitenkin asentaa useita eri ohjelmistoja parhaan turvallisuuden takaamiseksi.

Tässä linkki pika ohjeeseen perusturvaamisen Linux palvelimelle.

Asennetaan tarvittavat ohjelmistot.

apt install curl net-tools bash-completion wget lsof nano

Lisätään pari tärkeää riviä dns ohjausta varten.

nano /etc/host.conf

Lisätään vielä domaini ja verkkoon ohjattu ip-osoite. Tätä ei tarvitse jos sinulla ei ole kiinteää ip-osoitetta!

nano /etc/hosts

Rebootataan kone jotta muutokset tulevat varmasti voimaan.

reboot

Syötetään seuraavat komennot ja varmistetaan onko nimipalvelun asetukset tehty oikein. Muista ohjata nimipalvelustasi ip-osoitteesi domainiisi jos et ole sitä jo tehnyt!

hostname
hostname -s
hostname -f
hostname -A
hostname -i

Tulosten pitäisi näyttää samantyyppisiltä:

Postfixin asennus

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Asennetaan postfix joka ohjaa postiliikenteen ulos sekä sisään internetistä palvelimellesi

apt install postfix

systemctl enable postfix

Valitaan kohta Internet Site. Sekä sen jälkeen syötetään postin domain, jos käytät alidomainia, muista syöttää päädomain. Jos syötetty domain on alidomaini, postiosoiteet ovat myös sen nimiset.

Muokataan Postfixin oletus konfiguraatio tiedostoa.

nano /etc/postfix/main.cf

Lisätään seuraava loppuun:

myhostname = oma.domain.com
mydomain = domain.com

smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions = permit_mynetworks,permit_auth_destination,permit_sasl_authenticated,reject

Käynnistetään postfix uudelleen ja tarkistetaan onko oikeat portit oikein konfiguroitu.

systemctl restart postfix

netstat -tlpn

Nyt pitäisi portti 25 olla auki.

Jos joskus tulee ongelmia, postipalvelimen liikennettä voi tarkistaa seuraavalla ohjelmalla. Tällä myös kokeillaan toimiiko posti lähiverkossa.

apt install mailutils

syötetään seuraavat komennot.

echo ”Terppa”| mail -s ”Testiposti” root

ls -l Maildir/new/

Myös login näkee täältä.

tailf /var/log/mail.log

Dovecotin asennus

Dovecot lajittelee postin oikeisiin postilaatikoihin sekä tämän avulla voidaan käyttää muiden osapuolien posti sovelluksia, esimerkiksi Gmailia tai Thunderbirdiä.

Asennetaan dovecot ja tarvitta ohjelmat.

apt install dovecot-core dovecot-imapd

systemctl enable dovecot

Muokataan tavallisen mukaan dovecotin oletus konfigurointi tiedostoa.

nano /etc/dovecot/dovecot.conf

Sinne lisätää tämä rivi.

listen = *, ::

Muokataan toista dovecotin tiedostoa.

nano /etc/dovecot/conf.d/10-auth.conf

Muokataan sekä lisätää seuraavat rivit.

disable_plaintext_auth = no
auth_mechanisms = plain login

Muokataan postilaatikon polkua.

nano /etc/dovecot/conf.d/10-mail.conf

mail_location = maildir:~/Maildir

Muokataan vielä viimestä konfigurointi tiedostoa.

nano /etc/dovecot/conf.d/10-master.conf

Lisätään unix_listeneriin seuraavat rivit jos niitä ei ole olemassa.

unix_listener /var/spool/postfix/private/auth {
mode = 0666
user = postfix
group = postfix
}

Käynnistetään dovecot uudelleen jotta muokkaukset tulevat voimaan.

systemctl restart dovecot.service

Tarkistetaan että oikeat portit ovat käytössä.

netstat -tlpn

Yhteensä 4 eri porttia pitäisi olla auki, 143, 587 993 ja 25.

Jos porttia 587 ei näy, käy muokkaamassa tätä tiedostoa.

nano /etc/postfix/master.cf

Poista kommenttit näistä riveistä alusta.

smtp inet n – y – – smtpd
#smtp inet n – y – 1 postscreen
smtpd pass – – y – – smtpd
#dnsblog unix – – y – 0 dnsblog
#tlsproxy unix – – y – 0 tlsproxy
submission inet n – y – – smtpd

Webmailin asennus

Sähköposti toimii nyt, mutta monesti voi olla tarvetta webmailille. Pienitehoisille koneille ei ole järkevää asentaa tätä koska, postin lähetys ja vastaanotto voi viedä melkein kaiken tehon. Suosittelen kuitenkin asentamaan, voit aina sulkea portit ja pysäyttää apachen jottei resursseja kulu.

Asennetaan Apache sekä php ja sen tarvittavat moduulit.

apt install apache2 php libapache2-mod-php php-curl php-xml

systemctl enable apache

Tarkistetaan php versio ja käytetään tietosuojan kannalta uudempaa versiota.

php -v

Mennään Apache host kansioon ja postetaan oletus tiedosto.

cd /var/www/html/

rm index.html

Asennetaan webmaili, tälläkertaa käytän Rainloop nimistä ohjelmaa. Se on juuri sopiva minun käyttöön ja on erittäin helppo asentaa ja ottaa käyttöön.

curl -sL https://repository.rainloop.net/installer.php | php

Muokataan Apachen oletus konfugiraatio tiedostoa.

nano /etc/apache2/sites-available/000-default.conf

Lisätään alkuun seuraavat parametrit tietoturvan kannalta.

ServerTokens Prod
ServerSignature Off
FileETag None
TraceEnable off

Sekä lisätään 80 portin ”blokkiin” seuraava:

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
order allow,deny
allow from all
Options -Indexes
</Directory>

<Directory /var/www/html/data/>
Order allow,deny
Deny from all
Options -Indexes
Deny from all
</Directory>

<Directory /var/www/html/data/_data_/_default_/>
Order allow,deny
Deny from all
Options -Indexes
Deny from all
</Directory>

Tällä estetään selaimen kautta pääsy postipalvelimen konfiguraatio tiedostoihin jossa näkyy arkaluonteista tietoa.

SSL Certbot

SSl salaa kaiken liikenteen sinun ja palvelimen välillä. Se tekee hakkereiden ja muiden kaappaajien hyökkäyksistä vaikeampaa.

Asennetaan certbot joka sertifikaatin myöntää, tässä voi myös käyttää itse allekirjoitettuja mutta itse suosin certbottia sen kätevyydestä ja monipuolisista asetuksista.

apt install apache-certbot

Luodaan uusi sertifikaatti sivustolle.

certbot certonly -d oma.domain.com

Hyväksytää käyttö sekä valitaan webroot johon syötät apachen juuripolun. Oletus on /var/www/html/

Tämän jälkeen otetaan Apacheen ssl käyttöön ja ohjataan http liikenne salattuun https protokollaan.

nano /etc/apache2/sites-available/000-default.conf

Lisätään portille 443 oma ”blokki”

<VirtualHost *:443>
ServerName oma.domain.com

<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
order allow,deny
allow from all
Options -Indexes
</Directory>

<Directory /var/www/html/data/>
Order allow,deny
Deny from all
Options -Indexes
Deny from all
</Directory>

<Directory /var/www/html/data/_data_/_default_/>
Order allow,deny
Deny from all
Options -Indexes
Deny from all
</Directory>

SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/oma.domain.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/oma.domain.com/privkey.pem
</VirtualHost>

Tältä pitäisi konfiguraation näyttää suurinpiirtein.

Avataan vielä portit webliikenteelle.

ufw allow 80

ufw allow 443

Rainloop konfigurointi

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Avataan selaimesta oma.domain.com/?admin. Oletus tunnukset ovat admin:12345

Muista vaihtaa käyttäjänimi sekä salasana! Jos saat allaolevan ilmoituksen, pysäytä apache tai estä portti 80 ja palaa takaisin korjaamaan Apachen konfuguraatio. Data polkua ei saisi näkyä ollenkaan, voit toki kokeilla onko ilmoitus väärässä menemällä oma.domain.com/data ja oma.domain.com/data/_data_ sekä niiden alikansoihin.

Polkujen pitäisi näyttää tämän tyyppisiä ilmoituksia.

Seuraavaksi lisätään domaini jotta palvelimet osaavat siirtää postin oikeaan osoitteeseen. Mennään kohtaan Domains ja painetaan Add Domain. Voit myös poistaa valmiina luodut domainit.

Suosittelen käyttämään Porttia 143 ja 587, ne ovat ylesimmät joten liikenne varmasti toimii. Muista myös ottaa STARTTLS salaus käyttöön! Rainloop tukee myös yhteystietoja. Voit ottaa ne käyttöön jos tarvitset niitä. En koe itse tarvitta niille, muista olla avaamatta porttia 3306 internettiin tietokantaa tehdessä!

Luodaan vielä käyttäjä postiin.

adduser lassiiz

Luodaan vain salasana käyttäjälle, muuta ei tarvitse. Kun käyttäjä on luotu, mene postin kirjautumis-sivulle.

Jos et asettanut oletusdomainia, syötä käyttäjäksi, username@oma.domain.com. Salasana on sama minkä juuri syötit käyttäjää tehdessä. Suosittelen myös disabloimaan ssh kautta kaikki ylimääräiset käyttäjät. Toki muut webmailit kuten IredMail käyttää erillistä tietokantaa käyttäjien tekemiseen joka on turvallisempaa oletuksena.

Postilaatikon pitäisi avautua ja näyttää tältä.

DKIM luonti

DKIM ja DMARC ovat varmenteita joilla varmistetaan että lähettäjä on oikeasti se mikä väittää olevansa. Esimerkiksi et voi lähettää postia google.com domainina ja väittää muille että omistat tämän. Ellet sitten ole saanut heiltä omaa postilaatikkoa.

Asennetaan dkim ohjelma jolla oikeat avaimet luodaan.

apt install opendkim opendkim-tools

nano /etc/opendkim.conf

Tarkistetaan löytyykö seuraavat rivit.

AutoRestart Yes
AutoRestartRate 10/1h
UMask 002

Syslog yes

Domain lassinsivut.eu
KeyFile /etc/dkimkeys/dkim.key
#Selector 2007
#Canonicalization simple
Mode sv
#SubDomains no
Canonicalization relaxed/simple

ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable

#Socket inetst
#Socket local:/var/run/opendkim/opendkim.sock
Socket inet:12301@localhost
#
PidFile /var/run/opendkim/opendkim.pid

OversignHeaders From

TrustAnchorFile /usr/share/dns/root.key

UserID opendkim:opendkim

 

Yhdistetään Postfixiin.

nano /etc/default/opendkim

Lisätään rivi tiedostoon.

SOCKET=”inet:12301@localhost”

Kerrotaan vielä postfixille että käyttää tuota.

nano /etc/postfix/main.cf

milter_protocol = 2
milter_default_action = accept

Muodaan avaimille kansio

mkdir /etc/opendkim
mkdir /etc/opendkim/keys

Määritellään vielä domaini sekä aliverkko jotka määritellään turvallisiksi

nano /etc/opendkim/TrustedHosts

127.0.0.1
localhost
192.168.0.1/24

*oma.domain.com

Luodaan avaimille ”pöydät”.

nano /etc/opendkim/KeyTable

mail._domainkey.oma.domain.com oma.domain.com:/etc/opendkim/keys/oma.domain.com/mail.private

Luodaan vielä avaimille ”kirjotuspöytä”

nano /etc/opendkim/SigningTable

*@oma.domain.com mail._domainkey.oma.domain.com

 

Nyt luodaan avaimet joissa hyödynnetään juuri tehtyjä konfiguraatioita. Komentoon olisi voinut suoraan syöttää yllämainitut, mutta tulevaisuudessa uusien domainien liittäminen sekä avainten uudelleenluonti helpottuu huomattavasti.

cd /etc/opendkim/keys

mkdir oma.domain.com

cd oma.domain.com

Luon esimerkissä 1024 pituisen avaimen, suosittelen kuitenkin oletusta eli 2048. Minun nimipalvelu ei kuitenkaan salli sitä joten käytän lyhyempää.

opendkim-genkey -b 1024 -s mail -d oma.domain.com

Vaihdetaan avaimien omistaja

chown opendkim:opendkim mail.private

nano -$ mail.txt

mail._domainkey IN TXT ”v=DKIM1; k=rsa; p=OMA-HENKILÖKOHTAINEN-AVAIN” ; —– DKIM key mail for oma.domain.com

Kopio ja tallenna tuo avain, sitä käytetään nimipalvelussa myöhemmin. Tarvitaan vain p= eteenpäin heittomerkkien sisällä oleva avainkoodi.

Lopuksi vielä käynnistetään postfix sejä opnedkim.

service postfix restart
service opendkim restart

Nimipalvelu

Tarvitaan A-tietueen lisäksi muutama muu. MX, sekä dmarc , dkim ja spf TXT muodossa.

MX tietue: oma.domain.com

Arvoksi: oma.domain.com

DMARC: _dmarc.oma.domain.com

Arvoksi: v=DMARC1; p=quarantine; sp=quarantine; rua=mailto:dmarc_acc@oma.domain.com; ruf=mailto:dmarc_afrf@oma.domain.com; rf=afrf; fo=0:1:d:s;

SPF: oma.domain.com

Arvoksi: v=spf1 mx ip4:oma-ip-osoite -all

DOMAIN KEY: mail._domainkey.oma.domain.com

Arvoksi: v=DKIM1; h=sha256; k=rsa; p=OMA-HENKILÖKOHTAINEN-AVAIN

Kun kaikki on valmista, voit tarkistaa sekä tarkkailla omaa postipalvelintasi esimerkiksi tästä sivustosta. Saatavilla on monta eri testiä. Muista kuitenkin että nimipalvelun muutokset voivat viedä jopa 48 tuntia voimaan tulemiseen. Joten testit eivät välttämättä näytä heti asennuksen jälkeen oikein.

ddns

Dynaaminen ip-osoitteen määrittely palvelimelle (DDClient)

DDClientin asennus vaihtuvalle ip-osoite palvelimelle

Kuluttajatasolla tai muussa tilanteessa jossa ei ole pysyvää ip-osoitetta, tulee ongelma vastaan nimipalvelun sekä oman ip-osoitteenkanssa.  Domaini pysyy samana, mutta ip-osoite ei. Ip-osoite vaihtuu ips pyynnöstä aina tietyin aikavälein. Tämän voi ratkaista asentamalla ddns ohjelman jolla automaattisesti vaihdetaan nimipalvelussa oleva ip-osoite palvelimen ip-osoitteeseen. Tässä ohjeessa käytän ddclient ohjelmaa sekä nimipalvelimena toimii joker.com

Nimipalvelun konfigurointi.

Tässä tilanteessa ei voida käyttää perinteistä A-recordia. Tarvitaan oma yleensä DYNA-recordin nimellä olevaa. Riippuen nimipalvelusta, tarvitaan myös DYNDNS päälle joka hoitaa ip-osoitteen vaihdon nimipalvelusta. Username sekä password pitää olla tallessa, myös hyvä välillä vaihtaa niitä.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

DDClientin asennus

Ohjelma on suositeltava asentamaan fyysiseen koneeseen, esimerkiksi minulla on virtuaali koneita. Vaikka kaikki liikenne toimii virtuaalikoneiden välillä, fyysinen kone on aina se joka antaa virtuaalikoneille verkon sekä takaa että kaikki on toiminnallisena.

Päivitetään ja varmistetaan että asennus tapahtuu uusimmilla paketeilal ja versiolle.

apt update -y

apt upgrade -y

Asennetaan ddclient

apt install ddclient

Asennuksen aikana kysytään monta eri asiaa. Ensin määritellään mitä palvelua käytetään, minulla nimipalvelu tarjoaa tämän eli en käytä mitää yllä olevista. Painan other, sekä sen jälkeen myös other. Kunnes syötän manuaalisesti joker.com.

Seuraavaksi syötetään username sekä password jotka saatiin ddns palvelusta.

Nyt valitaan tapa jolla halutaan tunnistaa ulkoinen ip-osoite. Minä valitsen ylemmän, sillä tunnistetaan minun tapauksessani jokerin omilta sivuilta ip-osoitteeni. Alemmalla taas tunnistetaan ip-osoite verkkolaitteen internetyhteydellä. Molemmat ovat hyviä vaihtoehtoa riippuen tilanteesta.

Syötetään domaini lota halutaan muokata, voit myös syöttää useamman esimerkiksi www. kanssa sekä ilman.

Jos syötit kaikki oikein, automaattinen nimipalvelun päivitys pitäisi nyt toimia.  Mutta esimerkiksi joker.com dyndns palvelussa pitää olla nämä seuraavat konfiguraatiot.

Muokataan konfiguraatio tiedostoa.

nano /etc/ddclient/

# ddclient.conf
#
daemon=5m
use=web
web=svc.joker.com/nic/checkip
server=svc.joker.com/nic/update?
protocol=dyndns2
login=myusername
password=mypassword
host=www.lassinsivut.eu, lassinsivut.eu
ssl=yes

Lopuksi käynnistetään ohjelma uudestaan ja testataan toimivuus.

systemctl restart ddclient

ddclient -daemon=0 -debug -verbose -noquiet

Lopputulos voi näyttää eriltä, minun tapauksessa ip-osoite oli jo oikea joten mitään muutoksia ei tehty.

winserver

Windows palvelimen asennus ja käyttöönotto

Windows 10 palvelimen konfigurointi toimialueelle

Ensin asennetaan käyttöjärjestelmä. Eri organisaatioissa on helpompi kontroloida eri henkilöiden oikeuksia ja edistää niitä. Myös toimialuueeseen liittämisessä on hyötyä se että  jos on paljon koneita sekä käyttäjiä niitä olisi helpomi ohjata ja ongelma tilanteessa helppo ohjeistaa.

Palvelimen konfigurointi ja yhdistäminen

Jotta saadaan tietokoneita yhdistettyä toimialueeseen, tarvitaan Active Directy palvelin sekä DNS nimipalvelin. Ensin kuitenkin laitetaan staattinen ip osoite sekä nimetään kone uudelleen jotta tulevaisuudessa koneen identifokaatio ja yhdistäminen olisi helpompaa.

Ensimmäisen käynnistyksen jälkeen tulee ikkuna jossa ehdotetaan mitä tulisi tehdä sekä muita tärkeitä asioita windows palvelimeen liittyen.

kirjoita kuvateksti

Laitetaan koneen nimi helpommin tunnistettavaan muotoon esim LASSI-WINSERVER. Seuraavaksi konfiguroidaan verkkoasetukset. Painetaan hiiren oikealla network kuvaa ja painetaan Open network & internet settings Change adapter settings > hiiren oikealla verkkokorttia ja painetaan properties > Internet Protocol  Version 4 (TCP/IPv4) Syötetään tiedot seuraavasti:

Ip address

Valittu tyhjä ip osoite joka ei ole käytössä.

Esim 192.168.107

Subnet mask

255.255.255.0

Default gateway

Routerin ip osoite (192.168.2.1) Mutta tässä dokumentissa ei laiteta koneita verkkoon vaan toimivat vain lähiverkossa.

Preferred DNS server

Jätetään tyhjäksi tai kirjoitetaan localhost ip (127.0.0.1)

Alternate DNS server

Jätetään tyhjäksi.

Vaihdetaan koneen nimi Server Manager panelista Kohdasta Local Server > Ethernet interfaces 0 Ja painetaan sinistä tekstiä sen vieressä. Avataan kohta Advanced System Settings > Change

Tämän jälkeen käynnistetään tietokone uudelleen jotta muutokset tulevat voimaan.

Active directyn konfigurointi ja roolien tekeminen

Seuraavaksi asennetaan Active directory ja otetaan käyttöön. Avataan Server Manager panelin etusivu josta painetaan Manage ja sieltä Add Roles and Features.

otetaa tuo ylin

otetaa ylin ja valitaa nykynen kone

valitaa roolit, mä otin kuvassa näkyvät suurinosa on oletuksena voi lisäks ottaa mitä haluu ja tarvii

otetaa ad ds aka domain servises käyttöö

lopuu yhtee veto missä näkee mitä ottii ja onko kaikki ok jos on nii menää etee päi

Kun asennus on valmis, painetaan sinistä Promote this server to a domain controller Jos painaa Close  Niin kaikki asetukset löytyvät kohdasta Tools > add roles and features wizard Server Manager panelin etusivulta (kuva alhaalla)

Seuraavaksi Valitaan Add a new  forest Ja kirjoitetaan toimialueennimi Esimerkiksi: yrityksen nimi tai koulun/toimialueen nimi.

Tässä kohtaa tarvitaan vain määritellä tuo nimi ja sitten suoraan prequiset check ja painaa install. Lopuksi kone käynnistyy itsestään, jos ei niin se pitää tehä että asetukjset tulevat voimaan.

Alustetaan DNS palvelin.Tools > DNS LASSI-WINSERVER > Reverse Lookup Zones > Hiiren oikea > New Zone. Kaikki asetukset voi jättää oletukselle koska tarvitaan vain uusi zone ei muuta. Nyt Reverse Lookup Zone kansiossa pitäisi tulla uusi kohta.

Käyttäjien lisääminen

Kun DNS konfigurointi on tehty, Mennään kohtaan Active Directory Users and Computers lisäämään uusi käyttäjäryhmään sekä käyttäjien järjestely. Tehdään ensin uusi osio käyttäjille ja niiden ryhmille.

Tehdään ensin uusi ryhmä johon lisätään uudet käyttäjät sekä ryhmät. Nimeän sen Tilit ryhmäksi. Samalla voidaan tehdä uudet kansiot esimerkiksi Johto, Tuotanto sekä Varasto ihmisille. Samalla tavalla kuin Tilit kansio.

Seuraavaksi tehdään Jokaiselle ryhmälle ryhmä määrittely johon lisätään kaikki siihen ryhmään kuuluvat tilit.

Tehdään uusi tili samalla tavalla kuin ryhmät mutta nyt painetaan kohtaa user ja täytetään tarvittavat tiedot.

Kun käyttäjä on tehty, lisätään se oikeaan ryhmään. Eli avataan ryhmän kansio ja tupla klikataan ryhmä eli  Organisation Unit. Mennään kohtaan members of ja lisätään tarvittavat henkilöt ryhmään. Nyt voidaan siirtyä windows koneelle joka liitetään toimialueeseen.

Tietokoneen liittäminen toimialueeseen

Ensin määritellään verkonasetukset taas kuten palvelimeen Samalla nimetään kone helpommin tunnistettavasti jos/ja kun toimialueeseen liitetään useita koneita. Tämä ei toki ole pakollista mutta isommissa oganisaatioissa on helpompi tunnistaa koneet ja sen kautta tarvittava ip-osoite.

Ip address

Valittu tyhjä ip osoite joka ei ole käytössä.

Esim 192.168.2.127

Subnet mask

255.255.255.0

Default gateway

Laitetaan palvelinkoneen ip Eli tässä tilanteessa (normaalisti routerin iposoite) 192.168.2.107

Preferred DNS server

Laitetaan palvelinkoneen ip Eli tässä tilanteessa 192.168.2.107

Alternate DNS server

Jätetään tyhjäksi.

Nyt konfiguroidaan verkkoasetukset. Painetaan hiiren oikealla network kuvaa ja painetaan Open network & internet settings > Change adapter settings > hiiren oikealla verkkokorttia ja painetaan properties > Internet Protocol  Version 4 (TCP/IPv4) Syötetään tiedot seuraavasti:

Sitten vielä avataan sama ikkuna josta vaihdettiin koneen nimi, painetaan kohtaa WORKGROUP ja kirjoitetaan toimialueennimi joka aikaisemmin valittiin. Minulla se on lassi-winserver.com

Kun konfigurointi on tehty, koneen pitäisi kysyä kirjautumistunnuksia sekä salasanaa. Koneen voi tarkistaa olevan toimialueeseen liitetty. Mennään taas Server Manager panelin etusivulle ja painetaan Tools > Active Directory Users and Groups Ja sieltä tupla klikataan Serverin nimeä > Computers

Kuten kuvasta näkyy uusi kone näkyy nyt palvelimella. Eli knofigurointi on onnistunut.

Kun kone pyytää tunnuksia, siihen laitetaan windows serverillä konfiguroitu käyttäjä. Nyt kone on liitetty toimialueeseen onnistuneesti.

Toimialueen käyttäjien oikeudet

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

debian

Linux Debian tekstipohjainen asennus

Add Your Heading Text Here

Tekstipohjaisen Debianin asennus

Monesti tietokoneilla on graaffinen käyttöjärjestelmä. On myös olemassa tekstipohjainen versio, ainakin jokaisesta Linux jakelusta. Molemmissa on omat hyvät ja huonot puolet. Graaffista on helpompi käyttää sekä siihen ei tarvita paljoakaan tietoteknistä taitoa, mutta vie huomattavasti enemmän resursseja tietokoneelta.  Tekstipohjainen taas soveltuu hyvin palvelin käyttöön sekä ei vaadi resursseja juuri ollenkaan. Tässä ohjeessa graaffisen sekä tekstipohjaisen asennus on muuten sama, mutta suurin ero on valikosta valitaan Graphical tai non Graphical asennus.

USB-tikun teko

Ensin luodaan bootable-usb tikku jolta käyttöjärjestelmä asennetaan. Asennus .iso tiedoston läydät tästä linkistä.

Seuraavaksi asennetaan ohjelma jolta poltetaan .iso tiedosto tikulle. Ohjelma mitä minä suosin löytyy tästä linkistä.

Ohjelmasta ylämpänä valitaan tikku jolle halutaan .iso tiedosto polttaa. Sen alta valitaan mikä .iso image halutaan polttaa. Lopuksi vielä annetaan tikulle nimi kohdasta Volume label.

Riippuen kokoonpanostasi, saatat tarvita vaihtaa Partition scheme kohdasta sekä Target system kohdasta sopivat vaihtoehdot. Monesti oletusasetuksettoimivat ongelmitta.

Lopuksi painetaan Start nappia, ohjelma kysyy seuraavana poltto tapaa. Oletus asetus toimii melkein aina joten valitaan se. Lopuksi valitaan vielä OK kun ohjelma varmistaa voiko tikun tyhjentää. Muista ottaa tikulta ennen tätä kaikki tärkeä talteen!

Kun tikku on valmis, pitäisi ohjelman alhaalla näkyä tämä.

painetaan Close ja otetaan tikku irti koneesta ja liitetään se koneeseen johon halutaan Debian asentaa.

Usb tikulta boottaaminen ja käyttöjärjestelmän asennus

Nyt täytyy bootata tikulta jotta voidaan aloittaa asennus. Jokaisella valmistajalla on oma boot key, tästä linkistä kuitenkin voit tarkistaa omasi. Jokainen valikko näyttää erillaiselta, niissä kuitenkin yhteinen tekijä on että siellä näkyy kaikki kokoonpanon tallennustilat mukaanlukien usb-tikun. Valitse siis valikosta kohta jossa lukee USB jos näitä kohtia on useampi, kokeile kaikkia järjestyksessä kunnes tulee allaolevan kuvan mukainen valikko.

Esimerkki kuva boot-menusta.

Boottaaminen on onnistunut jos tälläinen valikko tulee näkyviin.

Debianin asennus

Graaffisen käyttöjärjestelmän voit asentaa Graphical install kohdasta, se on työpöytä versio. Minä asennan tekstipohjaisen joten valitsen Install kohdan. Molemmat asennukset ovat miltei samat, suurin ero on ulkonäössä.

Valitaan kieli käyttöjärjestelmälle, suosittelen Englannin kieltä koska vikakoodit sekä logi tiedostot näkyvät sitten Englanniksi. Myös verkosta löytyy materiaalia enemmän Englanniksi kuin Suomeksi.

Valitaan alue jossa sijaitset.

Valitaan näppäimistön kieli. Muista valita Suomi vaikka käyttöjärjestelmä olisikin Englanniksi.

Nyt valitaan tietokoneelle nimi, se voi olla mikä tahansa. Suosittelen kuitenkin käyttämään nimeä jolla tunnistat jos koneita on useampi.

Nyt asetetaan root käyttäjän salasana, käyttäjä on sama kuin esimerkiksi Windowsissa Administrator. Ilman root käyttäjälle pääsyä tai käyttäjän kuulumista root ryhmään, et voi asentaa tai muuttaa kriittisiä asetuksia tietokoneesta.

Nyt luodaan uusi käyttäjä, suosittelen aina kirjautumaan tällä ja asennuksissa ja isoissa muutoksissa root käyttäjän oikeuksia.

Seuraavaksi valitan tallennuslevy minne haluat asentaa käyttöjärjestelmän. Älä asenna usb-tikulle!

Käyttöjärjestelmän osille voidaan määrittää manuaalisesti koko. Suosittelen käyttämään vain yhtä levyosiota aloittelijoille.

Lopuksi tallennetaan levymuutokset painamalla Kyllä

Asennuksen välissä on mahdollisuus lisätä muita asennusmedoita, esimerkiksi verkkokortille tai näytönohjaimelle. Tämän voi kuitenkin ohittaa painamalla Ei.

Seuraavaksi valitaan mistä tietokone hakee viralliset paketit ohjelmien asennusta varte. Tähän kohtaan kannattaa määritellä se maa, missä fyysinen tietokone sijaitsee.

Seuraavana on asennuspalvelimen osoite, oletus on hyvä. Toki voit halutessasi valita jonkun muun.

Seuraavaksi ohjelma kysyy välipalvelinta, sen voi ohittaa painamalla Jatka.

Asennuksen pulessavälissä kysytään tilastotietojen lähetyksestä. Jatka valitsemalla Ei.

Seuraavaksi valitaan mitä haluat tietokoneessa olevan esiasennettuna. Vaikka valitsit Install ja haluat asentaa Työpöytäversion valitse siis Debian desktop enviroment. Itse tykkään aina valita SSHWEB ja Vakio työkalut. Voit itse miettiä mitä tarvitset.

Lopuksi vielä asennetaan grup valikko. Tämä kannattaa aina olla asennettuna!

Valitse vielä tallennuslevy johon asennutit käyttöjärjestelmän.

Asennus on nyt valmis, paina vielä Jatka jotta käynnistetään kone uudelleen. Muista lopuksi ottaa usb-tikku irti tietokoneesta.

Jos asennus on onnistunut ruudn pitäis näyttää tältä tekstipohjaisessa versiossa.

Sekä tältä graafisessa versiossa.

Nyt on uusi käyttöjärjestelmä asennettu. Lisää ohjeita löydät blogi osiosta!

image-35

Debian reverse proxy for web server

Debian reverse proxyn teko

Reverse proxy on erittäin hyödyllinen jos palvelimia on paljon, mutta sinulla on vain 1 tai rajattu määrä ip-osoitteita. Tässä ohjeessa minulla on 1 ip-osoite, sekä 3 muuta palvelinta jotka haluan internettiin. Tässä tilanteessa tarvitaan 1 kone ohjaamaan kaiken liikenteen julkisesta ip-osoitteesta ja siirtämällä clientin palvelimelle jota hän on kutsunut.

Jos taas et ole jo luonut alidomainin palvelimia, voit katsoa alla olevat linkit niiden tekoon.

Pakettien ja moduulien asennus

Ensin asennetaan www-palvelin joka hoitaa uudelleenohjauksen eri palvelimiin. Myös tarvittavat moduulit jotka proxyn tekemiseen tarvitaan.

apt-get install apache

systemctl enable apache2

systemctl start apache2

Nyt asennetaan palomuuri koneelle, sillä avataan portit 80 (webpalvelin) ja 443 (ssl-salattu liikenne)

apt-get install ufw

systemctl enable ufw

systemctl start ufw

ufw allow 80

ufw allow 443

Vielä pieni ohjelma jolla estetään ylimääräisiä kirjautumisia varsinkin jos ssh yhteys on otettu käyttöön.

apt-get install fail2ban

systemctl enable fail2ban

Sitten vielä lopuksi apachen proxy moduulit käyttöön

a2enmod proxy

a2enmod proxy_http

a2enmod proxy_balancer

a2enmod lbmethod_byrequests

Konfiguroidaan reverse proxy

Ensin nimetään oletus konfigurointi tiedosto uuteen.

cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/reverseproxy.conf

Otetaan uusi tiedostot voimaan ja poistetaan vanha käytöstä.

a2ensite reverseproxy.conf

a2dissite 000-default.conf

Lopuksi vielä käynnistetään Apache uudelleen ja tarkistetaan sen tila.

systemctl restart apache2

systemctl status apache2

Tehdään vielä symlink jotta samaa tiedostoa voidaan muokata useammasta eri polusta. Tässä tilanteessa /sites-available ja /sites-enabled

ln -s /etc/apache2/sites-available/reverseproxy.conf /etc/apache2/sites-enabled/reverseproxy.conf

Lisätään isäntätiedostoon vielä alidomainit joita halutaan käyttää.

nano /etc/hosts

 178.55.172.151 lassinsivut.eu   cloud.lassinsivut posti.lassinsivut.eu

Jos sinulla ei ole kiinteää ip-osoitetta, tee tässä muodossa:

192.168.101.133 lassinsivut.eu

192.168.101.134 cloud.lassinsivut.eu

192.168.101.135 posti.lassinsivut.eu

Asennetaan vielä php. Tätä ei ole pakko asentaa, mutta sille on monesti tulevaisuudessa tarvetta.

apt install apt-transport-https lsb-release ca-certificates

apt install wget

apt-get install gnupg

apt install software-properties-common ca-certificates lsb-release apt-transport-https

sh -c ’echo ”deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’

wget https://packages.sury.org/php/apt.gpg

apt-key add apt.gpg

apt-get update

SUOSITTELEN KÄYTTÄMÄÄN UUSINTA PHP VERSIOTA. (Ohjeen tekohetkellä 8.2)

apt install apache2 php7.4 libapache2-mod-php7.4 php7.4-common php7.4-mbstring php7.4-xmlrpc php7.4-soap php7.4-gd php7.4-xml php7.4-intl php7.4-mysql php7.4-cli php7.4-ldap php7.4-zip php7.4-curl

Nähdään php versio sekä onko asennus onnistunut.

php-v

Luodaan proxy

Muokataan aikaisemmin luotua proxy konfigurointi tiedostoa ja tehdään alidomainien konfigurointi sinne.

/etc/apache2/sites-enabled/reverseproxy.conf

Seuraavaksi lisätään alidomainien niinsanotut ”blockit”. Niihin määritellään että kyseessä on reverse proxy, mikä paikallinen ip-osoite ohjataan siihen, mikä alidomain sekä tarvittaessa uudelleenohjaus www tai ilman https ssl suohaukseen. Ssl suojaus määritellään alempana.

<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://192.168.101.133:80/
ProxyPassReverse / http://192.168.101.133:80/
ServerName lassinsivut.eu
ServerAlias www.lassinsivut.eu

RewriteEngine on
Redirect permanent / https://lassinsivut.eu

RewriteCond %{SERVER_NAME} =lassinsivut.eu [OR]RewriteCond %{SERVER_NAME} =www.lassinsivut.eu
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]</VirtualHost>

<VirtualHost *:80>
ProxyPreserveHost On
ProxyPass / http://192.168.101.134:80/
ProxyPassReverse / http://192.168.101.134:80/
ServerName cloud.lassinsivut.eu
ServerAlias www.cloud.lassinsivut.eu

RewriteEngine on
Redirect permanent / http://cloud.lassinsivut.eu

RewriteCond %{SERVER_NAME} =cloud.lassinsivut.eu [OR]RewriteCond %{SERVER_NAME} =www.cloud.lassinsivut.eu
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]</VirtualHost>

Kirjoita nyt selaimeesi domainisi sekä valitut alidomainit, ne ohjaavat

Nyt kirjoitetaan selaimeen omat domainit ja huomataan että sielä tulee oikeat palvelimet vastaa, mutta ongelmana on että yhteys ei ole suojattu ja salattu. Tarvitaan siis ssl sertifikaatti asennettua.

Certbot ssl

Asennetaan ssl tämä suojaa sekä salaa kaiken liikenteen sinun ja palvelimen välillä. Mahdollista myös luoda ssl wildfire, siinä sinulla on vain yksi sertifikaatti jokaisen alidomainin sijasta. Tämä voi tulla hyödylliseksi etenkin kuin eri domaineja sekä alidomaineja alkaa olemaan erittäin paljon. Tässä kuitenkin asennan normaalin sertifikaatin jokaiselle alidomainille jotta yksinkertaisyys pysyy.

apt install python3-certbot-apache

certbot -d www.lassinsivut.eu -d lassinsivut.eu

Täytetään tiedot joita certbot kysyy.

certbot -d www.cloud.lassinsivut.eu -d cloud.lassinsivut.eu

Tarvittaessa sertifikaatin voi uusia:

certbot –force-renewal

Annetaan listasta domainit jotka haluat uusia. Lopuski Käynnistetään apache uudestaan

systemctl restart apache2

Jotta reverse proxyssa saadaan cert botti toimimaan, töytyy meidän muuttaa taaas apachen virtualhost fileä.

nano /etc/apache2/sites-enabled/reverseproxy.conf

Viimeisenä automatisoidaan sertifikaatin uusiminen, normaalisti se täytyy uusi aina 30 päivän välein. Tämä onnistuu kuitenkin helposti Linuxin cron ohjelmalla.

crontab -e

Lisätään loppuun seuraava määritys jossa certbot uusii kaikki sertifikaatit ja käynnistää apachen viikon välein maanantaina n.klo 5am.

0 5 * * 1 certbot renew –force-renewal && systemctl restart apache2

<VirtualHost *:443>
ServerName lassinsivut.eu
ServerAlias www.lassinsivut.eu

SSLEngine On
SSLProxyEngine On
Redirect / https://lassinsivut.eu
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://192.168.101.133:80/
ProxyPassReverse / http://192.168.101.133:80/

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/www.lassinsivut.eu/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.lassinsivut.eu/privkey.pem
</VirtualHost>

<VirtualHost *:443>
ServerName cloud.lassinsivut.eu
ServerAlias www.cloud.lassinsivut.eu

SSLEngine On
SSLProxyEngine On
Redirect / https://cloud.lassinsivut.eu
ProxyRequests Off
ProxyPreserveHost On
ProxyPass / http://192.168.101.134:80/
ProxyPassReverse / http://192.168.101.134:80/

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/www.cloud.lassinsivut.eu/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.cloud.lassinsivut.eu/privkey.pem
</VirtualHost>

Ongelma php kanssa

Olen huomannut että tietyt php sovellukset eivät toimi tuon proxy konfiguraation kanssa. Tämä konfiguraatio on minulla toiminut ja korjannut asian jos tuo yllä mainittu ei toimi.

<VirtualHost *:80>
ServerName lassinsivut.eu
ServerAlias www.lassinsivut.eu
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* – [F]
Redirect / https://lassinsivut.eu/
</VirtualHost>

<VirtualHost *:443>
ServerName lassinsivut.eu
ServerAlias www.lassinsivut.eu
SSLEngine On
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerExpire off

SSLCertificateFile /etc/letsencrypt/live/lassinsivut.eu/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/lassinsivut.eu/privkey.pem

ProxyPreserveHost On
ProxyPass / https://192.168.101.133:443/
ProxyPassReverse / https://192.168.101.133:443/
</VirtualHost>