Tabbatar da PAM yana aiki da hannu amma yana kasawa a matsayin sabis ɗin OpenVPN
Shigar PAM da ke aiki daga harsashin root kuma ke kasawa a ƙarƙashin systemd yana nuni ga mataimaki, ba kalmar sirri ba. Raba izini, shiga fayiloli da SELinux.
Tabbatarwa ta hanyar PAM na iya yin nasara lokacin da ka gudanar da abokin ciniki da hannu kuma ya kasa da AUTH_FAILED da zarar systemd ya fara wannan bayanin. Kalmar sirri ba ta canzawa tsakanin waɗannan gudanarwa; abin da ke canzawa shi ne saitin ƙuntatawa a kewayen tsarin da ke tambayar PAM. PAM tana amsawa ta hanyar mataimaki wanda ikon canza nasa shaidar shiga shi ne ainihin abin da ƙaƙƙarfan unit ke cirewa. Nemo wannan mataimaki da iyakar da yake buƙata kafin ka taɓa jerin iyawa.
unix_chkpwd shi ne binary ɗin da ke amsa tambayar PAM
Tare da tabbatar da kalmar sirri ta gida, pam_unix ba safai yake karanta fayil ɗin hash da kansa ba. Yana gudanar da unix_chkpwd, wanda rarrabawa ke girka a matsayin setuid root ko setgid shadow domin a iya duba kalmar sirri ɗaya a madadin tsari wanda ba shi da wani aiki da karanta /etc/shadow. Cire ikon samun wannan asalin kuma mataimakin ba zai iya kammala binciken ba, don haka module ɗin yana mayar da gazawar tabbatarwa kawai.
Sa’an nan gazawar tana kama da matsalar shaidar shiga a cikin kowane log ɗin da abokin ciniki zai iya gani. Wannan shi ne tarkon: abokin ciniki yana bayar da rahoton abin da PAM ta gaya masa, kuma PAM tana bayar da rahoton cewa tsarin ya ce a’a kawai. Gudanar da mataimakin da hannu a matsayin root kuma ba ya tabbatar da komai, domin yana gwada hanyar izini da sabis ɗin ba ya amfani da ita. Karanta unit ɗin da systemd ya loda a zahiri, sannan ka karanta log ɗin tsarin don ƙoƙarin da ya yi. Waɗannan ra’ayoyi biyu suna raba matsalar sandbox daga matsalar kalmar sirri mara kyau.
Karanta unit kafin ka karanta log ɗin kalmar sirri
Unit ɗin da aka yi wa fakiti na iya ɗauke da drop-in da ba ka rubuta ba, kuma ingantaccen tsari shi ne haɗaɗɗen sakamako. Buga unit ɗin kamar yadda systemd yake gani, tare da saitunan sandbox waɗanda ke yanke shawara ko mataimakin zai iya ɗaga kansa. Dubawa na karatu kawai ya isa a wannan matakin.
systemctl cat [email protected]
systemctl show [email protected] -p User -p Group -p CapabilityBoundingSet -p AmbientCapabilities -p NoNewPrivileges
journalctl -u [email protected] -b
Umarnin farko yana nuna inda unit ɗin da drop-in ɗinsa suka fito, wanda ke da mahimmanci domin override da aka ƙara watanni da suka wuce yana rayuwa fiye da tuna dalilin da ya sa yake. Na biyu yana buga ƙimar sandbox waɗanda sassan biyu masu zuwa suka dogara da su.
Kwatanta abin da kake gani da ingantaccen host na wannan rarrabawa da sigar. Bambanci a cikin User, CapabilityBoundingSet ko NoNewPrivileges tabbataccen jagora ne; bambanci a cikin sharhin rubutu ba haka ba ne. Rubuta ƙimomin kafin ka canza komai, domin kwatancen da za a yi daga baya da manufa mai motsi ba ya tabbatar da komai. Idan sabis ɗin yana gudana da asusu marar izini tare da fankon bounding mara komai, mataimakin ba shi da kusan abin da zai yi aiki da shi.
Canjin shaidar shiga, shiga fayiloli da manufa iyaka uku ne
Fara da abin da ke faruwa yayin exec. Binary ɗin setuid ko fayil ɗin da ke ɗauke da iyawar fayil yana haifar da canjin shaidar shiga, don haka asalin da aka samu ba ci gaba ba ne na mai kira. Fankon bounding yana iyakance abin da irin wannan fayil zai iya samu, kuma NoNewPrivileges yana toshe samun setuid, setgid da iyawar fayil gaba ɗaya. Kowanne daga cikin waɗannan ukun zai iya tsayar da mataimakin yayin da duk wani aikin sabis ɗin ya kasance lafiya.
Bayan haka, raba faffadan ƙetare na son rai daga ƙunƙuntaccen shiga karatu. CAP_DAC_OVERRIDE yana tsallake binciken son rai kusan ko’ina, yayin da CAP_DAC_READ_SEARCH ke rufe karatu da wucewar kundayen adireshi da nasa ƙarin iko. Kayan aiki ne daban-daban da radiyoyin tasiri daban-daban, kuma babu ɗayansu da zai zama rubutun barin PAM ya karanta fayil ɗin shadow.
A ƙarshe, tambaya ko manufar dole tana barin aikin kwata-kwata. Iyawar Linux ba ta keta SELinux ba, kuma mallakar ɗaya ba ta tabbatar da komai game da dokar type enforcement. Ɗauki kin amincewa da shiga fayil da kin amincewa da iyawa a matsayin shaida daban-daban, domin suna ambaton gyare-gyare daban-daban kuma galibi masu daban-daban. Karanta kowane fili na rikodin maimakon kalmar denied kaɗai. Wace fayil mai aiwatarwa ta yi aikin, a wace yanki ta gudana, wace irin manufa ta taɓa, wace aji na abu ta shiga ciki kuma wace izini manufar ta ƙi — kowanne yana taƙaita amsar ta wata hanya dabam.
Ciro kin amincewa daga log ɗin dubawa
A kan host mai aiwatarwa, sawun dubawa shi ne kawai wurin da ke rubuta kin amincewa. Tambayi abubuwan da suka faru kwanan nan ka karanta su da tambarin lokacin shiga da ya kasa, ba da lokacin da ka fara bincike ba.
ausearch -m AVC,USER_AVC -ts recent
Sakamakon fanko ba hujja ba ce ta rashin laifi. Yana nufin ko dai dubawa ba ya tattarawa, ko taga naka ya rasa ƙoƙarin, kuma dole a ware duka yiwuwar biyun kafin ka ware manufar.
Jagorar warware matsalolin SELinux ta Red Hat tana sanya binciken lakabi da tsari gaba da ƙirƙirar dokokin allow, wanda shi ne ingantaccen tsari don wannan matsalar kuma. Binary ɗin mataimaki mara kyau da gibin manufa suna haifar da kin amincewa iri ɗaya amma suna buƙatar gyare-gyare daban-daban. Ƙirƙirar dokar allow don kuskuren lakabi yana ɓoye aibin kuma yana barin sabunta fakiti na gaba ya sake dawo da shi. Tabbatar da lakabin mataimakin da aka girka kafin ka rubuta kowace manufa.
Tabbatar da canjin da shiga ɗaya da aka karɓa da ɗaya da aka ƙi
Canza iyakar da ka nuna kawai, sannan gwada duka sakamakon. Asusun da ya kamata ya tabbatar dole ya yi nasara, kuma asusun da ke da kuskuren kalmar sirri dole ya ci gaba da kasa. Canjin da ke sa kowane ƙoƙari ya yi nasara ya cire tabbatarwa maimakon gyara ta.
Yi ƙoƙarin haɗi na gaske kuma ka karanta jaridar nan take bayan haka. Layin da ke tabbatar da gyaran shi ne shigarwar pam_unix(openvpn:auth) don wannan ƙoƙari: ya kamata ya karanta nasarar tabbatarwa, kuma babu rikodin AVC da zai ɗauki wannan daƙiƙa.
journalctl -u [email protected] -n 30 --no-pager
ss -tnp | grep openvpn
Ingantaccen rami kuma yana buƙatar sake haɗawa, domin canje-canjen sandbox suna karya haɗi na biyu fiye da na farko. Duba soket ɗin da aka kafa bayan sake haɗawa kuma ka tabbatar wannan unit ɗin yana ci gaba da yi masa hidima.