Hosts.allow - Linux Command - Unix Command

NAME

hosts_access - хандалтын хандалтын хяналтын файлуудын хэлбэршүүлэлт юм

ТОДОРХОЙЛОЛ

Энэ гарын авлага нь клиент (хостын нэр / хаяг, хэрэглэгчийн нэр), сервер (процессын нэр, хостын нэр / хаяг) дээр суурилсан хандалтын хяналтын хэлийг энгийн байдлаар тодорхойлж өгдөг. Жишээ нь төгсгөлд нь өгөгдсөн. Тэвчишгүй уншигчид EXAMPLES хэсгийг алгасаж танилцуулахыг зөвлөж байна. Хандалтын хяналтын хэлнүүдийн өргөтгөсөн хувилбар host_options (5) баримт бичигт тайлбарлагдсан байгаа. Хөтөлбөрийг бий болгох хугацааг өргөтгөлүүд -DPROCESS_OPTIONS-тэй холбох замаар асаалттай байна.

Дараах текст демон гэдэг нь сүлжээний дэмон процесс хийгдэх процессийн нэр бөгөөд клиент нь эзэн хүсэлт хүлээн авагчийн нэр, хаягийг хэлнэ. Сүлжээний дэмон процессийн нэр нь inetd тохиргооны файлд заагдсан байдаг.

Нэвтрэх хяналтын файлууд

Хандалтын хяналтын програм хангамж нь хоёр файлтай . Хайлт эхний тоглолтонд зогсдог.

Хандалт (daemon, client) хос хостыг /etc/hosts.allow файлд оруулбал зөвшөөрөгдөх болно.

Үгүй бол, (daemon, client) хостыг /etc/hosts.deny файлд оруулга тааруулах үед хандалтыг хаах болно.

Үгүй бол нэвтрэх эрхийг олгоно.

Байгаа хандах хяналтын файлыг хоосон файлтай адил гэж үзнэ. Тиймээс хандалтын хяналтын файл байхгүй тохиолдолд хандалтын хяналтыг унтрааж болно.

Нэвтрэх хяналтын дүрэм

Хандалтын хяналтын файл бүр нь тэгээс илүү текст мөрүүдээс бүрдэнэ. Эдгээр мөрүүдийг гаднаас нь харахад боловсруулдаг. Тоглолт олдвол хайлт дуусгавар болно.

Шинэ мөрийн тэмдэгт нь урагшлуулсан тэмдэгтээс өмнөх үед үл тоомсорлодог. Энэ нь таныг засварлахад хялбар болгохын тулд урт мөрүүдийг задлахыг зөвшөөрдөг.

`# 'Тэмдэгтээс эхэлж хоосон мөр эсвэл мөр орхигддог. Энэ нь унших, бичихэд хялбар болохын тулд сэтгэгдэл, зайны мэдээллийг оруулах боломжийг танд олгоно.

Бусад бүх мөрүүд нь дараах форматтай байх ёстой.

daemon_list: client_list [: shell_command]

daemon_list нь нэг буюу түүнээс дээш дэмонемийн процессийн нэрсийн жагсаалт (argv [0] утга) эсвэл wildcards (доороос харна уу) жагсаалт юм.

client_list нь нэг буюу түүнээс олон хост нэр, хост хаяг, хэв маяг эсвэл wildcards (доороос харна уу) -ийн жагсаалт юм. Энэ нь харилцагчийн хост нэр буюу хаягийн эсрэг таарах болно.

Демон @ хост болон хэрэглэгчийн @ хостуудын илүү төвөгтэй хэлбэрүүдийг сервер төгсгөлийн хэсгүүд болон клиентийн хэрэглэгчийн нэрээр харах хайлтын хэсэгт тайлбарласан байгаа.

Жагсаалтын элементүүдийг хоосон зай болон / эсвэл таслалаар тусгаарлана.

NIS (YP) сүлжээний бүдүүвч хайж байгаагаас бусад тохиолдолд хандалтын хяналтын бүх хяналтууд нь тохиолдлын утгатай биш юм.

ПатTERNS

Хандалтын хяналтын хэл нь дараах хэлбэртэй байна:

`. '-ээр эхэлсэн мөр. тэмдэгт. Хэрэв нэрний сүүлийн хэсгүүд нь заасан загвартай тохирч байвал хостын нэр тохирсон байна. Жишээ нь `.tue.nl 'загвар хостын нэр` wzv.win.tue.nl'-тэй таарч байна.

`. 'Гэсэн төгсгөлтэй мөр тэмдэгт. Эхний тоон талбарууд нь өгөгдсөн мөртэй таарч байвал хостын хаяг тохирно. Жишээ нь `131.155 'гэсэн загвар байна. Эйнштейн их сургуулийн сүлжээ (131.155.xx) дээрх хостуудын хаягтай таарч байна.

