Linux系统安全规定_第1页
Linux系统安全规定_第2页
Linux系统安全规定_第3页
Linux系统安全规定_第4页
Linux系统安全规定_第5页
已阅读5页,还剩108页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Linux系统安全规定Linux系统安全规定

一、引言

Linux系统作为开源操作系统的代表,因其高度的灵活性和可定制性被广泛应用于服务器和个人电脑环境。为了保障Linux系统的安全稳定运行,必须遵循一系列安全规定和最佳实践。本文件旨在提供一套系统化的Linux系统安全规范,帮助管理员建立和维护安全的系统环境。内容涵盖账户管理、系统加固、网络防护、数据保护等多个方面。

二、账户安全管理

账户是系统安全的第一道防线,必须严格管理所有用户账户。

(一)账户创建与权限分配

1.所有新用户必须通过正规流程创建,避免直接使用root账户执行日常任务

2.为每个用户分配最小权限原则所需的账户,避免过度授权

3.定期审计用户账户权限,撤销不再需要的账户

4.为重要用户设置强密码策略,建议每30天更换一次密码

(二)密码策略实施

1.使用工具如`pam_pwquality`配置密码复杂度要求

-最小长度:12位字符

-必须包含大写字母、小写字母、数字和特殊符号

-禁用过去5次使用过的密码

2.启用密码历史记录功能,防止密码重复使用

3.对管理账户实施双因素认证(2FA)

(三)特权账户管理

1.严格限制root账户的使用,通过sudo机制授权普通用户执行特权操作

2.定期检查sudo日志(/var/log/sudo.log)发现异常行为

3.为特权账户设置专用密码,并定期更换

三、系统加固措施

系统加固是提升Linux系统安全性的基础工作。

(一)最小化安装原则

1.安装系统时仅选择必要的系统组件和服务

2.使用`yumgroupinstall"MinimalInstall"`等命令实现最小化安装

3.删除不必要的预装软件包,减少攻击面

(二)系统补丁管理

1.建立定期系统更新机制,建议每周至少更新一次

2.使用自动化工具如`unattended-upgrades`实现无人值守更新

3.更新前进行完整系统备份,保留系统回滚方案

4.优先安装安全相关补丁,高危漏洞必须在24小时内修复

(三)内核安全配置

1.启用SELinux安全模块,设置为enforcing模式

2.配置内核参数强化安全性

-`sysctl-wkernel.randomize_va_space=2`

-`sysctl-wnet.ipv4.conf.all.accept_source_route=0`

-`sysctl-wnet.ipv6.conf.all.accept_source_route=0`

3.禁用不必要的服务和协议

四、网络防护措施

网络防护是抵御外部攻击的关键环节。

(一)防火墙配置

1.安装和配置iptables或firewalld防火墙

2.默认拒绝所有入站连接,仅允许必要服务

3.为关键服务开放最小必要端口

-SSH:22端口

-HTTP:80端口

-HTTPS:443端口

4.定期审计防火墙规则,清理冗余规则

(二)网络服务安全

1.禁用不必要的服务,如FTP、TFTP、NFS等

2.SSH安全配置

-禁用root远程登录

-使用key-basedauthentication代替密码认证

-限制允许登录的IP地址

-设置SSH版本为SSHv2

3.Web服务器安全配置

-配置HTTP严格传输安全(HTTPS)

-禁用目录列表功能

-设置合理的timeouts参数

(三)入侵检测系统

1.部署Snort或Suricata进行实时入侵检测

2.配置适当的规则检测恶意流量

3.定期分析IDS日志,调整规则策略

五、数据保护措施

数据是系统安全的核心要素。

(一)数据备份策略

1.制定每日增量备份和每周完全备份计划

2.备份存储在物理隔离的设备上

3.定期测试备份数据的恢复流程

4.重要数据实施异地备份

(二)文件系统安全

1.对敏感目录实施额外权限控制

-/etc

-/var

-/root

2.使用ACLs增强文件访问控制

3.定期检查磁盘权限,修复SELinux标签错误

(三)加密技术应用

1.对敏感数据进行加密存储

-使用LUKS对整个磁盘加密

-使用GPG加密重要文件

2.配置TLS/SSL证书保护网络传输

3.对敏感数据库实施透明数据加密(TDE)

六、安全审计与监控

持续的安全监控是发现和响应威胁的关键。

(一)日志管理

1.部署中央日志服务器收集系统日志

-使用rsyslog或syslog-ng

2.配置日志转发到安全信息与事件管理(SIEM)系统

3.设置适当的日志保留策略,重要日志保留至少6个月

(二)监控系统配置

1.使用Nagios或Zabbix监控系统性能

2.设置关键指标告警阈值

-CPU使用率>90%

-内存使用率>85%

-磁盘空间<10%

3.配置实时监控仪表盘,可视化系统状态

(三)安全事件响应

1.建立安全事件响应流程文档

2.定义不同安全事件的响应级别

3.定期进行安全演练,检验响应能力

七、物理安全措施

物理安全是系统安全的最后一道防线。

(一)机房环境

1.确保机房环境温度控制在18-26℃

2.配置UPS不间断电源系统

3.实施严格的机房访问控制

(二)设备安全

1.对服务器进行物理锁定

2.定期检查设备连接状态

3.实施远程关机功能,以便在紧急情况下切断电源

(三)介质安全

1.硬盘等存储介质报废时进行物理销毁

2.移动存储设备使用后立即销毁或加密存储

3.建立介质借用和归还登记制度

八、持续改进

系统安全需要持续改进和优化。

(一)定期安全评估

1.每季度进行一次全面的安全评估

2.使用工具如OpenVAS进行漏洞扫描

3.对发现的问题制定整改计划

(二)安全意识培训

1.每半年对所有系统管理员进行安全培训

2.模拟钓鱼攻击检验员工安全意识

3.分享最新的安全威胁信息

(三)最佳实践更新

1.跟踪Linux安全社区发布的最新最佳实践

2.定期审查和更新安全配置

3.参与安全社区交流,分享经验教训

九、结论

