Hosts.allow - Linux Buyruq - Unix Buyruq

NAME

hosts_access - xostdan foydalanishni boshqarish fayllari formati

DESCRIPTION

Ushbu qo'llanma sahifada mijozga (asosiy kompyuter nomi / manzili, foydalanuvchi nomi) va serverga (protsessor nomi, host nomi / manzili) asoslangan oddiy kirishni boshqarish tilini tavsiflaydi . Misollar oxirida beriladi. Sabrsiz o'quvchi tez kirish uchun EXAMPLES bo'limiga o'tishga rag'batlantiriladi. Kirishni boshqarish tilining kengaytirilgan versiyasi hosts_options (5) hujjatida tasvirlangan. Kengaytmalar dasturni yaratish vaqtida -DPROCESS_OPTIONS bilan qurish orqali yoqiladi.

Quyidagi matnda, dasturiy ta'minot tarmoq ishlov berish jarayonining jarayoni nomidir va mijoz - bu xizmatni so'ragan mezbonning nomi va / yoki manzili. Tarmoqning ishlash jarayoni nomlari inetd konfiguratsiya faylida ko'rsatilgan.

ACCESS CONTROL FILESga kirish

Kirishni boshqarish dasturi ikki faylga murojaat qiladi. Qidiruv birinchi uchrashuvda to'xtaydi.

Access (/ daemon, client) juftligi /etc/hosts.allow faylidagi arizaga mos tushganda beriladi .

Aks holda /etc/hosts.deny faylida (daemon, client) juftlik biror kirish bilan mos kelganida kirish rad etiladi .

Aks holda, ruxsat beriladi.

Mavjud bo'lmagan erkin foydalanishni boshqarish fayli bo'sh fayl sifatida ko'rib chiqiladi. Shunday qilib, erkin foydalanishni boshqarish hech qanday erkin foydalanishni boshqarish fayllarini taqdim etmasdan o'chirib qo'yilishi mumkin.

QO'ShIMChA NAZORAT QOIDALARI

Har bir erkin foydalanishni boshqarish fayli nol yoki undan ortiq matn qatoridan iborat. Ushbu chiziqlar tashqi ko'rinish tartibida qayta ishlanadi. Agar o'yin topilsa, qidiruv tugaydi.

Yangi chiziq belgisi oldingi teskari egri chizilgan bo'lsa, e'tibor berilmaydi. Bu sizni uzoq satrlarni ajratishga imkon beradi, shuning uchun ularni o'zgartirish osonroq bo'ladi.

"#" Belgisi bilan boshlangan bo'sh satr yoki satrlarni e'tiborsiz qoldiradi. Bu siz sharhlaringizni va bo'shliqni qo'shishga imkon beradi, shuning uchun jadvallarni o'qish osonroq bo'ladi.

Boshqa barcha qatorlar quyidagi formatga mos kelishi kerak: [] ixtiyoriy bo'lgan narsalar:

daemon_list: client_list [: shell_command]

daemon_list bir yoki bir nechta protsedura jarayonining nomlari (argv [0] qiymatlari) yoki joker belgilar (pastga qar.).

client_list , mijozning asosiy kompyuter nomi yoki manziliga mos keladigan bir yoki bir nechta ota-kompyuter nomlari, xost-manzillar, naqsh va joker belgilar (pastga qar.).

Bundan ham murakkab formalar daemon @ host va user @ host xamma o'z navbatida server so'nggi nuqta naqshlari va mijozning foydalanuvchi qidirishlari bo'yicha bo'limlarda tavsiflanadi.

Ro'yxat elementlari bo'sh va / yoki vergul bilan ajratilishi kerak.

NIS (YP) netgroup qidiruvlari bundan mustasno, barcha kirish tekshiruvi tekshiruvlari katta ahamiyatga ega emas.

PATTERNS

Kirishni boshqarish tili quyidagi naqshlarni amalga oshiradi:

'.' Bilan boshlangan satr. belgilar. Agar ota-ona nomi uning oxirgi tarkibiy qismlari ko'rsatilgan naqshga mos tushsa, mos keladi. Misol uchun, «.tue.nl» naqshsi «wzv.win.tue.nl» asosiy nomiga mos keladi.

'.' Bilan tugaydigan satr. belgilar. Uning birinchi raqamli maydonchalari berilgan satrga mos keladigan bo'lsa, mezbon manzili mos keladi. Masalan, "131.155" naqsh. Eindhoven Universitetidagi (131.155.xx) har bir xostning manziliga mos keladi.

