Модулийн нэр: 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>
хаягаар цахим захидал явуулна уу.