Amazon Inspector診断結果の脆弱性対応

  1. Amazon Inspector診断結果の脆弱性対応
    1. 1.1.1.1 Ensure mounting of cramfs filesystems is disabled
        1. 対応
    2. 1.1.1.2 Ensure mounting of hfs filesystems is disabled
        1. 対応
    3. 1.1.1.3 Ensure mounting of hfsplus filesystems is disabled
        1. 対応
    4. 1.1.1.4 Ensure mounting of squashfs filesystems is disabled
        1. 対応
    5. 1.1.1.5 Ensure mounting of udf filesystems is disabled
        1. 対応
    6. 1.3.1 Ensure AIDE is installed
    7. 1.3.2 Ensure filesystem integrity is regularly checked
    8. 1.5.1 Ensure core dumps are restricted
        1. 対応
    9. 1.5.2 Ensure address space layout randomization (ASLR) is enabled
        1. 対応
    10. CVE-2021-3655
        1. 対応
    11. CVE-2020-8285
        1. 対応
    12. 5.2.19 Ensure SSH warning banner is configured
        1. 対応
    13. 1.6.1.2 Ensure the SELinux state is enforcing
        1. 対応
    14. 1.6.1.3 Ensure SELinux policy is configured
        1. 対応
    15. 5.1.4 Ensure permissions on /etc/cron.daily are configured
        1. 対応
    16. 4.2.1.3 Ensure rsyslog default file permissions configured
        1. 対応
    17. 4.2.4 Ensure permissions on all logfiles are configured
        1. 対応
    18. 5.1.5 Ensure permissions on /etc/cron.weekly are configured
        1. 対応
    19. 5.2.10 Ensure SSH root login is disabled
        1. 対応
    20. Disable root login over SSH
        1. 対応
    21. 3.4.3 Ensure RDS is disabled
        1. 対応
    22. 5.2.8 Ensure SSH IgnoreRhosts is enabled
        1. 対応
    23. 5.1.3 Ensure permissions on /etc/cron.hourly are configured
        1. 対応
    24. 5.1.2 Ensure permissions on /etc/crontab are configured
        1. 対応
    25. 5.1.7 Ensure permissions on /etc/cron.d are configured
        1. 対応
    26. CVE-2021-35477
    27. CVE-2021-3655
    28. CVE-2021-22543
    29. CVE-2021-34556
        1. 対応
    30. 4.1.1.3 Ensure audit logs are not automatically deleted
        1. 対応
    31. 4.1.1.2 Ensure system is disabled when audit logs are full
        1. 対応
    32. 5.2.12 Ensure SSH PermitUserEnvironment is disabled
        1. 対応
    33. 5.3.1 Ensure password creation requirements are configured
        1. 対応
    34. 5.3.3 Ensure password reuse is limited
        1. 対応
    35. 5.1.6 Ensure permissions on /etc/cron.monthly are configured
        1. 対応
    36. 5.1.8 Ensure at/cron is restricted to authorized users
        1. 対応
    37. 3.4.1 Ensure DCCP is disabled
        1. 対応
    38. 3.6 Disable IPv6
        1. 対応
    39. 4.1.3 Ensure auditing for processes that start prior to auditd is enabled
        1. 対応
    40. 4.1.18 Ensure the audit configuration is immutable
        1. 対応
    41. 3.4.4 Ensure TIPC is disabled
        1. 対応
    42. 5.2.9 Ensure SSH HostbasedAuthentication is disabled
        1. 対応
    43. 5.2.7 Ensure SSH MaxAuthTries is set to 4 or less
        1. 対応
    44. 5.2.4 Ensure SSH Protocol is set to 2
        1. 対応
    45. 5.4.1.1 Ensure password expiration is 365 days or less
        1. 対応
    46. 5.4.1.2 Ensure minimum days between password changes is 7 or more
        1. 対応
    47. 5.2.6 Ensure SSH X11 forwarding is disabled
        1. 対応
    48. 5.4.1.4 Ensure inactive password lock is 30 days or less
        1. 対応
    49. 5.2.11 Ensure SSH PermitEmptyPasswords is disabled
        1. 対応
    50. 3.1.2 Ensure packet redirect sending is disabled
        1. 対応
    51. 3.2.8 Ensure TCP SYN Cookies is enabled
        1. 対応
    52. 3.2.9 Ensure IPv6 router advertisements are not accepted
        1. 対応
    53. 3.1.1 Ensure IP forwarding is disabled
        1. 対応
    54. 3.2.1 Ensure source routed packets are not accepted
        1. 対応
    55. 3.2.2 Ensure ICMP redirects are not accepted
        1. 対応
    56. 3.2.3 Ensure secure ICMP redirects are not accepted
        1. 対応
    57. 3.2.4 Ensure suspicious packets are logged
        1. 対応
    58. 3.2.5 Ensure broadcast ICMP requests are ignored
        1. 対応
    59. 3.2.6 Ensure bogus ICMP responses are ignored
        1. 対応
    60. 3.2.7 Ensure Reverse Path Filtering is enabled
        1. 対応
    61. 3.3.3 Ensure /etc/hosts.deny is configured
        1. 対応
    62. 5.2.18 Ensure SSH access is limited
        1. 対応
    63. 1.7.1.2 Ensure local login warning banner is configured properly
        1. 対応
    64. 1.7.1.3 Ensure remote login warning banner is configured properly
        1. 対応
    65. 4.1.16 Ensure system administrator actions (sudolog) are collected
        1. 対応
    66. 4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected
        1. 対応
    67. 4.1.8 Ensure login and logout events are collected
        1. 対応
    68. 4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected
        1. 対応
    69. 4.1.9 Ensure session initiation information is collected
        1. 対応
    70. 4.1.15 Ensure changes to system administration scope (sudoers) is collected
        1. 対応
    71. 4.1.4 Ensure events that modify date and time information are collected
        1. 対応(64bit)
    72. 4.1.5 Ensure events that modify user/group information are collected
        1. 対応
    73. 4.1.6 Ensure events that modify the system’s network environment are collected
        1. 対応(64bit)
    74. 4.1.10 Ensure discretionary access control permission modification events are collected
        1. 対応(64bit)
    75. 4.1.17 Ensure kernel module loading and unloading is collected
        1. 対応(64bit)
    76. 4.1.11 Ensure unsuccessful unauthorized file access attempts are collected
        1. 対応(64bit)
    77. 4.1.14 Ensure file deletion events by users are collected
        1. 対応(64bit)
    78. 4.1.13 Ensure successful file system mounts are collected
        1. 対応(64bit)
    79. 5.2.5 Ensure SSH LogLevel is appropriate
        1. 対応
    80. 5.2.13 Ensure only strong ciphers are used
        1. 対応
    81. 5.2.14 Ensure only strong MAC algorithms are used
        1. 対応
    82. 5.2.15 Ensure that strong Key Exchange algorithms are used
        1. 対応
    83. 5.2.16 Ensure SSH Idle Timeout Interval is configured
        1. 対応
    84. 5.2.17 Ensure SSH LoginGraceTime is set to one minute or less
        1. 対応
    85. 関連

