Sikre rsync-daemon
Kapittel 8
Som standard kan alle som har nettverkstilkobling til serverens Rsync-port (873) forsøke å koble seg til og bruke Rsync-daemonen, så lenge modulen ikke krever autentisering. Dette betyr at uten videre konfigurasjon kan hvem som helst få lesetilgang, og i enkelte tilfeller også skrivetilgang, avhengig av hvordan modulen er definert i /etc/rsyncd.conf.
Derfor bør tilgangen begrenses til bestemte brukere eller grupper, og passordbeskyttelse legges til. Merk at Rsync-daemonens autentisering ikke krypterer overføringen – kun innloggingen kontrolleres. For kryptert overføring må du bruke Rsync over SSH.
Konfigurasjon av rsync-daemon for autentisering
Åpne Rsync-konfigurasjonen:
sudo nano /etc/rsyncd.conf
Legg deretter til autentiseringsregler for ønsket modul, for eksempel:
[filemodule]
path = /srv/rsync/files
comment = Fildeling for prosjektet
read only = no
auth users = john:rw, taylor:deny, @users:ro
secrets file = /etc/rsyncd.secrets
Forklaring av konfigurasjonen
auth users Definerer hvilke brukere eller grupper som har tilgang til modulen, og hvilke rettigheter de får: rw = les og skriv ro = kun les deny = blokkert
I eksemplet betyr dette: john kan lese og skrive taylor er blokkert alle i gruppen @users har kun lesetilgang
secrets file Viser til filen hvor brukernavn og passord er lagret. Denne må opprettes manuelt.
Opprette en secrets-fil
Opprett filen:
sudo nano /etc/rsyncd.secrets
Legg inn brukernavn og passord på formatet brukernavn:passord
Eksempel:
john:56d43df#w
taylor:hkj43#4tDF4
@users:lkj4355tr34ERG
Merk: Passord lagres i klartekst. Rsync støtter ikke hashing eller kryptering i denne filen. Denne filen brukes kun til autentisering – ikke til kryptert dataoverføring.
Sikre filen
Ettersom passord lagres i klartekst må du sørge for at ingen andre enn root kan lese filen:
sudo chmod o-r /etc/rsyncd.secrets
Dette fjerner leserettigheter for andre brukere på systemet.
Starte rsync på nytt
Etter at du har oppdatert konfigurasjonen må Rsync-daemonen startes på nytt:
sudo systemctl restart rsync
Sjekk at den kjører:
sudo systemctl status rsync
Koble til med autentisering
Når du nå prøver å koble til fra en klient, vil Rsync be om passord før overføringen starter.
Eksempel:
rsync -avhP myfile.txt rsyncserver1::filemodule
Output:
Password:
Etter at du skriver riktig passord vil Rsync starte overføringen som normalt.
Viktig om sikkerhet
Autentisering krypterer ikke data, kun brukersjekk utføres.
Bruk Rsync-daemon kun i interne nettverk eller bak VPN/brannmur.
For internettbruk bør du bruke Rsync over SSH.
Gi kun root lesetilgang til /etc/rsyncd.secrets.
Høydepunkter – sikring av rsync-daemon
Rediger konfigurasjon:
sudo nano /etc/rsyncd.conf
Eksempel på sikker modul:
[filemodule]
path = /srv/rsync/files
comment = Fildeling for prosjektet
read only = no
auth users = john:rw, @users:ro
secrets file = /etc/rsyncd.secrets
Opprett secrets-fil:
sudo nano /etc/rsyncd.secrets
Innhold:
john:56d43df#w
@users:lkj4355tr34ERG
Beskytt filen:
sudo chmod o-r /etc/rsyncd.secrets
Start tjenesten på nytt:
sudo systemctl restart rsync
Koble til fra klient:
rsync -avhP myfile.txt rsyncserver1::filemodule
(du vil bli bedt om passord før overføring starter)
