ProtectHome lodi si irugbin TOTP: kilode ti iwọle VPN fi kuna
Kóòdù tó tọ́ kò lè ràn PAM module tí kò lè ṣí irugbin lọ́wọ́. Yan láàárín drop-in àti ọ̀nà ipò tí ó lè kọ, lẹ́yìn náà yẹ unit náà wò.
App ìmúdájú náà fi kóòdù onímọ̀lẹ́mẹ̀wáa tuntun hàn, VPN kọ̀ ọ́, kóòdù kan náà sì ń gbà ìmúdájú dáadáa nígbà tí o bá dán an wò láti inú shell tirẹ. Àlàfo yẹn ni gbogbo ìtàn. PAM module tí kò lè ṣí àṣírí ìforúkọsílẹ̀ náà ń dá ìkùnà padà tí ó dà bí kóòdù tí kò tọ́, àti àyíká iṣẹ́ tí ń fi àwọn àkójọ ilé pamọ́ ni ìdí tó wọ́pọ̀. Kí o tó fi àṣẹ kankan lọ́wọ́, pinnu irú ipò wo nínú mẹ́ta ni o wà.
Èwo nínú ìkùnà mẹ́ta ni èyí?
Èyí àkọ́kọ́ ni àṣírí tí module kò lè kà rárá. Èyí kejì ni àṣírí tí ó lè kà ṣùgbọ́n kò lè mú dọ́gba. Èyí kẹta ni kóòdù tí kò tọ́ ní ti gidi, ní pàtàkì nítorí ìyípadà aago tàbí iye tí a tún lò.
Ya wọ́n sọ́tọ̀ nípa kíkà ìwé ìròyìn iṣẹ́ àti àkọsílẹ̀ ìmúdájú ẹ̀rọ fún ìgbìyànjú kan tí ó kùnà, lẹ́yìn náà jẹ́rìí sí i pé plugin ń gbé iṣẹ́ PAM wo àti pé iṣẹ́ yẹn ń lo ìlà module wo. Ìfẹ́rẹ̀ àìṣeéṣe ìkùnà ìmúdájú kò yà wọ́n sọ́tọ̀, bẹ́ẹ̀ ni ìdánwò ọwọ́ tí ó ṣàṣeyọrí kò yà wọ́n sọ́tọ̀, nítorí shell rẹ kì í ṣe àyíká iṣẹ́ náà.
Ìwòye ẹ̀rọ ìkójọsọ̀rọ̀ ti unit ni ẹlẹ́ṣẹ̀ tó wọ́pọ̀ nígbà tí iṣẹ́ nìkan bá kùnà.
systemctl show -p ProtectHome -p ProtectSystem -p ReadWritePaths [email protected]
ls -l /var/lib/vpn-otp/*/.google_authenticator 2>/dev/null | head -n 20Àṣàyàn A: gbé àṣírí kúrò ní ilé
Nígbà tí iṣẹ́ fi /home pamọ́ tí o sì fẹ́ pa ààbò yẹn mọ́, tọ́jú àṣírí náà sí ibi tí ó lè rí i. Module gba ọ̀nà secret= àti àkọsílẹ̀ user= tí ń ṣe àwọn iṣẹ́ fáìlì, èyí tí ń jẹ́ kí ilé ìkópamọ́ àárín gbùngbùn lè sin ọ̀pọ̀ ìdánimọ̀.
Èyí ni àṣàyàn tó mọ́, òun sì ni ó nílò ìṣọ́ra jù, nítorí ilé ìkópamọ́ tí a pín ń sọ àkójọ kan di ààlà ààbò fún gbogbo àkọsílẹ̀.
auth required pam_google_authenticator.so secret=/var/lib/vpn-otp/${USER}/.google_authenticator user=vpn-otpYẹ̀ ẹ́ wò ní mẹ́ta kí o tó gbẹ́kẹ̀ lé e: àkọsílẹ̀ wà, iṣẹ́ ìlò module lè yípadà sí i, àwọn fáìlì sì jẹ́ tirẹ̀ pẹ̀lú àwọn ipò àfòpin. Má ṣe lo ~ tàbí ọ̀nà oníyípadà ilé pẹ̀lú user=, má sì ṣe pa àwọn àyẹ̀wò níní module kù láti jẹ́ kí ọ̀nà ṣiṣẹ́. Tọ́jú ìpele ọ̀rọ̀ìpamọ́ àti ìyókù àpò náà láìbàjẹ́.
Àṣàyàn B: fi fáìlì sílẹ̀ kí o ṣí ọ̀nà
Tí àṣírí bá gbọ́dọ̀ wà ní ilé olùlò, unit nílò ìwòye tí ó ní àkójọ yẹn nìkan láìfi gbogbo ilé hàn lórí ẹ̀rọ. drop-in lè ṣàfikún ìsopọ̀ bind tó ní ààyè tóóró lábẹ́ ilé tí a ti ṣe sandbox.
Èyí ń pa níní oníṣe kọ̀ọ̀kan mọ́ gẹ́gẹ́ bí àwòṣe, ní iye àyípadà unit tí a gbọ́dọ̀ ṣàyẹ̀wò nígbà gbogbo tí sandbox bá yípadà.
Àwọn ààlà méjì ni ó ṣòro láti mọ̀. Ọ̀nà kíkà nìkan tí a fi kún lábẹ́ àkójọ tí sandbox fi pamọ́ kò ní fi í hàn, nítorí bàbá àkójọ kò sí níbẹ̀. Àti pé ìsopọ̀ náà gbọ́dọ̀ jẹ́ èyí tí a lè kọ sí tí module bá nílò láti mú ipò dọ́gba, èyí tí ó mú àṣàyàn tó tẹ̀lé wá. Kọ drop-in gẹ́gẹ́ bí fáìlì lọ́tọ̀ dípò ṣíṣe àtúnṣe unit tí a ti ṣe àpò lábẹ́ /usr/lib, kí ìgbéga àpò má baà yí i padà ní ìdákẹ́jẹ́.
Àṣàyàn C: pa sandbox mọ́ kí o sì tún àwọn àkọsílẹ̀ ipò ṣe
Kíkà àṣírí jẹ́ ìdajì ìmúdájú nìkan. Module lè tún ìsọfúnni ìyípadà àkókò, ààbò àtúnṣe, tàbí ẹ̀rọ ìkà kọ, àti fáìlì tí ó kọjá àyẹ̀wò kíkà ṣì lè kùnà ní kíkọ.
Ìkùnà yẹn dà bí kóòdù búburú ní ìgbìyànjú tó tẹ̀lé, kì í ṣe ní èyí, ìdí nìyẹn tí a fi pè é ní ìyípadà aago.
Fún un ní àkójọ tirẹ̀ tí a lè kọ sí, kí o sì darí ọ̀nà àṣírí síbẹ̀, dípò jẹ́ kí gbogbo ilé lè kọ sí. Jẹ́rìí sí ẹni tí ó ni àkójọ, ààyè òmìnira ẹ̀rọ fáìlì àti bóyá unit ń fi àwọn àkọsílẹ̀ lọ́nà mìíràn. Lẹ́yìn náà dán ìwọlé méjì tẹ̀léra wò, nítorí èyí kejì fi ọ̀nà kíkọ hàn, èyí àkọ́kọ́ sì fi kíkà nìkan hàn.
Jẹ́rìí gẹ́gẹ́ bí iṣẹ́, kì í ṣe gẹ́gẹ́ bí ìwọ fúnra rẹ
Gbogbo àyẹ̀wò pàtàkì gbọ́dọ̀ ṣiṣẹ́ nínú sandbox unit pẹ̀lú ìdánimọ̀ unit.
Àṣẹ tí ó ṣàṣeyọrí gẹ́gẹ́ bí root ń sọ fún ọ pé fáìlì wà, kò sì sọ ohunkóhun mìíràn. Ìwọlé nípasẹ̀ iṣẹ́ gidi ń sọ bóyá module lè ka àṣírí, lò ó, kí ó sì kọ ohun tí ó nílò padà.
Níkẹyìn, pa ìbéèrè mọ́ láìbàjẹ́. Fífi àṣàyàn ọ̀rọ̀ìpamọ́ òfo kún, gbígba àwọn ìkùnà kíkà nìkan, tàbí yíyọ sandbox kúrò yóò mú àpẹẹrẹ náà pòórá nípa yíyí ètò náà padà. Olùlò tí a béèrè pé kó gbé kóòdù jáde yẹ kí a ṣì kọ̀ ọ́ nígbà tí àṣírí kò bá dé ọ̀dọ̀ rẹ̀.