Amazon Inspector診断結果の脆弱性対応

1.1.1.1 Ensure mounting of cramfs filesystems is disabled

1.1.1.1 Ensure mounting of cramfs filesystems is disabled

対応

コマンドを実行します。

$ echo "install cramfs /bin/true" >> /etc/modprobe.d/cramfs.conf
$ rmmod cramfs
rmmod: ERROR: Module cramfs is not currently loaded

1.1.1.2 Ensure mounting of hfs filesystems is disabled

1.1.1.2 Ensure mounting of hfs filesystems is disabled

対応

コマンドを実行します。

$ echo "install hfs /bin/true" >> /etc/modprobe.d/hfs.conf
$ rmmod hfs
rmmod: ERROR: Module hfs is not currently loaded
$

1.1.1.3 Ensure mounting of hfsplus filesystems is disabled

1.1.1.3 Ensure mounting of hfsplus filesystems is disabled

対応

viで/etc/modprobe.d/hfsplus.confを開きます。

$ vi /etc/modprobe.d/hfsplus.conf

1行追加します。

install hfsplus /bin/true

コマンドを実行します。

$ rmmod hfsplus
rmmod: ERROR: Module hfsplus is not currently loaded

1.1.1.4 Ensure mounting of squashfs filesystems is disabled

1.1.1.4 Ensure mounting of squashfs filesystems is disabled

対応

viで/etc/modprobe.d/squashfs.confを開きます。

$ vi /etc/modprobe.d/squashfs.conf

1行追加します。

install squashfs /bin/true

コマンドを実行します。

$ rmmod squashfs
rmmod: ERROR: Module squashfs is not currently loaded

1.1.1.5 Ensure mounting of udf filesystems is disabled

1.1.1.5 Ensure mounting of udf filesystems is disabled

対応

コマンドを実行します。

