Difference between revisions of "MySecureShell - SecureFTP"

From ICO wiki
(Märkus/Eeldus)
Line 141: Line 141:
 
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==
 +
Järgnevad käsklused paigaldatakse koos MySecureShell paketiga ning on võimalik käivitada otse terminalist. Eesmärgiks hõlpsustada serverihaldust.
 +
<source lang="bash">
 +
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.
 +
</source>
 +
==Kokkuvõte==
 +
==Allikad==

Revision as of 13:03, 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.

Installeerimine

Automaatne installeerimine kasutades andmehoidlat

Soovitatud variant, ehk lisame MySecureShell andmehoidla Fedorale teadaolevate andmehoidlate nimistusse ning installeerime 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 installeerime tarkvara MySecureShell
yum install mysecureshell.i386


Alternatiivne käsitsi installeerimine

  • 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
  • Installeerime paketi
rpm -ivh mysecureshell_xxx.rpm


Graafilise liidese installeerimine

Kuigi graafilist liidest võib installeerida ka klient-arvutisse ning ühendada kaugühendusega serveri külge halduseks, on mõistlik siiski installeerida 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 installeerimiseks server arvutisse toimigem järgnevalt:

  • Veendume, et Java on installeeritud
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

Allikad