CET,UTC,GMT,CST几种常见时间概述与关系

CET

欧洲中部时间(英語:Central European Time,CET)是比世界标准时间(UTC)早一个小时的时区名称之一。它被大部分欧洲国家和部分北非国家采用。冬季时间为UTC+1,夏季欧洲夏令时为UTC+2。
参考:http://zh.wikipedia.org/zh/%E6%AC%A7%E6%B4%B2%E4%B8%AD%E9%83%A8%E6%97%B6%E9%97%B4

UTC

协调世界时,又称世界标准时间或世界协调时间,简称UTC,从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。台湾采用CNS 7648的《资料元及交换格式–资讯交换–日期及时间的表示法》(与ISO 8601类似)称之为世界统一时间。中国大陆采用ISO 8601-1988的国标《数据元和交换格式信息交换日期和时间表示法》(GB/T 7408)中称之为国际协调时间。协调世界时是以原子时秒长为基础,在时刻上尽量接近于世界时的一种时间计量系统。
参考http://zh.wikipedia.org/zhhans/%E4%B8%96%E7%95%8C%E6%A0%87%E5%87%86%E6%97%B6%E9%97%B4

GMT

格林尼治标准时间(旧译格林尼治平均时间或格林威治标准时间;英语:Greenwich Mean Time,GMT)是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。
参考:http://zh.wikipedia.org/wiki/GMT

CST

北京时间,China Standard Time,又名中国标准时间,是中国的标准时间。在时区划分上,属东八区,比协调世界时早8小时,记为UTC+8,与中华民国国家标准时间(旧称“中原标准时间”)、香港时间和澳门时间和相同。當格林威治時間為凌晨0:00時,中國標準時間剛好為上午8:00。
参考:http://zh.wikipedia.org/zh/CSThttp://zh.wikipedia.org/wiki/%E5%8C%97%E4%BA%AC%E6%97%B6%E9%97%B4

关系

CET=UTC/GMT + 1小时
CST=UTC/GMT +8 小时
CST=CET+9

标签: CET, UTC, GMT, CST

Centos6.2 php5.3.3装mcrypt

yum -y install php-mcrypt 木有。。

最后找到一个源

wget http://dl.fedoraproject.org/pub/epel/6/i386/php-mcrypt-5.3.3-1.el6.i686.rpm

wget http://dl.fedoraproject.org/pub/epel/6/i386/libmcrypt-2.5.8-9.el6.i686.rpm

rpm -Uvh php-mcrypt-5.3.3-1.el6.i686.rpm libmcrypt-2.5.8-9.el6.i686.rpm

service httpd restart 搞定。。

标签: mcrypt

Centos6.2系统优化shell脚本

#!/bin/bash 
#author suzezhi 
#this script is only for CentOS 6 
#check the OS 
platform=`uname -i` 
if [ $platform != "x86_64" ];then 
echo "this script is only for 64bit Operating System !" 
exit 1 
fi 
echo "the platform is ok" 
version=`lsb_release -r |awk '{print substr($2,1,1)}'` 
if [ $version != 6 ];then 
echo "this script is only for CentOS 6 !" 
exit 1 
fi 
cat << EOF 
+---------------------------------------+ 
|   your system is CentOS 6 x86_64      | 
|      start optimizing.......          | 
+--------------------------------------- 
EOF 
#make the 163.com as the default yum repo 
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
wget http://mirrors.163.com/.help/CentOS6-Base-163.repo -O /etc/yum.repos.d/CentOS-Base.repo 
#add the third-party repo 
#add the epel 
rpm -Uvh http://download.Fedora.RedHat.com/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm 
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 
#add the rpmforge 
rpm -Uvh http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm 
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmforge-dag 
#update the system and set the ntp 
yum clean all 
yum -y update glibc\* 
yum -y update yum\* rpm\* python\* 
yum -y update 
yum -y install ntp 
echo "* 4 * * * /usr/sbin/ntpdate 210.72.145.44 > /dev/null 2>&1" >> /var/spool/cron/root 
service crond restart 
#set the file limit 
echo "ulimit -SHn 102400" >> /etc/rc.local 
cat >> /etc/security/limits.conf << EOF 
*           soft   nofile       65535 
*           hard   nofile       65535 
EOF 
#set the control-alt-delete to guard against the miSUSE 
sed -i 's#exec /sbin/shutdown -r now#\#exec /sbin/shutdown -r now#' /etc/init/control-alt-delete.conf 
#disable selinux 
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config 
#set ssh 
sed -i 's/^GSSAPIAuthentication yes$/GSSAPIAuthentication no/' /etc/ssh/sshd_config 
sed -i 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config 
service sshd restart 
#tune kernel parametres 
cat >> /etc/sysctl.conf << EOF 
net.ipv4.tcp_fin_timeout = 1 
net.ipv4.tcp_keepalive_time = 1200 
net.ipv4.tcp_mem = 94500000 915000000 927000000 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_timestamps = 0 
net.ipv4.tcp_synack_retries = 1 
net.ipv4.tcp_syn_retries = 1 
net.ipv4.tcp_tw_recycle = 1 
net.core.rmem_max = 16777216 
net.core.wmem_max = 16777216 
net.core.netdev_max_backlog = 262144 
net.core.somaxconn = 262144 
net.ipv4.tcp_max_orphans = 3276800 
net.ipv4.tcp_max_syn_backlog = 262144 
net.core.wmem_default = 8388608 
net.core.rmem_default = 8388608 
EOF 
/sbin/sysctl -p 
#define the backspace button can erase the last character typed 
echo 'stty erase ^H' >> /etc/profile 
echo "syntax on" >> /root/.vimrc 
#stop some crontab 
mkdir /etc/cron.daily.bak 
mv /etc/cron.daily/makewhatis.cron /etc/cron.daily.bak 
mv /etc/cron.daily/mlocate.cron /etc/cron.daily.bak 
chkconfig bluetooth off 
chkconfig cups off 
chkconfig ip6tables off 
#disable the ipv6 
cat > /etc/modprobe.d/ipv6.conf << EOFI 
alias net-pf-10 off 
options ipv6 disable=1 
EOFI 
echo "NETWORKING_IPV6=off" >> /etc/sysconfig/network 
cat << EOF 
+-------------------------------------------------+ 
|               optimizer is done                 | 
|   it's recommond to restart this server !       | 
+-------------------------------------------------+ 
EOF 