$ echo "install udf /bin/true" >> /etc/modprobe.d/udf.conf
$ rmmod udf
rmmod: ERROR: Module udf is not currently loaded
$

1.3.1 Ensure AIDE is installed

1.3.1 Ensure AIDE is installed

aideをインストールします。

$ yum install aide

aideを初期化します。

$ aide --init
$ mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

1.3.2 Ensure filesystem integrity is regularly checked

1.3.2 Ensure filesystem integrity is regularly checked

コマンドを実行します。

$ crontab -u root -e

1行追加します。

0 5 * * * /usr/sbin/aide --check

1.5.1 Ensure core dumps are restricted

1.5.1 Ensure core dumps are restricted

対応

viで/etc/security/limits.confを開きます。

$ vi /etc/security/limits.conf

1行追加します。

* hard core 0

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

1行追加します。

fs.suid_dumpable = 0

1.5.2 Ensure address space layout randomization (ASLR) is enabled

1.5.2 Ensure address space layout randomization (ASLR) is enabled

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下1行追加します。

kernel.randomize_va_space = 2

コマンドを実行します。

$ sysctl -w kernel.randomize_va_space=2

CVE-2021-3655

3.4.2 Ensure SCTP is disabled

対応

コマンドを実行し再起動します。

$ echo "install sctp /bin/true" >> /etc/modprobe.d/disable-sctp.conf
$ reboot
CVE - CVE-2021-3655
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.

CVE-2020-8285

curl 7.21.0 to and including 7.73.0 is vulnerable to uncontrolled recursion due to a stack overflow issue in FTP wildcard match parsing.

対応

コマンドを実行します。

$ yum -y install libcurl libcurl-devel

5.2.19 Ensure SSH warning banner is configured

5.2.19 Ensure SSH warning banner is configured

対応

sshログイン時のバナーを表示します。viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#Banner none
Banner /etc/issue.net

リスタートします。

$ systemctl restart sshd

1.6.1.2 Ensure the SELinux state is enforcing

1.6.1.2 Ensure the SELinux state is enforcing

対応

viで/etc/selinux/configを開きます。

$ vi /etc/selinux/config

以下1行追加します。

#SELINUX=disabled
SELINUX=enforcing

再起動します。

$ reboot

sestatusコマンドで確認し、enabledになっていればOKです。

$ sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

1.6.1.3 Ensure SELinux policy is configured

1.6.1.3 Ensure SELinux policy is configured

対応

viで/etc/selinux/configを開きます。

$ vi /etc/selinux/config

以下1行追加します。

SELINUXTYPE=targeted

5.1.4 Ensure permissions on /etc/cron.daily are configured

5.1.4 Ensure permissions on /etc/cron.daily are configured

対応

以下コマンドを実行します。

$ chown root:root /etc/cron.daily
$ chmod og-rwx /etc/cron.daily

4.2.1.3 Ensure rsyslog default file permissions configured

4.2.1.3 Ensure rsyslog default file permissions configured

対応

viで/etc/rsyslog.confを開きます。

$ vi /etc/rsyslog.conf

以下1行追加します。

$ $FileCreateMode 0640

4.2.4 Ensure permissions on all logfiles are configured

4.2.4 Ensure permissions on all logfiles are configured

対応

コマンドを実行します。

$ find -L /var/log -type f -exec chmod g-wx,o-rwx {} +

5.1.5 Ensure permissions on /etc/cron.weekly are configured

5.1.5 Ensure permissions on /etc/cron.weekly are configured

対応

以下コマンドを実行します。

$ chown root:root /etc/cron.weekly
$ chmod og-rwx /etc/cron.weekly

5.2.10 Ensure SSH root login is disabled

5.2.10 Ensure SSH root login is disabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#PermitRootLogin yes
PermitRootLogin no

リスタートします。

$ systemctl restart sshd

Disable root login over SSH

Disable root login over SSH

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#PermitRootLogin yes
PermitRootLogin no

リスタートします。

$ systemctl restart sshd

3.4.3 Ensure RDS is disabled

3.4.3 Ensure RDS is disabled

対応

コマンドを実行します。

$ echo "install rds /bin/true" >> /etc/modprobe.d/CIS.conf

5.2.8 Ensure SSH IgnoreRhosts is enabled

5.2.8 Ensure SSH IgnoreRhosts is enabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

IgnoreRhosts yes

リスタートします。

$ systemctl restart sshd

5.1.3 Ensure permissions on /etc/cron.hourly are configured

5.1.3 Ensure permissions on /etc/cron.hourly are configured

対応

以下コマンドを実行します。

