#备份文件
cp -p /etc/security/user /etc/security/user_bak
cp -p /etc/security/.profile /etc/security/.profile_bak
cp -p /etc/syslog.conf /etc/syslog.conf_bak
cp -p /etc/passwd /etc/passwd_bak
cp -p /etc/group /etc/group_bak
cp -p /etc/security/user /etc/security/user_bak
cp -p /etc/security/passwd /etc/security/passwd_bak
cp -p /etc/security/login.cfg /etc/security/login.cfg_bak
cp -p /etc/inetd.conf /etc/inetd.conf_bak
cp -p /etc/ntp.conf /etc/ntp.conf_bak
cp -p /etc/rc.tcpip /etc/rc.tcpip_bak
cp -p /etc/exports /etc/exports_bak
cp -p /etc/rc.nfs /etc/rc.nfs_bak
cp -p /etc/inittab /etc/inittab_bak
cp -p /etc/ftpusers /etc/ftpusers_bak
cp -p /etc/profile /etc/profile_bak
cp -p /etc/syslog.conf /etc/syslog.conf_bak
cp -p /etc/motd /etc/motd_bak
cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config_bak
admin1/111111 monitor/222222 root/33333
#创建普通账号,设置密码权限:
mkuser admin1
passwd admin1
mkuser monitor
passwd monitor
pwdadm -c admin1
pwdadm -c monitor
chuser groups=staff,sysadmin monitor
mkgroup -A users="admin1" sysadmin
chuser sugroups=sysadmin root
lsgroup -a users sysadmin
chuser account_locked=true daemon bin sys adm uucp nuucp printq guest nobody lpd
#限制超级管理员远程登录
#查看root的rlogin属性:
chuser rlogin=false root
lsuser -a rlogin root
sed 's/PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config
sed 's/Port 22/Port 2233/g' /etc/ssh/sshd_config
#重启sshd服务。
stopsrc -g ssh
startsrc -g ssh
#密码策略
chsec -f /etc/security/user -s default -a minlen=8
chsec -f /etc/security/user -s default -a minalpha=4
chsec -f /etc/security/user -s default -a mindiff=1
chsec -f /etc/security/user -s default -a minother=1
chsec -f /etc/security/user -s default -a pwdwarntime=30
chsec -f /etc/security/user -s default -a histsize=5
#关闭NFS
rmnfs -B
rm -f /etc/exports
#更改默认团体名
sed 's/community public/community RSTmonitor/g' /etc/snmpd.conf
refresh -s snmpd
#修改umask值
chsec -f /etc/security/user -s default -a umask=027
#设置登录超时策略
echo "TMOUT=1200" >> /etc/security/.profile
echo "TIMEOUT=1200" >> /etc/security/.profile
echo "export readonly TMOUT TIMEOUT" >> /etc/security/.profile
#启用日志记录功能
vi /etc/syslog.conf
*.emerg;*.alert;*.crit;*.err;*.warning;*.notice;*.info;*.debug <tab-separation>@<192.168.10.1>
startsrc -s syslogd 启动syslog服务
#安装openssl、openssh
#启动 SSH 服务器:
startsrc -g ssh
#确认已启动了SSH :
ps -ef|grep ssh
#重启系统以使安全加固完全生效
sync
sync
shutdown -Fr
AIX7.1安全加固规范
为防范计算机系统风险,规范计算机系统安全加固脚本,拟定此规范。
1 账号口令**
1.1设置口令重复使用次数
说明:
语句:
编辑/etc/security/user 设置default项下的 histsize=5
1.2删除或锁定无关帐号
说明:
语句:
- 执行备份:
cp -p /etc/passwd /etc/passwd_bak
cp -p /etc/shadow /etc/shadow_bak
- 锁定无用帐户:
chuser account_locked=true username
其中,username为要删除或锁定的用户名,包括:
daemon,bin,sys,adm,uucp,nuucp,guest,nobody,lpd,sshd
1.3设置口令复杂度策略
说明:
语句:
编辑/etc/security/user 设置default项下的 mindiff=1
编辑/etc/security/user 设置default项下的 minalpha=1
编辑/etc/security/user 设置default项下的 minother=1
编辑/etc/security/user 设置default项下的 minlen=6
2认证授权**
2.1重要目录或文件权限设置**
说明:
语句:
chmod -R 750 /etc/init.d
2.2设置文件与目录缺省访问权限**
说明:修改用户默认环境变量文件,禁止普通用户查看其他用户文件。
所有用户的umask设置为07 7
语句:
lsuser -a home ALL | awk '{print $1}' | while read user; do chuser umask=077 $user;done
2.3禁止不必要的用户登录FTP
说明:
语句:
echo "root
daemon
bin
sys
adm
lp
uucp
nuucp
listen
nobody
noaccess
nobody4" >>/etc/ftpusers
2.4 设置用户缺省访问权限
说明: 控制用户缺省访问权限,当在创建新文件或目录时应屏蔽掉新文件或目录不应有的访问允许权限,防止同属于该组的其它用户及别的组的用户修改该用户的文件或更高限制
语句:
在/etc/security/user文件default段增加 umask = 077
3日志审计**
3.1 记录用户登录日志**
说明:
语句:
touch /var/adm/syslog
touch /var/adm/authlog
echo "*.info;auth.none /var/adm/syslog rotate size 4096k files 4" >>/etc/syslog.conf
echo "auth.info /var/adm/authlog rotate size 4096k files 4" >>/etc/syslog.conf
stopsrc -s syslogd
startsrc -s syslogd
3.2 日志文件权限设置**
说明:
语句:
chmod 600 /var/adm/authlog
chmod 640 /var/adm/syslog
3.3检查是否配置日志功能,记录与设备相关的安全事件
说明: 设备应配置日志功能,记录对与设备相关的安全事件
语句:
echo "*.err;kern.debug;daemon.notice /var/adm/messages rotate size 4096k files 4" >>/etc/syslog.conf
4协议安全**
4.1设置NTP(网络时间协议)服务保持时间同步**
说明:如果网络中存在信任的NTP(网络时间协议)服务器,应该配置系统使用NTP(网络时间协议)服务保持时间同步。
语句:
echo "server X.X.X.X" >> /etc/ntp.conf
4.2优化参数抵制SYN-flood 攻击**
说明:优化参数,抵制SYN-flood 攻击。
语句:
/usr/sbin/no -p -o clean_partial_conns=1
4.3禁止主机系统ICMP重定向**
说明:忽略ICMP重定向报文并不发送它们。
语句:
/usr/sbin/no -p -o ipignoreredirects=1
/usr/sbin/no -p -o ipsendredirects=0
4.4设置主机采用静态路由
说明:忽略ICMP重定向报文并不发送它们。
语句:
/usr/sbin/no -p - o ipsrcrouteforward=0
/usr/sbin/no -p -o ipsrcrouterecv=0
/usr/sbin/no -p -o ipsrcroutesend=0
/usr/sbin/no -p -o nonlocsrcroute=0
4.5配置使用SSH进行远程维护
说明:使用SSH进行远程维护。
语句:
echo "Protocol 2
HostbasedAuthentication no
PermitEmptyPasswords no
Banner /etc/motd
X11Forwarding yes
IgnoreRhosts yes" >> / etc/ssh/sshd_config
4.6禁止其他机器修改网络掩码
说明:不允许其他机器重新设置此机网络掩码。
语句:
/usr/sbin/no -p -o icmpaddressmask=0
4.7防止SMURF广播攻击
说明:不允许其他机器重新设置此机网络掩码。
语句:
/usr/sbin/no -p -o directed_broadcast=0
5其他安全**
5.1设置防止堆栈缓冲溢出**
(1)说明: 禁止程序崩溃时把自身的敏感信息从内存里DUMP到文件 。
语句:
echo "ulimit -c 0" >>/etc/profile
(2)说明: 限制内核文件的大小(软限制) 。
语句:
编辑/etc/security/limits, 在default配置段增加一行:core = 0
(3)说明:限制内核文件的大小(硬限制)。
语句:
编辑/etc/security/limits, 在default配置段增加一行:core_hard = 0
5.2关闭inetd中不必要服务**
说明:关闭inetd中不必要的服务以减少风险。
语句:
for SVC in ftp telnet shell kshell login klogin exec echo discard chargen daytime time;
do
echo "Disabling $SVC TCP"
chsubserver -d -v $SVC -p tcp
done
for SVC in ntalk rstatd rusersd rwalld sprayd pcnfsd echo discard chargen daytime time;
do
echo "Disabling $SVC UDP"
chsubserver -d -v $SVC -p udp
done
refresh -s inetd
5.3检查是否设置登录超时
说明: 设定时间内没有操作动作,能够自动退出
语句:
echo "TMOUT=120" >> /etc/profile
echo "export TMOUT" >> /etc/profile
echo "readonly TMOUT" >> /etc/profile
5.4关闭不必要启动项GUI登录**
说明:关闭GUI登录界面。
chmod ug-s /usr/dt/bin/dtaction /usr/dt/bin/dtappgather /usr/dt/bin/dtprintinfo /usr/dt/bin/dtsession
/usr/dt/bin/dtconfig -d
5.5关闭不必要常见启动项
说明:关闭不必要常见启动项
语句:
for SVC in sendmail routed gated named timed rwhod mrouted snmpd hostmibd dpid2 lpd portmap autoconf6 ndpd-router ndpd-host;
do echo "Turning off $SVC"
stopsrc -s $SVC
chrctcp -d $SVC
done
stopsrc -s writesrv
rmitab writesrv
5.6关闭不必要启动项-NIS服务**
说明:查看是否 删除NIS客户 端,并关闭NIS服务器端
语句:
[ lslpp -L bos.net.nis.client 2>&1 |grep -c "not installed" -eq 0 ] && /usr/lib/instl/sm_inst installp_cmd -u -f 'bos.net.nis.client'
stopsrc -s ypserv




