Марионетка - шаблон ERB - Вопрос об определенных классах

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

Я действительно должен не согласиться с Вашим намерением.

Я объединился бы, heartbeat со здоровьем контролируют также. например, ищите блоки, запишите ЦП, используйте dmv и т.д.

Я также надеюсь, что Вы расточаете столько же внимания на остальную часть Вашей сети, сервера, ПК и т.д.

Например, SQL Server только, Вы используете Серверное шифрование протокола SQL Server? Только с помощью tcp? Используя групповую политику для ограничения, кто может получить доступ к серверу? Логины SQL следуют за политикой пароля пользователя в домене? Сервисная учетная запись SQL заблокирована вниз?

2
задан 14 October 2010 в 21:58
2 ответа

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

Это было бы то, как Вы проверите на mod_security класс, например:

<% if classes.include?("mod_security") %>
conditional text
<% end %>

Править:

Возгласы... метод называют, включают? не включает?. Зафиксированный выше.

3
ответ дан 3 December 2019 в 09:25
  • 1
    Josh - Я обновил свой ответ (добавил "s", где он не принадлежал), сообщите мне, что он все еще не работает на Вас. –  mark 18 October 2010 в 04:49

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

Два пути вокруг этого:

  1. если можно гарантировать, что это будет добавлено внешним классификатором узла, это безопасно

  2. лучше все еще сделайте пользовательский факт, который устанавливает присутствие mod_security, и используйте это factname в качестве Вашей условной переменной.

    Facter.add("mod_security_version") setcode делают версию = % {об/мин - обеспечение качества | grep mod_security} если version.empty? версия = 0 концов конца версии конца

Затем в Вашем шаблоне:

<% if ! mod_security_version.eql?("0") %>
Include modsecurity.d/*.conf
<% end %>

Обратите внимание, что это должно быть сравнением строк (нет mod_security_version != 0) потому что все факторные факты являются строками, после того как они поражают ERB.

3
ответ дан 3 December 2019 в 09:25

Теги

Похожие вопросы