编辑Nginx配置文件在fastpass前添加以下内容
location ~* ^/www.haiyun.me/.*\.(php|php5)$ #限制/data/attachment/目录
{
deny all; #拒绝执行php程序
}
重启nginx
service nginx restart
发布时间:April 4, 2012 // 分类:Nginx,网络安全 // No Comments
编辑Nginx配置文件在fastpass前添加以下内容
location ~* ^/www.haiyun.me/.*\.(php|php5)$ #限制/data/attachment/目录
{
deny all; #拒绝执行php程序
}
重启nginx
service nginx restart
发布时间:March 24, 2012 // 分类:网络安全 // No Comments
1.限制与80端口连接的IP最大连接数为10,可自定义修改。
iptables -I INPUT -p tcp --dport 80 -m connlimit --connlimit-above 10 -j DROP
2.使用recent模块限制同IP时间内新请求连接数,recent更多功能请参考:Iptables模块recent应用。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j LOG --log-prefix 'DDOS:' --log-ip-options
#60秒10个新连接,超过记录日志。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --rcheck --seconds 60 --hitcount 10 -j DROP
#60秒10个新连接,超过丢弃数据包。
iptables -A INPUT -p tcp --dport 80 --syn -m recent --name webpool --set -j ACCEPT
#范围内允许通过。
发布时间:March 17, 2012 // 分类:CentOS // No Comments
Centos官方源很多软件都没有,编译安装又比较麻烦,可以安装EPEL源解决此问题。
EPEL即Extra Packages for Enterprise Linux,也就是为企业级 Linux提供的扩展软件源,适用于 RHEL,CentOS,Scientific Linux系统。
Centos5安装
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm
centos6安装
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
Centos7安装:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
国内访问修改为sohu提供的镜像:
cat > /etc/yum.repos.d/epel.repo <<EOF
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
baseurl=http://mirrors.sohu.com/fedora-epel/6/$basearch
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debug
baseurl=http://mirrors.sohu.com/fedora-epel/6/$basearch/debug
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
baseurl=http://mirrors.sohu.com/fedora-epel/6/SRPMS
#mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
EOF
发布时间:March 2, 2012 // 分类:Nginx,OpenSSL // No Comments
此SSL证书由于是自签名不被浏览器信任,访问时浏览器会有警告信息,也可使用经授权的StartSSL免费SSL证书。
首先生成服务器证书和密钥:
openssl req -new -x509 -nodes -out server.crt -keyout server.key
将证书和密钥合成为pem文件:
cat server.crt server.key > server.pem
设置权限:
chmod 400 server.*
配置Nginx,在server段加入:
listen 443;
ssl on;
ssl_certificate /www.haiyun.me/server.pem;
ssl_certificate_key /www.haiyun.me/server.key;
重启Nginx,访问www.haiyun.me即可。
/etc/init.d/nginx restart
发布时间:February 29, 2012 // 分类:Iptables // No Comments
#/bin/bash
sshport=`netstat -lnp|awk -F"[ ]+|[:]" '/sshd/{print$5}'`
iptables -F #清除自带规则
iptables -X
iptables -P INPUT DROP #进入本机数据包默认拒绝
iptables -P OUTPUT ACCEPT #本起外出数据包允许
iptables -A INPUT -i lo -j ACCEPT #允许本地环回
iptables -A INPUT -m state --state INVALID -j LOG --log-prefix "INVALID" --log-ip-options
#记录无效的数据包并丢弃
iptables -A INPUT -m state --state INVALID -j DROP
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#允许已建立连接与出相关的数据包进入
iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT
#允许目标端口为80的新连接进入
iptables -A INPUT -m state --state NEW -p tcp --dport $sshdport -j ACCEPT
#允许目标端口为22的新连接进入
iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 5/s --limit-burst 20 -j ACCEPT
#允许ping回应,每秒5个,最多20个。
service iptables save #保存规则
注意:勿一条条执行,最好保存为脚本并运行,避免将自己关外面,也可设置定时任务5分钟后关闭Iptables防火墙,防止万一。