linux 安全加固

linux 安全简单加固:
1.关闭LKM
echo 1 >/proc/sys/kernel/modules_disabled
or
sysctl -w kernel.modules_disabled = 1
vi /etc/sysctl.conf

2.限制/dev/mem
more /boot/config-3.10.0-862.el7.x86_64 |grep  DEVMEM
设置 CONFIG_STRICT_DEVMEM=y

3.内核参数调整
3.1 开启ASLR
设置 /proc/sys/kernel/randomize_va_space 为2
kernel.randomize_va_space = 2
隐藏内核符号表,设置为1
 /proc/sys/kernel/kptr_restrict
kernel.kptr_restrict = 1
内核映射最小地址 ,启动设置为65536
/proc/sys/vm/mmap_min_addr
vm.mmap_min_addr = 65536

4.禁用NAT
echo 0 >/proc/sys/net/ipv4/ip_forward
ipv4.ip_forward = 1


5.bash 日志
设置命令 只读 history 
readonly  HISTFILE
readonly  HISTFILESIZE
readonly  HISTSIZE
readonly  HISTCMD
readonly  HISTCONTROL
readonly  HISTGNORE

history 文件添加时间戳
export HISTTIMEFORMAT='%F %T'

更改HISTFILE为其他文件:
HISTFILE=/usr/local/log/cmd

加固history 历史文件只能追加,
chattr +a .bash_history


6.禁掉系统中所有其他shell,一般包括csh,tcsh,ksh。
# chmod 750 csh
# chmod 750 tcsh
# chmod 750 ksh

7.可写目录不解析,解析目录不可写
chmod 755 目录
若为777 则修改属主为用户
chown 777 nginx.nginx 目录

日志文件目录添加禁止直行脚本
location ~* ^/data/cgisvr/log/.*\.(php|php5)$ {
deny all;
}

java 禁止解析jspx,修改conf/web.xml
<url-pattern>*.jspx<url-pattern>


7.过滤特定文件类型
server
{
    listen 88;
    server_name XXXXX;
    root /data/softs/dev_tools;
    index admin.html index.html index.html;
    autoindex on;
    charset utf-8;
    #charset gbk;
    location / {
    
     }
     location ~* \. log|class|inc|bak${
     rewrite ^ http://www.XXXXX.com permanent;
     }
}

8.设置密码失效时间
在 /etc/login.defs 中将 PASS_MAX_DAYS 参数设置为 60-180之间,如:
vi /etc/login.defs
PASS_MAX_DAYS 180
需同时执行命令设置root密码失效时间:
chage --maxdays 180 root
9.设置密码修改最小间隔时间
在 /etc/login.defs 中将 PASS_MIN_DAYS 参数设置为7-14之间,建议为7:
vi /etc/login.defs
PASS_MIN_DAYS 7
需同时执行命令为root用户设置:
chage --mindays 7 root
10.密码复杂度检查
编辑/etc/security/pwquality.conf,把minlen(密码最小长度)设置为9-32位,把minclass(至少包含小写字母、大写字母、数字、特殊字符等4类字符中等3类或4类)设置为3或4。如:
vi /etc/security/pwquality.conf
minlen=10
minclass=3
11.检查密码重用是否受限制
在/etc/pam.d/password-auth和/etc/pam.d/system-auth中password sufficient pam_unix.so 这行的末尾配置remember参数为5-24之间,原来的内容不用更改,只在末尾加了remember=5。
vi /etc/pam.d/password-auth
remember=5 
vi /etc/pam.d/system-auth

12.设置SSH空闲超时退出时间
编辑/etc/ssh/sshd_config,将 ClientAliveInterval 设置为300到900,即5-15分钟,将ClientAliveCountMax设置为0-3之间。
vi /etc/ssh/sshd_config
ClientAliveInterval 600
ClientAliveCountMax 2

<think>好的,用户想了解如何对Linux系统进行安全加固的最佳实践。首先,我需要根据提供的引用内容来整理相关信息,并确保回答结构清晰,符合用户的要求。 首先,引用[1]提到《LINUX安全加固手册》是一个重要的资源,可以作为指导。引用[4]也提到了Linux系统安全加固的一些具体措施,比如修改SSH配置和密码策略。引用[3]给出了修改SSH端口和重启服务的具体命令,这是一个常见的安全措施。引用[2]则提到编译程序时优化安全性的注意事项,虽然这可能和系统加固关系不大,但可以提到软件源的安全管理。 接下来,我需要将这些信息组织成逻辑清晰的步骤。通常,系统加固包括最小化安装、更新系统、配置安全服务、权限管理、审计日志等方面。用户可能需要分步骤的指导,每个步骤有具体的操作和解释,同时引用相关的引用内容来支持。 比如,在“服务最小化原则”部分,可以提到关闭不必要的服务和端口,并引用[3]中的SSH配置修改例子。在“账户与权限管理”中,可以引用[4]中关于密码策略的内容。在“系统更新与补丁管理”部分,强调定期更新,可能引用[1]中的手册作为参考资源。 另外,用户可能还关心防火墙配置、文件系统安全、SELinux/AppArmor的使用等,这些也是常见的加固措施。需要确保每个部分都有具体的命令或配置示例,帮助用户实际操作。同时,生成的相关问题需要围绕用户可能进一步想了解的内容,比如具体某个加固措施的细节、自动化工具,或者如何应对特定威胁。 最后,检查是否符合格式要求:使用中文回答,行内公式用$...$(虽然这个问题可能不涉及数学公式,但需要注意),独立公式单独成段(同样可能不适用),正确引用标记。确保没有使用Markdown格式,段落用空行分隔,代码块用三个反引号包裹。</think>Linux 系统安全加固最佳实践可分为以下核心步骤: ### 一、服务最小化原则 1. **关闭非必要服务** 通过`systemctl disable <服务名>`关闭未使用的服务(如telnet、ftp),降低攻击面 2. **SSH安全配置** 修改默认端口并限制root登录(引用[3]示例): ```bash Port 17382 # 替换默认22端口 PermitRootLogin no # 禁止root直接登录 ``` 建议配合密钥认证,执行`service sshd restart`生效 ### 二、账户与权限管理 1. **密码策略强化** 修改`/etc/login.defs`设置密码有效期(引用[4]): ``` PASS_MAX_DAYS 90 PASS_MIN_DAYS 7 ``` 安装`libpam-pwquality`实现复杂度检查 2. **权限分离** 创建普通用户并配置sudo权限,禁用空密码账户 ### 三、系统更新与补丁管理 - 定期执行`yum update`或`apt-get upgrade`更新系统 - 启用自动安全更新:`unattended-upgrades`(Debian系) - 参考《LINUX安全加固手册》建立更新策略(引用[1]) ### 四、防火墙配置 ```bash # 启用firewalld/ufw firewall-cmd --permanent --add-port=17382/tcp # 放行SSH新端口 firewall-cmd --reload ``` ### 五、文件系统安全 1. 挂载选项添加`nosuid,noexec` 2. 设置关键目录权限: ```bash chmod 700 /root chmod 644 /etc/passwd ``` ### 六、安全增强工具 1. 启用SELinux/AppArmor 2. 安装审计工具: ```bash auditctl -w /etc/passwd -p wa # 监控密码文件变更 ``` ### 七、日志监控 配置`rsyslog`集中管理日志,安装入侵检测系统(如AIDE)定期扫描系统完整性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值