Коришћење ССХ преко УНИКС утичнице уместо судо да бисте се решили суид датотека

Тимотхее Равиер из Ред Хат-а, одржавалац пројеката Федора Силверблуе и Федора Киноите, предложио је начин да се избегне употреба судо услужног програма, који користи суид бит за ескалацију привилегија. Уместо судо, за нормалног корисника за извршавање команди са роот правима, предлаже се коришћење ссх услужног програма са локалном везом на исти систем преко УНИКС сокета и провером дозвола на основу ССХ кључева.

Коришћење ссх уместо судо омогућава вам да се решите суид програма на систему и омогућите извршавање привилегованих команди у окружењу домаћина дистрибуција које користе компоненте за изолацију контејнера, као што су Федора Силверблуе, Федора Киноите, Федора Серицеа и Федора Оник. Да бисте ограничили приступ, може се додатно користити потврда овлашћења помоћу УСБ токена (на пример, Иубикеи).

Пример конфигурисања компоненти ОпенССХ сервера за приступ преко локалне Уник утичнице (посебна ссхд инстанца ће бити покренута са сопственом конфигурационом датотеком):

/етц/системд/систем/ссхд-уник.соцкет: [Јединица] Опис=ОпенССХ Сервер Уник Соцкет Доцументатион=ман:ссхд(8) ман:ссхд_цонфиг(5) [Соцкет] ЛистенСтреам=/рун/ссхд.соцк Аццепт=иес [Инсталирај] ВантедБи=соцкетс.таргет

/ етц / системд / систем /[емаил заштићен]: [Јединица] Опис=ОпенССХ пер-цоннецтион сервер даемон (Уник соцкет) Документација=ман:ссхд(8) ман:ссхд_цонфиг(5) Вантс=ссхд-кеиген.таргет Афтер=ссхд-кеиген.таргет [Сервице] ЕкецСтарт=- /уср/сбин/ссхд -и -ф /етц/ссх/ссхд_цонфиг_уник СтандардИнпут=соцкет

/етц/ссх/ссхд_цонфиг_уник: # Оставља само проверу аутентичности кључа ПермитРоотЛогин забрана-пассворд ПассвордАутхентицатион но ПермитЕмптиПассвордс но ГССАПИАутхентицатион но # ограничава приступ одабраним корисницима АлловУсерс роот админусернаме # Оставља само употребу . изедКеисФиле .ссх /аутхоризед_ кеис # енабле сфтп подсистем сфтп /уср/либекец/опенссх/сфтп-сервер

Активирајте и покрените системску јединицу: судо системцтл даемон-релоад судо системцтл енабле —сада ссхд-уник.соцкет

Додајте свој ССХ кључ у /роот/.ссх/аутхоризед_кеис

Подешавање ССХ клијента.

Инсталирајте услужни програм соцат: судо днф инсталл соцат

Допуњавамо /.ссх/цонфиг тако што наведемо соцат као прокси за приступ преко УНИКС утичнице: Хост хост.лоцал Усер роот # Користите /рун/хост/рун уместо /рун за рад из контејнера ПрокиЦомманд соцат - УНИКС-ЦЛИЕНТ: / рун/ хост/рун/ссхд.соцк # Путања до ССХ кључа ИдентитиФиле ~/.ссх/кеис/лоцалроот # Омогући ТТИ подршку за интерактивну љуску РекуестТТИ иес # Уклони непотребан излаз ЛогЛевел КУИЕТ

У свом тренутном облику, корисничко име админусернаме ће сада моћи да извршава команде као роот без уношења лозинке. Провера операције: $ ссх хост.лоцал [роот ~]#

Ми креирамо псеудоним судохост у басх-у да покренемо „ссх хост.лоцал“, слично као судо: судохост() { иф [[ ${#} -ек 0 ]]; затим ссх хост.лоцал "цд \"${ПВД}\"; екец \"${СХЕЛЛ}\" --логин" елсе ссх хост.лоцал "цд \"${ПВД}\"; екец \»${@}\»» фи }

Проверите: $ судохост ид уид=0(роот) гид=0(роот) гроупс=0(роот)

Додамо акредитиве и омогућавамо двофакторску аутентификацију, дозвољавајући роот приступ само када је уметнут Иубикеи УСБ токен.

Проверавамо које алгоритме подржава постојећи Иубикеи: лсусб -в 2>/дев/нулл | греп -А2 Иубицо | греп "бцдДевице" | авк '{принт $2}'

Ако је излаз 5.2.3 или већи, користите ед25519-ск када генеришете кључеве, у супротном користите ецдса-ск: ссх-кеиген -т ед25519-ск или ссх-кеиген -т ецдса-ск

Додаје јавни кључ у /роот/.ссх/аутхоризед_кеис

Додајте везу типа кључа у ссхд конфигурацију: /етц/ссх/ссхд_цонфиг_уник: ПубкеиАццептедКеиТипес [емаил заштићен],[емаил заштићен]

Ограничавамо приступ Уник сокету само на корисника који може имати повишене привилегије (у нашем примеру, админусернаме). У /етц/системд/систем/ссхд-уник.соцкет додајте: [Соцкет] ... СоцкетУсер=админусернаме СоцкетГроуп=админусернаме СоцкетМоде=0660

Извор: опеннет.ру

Додај коментар