`` 'Тэмдэгтээс эхэлсэн мөр нь NIS (урьд нь YP) сүлжээний бүлгийн нэрээр эмэгддэг. Хүлээн авагчийн нэр тодорхойлогдсон сүлжээний бүлгийн хост гишүүнтэй таарч тохирдог. Сүлжээний бүлгийн таарцууд нь дэмон процессийн нэрс эсвэл клиентийн хэрэглэгчийн нэрийг дэмжихгүй байна.

`Nnnn / mmmm 'хэлбэрийн илэрхийлэл нь' net / mask 'гэсэн хослолт юм. Хэрвээ 'net' нь bitwise AND address болон mask гэсэн тэнцүү бол IPv4 хост хаяг тохирно. Жишээлбэл, / mask баганыг `131.155.72.0/255.255.254.0 'нь` 131.155.72.0' 131.155.73.255 'хүртэлх муж бүрийн хаягтай таардаг.

'[N: n: n: n: n: n: n: n] / m' хэлбэр нь `[net] / prefixlen 'хос утга юм. IP хаяг нь 'prefixlen' битийн хаягтай тэнцүү бол IPv6 хост хаяг тохирно. Жишээ нь: [net] / prefixlen загвар нь `3ffe: 505: 2: 1 ::] / 64 ' 1: ffff: ffff: ffff: ffff '.

`/ 'Тэмдэгтийн дараалал нь файлын нэр маягаар эмэгддэг . Хандах нэр эсвэл хаягийг тухайн файлд дурьдсан хост нэр эсвэл хаягийн загвартай таарч байвал таарах болно. Файлын формат нь тэг ба түүнээс дээш тооны хост нэр, хаягийн хэв маягт зайгаар тусгаарлагдсан тэг буюу түүнээс олон мөр юм. Файлын нэрийг хаана ч ашиглаж болох хост нэр, хаягийн загварыг ашиглаж болно.

'+' Болон '?' хостын нэр эсвэл IP хаягийг тааруулахын тулд ашиглаж болно. Энэ тохирох аргыг "цэвэр / баганатай" хослуулахын тулд хостын нэрийг `. ' эсвэл IP хаягийн хослолыг `. 'гэж тэмдэглэнэ.

WILDCARDS

Хандалтын хяналтын хэл нь илэрхий ил захидал дэмждэг.

Бүх

Бүх нийтийн орлуулагддаг тэмдэгт байнга таардаг.

Орон нутгийн

Нэр нь ямар нэг цэгийн тэмдэгт агуулаагүй хостод таарна.

UNKNOWN

Нэр нь үл мэдэгдэх хэрэглэгчийн нэртэй таарч байгаа бөгөөд нэр эсвэл хаягаа мэдэхгүй хостод тааруулна. Энэ загварыг анхааралтай ашиглах ёстой: түр нэр нэрийн серверийн асуудалтай учир хостын нэр нь боломжгүй байж болно. Програм хангамжийн ямар төрлийн сүлжээнд холбогдож байгааг мэдэх боломжгүй үед сүлжээний хаяг байхгүй болно.

БИЧИГ