Linux系统安全管理是一项持续性的工作,需要管理员综合考虑账户管理、系统加固、网络防护、数据保护、安全审计和物理安全等多个方面。通过实施本文件中的安全规定,可以显著提升Linux系统的安全性和稳定性,有效抵御各类安全威胁。系统安全工作没有终点,需要管理员保持警惕,持续改进安全措施,以应对不断变化的安全环境。

二、账户安全管理

(一)账户创建与权限分配

1.所有新用户必须通过正规流程创建,避免直接使用root账户执行日常任务

-使用`useradd`命令创建新用户,而非直接编辑`/etc/passwd`文件

-示例命令:`sudouseradd-m-d/home/newuser-s/bin/bashnewuser`

-说明:`-m`创建家目录,`-d`指定家目录路径,`-s`指定默认shell

-禁止创建具有相同用户名的不同用户,系统会自动拒绝

-创建用户后立即修改密码:`sudopasswdnewuser`

2.为每个用户分配最小权限原则所需的账户,避免过度授权

-使用`groupadd`创建功能分组,而非直接赋予用户过多权限

-示例命令:`sudogroupaddwebserver`,`sudousermod-aGwebserverwebservicer`

-说明:`-aG`将用户添加到指定组

-根据最小权限原则分配组权限:

-web服务器组:仅具有访问网站文件和运行必要服务的权限

-系统管理组:仅具有管理特定系统组件的权限

-使用`chown`和`chmod`精确控制文件访问权限,而非使用`sudo-i`提升权限

3.定期审计用户账户权限,撤销不再需要的账户

-每月至少执行一次用户账户审计:

-检查未使用账户:`awk-F':''{print$1}'/etc/passwd|grep-v'^(root|bin|sys|sync|shutdown)$'`

-检查过期账户:`awk-F':''{print$1}'/etc/shadow|grep'!'`

-对于长期未登录的账户(如超过90天):

-查找未使用账户:`last|grep'never'`

-暂时锁定账户:`sudopasswd-lusername`

-永久删除账户:`sudouserdel-rusername`

4.为重要用户设置强密码策略,建议每30天更换一次密码

-编辑`/etc/login.defs`文件调整密码策略:

-`PASS_MAX_DAYS30`:密码有效期(天)

-`PASS_MIN_DAYS7`:两次密码更改间隔(天)

-`PASS_WARN_AGE7`:密码过期前警告时间(天)

-使用`pam_pwquality`模块强化密码复杂度:

-安装:`sudoyuminstallpam_pwquality`

-编辑`/etc/security/pwquality.conf`:

-`minlen=12`:最小长度

-`minclass=4`:必须包含大写/小写/数字/特殊符号四种类型

-`difok=3`:新密码必须与旧密码不同至少3个字符

-重新加载PAM配置:`sudosystemctlrestartsshd`

(二)密码策略实施

1.使用工具如`pam_pwquality`配置密码复杂度要求

-安装:`sudoyuminstallpam_pwquality`或`sudoaptinstalllibpam-pwquality`

-配置:编辑`/etc/security/pwquality.conf`文件:

-`minlen=12`:密码最小长度

-`minclass=4`:必须包含大写/小写/数字/特殊符号四种类型

-`difok=3`:新密码必须与旧密码不同至少3个字符

-`maxrepeat=3`:密码中相同字符最多重复3次

-`reject_username`:禁止密码使用用户名

-`repeat_delay=900`:两次输入相同密码间隔(秒)

-重新加载PAM配置:

-对于SystemV登录:`sudopamconfig-l/etc/pam.d/system-auth`

-对于SSHD:`sudopamconfig-l/etc/pam.d/sshd`

2.启用密码历史记录功能,防止密码重复使用

-编辑`/etc/login.defs`:

-`PASS_MAX_HISTORY5`:密码历史记录长度(5次)

-对于已有密码历史,需要重新设置密码才能清除历史

-使用`chage`命令查看密码历史:

-`sudochage-lusername`

3.对管理账户实施双因素认证(2FA)

-安装`google-authenticator`:

-`sudoyuminstallgoogle-authenticator`或`sudoaptinstalllibpam-google-authenticator`

-配置:

-生成密钥:`google-authenticator`

-按提示操作:

-设置密钥有效期:`Defaultlifetime3600`(秒)

-是否允许备用密钥:`Doyouwanttodisableuseraccountafter3failures[yes/no]`

-是否在登录时显示提示:`Doyouwanttocontinuewiththeconfiguration[yes/no]`

-配置PAM使用2FA:

-编辑`/etc/pam.d/sshd`:

-在`authrequiredpam_google_authenticator.so`前添加`sessionrequiredpam_google_authenticator.so`

-重启SSH服务:`sudosystemctlrestartsshd`

(三)特权账户管理

1.严格限制root账户的使用,通过sudo机制授权普通用户执行特权操作

-编辑`/etc/sudoers`文件(使用`visudo`命令编辑):

-默认授权:

-`%sudoALL=(ALL:ALL)ALL`

-禁止root远程登录:

-`DenyRootLoginyes`(在`/etc/ssh/sshd_config`中)

-控制特定用户使用sudo:

-`usernameALL=(ALL)/path/command`

-设置sudo超时时间:

-`Defaultstimestamp_timeout=15`(15分钟)

2.定期检查sudo日志发现异常行为

-sudo日志位置:`/var/log/auth.log`或`/var/log/secure`

-查找sudo尝试:

-`sudogrep'sudo'/var/log/auth.log|grep'root'`

-检查异常模式:

-连续多次失败尝试:`sudogrep'authenticationfailure'/var/log/auth.log`

-异常时间访问:`sudogrep'sudo'/var/log/auth.log|grep'[0-9]'|awk'{print$2}'|sort|uniq-c|sort-nr|head-n5`

-设置日志监控:

-安装auditd:`sudoyuminstallauditd`

-创建规则监控sudo:`sudoauditctl-w/usr/bin/sudo-pwarx-ksudo`

3.为特权账户设置专用密码,并定期更换

-创建专用root密码:

-在系统安装时设置

-通过控制台临时访问root后设置:`sudopasswdroot`

-使用`crontab`设置定期更换:

-`sudocrontab-e`

-添加:`030sudopasswdroot`

-注意:不建议在脚本中明文存储密码,应使用更安全的密码管理方案

三、系统加固措施

(一)最小化安装原则

1.安装系统时仅选择必要的系统组件和服务

-使用最小化安装模板:

-Fedora/CentOS/RHEL:选择"Minimal"安装

-Ubuntu:选择"Server"安装

-自定义安装时禁用组件:

-Web服务器(Apache/Nginx)

-文件共享(Samba/NFS)

-办公套件(LibreOffice)

-视频游戏(X.Org)

2.使用`yumgroupinstall"MinimalInstall"`等命令实现最小化安装

-示例命令:

-`sudoyumgroupinstall"MinimalInstall"`

-`sudoyumgroupinstall"Base""DevelopmentTools""NetworkUtilities"`

-删除不必要的软件包:

-`sudoyumremovegnome-terminalnautilus`

3.删除不必要的预装软件包,减少攻击面

-使用`yumautoremove`自动删除未使用依赖:

-`sudoyumautoremove`

-手动删除:

-`sudoyumremovepackage-name`

-查找大文件:

-`sudofind/-typef-size+100M2>/dev/null`

(二)系统补丁管理

1.建立定期系统更新机制,建议每周至少更新一次

-配置自动更新:

-Fedora/CentOS/RHEL:

-`sudodnfenablednf-plugin-system-updates`

-`sudodnfconfig-manager--set-enabledcrontab`

-Ubuntu:

-`sudoaptinstallunattended-upgrades`

-编辑`/etc/apt/apt.conf.d/50unattended-upgrades`

-设置更新频率:

-`sudocrontab-e`

-添加:`030sudoaptupdate&&sudoaptfull-upgrade-y`

2.使用自动化工具如`unattended-upgrades`实现无人值守更新

-安装:`sudoaptinstallunattended-upgrades`

-配置:

-`/etc/apt/apt.conf.d/50unattended-upgrades`:

-`Unattended-Upgrade::Origins-Pattern{"origin=Debian,n=stable";};`

-`/etc/apt/apt.conf.d/20unattended-upgrades`:

-`Unattended-Upgrade::Automatic-Reboot"true";`

-`Unattended-Upgrade::Automatic-Reboot-Time"02:00";`

-启用服务:`sudosystemctlenableunattended-upgrades`

3.更新前进行完整系统备份,保留系统回滚方案

-使用`rsync`备份关键目录:

-`sudorsync-aAXv//backup/`

-使用`tar`压缩备份:

-`sudotarczvf/backup/system-backup-$(date+%Y%m%d).tar.gz/etc/var/home`

-创建备份脚本并加入cron:

-`sudocrontab-e`

-添加:`020sudo/path/to/backup.sh`

4.优先安装安全相关补丁,高危漏洞必须在24小时内修复

-查找安全更新:

-`sudoyumupdate--security`

-`sudoaptupdate&&sudoaptlist--upgradable`

-创建高危漏洞修复流程:

-步骤1:确认漏洞影响

-步骤2:检查补丁兼容性

-步骤3:执行更新操作

-步骤4:验证系统功能

-步骤5:记录修复过程

(三)内核安全配置

1.启用SELinux安全模块,设置为enforcing模式

-检查SELinux状态:

-`sestatus`

-启用并设置为enforcing:

-`sudosetenforce1`

-`sudovi/etc/selinux/config`

-修改`SELINUX=enforcing`

-重启系统验证:`sudoreboot`

-SELinux故障排除:

-查看日志:`sudojournalctl-b|grepavc`

-设置临时宽容:`sudosetenforce0`

-永久修改:`sudovi/etc/selinux/config`

2.配置内核参数强化安全性

-使用`sysctl`命令:

-防范堆栈溢出:

-`sudosysctl-wkernel.randomize_va_space=2`

-防止IP欺骗:

-`sudosysctl-wnet.ipv4.conf.all.accept_source_route=0`

-防止TCP序列号预测:

-`sudosysctl-wnet.ipv4.tcp_syncookies=1`

-限制根目录写权限:

-`sudosysctl-wtected_root=1`

-保存永久配置:

-`sudosysctl-p`

-编辑`/etc/sysctl.conf`添加相关参数

3.禁用不必要的服务和协议

-禁用不必要的服务:

-`sudosystemctldisablecups`

-`sudosystemctlmaskcups`

-列出所有服务:`sudosystemctllist-unit-files|grepenabled`

-禁用不必要协议:

-编辑`/etc/hosts.allow`和`/etc/hosts.deny`:

-`ALL:ALL:DENY`

-防止NFS攻击:

-`sudosystemctldisablerpcbind`

-`sudosystemctlmaskrpcbind`

-防止Samba攻击:

-`sudosystemctldisablesmb`

-`sudosystemctlmasksmb`

四、网络防护措施

(一)防火墙配置

1.安装和配置iptables或firewalld防火墙

-选择firewalld:

-`sudoyuminstallfirewalld`或`sudoaptinstallfirewalld`

-启用并启动:

-`sudosystemctlenablefirewalld`

-`sudosystemctlstartfirewalld`

-查看状态:`sudofirewall-cmd--state`

2.默认拒绝所有入站连接,仅允许必要服务

-设置默认策略:

-`sudofirewall-cmd--set-default-zone=block`

-创建自定义区域:

-`sudofirewall-cmd--new-zone=custom`

-`sudofirewall-cmd--zone=custom--add-service=http`

-`sudofirewall-cmd--zone=custom--add-service=https`

-永久设置:

-`sudofirewall-cmd--runtime-to-permanent`

3.为关键服务开放最小必要端口

-允许SSH(22端口):

-`sudofirewall-cmd--zone=custom--add-port=22/tcp`

-允许HTTP(80端口):

-`sudofirewall-cmd--zone=custom--add-port=80/tcp`

-允许HTTPS(443端口):

-`sudofirewall-cmd--zone=custom--add-port=443/tcp`

-允许DNS(53端口):

-`sudofirewall-cmd--zone=custom--add-port=53/tcp`

