SSH bash紧急安全补丁!重要!

注意:也许你的服务器自动更新了,看不到漏洞.但为了安全,还是建议测试下是否存在.

本文章适合所有VPS/独立服务器系统更新。

日前Linux官方内置Bash中新发现一个非常严重安全漏洞(漏洞参考https://access.redhat.com/security/cve/CVE-2014-6271  ),黑客可以利用该Bash漏洞完全控制目标系统并发起攻击,为了避免您Linux服务器受影响,建议您尽快完成漏洞修补,修复方法如下,请了解!

【已确认被成功利用的软件及系统 
所有安装GNU bash 版本小于或者等于4.3的Linux操作系统。 


【漏洞描述】 
该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。 


【漏洞检测方法】

 

SSH执行命令:

env t='() { :;}; echo You are vulnerable.’ bash -c “true”
修复前检测:

如果显示You are vulnerable,很遗憾,必须立即打上安全补丁修复

使用修补方案修复后
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
this is a test
特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。

【建议修补方案 】

请您根据Linux版本选择您需要修复的命令, 为了防止意外情况发生,建议您执行命令前先对Linux服务器系统盘打个快照,如果万一出现升级影响您服务器使用情况,可以通过回滚系统盘快照解决。




2.修复漏洞办法

Ubuntu or Debian 请执行

  1. apt-get update
  2. apt-get upgrade



RedHat, CentOS or Fedora 请执行

  1. yum clean all
  2. yum -y update bash

评论

Linux下SSH用FTP命令上传文件至另一个FTP空间

如果没有ftp 提示: -bash: ftp: command not found
请先安装ftp应用程序: yum install ftp
#ftp 127.0.0.1 21 输入远程空间的FTP IP和端口号,回车
然后根据提示输入用户名和密码即可!
ftp>lcd 本地工作目录
ftp>cd 远程目录
ftp>binary 采用二进制传输
ftp> tick 开启传输时的字节计数器,再执行一次即可关闭
ftp>mput 文件

FTP> bye(或by) 结束和远程电脑的linux中ftp命令参数会话并退出linux中ftp命令参数。

FTP> cd 更改远程电脑上的工作目录。

FTP> get 使用当前文档转换类型将远程文档复制到本地电脑。
格式:get remote-file [local-file]

FTP >lcd 更改本地电脑上的工作目录。默认情况下,工作目录是启动linux中ftp命令参数的目录。

格式:lcd [directory]

FTP >ls 显示远程目录文档和子目录的缩写列表。

FTP >mdelete 删除远程电脑上的文档。
格式:mdelete remote-files [ …]
说明:remote-files 指定要删除的远程文档。

FTP >mdir 显示远程目录文档和子目录列表。能够使用 mdir 指定多个文档。
格式:mdir remote-files [ …] local-file
说明:remote-files 指定要查看列表的目录。必须指定 remote-files。请键入 – 使用远程电脑上的当前工作目录。

1、连接ftp服务器

格式:ftp [hostname | ip-address]
a)在linux命令行下输入:ftp www.boluo.org
b)服务器询问你用户名和口令,分别输入用户名和相应密码,待认证通过即可。

2、下载文件

下载文件通常用get和mget这两条命令:

a) get 格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上/ftp/1.rar,则
ftp> get /ftp/1.rar 1.rar (回车)

b) mget 格式:mget [remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上/ftp下的所有文件,则
ftp> cd /ftp
ftp> mget *.* (回车)

注意:文件都下载到了linux主机的当前目录下。

3、上传文件

a) put 格式:put local-file [remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.zip传送到远端主机/ftp,并改名为1.rar
ftp> put 1.zip /ftp1.rar (回车)

b) mput 格式:mput local-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有rar文件上传到服务器/ftp 下
ftp> cd /ftp (回车)
ftp> mput *.rar (回车)

4、断开连接

bye:中断与服务器的连接。

评论

如何从cPanel搬家到DirectAdmin(服务器端)

这里要用到的工具是da.cpanel.import这个工具。