http://icooke.blog.51cto.com/4123148/766245

Linux安全 - 设置阻止扫站爆破者

基础的设置有以下几步:
1.修改ssh端口号
2.设置复杂的root密码
3.禁止root远程登录
4.利用脚本,自动deny密码错误超过x次的ip (这个x的次数可以自己根据实际情况来定义)

首先给大家一段代码来检测你的vps是否遭遇了暴力破解:

cat /var/log/secure|awk '/Failed/{print $(NF-3)}'|sort|uniq -c|awk '{print $2"="$1;}'

如果查询出来的结果中包含了“ip地址=数量”这样的结果,那就说明有人曾试图破解过你的密码。
 

下面介绍下更改ssh端口号以及如何禁止root远程登录:

一、更改ssh端口号

VPS默认的ssh端口为22,可用下面命令进入配置文件

vi /etc/ssh/sshd_config

找到#port 22
将前面的#去掉,然后修改端口 port 12345 (这里的端口可以自己根据实际情况定义)
然后重启ssh服务

service sshd restart

二、禁用root登录

在禁用root登录前首先一定要先增加一个普通权限的用户,并设置密码

useradd test
passwd test

然后禁止ROOT远程SSH登录:

vi /etc/ssh/sshd_config

把其中的
PermitRootLogin yes
改为
PermitRootLogin no

如果PermitRootLogin前面的有#的话也一定要删除掉,否则无法生效。

再重启sshd服务

service sshd restart

以后我们便可以通过普通权限的ssh账户连接我们的vps,如果需要管理权限的话,可以用下面命令提升到root权限

su root

iptables防火墙的基本设置总结

1、安装iptables防火墙

如果没有安装iptables需要先安装,CentOS执行:
yum install iptables

Debian/Ubuntu执行:
apt-get install iptables
2、清除已有iptables规则
iptables -F
iptables -X
iptables -Z

3、开放指定的端口
#允许本地回环接口(即运行本机访问本机)
iptables -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
# 允许已建立的或相关连的通行
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 允许访问22端口
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
#允许访问80端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
#允许FTP服务的21和20端口
iptables -A INPUT -p tcp --dport 21 -j ACCEPT
iptables -A INPUT -p tcp --dport 20 -j ACCEPT

#如果有其他端口的话,规则也类似,稍微修改上述语句就行
#禁止其他未允许的规则访问(注意:如果22端口未加入允许规则,SSH链接会直接断开。)
1).用DROP方法
iptables -A INPUT -p tcp -j DROP
2).用REJECT方法
iptables -A INPUT -j REJECT
iptables -A FORWARD -j REJECT

4、屏蔽IP
#如果只是想屏蔽IP的话“3、开放指定的端口”可以直接跳过。
#屏蔽单个IP的命令是
iptables -I INPUT -s 123.45.6.7 -j DROP
#封整个段即从123.0.0.1到123.255.255.254的命令
iptables -I INPUT -s 123.0.0.0/8 -j DROP
#封IP段即从123.45.0.1到123.45.255.254的命令
iptables -I INPUT -s 124.45.0.0/16 -j DROP
#封IP段即从123.45.6.1到123.45.6.254的命令是
iptables -I INPUT -s 123.45.6.0/24 -j DROP
4、查看已添加的iptables规则
iptables -L -n

