Узак иш убактысы демондун ошол учурда болгон укуктары менен ишке кирүү ийгиликтүү болгонун гана далилдейт. Бул жерде маанилүү каталар кийин келет: жаңы кардар туташат, кайтарып алуу тизмеси алмаштырылат, жардамчы скрипт файл жазышы керек. Алардын ар бири укуксуз эсеп тарабынан жасалган жаңы ачуу, өз уруксат суроосу жана өз ката билдирүүсү менен. Үч чечим иштешин уланткан конфигурацияны кийинки окуяда ийгиликсиз болгондон ажыратат.

Эрте жүктөлгөндү кийин ачылуучудан бөлүңүз

Дескриптор — ачык файл сүрөттөмөсүндөгү тутка, ал эми кирүү режими ошол сүрөттөмө түзүлгөндө белгиленген. Кийин процесстин колдонуучусун алмаштыруу тутканы жаббайт, ошондуктан root катары окулган ачкыч файлы төмөндөтүүдөн кийин да иштейт. Режим да өзгөрбөйт: окуу үчүн ачылган тутка жазууга жарактуу болбойт, ал эми жазууга жарактуу тутка эсеп жолдогу укуктарын жоготкону үчүн гана кайтарылып алынбайт. Бул эки факт ушул отчёттордогу таң калыштуу жүрүм-турумдун көбүн түшүндүрөт.

Экинчи жарымы — эстутум. Демон сертификатты талдап, талданган материалды сактап, файлды жаба алат; колдонууда калганы — маалымат, ачык файл эмес. Ошондуктан уланган трафик дескриптордун ачык экенин да, жол атына жетүү мүмкүн экенин да далилдебейт. Ал агымдагы сессияга керектүү материал мурда алынганын гана далилдейт.

Кийинки ачуу — башка транзакция. Ал агымдагы каттоо маалыматтары, агымдагы коопсуздук контексти жана агымдагы орнотуу көрүнүшү менен иштейт, ошондуктан ишке кирүүдө окулган жол кийинки туташууда четке кагылышы мүмкүн. Айландыруу капкан кошот: ошол эле жол атына жаңы файл жазганда бар дескриптор эски объектиге байланган бойдон калат, ошондуктан кайра жүктөө ийгиликтүү көрүнүшү мүмкүн, ал эми демон мурунку мазмунду колдонуп жатат. Айландыруу күчүнө кирди деп ишенбей туруп, процесстин туткан inode-ун дисктеги менен салыштырыңыз.

Үч иштөө убактысындагы окууну жана ар бири качан болорун атаңыз

Үч ресурс адатта инициализациядан алда канча кийин ачылат жана ар кайсы учурларда ийгиликсиз болот. Белгилүү кардардын конфигурация файлы ошол кардар туташканда окулат, ошондуктан калгандары улантып жатканда бир колдонуучу үчүн бузулушу мүмкүн. Кайтарып алуу маалыматтары теңдеш аутентификациясында жана файл алмаштырылганда кайра каралат. Убактылуу каталогго скрипт же кошумча бир нерсе жазганда гана кол тийет.

Үчөөнүн эч бири ишке кирүү жолуна таандык эмес, ошондуктан жумалар бою соо болгон сервер кийинки туташууда ийгиликсиз болушу мүмкүн. Категория оңдоонун ээсин да атайт: биринчи экөө демон эсебинин алдындагы конфигурацияга окуу укугу, ал эми үчүнчүсү тар максаттуу жазууга боло турган жер.

Path reopened laterWhat triggers the openFirst sign when it fails
Client configuration fileA connection for that client identityOne client rejected while others connect
Revocation dataPeer authentication, including after replacementRevoked and valid peers both refused
Script or plugin temporary directoryA helper needs to create a fileThe helper exits with a path error

persist-key көпчүлүк ойлогондон тар суроого жооп берет. Ал документтелген SIGUSR1 жана ping-restart кайра коюуларында ачкыч файлын ачык кармайт, ал эми CCD файлдарына, кайтарып алуу маалыматтарына, жардамчы аткарылуучу файлдарга же процессти толук кайра иштетүүгө эч нерсе кылбайт. Алар дагы эле өз ачуу жолдору менен жүрөт, ошол учурда иштеп жаткан кайсы болбосун эсептин алдында.

Эсепти жана анын чыныгы көрүнүшүн ырастаңыз

