当前位置: 首页 > 安全加固 > 正文

Linux安全加固

0x00 简介

安全加固是企业安全中及其重要的一环,其主要内容包括账号安全、认证授权、协议安全、审计安全四项,今天首先学习Linux下的系统加固(CentOS)。

0x01 账号安全

这一部分主要是对Linux账号进行加固。

与账号相关的文件

/etc/passwd    — 记录了系统中各用户的一些基本属性,root可写,所有用户可读

/etc/shadow    — 记录了所有用户的密码

/etc/group     — 记录了用户组属性

修改密码策略

vim /etc/login.defs

PASS_MAX_DAYS      90        密码最长有效期

PASS_MIN_DAYS      10        密码修改之间最小的天数

PASS_MIN_LEN        8         密码长度

PASS_WARN_AGE     7         口令失效前多少天开始通知用户修改密码

设置密码强度

vim  /etc/pam.d/system-auth,将password requisite  pam_cracklib.so

修改为至少包含一个数字、一个小写字母、一个大写字母、一个特殊字符、且密码长度>=8:

password requisite  pam_cracklib.so try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minlen=8

Ubuntu中vi /etc/pam.d/common-password。

限制用户登陆vim  /etc/hosts.deny,若禁止192.168.0.1对服务器进行ssh的登陆,添加如下内容sshd : 192.168.0.1

限制登陆次数

应对暴力破解,我们可以限制登陆次数为5,超过5次登陆失败就锁定vim /etc/pam.d/sshd,在 #%PAM-1.0 的下面,加入下面的内容,表示当密码输入错误达到3次,就锁定用户150秒,如果root用户输入密码错误达到3次,锁定300秒。

auth required pam_tally2.so deny=3 unlock_time=150 even_deny_root root_unlock_time300

锁定用户的管理:

pam_tally2                             查看被锁定的用户

pam_tally2  –reset  -u  username      将被锁定的用户解锁

0x02 认证授权

认证授权主要是验证你是谁,你能够做什么。

文件目录权限

在用户登陆中非常重要的三个文件

/etc/passwd 必须所有用户都可读,root用户可写 –rw-r—r— 权限值为644

/etc/shadow 只有root可读 –r——–  权限值为400

/etc/group 必须所有用户都可读,root用户可写 –rw-r—r— 权限值为644

chmod 644 /etc/passwd

chmod 400 /etc/shadow

chmod 644 /etc/group

检查是否存在除root之外UID为0的用户:

awk -F ‘:’ ‘($3==0){print $1)’ /etc/passwd

检索出来的非root用户用userdel命令全部删除。

检查是否使用PAM认证模块禁止wheel组之外的用户su为root

[root@centos ~]# #vim /etc/pam.d/su       # 新添加以下两行

auth            sufficient      pam_rootok.so

auth            required        pam_wheel.so use_uid

注意:auth与sufficient之间由两个tab建隔开,sufficient与动态库路径之间使用一个tab建隔开

然后,:usermod -G wheel username    #username为需要添加至wheel组的用户名称,将用户添加到wheel组。注意,第一步加固表明只有wheel组中的用户才能使用su命令切换到root用户,因此必须将需要切换到root的用户添加到wheel组,以使它可以使用su命令成为root用户,如果系统不存在wheel组,则新增,新增方法:groupadd wheel。

PAM(Pluggable Authentication Module)是一个可插入式认证模块,在Linux系统中,各种不同的应用程序都需要完成认证功能,为了实现统一调配,把所有需要认证的功能做成一个模块(认证机制特别复杂的除外,如:https),当特定的程序需要完成认证功能的时候,就去调用PMA的认证模块。

文件与目录缺省权限控制

[root@centos ~]#cp /etc/profile /etc/profile.bak

[root@centos ~]# vim   /etc/profile

umask 027

[root@centos ~]#source  /etc/profile

 

0x03 协议安全

协议加固主要阻止入侵者远程获取服务器的权限。

SSH安全
SSH是一个协议,利用它可以登录到一个远程系统或远程执行系统命令,默认允许root登录,并且sshv1存在缺陷,我们应该在sshd_config禁止root访问和使用sshv2来让ssh更加安全。vim /etc/ssh/sshd_config 修改为:

PermitRootLogin    no

telnet安全

早期的Linux默认开启telnet服务,telnet,ftp,rlogin都是明文传输的协议,如果必须使用telnet,则需要进行安全配置:

/etc/xinetd.d/telnet

disable=yes

禁止匿名ftp

[root@wenzhiyi ~]# vim  /etc/vsftpd/vsftpd.conf

anonymous_enable=NO    #如果存在anonymous_enable则修改,如果不存在则手动增加

预防Flood攻击

[root@centos ~]# vim  /etc/sysctl.conf

[root@centos ~]# net.ipv4.tcp_syncookies = 1

[root@centos ~]# sysctl  -p  #让命令生效

禁止ping

# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all 开启

# echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all  关闭

0x04 审计安全

日志就是计算机系统、设备、软件等在某种情况下记录的信息。具体的内容取决于日志的来源

检查是否记录安全事件日志

[root@wenzhiyi ~]# vim  /etc/syslog.conf 或者 /etc/rsyslog.conf,在文件中加入如下内容:

*.err;kern.debug;daemon.notice     /var/log/messages

[root@wenzhiyi ~]# chmod 640 /var/log/messages

[root@wenzhiyi ~]#  service rsyslog restart

 

建立日志服务器

日志服务器的好处在于,每个工作服务器将自己的日志信息发送给日志服务器进行集中管理,即使有人入侵了服务器并将自己的登录信息悄悄删除,但由于日志信息实时与日志服务器同步,保证了日志的完整性。以备工作人员根据日志服务器信息对服务器安全进行评测。

在客户端修改配置文件/etc/rsyslog.conf

想把哪种类型的日志文件发送给服务端,你就把他原来的对应的目录改成: @日志服务器ip

然后重启rsyslog服务:

systemctl  restart  rsyslog

在服务器端打开 /etc/rsyslog.conf 配置文件,将后两行注释给去掉

然后重启rsyslog服务,开启防火墙,这样就完成了日志服务器的搭建。

systemctl  restart  rsyslog

firewall-cmd  –add-port=514/tcp

 

打赏

本文固定链接: https://www.moondream.cn/?p=1950 | 月梦工作室

该日志由 moondream 于2020年08月08日发表在 安全加固 分类下, 你可以发表评论,并在保留原文地址及作者的情况下引用到你的网站或博客。
原创文章转载请注明: Linux安全加固 | 月梦工作室
关键字:

Linux安全加固:等您坐沙发呢!

发表评论

快捷键:Ctrl+Enter