$ chown root:root /etc/cron.hourly
$ chmod og-rwx /etc/cron.hourly

5.1.2 Ensure permissions on /etc/crontab are configured

5.1.2 Ensure permissions on /etc/crontab are configured

対応

以下コマンドを実行します。

$ chown root:root /etc/crontab
$ chmod og-rwx /etc/crontab

5.1.7 Ensure permissions on /etc/cron.d are configured

5.1.7 Ensure permissions on /etc/cron.d are configured

対応

以下コマンドを実行します。

$ chown root:root /etc/cron.d
$ chmod og-rwx /etc/cron.d

CVE-2021-35477

In the Linux kernel through 5.13.7, an unprivileged BPF program can obtain sensitive information from kernel memory via a Speculative Store Bypass side-channel attack because a certain preempting store operation does not necessarily occur before a store operation that has an attacker-controlled value.

CVE-2021-3655

A vulnerability was found in the Linux kernel in versions before v5.14-rc1. Missing size validations on inbound SCTP packets may allow the kernel to read uninitialized memory.

CVE-2021-22543

An issue was discovered in Linux: KVM through Improper handling of VM_IO|VM_PFNMAP vmas in KVM can bypass RO checks and can lead to pages being freed while still accessible by the VMM and guest. This allows users with the ability to start and control a VM to read/write random pages of memory and can result in local privilege escalation.

CVE-2021-34556

In the Linux kernel through 5.13.7, an unprivileged BPF program can obtain sensitive information from kernel memory via a Speculative Store Bypass side-channel attack because the protection mechanism neglects the possibility of uninitialized memory locations on the BPF stack.

対応

kernelのバージョンを確認します。

$ rpm -qa | grep "^kernel"
kernel-4.14.238-182.422.amzn2.x86_64
kernel-tools-4.14.238-182.422.amzn2.x86_64

以下コマンドを実行してkernelのアップデートをします。

$ yum update kernel kernel-tools
$ reboot

再起動して最新のカーネルになっている確認します。

$ uname -srv
Linux 4.14.243-185.433.amzn2.x86_64 #1 SMP Mon Aug 9 05:55:52 UTC 2021
CVE - CVE-2021-35477
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.
CVE - CVE-2021-3655
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.
CVE - CVE-2021-22543
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.
CVE - CVE-2021-34556
The mission of the CVE® Program is to identify, define, and catalog publicly disclosed cybersecurity vulnerabilities.

4.1.1.3 Ensure audit logs are not automatically deleted

4.1.1.3 Ensure audit logs are not automatically deleted

対応

viでauditd.confを開きます。

$ vi /etc/audit/auditd.conf

以下1行変更します。

#max_log_file_action = ROTATE
max_log_file_action = keep_logs

リスタートします。

$ service auditd restart

4.1.1.2 Ensure system is disabled when audit logs are full

4.1.1.2 Ensure system is disabled when audit logs are full

対応

viでauditd.confを開きます。

$ vi /etc/audit/auditd.conf

以下3行変更します。

space_left_action = email
#action_mail_acct = root
action_mail_acct = root
#admin_space_left_action = SUSPEND
admin_space_left_action = halt

リスタートします。

$ service auditd restart

5.2.12 Ensure SSH PermitUserEnvironment is disabled

5.2.12 Ensure SSH PermitUserEnvironment is disabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#PermitUserEnvironment no
PermitUserEnvironment no

リスタートします。

$ systemctl restart sshd

5.3.1 Ensure password creation requirements are configured

5.3.1 Ensure password creation requirements are configured

対応

viで/etc/pam.d/password-authを開きます。

$ /etc/pam.d/password-auth

1行変更します。

#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password requisite pam_pwquality.so try_first_pass retry=3

viで/etc/pam.d/system-authを開きます。

$ vi /etc/pam.d/system-auth

1行変更します。

#password requisite pam_pwquality.so try_first_pass local_users_only retry=3 authtok_type=
password requisite pam_pwquality.so try_first_pass retry=3

viで/etc/security/pwquality.confを開きます。

$ vi /etc/security/pwquality.conf

5行追加します。

minlen = 14
dcredit = -1
ucredit = -1
ocredit = -1
lcredit = -1

5.3.3 Ensure password reuse is limited

5.3.3 Ensure password reuse is limited

対応

viで/etc/pam.d/password-authを開きます。

$ vi /etc/pam.d/password-auth

以下1行変更します。

#password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password sufficient pam_unix.so remember=5 try_first_pass use_authtok nullok sha512 shadow

viでを開きます。

$ vi /etc/pam.d/system-auth