4.定期审计防火墙规则,清理冗余规则

-查看规则:

-`sudofirewall-cmd--list-all`

-删除特定规则:

-`sudofirewall-cmd--remove-rule-allzone=customport=22/tcp`

-清理所有规则:

-`sudofirewall-cmd--reset`

(二)网络服务安全

1.禁用不必要的服务,如FTP、TFTP、NFS等

-列出所有服务:`sudosystemctllist-unit-files|grepenabled`

-禁用FTP:

-`sudosystemctldisablevsftpd`

-`sudosystemctlmaskvsftpd`

-禁用TFTP:

-`sudosystemctldisabletftp`

-`sudosystemctlmasktftp`

-禁用NFS:

-`sudosystemctldisablenfs-server`

-`sudosystemctlmasknfs-server`

2.SSH安全配置

-禁用root远程登录:

-`sudosed-i's/PermitRootLoginyes/PermitRootLoginno/g'/etc/ssh/sshd_config`

-使用key-basedauthentication代替密码认证:

-生成密钥:`ssh-keygen-trsa-b4096`

-将公钥添加到远程服务器:`ssh-copy-iduser@remote_host`

-限制允许登录的IP地址:

-`sudosshd-t`

-编辑`/etc/ssh/sshd_config`:

-`AllowUsersuser1user2`

-`AllowGroupssshusers`

-设置SSH版本为SSHv2:

-`sudosed-i's/Protocol2,1/Protocol2/g'/etc/ssh/sshd_config`

3.Web服务器安全配置

-配置HTTP严格传输安全(HTTPS):

-安装Certbot获取证书:`sudoyuminstallcertbot`

-获取证书:`sudocertbot--nginx`

-禁用目录列表功能:

-Apache:`sudovi/etc/httpd/conf.d/silent.conf`

-Nginx:`sudovi/etc/nginx/conf.d/silent.conf`

-添加:`<Directory/>Options-Indexes</Directory>`

-设置合理的timeouts参数:

-Apache:`MaxClients150`

-Nginx:`worker_connections1024`

4.入侵检测系统

-部署Snort:

-`sudoyuminstallsnort`

-配置:`sudovi/etc/snort/snort.conf`

-配置规则:

-编辑`/etc/snort/rules/local.rules`

-添加:`alerttcpanyany->$HOME_NETany(msg:"PossibleSQLInjection";content:"union";classtype:attempted-user-privilege-escalation;sid:1000001;rev:1;)`

-启动:`sudosnort-c/etc/snort/snort.conf-Afast`

-部署Suricata:

-`sudoyuminstallsuricata`

-配置:`sudovi/etc/suricata/suricata.yaml`

-启动:`sudosystemctlstartsuricata`

(三)网络服务安全

1.部署Snort或Suricata进行实时入侵检测

-Snort安装:

-`sudoyuminstallsnortsnort-commonsnort-gui`

-配置:

-编辑`/etc/snort/snort.conf`

-设置接口:`varHOME_NETany`

-设置网络:`varEXTERNAL_NET!$HOME_NET`

-启动:`sudosnort-c/etc/snort/snort.conf-Aconsole`

-Suricata安装:

-`sudoyuminstallsuricata`

-配置:

-编辑`/etc/suricata/suricata.yaml`

-添加规则:`file-rule:file:/etc/suricata/rules/suricata.rules`

-启动:`sudosystemctlstartsuricata`

2.配置适当的规则检测恶意流量

-Snort规则示例:

-`alerttcpanyany->$HOME_NETany(msg:"WebShelling";content:"|00|00|00|00|90|78|71|71|79|13|";classtype:attempted-recon;sid:1000001;rev:1;)`

-Suricata规则示例:

-在`/etc/suricata/rules/`创建文件:

-`alerttcpanyany->$HOME_NETany(msg:"SQLInjection";content:"union";classtype:attempted-user-privilege-escalation;sid:1000001;rev:1;)`

-规则更新:

-使用Snort规则更新:`sudosnort-V-T-c/etc/snort/snort.conf`

-使用Suricata规则更新:`sudosuricata-update`

3.定期分析IDS日志,调整规则策略

-Snort日志分析:

-查看日志:`sudotail-f/var/log/snort/snort.log`

-分析工具:`sudoyuminstallsnorby`(Web界面)

-Suricata日志分析:

-查看日志:`sudotail-f/var/log/suricata/suricata.log`

-分析工具:`sudoyuminstallsuricata-engine`(命令行)

-规则调整:

-低误报率:`classtype:attempted-attack`

-高误报率:`classtype:anomaly`

-临时禁用规则:`sudosuricata-updatedisable-rulerule-id`

-永久禁用规则:`sudosuricata-updateremove-rulerule-id`

Linux系统安全规定

一、引言

Linux系统作为开源操作系统的代表,因其高度的灵活性和可定制性被广泛应用于服务器和个人电脑环境。为了保障Linux系统的安全稳定运行,必须遵循一系列安全规定和最佳实践。本文件旨在提供一套系统化的Linux系统安全规范,帮助管理员建立和维护安全的系统环境。内容涵盖账户管理、系统加固、网络防护、数据保护等多个方面。

二、账户安全管理

账户是系统安全的第一道防线,必须严格管理所有用户账户。

(一)账户创建与权限分配

1.所有新用户必须通过正规流程创建,避免直接使用root账户执行日常任务

2.为每个用户分配最小权限原则所需的账户,避免过度授权

3.定期审计用户账户权限,撤销不再需要的账户

4.为重要用户设置强密码策略,建议每30天更换一次密码

(二)密码策略实施

1.使用工具如`pam_pwquality`配置密码复杂度要求

-最小长度:12位字符

-必须包含大写字母、小写字母、数字和特殊符号

-禁用过去5次使用过的密码

2.启用密码历史记录功能,防止密码重复使用

3.对管理账户实施双因素认证(2FA)

(三)特权账户管理

1.严格限制root账户的使用,通过sudo机制授权普通用户执行特权操作

2.定期检查sudo日志(/var/log/sudo.log)发现异常行为

3.为特权账户设置专用密码,并定期更换

三、系统加固措施

