LINUX主机安全加固

来源:互联网 发布:网络机柜检验报告 编辑:程序博客网 时间:2024/05/22 17:22

0x01 缘由

   您可能会问:“为什么说加固机器非常重要?我的机器看起来并不会遭到攻击,因为我们只是一个小公司(或者是一个
小的非盈利组织等)。”确实,在 这种环境下,你的组织看起来并不是攻击者的目标。然而,许多攻击并不是针对特
定的目标进行,许多攻击者在攻击时并没有进行过思考,它们只是运行自动化的脚 本,找到防御薄弱的机器就实施
攻击。
   实质上,此类攻击通常由一些使用自动化程序的人发起(通常这不复杂,也不需要太多的技术知识),它们使用这些
程序扫描一定范围内的 Internet地址。如果你的机器刚好在这个范围内,就变得非常脆弱,它将可能被攻击或者被破
坏。之后你会发现,你现在要进行令人头疼的恢复操作――恢 复通常比防御需要花费更多的工作量。因此,加固机
器对于任何组织的安全计划来说,都是至关重要的。
   和你想像的一样,正确的加固一台机器对系统管理员来说,是一项烦琐而又耗费时间的过程。在此过程中,很容
易漏掉一个或多个重要步骤,这不仅会为机器留下漏洞,还可能会创建一个错误的安全策略,将机器置于风险之中。

0x02 方法

转载: 最近进行渗透测试,发现很多产商安全意思薄弱,而现在linux作为服务器的场景较多;

转载于:http://blog.csdn.net/xiegh2014/article/details/43304157

一、       账号策略

1.1 检查是否存在空口令账号
检查方法:
awk -F: '($2 == ""){print}' /etc/passwd
 
备份方法:
cp -p /etc/passwd  /etc/passwd_bak
 
加固方法:
使用命令passwd  <用户名>设置密码。
 
回退方法:
rsync –avp  /etc/passwd_bak  /etc/passwd
 
1.2 检查是否设置除root之外UID为0的用户
检查方法:
awk -F: '($3 == "0") {print}'/etc/passwd
 
备份方法:
cp -p /etc/passwd  /etc/passwd_bak
 
加固方法:
使用命令passwd -l <用户名>锁定不必要的超级账户。
使用命令passwd -u <用户名>解锁需要恢复的超级账户。
 
回退方法:
rsync –avp  /etc/passwd_bak  /etc/passwd
 
1.3 检查是否按组进行账号管理
检查方法:
cat /etc/pam.d/system-auth
 
备份方法:
cp -p /etc/pam.d/system-auth /etc/pam.d/system-auth_bak
加固方法:
添加以下内容
auth  required pam_tally.so deny=5 unlock_time=600 no_lock_time
account  required  pam_tally.so
 
回退方法:
rsync –avp  /etc/pam.d/system-auth_bak /etc/pam.d/system-auth
 
1.4 检查是否设置系统引导管理器密码
检查方法:
cat /boot/grub/grub.conf
备份方法:
cp -p /boot/grub/grub.conf  /boot/grub/grub.conf_bak
 
加固方法:
grub-md5-crypt
将执行之后的结果集添加配置文件中/boot/grub/grub.conf
 
回退方法:
rsync –avp  /boot/grub/grub.conf_bak /boot/grub/grub.conf
 
二、       文件访问控制
1.1 检查用户目录缺省访问权限设置
检查方法:
cat /etc/login.defs
备份方法:
cp -p cat /etc/login.defs   /etc/login.defs_bak
 
加固方法:
vi /etc/login.defs
在末尾增加umask 027或UMASK  027,将缺省访问权限设置为750。
 
回退方法:
rsync –avp  /etc/login.defs_bak /etc/login.defs
1.2 检查重要目录或文件权限设置
检查方法:
cat /etc/profile
 
备份方法:
cp -p /etc/profile/etc/profile_bak
 
加固方法:
在文件/etc/profile中设置umask 077或UMASK 077
 
回退方法:
rsync –avp  /etc/profile_bak  /etc/profile
 
三、       日志管理
检查安全事件日志配置
检查方法:
cat /etc/syslog.conf
 
备份方法:
cp -p /etc/syslog.conf/etc/syslog.conf_bak
 
加固方法:
编辑/etc/syslog.conf
配置:
*.err;kern.debug;daemon.notice                          /var/adm/messages
其中/var/adm/messages为日志文件。
如果该文件不存在,则创建该文件,命令为:
touch /var/adm/messages,并修改权限为666.命令为:chmod666 /var/adm/messages.  
重启日志服务:/etc/init.d/syslogrestart
 
回退方法:
rsync –avp  /etc/syslog.conf_bak  /etc/syslog.conf
 
四、       远程登录
1.1 检查是否修改snmp默认团体字
检查方法:
cat /etc/snmp/snmpd.conf
 
备份方法:
cp -p /etc/snmp/snmpd.conf/etc/snmp/snmpd.conf_bak
 
加固方法:
编辑/etc/snmp/snmpd.conf,修改public默认团体字为用户自定义团体字。
 
回退方法:
rsync –avp  /etc/snmp/snmpd.conf_bak  /etc/snmp/snmpd.conf
1.2 检查系统openssh安全配置
检查方法:
cat /etc/ssh/sshd_config
 
备份方法:
cp -p /etc/ssh/sshd_config/etc/ssh/sshd_config_bak
 
加固方法:
在添加内容/etc/ssh/sshd_config
Protocol 2
PermitRootLogin NO
 
回退方法:
rsync –avp  /etc/ssh/sshd_config_bak /etc/ssh/sshd_config
五、       系统服务
1.1 检查NFS(网络文件系统)服务配置
检查方法:
cat /etc/hosts.allow
 
备份方法:
cp -p /etc/hosts.allow /etc/hosts.allow_bak
 
加固方法:
限制能够访问NFS服务的IP范围,编辑文件vi /etc/hosts.allow增加一行:portmap允许访问的IP
 
回退方法:
rsync –avp  /etc/hosts.allow_bak /etc/hosts.allow
 
1.2 检查是否使用NTP(网络时间协议)保持时间同步
检查方法:
cat /etc/ntp.conf
 
备份方法:
cp -p /etc/ntp.conf/etc/ntp.conf_bak
 
加固方法:
vi /etc/ntp.conf
配置:server IP地址(提供ntp服务的机器)
 
回退方法:
rsync –avp  /etc/ntp.conf_bak /etc/ntp.conf

原创粉丝点击