一、账号安全控制

账号安全基本措施

1、系统账号清理

-将非登录用户的Shell设为/sbin/nologin

Useradd –s /sbin/nologin
Usermod -s

-锁定长期不使用的账号

Passwd –l
Passwd -u

-删除无用的账号

Userdel -r

-锁定账号文件passwd、shadow

[root@localhost~]# chattr +i /etc/passwd /etc/shadow
[root@localhost~]# lsattr /etc/passwd /etc/shadow  \\锁定文件并查看状态
----i-------e-/etc/passwd
----i-------e-/etc/shadow
 
 
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow
[root@localhost ~]# lsattr /etc/passwd /etc/shadow  //解锁文件并查看状态
------------e- /etc/passwd
------------e- /etc/shadow


 

2、密码安全控制

-设置密码有效期

Useradd -e

-要求用户下次登录时修改密码

[root@localhost~]# vi /etc/login.defs  //适用于新建用户
……
PASS_MAX_DAYS    30
[root@localhost~]# chage -M 30 lisi  //适用于已有用户
 
 
[root@localhost ~]# chage -d 0 zhangsan //强制在下次登录时更改密码


3、命令历史限制

-减少记录的命令条数

[root@localhost~]# vi /etc/profile
……
HISTSIZE=200

-注销时自动清空命令历史

[root@localhost~]# vi ~/.bash_logout
……
history-c
clear


 

4、终端自动注销

-闲置600秒后自动注销

[root@localhost ~]# vi ~/.bash_profile
……
export TMOUT=600

 

 

5、使用su命令切换用户

用途及用法

用途:Substitute User,切换用户

格式:su - 目标用户

-限制使用su命令的用户

-启用pam_wheel认证模块

[root@localhost~]# vi /etc/pam.d/su 
#%PAM-1.0
auth        sufficient  pam_rootok.so
auth        required    pam_wheel.so use_uid


 

--将允许使用su命令的用户加入wheel组

[root@localhost ~]# gpasswd -a tsengyia wheel
tsengyia
正在将用户“tsengyia”加入到“wheel”组中


 

 

6、使用sudo机制提升权限

用途:以其他用户身份(如root)执行授权的命令

用法:sudo 授权命令

-配置sudo授权

visudo或者 vi /etc/sudoers

记录格式:用户    主机名列表=命令程序列表

[root@localhost~]# visudo
……
%wheel                ALL=NOPASSWD: ALL
jerry             localhost=/sbin/ifconfig
syrianer                localhost=/sbin/*,!/sbin/ifconfig,!/sbin/route //可以使用通配符*、取反符号!
Cmnd_Alias        PKGTOOLS=/bin/rpm,/usr/bin/yum //类似别名还包括:
User_Alias、Host_Alias
mike                    localhost=PKGTOOLS


 

7、修改ssh端口号,禁止root远程登录


 

二、系统引导和登录控制

1、开关机安全控制

-调整BIOS引导设置

--将第一引导设备设为当前系统所在硬盘

--禁止从其他设备(光盘、U盘、网络)引导系统

--将安全级别设为setup,并设置管理员密码

-禁用重启热键Ctrl+Alt+Del

[root@localhost~]# vi /etc/init/control-alt-delete.conf 
……
#starton control-alt-delete
 
#exec/sbin/shutdown -r now “Control-Alt-Delete pressed”
[root@localhost~]# reboot


 

-GRUB限制的实现

使用grub-md5-crypt获得加密字串

修改grub.conf文件,添加密码记录

[root@localhost~]# grub-md5-crypt
Password:
Retypepassword:  //重复指定密码
$1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/


 

[root@localhost ~]# vi /boot/grub/grub.conf
……   //添加到第1个title之前
password --md5 $1$Kndw50$wRW2w1v/jbZ8n5q2fON4y/
title Red Hat Enterprise Linux (2.6.32-431.el6.x86_64)


2、终端登录安全控制

-减少开放终端个数

[root@localhost~]# vi /etc/init/start-ttys.conf
…… //省略部分内容
envACTIVE_CONSOLES=/dev/tty[456]   //禁用三个终端:tty1、tty2、tty3
[root@localhost~]# vi /etc/sysconfig/init
…… //省略部分内容
ACTIVE_CONSOLES=/dev/tty[456]
[root@localhost~]# reboot


-限制root只在安全终端登录

安全终端配置:/etc/securetty

[root@localhost~]# vi /etc/securetty
……   
tty1
tty2
tty3
tty4
#tty5
#tty6


  //禁止root用户从终端tty5、tty6登录

-禁止普通用户登录

--建立/etc/nologin文件

--删除nologin文件或重启后即恢复正常

[root@localhost~]# touch /etc/nologin  //禁止普通用户登录
[root@localhost~]# rm -rf /etc/nologin  //取消上述登录限制


 

三、口令检测、端口扫描

1、系统弱口令检测

Joth the Ripper,简称为 JR

一款密码分析工具,支持字典式的暴力破解

通过对shadow文件的口令分析,可以检测密码强度

官方网站:http://www.openwall.com/john/

安装JR工具

make clean 系统类型

主程序文件为 john

[root@localhost~]# tar zxf john-1.7.8.tar.gz
[root@localhost~]# cd john-1.7.8/src
[root@localhostsrc]# make clean linux-x86-64
……
[root@localhostsrc]# ls ../run/john
../run/john


检测弱口令账号

-- 获得Linux/Unix服务器的shadow文件

--执行john程序,将shadow文件作为参数

密码文件的暴力破解

--准备好密码字典文件,默认为password.lst

--执行john程序,结合--wordlist=字典文件

2、网络端口扫描

NMAP的扫描语法

nmap [扫描类型]  [选项]  <扫描目标 ...>

常用的扫描类型

-sS,TCP SYN扫描(半开)
-sT,TCP 连接扫描(全开)
-sF,TCP FIN扫描
-sU,UDP扫描
-sP,ICMP扫描
-P0,跳过ping检测
-p  端口号