海运的博客

Iptables限制同一IP连接数防CC/DDOS

发布时间: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
#范围内允许通过。

Centos安装EPEL扩展源。

发布时间:March 17, 2012 // 分类:CentOS // No Comments

Centos官方很多软件都没有,编译安装又比较麻烦,可以安装EPEL源解决此问题。
EPEL即Extra Packages for Enterprise Linux,也就是为企业级 Linux提供的扩展软件源,适用于 RHEL,CentOS,Scientific Linux系统。
Centos5安装

#http://www.haiyun.me
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

Nginx下生成配置自签名ssl证书

发布时间:March 2, 2012 // 分类:Nginx,OpenSSL // No Comments

SSL证书由于是自签名不被浏览器信任,访问时浏览器会有警告信息,也可使用经授权的StartSSL免费SSL证书
首先生成服务器证书和密钥:

#http://www.haiyun.me
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,访问https://www.haiyun.me即可

/etc/init.d/nginx restart

Centos/Linux服务器防火墙/iptables简单设置。

发布时间:February 29, 2012 // 分类:Iptables // No Comments

#/bin/bash
#Created by www.haiyun.me
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防火墙,防止万一。

Nginx设置301重定向域名/网站目录更改

发布时间:February 29, 2012 // 分类:Nginx // No Comments

Nginx域名重定向,编辑域名配置文件,在server段添加以下内容

if ($host = 'www.haiyun.me' )
      {
rewrite ^/(.*)$ http://www.haiyun.me/$1 permanent;
       }

当访问http://www.haiyun.me时301重定向为www.haiyun.me
2.当网站目录改变时重定向转移权重

rewrite ^/test/(.*)$ /archives/$1 permanent; 
分类
最新文章
最近回复
  • zzg: http://downloads.openwrt.org.cn/PandoraBox/rali...
  • xiongrui: 看图
  • 傻狍子: filebrowser好像和这功能一样? https://github.com/filebro...
  • 陶国文: 想看看能不能安装
  • 傻狍子: 服务端设置了用户名密码认证的话,在openwrt的openvpn客户端的配置文件当中该如何更改...
  • 王阴阳师: 感谢,一点不啰嗦,还很管用!
  • simon: 刚刚看了我的vps,玛德,居然也有人在一直尝试登录,幸好我的密码是强密码
  • thornbird: 又学会一招,不错
  • 头很黑: 除了发送eth转账 ,还能转账其他的代币吗 比如eos
  • 米扑博客: 总结的很棒
归档