Hosts.deny - Linux Command - Unix Command

NAME

hosts_access - host giriş nəzarət fayllarının formatı

TƏSVİRİ

Bu dərslik səhifəsi, müştəri (host adı / ünvanı, istifadəçi adı) və server (proses adı, host adı / ünvanı) nümunələrinə əsaslanan sadə bir giriş nəzarət dilini təsvir edir. Nümunələr sonunda verilir. Səbirli oxucu tez bir giriş üçün EXAMPLES bölümünə keçməyi təşviq edir.

Access nəzarət dilinin genişləndirilmiş versiyası hosts_options (5) sənədində təsvir edilmişdir. Proqram uzantıları proqram-qurma müddətində -DPROCESS_OPTIONS ilə qurulub açılır.

Aşağıdakı mətndə, daemon bir şəbəkə prosesi prosesinin proses adıdır və müştəri xidməti tələb edən bir ana və / və ya ünvanıdır. Şəbəkə daemon prosesi adları inetd konfiqurasiya faylında göstərilir.

ACCESS CONTROL FİLMLƏRİ

Erişim nəzarət proqramı iki fayl üzərində məsləhət görür. Axtarış ilk matçda dayanır:

*

Access (/ daemon, müştəri) cütü /etc/hosts.allow faylında bir giriş eşleştiğinde veriləcəkdir .

*

Əks halda, bir ( daemon , müştəri) cüt /etc/hosts.deny faylında bir giriş eşleştiğinde erişim reddedilecektir .

*

Əks halda, çıxış veriləcəkdir.

Qeyri-mövcud olan bir giriş faylı boş fayl olduğu kimi qəbul edilir . Beləliklə, giriş nəzarəti təmin edilmədən, giriş nəzarəti söndürülə bilər.

ACCESS KONTROL QAYDALARI

Hər girişə nəzarət faylı sıfır və ya daha çox mətn xətasından ibarətdir. Bu xətlər görünüş sırasına görə işlənir. Bir matç tapıldığında axtarış sona çatır.

*

Yeni bir xarakterli xarakter backslash xarakterindən əvvəl olduğunda nəzərə alınmır. Bu, uzun xəttləri qırmağa imkan verir ki, onlar düzəlişləri asanlaşdırsın.

*

'#' Simvolu ilə başlayan boş xəttlər və ya xətlər göz ardı edilir. Bu cədvəllər oxumaq daha asan olmasına görə şərhlər və boşluq yerləşdirməyinizə imkan verir.

*

Bütün başqa hatlar aşağıdakı formata uyğun olmalıdır: [] ilə bağlı olanlar isteğe bağlıdır:


daemon_list: client_list [: shell_command]

daemon_list bir və ya daha çox daemon proses adlarının siyahısı (argv [0] dəyərlər) və ya joker kart (aşağıya bax).

client_list , bir və ya daha çox host adları, host ünvanları, nümunələri və ya joker kartların (aşağıya baxın) müştərinin ana adı və ünvanı ilə uyğunlaşdırılacaq bir siyahısıdır.

Daemon @ hostuser @ host daha mürəkkəb formaları server endpoint nümunələri və müvafiq olaraq müştəri istifadəçi adı axtarışlarında bölmələrdə izah olunur.

Siyahı elementləri boşluq və / və ya vergüllə ayrılmalıdır.

NIS (YP) şəbəkə qrupu axtarışları istisna olmaqla, bütün giriş nəzarət çekləri həssasdır.

PƏRDƏN

Access nəzarət dili aşağıdakı nümunələri tətbiq edir:

*

'.' Ilə başlayan bir string. xarakter. Bir adın adı, adının sonuncu komponentləri göstərilən desene uyğun gəlsə. Məsələn, '.tue.nl' nişanı 'wzv.win.tue.nl' ana adı ilə eşleşir.

*

Bir '.' Ilə bitən bir string. xarakter. İlk ədədi sahələr verilən dizəyə uyğun gəlsə bir ana ünvan uyğunlaşdırılır. Məsələn, '131.155' nümunəsi. Eindhoven Universitetinin şəbəkəsində (131.155.xx) hər bir ev sahibinin ünvanına uyğun gəlir.

