Henry Isakoff 🥕 Linux Palvelimet

| Linux Palvelimet | 4 min

Virtuaaliserveri VPS ja kaikki porkkanat ulkona!

Tietoturvavinkit:

- Älä koskaan käytä root-tunnusta
- Käytä aina SSH-avaimia salasanojen sijaan
- Pidä palvelin päivitettynä
- Käytä UFW-palomuuria
- Käytä vahvoja salasanoja

Domain ja Apache:

- Luo VirtualHost-tiedosto
- Käytä public_html-kansiota kotihakemistossa
- Muista oikeat tiedosto-oikeudet
- Testaa toimivuus
- Tarkista virhelokit ongelmatilanteissa

Hyvät käytännöt:

- Tee aina varmuuskopiot
- Dokumentoi muutokset
- Testaa kaikki muutokset
- Pidä asetukset yksinkertaisina
- Seuraa lokitiedostoja säännöllisesti

Perustarkistukset:

- SSH-yhteyden toimivuus
- Palomuurin säännöt
- Apache-sivun toimivuus
- Lokitiedostojen tarkistus
- Käyttöoikeudet

Lähteet lopussa.

Serverin vuokraus, Debainin päivitys ja porkkanat.

Vuokrataan palvelin upcloud.comista. Tämän jälkeen luodaan uusi SSH avain palvelimelle ja annetaan tämän avaimen julkinen osuus sivustolle.

SSH avain, jolla yhdistää

Ensimmäisenä lisäsin omalle nimipalvelimelleni A-recording VPS palvelimen ip4 osoitteeseen. Palvelimen nimipalvelin tulee olemaan hh.isakoff.fi/h.iskff.fi

Deplymentin jälkeen serverin tullessa päälle otetaan yhteys ensin root käyttäjällä.

ssh root@hh.isakoff.fi

Tässä kohtaan hyväksytään somernjälki ja kädenpuristus.

Root käyttäjänä palvelimen käyttö ei kuitenkaan ole suotavaa tai hyvän käytännön mukaista. Siispä luodaan uusi käyttäjä ja lisätään käyttäjä ’sudo’ ryhmään.

adduser henry 

Lisätään käyttäjä sudo ryhmään samalla toimintakehottella kuin äsken, mutta nyt lisätään oikeuksia.

adduser henry sudo

Luodaan SSH avaimille peruskansio ja kopioidaan root käyttäjän avaimet käyttäjälle henry

mkdir /home/henry/.ssh
cp /root/.ssh/authorized_keys /home/henry/.ssh/

Asetetaan oikeudet avaimille, oikealle käyttäjälle

chown -R henry:henry /home/henry/.ssh
chmod 700 /home/henry/.ssh
chmod 600 /home/henry/.ssh/authorized_keys

Tämän jälkeen uudessa ikkunassa kirjaudutaan

ssh henry@hh.isakoff.fi

Todetaan toimivaksi niin poistetaan root käyttäjän avaimet.

rm /root/.ssh/authorized_keys

Vaihtoehtoisesti voidaan myös

sudoedit /etc/ssh/sshd_config

ja poistetaan päältä root oikeus etsimällä teksti ja aktivoimalla.

PermitRootLogin no

Ctrl + x tallennus.

Tämän jälkeen käynnistetään palvelu uudestaan.

systemctl restart sshd

Ja näin on pelkästään käyttäjällä Henry ssh avaimet omassa linux-palvelimessa!

Päivitetään vielä koko kone ja poistetaan ylimääräiset paketit.

`sudo apt-get dist-upgrade; sudo apt-get autoremove`

Palomuuri, TCP ja apache.

Seuraavaksi asennetaan UFW ja Apache. Avataan UFW:n SSH portti ja laitetaan hommat päälle

sudo apt-get install ufw apache2

Tämän jälkeen luodaan sääntö SSH ja html porteille.

sudo ufw allow 22;sudo ufw allow 80

Hyvä vielä taskastaa, että portit ovat auki

sudo ufw status

Tämän jälkeen ufw päälle

sudo ufw enable

Portit auki

Nyt meillä on toimiva apache-yhteys ja toimivat sivut osoitteessa hh.isakoff.fi

Apache päällä

Korvataan sivut ja porkkana!

Käytetään viime viikon komentoja ja luodaan uusi sivusto

mkdir -p /home/henry/public_html/hh.isakoff.fi
sudo nano /etc/apache2/sites-available/hh.isakoff.fi.conf
<VirtualHost *:80>
    ServerName hh.isakoff.fi
    DocumentRoot /home/henry/public_html/hh.isakoff.fi

    <Directory /home/henry/public_html/hh.isakoff.fi>
        Options -Indexes +FollowSymLinks
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/hh.isakoff.fi_error.log
    CustomLog ${APACHE_LOG_DIR}/hh.isakoff.fi_access.log combined
</VirtualHost>
echo "<h1>hh.isakoff.fi toimii! </h1>" | sudo tee /home/henry/public_html/hh.isakoff.fi/index.html

Poistetaan apachen-perussivu ja aktivoidaan oman sivun konfiguraatio ja käynnistetään palvelu uudestaan.

sudo a2dissite 000-default.conf; sudo a2ensite hh.isakoff.fi.conf

sudo systemctl reload apache2

Lisätään vielä hosts tiedostoon palvelinnimi.

sudoedit etc/hosts

127.0.0.1 hh.isakoff.fi

Toimii!

Ja näin ollaan toiminnassa!

Lähteet, https://terokarvinen.com/linux-palvelimet/ https://susannalehto.fi/2022/teoriasta-kaytantoon-pilvipalvelimen-avulla-h4/ https://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean/

Dokumentissa käytetty apuna formatoinnissa ja tekstinkäsittelyssä LLM mistra-small:24b järkeily + gemma2:27b sanoitus malleja sekoitettuna kirjoittajan omalla opetusdatalla. WilmerAI välissä. https://ollama.com/library/mistral-small:22b https://ollama.com/library/gemma2:27b https://github.com/SomeOddCodeGuy/WilmerAI

Kuvat optimoitu https://optimage.app

Käytetty aika 1h 27min