1.3.4 原生安全能力
在白环境理念中,更推荐使用应用系统中各个组件的原生安全能力。主要原因有三个:第一,大多数操作系统、中间件、数据库等都提供原生安全能力,它与被防护组件的耦合度高,防护效果好;第二,可以大大减少由于引入第三方软件造成的额外安全隐患,例如软件供应链安全;第三,减少采购第三方软件的费用,降低投入,以达到最好的投入产出比。
在本节中,我们仅以Ubuntu操作系统和MySQL数据库为例,简单介绍它们各自的原生安全能力。
1.Ubuntu操作系统的原生安全能力
无论是Windows操作系统还是Linux操作系统,它们本身就具备比较完善的安全防护能力,完全可以胜任操作系统层的防护工作。以Ubuntu操作系统为例,它的原生安全能力列举如下。
❑ 它可以通过NetFilter以及iptables控制入向和出向的网络连接。
❑ 它可以通过传统文件访问控制以及访问控制列表(Access Control List,ACL)控制操作系统账号对目录和文件的访问。
❑ 它可以通过可插拔认证模块(Pluggable Authentication Modules,PAM)控制账号登录系统时所需的认证方式,例如密码认证、证书认证或者多因素认证等。
❑ 它可以通过su和sudo控制普通管理员的权限提升。
❑ 它可以通过Linux安全模块(Linux Security Module,LSM)实现强制访问控制,例如AppArmor等。
❑ 它可以利用fapolicyd来检测、控制不可信软件的执行。
❑ 它可以利用高级入侵检测环境(Advanced Intrusion Detection Environment,AIDE)来检测敏感文件和重要目录的变化。
❑ 它可以利用auditd和rsyslogd来记录和管理审计日志。……
2.MySQL数据库的原生安全能力
现在主流的关系型数据库也具备多种安全能力,可以胜任数据库的防护工作。以MySQL数据库为例,它的原生安全能力列举如下:
❑ 它可以通过GRANT命令或者操作系统层面的iptables限制只有可信IP才能访问。
❑ 它可以通过修改配置禁止以超级管理员(root)身份运行MySQL。
❑ 它可以通过多种插件来实现不同的认证方式。
❑ 它可以通过GRANT命令对用户访问数据库进行授权。
❑ 它可以通过使用传输层安全(Transport Layer Security,TLS)协议对传输进行加密。
❑ 它可以通过命令mysqldump对数据进行备份和恢复。
❑ 它可以通过修改配置文件或参数,开启日志记录功能,记录所有数据库的运行状况和操作行为。
在MySQL企业版中,还可以通过MySQL Enterprise Firewall对SQL语句的执行进行控制。