Agar '@' belgisi bilan boshlanadigan magistral NIS (sobiq YP) netgroup nomi sifatida ko'rib chiqiladi. Belgilangan netgrupning mezbon ishtirokchisi bo'lsa, ota-kompyuter nomi aniqlanadi. Netgroup matchlari daemon jarayoni nomlari yoki mijoz foydalanuvchi nomlari uchun mo'ljallanmagan.

"Nnnn / mmmm" shaklining ifodasi "aniq / niqob" juftligi deb talqin etiladi. IPv4 manzil manzili "aniq" bitni va manzilni va "maska" ga teng bo'lsa, mos keladi. Masalan, "131.155.72.0 / 255.255.254.0" aniq / niqob naqshlari "131.155.72.0" oralig'idagi har bir manzilga "131.155.73.255" dan mos keladi.

«[N: n: n: n: n: n: n: n] / m» shaklining ifodasi [[aniq] / prefixlen) juftligi sifatida talqin etiladi. Agar "prefixlen" bitlari "manzil" ning "prefixlen" bitiga teng bo'lsa, IPv6 xost manzili mos keladi. Misol uchun, "[3ffe: 505: 2: 1] / 64" [3ffe: 505: 2: 1]] / 64 "3ffe: 505: 2: 1 ::" dan 3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '.

Agar `/ 'belgisi bilan boshlangan satr fayl nomi sifatida ko'rib chiqiladi. Agar ota-kompyuter nomi yoki manzili nomlangan faylda rostlangan har qanday ota-kompyuter nomiga yoki manzil naqshiga mos keladigan bo'lsa, mos. Fayl formati nol yoki bir nechta satr yoki bo'sh joy bilan ajratilgan nol yoki undan ko'p ota-kompyuter nomi yoki manzil naqshli. Fayl nomi naqshini har qanday joyda foydalaniladigan host nomi yoki manzil naqsh ishlatilishi mumkin.

Joker belgilar * va '?' xost nomlarini yoki IP manzillarini moslashtirish uchun foydalanish mumkin. Ushbu moslama usuli "net / mask" bilan mos keladigan holda ishlatilmaydi, ". yoki "` `bilan tugaydigan IP manzilini kiriting . '.

WILDCARDS

Kirishni boshqarish tili aniq joker belgilarni qo'llab-quvvatlaydi:

ALL

Umumjahon joker, har doim mos tushadi.

LOCAL

Nom nuqtasi belgisi bo'lmagan har qanday mezbonga mos keladi.

QABUL emas

Ismi noma'lum bo'lgan har qanday foydalanuvchini moslashtiradi va ismi yoki manzili noma'lum bo'lgan har qanday serverga mos keladi. Ushbu naqshni ehtiyotkorlik bilan ishlatish kerak: vaqtinchalik nom serverlari muammolari sababli host nomlari mavjud emas. Tarmoq manzili dasturiy ta'minot qaysi turdagi tarmoq bilan gaplashayotganini aniqlay olmasa, mavjud bo'lmaydi.

Tushuncha

Nomini biladigan har qanday foydalanuvchini moslashtiradi va ismi va manzili ma'lum bo'lgan har qanday kompyuterga mos keladi. Ushbu naqshni ehtiyotkorlik bilan ishlatish kerak: vaqtinchalik nom serverlari muammolari sababli host nomlari mavjud emas. Tarmoq manzili dasturiy ta'minot qaysi turdagi tarmoq bilan gaplashayotganini aniqlay olmasa, mavjud bo'lmaydi.

PARANOID

Ismining manzili mos kelmaydigan har qanday mezbonga mos keladi. Tcpd -DPARANOID (standart rejim) bilan qurilganida, bu kabi dasturlardan so'rovlarni hatto kirishni boshqarish jadvallariga qarashdan oldin tushiradi. Bunday so'rovlar ustidan ko'proq nazorat qilishni xohlasangiz, -DPARANOID holda yaratish.

OPERATORLAR

TALABLAR

Amaldagi foydalanish formada: `list_1 EXCEPT list_2 '; bu tuzilma ro'yxat_2 ga mos kelmasa list_1 ga mos keladigan narsaga mos keladi . EXCEPT operatori daemon_lists va client_lists-da foydalanish mumkin. EXCEPT operatori ichki holga keltirilishi mumkin: agar nazorat tili Qavslar ishlatishga ruxsat beradigan bo'lsa, "B tashqari bajarilmasin c" alohida holatlarda ajralib chiqadi ("(EXCEPT (B EXCEPT c)").