以下1行変更します。

#password sufficient pam_unix.so try_first_pass use_authtok nullok sha512 shadow
password sufficient pam_unix.so remember=5 try_first_pass use_authtok nullok sha512 shadow

5.1.6 Ensure permissions on /etc/cron.monthly are configured

5.1.6 Ensure permissions on /etc/cron.monthly are configured

対応

コマンドを実行します。

$ chown root:root /etc/cron.monthly
$ chmod og-rwx /etc/cron.monthly

5.1.8 Ensure at/cron is restricted to authorized users

5.1.8 Ensure at/cron is restricted to authorized users

対応

/etc/cron.denyとrm /etc/at.denyを削除します。/etc/cron.allowと/etc/at.allowを作成し、chmodとchownを実行します。

$ rm /etc/cron.deny
$ rm /etc/at.deny
$ touch /etc/cron.allow
$ touch /etc/at.allow
$ chmod og-rwx /etc/cron.allow
$ chmod og-rwx /etc/at.allow
$ chown root:root /etc/cron.allow
$ chown root:root /etc/at.allow

3.4.1 Ensure DCCP is disabled

3.4.1 Ensure DCCP is disabled

対応

コマンドを実行します。

$ echo "install dccp /bin/true" >> /etc/modprobe.d/CIS.conf

3.6 Disable IPv6

3.6 Disable IPv6

対応

viで/etc/default/grubを開きます。

$ vi /etc/default/grub

1行追加します。

GRUB_CMDLINE_LINUX="ipv6.disable=1"

コマンドを実行します。

$ grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.243-185.433.amzn2.x86_64
Found initrd image: /boot/initramfs-4.14.243-185.433.amzn2.x86_64.img
Found linux image: /boot/vmlinuz-4.14.238-182.422.amzn2.x86_64
Found initrd image: /boot/initramfs-4.14.238-182.422.amzn2.x86_64.img
done

4.1.3 Ensure auditing for processes that start prior to auditd is enabled

4.1.3 Ensure auditing for processes that start prior to auditd is enabled

対応

viで/etc/default/grubを開きます。

$ vi /etc/default/grub

以下のように修正します。「 audit=1」を追加しています。

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0"

GRUB_CMDLINE_LINUX_DEFAULT="console=tty0 console=ttyS0,115200n8 net.ifnames=0 biosdevname=0 nvme_core.io_timeout=4294967295 rd.emergency=poweroff rd.shell=0 audit=1"

コマンドを実行します。

$ grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.14.243-185.433.amzn2.x86_64
Found initrd image: /boot/initramfs-4.14.243-185.433.amzn2.x86_64.img
Found linux image: /boot/vmlinuz-4.14.238-182.422.amzn2.x86_64
Found initrd image: /boot/initramfs-4.14.238-182.422.amzn2.x86_64.img
done

4.1.18 Ensure the audit configuration is immutable

4.1.18 Ensure the audit configuration is immutable

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルの末尾に以下1行を追加します。

-e 2

リスタートします。

$ service auditd restart

3.4.4 Ensure TIPC is disabled

3.4.4 Ensure TIPC is disabled

対応

コマンドを実行します。

$ echo "install tipc /bin/true" >> /etc/modprobe.d/CIS.conf

5.2.9 Ensure SSH HostbasedAuthentication is disabled

5.2.9 Ensure SSH HostbasedAuthentication is disabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

HostbasedAuthentication no

リスタートします。

$ systemctl restart sshd

5.2.7 Ensure SSH MaxAuthTries is set to 4 or less

5.2.7 Ensure SSH MaxAuthTries is set to 4 or less

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#MaxAuthTries 6
MaxAuthTries 4

リスタートします。

$ systemctl restart sshd

5.2.4 Ensure SSH Protocol is set to 2

5.2.4 Ensure SSH Protocol is set to 2

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

Protocol 2

リスタートします。

$ systemctl restart sshd

5.4.1.1 Ensure password expiration is 365 days or less

5.4.1.1 Ensure password expiration is 365 days or less

対応

viで/etc/login.defsを開きます。

$  vi /etc/login.defs

以下1行追加します。

#PASS_MAX_DAYS 99999 #有効期限なしの意味
PASS_MAX_DAYS 90 #90日に変更

5.4.1.2 Ensure minimum days between password changes is 7 or more

5.4.1.2 Ensure minimum days between password changes is 7 or more

対応

viで/etc/login.defsを開きます。

$  vi /etc/login.defs

以下1行変更します。

