Linux 系统安全加固

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 系统安全加固相关的知识,希望对你有一定的参考价值。

1,变更默认的ssh服务端口,禁止root用户远程连接

[[email protected] ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
[[email protected] ~]# vim /etc/ssh/sshd_config
Port 10022    #ssh连接默认的端口
PermitRootLogin no   #root用户黑客都知道,禁止它远程登录
[[email protected] ~]# /etc/init.d/sshd reload    #从新加载配置
[[email protected] ~]# netstat -lnt     #查看端口信息
[[email protected] ~]# lsof -i tcp:10022

或者直接修改用如下命令:

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
sed -i "s/#PermitRootLogin yes/PermitRootLogin no/" /etc/ssh/sshd_config
sed -i "s/#Port 22/Port 10022/" /etc/ssh/sshd_config

注:这样做的目的是防止root用户暴力破解,22端口为ssh默认的端口,建议使用其他端口

/etc/init.d/sshd reload

service sshd restart && history -c  #重启sshd服务

演示:

# ssh [email protected] 10022  这样就显示服务器拒绝了root用户登录。


2,添加普通用户并进行sudo授权管理

[[email protected] ~]# useradd cljj
[[email protected] ~]# echo "123456" | passwd --stdin cljj && history –c ##这条命令历史记录要清除
[[email protected] ~]# visudo
在root    ALL=(ALL)    ALL此行下,添加如下内容
cljj    ALL=(ALL)    ALL

演示:

[[email protected] home]$ sudo cat -n /etc/issue
[sudo] password for cljj:   #这里输入当前用户的密码,临时授予root用户权限
cljj is not in the sudoers file.  This incident will be reported.
[[email protected] home]$ sudo cat -n /etc/issue
[sudo] password for cljj: 
     1CentOS release 6.8 (Final)
     2Kernel \r on an \m
     3

注:此方式可以限制用于的权限,防止篡改系统配置文件导致系统瘫痪


3,当普通用户登录时,密码输入错误三次,系统马上把该用户锁定10分钟,root用户锁定20分钟

编辑/etc/pam.d/sshd (ssh登录)

/etc/pam.d/login (终端)

cp /etc/pam.d/sshd  /etc/pam.d/sshd.bak   #在文件末添加如下行:
auth    required    pam_tally2.so    deny=3    unlock_time=600 even_deny_root root_unlock_time=1200


各参数解释:

even_deny_root    也限制root用户;  

deny           设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户 

unlock_time        设定普通用户锁定后,多少时间后解锁,单位是秒; 

root_unlock_time      设定root用户锁定后,多少时间后解锁,单位是秒; 


查看登陆次数:

查看某一用户错误登陆次数:

pam_tally –-user 用户

例如,查看cljj 用户的错误登陆次数:

pam_tally –-user cljj

清空某一用户错误登陆次数:

pam_tally –-user  用户 –-reset

例如,清空 cljj 用户的错误登陆次数,

pam_tally –-user cljj –-reset 


注:此方式也可以防御暴力破解用户账号



4,锁定关键文件系统

[[email protected] ~]# chattr +i /etc/passwd
[[email protected] ~]# chattr +i /etc/inittab
[[email protected] ~]# chattr +i /etc/group
[[email protected] ~]# chattr +i /etc/shadow
[[email protected] ~]# chattr +i /etc/gshadow

使用chattr命令后,为了安全我们需要将其改名


[[email protected] ~]# /bin/mv /usr/bin/chattr /usr/bin/任意名称


注:将有关用户账号密码的配置文件限制权限,也也可以有效的防止恶意篡改。


5,登出时间限制600登出时间,及HISTSIZE =10000

cp  /etc/profile /etc/profile.bak
echo export TMOUT=600 >> /etc/profile  #增加10分钟超时退出
echo export HISTTIMEFORMAT=\‘%F %T  `whoami` \‘  >> /etc/profile    #记录操作历史记录的时间
echo export HISTFILESIZE=10000 >> /etc/profile
echo export HISTSIZE=10000 >> /etc/profile
source /etc/profile

注:history命令历史可以有效的将用户的行为记录下来,一方面可以方便查找,也可以查看用户在什么时间做了哪些操作。

本文出自 “Ljohn” 博客,请务必保留此出处http://ljohn.blog.51cto.com/11932290/1907249

以上是关于Linux 系统安全加固的主要内容,如果未能解决你的问题,请参考以下文章

linux系统安全加固

linux系统加固

三问:linux操作系统安全加固

IT 安全概念&Linux 安全加固实施方案

Linux操作系统安全加固

Linux操作系统安全加固