Nutanix AOS には、SCMA(Security Configuration Management Automation)という自動的にセキュリティ設定を修正する機能が実装されています。
Nutanix CE にも商用版 Nutanix と同様に SCMA が実装されているので、様子を見てみます。今回の環境は、Nutanix CE 2020.09.16 です。
今回の内容です。
SCMA について
Nutanix Bible であれば、下記のあたりに説明があります。
- https://nutanixbible.jp/ (日本語)
「自動セキュリティ設定管理(SCMA - Security Configuration Management Automation)」のあたりを参照
SCMA は自動的にセキュリティ設定を修正しますが、手動でも実行できます。
SCMA には、Salt(SaltStack) が利用されており、手動実行する場合は salt-call コマンドを実行します。これは sudo、もしくは root ユーザで実行する必要があります。
CVM では・・・
CVM$ sudo salt-call state.highstate
AHV に実行する場合は(CVM から)・・・
CVM$ ssh root@192.168.5.1 salt-call state.highstate
CVM の SCMA の様子
Nutanix CE 2020.09.16 の Salt のバージョンです。ちなみに、最近の商用版 Nutanix AOS であれば、もうすこし新しい Salt が利用されています。
CVM$ salt-call --version salt-call 2016.11.10 (Carbon)
管理されているセキュリティ設定については、下記のように概要を確認できます。
CVM$ sudo salt-call state.show_top
[INFO ] Loading fresh modules for state activity
local:
----------
base:
- security/CVM/selinuxCVM
- security/CVM/firstrunCVM
- security/CVM/checkusergroupsCVM
- security/CVM/fdpermsownerCVM
- security/CVM/saltCVM
- security/CVM/pkiCVM
- security/CVM/fipsCVM
- security/CVM/shellCVM
- security/CVM/havegeCVM
- security/CVM/sysctlCVM
- security/CVM/pamCVM
- security/CVM/sshdCVM
- security/CVM/sshCVM
- security/CVM/bootCVM
- security/CVM/modprobeCVM
- security/CVM/mountCVM
- security/CVM/networkCVM
- security/CVM/auditCVM
- security/CVM/ccCVM
- security/CVM/consoleCVM
- security/CVM/coreCVM
- security/CVM/cronCVM
- security/CVM/aideCVM
- security/CVM/ldapCVM
- security/CVM/mailCVM
- security/CVM/ntpCVM
- security/CVM/packagesCVM
- security/CVM/rmfilesCVM
- security/CVM/snmpdCVM
- security/CVM/xinetdCVM
- security/CVM/rsyslogCVM
- security/CVM/yumCVM
- security/CVM/interactivenutanixCVM
- security/CVM/manualCVM
- security/CVM/jreCVM
- security/CVM/tomcatCVM
- security/CVM/apacheCVM
- security/CVM/igwcreateCVM
- security/CVM/interactiveadminCVM
- security/CVM/suloginCVM
- security/CVM/rootCVM
- security/CVM/tmpfsCVM
- security/CVM/dockerCVM
- security/CVM/excludeCVM
これは、/srv/salt/top.sls でも確認できます。
CVM$ sudo cat /srv/salt/top.sls
base:
'*':
- security/CVM/selinuxCVM
- security/CVM/firstrunCVM
- security/CVM/checkusergroupsCVM
- security/CVM/fdpermsownerCVM
- security/CVM/saltCVM
- security/CVM/pkiCVM
- security/CVM/fipsCVM
- security/CVM/shellCVM
- security/CVM/havegeCVM
- security/CVM/sysctlCVM
- security/CVM/pamCVM
- security/CVM/sshdCVM
- security/CVM/sshCVM
- security/CVM/bootCVM
- security/CVM/modprobeCVM
- security/CVM/mountCVM
- security/CVM/networkCVM
- security/CVM/auditCVM
- security/CVM/ccCVM
- security/CVM/consoleCVM
- security/CVM/coreCVM
- security/CVM/cronCVM
- security/CVM/aideCVM
- security/CVM/ldapCVM
- security/CVM/mailCVM
- security/CVM/ntpCVM
- security/CVM/packagesCVM
- security/CVM/rmfilesCVM
- security/CVM/snmpdCVM
- security/CVM/xinetdCVM
- security/CVM/rsyslogCVM
- security/CVM/yumCVM
- security/CVM/interactivenutanixCVM
- security/CVM/manualCVM
- security/CVM/jreCVM
- security/CVM/tomcatCVM
- security/CVM/apacheCVM
- security/CVM/igwcreateCVM
- security/CVM/interactiveadminCVM
- security/CVM/suloginCVM
- security/CVM/rootCVM
- security/CVM/tmpfsCVM
- security/CVM/dockerCVM
- security/CVM/excludeCVM
一覧にある security/ は、「/srv/salt/security/」ディレクトリに対応しています。たとえば、下記のようにセキュリティ設定が記載された Salt の定義ファイル(.sls。Salt State)が格納されていたりします。
CVM$ sudo cat /srv/salt/security/CVM/sshCVM.sls
# NTNX-04-000228 SRG-OS-000112 CCI-000774
# NTNX-04-000243 SRG-OS-000112 CCI-000774
# NTNX-04-000245 SRG-OS-000112 CCI-000774
# NTNX-04-000248 SRG-OS-000112 CCI-000774
# NTNX-04-000704 SRG-OS-000112 CCI-000774
# NTNX-04-000707 SRG-OS-000112 CCI-000774
sshconfigperms:
file:
- managed
- name: /etc/ssh/ssh_config
- source: /srv/salt/security/CVM/sshd/sshconfCVM
- mode: 644
- user: root
- group: root
sshconfsecontext:
module.run:
- name: file.restorecon
- path: '/etc/ssh/ssh_config'
- onlyif: test -n "$(restorecon -Frnv /etc/ssh/ssh_config)"
- require:
- file: sshconfigperms
AHV の SCMA の様子
今回の AHV です。事情により自宅の Nutanix CE では、さらに古めの AHV を利用しています。
CVM$ ssh root@192.168.5.1 cat /etc/nutanix-release FIPS mode initialized Nutanix AHV el7.nutanix.20191030.415
AHV にも、Salt はインストールされています。AHV が古いので Salt も更に古めです。
CVM$ ssh root@192.168.5.1 salt-call --version FIPS mode initialized Nutanix AHV salt-call 2015.5.0 (Lithium)
AHV では、SLS の名前が CVM のかわりに「KVM」になっています。そして、これらの .sls ファイルは、AHV の /srv/salt/security/KVM ディレクトリに格納されています。
CVM$ ssh root@192.168.5.1 salt-call state.show_top
FIPS mode initialized
Nutanix AHV
local:
----------
base:
- security/KVM/selinuxKVM
- security/KVM/firstrunKVM
- security/KVM/fdpermsownerKVM
- security/KVM/saltKVM
- security/KVM/fipsKVM
- security/KVM/shellKVM
- security/KVM/havegeKVM
- security/KVM/sysctlKVM
- security/KVM/pamKVM
- security/KVM/sshdKVM
- security/KVM/sshKVM
- security/KVM/bootKVM
- security/KVM/modprobeKVM
- security/KVM/mountKVM
- security/KVM/networkKVM
- security/KVM/lldpdKVM
- security/KVM/auditKVM
- security/KVM/consoleKVM
- security/KVM/coreKVM
- security/KVM/cronKVM
- security/KVM/aideKVM
- security/KVM/ldapKVM
- security/KVM/mailKVM
- security/KVM/ntpKVM
- security/KVM/packagesKVM
- security/KVM/rmfilesKVM
- security/KVM/snmpdKVM
- security/KVM/xinetdKVM
- security/KVM/libvirtKVM
- security/KVM/rsyslogKVM
- security/KVM/yumKVM
- security/KVM/interactiveKVM
- security/KVM/manualKVM
- security/KVM/hyperthreadingKVM
以上。
