MySecureShell - SecureFTP: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 112: Line 112:
</source>
</source>
MySecureShell võimaldab väga paindlikku konfiguratsiooni. Järgnevalt toon välja mõningad võimalused, mida saate muuta modifitseerides faili /etc/ssh/sftp_config.<br>
MySecureShell võimaldab väga paindlikku konfiguratsiooni. Järgnevalt toon välja mõningad võimalused, mida saate muuta modifitseerides faili /etc/ssh/sftp_config.<br>
Eelpool tõin välja, et on võimalik ühendada end SFTP serveriga kasutades FileZilla FTP programmi. Kui olete kaasa teinud siiani juhendit, võisite märgata, et kuigi ühendus on võimalik serveriga saavutada, ei ole aga hetkel võimalik midagi serverisse üles laadida. See tuleneb sellest, et konfiguratsiooni failis on määratletud maksimaalseks ühenduste arvuks 1. Kui olete serveriga ühenduses, on see maksimaalne väärtus täidetud ning rohkem ühendusi luua ei ole võimalik (faili laadimiseks on vajalik luua uus ühendus andme-liikluse jaoks). Selleks, et üheaegne ühendus ning andmete üleslaadimine oleks võimalik muudame konfiguratsioonis järgneva parameetri, mis kuulub <Default> teekide vahele:
Eelpool tõin välja, et on võimalik ühendada end SFTP serveriga kasutades FileZilla FTP programmi. Kui olete kaasa teinud siiani juhendit, võisite märgata, et kuigi ühendus on võimalik serveriga saavutada, ei ole aga hetkel võimalik midagi serverisse üles laadida. See tuleneb sellest, et konfiguratsiooni failis on määratletud maksimaalseks ühenduste arvuks 1. Kui olete serveriga ühenduses, on see maksimaalne väärtus täidetud ning rohkem ühendusi luua ei ole võimalik (faili laadimiseks on vajalik luua uus ühendus andme-liikluse jaoks). Selleks, et üheaegne ühendus ning andmete üleslaadimine oleks võimalik, muudame konfiguratsioonis järgneva parameetri, mis kuulub <Default> teekide vahele:
<source lang="bash">
<source lang="bash">
LimitConnectionByUser 2
LimitConnectionByUser 2
Line 142: Line 142:
Include [asukoht] #võimaldab lugeda sisse lisa-konfiguratsiooni faili. Kasulik, kui hoiate kasutajate ning gruppide konfiguratsiooni faile eraldi.
Include [asukoht] #võimaldab lugeda sisse lisa-konfiguratsiooni faili. Kasulik, kui hoiate kasutajate ning gruppide konfiguratsiooni faile eraldi.
</source>
</source>
==Lisakäsklused==
==Lisakäsklused==
Järgnevad käsklused paigaldatakse koos MySecureShell paketiga ning on võimalik käivitada otse terminalist. Eesmärgiks hõlpsustada serverihaldust.
Järgnevad käsklused paigaldatakse koos MySecureShell paketiga ning on võimalik käivitada otse terminalist. Eesmärgiks hõlpsustada serverihaldust.

Revision as of 12:24, 2 January 2014

Under immense construction, ETA unavailable.

Sissejuhatus - mis on MySecureShell ning milleks seda kasutada?

MySecureShell on SFTP serveri konsool, mis põhineb OpenSSH baasil, millele on lisatud lisa-võimalusi. Mõningad võimalused ning positiivsed küljed:

  • Kontroll sisse tuleva ning välja mineva liikluse maksimaalse hetkelise läbilaske üle.
  • Serveri haldus läbi graafilise liidese.
  • Integreeritud ning konfigureeritav logi.
  • Ligipääsukontroll vastavalt kasutajatele, IP aadressidele või gruppidele.
  • Kogu liiklus krüpteeritakse kasutades SSH protokolli.
  • Tarvis lubada vaid üks port (vaikimisi port 22), et ühendus toimiks.

Märkus/Eeldus

Antud labori ülesehitusel installeerin MySecureShell serveri Fedora 19 Linux distributsiooni peale ning kliendina kasutan Ubuntu 12.04LTS distributsiooni.
Labor eeldab OpenSSH serveri olemasolu serveril ning selle töötamist.
Kõik käsud on käivitatud juurkasutaja õigustes!!!
MySecureShell versioon 1-31-1.

Paigaldamine

Automaatne paigaldus kasutades andmehoidlat

