配置口令复杂度:

vi /etc/pam.d/system-auth

Linux安全加固_远程登录

添加:

password requisite pam_cracklib.so difok=3 minien=8 ucredit=1

lcredit=-1 dcredit=1

#3种类型组合,最短8位

设置口令认证失败锁定次数:

添加:

auth required pam_tally.so onerr=fail deny=10 unlock_time=300

配置口令生存期:

是否有以下配置:root/root/, test/test

修改 /etc/login.defs

PASS_MAX_DAYS 90

PASS_MIN_DAYS 0

配置远程ssh访问:

service ssh status

service telnet status

可以通过堡垒机进行身份识别,传输信息要加密

配置历史口令使用策略:

ubuntu/debian:

vi /etc/pam.d/common-password

centos/red hat/fedora:

vi /etc/pam.d/system-auth

找到:password sufficient pam_unix.so user_authtok md5 shadow remember=5 #不能使用相同的5次口令

后面添加remember=10,而不是下一行

访问控制:

禁止共享账号:

cat /etc/passwd

cat /etc/shadow

cat /etc/group

Linux安全加固_远程登录_02

着重看/bin/bash,因为可以远程登录

锁定无关账号:

passwd -l

passwd -d

后面加上用户名

清除uid为0的非root账号:

awk -F: '($3==0){print $1}' /etc/passwd

Linux安全加固_用户登录_03

设置umask值:

查看:

more /etc/profile

more /etc/csh.login

more /etc/csh.cshrc

more /etc/bashrc

保证umask=207

配置重要的目录与文件权限:

着重看:

/etc/; /etc/rc.d/init.d/; /tmp; /etc/inetd.conf/; /etc/passwd/;

/etc/shadow/; /etc/group/;/etc/service/;

控制未授权的suid,sgid

控制异常或隐含文件:

find /-name "...*" -print -xdev

Linux安全加固_远程登录_04

我这里是正常的

安全审计:

配置syslog.conf

more /etc/syslog.conf

查看:

kem.warning;*.err;authpriv.none\t@loghost

*.info;mail.none;authpriv.none;cron.none\t@loghost

*.emerg\t@loghost

local7.*\t@loghost

配置认证日志:

more /etc/syslog.conf

查看authpriv的值

配置使用ntp:

root登录:

vi /etc/ntp.conf

配置文件末尾

server 127.0.0.1 local clock

fudge 127.0.0.1 stratum 10

#可以添加ip

server x.x.x.x minpoll 4 maxpoll 4

保存退出,启动开机自启:

chkconfig xntpd on

配置远程日志服务器:

root登录

vi /etc/audisp/plugins.d/syslog.conf

增加:

*.*@logserver

保存退出,重启:

service syslog restart

查看syslog.conf中是否配置远程日志服务器:

cat /etc/audisp/plugins.d/syslog.conf

*.*@logserver

配置安全日志:

root登录

vi /etc/audisp/plugins.d/syslog.conf

配置类似语句:

*.err /var/log/errors

authpriv.info /var/authpriv_info

*.info /var/log/info

auth.none /var/log/auth_none

修改配置信息,记录用户登录:

vi /etc/login.defs

修改LASTLOG_ENAB属性:

LASTLOG_ENAB yes

开启系统记账功能:

设置日志文件对每一天用户输入的指令记录

/usr/lib/acct/accton /var/adm/pact

开启acct服务:

chkconfig acct on

执行读取命令:

lastcomm [user.name]

确认已配置设备安全日志

cat /etc/audisp/plugins.d/syslog.conf

确认已配置记录用户登录信息:

cat /etc/login.defs | grep LASTLOG_ENAB

确认开启系统记账功能:

chkconfig -list | grep acct

入侵防护:

关闭不需要的服务:

who -r 查看当前init级别

chkconfig --list<服务名> 查看当前服务

chkconfig --level <init 级别><服务名> on|off|reset

资源控制:

配置登录超时:

vi /etc/profile

TIMOUT=180#三分钟

配置增强被远程访问的安全性:

find /-name .netrc

find /-name .rhosts

如果存在建议删除

限制root账户远程登录:

cat /etc/ssh/sshd_config

PermitRootLogin 改为no

修改ssh使用的协议版本:

Protocol的版本

其他:

关闭系统core dump状态:

coredump包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理等信息, 当系统或者应用出错,coredump信息有利于处理,快速定位。可能被攻击者利用

more /etc/security/limits.conf

*soft core 0

*hard core 0

core dump