系统加固是提升Linux系统安全性的基础工作。

(一)最小化安装原则

1.安装系统时仅选择必要的系统组件和服务

2.使用`yumgroupinstall"MinimalInstall"`等命令实现最小化安装

3.删除不必要的预装软件包,减少攻击面

(二)系统补丁管理

1.建立定期系统更新机制,建议每周至少更新一次

2.使用自动化工具如`unattended-upgrades`实现无人值守更新

3.更新前进行完整系统备份,保留系统回滚方案

4.优先安装安全相关补丁,高危漏洞必须在24小时内修复

(三)内核安全配置

1.启用SELinux安全模块,设置为enforcing模式

2.配置内核参数强化安全性

-`sysctl-wkernel.randomize_va_space=2`

-`sysctl-wnet.ipv4.conf.all.accept_source_route=0`

-`sysctl-wnet.ipv6.conf.all.accept_source_route=0`

3.禁用不必要的服务和协议

四、网络防护措施

网络防护是抵御外部攻击的关键环节。

(一)防火墙配置

1.安装和配置iptables或firewalld防火墙

2.默认拒绝所有入站连接,仅允许必要服务

3.为关键服务开放最小必要端口

-SSH:22端口

-HTTP:80端口

-HTTPS:443端口

4.定期审计防火墙规则,清理冗余规则

(二)网络服务安全

1.禁用不必要的服务,如FTP、TFTP、NFS等

2.SSH安全配置

-禁用root远程登录

-使用key-basedauthentication代替密码认证

-限制允许登录的IP地址

-设置SSH版本为SSHv2

3.Web服务器安全配置

-配置HTTP严格传输安全(HTTPS)

-禁用目录列表功能

-设置合理的timeouts参数

(三)入侵检测系统

1.部署Snort或Suricata进行实时入侵检测

2.配置适当的规则检测恶意流量

3.定期分析IDS日志,调整规则策略

五、数据保护措施

数据是系统安全的核心要素。

(一)数据备份策略

1.制定每日增量备份和每周完全备份计划

2.备份存储在物理隔离的设备上

3.定期测试备份数据的恢复流程

4.重要数据实施异地备份

(二)文件系统安全

1.对敏感目录实施额外权限控制

-/etc

-/var

-/root

2.使用ACLs增强文件访问控制

3.定期检查磁盘权限,修复SELinux标签错误

(三)加密技术应用

1.对敏感数据进行加密存储

-使用LUKS对整个磁盘加密

-使用GPG加密重要文件

2.配置TLS/SSL证书保护网络传输

3.对敏感数据库实施透明数据加密(TDE)

六、安全审计与监控

持续的安全监控是发现和响应威胁的关键。

(一)日志管理

1.部署中央日志服务器收集系统日志

-使用rsyslog或syslog-ng

2.配置日志转发到安全信息与事件管理(SIEM)系统

3.设置适当的日志保留策略,重要日志保留至少6个月

(二)监控系统配置

1.使用Nagios或Zabbix监控系统性能

2.设置关键指标告警阈值

-CPU使用率>90%

-内存使用率>85%

-磁盘空间<10%

3.配置实时监控仪表盘,可视化系统状态

(三)安全事件响应

1.建立安全事件响应流程文档

2.定义不同安全事件的响应级别

3.定期进行安全演练,检验响应能力

七、物理安全措施

物理安全是系统安全的最后一道防线。

(一)机房环境

1.确保机房环境温度控制在18-26℃

2.配置UPS不间断电源系统

3.实施严格的机房访问控制

(二)设备安全

1.对服务器进行物理锁定

2.定期检查设备连接状态

3.实施远程关机功能,以便在紧急情况下切断电源

(三)介质安全

1.硬盘等存储介质报废时进行物理销毁

2.移动存储设备使用后立即销毁或加密存储

3.建立介质借用和归还登记制度

八、持续改进

系统安全需要持续改进和优化。

(一)定期安全评估

1.每季度进行一次全面的安全评估

2.使用工具如OpenVAS进行漏洞扫描

3.对发现的问题制定整改计划

(二)安全意识培训

1.每半年对所有系统管理员进行安全培训

2.模拟钓鱼攻击检验员工安全意识

3.分享最新的安全威胁信息

(三)最佳实践更新

1.跟踪Linux安全社区发布的最新最佳实践

2.定期审查和更新安全配置

3.参与安全社区交流,分享经验教训

九、结论

Linux系统安全管理是一项持续性的工作,需要管理员综合考虑账户管理、系统加固、网络防护、数据保护、安全审计和物理安全等多个方面。通过实施本文件中的安全规定,可以显著提升Linux系统的安全性和稳定性,有效抵御各类安全威胁。系统安全工作没有终点,需要管理员保持警惕,持续改进安全措施,以应对不断变化的安全环境。

二、账户安全管理

(一)账户创建与权限分配

1.所有新用户必须通过正规流程创建,避免直接使用root账户执行日常任务

-使用`useradd`命令创建新用户,而非直接编辑`/etc/passwd`文件

-示例命令:`sudouseradd-m-d/home/newuser-s/bin/bashnewuser`

-说明:`-m`创建家目录,`-d`指定家目录路径,`-s`指定默认shell

-禁止创建具有相同用户名的不同用户,系统会自动拒绝

-创建用户后立即修改密码:`sudopasswdnewuser`

2.为每个用户分配最小权限原则所需的账户,避免过度授权

-使用`groupadd`创建功能分组,而非直接赋予用户过多权限

-示例命令:`sudogroupaddwebserver`,`sudousermod-aGwebserverwebservicer`

-说明:`-aG`将用户添加到指定组

-根据最小权限原则分配组权限:

-web服务器组:仅具有访问网站文件和运行必要服务的权限

-系统管理组:仅具有管理特定系统组件的权限

-使用`chown`和`chmod`精确控制文件访问权限,而非使用`sudo-i`提升权限

3.定期审计用户账户权限,撤销不再需要的账户

-每月至少执行一次用户账户审计:

-检查未使用账户:`awk-F':''{print$1}'/etc/passwd|grep-v'^(root|bin|sys|sync|shutdown)$'`