Нэр нь мэдэгдэж байгаа ямар ч хэрэглэгчтэй таарч таарах бөгөөд нэр болон хаягаа мэдэх хостод тааруулна. Энэ загварыг анхааралтай ашиглах ёстой: түр нэр нэрийн серверийн асуудалтай учир хостын нэр нь боломжгүй байж болно. Програм хангамжийн ямар төрлийн сүлжээнд холбогдож байгааг мэдэх боломжгүй үед сүлжээний хаяг байхгүй болно.

PARANOID

Нэр хаяг нь түүний хаягтай тохирохгүй байгаа хостыг тааруулдаг. Tcpd нь -DPARANOID (үндсэн горимоор) бүтээгдсэн үед, хандалтын хяналтын хүснэгтүүдийг харахаасаа өмнө эдгээр клиентийн хүсэлтүүдийг оруулдаг. Ийм хүсэлтэд илүү хяналт тавихыг хүсэж байгаа бол DPDARANOID-г бүтээхгүй.

OPERATORS

ҮНЭГҮЙ

Зориулалтын хэлбэр нь: list_1 EXCEPT list_2 '; энэ нь жагсаалтын_2 заалттай таарахгүй бол list_1-д тохирох бүх зүйлийг тааруулж тохируулна . Үл давж заалдах операторыг daemon_lists болон client_lists дотор ашиглаж болно. Үл хүлээн зөвшөөрөгдсөн оператор нь хаалттай байж болно: хэрэв хяналтын хэл нь хаалтанд хэрэглэхийг зөвшөөрөх бол `` EXCEPT c '' EXCEPT c '' (EXCEPT c) 'гэж задална.

SHELL COMMANDS

Хэрэв эхний тохирсон хандалтын хяналтын дүрмийг бүрхүүлийн тушаал агуулсан бол тэр тушаал% орлуулалтад хамаарна (дараагийн хэсгийг үзнэ үү). Үр дүнг / bin / sh child процессоор / dev / null -д холбогдсон стандарт оролт, гаралт болон алдаагаар гүйцэтгэгдэнэ. Хэрэв та дууссан байхыг хүлээхийг хүсэхгүй байвал тушаалын төгсгөлд `& 'зааж өгнө үү.

Shell тушаал нь inetd-ийн PATH тохиргоонд найдахгүй байх ёстой. Харин тэдгээр нь үнэмлэхүй замын нэрийг ашиглах ёстой, эсвэл тэдгээр нь тодорхой PATH = ямар ч мэдэгдэлтэй эхлэх ёстой.

Hosts_options (5) баримт нь бүрхүүлийн тушаалын талбарыг өөр хэлэнд ашигладаг өөр хэлийг тайлбарладаг.

% НЭВТРЭХ

Дараах өргөтгөлүүд нь shell тушаал дотор байдаг:

% a (% A)

Үйлчлүүлэгч (сервер) хост хаяг.

% c

Үйлчлүүлэгчийн мэдээлэл: Хэр хэмжээний мэдээлэл байгаа эсэхээс хамааран хэрэглэгч @ хост, хэрэглэгч @ хаяг, хостын нэр, эсвэл зөвхөн хаяг.

% d

Демон процессийн нэр (argv [0] утга).

% h (% H)

Хүлээн авагчийн нэр байхгүй бол үйлчлүүлэгч (сервер) хост нэр эсвэл хаяг.

% n (% N)

Үйлчлүүлэгч (сервер) хост нэр (эсвэл "үл мэдэгдэх" эсвэл "хэтэрхий санаа зовж буй").

% p

Демон процесс ID.

% s

Серверийн тухай мэдээлэл: дэмон @ хост, демон @ хаяг, эсвэл зөвхөн дэмоны нэр, хичнээн хэмжээний мэдээлэл байгаа зэргээс шалтгаална.

% u

Үйлчлүүлэгчийн нэр (эсвэл "үл мэдэгдэх").

%%

Нэг `% 'тэмдэгтийг өргөжүүлнэ.

