Модулийн нэр: mac_portacl.ko
Цөмийн тохиргооны мөр:
MAC_PORTACL
Ачаалалтын тохируулга: mac_portacl_load="YES"
mac_portacl(4) модулийг төрөл бүрийн sysctl
хувьсагчуудыг ашиглан локал TCP болон
UDP портуудыг холбохыг хязгаарлахад хэрэглэдэг.
Мөн чанартаа mac_portacl(4) нь заагдсан эрх бүхий портуудыг
өөрөөр хэлбэл 1024-оос бага портуудыг холбох боломжийг
root биш хэрэглэгчдэд зөвшөөрдөг.
Ачаалагдсаны дараа энэ модуль нь бүх сокетууд дээр MAC бодлогыг идэвхжүүлдэг. Дараах тааруулж болох хувьсагчууд байдаг:
security.mac.portacl.enabled нь
бодлогыг бүр мөсөн нээнэ/хаана.
security.mac.portacl.port_high нь
mac_portacl(4)-ийн хамгаалалтыг нь идэвхжүүлдэг хамгийн дээд
портын дугаарыг тохируулдаг.
security.mac.portacl.suser_exempt нь
тэгээс ялгаатай утгаар тохируулагдсан үедээ root
хэрэглэгчийг энэ бодлогоос чөлөөлнө.
security.mac.portacl.rules нь
яг mac_portacl бодлогыг заадаг; доорхоос харна уу.
mac_portacl бодлого нь
security.mac.portacl.rules sysctl-д
заагдсаны дагуу хэрэгцээнээсээ хамааран хэдэн ч дүрмүүдтэй байж болох
rule[,rule,...] текст хэлбэрийн байдаг.
Дүрэм бүр idtype:id:protocol:port
гэсэн хэлбэрийн байдаг. idtype
параметр нь uid эсвэл gid
байж болох бөгөөд id параметрийг
хэрэглэгчийн id эсвэл бүлгийн id гэж тайлбарладаг.
protocol параметр нь
tcp эсвэл udp
гэж заагдан дүрмийг TCP эсвэл
UDP-ийн алинд хамаарахыг тодорхойлоход
хэрэглэгддэг. Сүүлийн port параметр нь
заагдсан хэрэглэгч эсвэл бүлэгт холбохыг зөвшөөрөх портын дугаар
юм.
Дүрмийн олонлог нь цөмөөр шууд тайлбарлагддаг болохоор хэрэглэгчийн ID бүлгийн ID болон портын параметруудын хувьд зөвхөн тоон утгуудыг ашиглаж болно. Өөрөөр хэлбэл хэрэглэгч, бүлэг болон портын үйлчилгээний нэрсийг ашиглаж болохгүй.
Анхдагчаар UNIX® төст системүүд дээр 1024-өөс бага портуудыг зөвхөн
эрх бүхий процессууд буюу өөрөөр хэлбэл root-ээр
ажилладаг процессуудад ашиглахад/холбоход хэрэглэдэг. mac_portacl(4)-ийн
хувьд эрхгүй процессуудыг 1024-өөс бага портуудад холбохыг зөвшөөрөхдөө
энэ стандарт UNIX® хязгаарлалтыг хаасан байх ёстой. Үүнийг
sysctl(8)-ийн net.inet.ip.portrange.reservedlow
болон net.inet.ip.portrange.reservedhigh
хувьсагчуудыг тэг болгон хийж болно.
Доор жишээнүүдийг үзнэ үү, эсвэл дэлгэрэнгүй мэдээллийг mac_portacl(4) гарын авлагын хуудаснаас лавлана уу.
Дараах жишээнүүд нь дээрх хэлэлцүүлгийг арай илүү тайлбарлах болно:
#sysctl security.mac.portacl.port_high=1023#sysctl net.inet.ip.portrange.reservedlow=0 net.inet.ip.portrange.reservedhigh=0
Эхлээд бид mac_portacl(4)-ийг стандарт эрх бүхий портуудыг хамарч ердийн UNIX® холболтын хязгаарлалтуудыг хаахаар тохируулна.
#sysctl security.mac.portacl.suser_exempt=1
root хэрэглэгчийг энэ бодлогоор хязгаарлахгүйн
тулд security.mac.portacl.suser_exempt-г
тэгээс ялгаатай утгаар тохируулна. mac_portacl(4) модуль нь
одоо UNIX® төст системүүд анхдагч тохиргоотойгоор ажилладаг шигээр
тохируулагдсан байна.
#sysctl security.mac.portacl.rules=uid:80:tcp:80
UID 80 бүхий (ердийн тохиолдолд
www хэрэглэгч) хэрэглэгчид 80 портыг
холбохыг зөвшөөрнө. root эрхгүйгээр
вэб сервер ажиллуулахыг www хэрэглэгчид
зөвшөөрөхөд үүнийг ашиглаж болно.
#sysctl security.mac.portacl.rules=uid:1001:tcp:110,uid:1001:tcp:995
UID 1001 бүхий хэрэглэгчид TCP 110 («pop3») болон 995 («pop3s») портуудыг холбохыг зөвшөөрнө. Энэ нь 110 болон 995 портуудаар холболтуудыг хүлээн авдаг сервер эхлүүлэхийг хэрэглэгчид зөвшөөрдөг.
Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.
FreeBSD-ийн талаар
<questions@FreeBSD.org>
хаягтай холбоо барихаасаа өмнө
баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал
<doc@FreeBSD.org>
хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал
<admin@mnbsd.org>
хаягаар цахим захидал явуулна уу.