Soovitatud variant, ehk lisame MySecureShell andmehoidla Fedorale teadaolevate andmehoidlate nimistusse ning paigaldame programmi läbi paketihaldaja Yum.

  • Kõigepealt lisame MySecureShell andmehoidla Fedora serveri teadaolevasse nimistusse. Selleks lisame järgnevad read faili "/etc/yum.conf"
[mysecureshell]
name=MySecureShell
baseurl=http://mysecureshell.free.fr/repository/index.php/fedora/$basearch/
enabled=1
gpgcheck=0
  • Seejärel värskendame kohaliku informatsiooni andmehoidlates leiduvatest tarkvaradest ning paigaldame vastavad uuendused:
yum update
  • Ning paigaldame tarkvara MySecureShell
yum install mysecureshell.i386


Alternatiivne käsitsi paigaldamine

  • Laeme alla MySecureShell rpm paketi (näites x86 arhitektuurile)
cd ~
wget http://mysecureshell.free.fr/repository/index.php/fedora/i686/mysecureshell-1.32-1.i686.rpm
  • Paigaldame paketi
rpm -ivh mysecureshell_xxx.rpm


Graafilise liidese paigaldamine

Kuigi graafilist liidest võib paigaldada ka klient-arvutisse ning ühendada kaugühendusega serveri külge halduseks, on mõistlik siiski paigaldada see liides otse serveri arvuti külge, kuna sellisel juhul säilib programmi terviklik funktsionaalsus (vastasel juhul ei ole mõningad funktsioonid kättesaadavad). Graafilise liidese paigaldamiseks server arvutisse toimigem järgnevalt:

  • Veendume, et Java on paigaldatud
yum install java-1.8.0-openjdk.i686
  • Laeme alla MySecureShell graafilise liidese ning käivitame kasutades javat
wget http://sourceforge.net/projects/mysecureshell/files/MySecureShell%20Graphical%20Tools/v1.90/MSS_Frontend_v1.9.zip
unzip MSS_Frontend_v1.9.zip
java -jar sftp-mss.jar

Kuna labori näites kasutame OpenJava't ning mitte SUN'i enda ametlikku Java't, siis käivitusele järgneb teavitus selle kohta:

Java error











Ning proovides ühendada kasutajat serveriga, saame teise veateate:

NullPointer java error











Teisest veateatest saab lahti, kui vajutate "Disconnect" ning ühendate uuesti serveriga end. Seejärel töötab liides nagu ette nähtud.

Teenuse kasutaja loomine

Teenusele kasutaja loomine, määrates ära vaikimisi shell (konsool)

useradd -m -s /bin/MySecureShell kasutaja
passwd kasutaja

Kui teil on kasutaja juba eelnevalt loodud, siis vaikimisi konsooli kasutajale saab määrata järgneva käsuga:

usermod -s /bin/MySecureShell kasutaja


Testimine

Peale kasutaja loomist võite proovida ligipääsu kliendi arvutist SFTP serveri poole:

  • Käsurealt
kalle@ubuntuklient:~$ sftp kasutaja@192.168.56.101
The authenticity of host '192.168.56.101 (192.168.56.101)' can't be established.
ECDSA key fingerprint is 64:46:28:c1:9b:90:c6:3f:68:ed:cc:ca:81:60:35:a1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.56.101' (ECDSA) to the list of known hosts.
kasutaja@192.168.56.101's password: 
Connected to 192.168.56.101.
sftp>
  • FileZilla FTP kliendiga
FileZilla











Konfigureerimine

Ennem kui hakkate konfiguratsiooni muutma (eriti läbi graafilise liidese), on äärmiselt tähtis luua algsest konfiguratsiooni failist varukoopia.

cp /etc/ssh/sftp_config /root/copyof_sftp_config

MySecureShell võimaldab väga paindlikku konfiguratsiooni. Järgnevalt toon välja mõningad võimalused, mida saate muuta modifitseerides faili /etc/ssh/sftp_config.
Eelpool tõin välja, et on võimalik ühendada end SFTP serveriga kasutades FileZilla FTP programmi. Kui olete kaasa teinud siiani juhendit, võisite märgata, et kuigi ühendus on võimalik serveriga saavutada, ei ole aga hetkel võimalik midagi serverisse üles laadida. See tuleneb sellest, et konfiguratsiooni failis on määratletud maksimaalseks ühenduste arvuks 1. Kui olete serveriga ühenduses, on see maksimaalne väärtus täidetud ning rohkem ühendusi luua ei ole võimalik (faili laadimiseks on vajalik luua uus ühendus andme-liikluse jaoks). Selleks, et üheaegne ühendus ning andmete üleslaadimine oleks võimalik, muudame konfiguratsioonis järgneva parameetri, mis kuulub <Default> teekide vahele:

