b. 尽可能使用安全协议
c. 尽可能让每台机只提供种服务
d. 严格监控所有机器以及时发现恶意行为
e. 订阅系统相关安全邮件列表
.帐户和口令
(). 帐户
1.为每个系统维护人员建立个独立普通权限帐号为监控机建立监控
帐号分别用于日常系统维护和系统监控;
2.FTP 服务器配置虚拟帐号;
3.禁止除root 帐号, 系统维护人员帐号和监控机帐号的外所有帐号使用
SHELL权限;
4.锁定所有在安装系统时自动建立帐号;
a. 查找出未锁定系统帐号:egrep -v '.*:\*|:\!' /etc/shadow | awk -F: '{pr $1}'
b. 锁定:usermod –L <username>
( 2). 口令
1.强度:a. 10位以上;包含了字母(大写字母和小写字母)数字和特殊符号;不允许包含英文单词;
b. 配置:在文件/etc/pam.d/system-auth中配置;
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 minlen=10 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1)
2.更改频率:a. 120天;
b. 配置新建帐户默认更改频率:在文件/etc/login.defs中设置 pass_max_days=120
c. 修改当前用户更改频率: chage –M 120 <username>
3.历史:a. 10次
b. 配置:在文件/etc/pam.d/system-auth中配置
password requisite /lib/security/$ISA/pam_cracklib.so retry=3 minlen=10 lcredit=-1 ucredit=-1 dcredit=-1 ocredit=-1 dok=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow remember=10)
4.推荐选择口令思路方法:想出个句子用其中每个单词首字母及其包含符合并将字母替换为跟其相似数字或符号来生成口令;
5.好口令举例:Zhongguoliantong10010!))!), Beijingquhao010)!);
2.远程登录
(). SSH
1.只支持SSH v.2;
2.禁止直接使用root帐号登录只允许使用普通权限帐号直接登录;
3.更改默认端口(改为22222);
( 2). 登录banner
1. 在/etc/issue文件里加入登录警告
#cat > /etc/issue << EOF
=
Warning: The system is owned by xxxxxx,
Unauthorized access to this system is prohibited!!!
=
2. 在/etc/motd文件里加入对登录成功者警告
#cat > /etc/motd << EOF
=
Warning: The system is owned by xxxxxx,
What you do will be monitored and logged!!!
=
3.内核参数
1.调整如下内核参数以提高系统防止IP欺骗及DOS攻击能力:
net.ipv4.ip_forward = 0 # 对于LVS网关或VPN服务器要设置为1
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.accept_source_route = 0
net.ipv4.conf.all.accept_redirects = 0
net.ipv4.conf.all.rp_filter = 1 # 对于LVS 后端服务器
# 要设置为0
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1
net.ipv4.conf.all.log_martians = 1
kernel.sysrq = 0
kernel.core_uses_pid = 1
4.文件系统
1.mount 选项:/ ro # 先将 /root 目录移到/home/root
/boot ro
/usr ro
/var noexec, nosuid
/tmp noexec, nosuid
2.SUID,SGID文件:每天运行个cron任务看是否有新SUID/SGID文件出现
如果有则发e-mail 给维护人员;
3.所有人都可以写目录:每天运行个cron任务看是否有新所有人都可以
写目录出现如果有则发e-mail 给维护人员;
4.ACL:在为多个用户分配某个文件或目录权限时禁止使用修改用户所属组
实现使用ACL实现;
5. umask:配置为0022 或0055(在/etc/bashrc中配置);
5.日志
1.日志集中存放到日志主机上, 本地保存4周日志备份;
2.日志客户机配置:参考<<linux 系统规范标准>> 8. 配置系统日志;
3.日志主机配置:参考<<linux 日志主机配置指南>>;
6.应用
(). MySQL
1.以mysql用户运行MySQL;
2.给管理员帐户root改名(ht-mysql-admin);
3.给管理员帐户设置强键口令;
4.删除数据库test;
5.删除MySQL安装过程中自动创建不需要帐户
禁止创建非绝对必需帐户;
6.禁止存放任何纯文本口令在数据库中;
7.禁止从字典里选择口令;
8.严格控制用户权限:仅给予用户完成其工作所需最小权限;
禁止授予PROCESS, SUPER, FILE 权限给非管理帐户;
9.禁止将MySQL数据目录读写权限授予给mysql用户外其它OS 用户;
10.订阅邮件列表:MySQL Announcements;
( 2). Resin
1.以用户resin运行resin;
2.跟APACHE集成使用禁止运行在standalone 模式直接提供WEB服务 ;
( 3). Apache
1.只编译必须使用模块;
2.以daemon组daemon用户运行APACHE;
3.关闭所有诊断页面和自动目录索引服务;
4.删除cgi-bin目录和manul目录;
5.尽可能不要暴露自己真实身份;
6.使用chrooting 限制apache对文件系统访问(在使用了集中存储情况下
比较难以实现);
7.安装modsecurity模块;
8.运用基于主机身份验证控制对管理页面访问;
9.日志集中存放和分析;
10.订阅邮件列表:Apache HTTP Server Announcements List ;
7.防火墙
).软件Software:iptables
( 2). 规则
1.加载重要iptables 模块:ip_tables, iptable_filter, ip_conntrack,
ip_conntrack_ftp;
2.按网卡接口(eth0, eth1,…)和数据包类型(TCP,UDP,ICMP)
自定义规则集;
3.配置每个规则集 policy为 ACCEPT但定要在每个规则集末尾显式DROP任何匹配该规则集但不允许数据包(iptables –A <rule- name> -j DROP);
4.DROP 无效数据包IP spoof 数据包;
5.只开放能满足业务需求最少端口;
( 3). 配置
参考<< linux 系统规范标准 >> 10. 配置安全 3)防火墙;
8.入侵检测和防护
1.工具:OSSEC;
2.策略:在某台服务器上安装OSSEC HIDS 服务器在需要作主机入侵检查和防护及文件完整性检测服务器上安装OSSEC HIDS 代理代理将相关信息发送到HIDS服务器由服务器统分析处理;
3.配置:参考<< HIDS OSSEC安装指南>>;
9.安全审计
---------------------------------------------------------------
审计对象 工具 频率
-----------------------------------------------------------
Linux 系统 nmap 1个月
Nessus 3个月
自动日志分析 实时
人工日志分析 必要时
口令文件 John the ripper 3个月
APACHE nikto 6个月
Appscan 6个月
------------------------------------------------------------
注:新安装服务器必须经过安全审计才允许投入产品环境;
新发布了应用后必须立即进行安全审计;
十.安全邮件列表和网站WebSite
1.订阅邮件列表:www.securityfocus.com Bugtraq, Focus-Linux, Web
Application Security;
2.经常关注网站WebSite:http://www.securityfocus.comhttp://www.owasp.org
http://www.cert.orghttp://www.us-cert.gov
最新评论