首先,在cPanel服务器上,下载并解压工具到任意你想要的目录。

1
2
wget http://www.pusathosting.com/file/da.cpanel.import.9.4.tar.gz
tar xzvf da.cpanel.import.9.4.tar.gz

然后我们需要新建一个 import文件夹和export文件夹

mkdir import export

现在,复制用户的cpanel备份文件到import文件夹下。

接下来,编辑 defaults.conf 这个文件,主要修改两项。分别是:

ip=XXX.XXX.XXX.XXX (你DA面板的IP地址)
ns1=ns1.paulhost.com (NS1)
ns2=ns2.paulhost.com (NS2)

然后,执行 perl da.cpanel.import.pl , 然后我们按照提示来选择。

Have you read, understood and applied the above? (y/n) 选y

[If you are running this tool on the cPanel server]: After this tool is finished, should successfully created DirectAdmin tarballs be transferred to your DirectAdmin reseller user_backups directory?(y/n) 选y

接下来要确认DA面板所在服务器的IP,和备份要传往的路径。

接下来就是等待完成了(中途需要输入DA面板服务器的root密码)。

完成后,进入DA面板——管理员备份 进行恢复操作。

评论

利用iptables防止php-ddos对外udp发包

利用iptables防止php-ddos对外udp发包
最近php-ddos泛滥,尤其是织梦一堆洞洞,你懂得,我们可以利用iptables,从根源上禁止php-ddos对外发包。

 

首选允许需要UDP服务的端口(如DNS)

 iptables -I OUTPUT -p udp –dport 53 -d 8.8.8.8 -j ACCEPT
iptables -I OUTPUT -p udp –dport 53 -d 8.8.4.4 -j ACCEPT

“53”,为DNS所需要的UDP端口,“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:

cat /etc/resolv.conf |grep nameserver |awk ‘NR==1{print $2 }’

禁止本机对外发送UDP包

iptables -A OUTPUT -p udp -j DROP

评论

Varnish HTTP accellerator and Cpanel

cd /usr/local/src
wget http://stderr.net/apache/rpaf/downlo…paf-0.6.tar.gz
tar -xzf mod_rpaf-0.6.tar.gz
cd mod_rpaf-*
apxs -i -c -n mod_rpaf-2.0.so mod_rpaf-2.0.c

2. Once installed, we need to load the module into Apache configuration. Since cPanel already has Include Editor for Apache, we will use that functions. Login to WHM > Service Configuration > Apache Configuration > Include Editor > Pre Main Include > All Versions and paste following text:

LoadModule rpaf_module modules/mod_rpaf-2.0.so
RPAFenable On
RPAFproxy_ips 127.0.0.1 123.124.125.88 # replace the value with your server IP
RPAFsethostname On
RPAFheader X-Real-IP

评论

在CentOS下安装OpenVZ

初次接触OpenVZ是在挑选VPS的时候,OpenVZ的VPS要比Xen的便宜不少。经过了解发现OpenVZ是操作系统层的虚拟产品,与Xen、KVM、Huper-V等虚拟化产品完全是两个不同层次的。OpenVZ提供的只是一个虚拟的环境(VE),OpenVZ自己称它为容器(Container),Xen、KVM等提供的是具有Hypervisor的虚拟机,OpenVZ对于便宜的低端VPS来说确实比较好,Xen等虚拟化产品则一般使用在企业级的应用中心、云计算平台等。

安装OpenVZ

环境:使用CentOS5.6_x86_64操作系统安装在DELL的一台PC机上。

 