Бүрхүүлийг төөрөгдүүлэх% өргөтгөл дэх тэмдэгтүүд нь доогуур зураасаар солигдоно.

SERVER ENDPOINT PATTERNS

Сүлжээний хаягаар тэд харилцагчдыг ялгахын тулд маягтын загварыг ашиглана уу:

process_name @ host_pattern: client_list ...

Машин адил интерфэйс хост нэртэй интернетийн янз бүрийн интернет хаягтай үед эдгээртэй адилхан загварыг ашиглаж болно. Үйлчилгээ үзүүлэгчид нь FTP, GOPHER эсвэл WWW архивыг интернетийн нэрээр санал болгож болно. Host_options (5) баримт дахь "twist" сонголтыг үзнэ үү. Зарим системүүд (Solaris, FreeBSD) нь нэгээс олон интернэт хаягтай байж болох бөгөөд нэг физик интерфэйс дээр байдаг; Бусад системүүдтэй цуг та SLIP эсвэл PPP псевдо интерфэйс уруу чиглэсэн тусгай сүлжээний хаягийн талбарт амьдардаг байж болох юм.

Host_attern нь client_list контекстын хост нэр болон хаягуудтай ижил syntax дүрмүүдийг дагадаг. Ихэнхдээ серверийн төгсгөлийн мэдээлэл нь зөвхөн холболтод чиглэсэн үйлчилгээтэй байдаг.

CLIENT USERNAME LOOKUP

Клиент хост RFC 931 протокол эсвэл түүний удмын нэг (TAP, IDENT, RFC 1413) дэмждэг бол wrapper програмууд нь холболтын эзэмшигчийн талаар нэмэлт мэдээллийг авах боломжтой. Хэрэглэгчийн хэрэглэгчийн нэр, боломжтой бол, харилцагчийн хост нэртэй хамт бүртгэгдсэн байх бөгөөд дараахь загварт тохироход ашиглагдаж болно:

daemon_list: ... user_pattern @ host_pattern ...

Дэмон буулгах коммандыг дүрэм журмын дагуу хэрэглэгчийн хэрэглэгчийн хайлт (анхдагч) хийх эсвэл клиент хостыг байнга шалгахын тулд эмхэтгэх үед тохируулж болно. Дүрэмд зааснаар хэрэглэгчийн хэрэглэгчийн хайлт хийсний дараа дээрх дүрмээр бол daemon_list болон host_pattern хоёрын хоорондох тааруулан хэрэглэгчийн нэрийг хайж олоход хүргэдэг .

Хэрэглэгчийн загвар демоны процессийн загвартай адилхан синтакстай байдаг тул ижил талбарт картуудыг хэрэглэдэг (сүлжээний бүлгийн гишүүнчлэл дэмжигддэггүй). Хэдийгээр хэрэглэгчийн нэрээр хайлт хийх шаардлагагүй юм.

Үйлчлүүлэгчийн хэрэглэгчийн нэрний мэдээллийг ихэнхдээ хэрэгтэй үед, өөрөөр хэлбэл клиент системийг эвдэх үед найдвартай байх боломжгүй. Ерөнхийдөө ALL болон (НҮБ) КНД гэж нэрлэгддэг цорын ганц хэрэглэгчийн нэр байдаг.

Хэрэглэгчийн нэрээр хайж олох нь зөвхөн TCP дээр суурилсан үйлчилгээнүүдийн хувьд боломжтой бөгөөд зөвхөн клиент хостыг тохирох демон ажиллуулах үед л; Бусад бүх тохиолдолд үр дүн нь "үл мэдэгдэх" байна.

Нэрийн хайлтыг галт ханаар хориглосноор сайн мэдэх UNIX-ийн цөмийн алдаа нь үйлчилгээ алдагдахад хүргэж болзошгүй юм. README баримт бичиг нь таны цөм энэ алдаатай эсэхийг мэдэхийн тулд процедурыг тайлбарлах болно.