#PASS_MIN_DAYS 0
PASS_MIN_DAYS 7

5.2.6 Ensure SSH X11 forwarding is disabled

5.2.6 Ensure SSH X11 forwarding is disabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

#X11Forwarding yes
X11Forwarding no

リスタートします。

$ systemctl restart sshd

5.4.1.4 Ensure inactive password lock is 30 days or less

5.4.1.4 Ensure inactive password lock is 30 days or less

対応

コマンドを実行します。

$ useradd -D -f 30

5.2.11 Ensure SSH PermitEmptyPasswords is disabled

5.2.11 Ensure SSH PermitEmptyPasswords is disabled

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。

PermitEmptyPasswords no

リスタートします。

$ systemctl restart sshd

3.1.2 Ensure packet redirect sending is disabled

3.1.2 Ensure packet redirect sending is disabled

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.send_redirects=0
$ sysctl -w net.ipv4.conf.default.send_redirects=0
$ sysctl -w net.ipv4.route.flush=1

3.2.8 Ensure TCP SYN Cookies is enabled

3.2.8 Ensure TCP SYN Cookies is enabled

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.tcp_syncookies = 1

コマンドを実行します。

$ sysctl -w net.ipv4.tcp_syncookies=1
$ sysctl -w net.ipv4.route.flush=1

3.2.9 Ensure IPv6 router advertisements are not accepted

3.2.9 Ensure IPv6 router advertisements are not accepted

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv6.conf.all.accept_ra = 0
net.ipv6.conf.default.accept_ra = 0

コマンドを実行します。

$ sysctl -w net.ipv6.conf.all.accept_ra=0
$ sysctl -w net.ipv6.conf.default.accept_ra=0
$ sysctl -w net.ipv6.route.flush=1

3.1.1 Ensure IP forwarding is disabled

3.1.1 Ensure IP forwarding is disabled

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.ip_forward = 0
net.ipv6.conf.all.forwarding = 0

コマンドを実行します。

$ sysctl -w net.ipv4.ip_forward=0
$ sysctl -w net.ipv6.conf.all.forwarding=0
$ sysctl -w net.ipv4.route.flush=1
$ sysctl -w net.ipv6.route.flush=1

3.2.1 Ensure source routed packets are not accepted

3.2.1 Ensure source routed packets are not accepted

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.accept_source_route=0
$ sysctl -w net.ipv4.conf.default.accept_source_route=0
$ sysctl -w net.ipv6.conf.all.accept_source_route=0
$ sysctl -w net.ipv6.conf.default.accept_source_route=0
$ sysctl -w net.ipv4.route.flush=1
$ sysctl -w net.ipv6.route.flush=1

3.2.2 Ensure ICMP redirects are not accepted

3.2.2 Ensure ICMP redirects are not accepted

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv6.conf.default.accept_redirects = 0

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.accept_redirects=0
$ sysctl -w net.ipv4.conf.default.accept_redirects=0
$ sysctl -w net.ipv6.conf.all.accept_redirects=0
$ sysctl -w net.ipv6.conf.default.accept_redirects=0
$ sysctl -w net.ipv4.route.flush=1
$ sysctl -w net.ipv6.route.flush=1

3.2.3 Ensure secure ICMP redirects are not accepted

3.2.3 Ensure secure ICMP redirects are not accepted

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行を追加します。

net.ipv4.conf.all.secure_redirects = 0
net.ipv4.conf.default.secure_redirects = 0

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.secure_redirects=0
$ sysctl -w net.ipv4.conf.default.secure_redirects=0
$ sysctl -w net.ipv4.route.flush=1

3.2.4 Ensure suspicious packets are logged

3.2.4 Ensure suspicious packets are logged

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下2行追加します。

net.ipv4.conf.all.log_martians = 1
net.ipv4.conf.default.log_martians = 1

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.log_martians=1
$ sysctl -w net.ipv4.conf.default.log_martians=1
$ sysctl -w net.ipv4.route.flush=1

3.2.5 Ensure broadcast ICMP requests are ignored

3.2.5 Ensure broadcast ICMP requests are ignored

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下1行追加します。

net.ipv4.icmp_echo_ignore_broadcasts = 1

コマンドを実行します。

$ sysctl -w net.ipv4.icmp_echo_ignore_broadcasts=1
$ sysctl -w net.ipv4.route.flush=1

3.2.6 Ensure bogus ICMP responses are ignored

3.2.6 Ensure bogus ICMP responses are ignored

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下1行追加します。

net.ipv4.icmp_ignore_bogus_error_responses = 1

コマンドを実行します。

