Kali ini saya akan membahas cara membackup data di windows secara remote menggunakan program rsnapshot.
Teruntuk pembaca yang belum faham apa itu rsnapshot dan bagaimana cara menginstal sekaligus mengkonfigurasikan server backup rsnapshot, ada baik nya mengunjungi tulisan saya sebelumnya disini https://agusprasetia.com/backup-server-file-system-menggunakan-rsnapshot/.
Spesifikasi Server Backup dan client backup.
Backup server:
OS : CentOS 7 64 bit minimal system
IP address : 192.168.88.172/24
Client Windows:
OS : Windows 10 32 bit
IP address : 192.168.88.200/24
INSTALASI RSYN MENGGUNAKAN CYGWIN
Dikarenakan banyaknya versi windows maka tutorial ini saya buat se-generik mungkin sehingga bisa bersifat universal bisa aplikasikan di semua versi windows, terutama untuk windows 10 dengan patch terakhir sudah mengadopsi WSL (Windows Subsystem fo Linux) sehingga untuk program rsync sudah dimasukan secara natif di windows.
Tutorial ini saya akan menggunakan paket rsync yang sudah di bundle dalam aplikasi cywin https://www.cygwin.com/ .
Buka halaman www.cygwin.com dan unduh installer setup-x86_64.exe atau setup-x86.exe sesuaikan dengan versi windows anda.
Klik berkas setup lakukan instalasi seperti biasa, kita hanya menginstall paket-paket yang di perlukan saja seperti rsync dan cygrunsrv.
Ikuti petunjuk dalam gambar di bawah.
1-Setup 2- pilih url jika tdk bisa otomatis 3- cari dan pilih program rsync 4- cari dan pilih program cygrunsrv 5- List paket2 yg akan di instal 6- proses unduh dan instalasi 7- Selesai Klik finish
KONFIGURASI RSYNC DAEMON DAN MEMBUAT WINDOWS SERVICE
Saat menjalankan rsync sebagai daemon/windows service, “modules” harus diset di client yang akan dipetakan ke direktori tertentu.
Kemudian, rsnapshot terhubung ke modul yang telah di set.
Bisa dibuatkan lebih dari satu modul pengaturan dalam satu rsync service. Untuk konsep “modul” itu sendiri agak mirip dengan konsep windows network share/samba share di jaringan Windows.
Buat 2 buah berkas baru rsyncd.conf dan rsyncd.secret di /etc/rsync/.
[windows10]$ nano /etc/rsync/rsyncd.conf use chroot = false strict modes = false [windows10] auth users = rsnapshot path = /cygdrive/c/ read only = false secrets file = /etc/rsync/rsyncd.secret port = 873 log file = /var/log/rsync.log pid file = /var/run/rsync.pid [windows10]$ nano /etc/rsync/rsyncd.secret rsnapshot:agusprasetia
Keterangan berkas di atas adalah:
– Nama module adalah windows10
– Nama pengguna rsnapshot
– Lokasi berkas untuk password /etc/rsync/rsyncd.secret
– Password “agusprasetia“
Jalankan rsync daemon di windows dengan cara masuk ke cygwin shell
[windows10]$ rsync --daemon --config=/etc/rsync/rsyncd.conf
Bisa juga dengan menjalankan melalui windows service dengan membuat service rsync menggunakan cygrunsrv.
Klik kanan cygwin Terminal lalu Run As Administrator
[windows10]$ cygrunsrv.exe -I "Rsyncd" -p /cygdrive/c/cygwin/bin/rsync.exe -a "--config=/cygdrive/c/cygwin/etc/rsync/rsyncd.conf --daemon --no-detach" -f "remote sync daemon service"
Perintah list windows service yang dibuat menggunakan utiliti cygrunsrv # cygrunsrv --list Rsyncd Perintah query detail service yang dibuat menggunakan utiliti cygrunsrv # cygrunsrv --query Rsyncd Service : Rsyncd Display name : Rsyncd Description : remote sync daemon service Current State : Running Controls Accepted : Stop Command : /cygdrive/c/cygwin64/bin/rsync.exe --config=/cygdrive/c/cygwin64/etc/rsyncd.conf --daemon --no-detach Perintah delete windows service yang menggunakan utiliti cygrunsrv # cygrunsrv --remove Rsyncd
KONFIGURASI SERVER BACKUP
Login ke terminal di server backup menggunakan user rsnapshot.
Jalankan perintah rsync secara manual terlebih dahulu untuk memastikan koneksi bagus dan otentikasi berhasil.
[rsnapshot]$ rsync -avv rsync://[email protected]/windows10/SOURCES/ ~/TEST-DIR/ opening tcp connection to 192.168.88.200 port 873 sending daemon args: --server --sender -vvlogDtpre.iLsfxC . windows10/SOURCES/ (5 args) receiving incremental file list created directory /media/BackupDisk/BACKUPS/TEST-DIR delta-transmission enabled ./ cygwin-1.png cygwin-2.png cygwin-3.png cygwin-4.png cygwin-5.png cygwin-6.png cygwin-7.png cygwin-terminal.png setup-x86.exe Camera Roll/ Camera Roll/desktop.ini Saved Pictures/ Saved Pictures/desktop.ini sent 248 bytes received 1,652,030 bytes 157,359.81 bytes/sec total size is 1,650,766 speedup is 1.00
Setelah hasil pengecekan sudah berjalan tanpa kendala, saatnya kita menambahkan konfigurasi di server dengan menambahkan baris di bawah ini kedalam /etc/rsnapshot.conf.
backup rsync://[email protected]/windows10/SOURCES/ WINDOWS10/ rsync_long_args=--password-file=/etc/rsnapshot.sec
Buat berkas baru untuk menyimpan password /etc/rsnapshot.sec
[root]# echo 'agusprasetia' > /etc/rsnapshotsec [root]# chown rsnapshot.rsnapshot /etc/rsnapshot.sec [root]# chmod o-r /etc/rsnapshot.sec
Berkas log rsnapshot daily [2019-08-01T00:53:29] /bin/rsnapshot daily: started [2019-08-01T00:53:29] echo 30456 > /tmp/rsnapshot.pid [2019-08-01T00:53:29] mkdir -m 0755 -p /media/BackupDisk/BACKUPS/daily.0/ [2019-08-01T00:53:29] /usr/bin/rsync -av --password-file=/etc/rsnapshot.sec rsync://[email protected]/windows10/SOURCES/ /media/BackupDisk/BACKUPS/daily.0/WINDOWS10/ [2019-08-01T00:53:34] touch /media/BackupDisk/BACKUPS/daily.0/ [2019-08-01T00:53:34] rm -f /tmp/rsnapshot.pid [2019-08-01T00:53:34] /bin/rsnapshot daily: completed successfully
Jalankan perintah rsnapshot daily sebagai user rsnapshot, jika semuanya sesuai tutorial ini seharusnya proses sikronisasi berjalan dengan baik dan tanpa masalah yang berarti seperti isi dari berkas log diatas.
WINDOWS FIREWALL SETUP
Menjalankan rsync daemon tanpa tunneling menggunakan secure channel(ssh) tentunya membuka sedikit lubang keamanan di server kita, walaupun ketika proses login, otentikasi sudah menggunakan MD4-based challenge-response system.
Pertama kali menjalankan rsync daemon windows akan meminta kita meng-allow program rsync daemon melewati firewall sehingga server backup bisa terkoneksi ke rsync daemon di windows melalui port 873 namun siapa saja bisa melakukan koneksi ke port 873 ini dan melakukan brute force attack untuk mendapatkan akses ke server.
Tentu saja hal ini sangatlah tidak kita inginkan, oleh karenannya kita harus me-limit ip address mana saja yang bisa mengakses rsync daemon menggunakan standart windows firewall.
Pertama-tama kita hapus rules firewall rsync yang sudah ada
DELETE RSYNC FIREWALL RULE
Search cmd.exe dan Run As Administrator kemudian ketikan perintah berikut yang berfungsi membuka port 873 hanya bisa di akses oleh backup server dengan ip address 192.168.88.172.
netsh advfirewall firewall add rule name="Rsync Port" dir=in action=allow protocol=TCP localport=873 remoteip=192.168.88.172
allow only ip 192.168.88.172
Sekarang rsync daemon sudah berfungsi dan aman.
Selamat mencoba, Salam
[…] backup berjalan sempurna.Setelah artikel ini, saya akan lanjutkan dengan tutorial membackup CLIENT WINDOWS menggunakan rsnapshot ke dalam Server Backup.Semoga […]