官网(http://wiki.openvz.org/)给出了一个yum的源来在CentOS上进行安装,我们来调整yum源,且为了安全问题,支持OpenVZ对于CentOS5的内核补丁支持的内核版本必须大于等于2.6.18.308.8.2.el5,可以到此处查看支持的内核版本http://wiki.openvz.org/Download/kernel

[root@openvz yum.repos.d]# cd /etc/yum.repos.d
[root@openvz yum.repos.d]# wget http://download.openvz.org/openvz.repo
[root@openvz yum.repos.d]#uname -r
2.6.18-238.9.1.el5
[root@openvz yum.repos.d]#yum install kernel.x86_64   #升级内核到2.6.18.308,
[root@openvz yum.repos.d]#uname -r
2.6.18-308.8.2.el5

[root@openvz yum.repos.d]#cat openvz.repo   #修改openvz源,确保如下默认选择的是6.2的版本

[openvz-utils]
name=OpenVZ utilities
#baseurl=<a href="http://download.openvz.org/current/">http://download.openvz.org/current/</a>
mirrorlist=<a href="http://download.openvz.org/mirrors-current">http://download.openvz.org/mirrors-current</a>
enabled=1
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
[openvz-kernel-rhel5]
name=OpenVZ RHEL5-based kernel
#baseurl=http://download.openvz.org/kernel/branches/rhel5-2.6.18/current/
mirrorlist=http://download.openvz.org/kernel/mirrors-rhel5-2.6.18
enabled=1
gpgcheck=1
gpgkey=http://download.openvz.org/RPM-GPG-Key-OpenVZ
[root@openvz ~]# yum install ovzkernel -y#安装openvz内核
[root@openvz ~]# yum install vzctl vzquota#安装openvz的2个常用工具

由于我们的VE需要访问外部网络,所以这里先打开包转发,在后面会说到。

[root@openvz ~]# grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward = 1
[root@openvz ~]#

查看grub.conf设置的默认启动内核

default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title OpenVZ (2.6.18-308.8.2.el5.028stab101.1)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-308.8.2.el5.028stab101.1 ro root=LABEL=/ selinux=0#已经自动设置关闭selinux了
        initrd /initrd-2.6.18-308.8.2.el5.028stab101.1.img
[root@openvz ~]# init 6

确保vz服务开机启动

[root@openvz ~]# service vz status
OpenVZ is running...
[root@openvz ~]# chkconfig --list vz
vz                 0:off    1:off    2:on    3:on    4:on    5:on    6:off
[root@openvz ~]#

安装管理VE

OpenVZ是使用vzctl来管理VE的,我们来看其详细命令。

[root@openvz ~]# vzctl
vzctl version 3.3
Copyright (C) 2000-2012, Parallels, Inc.
This program may be distributed under the terms of the GNU GPL License.
Usage: vzctl [options] <command> <ctid> [parameters]
vzctl create <ctid> [--ostemplate <name>] [--config <name>]
   [--layout ploop|simfs] [--hostname <name>] [--name <name>] [--ipadd <addr>]
   [--diskspace <kbytes>] [--private <path>] [--root <path>]#创建VE
vzctl start <ctid> [--force] [--wait]#启动VE
vzctl destroy | mount | umount | stop | restart | status <ctid>#关闭VE
vzctl convert <ctid> [--layout ploop[:mode]] [--diskspace <kbytes>]
vzctl quotaon | quotaoff | quotainit <ctid>#设置qutoa
vzctl console <ctid> [ttyno]#进入VE
vzctl enter <ctid> [--exec <command> [arg ...]]#进入VE
vzctl exec | exec2 <ctid> <command> [arg ...]#不进入VE执行VE下的命令
vzctl runscript <ctid> <script>#为VE执行脚本
vzctl chkpnt <ctid> [--dumpfile <name>]#保存VE的状态到文件
vzctl restore <ctid> [--dumpfile <name>]#从恢复文件恢复VE的状态
vzctl set <ctid> [--save] [--force] [--setmode restart|ignore]
   [--ram <bytes>[KMG]] [--swap <bytes>[KMG]]#设置RAM
   [--ipadd <addr>] [--ipdel <addr>|all] [--hostname <name>]#添加和删除IP
   [--nameserver <addr>] [--searchdomain <name>]#指定nameserber和sercherdomain
   [--onboot yes|no] [--bootorder <N>]#设置开机启动
   [--userpasswd <user>:<passwd>]#修改VE的用户密码
   [--cpuunits <N>] [--cpulimit <N>] [--cpus <N>] [--cpumask <cpus>]
   [--diskspace <soft>[:<hard>]] [--diskinodes <soft>[:<hard>]]
   [--quotatime <N>] [--quotaugidlimit <N>]
   [--noatime yes|no] [--capability <name>:on|off ...]
   [--devices b|c:major:minor|all:r|w|rw]
   [--devnodes device:r|w|rw|none]
   [--netif_add <ifname[,mac,host_ifname,host_mac,bridge]]>]#添加桥接设备
   [--netif_del <ifname>]#删除桥接设备
   [--applyconfig <name>] [--applyconfig_map <name>]
   [--features <name:on|off>] [--name <vename>] [--ioprio <N>]
   [--pci_add [<domain>:]<bus>:<slot>.<func>] [--pci_del <d:b:s.f>]
   [--iptables <name>] [--disabled <yes|no>]#VE的防火墙设置
   [UBC parameters]

