在Linux服务器安全加固方面,可能许多人一听到Linux centos系统这个词的时
候,就感到头大,因为Linux系统完全是命令行下操作并敲写着英文代码,跟
windows2003 2008 2012服务器桌面化鼠标点击操作,完全是两码事,针对于此
Sinesafe高级安全工程师,写了这篇通俗易懂的服务器安全配置方法的文章,让更多的人
学会Linux安全加固,真的没有你想象的那么难哦。
下面开始我们的安全部署:
服务器环境:
Linux centos :RedHat
需要提前注意的是:在做Linux安全加固的同时,我们的服务器一定要做好快照备份,以
免误操作导致服务器瘫痪,阿里云有快照功能,可以随时备份,随时还原。
免误操作导致服务器瘫痪,阿里云有快照功能,可以随时备份,随时还原。
对于真的不懂如何做安全的小白们,可以买一台服务器来搭建Linux并以此来练手,这样
你就不用担心了。
你就不用担心了。
首先需要配置的就是密码安全
密码复杂度是在password验证类型中调用pam_cracklib.so动态链接库:
password required pam_cracklib.so try_first_pass minlen=8 ucredit=-1
lcredit=-1 ocredit=-1 dcredit=-1 retry=3 difok=5
lcredit=-1 ocredit=-1 dcredit=-1 retry=3 difok=5
/etc/pam.d/system-auth Sine安全公司是一家专注于:服务器安全、网站安全、网站
安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
安全检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
是用户使用pam认证模块的登录策略配置文件,配置用户密码的复杂度、登录失败暂
锁、重复使用密码次数等都是配置此文件,如下图所示:
锁、重复使用密码次数等都是配置此文件,如下图所示:
登录失败暂锁机制是在auth和account验证类型中调用pam_tally.so动态链接库,此外
,针对远程登录的设置可在/etc/pam.d/sshd配置文件中做同样的配置:
,针对远程登录的设置可在/etc/pam.d/sshd配置文件中做同样的配置:
如图所示:
/etc/login.defs
文件是配置用户密码策略的,基线检查项中包括密码的时效性及默认访问权限两项。密
码时效性按照要求需满足最小长度8位、最大使用时间90天、最小使用天数6天、提醒时
间为30天,也可根据实际需求自定义。
码时效性按照要求需满足最小长度8位、最大使用时间90天、最小使用天数6天、提醒时
间为30天,也可根据实际需求自定义。
如图:
对重要文件目录权限的安全设置如下图所示:
在这里遇到了一个问题就是,我们在修改/etc目录的安全权限后,导致了LINUX无法正常
的登陆,之后查看服务器的日志才发现,Linux centos开启了nscd服务的原因,但是根
据nscd服务的作用是缓存passwd、group、hosts三种服务加快解析,可能原因是用户
登录时认证先通过nscd服务缓存,但是nscd服务进程因权限设置无法读取/etc/group
和/etc/passwd导致。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全
检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
的登陆,之后查看服务器的日志才发现,Linux centos开启了nscd服务的原因,但是根
据nscd服务的作用是缓存passwd、group、hosts三种服务加快解析,可能原因是用户
登录时认证先通过nscd服务缓存,但是nscd服务进程因权限设置无法读取/etc/group
和/etc/passwd导致。Sine安全公司是一家专注于:服务器安全、网站安全、网站安全
检测、网站漏洞修复,渗透测试,安全服务于一体的网络安全服务提供商。
设置用户umask为077:
ssh登录安全设置
SFTP安全设置,禁止匿名登录、禁止root登录、删除ftp账户登录系统
设置服务器日志安全检查:
Linux需要安装syslog或者rsyslog或者syslog-ng三个服务中的一个,然后需要保证创建
了/var/log/cron、/var/adm/messages文件。
了/var/log/cron、/var/adm/messages文件。
1.在/etc/rsyslog.conf或/etc/syslog.conf配置文件中添加:
2.在/etc/syslog-ng/syslog-ng.conf配置文件中添加:
3.禁止wheel组以外的用户su为root,在/etc/pam.d/su文件内开头添加:
关闭一些不必要的服务与端口:
ntalk、lpd、kshell、time、sendmail、klogin、printer、nfslock、echo、discard、
chargen、bootps、daytime、tftp、ypbind、ident 以上这些端口都是不需要开启的,
也不需要对外开放的,我们给加入到端口安全策略中。
chargen、bootps、daytime、tftp、ypbind、ident 以上这些端口都是不需要开启的,
也不需要对外开放的,我们给加入到端口安全策略中。
1.检查修改suid和sgid权限文件:
2.设置系统的内核参数:
3.删除潜在危险文件hosts.equiv、.rhosts、.netrc