适用于Nginx服务器,如需通过自带防火墙限制请参考iptables防CC
编辑Nginx配置文件在http段添加:
limit_req_zone $binary_remote_addr zone=req:10m rate=2r/s;
#定义会话存储区,名字为reg,每秒2个请求
server添加:
location /path/ #限制的目录
{
limit_req_zone zone=reg burst=2; #突发最高每秒2个请求数
}
发布时间:April 6, 2012 // 分类:Nginx,网络安全 // No Comments
适用于Nginx服务器,如需通过自带防火墙限制请参考iptables防CC
编辑Nginx配置文件在http段添加:
limit_req_zone $binary_remote_addr zone=req:10m rate=2r/s;
#定义会话存储区,名字为reg,每秒2个请求
server添加:
location /path/ #限制的目录
{
limit_req_zone zone=reg burst=2; #突发最高每秒2个请求数
}
发布时间: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 -x509 -newkey rsa:3072 -nodes -out server.csr -keyout server.key -subj "/C=CN/O=Haiyun/CN=haiyun.me/CN=www.haiyun.me"
将证书和密钥合成为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