-检查过期账户:`awk-F':''{print$1}'/etc/shadow|grep'!'`

-对于长期未登录的账户(如超过90天):

-查找未使用账户:`last|grep'never'`

-暂时锁定账户:`sudopasswd-lusername`

-永久删除账户:`sudouserdel-rusername`

4.为重要用户设置强密码策略,建议每30天更换一次密码

-编辑`/etc/login.defs`文件调整密码策略:

-`PASS_MAX_DAYS30`:密码有效期(天)

-`PASS_MIN_DAYS7`:两次密码更改间隔(天)

-`PASS_WARN_AGE7`:密码过期前警告时间(天)

-使用`pam_pwquality`模块强化密码复杂度:

-安装:`sudoyuminstallpam_pwquality`

-编辑`/etc/security/pwquality.conf`:

-`minlen=12`:最小长度

-`minclass=4`:必须包含大写/小写/数字/特殊符号四种类型

-`difok=3`:新密码必须与旧密码不同至少3个字符

-重新加载PAM配置:`sudosystemctlrestartsshd`

(二)密码策略实施

1.使用工具如`pam_pwquality`配置密码复杂度要求

-安装:`sudoyuminstallpam_pwquality`或`sudoaptinstalllibpam-pwquality`

-配置:编辑`/etc/security/pwquality.conf`文件:

-`minlen=12`:密码最小长度

-`minclass=4`:必须包含大写/小写/数字/特殊符号四种类型

-`difok=3`:新密码必须与旧密码不同至少3个字符

-`maxrepeat=3`:密码中相同字符最多重复3次

-`reject_username`:禁止密码使用用户名

-`repeat_delay=900`:两次输入相同密码间隔(秒)

-重新加载PAM配置:

-对于SystemV登录:`sudopamconfig-l/etc/pam.d/system-auth`

-对于SSHD:`sudopamconfig-l/etc/pam.d/sshd`

2.启用密码历史记录功能,防止密码重复使用

-编辑`/etc/login.defs`:

-`PASS_MAX_HISTORY5`:密码历史记录长度(5次)

-对于已有密码历史,需要重新设置密码才能清除历史

-使用`chage`命令查看密码历史:

-`sudochage-lusername`

3.对管理账户实施双因素认证(2FA)

-安装`google-authenticator`:

-`sudoyuminstallgoogle-authenticator`或`sudoaptinstalllibpam-google-authenticator`

-配置:

-生成密钥:`google-authenticator`

-按提示操作:

-设置密钥有效期:`Defaultlifetime3600`(秒)

-是否允许备用密钥:`Doyouwanttodisableuseraccountafter3failures[yes/no]`

-是否在登录时显示提示:`Doyouwanttocontinuewiththeconfiguration[yes/no]`

-配置PAM使用2FA:

-编辑`/etc/pam.d/sshd`:

-在`authrequiredpam_google_authenticator.so`前添加`sessionrequiredpam_google_authenticator.so`

-重启SSH服务:`sudosystemctlrestartsshd`

(三)特权账户管理

1.严格限制root账户的使用,通过sudo机制授权普通用户执行特权操作

-编辑`/etc/sudoers`文件(使用`visudo`命令编辑):

-默认授权:

-`%sudoALL=(ALL:ALL)ALL`

-禁止root远程登录:

-`DenyRootLoginyes`(在`/etc/ssh/sshd_config`中)

-控制特定用户使用sudo:

-`usernameALL=(ALL)/path/command`

-设置sudo超时时间:

-`Defaultstimestamp_timeout=15`(15分钟)

2.定期检查sudo日志发现异常行为

-sudo日志位置:`/var/log/auth.log`或`/var/log/secure`

-查找sudo尝试:

-`sudogrep'sudo'/var/log/auth.log|grep'root'`

-检查异常模式:

-连续多次失败尝试:`sudogrep'authenticationfailure'/var/log/auth.log`

-异常时间访问:`sudogrep'sudo'/var/log/auth.log|grep'[0-9]'|awk'{print$2}'|sort|uniq-c|sort-nr|head-n5`

-设置日志监控:

-安装auditd:`sudoyuminstallauditd`

-创建规则监控sudo:`sudoauditctl-w/usr/bin/sudo-pwarx-ksudo`

3.为特权账户设置专用密码,并定期更换

-创建专用root密码:

-在系统安装时设置

-通过控制台临时访问root后设置:`sudopasswdroot`

-使用`crontab`设置定期更换:

-`sudocrontab-e`

-添加:`030sudopasswdroot`

-注意:不建议在脚本中明文存储密码,应使用更安全的密码管理方案

三、系统加固措施

(一)最小化安装原则

1.安装系统时仅选择必要的系统组件和服务

-使用最小化安装模板:

-Fedora/CentOS/RHEL:选择"Minimal"安装

-Ubuntu:选择"Server"安装

-自定义安装时禁用组件:

-Web服务器(Apache/Nginx)

-文件共享(Samba/NFS)

-办公套件(LibreOffice)

-视频游戏(X.Org)

2.使用`yumgroupinstall"MinimalInstall"`等命令实现最小化安装

-示例命令:

-`sudoyumgroupinstall"MinimalInstall"`

-`sudoyumgroupinstall"Base""DevelopmentTools""NetworkUtilities"`

-删除不必要的软件包:

-`sudoyumremovegnome-terminalnautilus`

3.删除不必要的预装软件包,减少攻击面

-使用`yumautoremove`自动删除未使用依赖:

-`sudoyumautoremove`

-手动删除:

-`sudoyumremovepackage-name`

-查找大文件:

-`sudofind/-typef-size+100M2>/dev/null`

(二)系统补丁管理

1.建立定期系统更新机制,建议每周至少更新一次

-配置自动更新:

-Fedora/CentOS/RHEL:

-`sudodnfenablednf-plugin-system-updates`

-`sudodnfconfig-manager--set-enabledcrontab`

-Ubuntu:

-`sudoaptinstallunattended-upgrades`

-编辑`/etc/apt/apt.conf.d/50unattended-upgrades`

-设置更新频率:

