Как открутить секретку без ключа: Как снять секретку с колеса, если нет специального ключа

Содержание

Как снять секретку с колеса, если нет специального ключа

Секретки на колеса: -Что делать, если нет ключа?

 

Обычно, чтобы снять колесо на машине автомобилисту необходимо просто открутить колесные болты. В основном у водителей с этим нет никаких проблем, если только на колесах не стоят секретные болты (не стандартные, которые не открутишь обычными ключами). Для того, чтобы снять такую секретку с колеса необходим специальный съемник, который, как правило продают в комплекте вместе с секретными болтами. А что делать, если такой ключ потерялся? Не переживайте друзья и не слушайте никого, что для зтого необходимы якобы сложные слесарные работы. Мы уважаемые автомобилисты покажем и расскажем вам, как это можно сделать без применения специальных режущих инструментов.

 

 

В нашем приведенном примере можно увидеть автомобиль внедорожник Toyota Tundra на колесах которго установлены секретные болты с целью его защиты от кражи. Давайте дорогие друзья представим себе на минуточку, что мы потеряли специальный ключ для откручивания секретки на колесе (на колесах). Обычно в этом конкретном случае владельцы автомобилей обращаются за помощью на шиномонтаж или в технический центр, где мастера предлагают им спилить или высверлить эти секретки, чтобы можно было без проблем снять колесо(а) с машины.

 

Но это трудоемкий и непростой процесс связанный естественно с затратой немалых денежных средств с вашей стороны. Мы же со своей стороны предлагаем водителям достаточно простой способ, который в реальности поможет им, с помощью простых автомобильных инструментов снять секретку с колеса за короткий промежуток времени.

Стоит здесь сразу отметить, что данный предлагаемый нами способ работает практически во всех случаях и для большинства секретных болтов представленных в наше время на автомобильном рынке, а также он подходит для всех типов авто-внедорожников и легковых автомобилей.

Как мы уже выше отметили, чтобы снять секретку при потери специального ключа, нам понадобится простой набор инструментов, которые обычно есть у каждого автолюбителя. Вот те инструменты, что нужны для этой работы:

 

Необходимые инструменты:

— Торцевая головка (в нашем случае для автомобиля Тойота подошла головка 12-Point Socket). В вашем случае уважаемые автомобилисты подберите свой размер головки по диаметру секретки.

 

— Ключ для торцевых головок (вороток-рычаг, желательно динамометрический ключ).

 

— Молоток.

 

— Новый стандартный колесный болт под ваше колесо.

 

— Отвертка.

 

Сколько времени для этого необходимо?

 

Проверено, чтобы снять секретку с колеса без специального ключа в среднем необходимо будет затратить от 3 до 5 минут времени. Или около 20 — 30 минут, чтобы демонтировать секретные колесные болты со всех 4-х колес.

 

Шаг 1: Начните с поиска секретки

 

Не стоит друзья паниковать, если вы потеряли секретку к колесным болтам. Для начала лучше подумайте, где вы могли потерять эту секретку? Возможно, что вы положили ее куда-то и просто забыли о том месте? Не спишите пожалуйста и не нервничайте. Просмотрите все места в автомобиле, куда вы могли положить необходимый вам съёмник. Так же не забудьте осмотреть и все возможные места у себя дома. Может быть вы забыли просто спросить этот ключ у бывшего владельца автомобиля, который вы у него приобрели? Позвоните ему и уточните для себя, отдавал ли он вам ключ-секретку. 

 

Шаг 2: Выясните, какой размер секретного болта на колесе для того, чтобы подобрать нужного диаметра торцевую головку

 

Если вы действительно не можете найти оригинальный ключ-съемник для колесных секреток, то пришло время поработать молотком. Задача довольно проста. С помощью молотка вбить обычную торцевую головку на секретку и с помощью торцевого ключа открутить секретный болт.

Дело тут вот в чем, а именно, ваши секретные колесные болты какие бы они дорогие не были, обычно изготовливаются из мягкого металла. То есть, металл этих секреток более мягкий, чем обычные стальные колесные крепежные элементы. Так что у вас есть надежда, что их можно открутить с помощью обычного автомобильного инструмента.

 

Так что будьте уверены, вы можете самостоятельно без посторонней помощи снять секретки за короткое время. Для этого найдите в своем гараже или в наборах инструментов торцевую головку, которая по размеру подходила бы под диаметр секретного колесного болта. Если у вас нет такой головки, то приобретите ее в автомагазине. Не стоит приобретать дорогие торцевые головки. Для этой работы подойдут и более дешевые инструменты.

 

При подборе нужного размера торцевой головки используйте лучше несколько размеров, чтобы идеально подобрать ту именно головку, которая реально может подойти для секретного колесного болта.

Благодаря ребристой поверхности внутри головки и соответственно мягкого металла секретки вы сможете легко и с помощью молотка изменить конфигурацию секретки под тот необходимый профиль, что имеет торцевая головка во внутреннем диаметре.

 

Шаг 3: Установите торцевую головку на секретный болт и с помощью молотка наденьте его на колесную секретку

 

Теперь дорогие автомобилисты начинается самое интересное. Ударяя аккуратно молотком по торцу головки вы естественным образом просто проминаете мягкую секретку. В конечном итоге она конкретно начинает приобретать (и приобретет) тот же самый вид, что имеют внутренние грани этой торцевой головки.

Внимание. Вы должны впрессовать торцевую головку таким образом, чтобы она плотно села на секретный болт (чтобы плотно сидела на секретном болте).

 

Шаг 4: Установите вороток-рычаг (динамометрический ключ) на головку

 

Вороток-рычаг — это специальный металлический стержень к которому прикрепляются торцевые ключи.

Мы советуем подобный металлический рычаг иметь всем автомобилистам. Этот инструмент может выручить вас при многочисленных трудностях на дороге. Особенно вы в этом можете убедиться после того, как с помощью него самостоятельно снимите секретку с колеса. 

 

Чем же так помогает вороток-рычаг (динамометрический ключ) для торцевых головок? На самом деле открутить данную секретку нам помогает элементарная фундаментальная наука — физика. В нашем случае друзья мы использовали 20-сантиметровой длины рычаг. Можете использовать рычаг и покороче. Но всегда помните, что чем длиннее будет рычаг, тем больше силы от нашего движения будет поступать на торцевую головку. Согласно законам физики произойдет следующее, поворачивая рычаг мы тем самым увеличиваем свою силу в несколько раз и фактически превращаем себя в натурального силача. 

 

Обратите ваше внимание на следующее, при откручивании секретки вы все должны  делать медленно и неторопясь. Ни в коем случае не поворачивайте рычаг слишком резко, так как вы рискуете провернуть торцевую головку вокруг мягкой секретки.

 

Начинайте медленно давить на рычаг. Если секретка все-же не начала откручиваться, то не ослабляя своего давление на рычаг подождите еще немного и.. Вы будете удивлены, как легко начнет поддаваться секретка. На самом деле, чтобы повернуть секретный колесный болт не нужны огромные усилия в отличие от тех же стандартных колесных болтов, которым необходимы куда большие усилия.

 

Шаг 5: Установите вместо секретки новый обычный колесный болт

 

Посмотрев видео ролик и на фотографии вы можете удивиться, что на примере того же автомобиля внедорожника Тойота, все получилось неплохо. После того, как вы сняли секретку вам необходимо вместо нее обязательно установить на то место стандартный стальной колесный болт. Правда друзья сразу обратите свое внимание на следующее, что в определенных и некоторых случаях вы не сможете закрутить назад болт из-за повреждения внутренней резьбы.

Но это устранимо хотя уже и не так легко, и, в этом случае вам лучше обратиться к специалистам.

Но в большинстве случаев после того как вы снимите секретку, резьба не повреждается, вы легко и самостоятельно закрутите новый колесный болт на место. 

 

Шаг 6: Удалите секретку из торцевой головки

 

Секретка впрессовалась в торцевую головку достаточно глубоко? Как быть? 

 

Существует несколько способов, чтобы достать из торцевой головки застрявший болт, а именно:

 

— Попробуйте с помощью большой отвертки или с помощью долото выбить секретку из торцевого ключа. Для этого необходимо установить долото в тиски. Далее, взяв в руки головку попытайтесь сверху выбить секретку об зажатое в тиски долото.

 

— Можно попытаться выбить секретку с помощью крепкой большой отвертки. Для этого необходимо взять торцевую головку внутри которой застряла секретка. Далее необходимо сверху установить отвертку, также зажав ее в руке. Затем с помощью молотка надо попытаться выбить секретку из головки. В нашем примере автору видео ролика этот способ не помог.

 

— Самый надежный метод (способ) вытаскивания секретки из торцевой головки вы сможете увидеть друзья в самом конце данного видео-ролика. Сам его автор продемонстрировал всем нам простой и надежный способ удалить секретный болт из головки. Для этого необходимо вкрутить секретку, что плотно впрессована в торцевую головку, обратно в резьбовое соединение колеса.

Внимание! Секретку нельзя заново сильно затягивать. Вам нужно ее закрепить с таким именно уровнем затяжки, которая далее позволит вам без проблем открутить эту секретку в ручную. 

 

Закрутив не сильно назад по резьбе секретку, попытайтесь вытащить торцевую головку. Так как секретка будет в данный момент держаться на резьбовом соединении, то вероятнее всего вы без особых проблем снимите головку с секретки. А далее так же без особых усилий открутите секретку с колеса.

 

 

Другие советы для тех, кто потерял ключ для колесных секреток 

 

 

Попытайтесь выяснить марку секретных колесных болтов / их серийный номер

 

Так вы сможете выяснить производителя. Также и как правило на самих секретных контргайках или болтах наносится их серийный номер, или буквенный код. Установив компанию производитель, что производит секретные болты для колес, вы сможете попробовать связаться с ними, чтобы заказать новый ключ под ваши секретки установленные на автомашине. Но помните пожалуйста, что это по деньгам выйдет для вас значительно дороже. 

 

 

Не используйте гаечный ключ для того, чтобы открутить секретку

 

Советуем всем автомобилистам вместо гаечного ключа использовать вороток-рычаг для торцевых головок или динамометрический ключ, позволяющий контролировать силу затяжки. С помощью динамометрического ключа можно видеть воочию, какую силу вы применяете при откручивании секретки. Это даст вам возможность контролировать свое усилие и не повредить секретку. 

 

Это на много лучше ,чем гаечный трещоточный ключ, который, во-первых не сможет усилить вашу прилагаемую силу в несколько раз, а также во-вторых не сможет обеспечить вам контроль над прилагаемой вами силой откручивания. 

 

Используйте любое проникающее масло

 

Советуем вам друзья перед тем, как пытаться открутить колесную секретку обработать ее проникающим машинным маслом (например, таким, как «PB Blaster»). Обратите ваше внимание на следующее, что вопреки распространённому и бытующему мнению среди автомобилистов, в этом виде демонтажа колесной секретки, масло марки «WD-40» к сожалению не подойдет. Проникающее масло поможет вам удалить образовавшуюся внутри ржавчину, которая как-раз и может помешать откручиванию болта. 

Внимание! Будьте предельно осторожны. Это проникающее масло может серьёзно повредить лакокрасочное покрытие автомобиля. Поэтому будьте всегда аккуратны. 

 

Для удаления секреток продаются специальные наборы инструментов

 

Если вы хотите снять секретку с колеса при утере ключа, то можно приобрести специальный демонтажный набор. Но всегда помните, что стоит такой набор не дешево и, для вас все-равно будет проще снять эту секретку тем способом, который мы описали в нашей статье и который был показан в видео-ролике.

Таким образом запомните уважаемые автомобилисты, что описанный выше способ на много проще, он дешевле и универсальнее.

 

Защищают ли секретки колес от тех же воров?

 

Как видите друзья, нет не защищают. Секретные колесные крепежные элементы на самом деле не являются препятствием для преступников. Для них секретки являются просто лишним неудобством и все. 

 

Таким образом учтите, мы лично не советуем приобретать подобные секретки на колеса, поскольку это по-просту пустая трата денег. Ведь те злоумышленники, которые решаться украсть именно колеса, придут к вашей машине (поверьте нам) заранее подготовленными и с необходимым инструментом. И как вы наглядно видели им не составит особого труда снять с вашей машины нужные им колеса даже при наличии секретных болтов.

 

Удачи Вам господа автомобилисты!

Как снять секретку с колеса без ключа: открутить с помощью головки

В этой статье рассмотрим, такой часто возникающий вопрос: как снять секретку с колеса без ключа. Очень часто автовладельцы теряют специальный ключ и тогда снять колесо, проблематично.

Зачем нужны секретки?

На «черном рынке» предлагаются колеса, которые злоумышленники снимают по ночам с автомобилей, с целью их перепродажи. Чтобы обезопасить колеса от кражи, придумали эффективное средство защиты, секретки – это болты и гайки, имеющие нестандартный крепеж.

Снимаются колесные секретки специальным ключом, без которого можно повредить литой диск, при снятии колеса.

В автосервисе откручивают секретки просто, наваривают болт, а это рискованная операция для литого диска.

Многие автовладельцы при потере ключа попадали в тупиковую ситуацию. Но выход есть всегда.

Придется побыть в шкуре ночного воришки, снимающего колеса с автомобиля. Разница в том, что он делает это под покровом ночи, опасаясь всех вокруг:

  • срабатывания сигнализации;
  • случайных прохожих;
  • охранника стоянки;
  • бдительных соседей, выглядывающих в окна по ночам.

Вы проделаете эту операцию при дневном свете, в окружении зевак, пытающихся помочь своими советами. Процедура не из легких. Понадобится время и хорошая физическая подготовка, но результат того стоит.

Как открутить секретку на колесе без ключа?

Первый способ

  1. Если секретка стоит недолго, а проблема лишь в потере ключа, то процесс пройдет быстро.
  2. Больше усилий потребуется, если секретка поставлена давно, от длительной эксплуатации она могла прикипеть.

1. Чтобы выкрутить секретку с колеса, необходимо сильнее закрутить другие гайки (болты) для снятия лишней нагрузки с проблемного болта. Поднять колесо домкратом и простучать секретку со всех сторон, опустить колесо.

2. Все болты (гайки) полностью выкрутить, чтобы осталась одна прикипевшая деталь. Приподнять колесо домкратом, мягко раскачать его на ступице.

Перед операцией стоит воспользоваться вэдушкой (WD-40), оставив обрызганную деталь на несколько минут.

3. Снова закрутить все болты (гайки), кроме секретки – произойдет ослабление нагрузки на нее.

Затяжку проводить симметрично, понемногу каждую, что исключит перекос диска. Затягивать нужно до предела!

Если сделать по этой инструкции, то секретный болт должен открутиться руками без особых усилий. Если деталь прикипела очень сильно, то процесс придется повторить несколько раз.

Но дело того стоит, в автосервисе сделают за деньги и не факт, что литой диск останется целым.

Второй вариант

Купить специальную торцевую головку в инструментальном магазине. Состоит она из смещенных конусов с острыми гранями (фото ниже).

Головку необходимо подобрать под размер проблемного болта.

Инструкция по удалению секреток с колес:

  • головку набить тяжелым молотком на колесный болт-секретку;
  • одеть вороток на головку;
  • снизу под конструкцией для упора выставить домкрат;
  • нажатием на вороток (усиленный трубой), открутить проблемную деталь.

Посмотрите видео-инструкцию, как открутить колесный болт-секретку описанным способом:

Если не получиться найти головку со смещенными конусами, то можно применить шестигранную!

А в этом видео показывается, как открутить с помощью простой головки:

Как снять секретку с защитным кольцом?

Если стоит секретный болт с защитным кольцом, то можно применить такой способ:

  1. Взять керн с молотком.
  2. Согнуть кольцо в нескольких местах.
  3. Вытащить искалеченное кольцо пассатижами.

Далее воспользоваться способом описанным выше.

Посмотрите видео, где показан метод снятия защитного кольца керном и секретки головкой:

Заключение

Чтобы не терять ключ, желательно купить для секретки кошелек. Он крепится к балоннику и всегда будет под рукой.

P.S. Поделитесь пожалуйста в комментариях своими способами снятия секреток с колес. Какие наборы инструментов используете?

Загрузка…

Как снять болт-секретку без специального ключа

Что уж там греха таить: повсеместное использование «секреток» доставляет автовладельцам и некоторые неудобства. Специальная насадка на балонник, идущая в комплекте с «хитрыми» болтами, исчезает из бардачка каким-то таинственным образом и, как назло, в самый не подходящий момент, когда требуется заменить пробитое колесо.

Как снять секретку без ключа: основные методы

Случаются ситуации, когда автолюбители теряют ключи от своих секреток, особенно при установке всесезонной резины, когда они могут не трогать колёса годами и просто забывают, куда дели инструмент. В таких случаях отчаиваться не стоит, опытные мастера знают несколько способов, как открутить секретку на колесе, если автовладелец потерял головку.

Перетяжка

Самый действенный способ — с помощью перетяжки, однако работает он только при условии, что ключ потерялся и на колесе установлена лишь одна секретка. Мастер полностью затягивает по максимуму все остальные гайки на данном колесе, в результате давление на секретку значительно ослабевает, после чего он аккуратно стучит по ней со всех сторон. Далее авто приподнимают на домкрате, все болты снимают, и колесо остаётся держаться на ступице исключительно при помощи секретки. Диск аккуратно расшатывается, и секретка начинает болтаться, после чего она может очень просто открутиться вручную.Обратите внимание!  Если результат не был достигнут с первого раза, процесс нужно повторить в той же последовательности.

Что делать тем владельцам, которые потеряли секретку? Попробовать другой хитрый способ снятия гайки — при помощи торцевой головки. Необходимо взять из набора насадку, которая будет на полдиаметра меньше, чем наружная часть секретки. Далее следует с силой набить торцевую головку на поверхность гайки, и если она выполнена из мягкой стали, то, скорее всего, её поверхность примет форму внутренней части насадки с гранями.

После этого необходимо взять динамометрический ключ и, постоянно контролируя усилие нажатия на вороток, ослабить гайку. Ключ снимается с насадки, и всю конструкцию уже легко выкрутить вручную.

Как открутить секретку корректно и без повреждений колеса? Самым распространённым способом извлечения секретки является обращение в сервисный центр компании-производителя, где в течение нескольких дней инженеры смогут восстановить ключ и изготовить его дубликат. Однако в упаковке с гайками наряду с ключом находится комбинация цифр — уникальный код, по которому восстанавливается изделие, и если он также утерян, то данная процедура невозможна.

Что делать?

Есть масса способов снять «секретку», но они требуют специальных навыков и приспособлений. Поэтому проще подлатать колесо или подкачать его, отогнать автомобиль в ближайший в сервис, заплатить. И пусть мастера своего дела ломают голову и инструмент о нестандартную головку болта в вашем колесе, если, конечно, у них нет специализированного набора мастер-ключей.

Но есть и вполне рабочий способ открутить «хитрый» болт самостоятельно, не прибегая к спецсредствам.

Как правило, «секретку» не закручивают намертво, чтобы не срезать грани и не испортить или, чего еще хуже, сломать головку. А вот другие болты затягивают сильнее. В этом и есть фокус.

Крепеж для диска ВЕКТОР М12*1,5*40

Для того, чтобы приступить к откручиванию болта-секретки, необходимо сперва смазать их проникающей смазкой (если давно не меняли колеса, болты могли немного прикипеть), а по истечении 10 минут еще туже подтянуть обычные болты, которые плотнее прижмут диск колеса к ступице, ослабив тем самым «секретку».

Возможно, она даже поддастся выкручиванию рукой. Но если не поможет, то стоит поискать более-менее похожую «головку», чтобы та хоть как-то цеплялась за грани болта с нестандартной головкой. И уже, не травмируя пальцы рук, открутить его.

Излишних стараний и усилий прикладывать не стоит. Помните, что переусердствовав, вы можете сорвать резьбу на обычных болтах или в ступице. Поэтому протягивать болты нужно аккуратно, постоянно проверяя, не ослабла ли «секретка». Вполне возможно, что вам не понадобиться подтягивать абсолютно все болты, кроме двух ближних к «секретке».

Распространённые ошибки владельцев при снятии секреток

Снятие колеса с секреткой без использования ключа — процедура, которая повторяется в жизни не слишком часто, и у обычного автолюбителя крайне редко получается выполнить её без единой ошибки. Во время использования одного из перечисленных выше средств для снятия гаек с колеса нередко можно повредить колесо, а то и ступицу, тормозную систему и в итоге заплатить очень большие деньги за ремонт всей конструкции.

Прежде всего, если действовать при помощи перетяжки, у владельцев авто могут возникнуть некоторые проблемы, в частности:

  • Слишком сильная затяжка обычных гаек может привести к срыву резьбы на шпильках или на самом крепеже.
  • Расшатывание колеса на автомобиле может деформировать шпильки, колёсный диск или ступицу, что приведёт к дорогостоящему ремонту.
  • После всех манипуляций нужный результат может быть так и не достигнут, потому что гайка не разболтается.
  • Если на колесе установлены сразу 2 секретки, то данная процедура по их удалению является невыполнимой.
  • Снятие секреток при такой процедуре не гарантировано на 100 %.

Снять любой ценой: что делать, если сломали ключ от секретки

На фото: Yan_San за работой

В последнее время, наши читатели задают вопрос, как снять секретку, если ключ сломан или потерян. Ведь, в случае поломки специального ключа, откручивающего секрету, придется либо повреждать диск, либо обращаться к услугам дорогостоящих автомастерских, предлагающих силовой съем секреток. Рассмотрим все варианты

Как снять секретный крепеж (секретку)

Поэтому, даже если вы православный христианин (а не жулик, который хочет украсть колёса), который просто потерял ключ, вы вынуждены сами решать свои проблемы. И именно поэтому в интернете такое количество кустарных способов снятия секретного колёсного крепежа. 

Снятие универсальной насадкой Gator Grip

Gator Grip — универсальная насадка для шуруповерта или дрели. Внутри стоят 54 мелких подпружиненных штифта. Предназначена для откручивания любого крепежа с боковыми фланцами.

Такие секретки как на фото легко откручиваются насадкой Gator Grip

Снятие насадкой Gator Grip секреток с рисунком на торцевой части

Секретки McGard, Farad, SaveCar и аналогичные, имеющие защитный рисунок на торце, невозможно снять этой насадкой. Выступающие подвижные штифты не помещаются внутрь рисунка и не позволяют зацепиться за него. 

McGard и Gator Grip

Farad и Gator Grip


Снятие экстрактором

Экстрактор для гаек — сверхпрочная ударная торцевая головка, выполненная из твердосплавной стали. Внутри имеются винтообразные нарезы в левую сторону

Как используют экстрактор

Экстрактор забивается молотком или кувалдой поверх колесного крепежа, гаек, болтов или секреток. Далее, его можно выкрутить стандартной «трещеткой» или воротком

Как выглядит секретка после снятия экстрактором

Мы сняли китайские секретки TPi экстрактором. Вот, что получилось

На фото секретки tpi после снятия экстрактором

Метод перетяжки болтов и гаек

Это один из малоизвестных способов демонтажа секреток. Стоить отметить, что именно им, и пользуются злоумышленники, решившие оставить вас без колес.

Способ достаточно энергозатратный и потребует наличие хорошей физподготовки. Однако, в результате проведенной работы, вы приобретете не только новые и полезные навыки, но и оставите целыми свои литые диски. Плюс, вы сможете неплохо сэкономить на услугах автомастерской.

Что потребуется?
  • Домкрат
  • Баллонный ключ
  • Кусок трубы для увеличения длинны рычага
  • Жидкость WD-40
  • Молоток или кувалда
Инструкция
  1. В первую очередь, необходимо снять нагрузку с секретки. Для этого придется закрутить все гайки и болты на колесе по максимуму.
  2. Далее нужно воспользоваться домкратом. Поднимете колесо на такую высоту, которая позволить простучать секретку. Можно также расшатать колесо. По окончанию данной процедуры, колесо можно опустить.
  3. Третий шаг – выкручивание всех гаек и болтов, которые имеются на колесе. В результате этой процедуры, колесо остается закрепленным лишь одной секреткой.
  4. На следующем этапе вам понадобится средство WD-40, либо его аналог, а также старый добрый домкрат. Опрыскайте секретку аэрозолем и поднимите колесо на домкрате. Расшатайте колесо на ступице.
  5. После этого, нужно с максимальным усилием закрутить все гайки и болты, которые ранее были на колесе. Затягивайте крепеж симметрично, чтобы у диска не было перекоса.

Как показывает практика, в результате вышеуказанных действий,  секретка снимается легко, даже голыми руками.

В случае, если же секретка прикипела достаточно сильно, метод перетяжки соседних болтов потребуется повторить. Положительный результат гарантирован.

Старая добрая сварка

Если нет времени и сил, чтобы крутить крепеж на колесе самостоятельно, всегда можно прибегнуть к помощи специалистов. В автосервисе секретки снимут, приварив стальные болты к гайкам. Проконтролируйте, чтобы в процессе сварки, литой диск остался неповрежденным. Для этого, перед началом процедуры, его необходимо закрыть огнеупорной тканью  

Мастер-ключ McGard универсальный

Сразу скажем, это очень не дешёвое удовольствие. Такой набор стоит 400$. Купить можно тут

Читайте также: как заказать дубликат сломанного ключа McGard

Распродажа

Возможно вас заинтересует:

Как снять секретку с колеса без ключа.

Советы по шиномонтажу
  • Вы потеряли ключ от секретки на колесах?
  • Не знаете, как снять секретку с колеса?
  • Хотите узнать, есть ли способы ее удаления?

Воспользуйтесь нашими советами — они помогут решить проблему.

Способ первый: снятие секреток с колес при помощи перетяжки остальных точек крепления колеса.
  1. Закрутите максимально все гайки и болты, чтобы снять осевую нагрузку с секретки.
  2. Используйте домкрат, чтобы поднять колесо с проблемной секреткой. Несильно простучите ее. Опустите колесо.
  3. Начинайте выкручивать все гайки и болты, чтобы колесо фиксировала только секретка.
  4. Снова используйте домкрат для поднятия колеса.
  5. Сделайте расшатывающие движения относительно колесной ступицы.
  6. Верните на место все болты и гайки, максимально затяните симметрично секретке.
  7. Выкручивайте  секретку даже без специального оборудования.

Мы рекомендуем использовать любое проникающее масло. Но обработку проводите аккуратно, чтобы не повредить лакокрасочное покрытие транспортного средства.

Способ второй: как открутить секретку на колесе без ключа при помощи сварки.

Если Вы не хотите самостоятельно заниматься удалением детали — обратитесь в шиномонтаж. Мы приварим стальные болты к секретки, и она быстро выкрутится.

  1. Найдите секретку.
  2. Приобретите торцевую голову, которая подходит по диаметру секретки. Разместите ее на секретном болту, чтобы при помощи молотка надеть ее сверху. Обратите внимание, что торцевая головка должна быть плотно впрессована в секретку.
  3. Разместите динамометрический ключ на головке, медленно давите на него, чтобы поддалась и секретка.
  4. Установите вместо секретного болта — обычный колесный. А секретку достаньте из торцевой голоски.

Как достать секретку из торцевой головки?
  • Попробуйте выбить, используя большую отвертку или долото.
  • Вкрутите ее обратно в резьбовое соединение колеса, но не затягивайте, чтобы открутить без использования специальных инструментов.

Как Вы видите, секретка не является 100% защитой от преступников. Но затягивает процесс снятия колеса. Специалисты нашего шиномонтажа могут дать совет: какие лучше секретки на колеса приобрести. Мы работаем с ними более 5 лет, поэтому знаем лучшие секретки на колеса. Свяжитесь с нашим диспетчерским центром прямо сейчас по телефону 6037777 или напишите нам на почту.

Поделиться

Навигация по записям

Вам может быть интересно

Как снять секретку с колеса без ключа

Что такое секретки и зачем они нужны

На «черном рынке» предлагаются колеса, которые злоумышленники снимают по ночам с автомобилей, с целью их перепродажи. Чтобы обезопасить ваши колеса от кражи, эффективным средством защиты являются секретки – болты и гайки, имеющие нестандартный крепеж. Они называются секретками. Статья: как выбрать секретки на колеса.

 

Снимаются колесные секретки специальным ключом, но если вы вдруг потеряли такой ключ, то снимая колесные секретки, легко можно повредить литой диск. В автосервисе для снятия секретки, на нее наваривают болт, а это рискованная операция для литого диска.

Многие автовладельцы при потере ключа попадали в тупиковую ситуацию. Но есть выход и из этого тупика. Просто вам придется какое-то время побыть в шкуре ночного воришки, снимающего колеса с вашего автомобиля. Разница лишь в том, что он это бы делал под покровом ночи, опасаясь всех вокруг – срабатывания сигнализации, случайных прохожих, охранника стоянки и бдительных соседей, выглядывающих в окна по ночам.

А вы проделаете эту операцию при дневном свете, отключив сигнализацию, не спеша и обстоятельно, в окружении зевак, пытающихся помочь вам своими советами. Операция, конечно, не из легких. Вам понадобится время и хорошая физическая подготовка, но результат того стоит.

Как снять секретку с колеса без ключа

И так, давайте рассмотрим — как снять секретку с колеса своими руками? Если секретка стоит у вас недолго, а проблема лишь в потере ключа, то процесс пойдет достаточно быстро. Больше усилий потребуется вам, если секретка поставлена давно и вы не откручивали ее периодически – от длительной эксплуатации она могла очень сильно прикипеть.

1. Чтобы снять секретный болт, сначала нужно покрепче закрутить остальные гайки или болты на колесе, чтобы снять лишнюю нагрузку с секретки. После этого поднять немного колесо домкратом и простучать секретку со всех сторон, после чего опустить колесо.

2. Все гайки и болты полностью выкрутить, чтобы осталась только одна только прикипевшая секретка и опять поднять слегка колесо домкратом. Приподняв колесо, нужно мягко раскачать его на ступице. Перед этой операцией стоит воспользоваться вэдушкой (WD-40), оставив обрызганную секретку на несколько минут.

3. Проделав такую операцию, нужно опять закрутить все болты и гайки, кроме секретки – этим вы ослабите нагрузку на нее. Затяжку проводите симметрично, понемножку каждую, что исключит перекос диска. Затягивайте их до предела! Если вы все сделали согласно инструкции, то теперь секретка должна открутиться руками без особых усилий.

Если же секретка прикипела ну уж очень сильно, то весь процесс придется повторить, может и не один раз. Но дело того стоит – в автосервисе вам это сделают за деньги, но не факт, что при этом литой диск останется в целости и сохранности.

 

Как открутить секретку на колесе без ключа?

Эксплуатация14 ноября 2017