*

Bir '@' simvolu ilə başlayan bir simli bir NIS (əvvəllər YP) şəbəkə qrupu adı kimi qəbul edilir. Belirlenen net qrupun bir üzvü olduğunda bir ana bilgisayar adı eşleştirilir. Netgroup oyunları daemon prosesi adları və ya müştəri istifadəçi adları üçün dəstəklənmir.

*

'Nnnn / mmmm' şəklində ifadə 'net / mask' cütü olaraq şərh edilir. IPv4 host ünvanı 'net' bit və ya ünvana və 'maska' e bərabər olduqda eşleşir. Məsələn, '131.155.72.0 / 255.255.254.0' net / maska ​​nişanı '131.155.72.0' aralığındaki '131.155.73.255' hər ünvana uyğun gəlir.

*

'[N: n: n: n: n: n: n: n] / m' şəklində bir ifadə '[net] / prefixlen' cütü olaraq şərh edilir. "Nöqtə" prefixlen 'bitləri ünvanın "prefixlen" bitlərinə bərabər olduqda bir IPv6 host ünvanı eşleşir. Məsələn: [3ffe: 505: 2: 1 ::] / 64 '[3ffe: 505: 2: 1 ::] / 64', 3ffe: 505: 2: 1 :: '3ffe: 505: 2: 1: ffff: ffff: ffff: ffff '.

*

Bir '/' simvolu ilə başlayan simli bir fayl adı kimi qəbul edilir. Bir ana adı və ya ünvanı, adlandırılmış faylda sadalanan hər hansı bir host adı və ya ünvanı nizamıyla eşleşirse eşleşir. Fayl formatı sıfır və ya daha sıfır və ya daha çox xəta adı və ya boşluq ilə ayrılmış ünvan desenləri ilə xəttdir. Hər hansı bir istifadəçi adı və ya ünvan desenindən istifadə edilə bilən bir fayl adı nüsxəsi istifadə edilə bilər.

*