-`sudocrontab-e`

-添加:`030sudoaptupdate&&sudoaptfull-upgrade-y`

2.使用自动化工具如`unattended-upgrades`实现无人值守更新

-安装:`sudoaptinstallunattended-upgrades`

-配置:

-`/etc/apt/apt.conf.d/50unattended-upgrades`:

-`Unattended-Upgrade::Origins-Pattern{"origin=Debian,n=stable";};`

-`/etc/apt/apt.conf.d/20unattended-upgrades`:

-`Unattended-Upgrade::Automatic-Reboot"true";`

-`Unattended-Upgrade::Automatic-Reboot-Time"02:00";`

-启用服务:`sudosystemctlenableunattended-upgrades`

3.更新前进行完整系统备份,保留系统回滚方案

-使用`rsync`备份关键目录:

-`sudorsync-aAXv//backup/`

-使用`tar`压缩备份:

-`sudotarczvf/backup/system-backup-$(date+%Y%m%d).tar.gz/etc/var/home`

-创建备份脚本并加入cron:

-`sudocrontab-e`

-添加:`020sudo/path/to/backup.sh`

4.优先安装安全相关补丁,高危漏洞必须在24小时内修复

-查找安全更新:

-`sudoyumupdate--security`

-`sudoaptupdate&&sudoaptlist--upgradable`

-创建高危漏洞修复流程:

-步骤1:确认漏洞影响

-步骤2:检查补丁兼容性

-步骤3:执行更新操作

-步骤4:验证系统功能

-步骤5:记录修复过程

(三)内核安全配置

1.启用SELinux安全模块,设置为enforcing模式

-检查SELinux状态:

-`sestatus`

-启用并设置为enforcing:

-`sudosetenforce1`

-`sudovi/etc/selinux/config`

-修改`SELINUX=enforcing`

-重启系统验证:`sudoreboot`

-SELinux故障排除:

-查看日志:`sudojournalctl-b|grepavc`

-设置临时宽容:`sudosetenforce0`

-永久修改:`sudovi/etc/selinux/config`

2.配置内核参数强化安全性

-使用`sysctl`命令:

-防范堆栈溢出:

-`sudosysctl-wkernel.randomize_va_space=2`

-防止IP欺骗:

-`sudosysctl-wnet.ipv4.conf.all.accept_source_route=0`

-防止TCP序列号预测:

-`sudosysctl-wnet.ipv4.tcp_syncookies=1`

-限制根目录写权限:

-`sudosysctl-wtected_root=1`

-保存永久配置:

-`sudosysctl-p`

-编辑`/etc/sysctl.conf`添加相关参数

3.禁用不必要的服务和协议

-禁用不必要的服务:

-`sudosystemctldisablecups`

-`sudosystemctlmaskcups`

-列出所有服务:`sudosystemctllist-unit-files|grepenabled`

-禁用不必要协议:

-编辑`/etc/hosts.allow`和`/etc/hosts.deny`:

-`ALL:ALL:DENY`

-防止NFS攻击:

-`sudosystemctldisablerpcbind`

-`sudosystemctlmaskrpcbind`

-防止Samba攻击:

-`sudosystemctldisablesmb`

-`sudosystemctlmasksmb`

四、网络防护措施

(一)防火墙配置

1.安装和配置iptables或firewalld防火墙

-选择firewalld:

-`sudoyuminstallfirewalld`或`sudoaptinstallfirewalld`

-启用并启动:

-`sudosystemctlenablefirewalld`

-`sudosystemctlstartfirewalld`

-查看状态:`sudofirewall-cmd--state`

2.默认拒绝所有入站连接,仅允许必要服务

-设置默认策略:

-`sudofirewall-cmd--set-default-zone=block`

-创建自定义区域:

-`sudofirewall-cmd--new-zone=custom`

-`sudofirewall-cmd--zone=custom--add-service=http`

-`sudofirewall-cmd--zone=custom--add-service=https`

-永久设置:

-`sudofirewall-cmd--runtime-to-permanent`

3.为关键服务开放最小必要端口

-允许SSH(22端口):

-`sudofirewall-cmd--zone=custom--add-port=22/tcp`

-允许HTTP(80端口):

-`sudofirewall-cmd--zone=custom--add-port=80/tcp`

-允许HTTPS(443端口):

-`sudofirewall-cmd--zone=custom--add-port=443/tcp`

-允许DNS(53端口):

-`sudofirewall-cmd--zone=custom--add-port=53/tcp`

4.定期审计防火墙规则,清理冗余规则

-查看规则:

-`sudofirewall-cmd--list-all`

-删除特定规则:

-`sudofirewall-cmd--remove-rule-allzone=customport=22/tcp`

-清理所有规则:

-`sudofirewall-cmd--reset`

(二)网络服务安全

1.禁用不必要的服务,如FTP、TFTP、NFS等

-列出所有服务:`sudosystemctllist-unit-files|grepenabled`

-禁用FTP:

-`sudosystemctldisablevsftpd`

-`sudosystemctlmaskvsftpd`

-禁用TFTP:

-`sudosystemctldisabletftp`

-`sudosystemctlmasktftp`

-禁用NFS:

-`sudosystemctldisablenfs-server`

-`sudosystemctlmasknfs-server`

2.SSH安全配置

-禁用root远程登录:

-`sudosed-i's/PermitRootLoginyes/PermitRootLoginno/g'/etc/ssh/sshd_config`

-使用key-basedauthentication代替密码认证:

-生成密钥:`ssh-keygen-trsa-b4096`

-将公钥添加到远程服务器:`ssh-copy-iduser@remote_host`

-限制允许登录的IP地址:

-`sudosshd-t`

-编辑`/etc/ssh/sshd_config`:

-`AllowUsersuser1user2`

-`AllowGroupssshusers`

-设置SSH版本为SSHv2:

-`sudosed-i's/Protocol2,1/Protocol2/g'/etc/ssh/sshd_config`

3.Web服务器安全配置

-配置HTTP严格传输安全(HTTPS):

-安装Certbot获取证书:`sudoyuminstallcertbot`

-获取证书:`sudocertbot--nginx`