SHELL buyruqlar

Agar birinchi mos kelgan erkin foydalanishni boshqarish qoidasi qobiq buyrug'i bo'lsa, bu buyruq% o'zgarishlarga (keyingi qismga qarang) tobe bo'ladi. Natijada standart / input / output / xato / dev / null bilan bog'liq xato bilan / bin / sh child jarayonida amalga oshiriladi. Buyruq tugaganidan keyin "&" tugmaguncha kutishni xohlamasangiz, uni belgilang.

Shell buyruqlari inetd ning PATH parametrlariga tayanmasligi kerak. Buning o'rniga, ular mutlaq yo'l nomlarini ishlatishlari kerak, yoki aniq PATH = har qanday bayonot bilan boshlashlari kerak.

Hosts_options (5) hujjati shell buyrug'i maydonini boshqa va mos kelmaydigan usulda ishlatadigan muqobil tilni tavsiflaydi.

% EXPANSIONS

Shell buyruqlaridagi quyidagi kengaytmalar mavjud:

% a (% A)

Mijoz (server) host manzili.

% s

Mijoz haqida ma'lumot: foydalanuvchi @ host, foydalanuvchi @ manzil, ota-kompyuter nomi yoki faqatgina manzil, qancha ma'lumot mavjudligiga bog'liq.

% d

Operatsion jarayon nomi (argv [0] qiymati).

% h (% H)

Xost nomi mavjud bo'lmasa, mijoz (server) xost nomi yoki manzili.

% n (% N)

Mijoz (server) host nomi (yoki "noma'lum" yoki "paranoid").

% s

Daemon jarayoni identifikatori.

% s

Server haqida ma'lumot: daemon @ host, daemon @ address, yoki faqat bitta xizmat nomi, qancha ma'lumot mavjudligiga bog'liq.

% u

Mijozning foydalanuvchi nomi (yoki "noma'lum").

%%

Bitta "%" belgigacha kengayadi.

Kabukni chalg'itishi mumkin bo'lgan% kengaytmali belgilar pastki chiziq bilan almashtiriladi.

SERVER ENDPOINT PATTERNS

Mijozlarni bog'laydigan tarmoq manzili bo'yicha ajratish uchun quyidagi formalarni qo'llang:

process_name @ host_pattern: client_list ...

Bu kabi naqshlar mashinada turli xil internet-host nomlari bo'lgan turli xil internet manzillarga ega bo'lishi mumkin. Sizga xizmat ko'rsatuvchi provayderlar FTP, GOPHER yoki WWW arxivlarini turli tashkilotlarga tegishli bo'lishi mumkin bo'lgan internet nomlari bilan taqdim qilish uchun foydalanishlari mumkin. Hosts_options (5) hujjatida "twist" ni ham ko'ring. Ba'zi tizimlar (Solaris, FreeBSD) bir jismoniy interfeysda bir nechta internet manzilga ega bo'lishi mumkin; boshqa tizimlar bilan maxsus tarmoq manzili makonida yashaydigan SLIP yoki PPP pseudo interfeyslariga murojaat qilishingiz kerak bo'ladi.

Host_pattern, client_list kontekstida host nomlari va manzillari bilan bir xil sintaksis qoidalariga bo'ysunadi. Odatda, serverning so'nggi nuqta ma'lumotlari faqatgina ulanishga asoslangan xizmatlar bilan ta'minlanadi.

Mijoz USERNAME LOOKUP

Mijozlar hosti RFC 931 protokolini yoki uning avlodlaridan birini (TAP, IDENT, QRM 1413) qo'llab-quvvatlaganida, paketli dasturlar bog'lanish egasi haqida qo'shimcha ma'lumotni olishlari mumkin. Mijozning foydalanuvchi nomi to'g'risidagi ma'lumot, mavjud bo'lganda, mijozning asosiy nomi bilan birga yoziladi va quyidagi kabi naqshlarga mos kelish uchun ishlatilishi mumkin:

daemon_list: ... user_pattern @ host_pattern ...

