- 论坛徽章:
- 0
|
1、适用范围本选型标准适用于绝大部分互联网、电子商务、金融领域、信息管理系统、流媒体等多个领域的应用,包括能满足安全性、稳定性、性能、扩展性等多方面的需求。但对一些对操作系统版本有特殊要求的应用,本标准可能不适用,但是会根据实际的部署文档做实际说明。2、类型及版本说明开源操作系统Red Hat Enterprise Linux AS release 4 (Nahant Update 4)3、Redhat 4U43.1 操作系统及版本Ø 操作系统:redhat4
Ø 版本:Red Hat Enterprise Linux AS release 4 (Nahant Update 4)
Ø 内核:2.6.9-42.Elsmp
3.2 安装过程
3.2.1、系统要求完全安装
3.2.2、安装过程使用的语言:英语或中文
3.2.3、键盘选择:Keyboard U.S.English
3.2.4、分区、分区大小以及格式(4G内存)
/ 20G ext3
/boot 100M ext3
swap 4G swap
/var 30G ext3
/usr 20G ext3
剩余空间不做划分
特别说明:Oracle服务器的swap分区要大于4G
3.2.5、Firewall disenable
3.2.6、禁用Selinux disabled
3.2.7、支持语言:英语、简体中文
3.2.8、时区选择:Asia/shanghai
1.1 设置服务,只保留如下服务Ø 保留服务(15项根据,项目应用的特点,在部署手册中体现出具体的服务):
sysstat
kudzu
cpuspeed
arptables_jf
iptables
network
syslog
irqbalance
portmap
netfs
smartd
acpid
sshd
xinetd
crond
Ø 禁用SELinux保留服务:
编辑/etc/selinux/config 并更改设置为 SELINUX=disabled
1.2 iptables设置# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -p tcp --syn -m limit --limit 1/s -j ACCEPT
-A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST -m limit --limit 1/s -j ACCEPT
-A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEP
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
对IPTABLE的操作:
然后重新启动iptables服务:
service iptables restart
验证是否生效:
iptables –nvxL
对于要打开icmp协议的(ping),在倒数第二行加入:
-A RH-Firewall-1-INPUT -p icmp -m icmp --icmp-type any -j ACCEPT
1.3 用户口令用户口令10位以上,英文、数字、符号、大小写必须保证10位中包含以上3种类型,且最少包含3种类性。
修改 /etc/login.defs
设定PASS_MIN_LEN的值,默认是5,可以根据实际情况来设置密码强度:
PASS_MIN_LEN 10
1.4 默认账号应该禁止所有默认的被操作系统本身启动的并且不必要的账号。可以用下面的命令注释掉账号或nologin。
编辑文件passwd,检查不使用的账号是否nologin:
例如用户lp:
#vi /etc/passwd
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
1.5 禁止Ctrl+Alt+Delete重新启动机器命令修改/etc/inittab文件,将“ca::ctrlaltdel:/sbin/shutdown -t3 -r now”一行注释掉。然后重新设置/etc/rc.d/init.d/目录下所有文件的许可权限,运行如下命令:
# chmod -R 700 /etc/rc.d/init.d/*
这样便仅有root可以读、写或执行上述所有脚本文件。
1.6 限制su命令防止任何人能够用su作为root,编辑/etc/pam.d/su文件,增加如下两行:
auth sufficient /lib/security/pam_rootok.so debug
auth required /lib/security/pam_wheel.so group=填入可信组组名
这时,仅isd组的用户可以用su作为root。此后,如果你希望用户admin能够用su作为root,可以运行如下命令:
# usermod -G10(变量) admin
1.7 配置SSH禁止远程直接使用root登陆:
备注:必须提前设置相应的普通用户。
编辑文件sshd_config,并重启sshd服务:
vi /etc/ssh/sshd_config
加入:
PermitRootLogin no
UseDNS no
执行:
service sshd restart
1.8 防止DoS攻击对系统所有的用户设置资源限制可以防止DoS类型攻击。如最大进程数和内存使用数量等。例如,可以在/etc/security/limits.conf中添加如下几行:
* hard core 0
* hard rss 5000
* hard nproc 20
然后必须编辑/etc/pam.d/login文件检查下面一行是否存在。
session required /lib/security/pam_limits.so
上面的命令禁止调试文件,限制进程数为50并且限制内存使用为5MB。
1.9 调整内核参数vi /etc/security/limits.conf,加入如下内容:
* hard nofile 10240
vi /etc/profile,加入如下内容:
ulimit -n 10240
执行:
source /etc/profile
验证:
ulimit -n
返回数值应该是10240
vi /etc/sysctl.conf
加入:
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_syncookies=1
net.ipv4.tcp_max_syn_backlog=8192
net.ipv4.tcp_keepalive_time=1800
net.ipv4.tcp_fin_timeout=30
然后执行:
sysctl –p
附加参数说明:
这里的默认基本是系统优化后的参数,实际环境可以结合业务来看这部分是否符合实际的要求,如果有特殊的需要在项目部署手册中单独提出:
net.ipv4.tcp_tw_reuse:允许将TIME-WAIT sockets重新用于新的TCP连接,1 表示开启重用默认为0,表示关闭;
net.ipv4.tcp_tw_recycle: TCP连接中TIME-WAIT sockets的快速回收,1 表示开启,默认为0,表示关闭;
net.ipv4.tcp_syncookies: 当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,1 表示开启SYN Cookies。默认为0,表示关闭;
net.ipv4.tcp_max_syn_backlog:定义backlog队列容纳的最大半连接数;
net.ipv4.tcp_fin_timeout=30: TCP/IP 的timeout时间(秒)才能释放出已经关闭的连接以及重复使用的资源;
net.ipv4.tcp_keepalive_time:对TCP/IP 对空闲连接的保持时间(秒);
1.10 修改运行级别为3vi /etc/inittab,修改如下:
id:3:initdefault:
重新启动系统或init 3 使之生效
[root@root ~]# runlevel
N 3
[root@root ~]#
1.11 字符集时间配置字符集和时区的设定如果有特殊的要求,可以在部署手册中做这方面的单独说明
设定系统语言环境:/etc/sysconfig/i18n为zh_CN.GBK
vi /etc/sysconfig/i18n
LANG="zh_CN.GBK"
SUPPORTED="zh_CN.GBK:zh:zh_CN.GB2312:zh:zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
检查服务器的时区与时间是否设定正确:正确时区应设定为:China standard Time(CST) 中国标准时间。
执行cat /etc/sysconfig/clock看是否有以下3行显示,如果不是的话则需要做下面的修改步骤(或者执行timeconfig)
ZONE="Asia/Shanghai"
UTC=false
ARC=false
修改步骤:
#mv /etc/localtime /etc/localtime.bak
# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
将时区文件(/etc/sysconfig/clock)更改为以下内容:
ZONE=Asia/Shanghai
UTC=false
ARC=false
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/72138/showart_1829932.html |
|