LimitConnectionByUser 2

Selle abil määrame ära kõikidele kasutajatele vaikimisi lubatud ühenduste arvuks 2. Tasub meeles pidada, et <Default> teekide vahel tehtud muudatused kehtivad kõigile vaikimisi, kui ei ole parameetrit välja toodud eraldi kasutaja või grupi teekide vahel. Siinkohal toon näite, kuidas olen määranud kasutaja "kasutaja" administraatoriks:

<user kasutaja>
IsAdmin true
</user>

Samuti saab kõiki ülejäänud parameetreid (Üles/allalaadimise kiirus jne) määrata kasutaja kohta või grupi kohta. Järgnevalt toongi välja mõningad parameetrid, mida võiks modifitseerida vastavalt vajadusele ning mida pean tähtsaks.

GlobalDownload 50k #määratleb serverist allalaadimise kiiruse piirangu kõikidele klientidele kokku. Võimalik kasutada vormingut 50 (50 bitti), 50k (50 kilobaiti), 50m (50 megabaiti). Number 50 on vaid näide.
GlobalUpload 0 #määratleb serverist üleslaadimise kiiruse piirangu kõikidele klientidele kokku. 0 - piirangut ei eksisteeri.
Download 5k #määratleb allalaadimise kiiruse piirangu ühe kliendi kohta.
Upload 0 #määratleb üleslaadimise kiiruse piirangu ühe kliendi kohta.
StayAtHome true/false #määratleb, kas kasutaja on piiratud vaid enda kodukataloogis olema.
LimitConnection 10 #määratleb maksimaalse ühenduste arvu serveri jaoks.
LimitConnectionByUser 2 #määratleb maksimaalse ühenduste arvu kasutaja kohta.
LimitConnectionByIP 2 #määratleb maksimaalse ühenduste arvu lähte-IP-aadressi kohta.
Home /home/$USER #sisse logiva kasutaja kodukataloogi asukoht ($USER muutuja muudab ligipääsu erinevatele kasutajatele dünaamiliseks).
IdleTimeOut 5m #aeg, mille järel ühendus termineeritakse, kui kasutaja ei ole aktiivne.
ResolveIP true/false #serveri IP lahendamine DNS kirjete abil. Keelates selle, saab serverile ligi vaid serveri vastava liidese IP abil.
HideNoAccess true/false #peidab ühendatud kasutaja eest kataloogipuu/kataloogid, kuhu kasutajal õigusi ei ole.
DefaultRights 0640 0750 #määrab uutele/serverisse laetavatele failidele ning kataloogidele vaikimisi õigused.
ShowLinksAsLinks true/false #võimaldab näidata kasutajale seoseid, kui seose sihtpunkti.
LogFile [asukoht] #määrab kuhu logifail kirjutatakse SFTP liiklusega seoses, vaikimisi /var/log/sftp-server_ftp.log
DisableAccount true/false #võimaldab termineerida ajutiselt kasutaja konto.
Include [asukoht] #võimaldab lugeda sisse lisa-konfiguratsiooni faili. Kasulik, kui hoiate kasutajate ning gruppide konfiguratsiooni faile eraldi.

Lisakäsklused

Järgnevad käsklused paigaldatakse koos MySecureShell paketiga ning on võimalik käivitada otse terminalist. Eesmärgiks hõlpsustada serverihaldust.

sftp-kill [kasutajanimi] #termineerib SFTP kasutaja sessiooni
sftp-state #väljund serveri hetkelise seisundi kohta
sftp-user [parameeter] [kasutajanimi] #võimaldab luua/kustutada/väljastada nimekirja SFTP kasutajatest. Võimalikud parameetrid: <b>create</b>, <b>delete</b>, <b>list</b> (viimase puhul ei määrata kasutajanime).
sftp-verif #kontrollib SFTP failide olemasolu, õigusi ning õigsust.
sftp-who #väljastab nimekirja hetkel serveriga ühenduses olevatest kasutajatest ning info nende sessioonidest.

Kokkuvõte

MySecureShell võimaldab vähese vaevaga üles seada SFTP serveri, mis baseerub OPEN-SSH protokollil ning on suuresti kohandatav vastavalt vajadustele. Käesolevas töös käsitlesime MSS'i installeerimist, kasutajate loomist, seadistamist ning mõningaid lisavõimalusi.
Kirjatöö on tehtud ITK õppeaine Linuxi Administreerimine Labor 2 raames.

Allikad

Unixmen MSS
MySecureShell