Bir VPN istemcisi dosya sunucusuna ping atar, adını çözer ve yine de bir paylaşımı açamaz. Samba'nın ana makine politikası bu bağlantıyı reddedebilecek dört katmandan biridir ve insanların en son düzenlediği katman odur. İzin listesi, smbd'nin gerçekte aldığı kaynak adresine göre değerlendirilir ve bu, istemcinin sahip olduğunu düşündüğü adres olmayabilir. Bu kaynağı doğru belirlemek, belirsiz bir izin sorununu tek satırlık bir yapılandırma değişikliğine dönüştürür.

Aynı mesajla başarısız olan dört katman

Reddetme rotadan, ana makine güvenlik duvarından, Samba'nın ana makine politikasından veya SMB kimliğinden gelebilir. Her katman istemciye yaklaşık aynı şeyi söyleyen bir mesaj üretir, bu yüzden tahmin etmek yarım gün yer. Kontrolleri ağdan içeriye doğru sıralamak tahminlerin çoğunu ortadan kaldırır.

Taşımayla başlayın. 445 numaralı bağlantı noktası sunucuya hiç ulaşmıyorsa hiçbir Samba ayarı önemli değildir ve sunucunun arayüzünde bir yakalama bunu saniyeler içinde çözer. Sırada sunucunun kendi üzerindeki ana makine güvenlik duvarı var; izin verilen bir kaynağı smbd görmeden önce düşürebilir. Ancak bu ikisi geçtikten sonra izin listesi aday olur. Kimlik doğrulama en sonda gelir, çünkü başarısız oturum açma ile ana makine reddi sunucu günlüğünde farklı görünür, istemci her ikisini de erişim reddedildi olarak bildirse bile. Sıra araçlardan daha önemlidir, çünkü her katmanın ona yanıt veren bir komutu vardır.

smbd'nin gerçekte gördüğü kaynak adresini bulun

Yönlendirilmiş erişimde sunucu genellikle istemcinin adresini VPN havuzundan görür. Ağ geçidinde kaynak çevirisi varsa bunun yerine ağ geçidinin LAN adresini görür ve o ağ geçidinin arkasındaki her istemci ayırt edilemez hale gelir.

Bu fark, izin listesindeki bir girdinin politika mı yoksa delik mi olduğunu belirler. Çevrilmiş bir ağ geçidi adresine izin vermek arkasındaki herkesi içeri alır; istemci başına bir kuralın nadiren ifade etmek istediği şey budur. Kaynağı sunucuda okuyun, istemcinin kendi adresine ilişkin fikrinden değil. Sunucunun arayüzünde yakalama, onu görmenin en ucuz yoludur ve aynı yakalama paketin gelip gelmediğini de kanıtlar. Yakalamayı bir paket sayısıyla sınırlayın ve hangi istemciyi izlediğinizi öğrendiğinizde bir ana makine filtresi ekleyin. Samba oturum tablosu yanıtın diğer yarısıdır: smbstatus -b çıktısında her oturum satırının istemci sütunu smbd'nin kaydettiği eşttir ve hizmete gerçekten ulaşan adresin en hızlı doğrulaması budur.

sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'

İzin listesini Samba'nın okuduğu gibi okuyun

hosts allow ayarı adres, ağ veya ad listesi alır ve genel olarak ya da bir paylaşımın içinde bulunabilir. Size eşdeğer görünen iki girdi ayrıştırıcı için eşdeğer olmayabilir, bu yüzden incelenmesi gereken etkin yapılandırmadır. Bu, birleştirilmiş görünüm demektir, tesadüfen düzenlediğiniz dosya değil.

Örnek bir önek çifti aşağıdaki satıra benzer ve bu bir örnektir, zaten var olan girdilerin yerine geçmez. Bugün meşru şekilde bağlanan yönetim ve uygulama istemcilerini koruyun ve varsa yasak listesini aynı geçişte okuyun. Bir ana makinenin kabul edilip edilmemesi politikanın bütününe bağlıdır, bu yüzden öncelik hakkında akıl yürütmek yerine tam istemciyi test edin. Ana makine izni paylaşım izinleri veya dosya sistemi kipleri hakkında da hiçbir şey söylemez; bunlar ayrı kapılardır. Test araçlarının başarısı, ana makine politikasının o kaynağı kabul ettiği anlamına gelir ve fazlası değil.

hosts allow = 192.168.50.0/24 10.90.0.0/24
testparm -s
testparm -s /etc/samba/smb.conf client.example 10.90.0.14

Yeniden başlatmadan sonra kalan dosyayı değiştirin

Normal bir Linux ana makinesinde yapılandırma yolu sabittir ve hizmet yeniden başlatmada onu yeniden okur. Bir yönlendirici veya cihazda çalışan smb.conf genellikle önyüklemede üretilir ve elle yapılan düzenleme sonraki yeniden başlatmada kaybolur. Cihazın desteklenen özelleştirme mekanizmasını kullanın, bu genellikle kendi yapılandırma dosyasıdır.

Bu noktadaki cazibe, bir başlık çalıştığını bildirdiği için alternatif ürün yazılımı yüklemektir. Bu, küçük bir politika sorunu için büyük bir değişikliktir ve cihazı desteklenen durumundan çıkarır. Önce desteklenen denetimi belirleyin, çünkü cihazların çoğu izin listesini kendi arayüzünden gösterir. Gerçekten yapmıyorlarsa, bu sınırlama farklı donanım lehine bir argümandır, desteklenmeyen bir derleme lehine değil.

Hangi dosyayı değiştirdiğinizi ve onu neyin yeniden ürettiğini not edin, böylece sonraki kişi tanılamayı tekrarlamaz.

İzin verilen bir ve hariç tutulan bir istemciyi test edin

Sadece istediğiniz sonucu değil, iki sonucu da test edin. Bağlanan izinli istemci değişikliğin çalıştığını kanıtlar; reddedilmeye devam eden hariç tutulmuş istemci kuralın sadece her şeyi açmadığını kanıtlar.

smbclient -L //fileserver -U alice
sudo testparm -s /etc/samba/smb.conf alice-laptop 10.90.0.14
sudo tail -n 40 /var/log/samba/log.smbd

Bağlantı smbd'ye hiç ulaşmıyorsa yanıt yönlendirmede veya sunucunun güvenlik duvarındadır. Ana makineye izin verilmiş ve oturum açma başarısızsa sorun kimliktir ve izin listesini yeniden genişletmek yardımcı olmaz. Tanılama çıktısını özel tutun, çünkü ayrıntılı bir Samba günlüğü paylaşım yollarını ve hesap adlarını açığa çıkarabilir. Her denemede bir katmanı değiştirin, yoksa sonraki sonuç size hiçbir şey söylemez.

İlgili makaleler