v:显示详细信息,包括每条规则的匹配包数量和匹配字节数
x:在 v 的基础上,禁止自动单位换算(K、M) vps侦探
n:只显示IP地址和端口号,不将ip解析为域名

5、删除已添加的iptables规则

将所有iptables以序号标记显示,执行:
iptables -L -n --line-numbers

比如要删除INPUT里序号为8的规则,执行:
iptables -D INPUT 8
6、iptables的开机启动及规则保存

CentOS上可能会存在安装好iptables后,iptables并不开机自启动,可以执行一下:
chkconfig --level 345 iptables on

将其加入开机启动。

CentOS上可以执行:service iptables save保存规则。

Debian/Ubuntu上iptables是不会保存规则的。
需要按如下步骤进行,让网卡关闭是保存iptables规则,启动时加载iptables规则。
如果当前用户不是root,即使使用了sudo,也会提示你没有权限,无法保存,所以执行本命令,你必须使用root用户.
可以使用sudo -i快速转到root,使用完成,请及时使用su username切换到普通帐户.
为了重启服务器后,规则自动加载,我们创建如下文件:
sudo vim /etc/network/if-pre-up.d/iptables
#!/bin/bash
iptables-save > /etc/iptables.rules

添加执行权限。
chmod +x /etc/network/if-pre-up.d/iptables

附上基础规则:
*filter
:INPUT ACCEPT [106:85568]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [188:168166]
:RH-Firewall-1-INPUT - [0:0]
#允许本地回环接口(即运行本机访问本机)
-A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT
#允许已建立的或相关连的通行
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许所有本机向外的访问
-A OUTPUT -j ACCEPT
#允许PPTP拨号翻墙
-A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT
#仅特定主机访问Rsync数据同步服务
-A INPUT -s 8.8.8.8/32 -p tcp -m tcp --dport 873 -j ACCEPT
#仅特定主机访问WDCP管理系统
-A INPUT -s 6.6.6.6/32 -p tcp -m tcp --dport 8080 -j ACCEPT
#允许访问SSH
-A INPUT -p tcp -m tcp --dport 1622 -j ACCEPT
#允许访问FTP
-A INPUT -p tcp -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m tcp --dport 20 -j ACCEPT
#允许访问网站服务
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
#禁止所有未经允许的连接
-A INPUT -p tcp -j DROP
#注意:如果22端口未加入允许规则,SSH链接会直接断开。
#-A INPUT -j REJECT
#-A FORWARD -j REJECT
COMMIT

可以使用一下方法直接载入:
1、复制上面的规则粘贴到这里,保存本文件
sudo vim /etc/iptables.test.rules
2、把本规则加载,使之生效,注意,iptables不需要重启,加载一次规则就成了
sudo iptables-restore < /etc/iptables.test.rules
3、查看最新的配置,应该所有的设置都生效了.
sudo iptables -L -n
4、保存生效的配置,让系统重启的时候自动加载有效配置(iptables提供了保存当前运行的规则功能)
iptables-save > /etc/iptables.rules

NameVirtualHost的使用

NameVirtualHost的使用

如果某个ip:port 上只设置了一个虚拟主机,那么NameVirtualHost ip:port 可以不写,因为从这个ip:port的访问不需要做任何选择;如上例中192.168.1.197只对应于www.a.com,所以不用指定 NameVirtualHost

如果某个ip:port 上设置了多于一个虚拟主机,那么必须使用指令NameVirtualHost ip:port ,否则从该ip:port的访问只访问第一个该ip:port 的虚拟主机(因为它优先,apache启动时会提示的);如上例中192.168.1.196对应www.b.com 和www.c.com,指定NameVirtualHost为NameVirtualHost 192.168.1.196:80

如果使用了指令NameVirtualHost ip:port ,却没有为该ip:port定义任何虚拟主机,好像不会出现访问到错误的虚拟主机的问题(因为谁也不知道你想干什么,不过apache还是会提示你: [warn] NameVirtualHost ip:port has no VirtualHosts);

如果VirtualHost 指定的虚拟主机没有匹配一个NameVirtualHost 指令,那么该虚拟主机不会被用到(除非他是第一个虚拟主机),这相当于没有NameVirtualHost 指令,即:如果有多个虚拟主机,一定要有NameVirtualHost 指令

注意

1.NameVirtualHost 指定虚拟主机所使用的IP地址或域名,但是最好是IP地址。使用基于域名的虚拟主机时,NameVirtualHost是必要的指令。NameVirtualHost可以定义多个。

2.虚拟主机混用可以这样理解:一行NameVirtualHost指令定义的所有虚拟主机为一组;该组与一个基于IP的虚拟主机平级。即把一行NameVirtualHost定义的整个组看作是一个基于IP的虚拟主机。

3.虚拟主机指定的端口必须是Listen定义的。如果虚拟主机没有指定端口,则认为是80端口。