unit файлына ишенүүнүн ордуна иштеп жаткан демондон кайсы эсепти колдонуп жатканын сураңыз, анан жоопту unit белгилеген менен салыштырыңыз. Шайкешсиздик — биринчи чечилүүчү маселе, анткени кийинки ар бир укук текшерүүсү процесстин чындап ким экени катары жүрөт. Андан кийин жолду компонент-компонент боюнча басыңыз; өтүү ар бир деңгээлде бааланат, ошондуктан өтүүгө болбой турган каталогдогу окулуучу файл окулбаган бойдон калат. Акыркы файл режими — биринчи эмес, акыркы суроо.

Ат мейкиндиктери жана кызмат кумсалгычтары менчик жана режим биттери сүрөттөбөгөн чектерди кошот. Сиздин shell-де көрүнгөн жол chroot, орнотуу ат мейкиндиги же үй каталогдорун жашырган unit ичинде жок болушу же тек окууга гана болушу мүмкүн. Коопсуздук модулдары дагы бир катмар кошот, ошондуктан окулуучудай көрүнгөн файл ачылганда бары бир четке кагылышы мүмкүн.

ps -o user:12,pid,args -C openvpn
systemctl show -p User -p Group -p ProtectHome -p RootDirectory [email protected]
sudo -u openvpn namei -l /etc/openvpn/ccd/alice

Администратордун shell-индеги ийгиликтүү окуу ошол бириктирилген шарттардын бирин да текшербейт. Текшерүүнү демон эсеби менен, ошол ат мейкиндиги жана кумсалгыч менен аткарыңыз, же жыйынтык серверди эмес, сиздин shell-ди сүрөттөөрүн кабыл алыңыз. Үчүнчү буйрук — ошол тесттин арзан версиясы: ал ар бир компоненттин режимин басып чыгарат жана демон эсеби өтө албаган биринчи компонентте ийгиликсиз болот.

Иштөө убактысындагы жазууга өз каталогун бериңиз

Окуу — тизменин жарымы гана. Жардамчы скрипт статус файлын түзүүнү талап кылышы мүмкүн, кошумча өз конфигурациясынын жанында абал жазышы мүмкүн, ал эми бул жазуулар конфигурация дарагын жазууга жарактуу кылуу менен жабылбайт. Так каталогго анын функциясы талап кылган жазуу укугун бериңиз, түшүндүрө алган ээси жана режими менен. Тек окулуучунун баарына тек окууга арналган жетүүнү артык көрүңүз.

Жеке ачкычтын укуктарын саясат файлдарынан өзүнчө кармаңыз. Кайра коюудан кийин кайра окулушу керек ачкычтын талабы ар бир туташууда окулуучу кардар файлынан башка, ал эми экөөнө бир жеңил режим маселе талап кылгандан көп жетүү берет. Тар менчиктеги атайын демон эсеби кенен топтон текшерүүгө жеңил. Ачкыч кайра коюуларга туруштук бериши керек болгондо, persist-key каталогду кеңейтүүнүн ордуна кайра окууну алып салат.

Кайра өндүрө алган окуядан чечим кабыл алыңыз

Тирүү туннель коддогу бир гана жолду далилдейт. Файл керек окуя — сизди кызыктырган ачууну камтыган жалгыз тест, ал жаңы кардар туташуусу, алмаштырылган кайтарып алуу файлы, уруксат берилген жумшак кайра коюу же пландалган кайра иштетүү болсун. Окуяны тандаңыз, аткарыңыз жана акыркы эмес, биринчи катаны сактаңыз.

Жумшак кайра коюу үчүн бир сигнал жана unit журналы ачкычтын кайра окулганын көрсөтөт. Сигналды жибериңиз, анан unit жазган акыркы саптарды окуңуз:

systemctl kill -s SIGUSR1 [email protected]
journalctl -u [email protected] -n 40 --no-pager

Укуктар төмөндөдү деп бузулган демон эми файлдарды өзгөртө албайт деп корутунду чыгарбаңыз. Ал дагы эмне кыла алары калган каттоо маалыматтарына, анын мүмкүнчүлүктөрүнө, жаза алган каталогдоруна жана дагы эле туткан жазууга жарактуу дескрипторуна байланыштуу. Укуктарды азайтуу бийликти тарылтат, ал эми иштөө убактысындагы ачуулардын тизмеси канчалык экенин көрсөтөт. Ушул чекти конфигурациянын жанына жазыңыз, кийинки адам аны кайра ачпашы үчүн.

Тектеш макалалар