安装一个Guest,OpenVZ官方建议的安装方法,是下载其优化过的操作系统压缩包,来进行安装。在OpenVZ上保存操作系统压缩包的位置是/vz/template/cache/。操作系统压缩包的下载地址为http://wiki.openvz.org/Download/template/precreated 。我这里下载的是CentOS5_X84_64,用来安装测试。

[root@openvz ~]# ll /vz/template/cache/
total 188092
-rw-r--r-- 1 root root 192411846 Jul 19 02:08 centos-5-x86_64.tar.gz
[root@openvz ~]# vzctl create 2 --ostemplate centos-5-x86_64 --hostname centos01
Creating container private area (centos-5-x86_64)
Performing postcreate actions
CT configuration saved to /etc/vz/conf/2.conf#配置文件保存为/etc/vz/下的2.conf
Container private area was created
[root@openvz ~]#

使用OS模版centos-5-x86_64 安装ID为2的VE,主机名为centos01,安装完成后需要修改默认的配置文件,再启动VE。

设置VE开机自启动、设置IP、设置DNS、内存、设置磁盘大小

[root@openvz ~]# vzctl set 2 --onboot yes
WARNING: Settings were not saved to config (use --save flag) #提示保存到配置文件需要--save
[root@openvz ~]# vzctl set 2 --onboot yes --save
CT configuration saved to /etc/vz/conf/2.conf
[root@openvz ~]# vzctl set 2 --ipadd 10.20.100.146 --save#此时还不能使用
CT configuration saved to /etc/vz/conf/2.conf
[root@openvz ~]# vzctl set 2 --nameserver 10.20.1.6 --save
CT configuration saved to /etc/vz/conf/2.conf
[root@openvz ~]# vzctl set 2 --ram 345 --save
Error: kernel does not support vswap, unable to use --ram/--swap parameters
Error parsing options  #内核不支持
[root@openvz ~]# vzctl set 2 --diskspace 3G:3G --save
CT configuration saved to /etc/vz/conf/2.conf
[root@openvz ~]# vzctl start 2#启动ID为2的VE
Starting container ...
Container is mounted
Adding IP address(es): 192.168.221.2
Setting CPU units: 1000
Container start in progress...
[root@openvz ~]#

使用vzlist查看VE

[root@openvz ~]# vzlist 2
      CTID      NPROC STATUS    IP_ADDR         HOSTNAME
         2         12 running   192.168.221.2   centos01

登入VE、退出VE、重启VE、启动VE、关闭VE、断电VE

[root@openvz ~]# vzctl enter 2
[root@centos01 /]# exit
[root@openvz ~]# vzctl restart 2
[root@openvz ~]# vzctl start 2
[root@openvz ~]# vzctl stop 2
[root@openvz ~]# vzctl destroy 2

不登陆VE,执行命令、执行脚本

[root@openvz ~]# vzctl  exec 2  ifconfig#不登录VE查看网卡信息
[root@openvz ~]# vzctl  runscript 2 scriptname#script在服务器上

