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