1
  • エージェントマシンのProftpdの状態に合わせて、Fail2banのjail.conf内の変数「enabled」を変更したい。
  • 例: エージェント マシンで Proftpd が実行されている場合、"enable = true" (Fail2ban は Proftpd を監視します) Proftpd が停止している場合、"enable = false" (Fail2ban は Proftpd を監視しません)
  • 私のinit.ppファイル:

    class fail2ban { package { "fail2ban": ensure => "installed", }

    service { "fail2ban":
            ensure => "running",
            enable => "true",
            require => Package["fail2ban"],
    }
    $path = "/var/run/proftpd.pid"
    $status = inline_template("<% if File.exist?(@path) -%>true<% else -%>false<%end -%>")
    file { "jail.conf":
            path    => '/etc/fail2ban/jail.conf',
        ensure  => file,
        require => Package['fail2ban'],
        content => template("fail2ban/jail.conf.erb"),
    notify  => Service['fail2ban'],
    }
    

私のテンプレートjail.conf.erbファイル:

[proftpd]
enabled  = <%= $status %>
port     = ftp,ftp-data,ftps,ftps-data
filter   = proftpd
logpath  = /var/log/proftpd/proftpd.log
maxretry = 5

問題は、「有効」な結果が、エージェント マシンではなく Puppet Master のチェックによるものであり、エージェント マシンでチェックを行う必要があることです。

誰でも私を助けることができますか?

4

0 に答える 0