Wildcards `* 'və'? ' hostnames və ya IP ünvanlarını uyğunlaşdırmaq üçün istifadə edilə bilər. Bu uyğunlaşma metodu 'net / mask' uyğunluq ilə birlikdə istifadə edilə bilməz, '.' Ilə başlayan hostname uyğunluğu. və ya '`` ilə bitən IP ünvanının eşleşmesi.'.

WILDCARDS

Girişə nəzarət dili açıq-aşkar joker kartları dəstəkləyir:

ALL

Universal joker, hər zaman eşleşir.

LOCAL

Adında bir nöqtə xarakterinə malik olmayan hər hansı bir hostla razılaşır.

NAMƏLUM

Adı bilinməyən hər hansı bir istifadəçi ilə uyğun gəlir və adını və ya ünvanı bilinməyən hər hansı bir xostaya uyğun gəlir. Bu nümunə diqqətlə istifadə edilməlidir: müvəqqəti ad server problemləri səbəbiylə host adları əlçatmaz ola bilər. Proqram hansı şəbəkə ilə söhbət etdiyini anlaya bilmədikdə şəbəkə ünvanı istifadə edilə bilməz.

BİLİN

Adını bilən hər hansı bir istifadəçi ilə uyğunlaşır adı ünvanı bilinən hər hansı bir hostla eşleşir. Bu nümunə diqqətlə istifadə edilməlidir: müvəqqəti ad server problemləri səbəbiylə host adları əlçatmaz ola bilər. Proqram hansı şəbəkə ilə söhbət etdiyini anlaya bilmədikdə şəbəkə ünvanı istifadə edilə bilməz.

PARANOID

Adının adına uyğun gəlməyən hər hansı bir ev sahibi ilə razılaşır. Tcpd -DPARANOID (default rejimi) ilə tikildikdə, belə müştərilərin istifadəsini giriş kontrol masalarına baxmadan da azaldır. İstədiyiniz istəklər üzərində daha çox nəzarət istədiyində -PARANOID olmadan qurun.

OPERATORS

TƏRƏFDAR

İstifadəsi istifadənin formasıdır: 'list_1 EXCEPT list_2'; bu quruluş list_2 ilə eşleşmediği halda, list_1 ilə uyğun gələn hər şeyə uyğun gəlir . EXCEPT operatoru daemon_lists və client_lists istifadə edilə bilər. EXCEPT operatoru içəri yerləşdirilə bilər: əgər nəzarət dili parantezlərin istifadəsinə icazə verərsə, 'EXCEPT b EXCEPT c' ifadəsi '(EXCEPT (b EXCEPT c))' kimi ayrıştırılacaktır.

SHELL KOMANDALARI

İlk uyğunluğa giriş nəzarət qayda qabığın əmri varsa, bu əmr % dəyişikliklərə məruz qalır (sonrakı bölməyə bax). Nəticə, standart giriş, çıxış və / dev / null ilə bağlı olan bir / bin / sh uşaq prosesi ilə icra edilir. Tamamlanana qədər gözləmək istəmirsəniz əmr sonunda '&' bir göstərin.

Shell əmrləri inetd PATH parametrinə etibar edilməməlidir. Bunun əvəzinə onlar mütləq yol adlarını istifadə etməlidirlər və ya açıq bir PATH = hər hansı bir bəyanatla başlamalıdırlar.

Hosts_options (5) sənəd, shell komanda sahəsini fərqli və uyğun olmayan bir şəkildə istifadə edən alternativ bir dil təsvir edir.

EXPANSIONS

Shell əmrləri çərçivəsində aşağıdakı genişlənmələr mövcuddur:

a (% A)

Müştəri (server) host ünvanı.

c

Müştərinin məlumatı: istifadəçi @ host, istifadəçi @ ünvanı, bir ana bilgisayar adı və ya yalnız bir məlumat, nə qədər məlumatın mövcudluğuna bağlı olaraq.

% d

Daemon prosesinin adı (argv [0] dəyəri).

%H h)

Məzunətçi adı (server) host adı və ünvanı, əgər ana adı mövcud deyildirsə.

% n (% N)

Müştəri (server) host adı (və ya "naməlum" və ya "paranoid").

% s

Daemon prosesi id.

% s

Server məlumatı: daemon @ host, daemon @ adresi, və ya sadəcə bir daemon adı, nə qədər məlumat mövcud olmasına görə.

u

Müştəri istifadəçi adı (və ya "naməlum").

%%

Bir '%' xarakterinə genişləndirir.

Kabukları qarışdırmaqla genişlənən% genişliyə malik olan simvollar altlıqla əvəzlənir.

SERVER ENDPOINT PATTERNS

Müştərilərə əlaqə qurduqları şəbəkə ünvanı ilə ayırmaq üçün formanın nümunələrini istifadə edin:


Process_name @ host_pattern: client_list ...

Bu kimi naxışlar, maşın müxtəlif internet adları ilə fərqli internet ünvanlarına malik olduqda istifadə edilə bilər. Xidmət təminatçıları FTT, GOPHER və ya WWW arxivlərini internet vasitəsi ilə fərqli təşkilatlara aid ola biləcək adlar təklif etmək üçün istifadə edə bilərlər. Hosts_options (5) sənədində "twist" də baxın. Bəzi sistemlər (Solaris, FreeBSD) bir fiziki interfeysdə birdən artıq internet ünvanı ola bilər; digər sistemlərlə xüsusi bir şəbəkə ünvanı məkanında yaşayan SLIP və ya PPP pseudo interfeyslərinə müraciət etməlisiniz.

Host_pattern, client_list kontekstində host adları və ünvanları kimi eyni sintaksis qaydalarına tabedir. Ümumiyyətlə, server son nöqtə məlumatı yalnız əlaqəli xidmətlərlə istifadə edilə bilər.

MÜŞTƏRİ USERNAME LOOKUP

Müştəri hostu RFC 931 protokolunu və ya nəslindən birini (TAP, IDENT, RFC 1413) dəstəkləyirsə, sarmalayıcı proqramları əlaqə sahibinə dair əlavə məlumat əldə edə bilər. Müştərinin istifadəçi adı məlumatı, mövcud olduqda, müştəri ana adı ilə birlikdə daxil edilir və aşağıdakı kimi nümunələri uyğunlaşdırmaq üçün istifadə edilə bilər:


daemon_list: ... user_pattern @ host_pattern ...

Daemon sarmalayıcıları, qaydalara əsaslanan istifadəçi adı axtarışlarını (default) yerinə yetirmək üçün və ya həmişə müştəri xostunu soruşmaq üçün kompilyasiya vaxtında konfiqurasiya edilə bilər. Kurallara əsaslanan istifadəçi adı axtarışlarında, yuxarıda göstərilən qayda yalnız daemon_listhost_pattern uyğun olduğunda istifadəçi adı axtarışına səbəb olacaq.

Bir istifadəçi nümunəsi daemon prosesi deseniyle eyni sintaksisinə malikdir, eyni jokerlər tətbiq olunur (netgroup üzvlüyü dəstəklənmir). Bununla belə, istifadəçi adları ilə axtarışlar aparılmamalıdır.

*

Müştərinin istifadəçi adı məlumatı, ən çox ehtiyac duyulduğunda, yəni müştəri sistemi təhqir olunduqda etibarlı ola bilməz. Ümumiyyətlə, ALL və (BMT) BİLMƏYİ, yalnız mənası olan bir istifadəçi adı nümunəsidir.

*

User lookups yalnız TCP-based xidmətləri ilə mümkündür və yalnız müştəri hostu uyğun bir işə salındıqda; bütün digər hallarda nəticə "məlum deyil".

*

Ünlü UNIX çekirdek hatası, istifadəçi aramalarında güvenlik duvarı tarafından engellendiğinde servis kaybına neden ola bilər. Sarmalayıcı README sənədində, sizin çekirdinizin bu səhv olub olmadığını öyrənmək üçün bir prosedur təsvir edilmişdir.

*

İstifadəçi adı aramaları UNIX olmayan istifadəçilər üçün nəzərəçarpan gecikmələrə səbəb ola bilər. İstifadəçi adları üçün nəzərdə tutulan zamanaşım 10 saniyədir: yavaş şəbəkələrlə başa çatmaq üçün kifayət qədər qısa, lakin PC istifadəçilərini qıcıqlandırmaq üçün kifayət qədərdir.

Seçici istifadəçi adı axtarışları son problemi hafifletebilir. Məsələn, aşağıdakı kimi bir qayda:


daemon_list: @ pcnetgroup ALL @ ALL

istifadəçi adları axtarışları etmədən pc net qrupunun üzvləri ilə uyğunlaşacaq, lakin bütün digər sistemlərlə istifadəçi adı axtarışlarını yerinə yetirir.

ADRESİNİN XÜSUSİYYƏTLƏRİNİN AÇIQLANMASI

Bir çox TCP / IP tətbiqinin ardıcıl sayı generatorunda qüsurlar intruderlərə asanlıqla etibarlı hostları təqlid etməyə və məsələn, uzaq kabuk xidmətindən keçməyə imkan verir. IDENT (RFC931 və s.) Xidməti bu cür və digər aparıcı ünvan spoofing hücumlarını aşkar etmək üçün istifadə edilə bilər.

Bir müştəri sorğusunu qəbul etməzdən əvvəl, sifarişçi sifarişçinin müraciət etmədiyini öyrənmək üçün IDENT xidmətindən istifadə edə bilər. Mütəxəssis host IDENT xidmətini təmin edərkən, mənfi bir IDENT axtarış nəticə (müştəri 'UNKNOWN @ host' ilə eşleşir) bir host spoofing hücumunun güclü sübutudur.

Pozitif IDENT axtarış nəticəsində (müştəri 'KNOWN @ host' ilə eşleşir) daha az etibarlıdır. Bir müştəri bağlantısını və İDENT axtarışını gizlətmək üçün bir ziyarətçi üçün mümkündür, baxmayaraq ki, bunu sadəcə bir müştəri əlaqəsini sızdırmaqdan daha çətindir. Həmçinin müştərinin İDENT serverinin yalançı olması da ola bilər.

Qeyd: IDENT axtarışları UDP xidmətləri ilə işləmir.

ÖRNEKLER

Dil kifayət qədər çevikdir ki, müxtəlif növ giriş nəzarəti siyasəti ən az səs-küylə ifadə edilə bilər. Dil iki giriş nəzarət masalarından istifadə etsə də, ən ümumi siyasətlər kiçik və ya hətta boş olan cədvəllərdən biri ilə həyata keçirilə bilər.

Aşağıdakı nümunələri oxuduğunuzda, icazə cədvəlinin rədd edilmə masasından əvvəl tarandığını, bir axtarışın tapıldığı zaman axtarışın sona çatdığını və heç bir uyğunlaşma olmadığı zaman, girişin verildiyinin başa düşülməsi vacibdir.

Nümunələr host və domen adlarını istifadə edir. Müvəqqəti adı server axtarış qüsurlarının təsirini azaltmaq üçün ünvan və / və ya şəbəkə / şəbəkə məlumatları daxil olmaqla, onlar təkmilləşdirilə bilər.

ÇOX KAPALI

Bu halda, giriş default olaraq rədd edilir. Yalnız açıq şəkildə səlahiyyətli ev sahiblərinə icazə verilir.

Varsiya siyasəti (heç bir çıxış) əhəmiyyətsiz bir inkar faylı ilə həyata keçirilir:

/etc/hosts.deny: ALL: ALL

Bu, icazə verildikdə, giriş faylları ilə icazə verilmədikcə bütün xidmətlərin hamısını qəbul etmir.

Açıqca təsdiq edilmiş hostlar icazə faylında verilmişdir. Misal üçün:

/etc/hosts.allow: ALL: LOCAL @some_netgroup
ALL: .foobar.edu müstəqil terminalserver.foobar.edu

İlk qayda, yerli domendəki hostlardan ("ana" adında "." Deyil ) və bəzi_netgroup şəbəkəsinin üzvlərindən istifadə etməyə icazə verir. İkinci qayda, terminallarerver.foobar.edu istisna olmaqla, foobar.edu domenindəki bütün hostlardan istifadə etməyə imkan verir (aparıcı nöqtəyə baxın ).

ÇOX AÇIQ

Burada girmə imkanı verilir; yalnız açıq şəkildə göstərilən hostlar xidmətdən imtina edirlər.

Standart siyasət (verilən verilənlər bazası) icazə faylını istisna edir, buna görə atılsın. Aydın olmayan qeyri-səlahiyyətli hostlar inkar faylında siyahıya alınmışdır. Misal üçün:

/etc/hosts.deny: ALL: some.host.name, .some.domain
In.fingerd: ALL.Host.name, .other.domain

Birinci qayda bir sıra ev sahiblərini və domenlərin bütün xidmətlərini rədd edir; ikinci qayda hala digər host və domainlərdən barmaq istəklərinə icazə verir.

BOOBY TRAPS

Növbəti nümunə yerli domendəki hostlardan tftp sorğusuna icazə verir (aparıcı nöqtəyə baxın). Hər hansı digər ev sahibindən istəklər rədd edilir. İstənilən faylın əvəzinə, barmağına baxan şəxs cinayətkarlar üçün göndərilir. Nəticə superuser üçün göndərilir.

/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 komandası tcpd sarıcı ilə gəlir və müvafiq yerdə quraşdırılmalıdır. Uzaqdan barmaq server tərəfindən göndərilən məlumatlardan mümkün olan zərərləri məhdudlaşdırır. Standart barmaq əmrindən daha yaxşı qorunma təmin edir.

% H (müştəri hostu) və% d (xidmət adı) sıralarının genişlənməsi kabuk əmrləri bölməsində təsvir edilmişdir.

Diqqət: sonsuz barmaq döngələr üçün hazırlanmadığınız müddətcə, barmağınızın dabanını tutma.

Şəbəkə firewall sistemlərində bu hiylə daha da daşıya bilər. Tipik şəbəkə firewallu xarici dünyaya yalnız məhdud bir sıra xidmətlər təqdim edir. Bütün digər xidmətlər yuxarıdakı tftp nümunəsi kimi "bugged" ola bilər. Nəticədə yaxşı erkən xəbərdarlıq sistemi.

Mühüm: Şəxsi kompüterinizdə bir komanda necə istifadə edildiyini görmək üçün man komutunu ( % man ) istifadə edin.

Əlaqədar məqalələr