OpenVPN PAM: àríyànjiyàn ìwọlé jẹ́ iṣẹ́, kì í ṣe olùmúlò
Ọ̀rọ̀ tó tẹ̀le ọ̀nà àfikún auth-pam ń yan ìdìpọ̀ PAM. Ka ìdìpọ̀ yẹn, wá orísun àkọsílẹ̀ rẹ̀, kí o sì dán an wò pẹ̀lú pamtester kí o tó ṣàtúnṣe àwọn profáìlì.
A fi olùmúlò kún sórí sẹ́bà, a tẹ ọ̀rọ̀ ìpamọ́ náà dáadáa, ṣùgbọ́n ìsopọ̀ náà ṣì parí pẹ̀lú AUTH_FAILED. Láìsí àní-àní, ìlà àfikún náà máa ń ṣàlàyé ìdí: ọ̀rọ̀ tó tẹ̀le ọ̀nà àfikún náà jẹ́ orúkọ iṣẹ́ PAM, ó sì ń pinnu irú ìdìpọ̀ àwọn mọ́dùùlù tó máa dáhùn ìbéèrè náà. Kì í ṣe orúkọ olùmúlò, kì í sì í ṣe atọ́ka sí fáìlì ọ̀rọ̀ ìpamọ́ tí OpenVPN fúnra rẹ̀ ń kà.
Kí ni ọ̀rọ̀ kejì ń yan
Ìlà ìṣètò náà gba ọ̀nà àfikún àti àríyànjiyàn kan:
plugin /usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so openvpnA ń fi àríyànjiyàn yẹn fún ilé-ìkàwé PAM gẹ́gẹ́ bí orúkọ iṣẹ́, èyí tó mú kí ìdìpọ̀ tó wà ní /etc/pam.d/openvpn jẹ́ èyí tó ń ṣiṣẹ́. Kọ login síbẹ̀, ìwọ yóò sì gba ìlànà ìwọlé oníbáṣepọ̀ dípò, pẹ̀lú àwọn mọ́dùùlù tí ìlànà yẹn bá kó mọ́ra nínú pínpín rẹ.
Lo ọ̀nà àfikún tí àkópọ̀ tó ti wà lórí ẹ̀rọ ń pèsè, kì í ṣe ọ̀nà tí a dà kọ láti orí ẹ̀rọ mìíràn. Orúkọ fáìlì àti àpò ń yàtọ̀ láàrin àwọn pínpín, ọ̀nà tó kò tọ́ á sì kùnà ní ìbẹ̀rẹ̀ pẹ̀lú àṣìṣe ìkójáde àfikún, kì í ṣe nígbà ìjẹ́rìí.
Ibí tí ìdìpọ̀ náà ti ń ka àwọn àkọsílẹ̀ gan-an
PAM jẹ́ olùpín. Fáìlì iṣẹ́ náà ń ṣe àkójọ àwọn mọ́dùùlù lẹ́sẹẹsẹ, ẹni àkọ́kọ́ tó lè dáhùn á sì pinnu àbájáde. Ìdìpọ̀ tó ń pe pam_unix ń ka àwọn àkọsílẹ̀ àdúgbò; ìdìpọ̀ tó ń pe mọ́dùùlù LDAP tàbí RADIUS ń fi àwọn ẹ̀rí ìdánimọ̀ ránṣẹ́ sí ibòmíràn pátápátá.
Ka fáìlì tí orúkọ iṣẹ́ náà yanjú sí, pẹ̀lú ohunkóhun tó kó mọ́ra:
cat /etc/pam.d/openvpn
grep -H pam_ /etc/pam.d/openvpn /etc/pam.d/common-authBí ìdìpọ̀ náà bá gbé àṣẹ fún àpò kan, fífi àkọsílẹ̀ àdúgbò kún kò ní yí ohunkóhun padà. Bí ó bá ń ka àwọn àkọsílẹ̀ àdúgbò, ṣíṣẹ̀dá olùmúlò nínú àpò náà kò ní yí ohunkóhun padà pẹ̀lú. Àkọsílẹ̀ náà gbọ́dọ̀ wà níbi tí ìdìpọ̀ náà ti ń wò, ìyẹn sì ni ìwádìí gbogbo rẹ̀ nínú ọ̀pọ̀lọpọ̀ àwọn ìròyìn wọ̀nyí.
Ìgbìyànjú kan, àkọsílẹ̀ méjì
So ìsopọ̀ kan tó kùnà pọ̀ ní ẹ̀gbẹ́ méjèèjì. Àkọsílẹ̀ OpenVPN ń fi àbájáde àfikún àti ìkọ̀sílẹ̀ alábàárín hàn; àkọsílẹ̀ ìjẹ́rìí ẹ̀rọ ń fi mọ́dùùlù tó ṣiṣẹ́ àti ohun tó pinnu hàn. Kíka wọn nínú fèrèsé àkókò kan náà ni ohun tó ń yà fáìlì iṣẹ́ tó kùnà kúrò lọ́wọ́ àkókò ìparí backend. Òfìfo nínú àkọsílẹ̀ ìjẹ́rìí túmọ̀ sí pé a kò tíì dé ìdìpọ̀ náà rárá.
journalctl -u openvpn-server@server --since "-2 min"
journalctl -t sshd -t sudo --since "-2 min"Dán iṣẹ́ náà wò tààrà pẹ̀lú irinṣẹ́ tó ń sọ PAM, kí ìwọ má bàa ṣàtúnṣe VPN àti ìdìpọ̀ náà lẹ́ẹ̀kan náà. Ìgbìyànjú tààrà tó ṣàṣeyọrí pẹ̀lú orúkọ iṣẹ́ àti àkọsílẹ̀ kan náà á dín ìṣòro náà kù sí bí daemon ṣe ń gbé àwọn ẹ̀rí ìdánimọ̀ kọjá, kì í ṣe sí àkọsílẹ̀ náà fúnra rẹ̀.
pamtester openvpn alice authenticateBí ìgbìyànjú tààrà bá kùnà pẹ̀lú àwọn ẹ̀rí ìdánimọ̀ kan náà tó ń ṣiṣẹ́ lórí console, ìdìpọ̀ náà kò ń ka orísun àkọsílẹ̀ tí ìwọ rò. Bí ó bá ṣàṣeyọrí, wo ìjíròrò tí àfikún náà ń ṣe àti ohun tí alábàárín fi ránṣẹ́ gan-an. Ṣe é lẹ́ẹ̀kan pẹ̀lú ọ̀rọ̀ ìpamọ́ tó kò tọ́ mọ̀ọ́mọ̀ pẹ̀lú, kí ìwọ lè rí ìyàtọ̀ láàrin ìkọ̀sílẹ̀ àti àṣìṣe mọ́dùùlù. Àwọn àbájáde méjèèjì yẹn dà bí ẹni kan náà nínú àkọsílẹ̀ VPN ṣùgbọ́n wọ́n yàtọ̀ pátápátá níbí.
Iṣẹ́ àkànṣe sàn ju ṣíṣàtúnṣe ìwọlé lọ
Fún VPN ní fáìlì iṣẹ́ tirẹ̀ nígbà tí àwọn ìbéèrè rẹ̀ yàtọ̀ sí ìwọlé oníbáṣepọ̀, èyí tó máa ń ṣẹlẹ̀. Ṣíṣàtúnṣe login tàbí common-auth ń yí ìlànà padà fún gbogbo ètò tó kó wọn mọ́ra, ẹni tó kàn tó máa ṣàtúnṣe ìṣòro ìwọlé tí kò ní í ṣe pẹ̀lú á jogún àyípadà rẹ.
Ṣàdàkọ àwọn mọ́dùùlù tí o nílò sínú fáìlì iṣẹ́ kékeré, pa lẹ́sẹẹsẹ mọ́ kedere, kí o sì ṣàkọsílẹ̀ ẹni tó ni í. Fáìlì yẹn ni ohun tí a máa ń yẹ̀wò nígbà tí àtúntò ọ̀rọ̀ ìpamọ́ bá dà bí ẹni pé kò ní ipa.
Ohun tí alábàárín ń fi ránṣẹ́, àti ohun tí kò fi ránṣẹ́
Alábàárín ń pèsè orúkọ olùmúlò àti ọ̀rọ̀ ìpamọ́ nípasẹ̀ ìbéèrè tàbí fáìlì tó ń ṣe àtìlẹ́yìn fún. Àfikún sẹ́bà ń gbé àwọn iye yẹn kọjá sínú ìjíròrò PAM; kò ń kà wọ́n láti inú ìṣètò sẹ́bà. Ìlà kan ní ẹ̀gbẹ́ sẹ́bà tó dà bí ẹni pé ó ń ṣàlàyé ọ̀rọ̀ ìpamọ́ kò ṣe bẹ́ẹ̀, kò sì sí àtúnṣe profáìlì tó máa ṣẹ̀dá àkọsílẹ̀.
Orúkọ olùmúlò àti ọ̀rọ̀ ìpamọ́ lè wà pẹ̀lú àwọn ẹ̀rí alábàárín, àti mímú PAM ṣiṣẹ́ kì í ṣe ìdí láti dá ṣíṣe ìjẹ́rìí àwọn ẹ̀rí dúró. Pa àwọn ìpele tí ìgbékalẹ̀ náà ní lọ́kàn mọ́, kí o sì tún orísun àkọsílẹ̀ náà ṣe nìkan.
Gbígba jẹ́ ẹ̀gbẹ́ méjì: àkọsílẹ̀ tí a ní lọ́kàn yóò ṣàṣeyọrí, àkọsílẹ̀ tí ó yẹ kí a kọ̀ yóò sì ṣì kùnà. Fáìlì README ti àfikún auth-pam ń ṣàkọsílẹ̀ àríyànjiyàn iṣẹ́ àti àwọn backend tí ó lè dúró fún, ibẹ̀ sì ni ibi láti fìdí ètò tí ìwọ ń gbìyànjú láti kọ́ múlẹ̀.