新买的VPS,512M内存,400GB带宽,59G硬盘空间。系统是Centos 6.3 64位(主要是观察下低内存64位系统性能如何,日后再换)。
第一步:修改root密码
我的vps有控制面板,提供快速修改root密码的功能。也可以先登录,然后使用passwd命令来修改!
第二步:修改sshd配置文件(更改端口,禁用root登录)
Port 2234 ListenAddress 0.0.0.0 PermitRootLogin no MaxSession 5 LoginGraceTime 60 PrintMotd no
创建一个普通用户,用于登录SSH
#增加用户 useradd user1 #密码设置 passwd user1
重启ssh服务service sshd restart,然后关闭当前连接,测试使用root是否能登录,如果不能登录了,那就对了,使用user1用户登录进去,再使用su命令切换到root用户。
对了,我的vps默认把iptables关了,所以我把修改ssh配置文件放在了前面,后面再调整iptables配置。
第三步:查看系统各种参数
了解下自己的vps的一些参数信息,是否和购买的一致,主要是内存和硬盘信息。
硬盘信息:df
内存信息:free –m
Selinux:getenforce
网卡信息:ifconfig
防火墙:iptables-save
网络端口:netstat –tunlpa
资源管理器:top
主机名:hostname
系统时间:date
开机启动服务项:chkconfig –list
经过查看,确定需要修改的信息有:SeLinux(默认disable了),iptables-save,date(VPS在米国,需要修改时区和时间),chkconfig。
第四步:iptables防火墙规则
我的规则如下/etc/sysconfig/iptables:
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT DROP [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -i lo -j ACCEPT #PING(默认拒绝所有ping,如果需要开启,将DROP改成ACCEPT) -A INPUT -i eth0 -p icmp -m icmp --icmp-type 8 -j DROP #SYN -A INPUT -i eth0 -p tcp -m tcp --sport 1:1023 --dport 1:1023 --tcp-flags FIN,SYN,RST,ACK SYN -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags ALL FIN,URG,PSH -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags ALL NONE -j DROP -A INPUT -i eth0 -p tcp -m state --tcp-flags SYN,ACK SYN,ACK --state NEW -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,FIN SYN,FIN -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags SYN,RST SYN,RST -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags FIN,RST FIN,RST -j DROP -A INPUT -i eth0 -p tcp -m tcp --tcp-flags ACK,FIN FIN -j DROP -A INPUT -i eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A INPUT -i eth0 -m state --state INVALID -j DROP #80-web -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 80 -j ACCEPT #2234-sshd -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 2234 -j ACCEPT #2235-FTP -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 2235 -j ACCEPT -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 65400:65410 -j ACCEPT #2236-MYSQL -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 2236 -j ACCEPT #2237-webmin -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 2237 -j ACCEPT #2238-VPSMate -A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 2238 -j ACCEPT COMMIT
大概也就这些程序会对外公开,当然这只是初步的,后期会做更多的调整。
需要注意的是,在开头的:INPUT DROP 表示默认的入站规则为Drop,即丢弃,只有后面规则中,最后是ACCEPT的才允许入站。
这样最大程度的把开放的端口限制死,想开放端口,请先手动修改/etc/sysconfig/iptables文件。
使用service iptables start命令启动防火墙。
第五步:开启SELinux
我喜欢打开SELinux…我有绝对的安全癖。遇到问题,看日志即可!
编辑文件:/etc/sysconfig/selinux。确定SELINUX=enforcing。我的VPS默认为disabled。
第六步:开机启动服务项优化
我这个VPS应该是服务商优化过的,我只需要关闭一个服务:ip6tables即可。
查看所有服务:chkconfig –list
关闭指定服务:chkconfig ip6tables off
立即结束服务:service ip6tables stop
第七步:修改系统时间与时区
由于VPS在美国,默认的时间与时区都需要修改一下。
查看当前时区
date -R
先改下时区,使用下这个命令,改为东八区
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
修改时间
date -s 20130306 date -s 10:30:00
第八步:修改VIM编辑器配置
可以参考这篇:配置VIM
#修改这个文件,默认是没有的,所以第一次其实是新建 vim ~/.vimrc #内容为: #显示行号 set nu #自动缩排 set autoindent #高亮度反白 set hlsearch #语法校验,颜色显示 syntax on
第九步:关闭多余的TTY
修改文件:/etc/init/start-ttys.conf,将其中的/dev/tty[1-6]更改为/dev/tty[1-2]
# # This service starts the configured number of gettys. start on stopped rc RUNLEVEL=[2345] env ACTIVE_CONSOLES=/dev/tty[1-2] env X_TTY=/dev/tty1 task script . /etc/sysconfig/init for tty in $(echo $ACTIVE_CONSOLES) ; do [ "$RUNLEVEL" = "5" -a "$tty" = "$X_TTY" ] && continue initctl start tty TTY=$tty done end script
修改文件:/etc/sysconfig/init,将其中的ACTIVE_CONSOLES=/dev/tty[1-6]改为ACTIVE_CONSOLES=/dev/tty[1-2]
# color => new RH6.0 bootup # verbose => old-style bootup # anything else => new style bootup without ANSI colors or positioning BOOTUP=color # column to start "[ OK ]" label in RES_COL=60 # terminal sequence to move to that column. You could change this # to something like "tput hpa ${RES_COL}" if your terminal supports it MOVE_TO_COL="echo -en \\033[${RES_COL}G" # terminal sequence to set color to a 'success' color (currently: green) SETCOLOR_SUCCESS="echo -en \\033[0;32m" # terminal sequence to set color to a 'failure' color (currently: red) SETCOLOR_FAILURE="echo -en \\033[0;31m" # terminal sequence to set color to a 'warning' color (currently: yellow) SETCOLOR_WARNING="echo -en \\033[0;33m" # terminal sequence to reset to the default color. SETCOLOR_NORMAL="echo -en \\033[0;39m" # Set to anything other than 'no' to allow hotkey interactive startup... PROMPT=yes # Set to 'yes' to allow probing for devices with swap signatures AUTOSWAP=no # What ttys should gettys be started on? ACTIVE_CONSOLES=/dev/tty[1-2] # Set to '/sbin/sulogin' to prompt for password on single-user mode # Set to '/sbin/sushell' otherwise SINGLE=/sbin/sushell
重启系统即可。
第十步:调整系统打开的最大文件数
在开机启动项中写入即可。
echo 'ulimit -SHn 65535' >> /etc/rc.local
第十一步:调整系统TCP/IP参数
修改文件:/etc/sysctl.conf
net.ipv4.tcp_syncookies = 1 #SYN队列长度 net.ipv4.tcp_max_syn_backlog = 8192 #SYN ACK重试次数 net.ipv4.tcp_synack_retries=2 #主动关闭方FIN-WAIT-2超时时间 net.ipv4.tcp_fin_timeout = 30 #TCP发送keepalive消息的频度 net.ipv4.tcp_keepalive_time = 1200 #开启TIME-WAIT重用 net.ipv4.tcp_tw_reuse = 1 #开启TIME-WAIT快速回收 net.ipv4.tcp_tw_recycle = 1 #向外连接的端口范围 net.ipv4.ip_local_port_range = 1024 65000 #最大TIME-WAIT数量,超过立即清除 net.ipv4.tcp_max_tw_buckets = 2000 #SYN重试次数 net.ipv4.tcp_syn_retries = 2 #TCP接收缓冲大小,对应最小、默认、最大 #net.ipv4.tcp_rmem = 4096 87380 4194304 #TCP发送缓冲大小,对应最小、默认、最大 #net.ipv4.tcp_wmem = 4096 16384 4194304 #最大发送套接字缓冲区大小 #net.core.rmem_max = 16777216 #最大接收套接字缓冲区大小 #net.core.wmem_max = 16777216 #当网络接口接收速率比内核处理快时允许发到队列的数据包数目 #net.core.netdev_max_backlog = 262144 #系统同时发起的TCP连接,超过导致连接超时或重传 #net.core.somaxconn = 262144
使用命令/sbin/sysctl -p,立即生效。
第十二步:更新系统
使用命令:yum update
第十三步:重启系统
使用命令:reboot
目前就这么多准备工作,接下来就是安装各种程序了,将陆续整理记录。