Хэрэглэгчийн нэрийг хайж олох нь UNIX-ийн бус хэрэглэгчдэд мэдэгдэхүйц саатал үүсгэх магадлалтай. Хэрэглэгчийн нэрийг хайж олох хугацаа нь 10 секунд байна: богино сүлжээнд удаан хугацаагаар ажиллахад хэтэрхий богино боловч компьютер хэрэглэгчдийг цочирдуулдаг.

Сонгогдсон хэрэглэгчийн хайлт сүүлийн асуудалыг арилгаж чадна. Жишээ нь:


daemon_list: @pcnetgroup ALL @ ALL

хэрэглэгчийн нэрний хайлт хийлгүйгээр pc сүлжээний бүлгийн гишүүдийг тааруулах болно, гэхдээ бусад бүх системүүдийн хэрэглэгчийн нэрийг хайж олох болно.

ХОЛБОГДУУЛАХ АЖИЛЛАГААНД ОРОЛЦОХГҮЙ

Олон TCP / IP шийдлүүдийн дэс дарааллын дугаар генераторын алдаа нь халдагчид найдвартай хостуудыг хялбархан дүрсэлж, жишээ нь алсын бүрхүүлийн үйлчилгээг дамжуулж задлах боломжийг олгодог. IDENT (RFC931 гэх мэт) үйлчилгээ нь иймэрхүү болон бусад хостын хаягуудыг хууран мэхэлсэн халдлагыг илрүүлэхэд ашиглагдаж болно.