计算VE的耗用

[root@openvz ~]# vzcalc -v 2

修改VE的root密码

[root@openvz ~]# vzctl exec 2 passwd#输入2次密码
[root@openvz ~]# vzctl set 2  --userpasswd root:123456#直接修改密码为123456

 

VE的网络

按照直接添加IP的方法,VE访问外网有2种方式来实现。一种是开启母机(用母机一词,果然比较好区分)的包转发功能,VE使用和母机同一段的IP,独立IP的VPS就是使用的这种方式,VE有自己的外网IP,用户可以登录自己的VPS进行管理;另外一种是使用路由转发功能,防火墙做snat源地址转换,VE使用私有IP,这样的话,VE可以访问外网,但是外网不能直接访问内网的VE。

方式一:公有IP

开启包转发

[root@openvz ~]# grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward = 1

使其生效

[root@openvz ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 1

配置或修改VE的IP,此IP和母机在同一段(VPS中使用的是公有IP)。

[root@openvz ~]# ifconfig#母机的IP
eth0      Link encap:Ethernet  HWaddr 00:0C:29:FD:E4:AA 
          inet addr:10.20.100.141  Bcast:10.20.100.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:35535 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8399 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3534995 (3.3 MiB)  TX bytes:934525 (912.6 KiB)
          Interrupt:59 Base address:0x2000
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:784 (784.0 b)  TX bytes:784 (784.0 b)
venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:494 errors:0 dropped:0 overruns:0 frame:0
          TX packets:283 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:37807 (36.9 KiB)  TX bytes:23312 (22.7 KiB)
[root@openvz ~]# vzctl set 2 --ipadd 10.20.100.146 --save#修改或设置VE的IP,

测试VE的网络

[root@openvz ~]# vzctl exec 2 ifconfig
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:224 errors:0 dropped:0 overruns:0 frame:0
          TX packets:292 errors:0 dropped:53 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:18572 (18.1 KiB)  TX bytes:23106 (22.5 KiB)
venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:10.20.100.146  P-t-P:10.20.100.146  Bcast:10.20.100.146  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
[root@openvz ~]# vzctl exec 2 ping www.baidu.com
PING www.a.shifen.com (220.181.111.147) 56(84) bytes of data.
64 bytes from 220.181.111.147: icmp_seq=1 ttl=54 time=35.2 ms
64 bytes from 220.181.111.147: icmp_seq=2 ttl=54 time=34.9 ms

方式二:私有IP,SNAT

开启包转发

[root@openvz ~]# grep ip_forward /etc/sysctl.conf
net.ipv4.ip_forward = 1

使其生效

[root@openvz ~]# /sbin/sysctl -p
net.ipv4.ip_forward = 1

修改VE的IP,此IP为私有IP

[root@openvz ~]# vzctl set 2 --ipdel 10.20.100.146 --save#删除之前的100段IP
[root@openvz ~]# vzctl set 2 --ipadd 10.20.102.146 --save#修改或设置IP,与母机的IP段不同

开启SNAT

[root@openvz ~]# /sbin/iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

或者

[root@openvz ~]# iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 10.20.100.141
[root@openvz ~]# iptables -t nat -L#查看NAT策略
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination        
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination        
SNAT       all  --  anywhere             anywhere            to:10.20.100.141
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

查看VE网络

[root@openvz ~]# vzctl exec 2 ifconfig
lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:127.0.0.1  P-t-P:127.0.0.1  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:330 errors:0 dropped:0 overruns:0 frame:0
          TX packets:407 errors:0 dropped:53 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:26810 (26.1 KiB)  TX bytes:33397 (32.6 KiB)
venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 
          inet addr:10.20.102.146  P-t-P:10.20.102.146  Bcast:10.20.102.146  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
[root@openvz ~]#

测试VE网络

[root@openvz ~]# vzctl exec 2 ping www.baidu.com
PING www.a.shifen.com (220.181.111.147) 56(84) bytes of data.
64 bytes from 220.181.111.147: icmp_seq=1 ttl=54 time=35.0 ms
64 bytes from 220.181.111.147: icmp_seq=2 ttl=54 time=34.9 ms
[root@openvz ~]#

评论

Xen Linux VPS修改系统时间

如果你购买的是美国Xen LINUX VPS或者是其它国家的Xen LINUX VPS,那么,你首选需要查看并设置时区:

如何查看Xen LINUX VPS时区?
date -R

得到结果类似下面:
Mon, 05 Sep 2011 16:29:08 +0800

如果最后面的一段不是+800,那么你喜欢设置一下时区了,设置Xen LINUX 时区方法如下:

rm -rf /etc/localtime
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

这样你的Linux VPS的时区就已经设置成中国上海-第8时区了。

有时候,买到的Xen Linux VPS不但时区不对,而且系统时间还相差很大,有时候会相关几小时。
如何修改Xen Linux VPS 时间呢?需要使用ntp时间同步软件来同步VPS系统时间。(如果你的是Xen VPS 或者是独立服务器,那么就可以修改,如果是OpenVZ VPS,则不能修改时间,只能叫机房修改母服务器的时间。)

方法命令如下:

yum install -y ntp

vi /etc/sysctl.conf

xen.independent_wallclock=1 #在文件中增加并且保存退出

sysctl -p#这步一定要记得,否则不生效。

ntpdate us.pool.ntp.org

再使用

date -R确认一下时间是否校正了.

这样时间就同步好了。

评论

CentOS一键配置iptables防火墙

CentOS一键配置iptables防火墙
手里几台VPS配置iptables太繁琐,看到了朱哥的LNMP脚本里有一个自动配置iptables防火墙的脚本,借来改了一下,给需要的人用;
只提供常用端口的设置,如果你有特殊需求只需自行添加或减少相应的端口即可;

使用方法:

wget -c http://ph4ntasy.googlecode.com/files/iptables.sh
chmod +x iptables.sh
./iptables.sh
设置iptables开机自动启动:

chkconfig –level 345 iptables on
完整Shell:

#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
function support_distro(){
if [ -z “`egrep -i “centos” /etc/issue`” ];then
echo “Sorry,iptables script only support centos system now.”
exit 1
fi
}
support_distro
echo “============================iptables configure============================================”
# Created by Centos.bz Modified by ph4ntasy.com
# Only support CentOS system
# 获取SSH端口
if grep “^Port” /etc/ssh/sshd_config>/dev/null;then
sshdport=`grep “^Port” /etc/ssh/sshd_config | sed “s/Ports//g” `
else
sshdport=22
fi
# 获取DNS服务器IP
if [ -s /etc/resolv.conf ];then
nameserver1=`cat /etc/resolv.conf |grep nameserver |awk ‘NR==1{print $2 }’`
nameserver2=`cat /etc/resolv.conf |grep nameserver |awk ‘NR==2{print $2 }’`
fi
IPT=”/sbin/iptables”
# 删除已有规则
$IPT –delete-chain
$IPT –flush
# 禁止进,允许出,允许回环网卡
$IPT -P INPUT DROP
$IPT -P FORWARD DROP
$IPT -P OUTPUT ACCEPT
$IPT -A INPUT -i lo -j ACCEPT
# 允许已建立的或相关连接的通行
$IPT -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -m state –state RELATED,ESTABLISHED -j ACCEPT
# 限制80端口单个IP的最大连接数为10
$IPT -I INPUT -p tcp –dport 80 -m connlimit –connlimit-above 10 -j DROP
# 允许80(HTTP)/873(RSYNC)/443(HTTPS)/20,21(FTP)/25(SMTP)端口的连接
$IPT -A INPUT -p tcp -m tcp –dport 80 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp –dport 873 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp –dport 443 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp –dport 20 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp –dport 21 -j ACCEPT
$IPT -A INPUT -p tcp -m tcp –dport 25 -j ACCEPT
# 允许SSH端口的连接,脚本自动侦测目前的SSH端口,否则默认为22端口
$IPT -A INPUT -p tcp -m tcp –dport $sshdport -j ACCEPT
# 允许ping
$IPT -A INPUT -p icmp -m icmp –icmp-type 8 -j ACCEPT
$IPT -A INPUT -p icmp -m icmp –icmp-type 11 -j ACCEPT
# 允许DNS
[ ! -z “$nameserver1” ] && $IPT -A OUTPUT -p udp -m udp -d $nameserver1 –dport 53 -j ACCEPT
[ ! -z “$nameserver2” ] && $IPT -A OUTPUT -p udp -m udp -d $nameserver2 –dport 53 -j ACCEPT
# 保存规则并重启IPTABLES
service iptables save
service iptables restart
echo “============================iptables configure completed============================================”

评论

利用iptables防止php-ddos对外udp发包

利用iptables防止php-ddos对外udp发包
最近php-ddos泛滥,尤其是织梦一堆洞洞,你懂得,我们可以利用iptables,从根源上禁止php-ddos对外发包。

首选允许需要UDP服务的端口(如DNS)

iptables -I OUTPUT -p udp –dport 53 -d 8.8.8.8 -j ACCEPT
iptables -I OUTPUT -p udp –dport 53 -d 8.8.4.4 -j ACCEPT
“53”,为DNS所需要的UDP端口,“8.8.8.8”部分为DNS IP,根据您服务器的设定来定,若您不知您当前服务器使用的DNS IP,可在SSH中执行以下命令获取:

cat /etc/resolv.conf |grep nameserver |awk ‘NR==1{print $2 }’
禁止本机对外发送UDP包

iptables -A OUTPUT -p udp -j DROP

评论

安装Directadmin遇到错误

安装Directadmin遇到

*** Cannot find /usr/include/et/com_err.h. (yum install libcom_err-devel) ***
Installation didn’t pass, halting install.
Once requirements are met, run the following to continue the install:
cd /usr/local/directadmin/scripts
./install.sh
Common pre-install commands:

http://help.directadmin.com/item.php?id=354

==================
yum install libcom_err-devel
==================
Total 972 kB/s | 116 MB 02:02
Running rpm_check_debug
ERROR with rpm_check_debug vs depsolve:
keyutils-libs-devel is needed by krb5-devel-1.10.3-10.el6_4.1.i686
libselinux-devel is needed by krb5-devel-1.10.3-10.el6_4.1.i686
zlib-devel is needed by openssl-devel-1.0.0-27.el6_4.2.i686
** Found 7 pre-existing rpmdb problem(s), ‘yum check’ output follows:
e2fsprogs-devel-1.41.12-3.el6.i686 has missing requires of e2fsprogs-libs = (’0′, ’1.41.12′, ’3.el6′)
e2fsprogs-devel-1.41.12-3.el6.i686 has missing requires of libcom_err-devel
e2fsprogs-devel-1.41.12-3.el6.i686 has missing requires of pkgconfig(com_err)
krb5-devel-1.8.2-3.el6.i686 has missing requires of keyutils-libs-devel
krb5-devel-1.8.2-3.el6.i686 has missing requires of libcom_err-devel
krb5-devel-1.8.2-3.el6.i686 has missing requires of libselinux-devel
openssl-devel-1.0.0-4.el6.i686 has missing requires of zlib-devel

执行

yum -y install zlib-devel
yum -y install e2fsprogs*

即可解决

评论

杜绝第三方利用Zen cart发送垃圾邮件

Zen cart的Tell a friend发送邮件功能被可恶的人利用了,即通过程序手段自动借用其Zen cart网站的Tell a friend群发邮件,邮件内容居然是非常不和谐的,汗一个,不过还是佩服这家伙的创意,这也想得到。
言归正传,还是说下杜绝第三方利用Zen cart tell a friend功能发送垃圾邮件的解决办法吧

Zen cart站用的是自有域名邮箱,绑在Gmail账户里。由于Gmail的垃圾邮件拦截得好,一直没注意到域名邮箱里的垃圾邮件。昨天无意中看到里面居然有 2000+failure notice邮件, 今天起床特意又看了一下,多出来500多封。这才想起来最近网站来路里直接输入网址访问的居然占到大多数,或许于此有 关。当然,这是题外话。今天到Zen cart官方论坛上找了一下,发现遇到类似情况的网站主还不少,情况严重的因此被ISP关了站。Tell a friend功能我一直觉得用处不大,没想到用处不小
遇到这种情况,可用的解决方法有:
1. 后台-Configuration-Email Options里找到Allow Guest To Tell A Friend,关闭游客推荐功能。
2. 下载zen cart的垃圾邮件过滤插件Form Armor Module,该插件专门针对第三方利用Contact us, Tell a friend发送垃圾邮件的问题。不幸的是,Form Armor是项收费服务,费用不低,每月19刀。下载地址在这里:http://www.zen-cart.com /index.php?main_page=product_contrib_info&products_id=1202.
我只是简单按照步骤1关闭了游客推荐功能,有用与否过两天后才有结果。补:无用!
如果你和我一样觉得Tell a friend没个鸟用,那么对下列文件重命名,可以彻底删除该功能:
templates/YOUR_TEMPLATE/templates/tpl_tell_a_friend_default
includes/languages/english/tell_a_friend.php
includes/modules/pages/tell_a_friend.php
然后,在后台catalog-product types里面打开网站上所有的产品类型设置,找到Show Product Tell a Friend button,关闭它。

评论

新版本Kloxo安装后无法连接FTP的解决办法

近期帮客户配置KLOXO面板的时候发现Kloxo安装后无法连接FTP. 经过一番折腾终于在谷歌找到了解决方法~!

下面是解决方案
用ROOT账户 登陆 SSH 服务器 输入
netstat -an | grep LISTEN
没有发现 21 端口,难怪服务器会无法连接..

下面我们仅需配置下pureftp 即可
编辑pureftp

1、vi /etc/xinetd.d/pureftp删除或者注释原来的配置文件,替换成下面的。

service ftp
{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/sbin/pure-ftpd
server_args = -A -c5000 -C8 -D -fftp -H -I15 -lpuredb:/etc/pure-ftpd/pureftpd.pdb -lunix -L2000:8 -m4 -s -p30000:50000 -U133:022 -u100 -Oclf:/var/log/kloxo/pureftpd.log -g/var/run/pure-ftpd.pid -k99 -Z -Y 1
groups = yes
flags = REUSE
}

重启ftp

1service xinetd restart

重启完毕后再去登陆FTP 就会发现已经可以正常登陆~!

评论

给Kloxo控制面板的VPS添加新IP

通过Kloxo控制面板配置新IP。

假设需要添加的ip是 74.82.180.226 子网掩码是 255.255.255.224

登录kloxo之后点

服务器->localhost->IP地址->Add IP 地址

然后在设备名那里保持默认
ip地址那里输入

74.82.180.226

子网掩码那里输入

255.255.255.224

点击查看原图

然后点确定即可。

 

本教程来自网上

评论

service httpd restart 问题,Temporary failure in name resolution: Failed to resolve server name解决办法

service httpd restart 问题,Temporary failure in name resolution: Failed to resolve server name解决办法

问题:Starting httpd: [Wed Jul 25 16:09:56 2012] [error] (EAI 3)Temporary failure in name resolution: Failed to resolve server name for 192.168.1.2 (check DNS) — or specify an explicit ServerName

这个一般是vps或者服务器上面有多个ip造成的,解决方法如下:

在/etc/hosts追加如下:

192.168.1.2 localhost
192.168.1.3 localhost 如果有更多都可以加上

评论

XEN安装问题

vgcreate 卷表明 分区名 vgcreate vg001 /dev/sda3

评论

« 上一页« Previous entries « 上一页 · 下一页 » Next entries »下一页 »