Samba nega serverga yetib boradigan VPN mijozlarini rad etadi
VPN mijoz Samba serveriga yetib borishi va baribir hosts allow tomonidan rad etilishi mumkin. Tahrirlashdan oldin smbd ko‘radigan manba va ulashish darajasidagi siyosatni tekshiring.
VPN mijoz fayl serveriga ping yuboradi, uning nomini hal qiladi va baribir ulashishni ocha olmaydi. Samba’ning xost siyosati bu ulanishni rad etishi mumkin bo‘lgan to‘rt qatlamdan biri, va odamlar eng oxirida aynan shuni tahrirlaydi. Ruxsat ro‘yxati smbd haqiqatda oladigan manba manziliga qarab baholanadi, va bu mijoz o‘zida bor deb o‘ylagan manzil bo‘lmasligi mumkin. O‘sha manbani to‘g‘ri aniqlash noaniq ruxsat muammosini bir qatorli konfiguratsiya o‘zgarishiga aylantiradi.
Bir xil xabar bilan muvaffaqiyatsiz bo‘ladigan to‘rt qatlam
Rad etish marshrutdan, xost xavfsizlik devoridan, Samba xost siyosatidan yoki SMB shaxsiyatidan kelishi mumkin. Har bir qatlam mijozga taxminan bir xil gapni aytadigan xabar beradi, shuning uchun taxmin qilish yarim kunni oladi. Tekshiruvlarni tarmoqdan ichkariga qarab tartiblash taxminlarning ko‘pini yo‘q qiladi.
Transportdan boshlang. Agar 445 porti serverga hech qachon yetib bormasa, hech qanday Samba sozlamasi muhim emas, va server interfeysidagi yozib olish buni soniyalarda hal qiladi. Keyingi serverning o‘zidagi xost xavfsizlik devori keladi, u ruxsat berilgan manbani smbd ko‘rishidan oldin tashlab yuborishi mumkin. Faqat shu ikkisi o‘tgandan keyin ruxsat ro‘yxati nomzodga aylanadi. Autentifikatsiya eng oxirida keladi, chunki kirish muvaffaqiyatsizligi va xost tomonidan rad etilish server jurnalida boshqacha ko‘rinadi, mijoz ikkalasini ham kirish taqiqlangan deb xabar qilsa ham. Tartib asboblardan muhimroq, chunki har bir qatlamning unga javob beradigan buyrug‘i bor.
smbd haqiqatda ko‘radigan manba manzilini toping
Marshrutlangan kirishda server odatda mijoz manzilini VPN hovuzidan ko‘radi. Shlyuzda manba tarjimasi bo‘lsa, u o‘rniga shlyuzning LAN manzilini ko‘radi, va o‘sha shlyuz ortidagi har bir mijoz ajratib bo‘lmaydigan bo‘lib qoladi.
Bu farq ruxsat ro‘yxatidagi yozuv siyosatmi yoki teshikmi ekanini hal qiladi. Tarjima qilingan shlyuz manziliga ruxsat berish uning ortidagi barchasini ichkariga oladi, har bir mijoz uchun qoida buni kamdan-kam ifodalamoqchi bo‘lgan. Manbani serverdan o‘qing, mijozning o‘z manzili haqidagi tasavvuridan emas. Server interfeysidagi yozib olish uni ko‘rishning eng arzon yo‘li, va o‘sha yozib olish paket kelgan-kelmaganini ham isbotlaydi. Yozib olishni paketlar soni bilan cheklang va qaysi mijozni kuzatayotganingizni bilganingizda xost filtrini qo‘shing. Samba sessiyalar jadvali javobning ikkinchi yarmi: smbstatus -b chiqishida har bir sessiya qatorining mijoz ustuni smbd qayd etgan hamkor, va bu xizmatga haqiqatda yetib borgan manzilning eng tez tasdig‘i.
sudo tcpdump -ni any -c 20 'tcp port 445'
sudo smbstatus -b
ss -tnp | grep ':445'
Ruxsat ro‘yxatini Samba o‘qigandek o‘qing
hosts allow sozlamasi manzillar, tarmoqlar yoki nomlar ro‘yxatini oladi, va u global yoki ulashish ichida turishi mumkin. Sizga teng ko‘rinadigan ikki yozuv tahlilchi uchun teng bo‘lmasligi mumkin, shuning uchun tekshirilishi kerak bo‘lgan narsa — amaldagi konfiguratsiya. Bu birlashtirilgan ko‘rinishni anglatadi, tasodifan tahrirlagan faylni emas.
Misli uchun ikki prefiks quyidagi qatorga o‘xshaydi, va bu misol, allaqachon mavjud yozuvlarning o‘rnini bosuvchi emas. Bugun qonuniy ulanadigan ma’muriy va ilova mijozlarini saqlang, va har qanday taqiq ro‘yxatini o‘sha bosqichda o‘qing. Xost qabul qilinishi butun siyosatga bog‘liq, shuning uchun ustuvorlik haqida o‘ylash o‘rniga aniq mijozni sinab ko‘ring. Xost ruxsati ulashish ruxsatlari yoki fayl tizimi rejimlari haqida ham hech narsa demaydi, ular alohida darvozalar. Sinov asboblarining muvaffaqiyati xost siyosati o‘sha manbani qabul qilishini bildiradi, va bundan ortiq emas.
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
Qayta yuklashdan omon qoladigan faylni o‘zgartiring
Oddiy Linux xostda konfiguratsiya yo‘li qat’iy, va xizmat qayta ishga tushganda uni qayta o‘qiydi. Marshrutizator yoki qurilmada ishlayotgan smb.conf ko‘pincha yuklanish vaqtida yaratiladi, va qo‘lda qilingan o‘zgartirish keyingi qayta yuklashda yo‘qoladi. Qurilmaning qo‘llab-quvvatlanadigan sozlash mexanizmidan foydalaning, u odatda o‘zining konfiguratsiya fayli bo‘ladi.
Bu bosqichdagi vasvasa — bir mavzu ishlaydi deb xabar bergani uchun muqobil proshivkani yozish. Bu kichik siyosat muammosi uchun katta o‘zgarish, va qurilmani qo‘llab-quvvatlanadigan holatidan chiqaradi. Avval qo‘llab-quvvatlanadigan boshqaruvni aniqlang, chunki qurilmalarning ko‘pchiligi ruxsat ro‘yxatini o‘z interfeysi orqali ko‘rsatadi. Agar ular haqiqatan ham bunday qilmasa, bu cheklov boshqa apparat uchun dalil, qo‘llab-quvvatlanmaydigan yig‘ish uchun emas.
Qaysi faylni o‘zgartirganingizni va uni nima qayta yaratishini yozib qo‘ying, keyingi odam tashxisni takrorlamasin.
Bitta ruxsat berilgan va bitta chiqarib tashlangan mijozni sinab ko‘ring
Ikkala natijani ham sinab ko‘ring, faqat xohlaganingizni emas. Ulanadigan ruxsat berilgan mijoz o‘zgarish ishlayotganini isbotlaydi; hali ham rad etiladigan chiqarib tashlangan mijoz qoida shunchaki hamma narsani ochmaganini isbotlaydi.
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
Ulanish smbd ga hech qachon yetib bormasa, javob marshrutlashda yoki serverning xavfsizlik devorida. Agar xostga ruxsat berilgan bo‘lsa-yu kirish muvaffaqiyatsiz bo‘lsa, muammo shaxsiyatda, va ruxsat ro‘yxatini yana kengaytirish yordam bermaydi. Diagnostika chiqishini maxfiy saqlang, chunki batafsil Samba jurnali ulashish yo‘llari va hisob nomlarini oshkor qilishi mumkin. Har bir urinishda bitta qatlamni o‘zgartiring, aks holda keyingi natija sizga hech narsa demaydi.