Tünel arayüzünde TCP 873'e izin vermek rsync'i OpenVPN-üzerinden geçirmez ve karşı tarafın modülü kabul etmesini de sağlamaz. Tünel, protokol ve hedef kuralları tam olarak eskisi gibi kalan bir iç bağlantı taşır. Bu yüzden ilk soru hangi bağlantı noktasının açılacağı değil, rsync'in ne tür bir bağlantı kurduğudur. Aşağıdakilerin tümü tünelin hâlihazırda açık olduğunu ve yalnızca iç hizmetin kuşkulu kaldığını varsayar.

rsync'in gerçekte hangi bağlantıyı kurduğunu belirleyin

Komuttaki uzak argüman genellikle herhangi bir güvenlik duvarı değişikliğinden önce bu soruyu yanıtlar. Çift iki nokta üst üste veya bir URL şeması daemon'u seçerken, bir ana bilgisayar adından sonraki tek iki nokta üst üste uzak bir kabuk seçer. Belgedeki örnekteki argümanı değil, gerçekten çalıştırdığınız argümanı okuyun.

Açık bir uzak kabuk seçeneği yanıtı yeniden değiştirebilir, çünkü rsync'e taşıma için hangi programın başlatılacağını söyler. Yalnızca ana bilgisayar kısmını değil, devralınan sarmalayıcı betikler de dahil olmak üzere tüm komut satırını okuyun.

Remote argumentWhat it opens
rsync://vault.corp.internal/archive/rsync daemon, normally TCP 873
vault.corp.internal::archive/rsync daemon, normally TCP 873
[email protected]:/srv/archive/Remote shell, normally SSH on its configured port

Daemon modu: bağlama adresi, modül ve bağlantı noktası

Daemon sözdiziminde yol bölümü diskteki bir dizini değil, yapılandırılmış bir modülü adlandırır. Modül parolası ancak bağlantı kabul edildikten sonra denetlenir ve modül ayrıca salt okunur ya da listeden gizli olabilir. Bir hatayı okurken bu sıra önemlidir, çünkü reddedilen bağlantı ile reddedilen modül iki farklı aşamadaki başarısızlıklardır. İki mesajdan hiçbiri tünelin kendisi hakkında bir şey söylemez.

Bağımsız bir daemon, yapılandırma dosyasında tünel adresine sabitlenebilir; bu da onu herhangi bir güvenlik duvarı kuralı olmadan genel arayüzden uzak tutar. Değer, daemon bağlanırken var olmalıdır ve soketle etkinleştirilen ya da inetd tarafından yönetilen bir dinleyici bunu tamamen yok sayabilir.

address = 10.44.0.1
port = 873
[archive]
    path = /srv/archive
    read only = yes

Ardından genel ad yerine özel adrese karşı test edin. Genel bir ana bilgisayar adı bir WAN adresine çözümlenir ve farklı bir yol izler, tek bir makine her ikisine de yanıt verse bile.

rsync --list-only rsync://10.44.0.1/archive/

Uzak kabuk modu: aktarımı SSH taşır

Tek bir iki nokta üst üste ile rsync bir uzak kabuk programı başlatır ve protokolünü o kanal üzerinden konuşur, böylece erişilebilen tek hizmet sunucunun dinlediği herhangi bir bağlantı noktasındaki SSH'tir. rsync daemon hiç çalışmaz, 873 numaralı bağlantı noktası ilgisizdir ve erişim kararı bir SSH hesabı kararına dönüşür. Uzak yol o zaman karşı taraftaki kabuğun yorumladığı gerçek bir dosya sistemi yoludur. Bu yüzden 873'ü hedefleyen bir güvenlik duvarı değişikliği bu mod için hiçbir şey yapmaz.

Bu tasarım şunları gerektirir: yetkili bir hesap ve ana bilgisayar anahtarı doğrulaması, ve SSH'in kendi kimlik doğrulama ilkesini devralır. Aktarımın güvenilmeyen bir ağı geçmesi gerektiğinde bu genellikle daha iyi seçenektir, çünkü şifreleme bunun için oluşturulmuş bir protokole aittir. Parola soran bir daemon aynı şey değildir.

Yalnızca seçtiğiniz yolu açın

Mod belirlendikten sonra, tüneli taşıyan tek arayüzde tek iç hizmete izin verin. Kuralı arayüz, kaynak havuzu ve hedef adrese göre daraltın; böylece sonraki varsayılan ret değişikliği onu sessizce genişletemez. Ardından kural sırasını gözden geçirin, çünkü zincirde daha önce gelen izin verici bir kural dar kuralı yalnızca süs hâline getirir.

Daemon, VPN ağ geçidinin kendisinde değil de arkasındaki bir makinede çalışıyorsa, ağ geçidinin de bir yönlendirme yolu olması ve hedefin kendi izni ile dönüş rotasına sahip olması gerekir. Bağlantı noktasını yalnızca ağ geçidinde açmak, kabul edilen ve sonra hiçbir yere gitmeyen bir bağlantı üretir.

Üretimde kullanmayı düşündüğünüz aynı mod ve hedefle istemciden doğrulayın. Başarılı bir listeleme dinleyiciyi, rotayı ve kuralı birlikte kanıtlar; zaman aşımı yolu işaret eder ve ret dinleyiciyi işaret eder.

ufw allow in on tun0 from 10.44.0.0/24 to 10.44.0.1 port 873 proto tcp
ss -ltnp | grep 873

İlgili makaleler