内核参数

加固内核参数

说明

内核参数决定配置和应用特权的状态。内核提供用户可配置的系统控制,这一系统控制可微调或配置,该功能特性可通过控制各种可配置的内核参数,来提高操作系统的安全特性。比如:通过微调或配置网络选项,可有效提高系统的安全性。

实现

  1. 表3中的加固项写入/etc/sysctl.conf文件中。

    内核参数 - 图1 说明:
    写入方式如下:

    1. net.ipv4.icmp_echo_ignore_broadcasts = 1
    2. net.ipv4.conf.all.rp_filter = 1
    3. net.ipv4.conf.default.rp_filter = 1

    表 3 内核参数加固策略说明

    加固项

    加固项说明

    加固建议

    openEuler默认是否已加固为建议值

    net.ipv4.icmp_echo_ignore_broadcasts

    是否接受ICMP广播报文。加固策略为不接受。

    1

    net.ipv4.conf.all.rp_filter

    验证数据包使用的实际源地址是否与路由表相关,以及使用该特定源IP地址的数据包是否通过接口获取其响应。加固策略为启用该项。

    1

    net.ipv4.conf.default.rp_filter

    1

    net.ipv4.ip_forward

    IP Forwarding可阻止未授权的IP数据包渗透至网络。加固策略为禁用该特性。

    0

    net.ipv4.conf.all.accept_source_route

    accept_source_route指允许数据包的发送者指定数据包的发送路径,以及返回给发送者的数据包所走的路径。加固策略为禁用该特性。

    0

    net.ipv4.conf.default.accept_source_route

    0

    net.ipv4.conf.all.accept_redirects

    是否发送ICMP重定向报文。加固策略为禁止发送。

    0

    net.ipv4.conf.default.accept_redirects

    0

    net.ipv6.conf.all.accept_redirects

    0

    net.ipv6.conf.default.accept_redirects

    0

    net.ipv4.conf.all.send_redirects

    是否将ICMP重定向报文发送至其他主机。只有当主机作为路由时,应启用该策略。加固策略为禁用该项。

    0

    net.ipv4.conf.default.send_redirects

    0

    net.ipv4.icmp_ignore_bogus_error_responses

    忽略伪造的ICMP数据包,不会将其记录到日志,将节省大量的硬盘空间。加固策略为启用该项。

    1

    net.ipv4.tcp_syncookies

    SYN Attack是一种通过占用系统资源迫使系统重启的DoS攻击。加固策略为开启TCP-SYN cookie保护。

    1

    kernel.dmesg_restrict

    加固dmesg信息,仅允许管理员查看。

    1

    kernel.sched_autogroup_enabled

    该选项决定内核是否对线程进行自动分组调度。开启后调度组之间互相竞争时间片,调度组内的线程再竞争调度组分配到的时间片。加固策略为不启用该项。

    0

    kernel.sysrq

    禁用魔术键。

    说明:

    建议禁用魔术键,避免由于直接发送命令到内核对系统造成影响,增强内核安全性。

    0

    net.ipv4.conf.all.secure_redirects

    设置系统是接收来自任何主机的ICMP重定向消息还是从默认网关列表中的网关处接收ICMP重定向消息。加固策略为采用前者。

    0

    net.ipv4.conf.default.secure_redirects

    0

  2. 加载sysctl.conf文件中设置的内核参数。

    1. sysctl -p /etc/sysctl.conf

其它安全建议

  • net.ipv4.icmp_echo_ignore_all:忽略ICMP请求。

    出于安全考虑,建议开启此项(当前默认值为0,开启将值设为1)。

    但开启后会忽略所有接收到的icmp echo请求的包(会导致机器无法ping通),建议用户根据实际组网场景决定是否开启此项。

  • net.ipv4.conf.all.log_martians/net.ipv4.conf.default.log_martians:对于仿冒/源路由/重定向数据包开启日志记录。

    出于安全考虑,建议开启此项(当前默认值为0,开启将值设为1)。

    但是开启后会记录带有不允许的地址的数据到内核日志中,存在冲日志风险,建议用户根据实际使用场景决定是否开启此项。

  • net.ipv4.tcp_timestamps:关闭tcp_timestamps。

    出于安全考虑,建议关闭tcp_timestamps(当前默认值为1,关闭将值设为0)。

    但是关闭此项会影响TCP超时重发的性能,建议用户根据实际使用场景决定是否关闭此项。

  • net.ipv4.tcp_max_syn_backlog:决定了SYN_RECV状态队列的数量。

    该参数决定了SYN_RECV状态队列的数量,超过这个数量,系统将不再接受新的TCP连接请求,一定程度上可以防止系统资源耗尽。建议由用户根据实际使用场景配置合适的值。