С легковых автомобилей, хранящихся на улице, воры нередко снимают колеса в ночное время. Владельцы предпринимают ответные меры – ставят на крепление каждого диска по одному секретному болту, откручивающемуся специальным воротком. Но иногда складывается противоположная ситуация, когда автолюбителю необходимо открутить секретку на колесе без ключа, который утерян либо оставлен по забывчивости в гараже. Существует добрый десяток способов вывернуть хитрый крепеж, но все они потребуют наличия инструментов и времени.

Как снять колесо в дороге?

Самая неприятная ситуация – вдалеке от гаража случился прокол колеса, а ключ от секретки отсутствует. Хочется сразу предупредить водителей, не привыкших возить в багажнике минимальный комплект инструментов: шансов отвернуть болт с фигурным профилем очень мало. Наверняка придется «голосовать» и просить приспособления у других автолюбителей.

Что делать, если в вашем распоряжении есть только домкрат и баллонный ключ с удобным воротком:

  1. Зафиксируйте машину ручным тормозом либо противооткатными башмаками.
  2. Попытайтесь максимально затянуть оставшиеся болты, провернув их на 0,5–1 оборот.
  3. Поднимите автомобиль домкратом, чтобы разгрузить колесо.
  4. Ухватитесь за головку секретки пассатижами и постарайтесь ее ослабить и выкрутить.

Если вариант не сработал, поступите наоборот – ослабьте обычные болты на 1–2 оборота и медленно езжайте вперед, чтобы «разболтать» секретку. Расстояние – не более 50 метров. Затем снова подтяните крепления и пробуйте ее отвернуть. Способ не слишком удачный, поскольку ехать на пробитом колесе крайне нежелательно.

В качестве откручивающего приспособления также подойдет острое зубило и молоток. Если данный инструментарий есть в наличии, наставьте зубило на край фигурного болта и со средней силой бейте молотком в направлении откручивания. Сорвали секретку с места – дальше действуйте пассатижами либо другим хватательным инструментом.

Замечание. При обращении с зубилом и молотком придется соблюдать крайнюю аккуратность. Если по неосторожности наставка соскочит с секретной головки, на литом диске останется царапина или глубокая вмятина от удара. Со штампованного обода можно легко сбить краску.

Перед использованием зубила нужно выполнить операцию по затяжке остальных креплений, описанную выше. Это позволит создать небольшой зазор между головкой секретки и посадочным гнездом диска и облегчить ее раскручивание.

Другие способы вывинчивания секретного болта

Своевременное обнаружение утери ключа дает некоторое преимущество: вы сможете спокойно и без спешки решить вопрос с минимальными потерями. Наиболее простой и безопасный способ выкрутить секретку – обратиться на станцию технического обслуживания. Правда, услугу придется оплатить. Если желаете сэкономить средства и отвернуть крепление самостоятельно, попробуйте старый испытанный метод:

  1. Подберите накидную головку из набора, чей внутренний размер на полмиллиметра меньше диаметра секретки.
  2. Затяните посильнее оставшиеся болты.
  3. Ударами молотка плотно насадите торцевую головку на болт, вставьте вороток и раскрутите крепление.

Важный момент! Применяя любой ударный вариант, вы неизбежно наносите вред подшипнику ступицы, воспринимающему данную нагрузку. В итоге экономия может оказаться мизерной, если подшипник выйдет из строя гораздо раньше положенного срока.

Другой подобный метод – выполнить на секретной головке шлиц, используя болгарку с тонким кругом по металлу (до 2 мм). Когда глубина паза достигнет 2–3 мм, ослабьте крепеж с помощью большой ударной отвертки. Особо варварский способ – бить кувалдой по секретке через наставку, дабы слегка подмять поверхность диска и таким образом расслабить резьбовое соединение. Удары должны быть сильными и точными, направленными вдоль оси крепления, чтобы головка не сломалась и не повредила обод.

Существуют более безопасные варианты снять колесо после потери секретного ключа:

  1. Используя полуавтоматический инвертор, приварите к фигурной головке другой болт, гайку либо шестигранник, затем открутите секретку накидным ключом. Выполняя сварочные работы, защитите литой диск куском асбеста.
  2. На стальных ободьях – штамповках, которые не жалко поцарапать, болт можно сорвать газовым ключом. Установите инструмент в правильном положении (захват по направлению вращения), наденьте на ручки трубу и ослабляйте крепление.
  3. Снять секретку с колеса поможет набор экстракторов – болтов с конусной левой резьбой, сделанных из закаленной стали. Просверлите по центру головки отверстие нужной глубины и диаметра, вставьте подходящий экстрактор и вращайте воротком против часовой стрелки. Крутите без сильных рывков, чтобы резьбовая часть не сломалась.

Абсолютно безвредный для деталей машины метод – изготовление нового фигурного ключика. Используя обычный пластилин, сделайте слепок секретного профиля и отнесите в токарную мастерскую. Толковый специалист выточит по образцу ключ, подходящий к проблемному болту. Примите меры от прилипания пластилина к металлу, обработав поверхность любой жидкой смазкой.

Примечание. Все вышеописанные способы пригодятся для вывинчивания всяких автомобильных болтов с сорванными гранями. Правда, после их реализации изделия перестанут быть болтами в привычном понимании.

Экзотические методы раскручивания

Первый вариант скорее не экзотический, а хлопотный. Приезжаете на рынок автомобильных запчастей или в магазин, где продаются подобные аксессуары, и пытаетесь подобрать ключ из имеющихся в продаже. Неудобство заключается в следующем: придется бегать к автомобилю и примерять различные образцы.

Если внутри профильного отверстия есть выступы, за которые может зацепиться шестигранный либо четырехгранный стержень, удаление секреток с колес производится так:

  1. Подгоните автомобиль к стене капитального гаража нужной стороной.
  2. Вставьте в головку болта шестигранник (или четырехгранник) и прижмите его с торца домкратом, уперев подошву в стену. Не забудьте проставить между ними деревяшку.
  3. Пытайтесь сорвать секретку, вращая стержень рожковым ключом.

Полная экзотика – заморозка металлической головки жидким азотом, продающимся в небольших баллончиках. Как известно, при воздействии сверхнизких температур сталь становится хрупкой. Используя данное свойство, обработайте болт жидким азотом и разбейте головку молотком. Здесь требуется некоторая ловкость, поскольку надо разморозить лишь головку секретки, не затронув другие детали. Оставшаяся в ступице резьбовая часть легко выкручивается после снятия колеса.

Remove-AzKeyVaultSecret (Az.KeyVault) | Документы Microsoft

Удаляет секрет в хранилище ключей.

В этой статье

Синтаксис

  Remove-Az  Ключ  Хранилище  Секрет
      [-VaultName] 
      [-Name] 
      [-Сила]
      [-Пройти через]
      [-InRemovedState]
      [-DefaultProfile ]
      [-Что, если]
      [-Подтверждать]
      [<Общие параметры>]     
  Remove-Az  Ключ  Хранилище  Секрет
      [-InputObject] 
      [-Сила]
      [-Пройти через]
      [-InRemovedState]
      [-DefaultProfile ]
      [-Что, если]
      [-Подтверждать]
      [<Общие параметры>]     

Описание

Командлет Remove-AzKeyVaultSecret удаляет секрет в хранилище ключей. Если секрет был случайно удален, секрет может быть восстановлен с помощью Undo-AzKeyVaultSecretRemoval пользователем со специальными разрешениями на «восстановление». Этот командлет имеет высокое значение для свойства ConfirmImpact .

Примеры

Пример 1. Удаление секрета из хранилища ключей

  PS C: \> Remove-AzKeyVaultSecret -VaultName 'Contoso' -Name 'FinanceSecret' -PassThru

Имя хранилища: Contoso
Имя: FinanceSecret
Версия: f622abc7b1394092812f1eb0f85dc91c
Id: https: // contoso.vault.azure.net:443/secrets/financesecret/f622abc7b1394092812f1eb0f85dc91c
Дата удаления: 25.05.2018 16:45:34
Запланированная дата чистки: 23.08.2018 16:45:34
Включено: True
Срок действия истекает:
Не раньше, чем           :
Создано: 19.04.2018 17:56:02
Обновлено: 26.04.2018 19:48:40
Тип содержимого         :
Теги:  

Эта команда удаляет секрет с именем FinanceSecret из хранилища ключей с именем Contoso. ‘

Пример 2: Удаление секрета из хранилища ключей без подтверждения пользователя

  PS C: \> Remove-AzKeyVaultSecret -VaultName 'Contoso' -Name 'FinanceSecret' -PassThru -Force

Имя хранилища: Contoso
Имя: FinanceSecret
Версия: f622abc7b1394092812f1eb0f85dc91c
Id: https: // contoso.vault.azure.net:443/secrets/financesecret/f622abc7b1394092812f1eb0f85dc91c
Дата удаления: 25.05.2018 16:45:34
Запланированная дата чистки: 23.08.2018 16:45:34
Включено: True
Срок действия истекает:
Не раньше, чем           :
Создано: 19.04.2018 17:56:02
Обновлено: 26.04.2018 19:48:40
Тип содержимого         :
Теги:  

Эта команда удаляет секрет с именем FinanceSecret из хранилища ключей с именем Contoso. В команде указаны параметры Force и Confirm , поэтому командлет не запрашивает подтверждения.

Пример 3: Удалить удаленный секрет из хранилища ключей навсегда

  PS C: \> Remove-AzKeyVaultSecret -VaultName 'Contoso' -Name 'FinanceSecret' -InRemovedState  

Эта команда предварительно удаляет секрет с именем FinanceSecret из хранилища ключей с именем Contoso навсегда. Для выполнения этого командлета требуется разрешение на «очистку», которое должно быть заранее явно предоставлено пользователю для этого хранилища ключей.

Параметры

-Подтвердить

Запрашивает подтверждение перед запуском командлета.

Тип: SwitchParameter
Псевдонимы: cf
Позиция: Именованный
Значение по умолчанию: False
Принять ввод конвейера: False
Принимать подстановочные знаки: Ложь

-DefaultProfile

Учетные данные, учетная запись, клиент и подписка, используемые для связи с лазурным

. ввод конвейера:
Тип: Microsoft.Azure.Commands.Common.Authentication.Abstractions.Core.IAzureContextContainer
Псевдонимы: AzContext, AzureRmContext, AzureCredential
Позиция: Именованный
Значение по умолчанию: Принять
False
Принимать подстановочные знаки: False

-Force

Принудительно запускает команду без запроса подтверждения пользователя.

Тип: SwitchParameter
Позиция: Именованный
Значение по умолчанию: Нет
Принять ввод конвейера: Ложь
Принять подстановочные знаки: Ложь

-InputObject

Секретный объект Key Vault

Тип: Microsoft.Azure.Commands.KeyVault.Models.PSKeyVaultSecretIdentityItem
Позиция: 0
Значение по умолчанию: Нет
Принять ввод конвейера: True
Принимать подстановочные знаки: Ложь

-InRemovedState

Если присутствует, навсегда удаляет ранее удаленный секрет.

Тип: SwitchParameter
Позиция: Именованный
Значение по умолчанию: Нет
Принять ввод конвейера: False
Принять подстановочные знаки: False

-Имя

Задает имя секрета. Этот командлет создает полное доменное имя (FQDN) секрета на основе имени, указанного в этом параметре, имени хранилища ключей и вашей текущей среды.

Тип: Строка
Псевдонимы: SecretName
Позиция: 1
Значение по умолчанию: Нет
Принять ввод конвейера: Ложь
Принимать подстановочные знаки: False

-PassThru

Указывает, что этот командлет возвращает Microsoft.Azure.Commands.KeyVault.Объект Models.Secret . По умолчанию этот командлет не генерирует никаких выходных данных.

Тип: SwitchParameter
Позиция: Именованный
Значение по умолчанию: Нет
Принять ввод конвейера: Ложь
Принять подстановочные знаки: Ложь

-VaultName

Задает имя хранилища ключей, которому принадлежит секрет.Этот командлет создает полное доменное имя хранилища ключей на основе имени, указанного в этом параметре, и вашей текущей среды.

Тип: Строка
Позиция: 0
Значение по умолчанию: Нет
Принять ввод конвейера: False
Принять подстановочные знаки: False

-WhatIf

Показывает, что произойдет, если командлет будет запущен.Командлет не запущен. Показывает, что произойдет, если командлет будет запущен. Командлет не запущен.

Тип: SwitchParameter
Псевдонимы: wi
Позиция: Именованный
Значение по умолчанию: False
Принять ввод конвейера: False
Принимать подстановочные знаки: Ложь

Входы

Microsoft.Azure.Commands.KeyVault.Models.PSKeyVaultSecretIdentityItem

Выходы

PSDeletedKeyVaultSecret

gpg — Как я могу удалить кодовую фразу из закрытого ключа gpg2?

gpg — Как я могу удалить кодовую фразу из закрытого ключа gpg2? — Обмен стеков Unix и Linux
Сеть обмена стеков

Сеть Stack Exchange состоит из 176 сообществ вопросов и ответов, включая Stack Overflow, крупнейшее и пользующееся наибольшим доверием онлайн-сообщество, где разработчики могут учиться, делиться своими знаниями и строить свою карьеру.

Посетить Stack Exchange
  1. 0
  2. +0
  3. Авторизоваться Зарегистрироваться

Unix & Linux Stack Exchange — это сайт вопросов и ответов для пользователей Linux, FreeBSD и других Un * x-подобных операционных систем. Регистрация займет всего минуту.

Зарегистрируйтесь, чтобы присоединиться к этому сообществу

Кто угодно может задать вопрос

Кто угодно может ответить

Лучшие ответы голосуются и поднимаются наверх

Спросил

Просмотрено 17к раз

Да, я знаю, что это шаг к менее безопасной системе, но текущие настройки делают его разумным (ключ не важен, но подпись должна быть автоматизирована).

Результаты Google говорят это:

  1. Список ключей с gpg --list-keys
  2. Отредактируйте ключ с помощью gpg --edit-key C0DEEBED ....
  3. Запускается консоль командной строки gpg, там команда passwd изменяет парольную фразу
  4. Если ввести пароль дважды (в моем случае простой ввод), ключ будет изменен.

Однако это не работает, потому что gpg2 просто не позволяет использовать пустой пароль.

Что делать?

Создан 18 июл.

Питер

7,24 золотых знаков4545 серебряных знаков7474 бронзовых знака

5

С pinentry-0. 8.1 gnupg2-2.0.22 ) на Centos 7 Мне удалось удалить парольную фразу из секретного ключа, не указав новый пароль; pinentry хныкал и предупреждал о пустом пароле, но и консоль, и программа GTK pinentry отображали запрос «Все равно возьми этот», что привело к появлению секретного ключа без пароля.

С другой стороны, эта попытка не удалась, поскольку затем импортированный секретный ключ помечен как непригодный для использования:

  gpg --export-options export-reset-subkey-passwd --export-secret-subkeys> x
  
  • фильтр узел требуется . Он определяет правило фильтрации.Чтобы удалить все секретные ключи, находящиеся на сервере, используйте пустой фильтр. узел ( ). Тип данных: комплексный .
  • Ключевой узел дополнительный . Чтобы удалить секретный ключ, укажите его значение или идентификатор для этого узла. Тип данных: строка .

Примечания

Вы можете удалить несколько секретных ключей за один запрос. Для этого добавьте столько параметров key к filter , сколько секретных ключей вы хотите удалить.

 <фильтр>
    ... 
...
    ... 

 

Структура пакета ответа

