Hopp til hovedinnhold

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)

Robert Kristoffersen
Fullstack-utvikler • Webno