Linux等保笔记

查看版本

1
2
3
4
5
6
7
8
9
10
11
# 查看Linux 内核版本
cat /proc/version
uname –a
uname –r
# 查看Linux 版本:
lsb_release –a
cat /etc/redhat-release
cat /etc/centos-release
rpm -q redhat-release
rpm -q centos-release
cat /etc/release #Solaris

身份鉴别

密码策略

RedHat/CentOS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 文件
/etc/login.defs

# 默认参数
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7

# 推荐参数
PASS_MAX_DAYS 90 #密码有效期/天
PASS_MIN_DAYS 0 #更换密码的最小天数
PASS_MIN_LEN 8 #密码最小长度
PASS_WARN_AGE 7 #密码失效前多少天开始警告

# 文件
/etc/pam.d/system-auth

# 参数
password requisite pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1
# minlen=8 最小密码长度为8
# ucredit=-1 至少需要有一个大写字母
# lcredit=-1 至少需要有一个小写字母
# dcredit=-1 至少需要有一个数字
# ocredit=-1 至少需要一个除字母数字以外的其他字符
Solaris
1
2
3
4
5
6
7
8
# 文件
/etc/default/passwd
MINWEEKS=1 # 密码可以被改变的最小时段
MAXWEEKS=13 # 密码最大的生存周期
WARNWEEKS=4 # 设定密码到期提醒天数
PASSLENGTH=8 # 设定密码长度
MINALPHA=2 # 口令必须包含字母的最小数目
MINDIFF=1 # 口令必须包含唯一字符的最小数目

口令更换时间

1
2
3
4
5
# 命令
chage -l root
# 通过shadow文件计算
cat /etc/shadow
date -u -d "1970-01-01 UTC $((16749 * 86400 )) seconds"

登录失败

RedHat/CentOS
1
2
3
4
5
6
7
8
9
10
11
12
13
# 文件
/etc/pam.d/system-auth
/etc/pam.d/login
/etc/pam.d/sshd

# 参数
auth required pam_tally2.so onerr=fail deny=5 unlock_time=100 even_deny_root root_unlock_time=100
# even_deny_root 也限制root用户;
# deny 设置普通用户和root用户连续错误登陆的最大次数,超过最大次数,则锁定该用户
# unlock_time 设定普通用户锁定后,多少时间后解锁,单位是秒;
# root_unlock_time 设定root用户锁定后,多少时间后解锁,单位是秒;

account required /lib/security/pam tally.so deny=X no_magic_root reset
Solaris
1
2
3
4
5
/etc/security/policy.conf
/etc/default/login

LOCK_AFTER_RETRIES=YES
RETRIES=5

远程协议

Solaris
1
2
svcs | grep ssh
svcs | grep telnet

访问控制

umask

1
2
3
4
# 默认值
022
# 推荐值
077

安全审计

审计进程

RadHat/CentOS
1
2
3
4
5
6
7
8
#系统日志服务
service syslog status #(CentOS6.4以上为rsyslog)
service auditd status
#或
service --status-all | grep running
#查看进程
PS -ef | grep syslog
ps -ef | grep auditd
Solaris
1
2
3
4
/etc/default/login
SYSLOG=YES #审计进程运行正常

svcs |grep auditd #audit服务

审计内容

RadHat/CentOS
1
2
3
# 文件
/etc/syslog.conf
/etc/rsyslog.conf
Solaris
1
2
3
4
5
6
7
8
9
10
11
/etc/syslog.conf 
*.info;mail.none;news.none;authpriv.none;cron.none /var/log/messages

/etc/security/audit_control
#应设置需审计的事件类,如:
#audit_control file
dir: /var/audit
flags:1o
minfree:20
naflags:lo
*审计事件类型至少应包括:lo、fw、fm、fd。

日志文件

RadHat/CentOS
1
2
3
/var/log/messages
/var/log/secure
/var/log/audit/audit.log
Solaris
1
2
3
/var/adm/messages;
/var/adm/wtmpx;
/var/adm/utmpx;

入侵防范

端口

1
2
3
netstat -lntp #查看tcp端口
netstat -lnup #查看udp端口
netstat -ano #早期Linux

服务

RadHat/CentOS
1
2
3
4
5
service --status-all
ps -ef
setup #通过图形界面记录系统开启的网络服务
chkconfig --list #查看各运行级别下系统开启的服务
who –r #查看系统当前运行级别
Solaris
1
svcs -a

补丁

RadHat/CentOS
1
2
3
4
5
6
7
8
9
10
11
12
yum
rpm –qa|grep patch
#查看Linux 内核版本:
cat /proc/version
uname –a
uname –r
#查看Linux 版本:
lsb_release –a
cat /etc/redhat-release
cat /etc/centos-release
rpm -q redhat-release
rpm -q centos-release
Solaris
1
cat /etc/release #系统版本、安全补丁安装

资源控制

地址限制

1
2
3
/etc/hosts.allow
/etc/hosts.deny
/etc/ssh/sshd_config
Solaris
1
2
3
/etc/default/login
# 参数
CONSOLE=/dev/console

超时锁定

1
2
3
4
5
6
# 文件
/etc/profile
/etc/ssh/ssh_config
# 值
TMOUT=120
ConnectTimeout=120

系统资源

RadHat/CentOS
1
2
3
4
5
6
7
8
9
# 文件
/etc/security/limits.conf
# 1、fsize 用户创建的文件大小限制;
# 2、core 生成的core文件大小的限制;
# 3、cpu 用户进程可用cpu的限定值;
# 4、data 进程数据段大小的限定值;
# 5、stack 进程堆栈短大小的限定值;
# 6、rss 进程常驻内存段的限定值;
# 7、nofiles 进程中打开文件的最大数量。
Solaris
1
2
3
4
5
6
7
8
9
ulimit -a
# 参数
time(seconds)
file(blocks)
data(kbytes)
stack(kbytes)
memory(kbytes)
coredump(blocks)
nofiles(descriptors)