Узел delete ответного XML-пакета имеет следующую структуру:

  • Требуется узел результата . Оборачивает полученный ответ с сервера. Тип данных: resultType ( common.xsd ).
  • Узел статуса требуется .Он указывает статус выполнения операции удалить . Тип данных: строка . Допустимые значения: ок | ошибка.
  • Узел с кодом ошибки — это , необязательный . Он возвращает код ошибки, если удалить операция не удалась. Тип данных: целое число .
  • Узел errtext — это , необязательный . Он возвращает сообщение об ошибке, если операция удаления завершается ошибкой. Тип данных: строка .
  • Ключевой узел является необязательным . Он содержит идентификатор секретного ключа, если операция прошла успешно. Тип данных: строка.

Образцы

Удаление секретного ключа

Следующий запрос удаляет секретный ключ 0a45eb21-a9e7-4051-9ae8-a8f5d996874e :

 <пакет>
   
      <удалить>
         <фильтр>
             0a45eb21-a9e7-4051-9ae8-a8f5d996874e 
         
      
   

 

Ответ:

 
<версия пакета = "1.6.9.1">
  
    <удалить>
      <результат>
         нормально 
         4 
      
    
  

 

Если секретный ключ не был найден на сервере, ответ будет иметь следующий вид:

 
<версия пакета = "1.6.9.1">
  
    <удалить>
      <результат>
         ошибка 
         1013 
         секретный ключ не существует 
         0a45eb21-a9e7-4051-9ae8-a8f5d996874e 
      
    
  

 

Удаление нескольких секретных ключей

Следующий запрос удаляет секретные ключи с ID 1 и 2:

 <пакет>
   
      <удалить>
         <фильтр>
             1 
             2 
         
      
   

 

Ответ:

  0 "encoding =" UTF-8 "?>
<версия пакета = "1.6.9.1">
  
    <удалить>
      <результат>
         нормально 
         1 
      
      <результат>
         нормально 
         2 
      
    
  

 

Удаление всех секретных ключей

Следующий запрос удаляет все секретные ключи, расположенные на сервере:

 <пакет>
   
      <удалить>
         <фильтр>
         
      
   

 

Ответ:

 
<версия пакета = "1.6.9.1">
  
    <удалить>
      <результат>
         нормально 
         1 
      
      <результат>
         нормально 
         2 
      
    
  

 

Изменение или удаление обычной пары ключей

Регистр XRP позволяет учетной записи авторизовать вторичную пару ключей, называемую парой обычных ключей , для подписания будущих транзакций.Если обычная пара ключей вашей учетной записи скомпрометирована или вы хотите периодически менять обычную пару ключей в качестве меры безопасности, используйте транзакцию SetRegularKey, чтобы удалить или изменить обычную пару ключей для вашей учетной записи.

Для получения дополнительной информации о парах главного и обычного ключей см. Криптографические ключи.

Изменение обычной пары ключей

Шаги по изменению существующей пары обычных ключей почти такие же, как шаги по назначению обычного ключа в первый раз.Вы генерируете пару ключей и назначаете ее своей учетной записи как обычную пару ключей, перезаписывая существующую обычную пару ключей. Однако основное отличие состоит в том, что при изменении существующей пары обычных ключей вы можете использовать существующий обычный закрытый ключ для замены самого себя, тогда как при назначении пары обычных ключей учетной записи в первый раз вы должны использовать основной закрытый ключ учетной записи. ключ для этого.

Для получения дополнительной информации о парах главного и обычного ключей см. Криптографические ключи.

Удаление обычной пары ключей

Если вы хотите удалить скомпрометированную пару обычных ключей из своей учетной записи, вам не нужно сначала создавать пару ключей.Используйте транзакцию SetRegularKey, опуская поле RegularKey . Обратите внимание, что транзакция завершится неудачно, если у вас нет другого способа подписи для вашей учетной записи, который в настоящее время включен (либо пара главных ключей, либо список подписавших).

При удалении обычной пары ключей из вашей учетной записи транзакция SetRegularKey требует подписи главным закрытым ключом вашей учетной записи (секретным) или существующей парой обычных ключей. Передача вашего основного или обычного закрытого ключа опасна, поэтому мы выполним эту транзакцию в два этапа, чтобы подписание транзакции было отделено от отправки транзакции в сеть.

Подпишите транзакцию

Самый безопасный способ подписать транзакцию — сделать это локально с помощью библиотеки подписи, такой как RippleAPI. В качестве альтернативы вы можете подписать транзакцию с помощью метода подписи, но это должно быть сделано через надежное и зашифрованное соединение или через локальное соединение и только с сервером, который вы контролируете.

Во всех случаях запишите хеш-идентификатор подписанной транзакции на будущее.

Заполните поля запроса следующими значениями:

Поле запроса Значение
Счет Адрес вашей учетной записи.
секрет master_key , master_seed или master_seed_hex (главный или обычный закрытый ключ) для вашей учетной записи.
Формат запроса

Пример формата запроса:

  {
  "команда": "знак",
  "tx_json": {
      "TransactionType": "SetRegularKey",
      «Учетная запись»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8»
      },
   "секрет": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb"
}
  
  {
    "метод": "знак",
    "params": [
        {
        "секрет": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb",
        "tx_json": {
            "TransactionType": "SetRegularKey",
            «Учетная запись»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8»
            }
        }
    ]
}
  
  # Синтаксис: секрет подписи tx_json
волнистый знак snoPBrXtMeMyMHUVTgbuqAfg1SUTb '{"TransactionType": "SetRegularKey", "Account": "rUAi7pipxGpYfPNg3LtPcf2ApiS8aw9A93"}'
  
Формат ответа

