一、系统安装
1.最小化安装
原则上在没有定制系统模板的时候,所有linux系统均采用最小化安装,以精简系统文件,同时避免安装过多软件带来的安全漏洞。
2.文档中涉及到的系统均为centos6.x系列,原理上同样适用于redhat同期版本。
3.系统分区
选择自定义分区,参考现有系统分区办法,具体如下:
Filesystem Size Used Avail Use% Mounted on/dev/sda2 50G 6.3G 41G 14% /tmpfs 16G 0 16G 0% /dev/shm/dev/sda1 488M 24M 440M 5% /boot/dev/sda5 1.1T 6.2G 968G 1% /home
在之前的系统安装过程中,分区基本上依照以下几个原则,普通应用服务器划分:
/boot 512M/ 50G Swap 参考内存大小/home 剩余其他全部空间
自定义全部分区,使用标准分区,不使用lvm逻辑卷组。数据库服务器在以上分区基础上/home分区为100G,增加/data分区,使用除以上所有分区外剩余空间。以上文件系统均采用ext4,有明确需要的根据需求选择合适的文件系统。
4.软件选择
选择“最小化安装”。
二、基础配置
1.网络配置
修改/etc/sysconfig/network-scripts/ifcfg-ethN(在Dell的服务器上为em1、em2)DEVICE=eth1HWADDR=52:54:00:6E:8B:D2TYPE=EthernetUUID=d11ae824-1bf0-4249-b36e-35ad58507c27ONBOOT=yesNM_CONTROLLED=noneBOOTPROTO=staticIPADDR=172.16.10.43NETMASK=255.255.0.0GATEWAY=172.16.10.254
修改dns配置,增加域名服务器:
vi /etc/resolv.confnameserver 202.106.0.20nameserver 114.114.114.114
2.修改ssh配置
vi /etc/ssh/sshd_config #Port 22à15036(或者其他)#AddressFamily any#ListenAddress 0.0.0.0#ListenAddress ::…………#ShowPatchLevel noUseDNS yes àno (禁用Dns,减小ssh联接时的消耗的时间)#PidFile /var/run/sshd.pid#MaxStartups 10:30:100#PermitTunnel no#ChrootDirectory none
三、基础软件安装
1.基础依赖安装
#yum install –y wget#wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo(替换yum源)#yum install -y lrzsz gcc svn#yum groupinstall -y "base"
2.应用服务安装
这部分涉及到的软件较多,且不同服务器所需要的应用可能不同,此处不再描述。后面会以不同的应用为主再写一部分文档。
Java环境配置:chmod u+x jdk-6u45-linux-x64-rpm.bin./jdk-6u45-linux-x64-rpm.bin echo "export JAVA_HOME=/usr/java/jdk1.6.0_45 export PATH=$JAVA_HOME/bin:$PATH:/opt/yingmoo/maven/bin export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export LD_LIBRARY_PATH=/usr/local/apr/lib" >> /etc/profile
四、安全措施
1.防ssh暴力破解
两种解决办法,一是不开放公网端口,只在局域网开放ssh端口,可以避免来自广域网上针对ssh的暴力破解;二是使用脚本或者软件将探测密码的IP加入黑名单来实现防止ssh暴力破解。
Denyssh
$ tar zxvf DenyHosts-#.#.#-tar.gz (Where #.#.# is the version)$ cd DenyHosts-#.#.#as root:# python setup.py install
2.iptables
封闭不必要的端口,一般WEB服务器只需要开放两个端口:80和ssh端口(默认为22)。服务器双网卡,针对内网环境放开所有端口的访问。(原则:在没有硬件防火墙使用iptables作为防火墙的条件下尽量精减iptables的规则条数,避免太多的规则从而影响网络性能)
/etc/sysconfig/iptables参考:# Firewall configuration written bysystem-config-firewall# Manual customization of this file is notrecommended.*filter:INPUT ACCEPT [0:0]:FORWARD ACCEPT [0:0]:OUTPUT ACCEPT [0:0]-A INPUT -m state --state ESTABLISHED,RELATED -jACCEPT-A INPUT -p icmp -j ACCEPT-A INPUT -i lo -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp--dport 80 -j ACCEPT-A INPUT -s 192.168.1.0/24 -p tcp -j ACCEPT-A INPUT -s 192.168.1.0/24 -p udp -j ACCEPT-A INPUT -j REJECT --reject-withicmp-host-prohibited-A FORWARD -j REJECT --reject-withicmp-host-prohibitedCOMMIT
3.logcheck日志检查
未完……