logo
Etusivu
Käsikirja
Opinnäytetyö
Tiedostot
Linkit
Muuta

LeHTori

Käsikirja

2 FreeBSD Käyttöjärjestelmä

2.1 Esitellään FreeBSD

2.2 Asennetaan FreeBSD

2.3 Yleistä UNIX järjestelmistä

2.4 Peruskomennot

2.5 Komentotulkit

2.6 Ohjelmien asentaminen ja päivittäminen

2.7 Käynnistysjonot

2.8 Asetustiedostot

2.9 Levykiintiö eli quota

2.10 FreeBSD:n kerneli

2.11 Yhteyden jakaminen NATD:llä

2.12 Palomuuriohjelmistot

2.13 Cvsup ja verkosta päivittäminen

2.14 Käyttöjärjestelmän päivittäminen

2.15 XFree86 Ikkunointijärjestelmä

2.16 Sysinstall Ohjelmisto

2.17 Yleisiä ongelmia

2.18 Muuta

2.19 Levyjärjestelmän laitteiden-nimet

3 Asennetut palvelinohjelmistot ja niiden käyttäminen

3.1 Samba ja toimialuepalvelin

3.2 Squid, Internetin välityspalvelin (proxy)

3.3 Apache, Web-palvelin

3.4 Postfix, Sähköpostipalvelin

3.5 Popd, Sähköpostin hakupalvelin

3.6 Openwebmail

3.7 Bind9, DNS-palvelin

3.8 OpenSSH

3.9 OpenSSL sertifikaatti


OpenSSH

Mikä on OpenSSH?

OpenSSH on vapaa SSH verkkotyökalu, jonka ovat luoneet monet Internetin käyttäjät. Monet telnet:in rlogin, ftp ja muut ohjelmat eivät ole tajunneet vielä. Sitä, että salasanat välitetään internetissä ei salattuna, mutta OpenSSH salaa kaiken liikenteen (mukaanlukien salasanat), estäen tehokkaasti salakuuntelun, sieppauksen ja muut -verkonhyökkäykset. Lisäksi, OpenSSH tarjoaa lukemattoman joukon salaustunnelin kykyä, jotka ovat hyvin erillaisia salausmekanismejä.

OpenSSH työkalu sisältää ssh ohjelman, joka korvaa rlogin ja telenet ohjelmat. scp joka korvaa rcp:n ja sftp, joka korvaa ftp:n. Mukana myös sshd, mikä on palvelin puolen paketti joka sisältää muut työkalut kuten ssh-add, ssh-agent, ssh-keysing, ssh-keyscan, ssh-keygen ja sftp-server:in. OpenSSH tukee SSH protokollia 1,3 1,5 ja 2.0

OpenSSH on pääasiallisesti rakentanut OpenBSD projekti ja ensikertaa se tuli mukana OpenBSD 2.6 järjestelmässä. Ohjelmisto on rakennettu USA:n ulkopuolella, noin kymmenessä maassa ja se on vapaasti käytettävissä kaikille BSD lisenssin alla.

Mitä OpenSSH:lla voidaan tehdä?

Voit hallita ssh:n kautta palvelimiasi etänä ja ajaa niissä ohjelmiasi. Et tarvitse fyysisesti olla paikan päällä säätämässä konetta, vaan voit olla missä tahansa ja muodostaa palvelimeesi turvallisesti yhteyden.

Yleistä tietoturvallisuudesta SSHD palvelimen kanssa:

Käyttäjien kirjautumien:

Unix käyttäjäntunnukset ja SSH palvelin. Käyttäjät, jotka saavat komentotulkin palvelimeltasi käyttöön, ovat oikeutettuja kirjautumaan järjestelmääsi oletuksena. Ylläpitäjät, jotka haluavat varmistua, että käyttäjät eivät voi ajaa palvelimella mitään omia sovelluksiaan, voivat asettaa komentotulkiksi esimerkiksi nologin tai passwd. Tällöin käyttäjän tunnus ei pääse kirjautumaan unixin konsoliin ja ajamaan ohjelmia siellä.

Vinkkejä:

Suoraan pääkäyttäjänä kirjautuminen:

Suoraan pääkäyttäjänä kirjautumisien salliminen on huono idea, se kasvattaa tietoturvariskiä järjestelmässäsi. Jo vakiona sshd palvelin ei salli pääkäyttäjänä kirjautumista eli rootlogin:inia. Wheel käyttäjät voivat vaihtaa pääkäyttäjäksi itsensä "su" komennolla.

Pääkäyttäjän oikeudet:

Pääkäyttäjän eli root:in oikeuksiin sisältyy aina riskinsä. Pääkäyttäjällä kun on valtaa päästä minnevain järjestelmässä. Unix järjestelmissä root käytäjätunnuksen salasanan kertomista tulisi välttää viimeiseen asti. On olemassa apuohjelmia, joilla eri käyttäjäntunnuksilla ja ryhmille voidaan antaa lisää oikeuksia suorittaa, joitakin toimintoja joita vain root tunnuksella on oikeus tehdä:

sudo

sudo apuohjelmalla voit antaa tietyille käyttäjäryhmille mahdollisuuksia suorittaa tiettyjä komentoja tai vaihtaa pääkäyttäjän tilaan suoraan. Etuna sudo:lla onkin, että sillä saadaan rajattua tarkasti eri käyttäjäryhmien oikeuksia, mitä kukin voi tehdä pääkäyttäjänä. Esimerkkinä isoissa organisaatioissa. Joillakin ylläpitäjillä voi olla tarvetta luoda ja poistaa tunnuksia tällöin voit antaa sudo:lla oikeuden ajaa "adduser" komentoa ryhmälle tai käyttäjälle. Hyvin suunnitellussa järjestelmässä voi olla kymmeniäkin ylläpitäjiä, jotka eivät tiedä pääkäyttäjän salsanaan ja he voivat tehdä tarvittavat toimensa, kuten vaihtaa salasanoja, luoda uusia tunnuksia ja poistaa vanhoja tunnuksia.

Äärimmäisissä tapauksissa pääkäyttäjänä kirjautuminen järjestelmään olla estetty kaikilta, tällöin esimerkiksi sudo:lla hoidellaan tehtävät, jotka vaatisivat pääkäyttäjänä suorittamista. Tällöin esimerkiksi krakkerin pääseminen järjestelmääsi käsiksi vaikeutuu huomattavasti.

Liikenteen suodattaminen:

Tehokkain tapa suodattaa ssh:n likennettä on järjestää kunnollinen palomuuri, joka sallii vain yhteydet tietyistä osoitteista ssh:n. SSH liikennettä on myös mahdollista suodattaa "hosts.allow" tiedostossa. Tämä tiedosto ei ole yhtä tehokas ja hyvä, kuin palomuuri suodattamaan liikennettä.

Päivitä SSH ohjelmistoasi:

OpenSSH järjestelmä sisältää reikiä, kuten muutkin ohjelmistotm joten seuraa tietoturvapäivityksiä. Usein krakkerointi Unix järjestelmään tapahtuu päivittämättömän etähallinta ohjelmiston kautta. Krakkerit pyrkivät käyttämään, jotain olemassaolevaa haavoittuvuutta hyväkseen ja pääsemään tätä kautta järjestelmään, vaikkei ssh olekaan altis vertaa esim. telnet ohjelmistoon on kuitenkin hyvä noudattaa äärimmäistä varovaisuutta kaikkien etähallintaohjelmistojen kanssa.

Älä käytä SSH 1 protokollaa:

Ssh tukee ssh 1 protokollaa, mutta koska se alkaa olla jo tiensä päässä ja riittämätön suojaus. Suositus onkin käyttää ssh2 protokollaa, joka salaa liikenteen ja salasanat huomattavasti vahvemmalla salauksella.

"Tietoturvapolitiikka ei voi koskaan olla liian tiukkaa, aina jotain voi tehdä enemmän"

Kuinka voin ottaa SSH palvelimen käyttööni?

Tarkista että seuraava rivi on "/etc/rc.conf" tiedostossa
sshd_enable="YES"

Tämän jälkeen voit käynnistää sshd palvelimen 5.x
/etc/rc.d/sshd start

4.x voit käynnistää sshd palvelimen
sshd start

Kuinka voin poistaa sshd palvelimen käytöstäni?

Muuta /etc/rc.conf tiedoston asetuksia:
sshd_enable="NO"

Pysäytä sshd:
killall sshd

SSHD palvelimen asetusten muokkaaminen

Mistä löydän asetustiedostot?
/etc/ssh/

sshd_config = Sisältää palvelimen asetustiedot
ssh_config = Sisältää asiakasohjelman asetustiedot
key ja pub = Tiedostot pitävät sisällään avaimet, "key" tiedosto purkuavaimen ja "pub" julkisen avaimen.

Tässä muutamia asetuksia sshd:n asetustiedostosta

Port 22Portti johon avataan yhteys
Protocol 2ssh:n versiot, joita käytetään eroiteltuna pilkulla esim 2,1
#ListenAddress 0.0.0.0Kuunnellaan osoitetta ipv4
#ListenAddress ::Kuunnellaan osoitetta ipv6

ListenAddress määrittää paikallista osoitetta jota kuunnellaan
ListenAddress osoite|IPv4_osoite|IPv6_osoite
ListenAddress osoite|IPv4_osoite:portti
ListenAddress [osoite|IPv6_osoite]:portti

Esimerkiksi 192.168.0.1:22

#HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_keyssh 1 version avain
#HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_dsa_keyssh 2 version avain
#Banner /etc/motdEnnen tunnistautumista näytettävä banneri (tulostetaan kun käyttäjän tunnus annetaan)
#LoginGraceTime 120Aika sekunteina, jonka aikana käyttäjän on onnistuttava kirjautumaan sisään järjestelmään. Oletuksena käytetään 120 sekunttia.
#PermitRootLogin noSalli kirjautua pääkäyttäjänä
#MaxStartups 10Montako käyttäjää voi olla kirjautuneena enimmillään tunnistamattomassa tilassa. Oletukena käytetään 10 käyttäjää mikäli tätä ei ole määritelty
Subsystem sftp /usr/libexec/sftp-serversftp serverisi sijainti

ssh palvelimien ylläpitäjien kannattaa tustua tarkemmin ssh palvelimeen www.openssh.org sivustolla

Ssh asiakasohjelmat: sftp, ssh, scp

ssh

Voit muodostaa ssh ohjelmalla yhteyksiä ssh käyttäjäntunnus@osoite -parametrit muotoisesti. Esimerkiksi ssh mattimei@unixdomain.fi

Mikäli muodostat yhteyden ensimmäisen kerran, sinut tulee hyväksyä "fingrerprint" "yes" painikkeella, jonka ssh sinulta kysyy.

ssh = Secure Shell pääteohjelma

-l käyttäjäLogaa käyttäen tätä käyttäjätunnusta
-nLähetä tuleva data suoraan tyhjiöön eli /dev/null:iin
-F asetustiedostoKonfiguraatiotiedosto (Oletus = ~/ssh/ssh_config"
-ALisää päälle autentisointi välitys uudelleen lähetyksestä
-aPoista autentisointi välitys uudelleen lähetyksestä (oletus).
-XX11 uudelleenlähetys päälle
-xPoista X11 uudelleenlähetys käytöstä
-i tiedostoJulkinen avain salauksessa (oletkuksena: ~/.ssh/identity)
-TÄlä varaa käyttöön "terminaalia"
-vNäytä virheviestit
-VNäytä ohjelman versio numero
-qHiljainen tila: älä näytä viestejä
-fTyöskentele taustalla autentikaation jälkeen
-e merkkiAseta keskeytyskirjain; "tyhjä" = pois päältä (oletus: ~).
-c koodiValitse salausmekanismi
-p porttiYhdistä portissa.
-CSalli kompressointi
-NÄlä suorita shell komentoa
-1Käytä ssh1 yhteyttä.
-2Käytä ssh2 yhteyttä
-4Ipv4 protokolla ainoastaan (oletus)
-6Ipv6 protokolla ainoastaan
-o "optio"Process the option as if it was read from a configuration file.
-sInvoke command (mandatory) as SSH2 subsystem.
-b osoitePaikallinnen ip osoite

sftp

Sftp = Secure FTP siirto-ohjelma.

Sftp on FTP ohjelman paranneltu versio, joka toimii ssh:n yli. Ohjelma käyttää samoja peruskomentoja, kuin FTP tai smbclient, katso peruskomennot.

Sftp ohjelmalla yhteyden avaaminen tapahtuu ssh ohjelman syntaksin mukaisesti sftp tunnus@kone.domain .

scp

Scp = Tiedoston kopiointiohjelma ssh tunnelin yli.

scp kopioi tiedostoja kahden isänän(host) välillä verkossa. Se käyttää ssh(1) siirtoon, käyttää samaa autentaatiota ja tarjoaa saman suojauksen kuin ssh(1). scp kysyy salasanan jos niitä tarvitaan autentaatioon toisin kuin rcp.

Mikätahanhsa tiedostonimi voi sisältää isännän(host) ja käyttäjän spesifikaation näyttääkseen että tiedosto on tulossa kopioiduksi tietystä isännästä. Kopiointi kahden etä isännän välillä on sallittu.

-pSäilyttää muutosten teko ajat, pääsy ajat, ja alkuperäisen tiedoston moodit.
-rRekursiivisesti kopioi koko hakemistot.
-vNäyttää kopioinnin tapahtumat, suositeltava aina.
-BValitsee erä moodin.(estää salasanojen kyselemisen).
-qHävittää edistymismittarin.
-CPakkaus päällä.
-P porttiVoit määrittää etäkoneen portin jonka kautta otat yhteyden.

Muutamia ongelmia SSH asiakasohjelmissa

Mikäli muodostat UNIX tietokoneellasi ahkerasti ssh yhteyksiä törmäät. Ongelmaan, jossa "fingerprint" on mennyt vanhaksi. Tähän syynä on yleensä kaverisi uusi julkinen salausavain. Mahdollisia syitä asialle ovat palvelimen uudelleen asennus tai uuden avaimen luominen. Voit korjata ongelman editoimalla omankäyttäjätunnuksesi ~/.ssh/known_hosts tiedostoa laittamalla # merkin kaverisi osoitteen eteen.

daemon

Tero Asikainen, Mika Mähönen ja Markku Hämäläinen