Үйлчлүүлэгчийн хүсэлтийг хүлээн авахаас өмнө, захиалагч нь хүсэлтийг илгээж чадаагүй IDENT үйлчилгээг ашиглаж болно. Клиент хост IDENT үйлчилгээ үзүүлж байгаа үед сөрөг IDENT хайлтын үр дүн (клиент `UNKNOWN @ host 'гэж үздэг) хост хууран мэхэлсэн халдлагын хүчтэй нотолгоо юм.

Идэвхтэй IDENT хайлтын үр дүн (клиент `KNOWN @ host'-г тааруулах) нь найдвар багатай байна. Халдагч хэрэглэгчийн холболт болон IDENT хайлтыг хоёуланд нь хуурах боломжтой байдаг боловч үүнийг хийх нь зөвхөн клиент холболтыг хуурахаас хамаагүй хүнд байдаг. Мөн үйлчлүүлэгчийн IDENT сервер хэвтэж байж магадгүй юм.

Тэмдэглэл: IDENT хайлт UDP үйлчилгээнд ажиллахгүй байна.

Жишээ нь

Хандалтын хяналтын янз бүрийн төрлийг хамгийн багаар бодоход хэлэх боломжтой хэл нь уян хатан байна. Хэдийгээр уг хэл нь хандалтын хяналтын хоёр хүснэгтийг ашигладаг боловч хамгийн нийтлэг бодлогыг хүснэгтүүдийн аль нэгээр нь эсвэл бүр хоосон хүснэгтэнд хийж болно.

Доорх жишээнүүдийг уншихад зөвшөөрөх хүснэгтийг татгалзах хүснэгтээс өмнө хайлт хийгдэж байгаа, хайлт дуусахад таарч дуусч байгааг хайж дууссан, таарч байгаагүй тохиолдолд хандалтыг олгоно гэдгийг ойлгох нь чухал юм.

Эдгээр жишээнүүд нь хост болон домэйн нэрүүдийг ашигладаг. Түр зуурын нэрийн серверийн хайх алдааны үр нөлөөг багасгахын тулд тэдгээрийг хаяг болон / эсвэл сүлжээний / netmask мэдээллийг оруулснаар тэдгээрийг сайжруулж болно.

Хамгийн хаагдсан

Энэ тохиолдолд хандалт нь анхдагчаар хаагдана. Зєвхєн тодорхой зєвшєєрєгдсєн хостууд зєвшєєрєгдсєн хандалт байна.

Анхдагч бодлого (хандалт байхгүй) нь амархан татгалзах файлаар хэрэгждэг:

/etc/hosts.deny: ALL: ALL

Энэ нь зөвшөөрөгдсөн файлын оруулгуудаар хандалт хийхийг зөвшөөрөхгүй л бол бүх хостуудаас бүх үйлчилгээг үгүйсгэдэг.

Илэрхий эрхтэй хостууд зөвшөөрөгдсөн файлд жагсаагдсан байна. Жишээлбэл:

/etc/hosts.allow: ALL: LOCAL @some_netgroup
Бүх: .foobar.edu EXCEPT термalserver.foobar.edu

Эхний дүрэм нь локал домэйн дээрх хостуудаас хандах хандалтыг зөвшөөрдөг (хостын нэрээр '.' Байхгүй ) болон зарим бүлэг сүлжээний бүлгийн гишүүд. Хоёр дахь дүрэм нь foobar.edu домэйн дахь бүх хостуудаас терминалервер.foobar.edu- аас бусад бүх хандалтыг зөвшөөрдөг.

ҮНЭГҮЙ нээгдсэн

Энд нэвтрэхийг анхдагчаар олгодог; зөвхөн тодорхой зааж өгсөн хостууд үйлчилгээнээс татгалздаг.

Анхдагч бодлого (зөвшөөрөгдсөн хандалт) нь зөвшөөрөгдөх файлыг давхардуулж өгснөөр үүнийг орхиж болох юм. Зөвшөөрөлгүй эрх бүхий хостууд татгалзсан файлд жагсаагдсан байна. Жишээлбэл:

/etc/hosts.deny: ALL: some.host.name, .some.domain
ALL EXCEPT in.fingerd: other.host.name, .other.domain

Эхний дүрэм нь бүх үйлчилгээнүүдийн зарим хостууд болон домэйнүүдийг үгүйсгэдэг; Хоёр дахь дүрэм нь бусад хостууд болон домэйнүүдийн хурууны хүсэлтийг зөвшөөрдөг.

BOOBY TRAPS

Дараагийн жишээнд локал домэйн дэх хостуудаас tftp хүсэлтүүдийг зөвшөөрдөг (тэргүүлэх цэгийг анзаарах). Бусад ямар ч хостоос хүсэлтүүд татгалздаг. Хүсэлт гаргаагүй файлыг хуруугаар зөөгч рүү илгээж байна. Үр дүн нь супер хэрэглэгч рүү шуудангаар явагддаг.

/etc/hosts.allow:

in.tftpd: LOCAL, .my.domain /etc/hosts.deny: in.tftpd: ALL: spawn (/ зарим / хаана / safe_finger -l @% h | \ / usr / ucb / mail -s% d-% h root) &

Safe_finger тушаал нь tcpd wrapper-тай цуг ирдэг бөгөөд тохиромжтой газар нь суулгах ёстой. Энэ нь алсад буй хурууны серверээс илгээсэн өгөгдлөөс үүсэх хор хөнөөлийг хязгаарладаг. Энэ нь стандарт хурууны тушаалаас илүү хамгаалалтыг өгдөг.

% H (клиент хост) болон% d (үйлчилгээний нэр) дараалал нь shell тушаалын хэсэгт хэсэгт тайлбарлагдсан байгаа.

Анхааруулга: хязгааргүй хурууны гогцоонд бэлтгэгдээгүй бол хуруугаараа дэмонг бүү хий.

Сүлжээний галт ханын систем дээр энэ трикийг цааш үргэлжлүүлэх боломжтой. Ердийн сүлжээний галт хана нь гадаад ертөнцөд хязгаарлагдмал багц үйлчилгээ үзүүлдэг. Бусад бүх үйлчилгээнүүд дээрх жишээ tftp шиг "bugged" байж болох юм. Үр дүн нь эрт зарлан мэдээлэх систем юм.

БҮЛЭГ

tcpd (8) tcp / ip демон принтерийн програм. tcpdchk (8), tcpdmatch (8), тестийн програмууд.

Чухал: Тушаалын командыг ашиглана ( % man ) ашиглана.