$ sysctl -w net.ipv4.icmp_ignore_bogus_error_responses=1
$ sysctl -w net.ipv4.route.flush=1

3.2.7 Ensure Reverse Path Filtering is enabled

3.2.7 Ensure Reverse Path Filtering is enabled

対応

viで/etc/sysctl.confを開きます。

$ vi /etc/sysctl.conf

以下1行追加します。

net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

コマンドを実行します。

$ sysctl -w net.ipv4.conf.all.rp_filter=1
$ sysctl -w net.ipv4.conf.default.rp_filter=1
$ sysctl -w net.ipv4.route.flush=1

3.3.3 Ensure /etc/hosts.deny is configured

3.3.3 Ensure /etc/hosts.deny is configured

対応

 

5.2.18 Ensure SSH access is limited

5.2.18 Ensure SSH access is limited

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

AllowUsers,AllowGroups,DenyUsers,DenyGroupsいずれか一つ以上設定します。

AllowUsers ec2-user root

リスタートします。

$ systemctl restart sshd

1.7.1.2 Ensure local login warning banner is configured properly

1.7.1.2 Ensure local login warning banner is configured properly

対応

Linuxログイン時にバナー表示させるために/etc/issueに何かメッセージを入力します。

コマンドを実行します。

$ echo "Authorized uses only. All activity may be monitored and reported." > /etc/issue

1.7.1.3 Ensure remote login warning banner is configured properly

1.7.1.3 Ensure remote login warning banner is configured properly

対応

Linuxログイン時にバナー表示させるために/etc/issueに何かメッセージを入力します。

コマンドを実行します。

4.1.16 Ensure system administrator actions (sudolog) are collected

4.1.16 Ensure system administrator actions (sudolog) are collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下1行を追加します。

 -w /var/log/sudo.log -p wa -k actions

リスタートします。

$ service auditd restart

4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected

4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-w /etc/selinux/ -p wa -k MAC-policy
-w /usr/share/selinux/ -p wa -k MAC-policy

リスタートします。

$ service auditd restart

4.1.8 Ensure login and logout events are collected

4.1.8 Ensure login and logout events are collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-w /var/log/lastlog -p wa -k logins
-w /var/run/faillock/ -p wa -k logins

リスタートします。

$ service auditd restart

4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected

4.1.7 Ensure events that modify the system’s Mandatory Access Controls are collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-w /etc/selinux/ -p wa -k MAC-policy
-w /usr/share/selinux/ -p wa -k MAC-policy

リスタートします。

$ service auditd restart

4.1.9 Ensure session initiation information is collected

4.1.9 Ensure session initiation information is collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下3行を追加します。

-w /var/run/utmp -p wa -k session
-w /var/log/wtmp -p wa -k logins
-w /var/log/btmp -p wa -k logins

リスタートします。

$ service auditd restart

4.1.15 Ensure changes to system administration scope (sudoers) is collected

4.1.15 Ensure changes to system administration scope (sudoers) is collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-w /etc/sudoers -p wa -k scope
-w /etc/sudoers.d/ -p wa -k scope

リスタートします。

$ service auditd restart

4.1.4 Ensure events that modify date and time information are collected

4.1.4 Ensure events that modify date and time information are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下5行を追加します。

-a always,exit -F arch=b64 -S adjtimex -S settimeofday -k time-change
-a always,exit -F arch=b32 -S adjtimex -S settimeofday -S stime -k time-change
-a always,exit -F arch=b64 -S clock_settime -k time-change
-a always,exit -F arch=b32 -S clock_settime -k time-change
-w /etc/localtime -p wa -k time-change

リスタートします。

$ service auditd restart

4.1.5 Ensure events that modify user/group information are collected

4.1.5 Ensure events that modify user/group information are collected

対応

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下5行を追加します。

-w /etc/group -p wa -k identity
-w /etc/passwd -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/security/opasswd -p wa -k identity

リスタートします。

$ service auditd restart

4.1.6 Ensure events that modify the system’s network environment are collected

4.1.6 Ensure events that modify the system’s network environment are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下7行を追加します。

-a always,exit -F arch=b64 -S sethostname -S setdomainname -k system-locale
-a always,exit -F arch=b32 -S sethostname -S setdomainname -k system-locale
-w /etc/issue -p wa -k system-locale
-w /etc/issue.net -p wa -k system-locale
-w /etc/hosts -p wa -k system-locale
-w /etc/sysconfig/network -p wa -k system-locale
-w /etc/sysconfig/network-scripts/ -p wa -k system-locale