Пример успешного ответа:

  {
  "результат": {
    "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } }, "status": "успех", "тип": "ответ" }
  {
    "результат": {
        "status": "успех",
        "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } } }
  {
   "результат" : {
      "status": "успех",
      "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, г. «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } } }

Ответ на команду sign содержит значение tx_blob , как показано выше.Ответ автономной подписи содержит значение signedTransaction . Оба являются подписанными двоичными представлениями (большими двоичными объектами) транзакции.

Затем используйте команду submit для передачи большого двоичного объекта транзакции ( tx_blob или signedTransaction ) в сеть.

Отправьте транзакцию

Возьмите значение signedTransaction из автономного подписывающего ответа или значение tx_blob из ответа на команду sign и отправьте его как значение tx_blob , используя метод отправки.

Формат запроса

Пример формата запроса:

  {
    "команда": "отправить",
    "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E" }
  {
   "метод": "отправить",
   "params": [
      {
         "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E" } ] }
  # Синтаксис: отправить tx_blob
рифленая представить 1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E
Формат ответа

Пример успешного ответа:

  {
  "результат": {
    "engine_result": "tesSUCCESS",
    "engine_result_code": 0,
    "engine_result_message": "Транзакция была применена. Только окончательный вариант в проверенной бухгалтерской книге. ",
    "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } }, "status": "успех", "тип": "ответ" }
  {
    "результат": {
        "engine_result": "tesSUCCESS",
        "engine_result_code": 0,
        "engine_result_message": "Транзакция была применена.Только окончательный вариант в проверенной бухгалтерской книге. ",
        "status": "успех",
        "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } } }
  {
   "результат" : {
      "engine_result": "tesSUCCESS",
      "engine_result_code": 0,
      "engine_result_message": "Транзакция была применена.Только окончательный вариант в проверенной бухгалтерской книге. ",
      "status": "успех",
      "Tx_blob": "1200052280000000240000000268400000000000000A73210330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD02074473045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39E40F53D4CCECBB59701D6D1E838114623B8DA4A0BFB3B61AB423391A182DC693DC159E", "tx_json": { «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8», «Комиссия»: «10», «Флаги»: 2147483648, г. «Последовательность»: 2, "SigningPubKey": "0330E7FC9D56BB25D6893BA3F317AE5BCF33B3291BD63DB32654A313222F7FD020", "TransactionType": "SetRegularKey", «TxnSignature»: «3045022100CAB9A6F84026D57B05760D5E2395FB7BE86BF39F10DC6E2E69DC

EE0970B022058EC36A8EF9EE65F5D0D8CAC4E88C8C19FEF39EC6DB53D59CC» "хеш": "59BCAB8E5B9D4597D6A7BFF22F6C555D0F41420599A2E126035B6AF19261AD97" } } }

Способ проверить успешное удаление обычной пары ключей - подтвердить, что вы не можете отправить транзакцию с использованием удаленного обычного закрытого ключа.

Вот пример ответа об ошибке для транзакции AccountSet, подписанной с использованием обычного закрытого ключа, удаленного транзакцией SetRegularKey , описанной выше.

Формат ответа

Пример успешного ответа:

  {
  "error": "badSecret",
  "error_code": 41,
  "error_message": "Секрет не соответствует аккаунту.",
  "запрос": {
    "команда": "отправить",
    "секрет": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb",
    "tx_json": {
      «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8»,
      "TransactionType": "AccountSet"
    }
  },
  "статус": "ошибка",
  "тип": "ответ"
}
  
  {
    "результат": {
        "error": "badSecret",
        "error_code": 41,
        "error_message": "Секрет не соответствует аккаунту.",
        "запрос": {
            "команда": "отправить",
            "секрет": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb",
            "tx_json": {
                «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8»,
                "TransactionType": "AccountSet"
            }
        },
        "статус": "ошибка"
    }
}
  
  {
   "результат" : {
      "error": "badSecret",
      "error_code": 41,
      "error_message": "Секрет не соответствует аккаунту.",
      "запрос" : {
         "команда": "отправить",
         "секрет": "snoPBrXtMeMyMHUVTgbuqAfg1SUTb",
         "tx_json": {
            «Аккаунт»: «r9xQZdFGwbwTB3g9ncKByWZ3du6Skm7gQ8»,
            "TransactionType": "AccountSet"
         }
      },
      "статус": "ошибка"
   }
}
  

В некоторых случаях вы даже можете использовать транзакцию SetRegularKey для отправки транзакции сброса ключа без оплаты стоимости транзакции.Очередь транзакций XRP Ledger отдает приоритет транзакциям сброса ключа по сравнению с другими транзакциями, даже если номинальная стоимость транзакции транзакции сброса ключа равна нулю.

  • Концепции:
  • Уроки:
  • Артикул:

mozilla / sops: простой и гибкий инструмент для управления секретами

sops - редактор зашифрованных файлов, поддерживающий YAML, JSON, ENV, INI и BINARY. форматирует и шифрует с помощью AWS KMS, GCP KMS, Azure Key Vault, возраста и PGP.(демо)


1.1 Стабильная версия

Бинарные файлы и пакеты последней стабильной версии доступны по адресу https://github.com/mozilla/sops/releases.

1.2 Ветка разработки

Для любителей приключений доступны нестабильные функции в ветке разработки, которую вы можете установить из исходного кода:

 $ go get -u go.mozilla.org/sops/v3/cmd/sops
$ cd $ GOPATH / src / go.mozilla.org / sops /
$ git checkout разработка
$ make install 

(требуется Go> = 1.13)

Если у вас не установлен Go, настройте его с помощью:

 $ {apt, yum, brew} установить golang
$ echo 'экспорт GOPATH = ~ / go' >> ~ / .bashrc
$ source ~ / .bashrc
$ mkdir $ GOPATH 

Или любой другой вариант вышеперечисленного, подходящий для вашей системы и оболочки.

Чтобы использовать sops в качестве библиотеки, взгляните на пакет дешифрования.

Что случилось с Python Sops? Мы переписали Sops на Go, чтобы решить ряд проблемы с развертыванием, но ветка Python все еще существует под python-sops .Мы будет поддерживать его в течение некоторого времени, и вы все еще можете pip install sops , но мы настоятельно рекомендуем вам использовать вместо этого версию Go.

Для быстрой презентации Sops ознакомьтесь с этим учебным пособием на Youtube:

Если вы используете AWS KMS, создайте один или несколько главных ключей в консоли IAM. и экспортируйте их через запятую в переменную env SOPS_KMS_ARN . это рекомендуется использовать как минимум два мастер-ключа в разных регионах.

 экспорт SOPS_KMS_ARN = "arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e, arn: aws: kms: ap-southeast-1: 656532927350: key / 9006fa6a -4c14-930e-a2dfb916de1d "

Ваши учетные данные AWS должны присутствовать в ~ /.aws / учетные данные . sops использует aws-sdk-go.

 $ cat ~ / .aws / учетные данные
[По умолчанию]
aws_access_key_id = AKI .....
aws_secret_access_key = mw ......
 

Если вы хотите использовать PGP, экспортируйте отпечатки открытых ключей, запятую. разделены, в переменной env SOPS_PGP_FP .

 экспорт SOPS_PGP_FP = "85D77543B3D624B63CEA9E6DBC17301B491B3F21, E60892BB9BD89A69F759A1A0A3D652173B763E8F" 

Примечание: вы можете использовать PGP и KMS одновременно.

Затем просто вызовите sops с указанием пути к файлу в качестве аргумента.Он справится с прозрачное шифрование / дешифрование и открытие файла с открытым текстом в редакторе

 $ sops mynewtestfile.yaml
mynewtestfile.yaml не существует, создает его.
пожалуйста, подождите, пока ключ шифрования будет сгенерирован и сохранен в безопасном режиме
файл записан в mynewtestfile.yaml 

Редактирование будет происходить в любом значении $ EDITOR или, если оно не установлено, в vim. Имейте в виду, что sops будет ждать выхода редактора, а затем попытается повторно зашифровать файл.Некоторые редакторы графического интерфейса (атом, возвышенный) порождают дочерний процесс, а затем выходят из него. немедленно. Обычно у них есть возможность дождаться, пока откроется главное окно редактора. закрыто перед выходом. См. # 127 для больше информации.

Полученный зашифрованный файл выглядит так:

 myapp1: ENC [AES256_GCM, data: Tr7o =, iv: 1 =, aad: No =, tag: k =]
приложение2:
    db:
        пользователь: ENC [AES256_GCM, данные: CwE4O1s =, iv: 2k =, aad: o =, tag: w ==]
        пароль: ENC [AES256_GCM, data: p673w ==, iv: YY =, aad: UQ =, tag: A =]
    # закрытый ключ для секретных операций в app2
    ключ: | -
        ENC [AES256_GCM, data: Ea3kL5O5U8 =, iv: DM =, aad: FKA =, tag: EA ==]
массив:
- ENC [AES256_GCM, data: v8jQ =, iv: HBE =, aad: 21c =, tag: gA ==]
- ENC [AES256_GCM, data: X10 =, iv: o8 =, aad: CQ =, tag: Hw ==]
- ENC [AES256_GCM, data: KN =, iv: 160 =, aad: fI4 =, tag: tNw ==]
подачки:
    км:
    - created_at: 1441570389.775376
        enc: CiC .... Pm1Hm
        arn: arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e
    - created_at: 1441570391.925734
        enc: Ci ... awNx
        arn: arn: aws: kms: ap-southeast-1: 656532927350: key / 9006a8aa-0fa6-4c14-930e-a2dfb916de1d
    pgp:
    - fp: 85D77543B3D624B63CEA9E6DBC17301B491B3F21
        created_at: 1441570391.930042
        enc: |
            ----- НАЧАТЬ СООБЩЕНИЕ PGP -----
            hQIMA0t4uZHfl9qgAQ // UvGAwGePyHuf2 / zayWcloGaDs0MzI + zw6CmXvMRNPUsA
                            ... = oJgS
            ----- КОНЕЦ СООБЩЕНИЯ PGP ----- 

Копия ключа шифрования / дешифрования надежно хранится в каждом KMS и PGP. блокировать. Пока можно использовать один из методов KMS или PGP, вы сможете для доступа к вашим данным.

Чтобы расшифровать файл в стиле cat , используйте флаг -d :

 $ sops -d mynewtestfile.yaml 

sops зашифрованных файлов содержат необходимую информацию для расшифровки их содержимого. Все, что нужно пользователю sops , - это действительные учетные данные AWS и необходимые разрешения для ключей KMS.

Учитывая это, единственная команда, которая нужна пользователю sops :

<файл> будет открыт, расшифрован, передан в текстовый редактор (по умолчанию vim), зашифрованный в случае изменения и сохраненный обратно в исходное местоположение. Все из этого шаги, помимо самого редактирования, прозрачны для пользователя.

2.1 Тест с ключом dev PGP

Если вы хотите протестировать sops , не выполняя кучу настроек, вы можете использовать файлы примеров и ключ pgp, предоставленные с репозиторием:

 $ git clone https: // github.com / mozilla / sops.git
$ cd sops
$ gpg --import pgp / sops_functional_tests_key.asc
$ sops example.yaml
 

Этот последний шаг расшифрует example.yaml , используя тестовый закрытый ключ.

2.2 Шифрование с использованием возраста

age - это простой, современный и безопасный инструмент для шифрование файлов. По возможности рекомендуется использовать возраст старше PGP.

Вы можете зашифровать файл для одного или нескольких получателей возраста (через запятую), используя параметр --age или переменная среды SOPS_AGE_RECIPIENTS :

 $ sops --age age1yt3tfqlfrwdwx0z0ynwplcr6qxcxfaqycuprpmy89nr83ltx74tqdpszlw test.yaml> test.enc.yaml 

При расшифровке файла с соответствующим идентификатором sops будет искать имя текстового файла keys.txt , расположенного в подкаталоге sops вашего пользователя каталог конфигурации. В Linux это будет $ XDG_CONFIG_HOME / sops / keys.txt . В macOS это будет $ HOME / Library / Application Support / sops / keys.txt . На Windows это будет % AppData% \ sops \ keys.txt . Вы можете указать местоположение этого файла вручную, установив переменную среды SOPS_AGE_KEY_FILE .

Содержимое этого ключевого файла должно быть списком возрастных идентификаторов X25519, один на строку. Строки, начинающиеся с # , считаются комментариями и игнорируются. Каждый Идентификационные данные будут проверяться последовательно до тех пор, пока не удастся расшифровать данные.

Шифрование SSH-ключами по возрасту sops пока не поддерживается.

2.3 Шифрование с использованием GCP KMS

GCP KMS использует учетные данные приложения по умолчанию. Если вы уже вошли в систему с помощью

, вы можете включить учетные данные приложения по умолчанию с помощью sdk:

 $ gcloud auth для входа в приложение по умолчанию
 

Для шифрования / дешифрования с помощью GCP KMS требуется KMS ResourceID.Вы можете использовать облачная консоль, получите ResourceID или создайте его с помощью gcloud. SDK:

 $ gcloud kms keyrings create sops --location global
$ gcloud kms keys create sops-key --location global --keyring sops --purpose encryption
Список ключей $ gcloud kms --location global --keyring sops

# Тебе следует увидеть
ИМЯ ЦЕЛЬ PRIMARY_STATE
проекты / мой-проект / местоположения / global / keyRings / sops / cryptoKeys / sops-key ENCRYPT_DECRYPT ENABLED 

Теперь вы можете зашифровать файл с помощью:

 $ sops --encrypt --gcp-kms projects / my-project / locations / global / keyRings / sops / cryptoKeys / sops-key test.yaml> test.enc.yaml
 

И расшифруйте его с помощью:

 $ sops --decrypt test.enc.yaml
 

2.4 Шифрование с использованием Azure Key Vault

Интеграция с хранилищем ключей Azure пытается использовать несколько методов проверки подлинности в этот заказ:

  1. Учетные данные клиента
  2. Сертификат клиента
  3. Имя пользователя Пароль
  4. MSI
  5. Проверка подлинности интерфейса командной строки Azure

Вы можете принудительно использовать определенный метод аутентификации через AZURE_AUTH_METHOD переменная среды, которая может быть одним из: clientcredentials, clientcertificate, usernamepassword, msi или cli (по умолчанию).

Например, вы можете использовать субъектов-служб со следующими переменными среды:

 AZURE_TENANT_ID
AZURE_CLIENT_ID
AZURE_CLIENT_SECRET 

Вы можете создать принципала службы, используя cli следующим образом:

 $ az ad sp create-for-rbac -n my-keyvault-sp

{
        "appId": "",
        "displayName": "my-keyvault-sp",
        "name": "http: // my-keyvault-sp",
        "пароль": "",
        "арендатор": "<идентификатор-арендатора>"
} 

AppId - это идентификатор клиента, а пароль - это секрет клиента.

Для шифрования / дешифрования с помощью Azure Key Vault требуется идентификатор ресурса для ключ. Это имеет следующий вид:

 https: // $ {VAULT_URL} / keys / $ {KEY_NAME} / $ {KEY_VERSION}
 

Чтобы создать Key Vault и назначить для него права участника-службы из командной строки:

 # Создайте группу ресурсов, если у вас ее нет:
$ az group create --name sops-rg --location westeurope
# Имена Key Vault глобально уникальны, поэтому создайте их:
$ keyvault_name = sops - $ (uuidgen | tr -d - | head -c 16)
# Создайте Vault, ключ и предоставьте доступ субъекту службы:
$ az keyvault create --name $ keyvault_name --resource-group sops-rg --location westeurope
$ az keyvault key create --name sops-key --vault-name $ keyvault_name --protection software --ops encrypt decrypt
$ az keyvault set-policy --name $ keyvault_name --resource-group sops-rg --spn $ AZURE_CLIENT_ID \
        --key-permissions зашифровать расшифровать
# Прочтите идентификатор ключа:
$ az keyvault key show --name sops-key --vault-name $ keyvault_name --query key.дитя

https://sops.vault.azure.net/keys/sops-key/some-string 

Теперь вы можете зашифровать файл с помощью:

 $ sops --encrypt --azure-kv https://sops.vault.azure.net/keys/sops-key/some-string test.yaml> test.enc.yaml
 

И расшифруйте его с помощью:

 $ sops --decrypt test.enc.yaml
 

2.5 Шифрование с использованием Hashicorp Vault

Мы предполагаем, что у вас есть запущенный экземпляр (или несколько) Vault и у вас есть к нему привилегированный доступ. Инструкции по развертыванию безопасного экземпляра Vault см. В официальной документации Hashicorp.

Чтобы легко развернуть Vault локально: (НЕ ДЕЛАЙТЕ ЭТО ДЛЯ ПРОИЗВОДСТВА !!!)

 $ docker run -d -p8200: 8200 хранилище: 1.2.0 сервер -dev -dev-root-token-id = toor 
 $ # Замените это адресом, на котором работает Vault.
$ экспорт VAULT_ADDR = http: //127.0.0.1: 8200

$ # это может быть необязательно, если вы ранее использовали `vault login` для производственного использования
$ export VAULT_TOKEN = toor

$ #, чтобы проверить, запущено ли Vault и правильно ли настроено
$ статус хранилища
Ключевое значение
--- -----
Тип уплотнения шамир
Инициализировано true
Запечатанный ложный
Всего акций 1
Порог 1
Версия 1.2.0
Имя кластера vault-cluster-618cc902
Идентификатор кластера e532e461-e8f0-1352-8a41-fc7c11096908
HA Enabled false

$ # Требуется включить транспортный движок, если это еще не сделано (предлагается создать транзитный движок специально для sops, в котором можно иметь несколько ключей с различными уровнями разрешений)
$ секреты хранилища enable -path = sops transit
Успех! Включен механизм секретов транзита по адресу: sops /

$ # Затем создайте один или несколько ключей
$ vault записать sops / keys / firstkey type = rsa-4096
Успех! Данные, записываемые в: sops / keys / firstkey

$ vault записать sops / keys / secondkey type = rsa-2048
Успех! Данные, записываемые в: sops / keys / secondkey

$ vault записать sops / keys / thirdkey type = chacha20-poly1305
Успех! Данные, записываемые в: sops / keys / thirdkey

$ sops --hc-vault-transit $ VAULT_ADDR / v1 / sops / keys / firstkey vault_example.yml

$ cat << EOF> .sops.yaml
creation_rules:
        - path_regex: \ .dev \ .yaml $
          hc_vault_transit_uri: "$ VAULT_ADDR / v1 / sops / keys / secondkey"
        - path_regex: \ .prod \ .yaml $
          hc_vault_transit_uri: "$ VAULT_ADDR / v1 / sops / keys / thirdkey"
EOF

$ sops --verbose -e prod / raw.yaml> prod / encrypted.yaml 

2.6 Добавление и удаление ключей

При создании новых файлов sops использует PGP, KMS и GCP KMS, определенные в аргументы командной строки --kms , --pgp , --gcp-kms или --azure-kv , или из переменные среды SOPS_KMS_ARN , SOPS_PGP_FP , SOPS_GCP_KMS_IDS , SOPS_AZURE_KEYVAULT_URLS .Эта информация хранится в файле под sops раздел, поэтому для расшифровки файлов не требуется параметры снова.

Мастер ключей PGP и KMS может быть добавлен и удален из файла sops в одном из три пути:

  1. Используя файл .sops.yaml и команду updatekeys .
  2. Используя флаги командной строки.
  3. Путем непосредственного редактирования файла.

Команда sops рекомендует подход updatekeys .

2.6.1
updatekeys команда

Команда updatekeys использует .sops.yaml файл конфигурации для обновления (добавления или удаления) соответствующих секретов в зашифрованный файл. Обратите внимание, что в приведенном ниже примере используется Блокируйте Scalar yaml construct, чтобы построить пространство разделенный список.

 creation_rules:
    - pgp:> -
        85D77543B3D624B63CEA9E6DBC17301B491B3F21,
        FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4 
 $ sops updatekeys test.enc.yaml 

Sops предложит вам внести изменения. Эта интерактивность может быть отключено поставкой флага -y .

2.6.2 Командная строка

Флаг командной строки --add-kms , --add-pgp , --add-gcp-kms , --add-azure-kv , --rm-kms , --rm-pgp , --rm-gcp-kms и --rm-azure-kv можно использовать для добавления и удалить ключи из файла. Эти флаги используют синтаксис, разделенный запятыми, как --kms , --pgp , --gcp-kms и --azure-kv аргументов при создании новых файлов.

Обратите внимание, что в этом режиме обязательно -r или --rotate . Без указания rotate игнорирует параметры --add- * . Используйте updatekeys , если хотите добавить ключ, не поворачивая ключ данных.

 # добавить в файл новый ключ pgp и повернуть ключ данных
$ sops -r -i --add-pgp 85D77543B3D624B63CEA9E6DBC17301B491B3F21 example.yaml

# удалить ключ pgp из файла и повернуть ключ данных
Пример $ sops -r -i --rm-pgp 85D77543B3D624B63CEA9E6DBC17301B491B3F21.yaml 
2.6.3 Прямое редактирование

В качестве альтернативы, вызов sops с флагом -s отобразит главные ключи при редактировании. Этот метод можно использовать для добавления или удаления ключей kms или pgp под раздел подносок. Вызов sops с флагом -i выполнит редактирование на месте вместо перенаправления вывода на stdout .

Например, чтобы добавить главный ключ KMS в файл, добавьте следующую запись, пока редактирование:

 сопок:
    км:
    - arn: arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e 

И аналогично, чтобы добавить мастер-ключ PGP, мы добавляем его отпечаток:

 сопок:
    pgp:
    - FP: 85D77543B3D624B63CEA9E6DBC17301B491B3F21 

При сохранении файла sops обновит свои метаданные и зашифрует ключ данных. со только что добавленными мастер-ключами.Удаленные записи просто удаляются из файл.

При удалении ключей рекомендуется повернуть ключ данных с помощью -r , в противном случае владельцы удаленного ключа могут добавить доступ к ключу данных в мимо.

2.7 Профили KMS AWS

Если вы хотите использовать определенный профиль, вы можете сделать это с помощью aws_profile:

 сопок:
    км:
    - arn: arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e
        aws_profile: foo 

Если профиль AWS не установлен, будут использоваться учетные данные по умолчанию.

Аналогичным образом флаг --aws-profile можно установить в командной строке с помощью любой из команд KMS.

2.8 Принятие ролей и использование KMS в различных учетных записях AWS

SOPS может использовать KMS в нескольких учетных записях AWS, принимая роли в каждая учетная запись. Возможность брать на себя роли - отличная особенность AWS, которая позволяет администраторов для установления доверительных отношений между учетными записями, обычно из от самого безопасного аккаунта к наименее защищенному. В нашем случае мы используем роли чтобы указать, что пользователю основной учетной записи AWS разрешено использовать KMS мастер-ключи в разработке и тестировании учетных записей AWS.Использование ролей, один файл могут быть зашифрованы ключами KMS в нескольких учетных записях, что повышает надежность и простота использования.

Вы можете использовать ключи в различных учетных записях, привязав каждый главный ключ KMS к роли, которая пользователю разрешено предполагать в каждой учетной записи. Роли IAM документация содержит полную информацию о том, как это нужно настроить на стороне AWS.

С точки зрения sops нужно только указать роль KMS-ключа должен принимать вместе со своим ARN следующим образом:

 сопок:
    км:
    - arn: arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e
        роль: arn: aws: iam :: 927034868273: роль / sops-dev-xyz 

Роль должна иметь разрешение на вызов шифрования и дешифрования с помощью KMS.Пример политика показана ниже.

 {
  «Сид»: «Разрешить использование ключа»,
  «Эффект»: «Разрешить»,
  "Действие": [
        "кмс: шифрование",
        "кмс: расшифровать",
        "кмс: ReEncrypt *",
        "kms: GenerateDataKey *",
        "кмс: DescribeKey"
  ],
  "Ресурс": "*",
  "Главный": {
        «AWS»: [
          "arn: aws: iam :: 927034868273: role / sops-dev-xyz"
        ]
  }
} 

Вы можете указать роль в флаге --kms и переменной SOPS_KMS_ARN , добавление его к ARN главного ключа, разделенное знаком + :

  + 
arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500 + arn: aws: iam :: 927034868273: роль / sops-dev-xyz
 

2.9 Контекст шифрования AWS KMS

SOPS может использовать политику ключей AWS KMS и контекст шифрования. для уточнения управления доступом для данного главного ключа KMS.

При создании нового файла вы можете указать контекст шифрования в --encryption-context флаг разделенным запятыми списком пар ключ-значение:

 $ sops --encryption-context Среда: производство, роль: веб-сервер test.dev.yaml 

Формат строки контекста шифрования: : , : ,...

Контекст шифрования будет храниться в метаданных файла и при расшифровке указывать не нужно.

Контексты шифрования могут использоваться в сочетании с ключевыми политиками KMS для определения роли, которые могут получить доступ только к заданному контексту. Пример политики показан ниже:

 {
  «Эффект»: «Разрешить»,
  "Главный": {
    "AWS": "arn: aws: iam :: 111122223333: role / RoleForExampleApp"
  },
  «Действие»: «кмс: Расшифровать»,
  "Ресурс": "*",
  "Условие": {
    "StringEquals": {
      "kms: EncryptionContext: AppName": "ExampleApp",
      "kms: EncryptionContext: FilePath": "/ var / opt / secrets /"
    }
  }
} 

2.10 ротации клавиш

Рекомендуется регулярно обновлять ключ данных. sops поддерживает ключ вращение с помощью флага -r . Вызов его в существующем файле приводит к тому, что sops повторно зашифровать файл с новым ключом данных, который затем зашифрован с помощью различных Главные ключи KMS и PGP, определенные в файле.

2.11 Использование .sops.yaml conf для выбора KMS / PGP для новых файлов

Часто бывает утомительно указывать параметры --kms --gcp-kms и --pgp для создания всех новых файлов.Если ваши секреты хранятся в определенном каталоге, например Репозиторий git , вы можете создать файл конфигурации .sops.yaml в корне каталог, чтобы определить, какие ключи используются для какого имени файла.

Возьмем пример:

  • файл с именем something.dev.yaml должен использовать один набор KMS A
  • файл с именем something.prod.yaml должен использовать другой набор KMS B
  • другие файлы используют третий набор KMS C
  • все живут под mysecretrepo / что-то.{dev, prod, gcp} .yaml

При таких обстоятельствах файл, размещенный по адресу mysecretrepo / .sops.yaml может управлять тремя наборами конфигураций для трех типов файлов:

 # правила создания оцениваются последовательно, первое совпадение побеждает
creation_rules:
        # при создании файла по шаблону * .dev.yaml,
        # Используется набор KMS A
        - path_regex: \ .dev \ .yaml $
          kms: 'arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500, arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e -b86c-57201e06f31e + arn: aws: iam :: 361527076523: role / hiera-sops-prod '
          pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4'

        # файлы prod используют набор KMS B в PROD IAM
        - path_regex: \.prod \ .yaml $
          kms: 'arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e-b86c-57201e06f31e + arn: aws: iam :: 361527076523: role / hiera-sops-prod, arn: aws: kms: eu-central-1: 361527076523: key / cb1fab90-8d17-42a1-a9d8-334968904f94 + arn: aws: iam :: 361527076523: role / hiera-sops-prod '
          pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4'
          hc_vault_uris: "http: // localhost: 8200 / v1 / sops / keys / thirdkey"

        # файлов gcp с использованием GCP KMS
        - path_regex: \ .gcp \ .yaml $
          gcp_kms: ​​проекты / mygcproject / location / global / keyRings / mykeyring / cryptoKeys / thekey

        # Наконец, если приведенные выше правила не совпадают, это
        # catchall, который зашифрует файл с помощью набора KMS C
        # Отсутствие path_regex означает, что он будет соответствовать всему
        - kms: 'arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500, arn: aws: kms: us-west-2: 142069644989: key / 846cfb17-373d- 49b9-8baf-f36b04512e47, arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e-b86c-57201e06f31e '
          pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' 

При создании любого файла под mysecretrepo , будь то в корне или под подкаталог, sops будет рекурсивно искать .sops.yaml файл. Если один найдено, имя создаваемого файла сравнивается с именем файла регулярные выражения файла конфигурации. Выбирается первое совпадающее регулярное выражение, а его ключи KMS и PGP используются для шифрования файла. Следует отметить, что поиск .sops.yaml из рабочего каталога (CWD) вместо каталог файла шифрования (см. проблему 242).

path_regex проверяет полный путь к файлу шифрования. Вот еще один пример:

  • файлов, расположенных в каталоге development , должны использовать один набор KMS A
  • файлов, расположенных в каталоге production , должны использовать другой набор KMS B
  • другие файлы используют третий набор KMS C
 create_rules:
    # при создании файла в стадии разработки,
    # Используется набор KMS A
    - path_regex:.*/разработка/.*
      kms: 'arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500, arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e -b86c-57201e06f31e + arn: aws: iam :: 361527076523: role / hiera-sops-prod '
      pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4'

    # файлы prod используют набор KMS B в PROD IAM
    - path_regex:. * / production /.*
      kms: 'arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e-b86c-57201e06f31e + arn: aws: iam :: 361527076523: role / hiera-sops-prod, arn: aws: kms: eu-central-1: 361527076523: key / cb1fab90-8d17-42a1-a9d8-334968904f94 + arn: aws: iam :: 361527076523: role / hiera-sops-prod '
      pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4'

    # другие файлы используют набор KMS C
    - kms: 'arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500, arn: aws: kms: us-west-2: 142069644989: key / 846cfb17-373d- 49b9-8baf-f36b04512e47, arn: aws: kms: us-west-2: 361527076523: key / 5052f06a-5d3f-489e-b86c-57201e06f31e '
      pgp: 'FBC7B9E2A4F9289AC0C1D4843D16CEE4A27381B4' 

Создать новый файл с правильными ключами теперь так же просто, как

 $ sops <новый файл>.prod.yaml 

Обратите внимание, что файл конфигурации игнорируется, если параметры KMS или PGP заданы. передается в командной строке sops или в переменных среды.

2.12 Укажите другой исполняемый файл GPG

sops проверяет переменную среды SOPS_GPG_EXEC . Если указано, он попытается использовать установленный там исполняемый файл вместо установленного по умолчанию из г / г .

Пример: поместите следующее в ваш ~ / .bashrc

 SOPS_GPG_EXEC = 'your_gpg_client_wrapper' 

2.13 Укажите другой сервер ключей GPG

По умолчанию sops использует сервер ключей keys.openpgp.org для получения GPG. ключи, которых нет в локальном связке ключей. Это больше не настраивается. Вы можете узнать больше о том, почему, из этой статьи: SKS Keyserver Network Under Attack.

Пример: поместите следующее в ваш ~ / .bashrc

 SOPS_GPG_KEYSERVER = 'gpg.example.com' 

2.14 Ключевые группы

По умолчанию sops шифрует ключ данных для файла с каждым из главных ключей, таким образом, если доступен какой-либо из главных ключей, файл можно расшифровать.Однако иногда желательно потребовать доступ к нескольким мастер-ключам. чтобы расшифровать файлы. Этого можно добиться с помощью ключевых групп.

При использовании групп ключей в sops ключи данных разделяются на части, так что ключи из для расшифровки файла требуется несколько групп. sops использует Shamir's Secret Sharing чтобы разделить ключ данных таким образом, чтобы каждая группа ключей имела фрагмент, каждый ключ в группа ключей может расшифровать этот фрагмент и настраиваемое количество фрагментов (порог) необходимы для расшифровки и сборки полного ключа данных.При расшифровке файл с использованием нескольких групп ключей, sops проходит по группам ключей по порядку, а в каждая группа пытается восстановить фрагмент ключа данных, используя мастер-ключ из эта группа. После восстановления фрагмента sops переходит к следующей группе, пока не будет восстановлено достаточно фрагментов для получения полного ключа данных.

По умолчанию порог установлен на количество групп ключей. Например, если у вас есть три ключевые группы, настроенные в вашем файле SOPS, и вы не переопределяете порог по умолчанию, тогда по одному мастер-ключу из каждой из трех групп будет потребуются для расшифровки файла.

Управление группами ключей осуществляется с помощью команды sops groups .

Например, вы можете добавить новую группу ключей с 3 ключами PGP и 3 ключами KMS в файл my_file.yaml :

 $ sops groups add --file my_file.yaml --pgp fingerprint1 --pgp fingerprint2 --pgp fingerprint3 --kms arn1 --kms arn2 --kms arn3 

Или вы можете удалить 1-ю группу (номер группы 0, так как группы имеют нулевой индекс) из my_file.yaml :

 $ sops groups delete --file my_file.yaml 0 

Группы ключей также можно указать в файле конфигурации .sops.yaml , вот так:

 creation_rules:
    - path_regex:. * keygroups. *
      key_groups:
      # Первая группа ключей
      - pgp:
        - отпечаток пальца1
        - отпечаток пальца2
        км:
        - arn: arn1
          роль: роль1
          контекст:
            foo: bar
        - arn: arn2
      # Вторая группа ключей
      - pgp:
        - отпечаток пальца3
        - отпечаток пальца4
        км:
        - arn: arn3
        - arn: arn4
      # Третья ключевая группа
      - pgp:
        - отпечаток пальца5 

Учитывая эту конфигурацию, мы можем создать новый зашифрованный файл, как обычно будет и, при желании, предоставить командную строку --shamir-secret-sharing-threshold флаг, если мы хотим переопределить порог по умолчанию. sops затем разделит данные ключ на три части (из числа групп ключей) и зашифровать каждый фрагмент с помощью мастер-ключи, найденные в каждой группе.

Например:

 $ sops --shamir-secret-sharing-threshold 2 example.json 

Кроме того, вы можете настроить порог Шамира для каждого правила создания в конфигурации .sops.yaml с порогом шамира :

 creation_rules:
    - path_regex:. * keygroups. *
      shamir_threshold: 2
      key_groups:
      # Первая группа ключей
      - pgp:
        - отпечаток пальца1
        - отпечаток пальца2
        км:
        - arn: arn1
          роль: роль1
          контекст:
            foo: bar
        - arn: arn2
      # Вторая группа ключей
      - pgp:
        - отпечаток пальца3
        - отпечаток пальца4
        км:
        - arn: arn3
        - arn: arn4
      # Третья ключевая группа
      - pgp:
        - отпечаток пальца5 

А затем запустите пример sops.json .

Порог ( shamir_threshold ) установлен на 2, поэтому для этой конфигурации потребуется мастер-ключи из двух из трех различных групп ключей для расшифровки файла. Затем вы можете расшифровать файл так же, как и любой другой файл SOPS:

2.15 Ключевая служба

Бывают ситуации, когда вы можете захотеть запустить sops на машине, которая не имеет прямого доступа к ключам шифрования, таким как ключи PGP. Ключ sops сервис позволяет перенаправить сокет, чтобы sops могли получить доступ к шифрованию ключи хранятся на удаленной машине.Это похоже на GPG Agent, но больше портативный.

SOPS использует подход клиент-сервер для шифрования и дешифрования данных. ключ. По умолчанию SOPS запускает локальную ключевую службу в процессе. SOPS использует ключ клиент службы для отправки запроса шифрования или дешифрования ключевой службе, которая затем выполняет операцию. Запросы отправляются с использованием gRPC и протокола. Буферы. Запросы содержат идентификатор ключа, который они должны выполнить. операция с открытым текстом или ключом зашифрованных данных. Запросы делают не содержать никаких криптографических ключей, открытых или закрытых.

ВНИМАНИЕ: соединение ключевой службы в настоящее время не использует никаких аутентификация или шифрование. Поэтому рекомендуется убедиться, что соединение аутентифицируется и шифруется другим способом, например через туннель SSH.

Всякий раз, когда мы пытаемся зашифровать или расшифровать ключ данных, SOPS попытается сделать это в первую очередь. с локальной службой ключей (если она не отключена), и если это не удается, она попробуйте все другие службы удаленного ключа, пока одна из них не увенчается успехом.

Вы можете запустить сервер службы ключей, запустив sops keyservice .

Вы можете указать ключевые службы, которые использует двоичный файл sops , с помощью --keyservice . Этот флаг может быть указан более одного раза, поэтому вы можете использовать несколько ключей Сервисы. Службу локального ключа можно отключить с помощью enable-local-keyservice = false .

Например, чтобы расшифровать файл с помощью службы локального ключа и ключа сервис выставлен на сокете unix, расположенном в / tmp / sops.носок , можно запустить:

 $ sops --keyservice unix: ///tmp/sops.sock -d file.yaml` 

И если вы хотите использовать только ключевую службу, доступную на сокете unix, расположенном в /tmp/sops.sock , а не в службе локальных ключей, вы можете запустить:

 $ sops --enable-local-keyservice = false --keyservice unix: ///tmp/sops.sock -d file.yaml 

2.16 Аудит

Иногда пользователи хотят иметь возможность узнать, к каким файлам и кто обращался, в окружающая среда, которую они контролируют.По этой причине SOPS может создавать журналы аудита для записывать действия с зашифрованными файлами. Если этот параметр включен, SOPS будет записывать в журнал запись. в предварительно настроенную базу данных PostgreSQL при расшифровке файла. Журнал включает метку времени, имя пользователя, от имени которого запущено SOPS, и файл, который был расшифровано.

Чтобы включить аудит, вы должны сначала создать базу данных и учетные данные используя схему из audit / schema.sql . Эта схема определяет таблицы, в которых хранятся события аудита, и роль с именем sops , которая имеет только разрешение на добавление записей в таблицы событий аудита.Пароль по умолчанию для роль сопсов составляет сопсов . Вам следует изменить этот пароль.

После создания базы данных вы должны указать SOPS, как подключиться к ней. Поскольку мы не хотим, чтобы пользователи SOPS могли контролировать аудит, аудит расположение файла конфигурации не может быть изменено и должно быть в /etc/sops/audit.yaml . Этот файл должен иметь строгие разрешения, такие как что только пользователь root может его изменить.

Например, чтобы включить аудит для базы данных PostgreSQL с именем sops работает на localhost, используя пользователя sops и пароль sops , / etc / sops / audit.yaml должен иметь следующее содержимое:

 бэкэндов:
    postgres:
        - connection_string: "postgres: // sops: sops @ localhost / sops? sslmode = verify-full" 

Дополнительную информацию о формате connection_string можно найти в Документы PostgreSQL.

Под записью карты postgres в приведенном выше YAML находится список, поэтому можно предоставить более одного бэкэнда, и SOPS будет регистрироваться во всех из них:

 бэкэндов:
    postgres:
        - connection_string: "postgres: // sops: sops @ localhost / sops? sslmode = verify-full"
        - connection_string: "postgres: // sops: sops @ remotehost / sops? sslmode = verify-full" 

2.17 Сохранение вывода в файл

По умолчанию sops просто выгружает весь вывод в стандартный вывод. Мы можем использовать --output флаг, за которым следует имя файла для сохранения вывода в указанный файл. Остерегайтесь использования флагов --in-place и --output приведет к ошибке.

2.18 Передача секретов другим процессам

Помимо записи секретов в стандартный вывод и файлы на диск, sops имеет две команды для передачи дешифрованных секретов новому процессу: exec-env и exec-файл .Эти команды поместят весь вывод в среду дочерний процесс и во временный файл соответственно. Например, если программа ищет учетные данные в своей среде, exec-env может использоваться для убедитесь, что расшифрованное содержимое доступно только этому процессу и никогда записано на диск.

 # выводить секреты на стандартный вывод для подтверждения значений
$ sops -d out.json
{
        "database_password": "jf48t9wfw094gf4nhdf023r",
        "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
        "AWS_SECRET_KEY": "wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY"
}

# расшифровать.json и запустите команду
# команда печатает переменную среды и запускает скрипт, который ее использует
$ sops exec-env out.json 'эхо-секрет: $ database_password; ./database-import '
секрет: jf48t9wfw094gf4nhdf023r

# запускаем оболочку с секретами, доступными в ее среде
$ sops exec-env out.json 'ш'
sh-3.2 # эхо $ database_password
jf48t9wfw094gf4nhdf023r

# секрет больше нигде недоступен
sh-3.2 $ выход
$ echo ваш пароль: $ database_password
ваш пароль: 

Если команда, которую вы хотите запустить, работает только с файлами, вы можете использовать exec-файл вместо.По умолчанию sops будет использовать FIFO для передачи содержимого расшифрованный файл в новую программу. При использовании FIFO секреты передаются только в память, которая имеет два преимущества: секреты открытого текста никогда не касаются диска и дочерний процесс может прочитать секреты только один раз. В контекстах, где этого не будет работают, например, платформы, такие как Windows, где FIFO недоступны или секретные файлы, которые нуждаются в чтобы быть доступным для дочернего процесса в течение длительного времени, флаг --no-fifo может быть используется для указания sops использовать традиционный временный файл, который будет очищен вверх после завершения выполнения процесса. exec-файл ведет себя аналогично find (1) в том, что {} используется в качестве заполнителя в команде, которая будет заменяется временным путем к файлу (будь то FIFO или фактический файл).

 # работает с тем же файлом, что и раньше, но на этот раз как файл
$ sops exec-file out.json 'отобразите ваш временный файл: {}; Кот {}'
ваш временный файл: /tmp/.sops894650499/tmp-file
{
        "database_password": "jf48t9wfw094gf4nhdf023r",
        "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE",
        "AWS_SECRET_KEY": "wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY"
}

# запускаем оболочку с переменной TMPFILE, указывающей на временный файл
$ sops exec-file --no-fifo out.json 'TMPFILE = {} sh'
sh-3.2 $ echo $ TMPFILE
/tmp/.sops506055069/tmp-file2

648 sh-3.2 $ cat $ TMPFILE { "database_password": "jf48t9wfw094gf4nhdf023r", "AWS_ACCESS_KEY_ID": "AKIAIOSFODNN7EXAMPLE", "AWS_SECRET_KEY": "wJalrXUtnFEMI / K7MDENG / bPxRfiCYEXAMPLEKEY" } sh-3.2 $ ./program --config $ TMPFILE sh-3.2 $ выход # пытаемся открыть временный файл из ранее $ cat /tmp/.sops506055069/tmp-file2

648 cat: /tmp/.sops506055069/tmp-file2

648: Нет такого файла или каталога

Кроме того, на unix-подобных платформах и exec-env , и exec-file поддержка сброса привилегий перед запуском новой программы через --user <имя пользователя> флаг.Это особенно полезно в тех случаях, когда зашифрованный файл доступен для чтения только root, но целевая программа не для работы требуются права root. Этот флаг следует использовать везде, где это возможно. для дополнительной безопасности.

Чтобы перезаписать имя файла по умолчанию ( tmp-файл ) в exec-файле , используйте --filename параметр.

 # зашифрованный файл не может быть прочитан текущим пользователем
$ cat out.json
cat: out.json: в доступе отказано

# выполнить sops от имени root, расшифровать секреты, затем сбросить привилегии
$ sudo sops exec-env --user none out.json 'sh'
sh-3.2 $ echo $ database_password
jf48t9wfw094gf4nhdf023r

# привилегии сброшены, исходный файл по-прежнему не загружается
sh-3.2 $ id
uid = 4294967294 (никто) gid = 4294967294 (никто) группы = 4294967294 (никто)
sh-3.2 $ cat out.json
cat: out.json: В доступе отказано 

2.19 Использование команды публикации

sops publish $ file публикует файл в предварительно настроенное место назначения (это живет в sops config файл). Кроме того, поддерживайте правила повторного шифрования, которые работают так же, как правила создания.

Для этой команды требуется файл конфигурации .sops.yaml . Ниже пример:

 правила_назначения:
   - s3_bucket: "sops-secrets"
     path_regex: s3 / *
     рекреационное_правило:
        pgp: F69E4901EDBAD2D1753F8C67A64535C4163FB307
   - gcs_bucket: "sops-секреты"
     path_regex: gcs / *
     рекреационное_правило:
        pgp: F69E4901EDBAD2D1753F8C67A64535C4163FB307
   - vault_path: "sops /"
     vault_kv_mount_name: "secret /" # по умолчанию
     vault_kv_version: 2 # по умолчанию
     path_regex: хранилище / *
     omit_extensions: истина 

Приведенная выше конфигурация поместит все файлы под s3 / * в корзину S3 sops-secrets , все файлы под gcs / * в корзину GCS sops-secrets , а содержимое всех файлов под vault / * в хранилище KV Vault по пути secrets / sops / .Для файлов, которые будут опубликовано в S3 и GCS, он расшифрует их и повторно зашифрует, используя F69E4901EDBAD2D1753F8C67A64535C4163FB307 ключ pgp.

Вы должны развернуть файл на S3 с помощью такой команды: sops publish s3 / app.yaml

Чтобы публиковать все файлы в выбранном каталоге рекурсивно, необходимо указать флаг --recursive .

Если вы не хотите, чтобы расширение файла отображалось в секретном пути назначения, используйте --omit-extensions flag или omit_extensions: true в правиле назначения в .sops.yaml .

2.19.1 Публикация в Vault

Есть несколько настроек для Vault, которые вы можете поместить в правила назначения. Первое vault_path , что является обязательным. Остальные необязательны, и они vault_address , vault_kv_mount_name , vault_kv_version .

sops использует официальный Vault API, предоставляемый Hashicorp, который использует среду переменные для настройка клиента.

vault_kv_mount_name используется, если ваш Vault KV смонтирован где-то, кроме secret / . vault_kv_version поддерживает 1 и 2 , по умолчанию 2 .

Если целевой секретный путь уже существует в Vault и содержит те же данные, что и исходный файл, он будут пропущены.

Ниже приведен пример публикации в Vault (с использованием аутентификации по токену с локальным экземпляром Vault для разработчиков).

 $ экспорт VAULT_TOKEN =...
$ export VAULT_ADDR = 'http: //127.0.0.1: 8200'
$ sops -d хранилище / test.yaml
example_string: бар
example_number: 42
example_map:
    ключ: значение
$ sops опубликовать хранилище / test.yaml
загрузка /home/user/sops_directory/vault/test.yaml на http://127.0.0.1:8200/v1/secret/data/sops/test.yaml? (д / п): д
$ vault kv получить секрет / sops / test.yaml
====== Метаданные ======
Ключевое значение
--- -----
created_time 2019-07-11T03: 32: 17.0747Z
deletion_time нет данных
уничтожен ложный
версия 3

========= Данные =========
Ключевое значение
--- -----
example_map карта [ключ: значение]
example_number 42
example_string bar 

3.1 Расширения типов YAML и JSON

sops использует расширение файла, чтобы решить, какой метод шифрования использовать для файла содержание. YAML , JSON , ENV и INI файлы обрабатываются как деревья данных, а пары "ключ-значение" извлекается из файлов, чтобы зашифровать только конечные значения. Древовидная структура также используется для проверки целостности файла.

Следовательно, если файл зашифрован с использованием определенного формата, его необходимо расшифровать. в том же формате.Самый простой способ добиться этого - сохранить исходный файл. расширение после шифрования файла. Например:

 $ sops -e -i myfile.json
$ sops -d myfile.json 

Если вы хотите изменить расширение зашифрованного файла, вам необходимо предоставить sops с флагом - входного типа при расшифровке. Например:

 $ sops -e myfile.json> myfile.json.enc

$ sops -d - входной тип json myfile.json.enc 

При работе со стандартным вводом используйте следующие флаги --input-type и --output-type :

 $ cat myfile.json | sops - тип ввода json - тип вывода json -d / dev / stdin 

3.2 Якоря YAML

sops поддерживает только подмножество множества типов YAML . Шифрование файлов YAML, которые содержать строки, числа и логические значения будут работать нормально, но файлы, содержащие якоря не будет работать, потому что якоря переопределяют структуру файла во время загрузки.

Этот файл не будет работать в sops :

 получатель счета: & id001
    улица: |
        123 Аллея Торнадо
        Люкс 16
    город: Ист-Сентервиль
    состояние: KS

адрес доставки: * id001 

sops использует путь к значению в качестве дополнительных данных в шифровании AEAD и, таким образом, динамические пути, генерируемые якорями, прерывают этап аутентификации.

Типы файлов

JSON и TEXT не поддерживают привязки и, следовательно, не имеют таких ограничений.

3.3 YAML потоки

YAML поддерживает наличие более одного «документа» в одном файле, в то время как такие форматы, как JSON , нет. sops может справиться и с тем, и с другим. Это означает следующий мультидокумент будет зашифрован должным образом:

 ---
данные: foo
---
данные: бар 

Обратите внимание, что sops метаданные , то есть хэш и т. Д., Вычисляются для физического файл, а не каждый внутренний "документ".

3.4 Массивы верхнего уровня

YAML и JSON массивы верхнего уровня не поддерживаются, потому что sops требуется ключ верхнего уровня sops для хранения своих метаданных.

Этот файл не будет работать в sops:

 ---
  - некоторый
  - множество
  - элементы 

Но этот будет, потому что, поскольку sops ключ может быть добавлен на том же уровне, что и данные ключ.

 данные:
  - некоторый
  - множество
  - элементы 

Аналогично, с массивами JSON этот документ не будет работать:

 [
  "некоторый",
  "множество",
  "элементы"
] 

Но вот этот будет работать нормально:

 {
  "данные": [
    "некоторый",
    "множество",
    "элементы"
  ]
} 

Подробное описание примеров использования sops в среде CI можно найти в папке с примерами.В разделе ниже описаны конкретные советы для типичных случаев использования.

4.1 Создание нового файла

Приведенная ниже команда создает новый файл с ключом данных, зашифрованным с помощью KMS и PGP.

 $ sops --kms "arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500" --pgp C9CAB0AF1165060DB58D6D6B2653B624D620786D / path / path 900 / path

  

4.2 Шифрование существующего файла

Как и в предыдущей команде, мы говорим sops использовать один ключ KMS и один ключ PGP.Путь указывает на существующий файл открытого текста, поэтому мы даем sops-флаг -e для зашифровать файл и перенаправить вывод в целевой файл.

 $ export SOPS_KMS_ARN = "arn: aws: kms: us-west-2: 927034868273: key / fe86dd69-4132-404c-ab86-4269956b4500"
$ export SOPS_PGP_FP = "C9CAB0AF1165060DB58D6D6B2653B624D620786D"
$ sops -e /path/to/existing/file.yaml> /path/to/new/encrypted/file.yaml 

Расшифруйте файл с помощью -d .

 $ sops -d / путь / к / новому / зашифрованному / файлу.yaml 

4.3 Зашифровать или расшифровать файл на месте

Вместо перенаправления вывода -e или -d , sops может заменить исходный файл после его шифрования или дешифрования.

 # file.yaml в открытом виде
$ sops -e -i /path/to/existing/file.yaml
# file.yaml теперь зашифрован
$ sops -d -i /path/to/existing/file.yaml
# file.yaml вернулся в открытый текст 

4.4 Шифрование двоичных файлов

sops основным вариантом использования является шифрование файлов конфигурации YAML и JSON, но также имеет возможность управлять двоичными файлами.При шифровании двоичного файла sops будет прочитать данные как байты, зашифровать их, сохранить зашифрованный base64 под tree ['data'] и запишите результат как JSON.

Обратите внимание, что кодирование зашифрованных данных base64 может фактически сделать зашифрованные файл больше открытого текста.

Шифрование / дешифрование на месте также работает с двоичными файлами.

 $ dd, если = / dev / urandom of = / tmp / somerandom bs = 1024
count = 512
512 + 0 записей в
512 + 0 записей
524288 байт (524 КБ) скопировано, 0.0466158 с, 11,2 МБ / с

$ sha512sum / tmp / somerandom
9589bb20280e9d381f7a1498c994e921b3cdb11d2ef5a986578dc2239a340b25ef30691bac72bdb14028270828dad7e8bd31e274af9828c40d216e60cbe / tmp / somerandom

$ sops -e -i / tmp / somerandom
пожалуйста, подождите, пока ключ шифрования данных будет сгенерирован и надежно сохранен

$ sops -d -i / tmp / somerandom

$ sha512sum / tmp / somerandom
9589bb20280e9d381f7a1498c994e921b3cdb11d2ef5a986578dc2239a340b25ef30691bac72bdb14028270828dad7e8bd31e274af9828c40d216e60cbe / tmp / somerandom
 

4.5 Извлеките часть дерева документа

sops может извлекать определенную часть документа YAML или JSON при условии, что путь в - извлечь флаг командной строки. Это полезно для извлечения конкретных значения, такие как ключи, без необходимости в дополнительном парсере.

 $ sops -d --extract '["приложение2"] ["ключ"]' ~ / git / svc / sops / example.yaml
----- НАЧАТЬ ЧАСТНЫЙ КЛЮЧ RSA -----
MIIBPAIBAAJBAPTMNIyHuZtpLYc7VsHQtwOkWYobkUblmHWRmbXzlAX6K8tMf3Wf
ImcbNkqAKnELzFAPSBeEMhrBN0PyOC9lYlMCAwEAAQJBALXD4sjuBn1E7Y9aGiMz
bJEBuZJ4wbhYxomVoQKfaCu + kH80uLFZKoSz85 / ySauWE8LgZcMLIBoiXNhDKfQL
vHECIQD6tCG9NMFWor69kgbX8vK5Y + QL + kRq + 9HK6yZ9a + hsLQIhAPn4Ie6HGTjw
fHSTXWZpGSan7NwTkIu4U5q2SlLjcZh / AiEA78NYRRBwGwAYNUqzutGBqyXKUl4u
Erb0xAEyVV7e8J0CIQC8VBY8f8yg + Y7Kxbw4zDYGyb3KkXL10YorpeuZR4LuQQIg
bKGPkMM4w5blyE1tqGN0T7sJwEx + EUOgacRNqM2ljVA =
----- КОНЕЦ ЧАСТНОГО КЛЮЧА RSA ----- 

Синтаксис древовидного пути использует обычный синтаксис словаря Python без имя переменной.Извлеките ключи, назвав их, а элементы массива - нумерацией. их.

 $ sops -d --extract '["an_array"] [1]' ~ / git / svc / sops / example.yaml
secretuser2 

4.6 Установка подчасти в дереве документа

sops может установить определенную часть документа YAML или JSON, предоставив путь и значение в --set флаг командной строки. Это полезно для устанавливать определенные значения, такие как ключи, без использования редактора.

 $ sops --set '["приложение2"] ["ключ"] "app2keystringvalue"' ~ / git / svc / sops / example.yaml 

Синтаксис древовидного пути использует обычный синтаксис словаря Python без имя переменной. Установите ключи, назвав их, а элементы массива - нумерация их.

 $ sops --set '["an_array"] [1] "secretuser2"' ~ / git / svc / sops / example.yaml 

Значение должно быть отформатировано как json.

 $ sops --set '["an_array"] [1] {"uid1": null, "uid2": 1000, "uid3": ["bob"]}' ~ / git / svc / sops / example.yaml 

4.7 Использование sops в качестве библиотеки в скрипте Python

Вы можете импортировать sops как модуль и использовать его в своей программе на Python.

 импортных подоконников

pathtype = sops.detect_filetype (путь)
tree = sops.load_file_into_tree (путь, тип пути)
sops_key, tree = sops.get_key (дерево)
tree = sops.walk_and_decrypt (дерево, sops_key)
sops.write_file (дерево, путь = путь, тип файла = тип пути) 

Примечание: здесь используется предыдущая реализация sops, написанная на python,

и поэтому не поддерживает новые функции, такие как GCP-KMS. Чтобы использовать текущую версию, позвоните по номеру sops , используя подпроцесс . Запустите

4.8 Отображение различий в открытом виде в git

Скорее всего, вы захотите хранить зашифрованные файлы в репозитории с контролируемой версией. Sops можно использовать с git для расшифровки файлов при отображении различий между версиями. Это очень удобно для просмотра изменений или визуализации истории.

Чтобы настроить sops для расшифровки файлов во время сравнения, создайте файл .gitattributes в корне вашего репозитория, который содержит фильтр и команду.

 * .yaml diff = sopsdiffer
 

Здесь нас интересуют только файлы YAML. sopsdiffer - произвольное имя, которое мы сопоставляем в команду sops в файле конфигурации git репозитория.

 $ git config diff.sopsdiffer.textconv "sops -d"

$ grep -A 1 sopsdiffer .git / config
[diff "sopsdiffer"]
        textconv = "sops -d" 

После этого вызовы git diff расшифруют как предыдущие, так и текущие версии целевого файла до отображения diff. И это даже работает с клиентские интерфейсы git, потому что они вызывают под капотом git diff!

4.9 Шифрование только части файла

Примечание: это работает только с файлами YAML и JSON, но не с файлами BINARY.

По умолчанию sops шифрует все значения файла YAML или JSON и оставляет ключи в открытом виде. В некоторых случаях вы можете захотеть исключить некоторые значения из зашифрованы. Это можно сделать, добавив суффикс _unencrypted . к любому ключу файла. Когда установлено, все значения под ключом, который устанавливает _ незашифрованный суффикс останется открытым текстом.

Обратите внимание, что в открытом тексте незашифрованный контент все равно добавляется в контрольная сумма файла и, следовательно, не может быть изменена за пределами sops без нарушение проверки целостности файла.

Незашифрованный суффикс может быть установлен на другое значение с помощью - unencrypted-suffix option.

И наоборот, вы можете выбрать шифрование только некоторых значений в файле YAML или JSON, путем добавления выбранного суффикса к этим ключам и передачи его параметру --encrypted-suffix .(данные | stringData) $ 'k8s-secrets.yaml

зашифрует значения под ключами data и stringData в файле YAML. содержащие секреты кубернетов. Он не будет шифровать другие значения, которые помогут вам перейдите к файлу, например, метаданные , который содержит имена секретов.

И наоборот, вы можете оставить только определенные ключи без шифрования, используя --unencrypted-regex параметр, который оставит значения этих ключей незашифрованными. которые соответствуют предоставленному регулярному выражению.(описание | метаданные) $ 'k8s-secrets.yaml

не будет шифровать значения под описанием , и метаданные , ключи в файле YAML. содержащие секреты кубернетов, а все остальное шифрование.

Эти параметры также можно указать в файле конфигурации .sops.yaml .

Примечание: эти четыре параметра --unencrypted-suffix , --encrypted-suffix , --encrypted-regex и --unencrypted-regex являются взаимоисключающие и не могут использоваться в одном файле.

Когда sops создает файл, он генерирует случайный 256-битный ключ данных и запрашивает каждый Главный ключ KMS и PGP для шифрования ключа данных. Зашифрованная версия данных Ключ хранится в метаданных sops под sops.kms и sops.pgp .

Для KMS:

 сопок:
    км:
    - прил: CiC6yCOtzsnFhkfdIslYZ0bAf // gYLYCmIu87B3sy / 5yYxKnAQEBAQB4usgjrc7JxYZh4SLJWGdGwH // 4GC2ApiLvOwd7Mv + cmMAAAB + MHwGCSqGSIb3DQEHBqBvMG0CAQAwaAYJKoZIhvcNAQcBMB4GCWCGSAFlAwQBLjARBAyGdRODuYMHbA8Ozj8CARCAO7opMolPJUmBXd39Zlp0L2H9fzMKidHm1vvaF6nNFq0ClRY7FlIZmTm4JfnOebPseffiXFn9tG8cq7oi
        enc_ts: 1439568549.245995
        arn: arn: aws: kms: us-east-1: 656532927350: key / 920aff2e-c5f1-4040-943a-047fa387b27e 

Для PGP:

 сопок:
    pgp:
    - fp: 85D77543B3D624B63CEA9E6DBC17301B491B3F21
        created_at: 1441570391.930042
        enc: |
            ----- НАЧАТЬ СООБЩЕНИЕ PGP -----
            Версия: GnuPG v1

            hQIMA0t4uZHfl9qgAQ // UvGAwGePyHuf2 / zayWcloGaDs0MzI + zw6CmXvMRNPUsA
            pAgRKczJmDu4 + XzN + cxX5Iq9xEWIbny9B5rOjwTXT3qcUYZ4Gkzbq4MWkjuPp / Iv
            qO4MJaYzoH5YxC4YORQ2LvzhA2YGsCzYnljmatGEUNg01yJ6r5mwFwDxl4Nc80Cn
            RwnHuGExK8j1jYJZu / juK1qRbuBOAuruIPPWVdFB845PA7waacG1IdUW3ZtBkOy3
            O0BIfG2ekRg0Nik6sTOhDUA + l2bewCcECI8FYCEjwHm9Sg5cxmP2V5m1mby + uKAm
            kewaoOyjbmV1Mh4iI1b / AQMr + / 6ZE9MT2KnsoWosYamFyjxV5r1ZZM7cWKnOT + tu
            KOvGhTV1TeOfVpajNTNwtV / Oyh4mMLQ0F0HgCTqomQVqw5 + sj7OWAASuD3CU / dyo
            pcmY5Qe0TNL1JsMNEH8LJDqSh + E0hsUxdY1ouVsg3ysf6mdM8ciWb3WRGxih2Vmf
            unLy8Ly3V7ZIC8EHV8aLJqh42jIZV4i2zXIoO4ZBKrudKcECY1C2 + zb / TziVAL8
            qyPe47q8gi1rIyEv5uirLZjgpP + JkDUgoMnzlX334FZ9pWtQMYW4Y67urAI4xUq6
            / q1zBAeHoeeeQK + YKDB7Ak / Y22YsiqQbNp2n4CKSKAE4erZLWVtDvSp + 49SWmS / S
            XgGi + 13MaXIp0ecPKyNTBjF + NOw / I3muyKr8EbDHrd2XgIT06QXqjYLsCb1TZ0zm
            xgXsOTY3b + ONQ2zjhcovanDp7 / k77B + gFitLYKg4BLZsl7gJB12T8MQnpfSmRT4 =
            = oJgS
            ----- КОНЕЦ СООБЩЕНИЯ PGP ----- 

sops затем открывает текстовый редактор для вновь созданного файла.Пользователь добавляет данные в файл и сохраняет его по завершении.

После сохранения sops просматривает весь файл как дерево ключей / значений. Каждый раз подачивает встречает конечное значение (значение, не имеющее дочерних элементов), он шифрует значение с AES256_GCM с использованием ключа данных и 256-битной случайной инициализации вектор.

Каждый файл использует один ключ данных для шифрования всех значений документа, но каждый value получает уникальный вектор инициализации и имеет уникальные данные аутентификации.

Дополнительные данные используются для гарантии целостности зашифрованных данных. и древовидной структуры: при шифровании дерева имена ключей объединяются в байтовую строку, которая используется в качестве дополнительных данных AEAD (aad) при шифровании значения.Мы ожидаем, что ключи не несут конфиденциальную информацию, и Хранение их в открытом виде позволяет улучшить различие и общую читаемость.

Любой действующий главный ключ KMS или PGP может позже расшифровать ключ данных и получить доступ к данные.

Несколько мастер-ключей позволяют обмениваться зашифрованными файлами без общего доступа к мастер-ключу ключи и предоставить решение для аварийного восстановления. Рекомендуемый способ использования подносок должен иметь два главных ключа KMS в разных регионах и один открытый ключ PGP с закрытый ключ хранится в автономном режиме.Если по какой-то причине оба главных ключа KMS утеряны, вы всегда можете восстановить зашифрованные данные с помощью закрытого ключа PGP.

5.1 Код аутентификации сообщения

В дополнение к аутентификации ветвей дерева с использованием ключей в качестве дополнительных data, sops вычисляет MAC для всех значений, чтобы гарантировать, что никакое значение не было добавлены или удалены обманным путем. MAC хранится в зашифрованном виде с помощью AES_GCM и ключ данных в дереве-> `sops`->` mac`.

Автоматизация раздачи секретов и учетных данных компонентам инфраструктура - сложная проблема.Мы умеем шифровать секреты и делиться ими между людьми, но распространить это доверие на системы сложно. Особенно когда эти системы следуют принципам DevOps, создаются и уничтожаются без вмешательства человека. Вопрос сводится к установлению начального доверие к системе, которая только что присоединилась к инфраструктуре, и предоставление ей доступа к секретам, которые необходимо настроить самостоятельно.

6,1 Первоначальный траст

Во многих инфраструктурах, даже очень динамичных, начальное доверие установлен человеком.Пример можно увидеть в Puppet по тому, как сертификаты выдано: когда новая система пытается присоединиться к Puppetmaster, администратор по умолчанию должен вручную утверждать выдачу сертификата, который система потребности. Это громоздко, и многие кукловоды настроены на автоматическую подпись новые сертификаты для решения этой проблемы. Это явно не рекомендуется и далеко не идеал.

AWS обеспечивает более гибкий подход к доверию новым системам. Он использует мощный механизм ролей и идентичностей.В AWS можно проверить что новой системе была предоставлена ​​особая роль при создании, и это можно сопоставить эту роль с конкретными ресурсами. Вместо того, чтобы доверять новым системам напрямую администратор доверяет модели разрешений AWS и ее автоматизации инфраструктура. Если ключи AWS и API AWS безопасны, мы можем предполагать, что доверие поддерживается и системы остаются такими, какими они себя называют.

6.2 KMS, Распределение доверия и секретов

Используя модель доверия AWS, мы можем создать детализированный контроль доступа к Служба управления ключами Amazon (KMS).KMS - это служба, которая шифрует и расшифровывает данные с помощью AES_GCM, используя ключи, которые никогда не видны пользователям услуга. Каждый главный ключ KMS имеет набор средств управления доступом на основе ролей и индивидуальным ролям разрешено шифрование или дешифрование с помощью главного ключа. KMS помогает решить проблему раздачи ключей, переводя ее в доступ проблема контроля, которую можно решить с помощью модели доверия AWS.

6.3 Эксплуатационные требования

Когда команда Mozilla Services Operations начала возвращаться к проблеме раздавая секреты инстансам EC2, мы поставили цель хранить эти секреты зашифрованы до самого последнего момента, когда их нужно расшифровать на целевом объекте системы.В отличие от многих других организаций, которые работают достаточно сложно автоматизации, мы обнаружили, что это серьезная проблема с рядом предпосылок:

  1. Секреты должны храниться в файлах YAML для легкой интеграции в hiera
  2. Секреты должны храниться в GIT, и при создании нового стека CloudFormation построен, текущий HEAD закреплен в стеке. (Это позволяет секретам можно изменить в GIT, не влияя на текущий стек, который может автомасштабирование).
  3. Записи должны быть зашифрованы отдельно.Шифрование целых файлов как blobs делает git разрешение конфликтов практически невозможно. Шифрование каждой записи отдельно управлять намного проще.
  4. Секреты всегда должны быть зашифрованы на диске (административный ноутбук, восходящий поток git repo, jenkins и S3) и будут расшифрованы только на цели системы

SOPS можно использовать для шифрования файлов YAML, JSON и BINARY. В ДВОИЧНОМ режиме содержимое файла рассматривается как большой двоичный объект, точно так же, как PGP шифрует весь файл. Однако в режимах YAML и JSON содержимое файла манипулируется как дерево, в котором ключи хранятся в виде открытого текста, а значения зашифрованный.hiera-eyaml делает нечто подобное, и с годами мы узнали чтобы оценить его преимущества, а именно:

  • различий значимы. Если изменено одно значение файла, только это значение будет отображаться в разнице. Разница по-прежнему ограничивается только отображением зашифрованные данные, но эта информация уже более детализирована, чем означает, что был изменен весь файл.
  • конфликтов разрешить легче. Если несколько пользователей работают над одни и те же зашифрованные файлы, если они не изменяют одни и те же значения, изменения легко объединить.Это улучшение по сравнению с PGP подход к шифрованию, при котором неразрешимые конфликты часто возникают, когда несколько пользователей работают с одним файлом.

6.4 Интеграция OpenPGP

OpenPGP получает много плохих репортажей о том, что он является устаревшим криптопротоколом, и хотя правда, что действительно заставило нас искать альтернативы, так это сложность управления и раздача ключей к системам. С помощью KMS мы управляем разрешениями для API, а не ключами, и это сделать намного проще.

Но PGP еще не умер, и мы все еще сильно полагаемся на него как на решение для резервного копирования: все наши файлы зашифрованы с помощью KMS и одним открытым ключом PGP, с его закрытый ключ надежно хранится для экстренной расшифровки в случае потери все наши главные ключи KMS.

SOPS можно использовать полностью без KMS, так же, как если бы вы использовали зашифрованный Файл PGP: путем ссылки на общие ключи каждого человека, имеющего доступ к файлу. Это легко сделать, предоставив sops список открытых ключей, разделенных запятыми. при создании нового файла:

 $ sops --pgp "E60892BB9BD89A69F759A1A0A3D652173B763E8F, 84050F1D61AF7C230A12217687DF65059EF093D3,85D77543B3D624B63CEA9E6DBC17301B


 

Безопасность данных, хранимых с помощью sops, настолько же сильна, насколько и самая слабая криптографический механизм.Значения зашифрованы с использованием AES256_GCM, который является самый надежный алгоритм симметричного шифрования, известный сегодня. Ключи данных зашифрованы либо в KMS, который также использует AES256_GCM, либо в PGP, который использует RSA или Ключи ECDSA.

Угрозы от наиболее вероятных к наименее вероятным следующим образом:

7.1 Взломанные учетные данные AWS предоставляют доступ к главному ключу KMS

Злоумышленник, имеющий доступ к консоли AWS, может предоставить себе доступ к одному из главные ключи KMS, используемые для шифрования ключа данных sops.Эта угроза должна быть смягчается за счет защиты доступа к AWS с помощью надежных средств контроля, таких как многофакторный аутентификации, а также путем регулярного аудита предоставленных разрешений пользователям AWS.

7.2 Взломанный ключ PGP

Ключи

PGP обычно неправильно обрабатываются либо потому, что владельцы копируют их с машина к машине, или потому что ключ забыт на неиспользуемой машине злоумышленник получает доступ к. При использовании шифрования PGP пользователи sops должны принимать особый уход за закрытыми ключами PGP и хранение их на смарт-картах или в автономном режиме так часто, как возможно.

7.3 Факторизованный ключ RSA

sops не накладывает никаких ограничений на размер или тип ключей PGP. Слабый PGP ключи, например 512-битный RSA, злоумышленник может разложить на множители, чтобы получить доступ к закрытому ключу и расшифровать ключ данных. Пользователям подносок следует полагаться на надежных ключах, таких как ключи RSA 2048+ бит или ключи ECDSA 256+ бит.

7.4 Слабая криптография AES

Уязвимость в AES256_GCM потенциально может привести к утечке ключа данных или KMS. главный ключ, используемый файлом, зашифрованным с помощью sops.Пока такой уязвимости не существует сегодня мы рекомендуем пользователям сохранять конфиденциальность зашифрованных файлов.

sops останется обратно совместимой с основной версией, что означает, что все улучшения, внесенные в ветки 1.X и 2.X (текущие), сохранят формат файла, представленный в 1.0 .

Сообщайте о проблемах безопасности в jvehent по адресу mozilla dot com или используя один метода связи, доступного на keybase: https://keybase.io/jvehent

Общественная лицензия Mozilla версии 2.0

Основная команда состоит из:

  • Адриан Утрилла @autrilla
  • Жюльен Веент @jvehent
  • Эй Джей Банхкен @ajvb

И целая куча участников

sops был вдохновлен hiera-eyaml, credstash, кроссовки хранилище паролей и слишком много лет управления Файлы, зашифрованные вручную PGP ...

.

Добавить комментарий

Ваш адрес email не будет опубликован.