LINUX.ORG.RU
ФорумAdmin

cfengine: возможен ли безопасный обмен ключами?


0

1

Доброго времени суток.

Читаю документацию по cfengine, поймал лютый butthurt на процедуре обмена ключами: (вольный пересказ)

«разрешить на сервере приём ключей с определённого IP, а дальше кто первый встал - того и тапки, но вы хакеров не бойтесь, вряд ли они не будут спать.» При этом, в той же документации: «если разрешить ip прокси и не запретить на нём connect на порт cf-serverd, это дыра в безопасности.»

Можно ли как-то избавиться от этого? Например, вручную добавлять ключи мимо cf-serverd?

★★★★★
Ответ на: комментарий от router

Щас тоже активно изучаю это тему, provison server и централизованного управления. Остановился на cobbler и puppet. А какие _конкретно_ задачи не получалось решить без костылей на puppet?

anton_jugatsu ★★★★
()
Ответ на: комментарий от anton_jugatsu

Я не нашёл, как средствами языка puppet добавить в уже определённый объект ещё данные, например

Т.е.

define mysudo ($users) {
  <что-то там>
  file { '/etc/sudoers':
    content => template("mysudo.erb")
  }
}

node vlan-dmz {
  mysudo { 'sudo':
    users => ['emergency', 'router']
  }
}
  node 'vml-dmz-smtp' inherits vlan-dmz {
  }
  node 'vml-dmz-ftp' inherits vlan-dmz {
    < как добавить к sudo ещё пачку пользователей ?>
  }

augeas вместо file пойдёт, но тогда не получится добавить проверку, что в /etc/sudoers не содержится посторонних записей.

router ★★★★★
() автор топика
Ответ на: комментарий от router

ЗЫ. выходом будет написание собственного скрипта и вынос иерархии node под его управление, т.е. скрипт парсит отдельный конфиг, строит дерево наследования нод, склеивает известные ему ресурсы (mysudo) и генерет конфиг для puppet, где нет наследования а все параметры прописываются для каждой ноды.

Но это сложно и ответственность большая. Как минимум необходимо проверять, что результат успешно компилится puppet'ом

router ★★★★★
() автор топика
Ответ на: комментарий от router

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

anton_jugatsu ★★★★
()
Ответ на: комментарий от anton_jugatsu

Позор на мою голову, поленился. А это хорошая мысль :) В выходные попробую сформулировать и отправить.

router ★★★★★
() автор топика
Ответ на: комментарий от anton_jugatsu

Как workarround сойдёт, спасибо :)

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

node 'vml-dmz-ftp' inherits vlan-dmz {
  Mysudo ['sudo'] {
    users => ['emergency', 'router','chip'];
  }
}

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

node 'vml-dmz-ftp' inherits vlan-dmz {
  Mysudo ['sudo'] {
    users +> ['chip'];
  }
}
router ★★★★★
() автор топика
Ответ на: комментарий от anton_jugatsu

anton_jugatsu, спасибо, возвращаюсь на puppet :)

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

router ★★★★★
() автор топика
Ответ на: комментарий от router

У вас клиенты debian или redhat/centos? Рекомендую ещё cobbler (для виртуалок koan), для совсем уж автоматического развёртывания и provision. Я считаю, что puppet это уже стандарт де-факто, поэтому всё же лучше использовать/изучать его. Думаю, мы не раз ещё подискутируем на это тему :)

anton_jugatsu ★★★★
()
Ответ на: комментарий от anton_jugatsu

Пока debian (виртуалки на домашнем сервере). После того, как обосную необходимость внедрения puppet, будут rhel

router ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.