Daemon paketini boshqaruvchi qoidalar asosida boshqariladigan foydalanuvchi nomi qidirishlarini (odatiy) amalga oshirish yoki mijozlar xostini har doim so'roq qilish uchun tuzish mumkin. Qoidalarga asoslangan foydalanuvchi nomi qo`ng'iroqlari bo`lsa , yuqoridagi qoida foydalanuvchi nomi qo`ng'iroqlarini faqatgina daemon_list va host_pattern o`ziga mos kelganda olib keladi.

Bir foydalanuvchi namunasi daemon protsedurasi shakli bilan bir xil sintaksidadir, shuning uchun bir xil joker belgilar qo'llaniladi (netgroup a'zolari qo'llab-quvvatlanmaydi). Shunga qaramay foydalanuvchi nomi bilan qo'ng'iroqlarni olib tashlash kerak emas.

Mijozning foydalanuvchi ma'lumotlari eng zarur bo'lganda, ya'ni mijozlar tizimi buzilgan paytda ishonchli bo'lishi mumkin emas. Umuman olganda, All (ALL) va (UN) FOYDALANUVCHISI faqat mantiqiy foydalanuvchi nomi namunalari.

Foydalanuvchilarning qidirishlari faqat TCP-ga asoslangan xizmatlar bilan amalga oshirilishi mumkin va faqat mijozlar hosti mos xizmatni ishga tushirganda; boshqa barcha hollarda natijalar "noma'lum".

UNIX yadrosining taniqli xatosi, foydalanuvchi qidirishni xavfsizlik devori tomonidan bloklanganida xizmat yo'qotilishiga olib kelishi mumkin. Bog'langan README hujjati yadroingiz ushbu xato mavjudligini aniqlash uchun protsedurani ta'riflaydi.

Foydalanuvchilarning qidirishlari UNIX bo'lmagan foydalanuvchilar uchun sezilarli kechikishlar sabab bo'lishi mumkin. Foydalanuvchi nomi qidirishlari uchun odatiy takrorlash 10 soniyadir: sekin tarmoqlar bilan kurashish uchun juda qisqa, lekin kompyuter foydalanuvchisini bezovta qiladigan darajada uzoq.

Tanlangan foydalanuvchi nomlarini qidirish oxirgi muammoni engillashtirishi mumkin. Misol uchun, quyidagi qoidalar:


daemon_list: @pcnetgroup ALL @ ALL

foydalanuvchilarning ism-shariflarini qo'ng'iroq qilmasdan PC netgroup a'zolariga mos keladi, lekin boshqa tizimlar bilan foydalanuvchi nomlarini qidirishni amalga oshiradi.

MANZILLARNI ADABIYoTLARNI AXBORA QILISh

Ko'pgina TCP / IP dasturlarining ketma-ketlik raqamlari ishlab chiqaruvchisidagi nuqsonga tajovuzkorlarga ishonchli xostlarni osongina taqsimlash va masalan, masofaviy qobiq xizmati orqali kirib chiqish imkonini beradi. Identifikator (RFC931 va boshqalar) xizmati shu kabi va boshqa manzilli manzilni buzish xurujlarini aniqlash uchun ishlatilishi mumkin.

Mijozlar so'rovini qabul qilishdan oldin, paketlar IDENT xizmatidan mijozning so'rovni umuman jo'natmaganligini bilish uchun foydalanishlari mumkin. Mijozlar hosti IDENT xizmatini taqdim etganda, salbiy IDENT qidirish natijasi (mijoz "UNKNOWN @ host" ga mos) uy egasi soxta xurujning kuchli dalili.

Ijobiy IDENT qidiruv natijasi (mijoz "KNOWN @ host" ga mos keladi) ishonchli emas. Agar mijozga mijozning aloqasi va identifikatorni qidirishni taqiqlash mumkin bo'lsa-da, bu faqat mijozning ulanishini buzishdan ko'ra qiyinroq. Bundan tashqari, mijozning IDENT serveri yolg'on gapirishi mumkin.

Eslatma: IDENT qidirish UDP xizmatlari bilan ishlamaydi.

MISOLLAR

Til erkin foydalanishni boshqarishning turli xil turlari kamida ko'pchilik bilan ifodalanishi mumkin. Til ikkita kirishni boshqarish jadvalidan foydalansa-da, eng keng tarqalgan siyosatlar kichikroq yoki hatto bo'sh bo'lgan jadvallardan biri bilan amalga oshirilishi mumkin.

