inetd(8)-г мэддэг хэн бүхэн TCP Гүйцэтгэлийг хялбаршуулагчдын талаар заримдаа сонссон байх. Гэхдээ цөөн хүмүүс энэ боломжийн сүлжээний орчин дахь ашигтай талыг бүрэн ойлгодог юм шиг санагддаг. Хүн бүхэн сүлжээний холболтууд зохицуулах галт хана суулгахыг хүсдэг юм шиг санагддаг. Галт хана олон төрлийн хэрэглээтэй боловч холболт үүсгэгч уруу текст илгээх зэрэг зарим зүйлсийг галт хана хийж чаддаггүй. Энд дурдсан TCP Гүйцэтгэлийг хялбаршуулагчид энэ мэтийг болон үүнээс илүүг хийдэг. Дараагийн хэдэн хэсэгт TCP Гүйцэтгэлийг хялбаршуулагчдын олон боломжуудыг хэлэлцэх бөгөөд боломжтой үед нь жишээ тохиргооны мөрийг үзүүлэх болно.
TCP Гүйцэтгэлийг хялбаршуулагчид програм хангамж нь inetd-ийн чадваруудыг сервер бүрийн хувьд түүний доор хянагдаж болохоор дэмжин өргөтгөдөг. Энэ аргыг ашиглан бүртгэл хөтлөх дэмжлэг нэмэх, холболтууд уруу мэдэгдэл буцаах, дэмонд зөвхөн дотоод холболтуудыг хүлээн авахыг зөвшөөрөх гэх мэт үйлдлүүдийг хийх боломжтой. Эдгээр боломжуудын заримыг галт хана суулган тохируулж хийж болох боловч энэ нь зөвхөн хамгаалалтын нэмэлт давхарга болохоос гадна галт ханын үзүүлж чаддагаас илүү хяналтыг олгодог юм.
TCP Гүйцэтгэлийг хялбаршуулагчдын ийнхүү нэмэгдсэн ажиллагаа нь сайн галт ханыг солихоор зүйл гэж ойлгогдох ёсгүй юм. TCP Гүйцэтгэлийг хялбаршуулагчид нь галт хана эсвэл өөр бусад аюулгүй байдлыг нэмэгдүүлэгч програмуудын хамтаар ашиглагдаж системийн хувьд хамгаалалтын нэмэлт давхарга болон аятайхан үйлчлэх боломжтой юм.
Энэ нь inetd-ийн тохиргооны өргөтгөл болохоор энэхүү баримтыг уншигч таныг inetd тохиргоо хэсгийг уншсан гэдэгт найдаж байна.
inetd(8)-ээр ажиллуулагдсан програмууд яг жинхэнээрээ «дэмонууд» биш боловч тэдгээрийг уламжлалаар дэмонууд гэдэг. Энэ ухагдахууныг бид энэ хэсэгт бас ашиглах болно.
TCP Гүйцэтгэлийг хялбаршуулагчдыг FreeBSD-д
ашиглахад байх цорын ганц шаардлага нь inetd серверийг
rc.conf
файлаас -Ww
тохируулгатай ажиллуулсан эсэхийг шалгах явдал юм; энэ нь анхдагч тохиргоо
юм. Мэдээж /etc/hosts.allow
файлын
зөв тохиргоо бас байгааг хүлээж байдаг боловч эдгээр тохиолдлуудад
syslogd(8) системийн бүртгэлүүдэд мэдэгдлүүд шиддэг.
Бусад TCP Гүйцэтгэлийг хялбаршуулагчдын
шийдлүүдтэй харьцуулах юм бол hosts.deny
файлыг хэрэглэхээ больсон. Тохиргооны бүх сонголтууд
/etc/hosts.allow
файлд байх шаардлагатай.
Хамгийн амархан тохиргоогоороо бол дэмоны холболтын бодлогууд
зөвшөөрөгдсөн эсвэл хаагдсаны аль нэгээр /etc/hosts.allow
файл дахь тохируулгуудаас хамааран тохируулагддаг. FreeBSD дээрх анхдагч
тохиргоо нь inetd-ээр эхэлсэн дэмон бүр уруу хийгдэх
холболтыг зөвшөөрдөг. Үүнийг өөрчлөх талаар зөвхөн үндсэн тохиргооны тухай
дурдсаны дараа хэлэлцэх болно.
Үндсэн тохиргоо ихэвчлэн дэмон : хаяг : үйлдэл
хэлбэрийг авдаг. Энд байгаа дэмон
нь
inetd
-ийн эхлүүлсэн дэмоны нэр юм.
Хаяг
нь зөв хостын нэр, address
хаяг эсвэл дөрвөлжин хаалтан ([ ]) доторх IPv6 хаяг байж болно.
action
буюу үйлдлийн талбар нь allow
буюу зөвшөөрөх
эсвэл deny
буюу эрхийг хориглох эсвэл хандалтыг хаахын аль нэг байна.
Тохиргоо эхний тохирсон дүрэм журмын дагуу ажилладаг гэдгийг
санах хэрэгтэй, энэ нь тохирох дүрмийг тохиргооны файлаас өсөх дарааллаар
хайна гэсэн үг юм. Тохирох дүрэм олдвол тэр дүрэм ашиглагдаж хайх
процесс зогсоно.
Бусад хэд хэдэн тохируулгууд байдаг боловч тэдгээрийг энэ хэсгийн сүүлд
тайлбарлах болно. Хялбар тохиргооны мөр ганцхан тэр мэдээллийн дагуу амархнаар
хийгдэж болно. Жишээ нь
mail/qpopper
дэмоноор дамжин
хийгдэж болох POP3 холболтуудыг зөвшөөрөхийн тулд
дараах мөрүүд hosts.allow
файлд нэмж хийгдэх
хэрэгтэй:
Энэ мөрийг нэмснийхээ дараа inetd-г service(8) ашиглан дахин эхлүүлэх хэрэгтэй:
#
service inetd restart
TCP Гүйцэтгэлийг хялбаршуулагчид нь бас дэвшилтэт
тохируулгуудтай байдаг; тэдгээр нь холболтуудтай хэрхэн ажиллахыг илүүтэйгээр
хянах боломжийг олгодог. Зарим тохиолдолд тодорхой хостууд эсвэл дэмон
холболтууд уруу тайлбар буцаах нь зүйтэй санаа байж болох юм. Бусад
тохиолдолд магадгүй бүртгэлийн файл бичигдэх ёстой эсвэл цахим захидал
администратор уруу илгээгдэж болох юм. Бусад тохиолдлууд үйлчилгээг зөвхөн
дотоод холболтууддаа ашиглахыг шаардаж болох юм. Эдгээр нь бүгдээрээ
орлуулагддаг тэмдэгтүүд
, өргөтгөх тэмдэгтүүд болон
гадаад тушаалыг ажиллуулах зэрэг тохиргооны сонголтуудын тусламжтай хийгдэх
боломжтой юм. Дараагийн хоёр хэсэгт эдгээр тохиолдлуудын талаар бичсэн
байгаа.
Холболтыг хааж түүнийг тогтоохыг оролдсон хүн уруу шалтгааныг нь
илгээх тохиолдол гарчээ гэж бодъё. Үүнийг яаж хийх вэ? Энэ үйлдлийг
twist
тохируулга ашиглан хийх боломжтой.
Холболт тогтоохоор оролдоход twist
тохируулга
бүрхүүлийн тушаал эсвэл скрипт ажилуулахаар дуудагддаг.
hosts.allow
файлд үүний жишээ аль хэдийн
орсон байдаг:
Энэ жишээ нь «You are not allowed to use daemon
from hostname
.» буюу
«Та дэмон
ыг hostname
-с
ашиглах зөвшөөрөлгүй.» гэсэн мэдэгдлийг хандалтын файлд урьдаар
тохируулагдаагүй дэмон бүрийн хувьд буцаадаг. Энэ нь тогтоогдсон холболт дөнгөж
салсны дараа холболтыг эхлүүлэгч уруу хариултыг буцааж илгээхэд маш их ашигтай
байдаг. Буцсан мэдэгдэл бүр "
тэмдэгтүүд дотор
заавал байх шаардлагатай; энэ дүрмэнд ямар нэг
жич зөвшөөрөл байхгүй.
Хэрэв халдагч эсвэл бүлэг халдагчид эдгээр дэмонуудыг холболт хийх хүсэлтээр цутгаж чадах юм бол серверийн эсрэг үйлчилгээг зогсоох халдлага явуулах боломжтой байж болох юм.
Өөр нэг боломж нь эдгээр тохиолдлуудад spawn
тохируулгыг ашиглах явдал юм. twist
тохируулгын
нэгэн адил spawn
тохируулга нь холболтуудыг сохроор
хааж гадаад бүрхүүлийн тушаалууд эсвэл скриптүүдийг ажиллуулахад ашиглагдаж
болно. twist
тохируулгаас ялгаатай тал нь
spawn
нь холболт тогтоосон хүн уруу хариулт буцааж
илгээдэггүй. Жишээ нь дараах тохиргооны мөр байжээ гэж бодъё:
Энэ нь *.example.com
домэйноос
ирсэн бүх холболтын оролдлогуудаас татгалзахын зэрэгцээ хостын нэр, IP
хаяг болон тэдний хандалт хийхийг оролдсон дэмонг /var/log/connections.log
файл уруу бүртгэнэ.
Дээр тайлбарласан орлуулах тэмдэгтүүдээс гадна, өөрөөр хэлбэл
%a
тэмдэгтээс гадна бусад цөөн хэдэн тэмдэгтүүд бас байдаг. Бүрэн жагсаалтыг
hosts_access(5) гарын авлагын хуудаснаас үзнэ үү.
Энэ хүртэл ALL
тохируулга бүх л жишээнүүдэд
ашиглагдлаа. Ажиллагааг арай цаашлуулж өргөтгөх бусад тохируулгууд
байдаг. Жишээ нь ALL
нь дэмон, домэйн эсвэл
IP хаягийн аль нэгтэй тааруулах зорилгоор
ашиглагдаж болох юм. Өөр нэг орлуулагддаг тэмдэгт нь
IP хаягаа өөрчлөн хуурсан байж болох дурын хостыг
тааруулах PARANOID
тохируулга юм. Өөрөөр хэлбэл
PARANOID
буюу хэт зовнил нь
өөрийн хостын нэрээс өөр IP хаягтай машинаас
холболт хийгдэх бүр түүнд тохирох үйлдлийг тодорхойлоход ашиглагдаж
болох юм. Дараах жишээ энэ хэлэлцүүлэгт арай илүү ойлголт өгч магадгүй
юм:
Энэ жишээн дээр sendmail
уруу хийгдэж байгаа
өөрийнхөө хостын нэрээс өөр IP хаягтай холболтын бүх
хүсэлтүүдээс татгалзан хааж байна.
Хэрэв клиент эсвэл сервер эвдэрхий DNS
суулгацтай бол PARANOID
орлуулагддаг тэмдэгтийг ашиглах нь серверүүдийг
ноцтойгоор зэрэмдэг болгож болох юм. Иймд администраторын зохион байгуулалт
болон хуваарилалт хийхийг зөвлөж байна.
Орлуулагддаг тэмдэгтүүдийн талаар болон тэдэнтэй холбоотой ажиллагааны талаар дэлгэрэнгүйг hosts_access(5) гарын авлагын хуудаснаас үзээрэй.
Тусгай тохиргооны аль ч мөрүүдийн өмнө дээрх нь ажиллана, эхний тохиргооны
мөр hosts.allow
файлд тайлбар болгон хаагдах
шаардлагатай. Үүнийг энэ хэсгийн эхэнд тэмдэглэж хэлсэн байгаа.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.