-禁用目录列表功能:

-Apache:`sudovi/etc/httpd/conf.d/silent.conf`

-Nginx:`sudovi/etc/nginx/conf.d/silent.conf`

-添加:`<Directory/>Options-Indexes</Directory>`

-设置合理的timeouts参数:

-Apache:`MaxClients150`

-Nginx:`worker_connections1024`

4.入侵检测系统

-部署Snort:

-`sudoyuminstallsnort`

-配置:`sudovi/etc/snort/snort.conf`

-配置规则:

-编辑`/etc/snort/rules/local.rules`

-添加:`alerttcpanyany->$HOME_NETany(msg:"PossibleSQLInjection";content:"union";classtype:attempted-user-privilege-escalation;sid:1000001;rev:1;)`

-启动:`sudosnort-c/etc/snort/snort.conf-Afast`

-部署Suricata:

-`sudoyuminstallsuricata`

-配置:`sudovi/etc/suricata/suricata.yaml`

-启动:`sudosystemctlstartsuricata`

(三)网络服务安全

1.部署Snort或Suricata进行实时入侵检测

-Snort安装:

-`sudoyuminstallsnortsnort-commonsnort-gui`

-配置:

-编辑`/etc/snort/snort.conf`

-设置接口:`varHOME_NETany`

-设置网络:`varEXTERNAL_NET!$HOME_NET`

-启动:`sudosnort-c/etc/snort/snort.conf-Aconsole`

-Suricata安装:

-`sudoyuminstallsuricata`

-配置:

-编辑`/etc/suricata/suricata.yaml`

-添加规则:`file-rule:file:/etc/suricata/rules/suricata.rules`

-启动:`sudosystemctlstartsuricata`

2.配置适当的规则检测恶意流量

-Snort规则示例:

-`alerttcpanyany->$HOME_NETany(msg:"WebShelling";content:"|00|00|00|00|90|78|71|71|79|13|";classtype:attempted-recon;sid:1000001;rev:1;)`

-Suricata规则示例:

-在`/etc/suricata/rules/`创建文件:

-`alerttcpanyany->$HOME_NETany(msg:"SQLInjection";content:"union";classtype:attempted-user-privilege-escalation;sid:1000001;rev:1;)`

-规则更新:

-使用Snort规则更新:`sudosnort-V-T-c/etc/snort/snort.conf`

-使用Suricata规则更新:`sudosuricata-update`

3.定期分析IDS日志,调整规则策略

-Snort日志分析:

-查看日志:`sudotail-f/var/log/snort/snort.log`

-分析工具:`sudoyuminstallsnorby`(Web界面)

-Suricata日志分析:

-查看日志:`sudotail-f/var/log/suricata/suricata.log`

-分析工具:`sudoyuminstallsuricata-engine`(命令行)

-规则调整:

-低误报率:`classtype:attempted-attack`

-高误报率:`classtype:anomaly`

-临时禁用规则:`sudosuricata-updatedisable-rulerule-id`

-永久禁用规则:`sudosuricata-updateremove-rulerule-id`

Linux系统安全规定

一、引言

Linux系统作为开源操作系统的代表,因其高度的灵活性和可定制性被广泛应用于服务器和个人电脑环境。为了保障Linux系统的安全稳定运行,必须遵循一系列安全规定和最佳实践。本文件旨在提供一套系统化的Linux系统安全规范,帮助管理员建立和维护安全的系统环境。内容涵盖账户管理、系统加固、网络防护、数据保护等多个方面。

二、账户安全管理

账户是系统安全的第一道防线,必须严格管理所有用户账户。

(一)账户创建与权限分配

1.所有新用户必须通过正规流程创建,避免直接使用root账户执行日常任务

2.为每个用户分配最小权限原则所需的账户,避免过度授权

3.定期审计用户账户权限,撤销不再需要的账户

4.为重要用户设置强密码策略,建议每30天更换一次密码

(二)密码策略实施

1.使用工具如`pam_pwquality`配置密码复杂度要求

-最小长度:12位字符

-必须包含大写字母、小写字母、数字和特殊符号

-禁用过去5次使用过的密码

2.启用密码历史记录功能,防止密码重复使用

3.对管理账户实施双因素认证(2FA)

(三)特权账户管理

1.严格限制root账户的使用,通过sudo机制授权普通用户执行特权操作

2.定期检查sudo日志(/var/log/sudo.log)发现异常行为

3.为特权账户设置专用密码,并定期更换

三、系统加固措施

系统加固是提升Linux系统安全性的基础工作。

(一)最小化安装原则

1.安装系统时仅选择必要的系统组件和服务

2.使用`yumgroupinstall"MinimalInstall"`等命令实现最小化安装

3.删除不必要的预装软件包,减少攻击面

(二)系统补丁管理

1.建立定期系统更新机制,建议每周至少更新一次

2.使用自动化工具如`unattended-upgrades`实现无人值守更新

3.更新前进行完整系统备份,保留系统回滚方案

4.优先安装安全相关补丁,高危漏洞必须在24小时内修复

(三)内核安全配置

1.启用SELinux安全模块,设置为enforcing模式

2.配置内核参数强化安全性

-`sysctl-wkernel.randomize_va_space=2`

-`sysctl-wnet.ipv4.conf.all.accept_source_route=0`

-`sysctl-wnet.ipv6.conf.all.accept_source_route=0`

3.禁用不必要的服务和协议

四、网络防护措施

网络防护是抵御外部攻击的关键环节。

(一)防火墙配置

1.安装和配置iptables或firewalld防火墙

2.默认拒绝所有入站连接,仅允许必要服务

3.为关键服务开放最小必要端口

-SSH:22端口

-HTTP:80端口

-HTTPS:443端口

4.定期审计防火墙规则,清理冗余规则

(二)网络服务安全

1.禁用不必要的服务,如FTP、TFTP、NFS等

2.SSH安全配置

-禁用root远程登录

-使用key-basedauthentication代替密码认证

-限制允许登录的IP地址

-设置SSH版本为SSHv2

3.Web服务器安全配置

-配置HTTP严格传输安全(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论