Kuidas ehitada oma turvaline SFTP server (OpenWRT näitel)

Jutud ehitamisest, häälestamisest, modifitseerimisest...

Moderaator: ES2MA

Vasta
digivend
Postitusi: 316
Liitunud: 04 Mär 2012, 13:37
QTH Locator: KO39DC
Asukoht: Väike-Maarja vald (KO39DC)

Kuidas ehitada oma turvaline SFTP server (OpenWRT näitel)

Postitus Postitas digivend »

Mõnikord võib juhtuda, et sõbrad tahavad sulle suuri faile saata (või sina neile anda), aga kiiruse ja suure andmemahu tõttu sa ei taha kasutada selleks kolmanda osapoole lahendusi. Selleks saad tekitada oma SFTP serveri ja teha selle välisvõrgus kättesaadavaks. Annad sõpradele vajaliku kasutajanime ja parooli ning FileZilla/WinSCP jne programmide abil saab faile vahetama hakata.

Antud juhend eeldab, et sul on juba OpenWRT seade püsti koos välise USB kettaga ( nagu näiteks siin on Raspberry PI https://foorum.erau.ee/viewtopic.php?f=12&t=6581)


1. Uuendame tarkvara installimiseks kättesaadavate tarkvara nimekirja

Kood: Vali kõik

opkg update
2. Installime vajaliku tarkvara

Kood: Vali kõik

opkg install openssh-server openssh-sftp-server
3. Lõpetame OpenWRT sisse ehitatud dropbear SSH serveri kastuamise ja lähme üle openssh-server peale

Kood: Vali kõik

/etc/init.d/dropbear disable
/etc/init.d/sshd enable
/etc/init.d/dropbear stop && /etc/init.d/sshd start
4. Teeme sftp kasutajate jaoks eraldi grupi

Kood: Vali kõik

nano /etc/group
lisa lõppu juurde

Kood: Vali kõik

sftp:x:4099:sftp
5. Muudame ssh serveri konfi sftp jaoks

Kood: Vali kõik

nano /etc/ssh/sshd_config
Esiteks kustuta järgnev rida
Subsystem sftp /usr/lib/sftp-server
ja lisa selle kustutatud rea asemele
Subsystem sftp internal-sftp
Match Group sftp
ForceCommand internal-sftp
ChrootDirectory %h
AllowTcpForwarding no
PermitTunnel no
X11Forwarding no
AllowAgentForwarding no
8. Restardime sshd teenuse

Kood: Vali kõik

/etc/init.d/sshd restart
9. Teeme sftp kasutajale kodukataloogi koos upload kaustaga

Kood: Vali kõik

mkdir -p /mnt/usbkettad-suur/sftp/user1/upload
10. Lisame uue kasutaja kasutajate registrisse

Kood: Vali kõik

nano /etc/passwd
lisa täitsa lõppu juurde

Kood: Vali kõik

user1:x:4001:4099:user1:/mnt/usbkettad-suur/sftp/user1:/bin/false
11. Määrame kasutajale parooli

Kood: Vali kõik

passwd user1
12. Paneme upload kausta õigused paika

Kood: Vali kõik

chown user1:sftp /mnt/usbkettad-suur/sftp/user1/upload
ONGI VALMIS!!!
Ühendu nüüd näiteks FileZilla abil 192.168.1.2 porti 22 määrates kasutajaks user1 ja eelpool määratud parooli. Kui nüüd teed tulemüüri pealt port 22 suunamise siis on SFTP server välisvõrgust käätesaadav.

Märkused/soovitused:
1. SFTP kasutajas SSH kaudu sisse logida ei saa (ei olegi vaja ju?)
2. näevad ainult oma upload kausta (ei saa serveris ringi kolada muudes kaustades)
3. Kui sa ei kasuta väljaspoolt IP põhist piirangut sellele pordile 22 siis soovitatv on kasutada parooli asemel private key'd
Vasta