Linux系统加固主要通过以下几个方面,实现系统安全加固。本文以Centos7作为例子,进行总结。 一、系统安全防线Linux防火墙策略设置主要三道防线; 1. 系统自带防火墙iptables(Centos6) 防火墙会从上至下的顺序来读取配置的策略规则,在找到匹配项后就立即结束匹配工作并去执行匹配项中定义的行为(即放行或阻止)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。
启动: service iptables start
主要分为5种规则类型数据包: 使用命令查看防火墙设置 iptables -L 使用命令清除防火墙 iptables -F
使用iptables命令进行添加删减。 开放指定的端口 iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本地回环接口(即运行本机访问本机) 屏蔽IP iptables -I INPUT -s 123.45.6.7 -j DROP #屏蔽单个IP的命令 或者直接在路径/etc/sysconfig下,对文件iptables编辑。 配置完成记得重启防火墙命令 2. 系统自带防火墙firewalled(Centos7)
启动: systemctl start firewalld 前台可视化界面-防火墙设置也可以设置 另外,命令具体参看-更多firewalls配置命令详见 3. 开启SELinux服务(Centos7)SELinux(Security-Enhanced Linux)是美国国家安全局在Linux开源社区的帮助下开发的一个强制访问控制(MAC,Mandatory Access Control)的安全子系统。RHEL7系统使用SELinux技术的目的是为了让各个服务进程都受到约束,使其仅获取到本应获取的资源。 简单概述下基本的三种安全访问控制类型
配置文件路径:/etc/selinux,通过查看config,了解目前运行状态
cat config 或者使用命令进行查询 [root@localhost selinux]# getenforce Enforcing [root@localhost selinux]#
[root@localhost selinux]# setenforce 0 --0设为宽容莫斯 [root@localhost selinux]# getenforce Permissive [root@localhost selinux]# setenforce 1 --1设为强制模式 [root@localhost selinux]# getenforce Enforcing [root@localhost selinux]# 二、身份鉴别1.设置密码复杂度策略
PASS_MAX_DAYS 180 2.设置登录策略
(1)修改/etc/pam.d/system-auth,修改策略。 (2)记录用户登录失败次数并锁定 在/etc/pam.d/system-auth中“#%PAM-1.0”下面一行加入
root策略建议谨慎设置,否则很容易导致无法解锁root 设置了unlock_time会自动解锁。否则需要手动解锁。 运行命令pam_tally2 -u 用户 -r (3)如果启用了SSH远程登录,可以通过命令看配置 more /etc/ssh/sshd_config 设置LoginGraceTime 15m #账号锁定时间15分钟 三、访问控制1.设置root用户ssh登录策略
service sshd restart 2.禁止无用的系统用户登录通过命令 usermod -s /sbin/nologin 用户 --禁止用户远程登录` 通过命令 usermod -s /bin/bash 用户名 --恢复允许用户远程登录` 查看/etc/passwd 表示用户是否可以登录。 3.检查是否存在除root以外的UID=0的用户通过命令 awk -F: '($3==0){print $1}' /etc/passwd --输出当前uid=0的用户 4.允许或禁止用户或组通过ssh登录
vi /etc/ssh/sshd_config 增加用户(允许、白名单) PS:取交集,意思两个同时允许才可以。其他禁止 5.检查新建文件系统权限默认值 通过 6.查看重点文件权限是否合理 四、安全审计
1. 查看进程运行是否正常[root@localhost selinux]# ps -ef |grep syslogd --查看进程服务情况 [root@localhost selinux]# ps aux|grep syslogd [root@localhost selinux]# ps -ef|grep auditd --查看守护进程情况 2.系统默认日志记录范围是否覆盖查看/etc/rsyslog.conf配置文件。 3. 查看系统登录日志命令lastlog --查询登录用户、端口、时间等 命令last -x --显示系统关闭、用户登录和退出的历史 命令lastb --列出失败尝试的登录信息 五、入侵防范能记录、检测到入侵行为,能记录入侵者ip、主机名、时间等。建议有条件安装第三方设备如HIDS、NIDS等。 1. 查看自身入侵可疑日志通过查看日志,可疑识别非法访问或可疑的暴力破解。 more /var/log/secure | grep fail 2. 最小安装原则3. 检查运行服务命令service --status-all --检查是否有非必要服务,如ftp、smtp等 4. 检查服务运行情况netstat-lp(查看开启服务) 六、资源控制1.TCP Wrappers程序管控通过设置/etc/hosts.allow和/etc/hosts.deny文件 顺序:
ssh允许单个ip ssh允许ip段 telnet允许单个ip telnet允许ip段
2.设置登录超时时间通过命令查看cat /etc/profile |grep TMOUT vi /etc/profile 添加export TMOUT=600 --600秒超时 3. 设置普通用户最大进程数、CPU、内存等进入 /etc/security/limits.conf 文件下, 增加代码roxy soft nproc 10240roxy hard nproc 10240roxy soft nofile 10240roxy hard nofile 10240 注:roxy 为需要修改线程数的用户名,10240 为设置的进程数和文件数限制,可根据需要修改。 也可以用 4.适当关闭外设-U盘、光盘等在 blacklist usb-storage 执行命令生效modprobe -r usb-storage 原文摘自:https://blog.csdn.net/compassjia/article/details/115531246 |
|
来自: tycoondeng > 《Linux系列》