Tiedonsiirto www-palvelimelle
Miten käyttäjä saa tiedot siirrettyä www-palvelimelle?
- Telnet mahdollistaa hallinnan (komentokehoite) portti 23, yhteys selväkielinen.
- FTP mahdollistaa tiedostojen siirrot, portti 21, yhteys selväkielinen.
- SSH mahdollistaa molemmat salakirjoitusta käyttäen (salasanojen tai itse yhteyden kaappaaminen vaikeampaa), portti 22.
Telnet voidaan tässä yhteydessä unohtaa kokonaan, koska ssh on olemassa.
SSH sallii oletuksena sekä tiedonsiirron, että normaalin järjestelmään kirjautumisen. Jos www-palvelimelle tiedostoja siirtäviä ei tahdo järjestelmän normaaleiksi käyttäjiksi, SSH:ta on rajoitettava. "chroot jail" sulkee käyttäjät varsinaisesta järjestelmästä eristettyyn osaan tiedostojärjestelmää.
ftp:ssä "chroot jail" on vakio-ominaisuus ja helposti otettavissa käyttöön, mutta ftp käyttää selväkielistä liikennettä, josta salakuuntelijan on helppo poimia salasanat (myös yhteyden kaappaaminen on mahdollista).
Proftpd
Asennus ja käyttöönotto Redhatissa ja joissakin muissa jakeluissa, muissa soveltaen:
yum install proftpd chkconfig –level 35 proftpd on service proftpd start
setupilla ftp (portti 21) auki:
Lisää /etc/sysconfig/iptables-config tiedostoon
IPTABLES_MODULES="ip_conntrack_ftp ip_nat_ftp" (riville 6)
Anna komennot:
modprobe ip_nat_ftp modprobe ip_conntrack_ftp service iptables restart
Testaa
ssh-chroot
SSH-vankilan takoituksena on mahdollistaa tietojen suojattu siirtäminen ja yhteyden otto palvelimeen (salasanat kulkevat kryptattuna eivätkä tekstimuodossa kuten ftp:llä), kuitenkin niin ettei käyttäjä pääse pois omasta hakemistostaan eikä antamaan muita kuin siirrossa tarvittavia komentoja. Vankilan voi tehdä itse käsin (työläs ja erittäin vativa operaatio), käyttämällä maksullista (oppilaitoksille ilmainen) ssh communicationin (http://ssh.com/products/tectia/server/) ssh-palvelinohjelmistoa (käyttö selostettu kirjassa: http://www.itpress.fi/vanhat/doc/kirjat/linux-koulutuspaketti.html) tai esimerkiksi alla esitellyllä scponly sovelluksella.
- Asenna kääntäjä (sovelluksesta ei ole valmista binaaria):
yum install gcc
- Hae tarvittava paketti scponly-4.3.tgz osoitteesta http://www.sublimation.org/scponly/
- Pura paketti tar -xvzf scponly-4.3.tgz
- Lue INSTALL tiedosto
- Muuta ennen asennusta helper.c tiedoston koodia poistamalla extern sanan int optreset edestä (muuten koodin kääntäminen make kohdassa kaatuu virheilmoitukseen).
- Asenna:
./configure -–enable-chrooted-binary make make install
- Lisää kuoret (/etc/shells tiedostoon scponly ja scponlyc koko polulla, updatedb ja slocate auttaa -> /usr/local/bin/scponly ja /usr/local/sbin/scponlyc)
- Kommentoi rivit 70-77 setup_chroot.sh tiedostosta (muuten make jail kaatuu virheeseen).
- Luo uusi käyttäjä, joka on chrootattu antamalla komento: make jail (kirjoituskansioksi public_html)
- Anna make jail ajon lopussa ehdotettu cp groups /ho... komento
- Valitettavasti kirjastot eivät vielä löydy. Voit todeta kirjastojen puuttumisen yrittämällä kirjautua komennolla:
ssh -e none käyttäjänimi@palv.kon.ip.num "echo -n xsftp : sftp-server"
- Nähdäksesi tarvittavat kirjastot anna komento
ldd /usr/libexec/openssh/sftp-server
- Kopioi tarvittavat kirjastot käyttäjän kotihakemiston alla olevaan lib hakemistoon ja luo niihin tarvittavat symboliset linkit:
ln -s libresolv-2.3.5.so libresolv.so.2 ln -s libcrypto.so.0.9.7f libcrypto.so.5 ln -s libutil-2.3.5.so libutil.so.1 ln -s libz.so.1.2.2.2 libz.so.1 ln -s libnsl-2.3.5.so libnsl.so.1 ln -s libcrypt-2.3.5.so libcrypt.so.1 ln -s libgssapi_krb5.so.2.2 libgssapi_krb5.so.2 ln -s libkrb5.so.3.2 libkrb5.so.3 ln -s libk5crypto.so.3.0 libk5crypto.so.3 ln -s libkrb5support.so.0.0 libkrb5support.so.0 ln -s libcom_err.so.2.1 libcom_err.so.2 ln -s libc-2.3.5.so libc.so.6 ln -s libdl-2.3.5.so libdl.so.2
- Tarkista gftp-ohjelmalla ja terminaalilla vankilan toimivuus.