Quyidagi misollarni o'qiyotganda, ruxsat stolining rad etilish jadvali oldida skanerlashi, o'yin topilganida qidirish tugallanishi va hech qanday o'yin topilmaguncha kirishga ruxsat berilishi tushuniladi.

Misollar host va domen nomlarini ishlatadi. Vaqtinchalik ism-shariflarni qidirishni to'xtatish oqibatlarini kamaytirish uchun manzil va / yoki tarmoq / tarmoqni tozalash ma'lumotlarini qo'shish orqali ularni yaxshilash mumkin.

KO'P KO'RSATILADI

Bunday holda, sukut bo'yicha ruxsat rad etilmaydi. Faqat aniq vakolatli xostlarga ruxsat beriladi.

Standart siyosat (kirish yo'q) jiddiy rad etish fayli bilan amalga oshiriladi:

/etc/hosts.deny: ALL: ALL

Bu, ruxsat beruvchi faylga kiritilgan ma'lumotlar bilan ruxsat etilmagan bo'lsa, barcha xostlarga xizmat ko'rsatishni rad etadi.

Haqiqiy tasdiqlangan xostlar ruxsat faylida berilgan. Masalan:

/etc/hosts.allow: ALL: LOCAL @some_netgroup
ALL: .foobar.edu terminalserver.foobar.edudan tashqari

Birinchi qoida mahalliy domendagi hostlardan (ota-ona nomidan "." Yo'q) va some_netgroup netgroup a'zolaridan foydalanishga ruxsat beradi. Ikkinchi qoida, foobar.edu domenidagi barcha asosiy kompyuterlardan foydalanishga imkon beradi ( terminallar e'tiboriga e'tibor bering) terminallarerver.foobar.edu tashqari .

MOST OPEN

Bu erda kirish odatiy ravishda beriladi; faqat aniq ko'rsatilgan hostlarga xizmat ko'rsatish rad etiladi.

Standart siyosat (ruxsat berilgan) ruxsat faylini keraksiz qilib qo'yib yuborishi mumkin. Haqiqiy ruxsat etilmagan xostlar inkor qilingan faylda berilgan. Masalan:

/etc/hosts.deny: ALL: some.host.name, .some.domain
ALL.Fingerddan tashqari: else.host.name, .other.domain

Birinchi qoida bir necha xostlarni va domenlarni barcha xizmatlarni rad etadi; ikkinchi qoida barmoq so'rovlarini boshqa hostlar va domenlardan olish imkonini beradi.

BOOBY TRAPS

Keyingi misol mahalliy domendagi hostlardan tftp so'rovlariga ruxsat beradi (etakchi nuqtaga e'tibor bering). Boshqa har qanday xostlardan talablar rad etilmoqda. So'ralgan faylning o'rniga buzilgan xostga barmoq tekshiruvi yuboriladi. Natija superuserga yuboriladi.

/etc/hosts.allow:

in.tftpd: LOCAL, .my.domain /etc/hosts.deny: in.tftpd: ALL: spawn (/ some / where / safe_finger -l @% h | \ / usr / ucb / mail -s% d-% h root) &

Safe_finger buyrug'i tcpd sargichi bilan birga keladi va tegishli joyga o'rnatilishi kerak. Uzoq barmoq server tomonidan yuborilgan ma'lumotlardan mumkin bo'lgan zararni cheklaydi. Ushbu standart barmoq komandasidan yaxshiroq himoya beradi.

% H (client host) va% d (xizmat nomi) ketma-ketliklarining kengayishi qobiq buyruqlar bo'limida tavsiflanadi.

Ogohlantirish: siz abadiy barmoq tsikli uchun tayyorlanmaguningizcha, barmoqlaringizning idishini bezovta qilmang.

Tarmoqning xavfsizlik devori tizimlarida ushbu trickni yanada kengroq qilish mumkin. Odatda tarmoq xavfsizlik devori tashqi dunyoga cheklangan xizmatlarni taqdim etadi. Boshqa barcha xizmatlar yuqoridagi tftp misoli kabi "bugged" bo'lishi mumkin. Natijada erta ogohlantirish tizimi yaxshi.

SHUNINGDEK QARANG

tcpd (8) TCP / IP daemon sarmalovchi dastur. tcpdchk (8), tcpdmatch (8), sinov dasturlari.

Muhim: shaxsiy kompyuteringizda buyruq qanday ishlatilishini ko'rish uchun man buyrug'ini ( % man ) ishlating.