Aqoonsiga PAM gacanta ayuu ku shaqeeyaa laakiin wuu fashilmaa adeeg OpenVPN ahaan
Gelitaan PAM oo ka shaqeeya root shell oo ku fashilma systemd wuxuu tilmaamayaa kaaliyaha, ma aha ereyga sirta. Kala sooc awoodaha, gelitaanka faylalka iyo SELinux.
Aqoonsiga iyada oo loo marayo PAM wuu guulaysan karaa marka aad macmiilka gacanta ku socodsiiyo oo uu ku fashilmo AUTH_FAILED isla marka systemd uu bilaabo isla profile-ka. Ereyga sirta isma beddelo inta u dhaxaysa socodsiimahaas; waxa is beddela waa xirmada xaddidaadaha ku wareegsan habka su'aasha PAM weydiiya. PAM waxay ku jawaabtaa iyada oo u maraysa kaaliye awooddiisa inuu beddelo aqoonsigiisa gaarka ah ay tahay si sax ah wixii unug la adkeeyay uu meesha ka saaro. Hel kaaliyahaas iyo xadka uu u baahan yahay ka hor inta aadan taaban liiska awoodaha.
unix_chkpwd waa faylka binary ee ka jawaaba su'aasha PAM
Marka la isticmaalayo aqoonsiga ereyga sirta maxalliga ah, pam_unix badanaa ma akhriyo faylka hash-ka laftiisa. Waxay socodsiiyaa unix_chkpwd, oo qaybaha kala duwan u rakibaan sida setuid root ama setgid shadow si erey sirta ah loogu baari karo magaca hab aan xaq u lahayn inuu akhriyo /etc/shadow. Ka saar awoodda lagu helo aqoonsigaas, kaaliyuhu ma dhammayn karo baaritaanka, sidaas darteed module-ku wuxuu soo celiyaa khalad aqoonsi oo caadi ah.
Fashilku wuxuu markaas u muuqdaa sida dhibaato aqoonsi ah dhammaan diiwaannada macmiilku arki karo. Taasi waa dabin: macmiilku wuxuu soo sheegaa wixii PAM ku tidhi, PAM-na waxay soo sheegtaa oo keliya in xirmadu maya tidhi. Kaaliyaha gacanta ku socodsiiya sida root sidoo kale waxba ma caddeeyo, sababtoo ah wuxuu isticmaalaa waddo awood oo adeeggu waligiis isticmaalin. Akhri unugga systemd dhab ahaan soo rartay, ka dibna akhri diiwaanka nidaamka isku daygii uu sameeyay. Labada aragtidaas waxay kala soocaan dhibaatada sandbox iyo dhibaatada ereyga sirta ah ee khaldan.
Akhri unugga ka hor inta aadan akhrin diiwaanka ereyada sirta
Unug la baakadeeyay wuxuu qaadi karaa drop-in aadan qorin, qaabeynta dhaqangalina waa natiijada isku-dhafka. Daabac unugga sida systemd u arko, oo ay la socdaan dejinta sandbox ee go'aamisa in kaaliyuhu is kor u qaadi karo. Baaritaanka akhris-keliya ayaa ku filan marxaladdan.
systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p CapabilityBoundingSet -p AmbientCapabilities -p NoNewPrivileges
journalctl -u [email protected] -bAmarka koowaad wuxuu muujinayaa meesha unugga iyo drop-in-kiisu ka yimaadaan, taas oo muhiim ah sababtoo ah beddel lagu daray bilo ka hor wuxuu noolaa waqti dheer in ka badan xusuusta sababta uu u jiro. Tan labaad waxay daabacdaa qiyamka sandbox ee labada qaybood ee xigaa ku tiirsan yihiin.
Isbarbar dhig waxa aad aragto martigeliyaha shaqaynaya ee isla qaybta iyo nooca. Farqi ku jira User, CapabilityBoundingSet ama NoNewPrivileges waa tilmaan cad; farqi ku jira faallooyinka qoraalka ma aha. Qor qiyamka ka hor inta aadan wax beddelin, sababtoo ah isbarbardhig dambe oo lala sameeyo bartilmaameed dhaqaaqa waxba ma caddeeyo. Haddii adeeggu ku socdo akoon aan awood lahayn oo leh xirmo xadidasho madhan, kaaliyuhu wax badan ma hayo uu ku shaqeeyo.
Beddelka aqoonsiga, gelitaanka faylalka iyo siyaasaddu waa saddex xad
Ku bilow waxa dhaca inta lagu jiro exec. Fayl binary setuid ama fayl qaada file capabilities wuxuu kiciyaa beddelka aqoonsiga, sidaas darteed aqoonsiga soo baxa ma aha sii socodka wacaha. Xirmada xadidashadu waxay xaddidaa waxa binary sidan oo kale ah uu heli karo, NoNewPrivileges-na wuxuu si buuxda u xannibaa helitaanka setuid, setgid iyo file capabilities. Mid kasta oo saddexdan ah wuu joojin karaa kaaliyaha isagoo hawsha kale ee adeegga oo dhan taagan.
Marka xigta, kala sooc ka-gudubka ballaaran ee ikhtiyaarka ah iyo gelitaanka akhriska ee cidhiidhiga ah. CAP_DAC_OVERRIDE wuxuu dhaafi karaa hubinta ikhtiyaarka ah meel kasta, halka CAP_DAC_READ_SEARCH uu daboolo akhriska iyo marista galka oo leh awoodo dheeraad ah oo u gaar ah. Waa qalab kala duwan oo leh ballac kala duwan, mana jiro midkood oo ah qaab loo qoro u oggolow PAM inuu akhriyo faylka shadow.
Ugu dambayn, weydii haddii siyaasadda qasabka ah ay gebi ahaanba oggolaanayso ficilka. Awood Linux ma ka sarraysiiso SELinux, haysashadana waxba ma caddayso ku saabsan qaanuunka fulinta nooca. U qaado diidmada gelitaanka faylka iyo diidmada awoodda sida caddayn kala duwan, sababtoo ah waxay sheegaan hagaajin kala duwan iyo inta badan milkiilayaal kala duwan. Akhri goob kasta oo diiwaanka ah halkii aad ka akhrin lahayd hal erey denied. Barnaamijka fulinta kee ayaa ficilka sameeyay, domain kee ayuu ku socday, nooca bartilmaameed kee ayuu taabtay, nooca shay kee ayaa ku lug lahaa iyo oggolaanshaha kee ay siyaasaddu diidday - mid kastaa si kala duwan ayuu jawaabta u cidhiidhiyaa.
Ka soo saar diidmada diiwaanka hantidhawrka
Martigeliyaha ku jira habka enforcing, raadka hantidhawrka waa meesha kaliya ee diiwaangasha diidmo. Weydii dhacdooyinka dhawaanahan oo u akhri iyaga oo la xiriira shaambada waqtiga gelitaanka fashilmay, ma aha waqtiga aad baaritaanka ku bilowday.
ausearch -m AVC,USER_AVC -ts recentNatiijo madhan ma aha caddayn aan waxba lahayn. Waxay ka dhigan tahay ama hantidhawrku ma ururinayo, ama daaqaddaadu waxay seegtay isku dayga, labada suurtagalna waa in la reebo ka hor inta aadan siyaasadda reebin.
Hagaha Red Hat ee xallinta dhibaatooyinka SELinux wuxuu baaritaanka sumadda iyo qaabeynta hor dhigaa abuurista qaanuunnada oggolaanshaha, taas oo sidoo kale ah nidaamka saxda ah dhibaatadan. Fayl binary kaaliye summad khaldan leh iyo bannaanida siyaasadda waxay soo saaraan diidmooyin isku mid ah laakiin waxay u baahan yihiin hagaajin kala duwan. Abuurista qaanuun oggolaansho ee khalad sumadeed waxay qarinaysaa cilladda waxayna u daysaa cusboonaysiinta xirmada ee xigta inay dib u soo celiso. Xaqiiji sumadda kaaliyaha rakiban ka hor inta aadan qorin wax siyaasad ah.
Caddee beddelka hal gelitaan la aqbalay iyo hal la diiday
Beddel oo keliya xadka aad muujisay, ka dibna tijaabi labada natiijo. Akoonka ay tahay inuu aqoonsado waa inuu guulaystaa, akoonka ereyga sirta khaldan lehna waa inuu wali fashilmaa. Beddelka ka dhigaya isku day kasta mid guulaysta wuxuu meesha ka saaray aqoonsiga halkii uu hagaajin lahaa.
Samee isku day isku-xir dhab ah oo akhri diiwaanka isla markiiba ka dib. Sadarka caddeeya hagaajinta waa gelitaanka pam_unix(openvpn:auth) ee isku daygaas: waa inuu sheegaa aqoonsi guulaystay, diiwaan AVC ahna waa inuusan qaadan isla ilbiriqsi.
journalctl -u [email protected] -n 30 --no-pager
ss -tnp | grep openvpnTunnel shaqaynaya wuxuu sidoo kale u baahan yahay dib-u-xir, sababtoo ah isbeddellada sandbox waxay buriyaan isku-xirka labaad ka badan kii ugu horreeyay. Hubi socket-ka la sameeyay ka dib dib-u-xirka oo xaqiiji in isla unuggu weli u adeegayo.