リスタートします。

$ service auditd restart

4.1.10 Ensure discretionary access control permission modification events are collected

4.1.10 Ensure discretionary access control permission modification events are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下6行を追加します。

-a always,exit -F arch=b64 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b32 -S chmod -S fchmod -S fchmodat -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b64 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b32 -S chown -S fchown -S fchownat -S lchown -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b64 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod
-a always,exit -F arch=b32 -S setxattr -S lsetxattr -S fsetxattr -S removexattr -S lremovexattr -S fremovexattr -F auid>=1000 -F auid!=4294967295 -k perm_mod

リスタートします。

$ service auditd restart

4.1.17 Ensure kernel module loading and unloading is collected

4.1.17 Ensure kernel module loading and unloading is collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下4行を追加します。

-w /sbin/insmod -p x -k modules
-w /sbin/rmmod -p x -k modules
-w /sbin/modprobe -p x -k modules
-a always,exit -F arch=b64 -S init_module -S delete_module -k modules

リスタートします。

$ service auditd restart

4.1.11 Ensure unsuccessful unauthorized file access attempts are collected

4.1.11 Ensure unsuccessful unauthorized file access attempts are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下4行を追加します。

-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access
-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EACCES -F auid>=1000 -F auid!=4294967295 -k access
-a always,exit -F arch=b64 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access
-a always,exit -F arch=b32 -S creat -S open -S openat -S truncate -S ftruncate -F exit=-EPERM -F auid>=1000 -F auid!=4294967295 -k access

リスタートします。

$ service auditd restart

4.1.14 Ensure file deletion events by users are collected

4.1.14 Ensure file deletion events by users are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete
-a always,exit -F arch=b32 -S unlink -S unlinkat -S rename -S renameat -F auid>=1000 -F auid!=4294967295 -k delete

リスタートします。

$ service auditd restart

4.1.13 Ensure successful file system mounts are collected

4.1.13 Ensure successful file system mounts are collected

対応(64bit)

viで/etc/audit/rules.d/audit.rulesを開きます。

$ vi /etc/audit/rules.d/audit.rules

ファイルに以下2行を追加します。

-a always,exit -F arch=b64 -S mount -F auid>=1000 -F auid!=4294967295 -k mounts
-a always,exit -F arch=b32 -S mount -F auid>=1000 -F auid!=4294967295 -k mounts

リスタートします。

$ service auditd restart

5.2.5 Ensure SSH LogLevel is appropriate

5.2.5 Ensure SSH LogLevel is appropriate

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行変更します。

#LogLevel INFO
LogLevel INFO

リスタートします。

$ systemctl restart sshd

5.2.13 Ensure only strong ciphers are used

5.2.13 Ensure only strong ciphers are used

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。暗号化アルゴリズムはカンマ区切りで指定します。

Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr

リスタートします。

$ systemctl restart sshd

5.2.14 Ensure only strong MAC algorithms are used

5.2.14 Ensure only strong MAC algorithms are used

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。暗号化アルゴリズムはカンマ区切りで指定します。

MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256

リスタートします。

$ systemctl restart sshd

5.2.15 Ensure that strong Key Exchange algorithms are used

5.2.15 Ensure that strong Key Exchange algorithms are used

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行追加します。キーアルゴリズムはカンマ区切りで指定します。

KexAlgorithms curve25519-sha256,curve25519-sha256@libssh.org,diffie-hellman-group14-sha256,diffie-hellman-group16-sha512,diffie-hellman-group18-sha512,ecdh-sha2-nistp521,ecdh-sha2-nistp384,ecdh-sha2-nistp256,diffie-hellman-group-exchange-sha256

リスタートします。

$ systemctl restart sshd

5.2.16 Ensure SSH Idle Timeout Interval is configured

5.2.16 Ensure SSH Idle Timeout Interval is configured

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下2行変更します。

#ClientAliveInterval 0
ClientAliveInterval 300
#ClientAliveCountMax 3
ClientAliveCountMax 0

リスタートします。

$ systemctl restart sshd

5.2.17 Ensure SSH LoginGraceTime is set to one minute or less

5.2.17 Ensure SSH LoginGraceTime is set to one minute or less

対応

viでsshd_configを開きます。

$ vi /etc/ssh/sshd_config

以下1行変更します。

#LoginGraceTime 2m
LoginGraceTime 60

リスタートします。

$ systemctl restart sshd

※Inspectorの実行方法は「AWS EC2にはInspector導入して脆弱性を検知する」を参照ください。

コメント

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました