<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></title> 
<link>https://www.cnmysql.com/index.php</link> 
<description><![CDATA[关注服务器运维技术、DB优化、Docker虚拟化、自动化运维、工作积累]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[Ops运维 | Mr`kang Blog｜小豆子]]></copyright>
<item>
<link>https://www.cnmysql.com/post/141/</link>
<title><![CDATA[GITLAB无缝升级版本]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[LINUX系统管理]]></category>
<pubDate>Thu, 20 Aug 2015 02:33:22 +0000</pubDate> 
<guid>https://www.cnmysql.com/post/141/</guid> 
<description>
<![CDATA[ 
	git下载<br/><a href="https://about.gitlab.com/downloads/archives/" target="_blank">https://about.gitlab.com/downloads/archives/</a><br/><br/><a href="https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update/README.md#updating-from-gitlab-66-and-higher-to-710-or-newer" target="_blank">https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/update/README.md#updating-from-gitlab-66-and-higher-to-710-or-newer</a><br/>Updating from GitLab 6.6 and higher to the latest version<br/><br/>sudo gitlab-ctl stop unicorn<br/>sudo gitlab-ctl stop sidekiq<br/>sudo gitlab-ctl stop nginx<br/>sudo gitlab-rake gitlab:backup:create<br/><br/># Ubuntu/Debian:<br/>sudo dpkg -i gitlab_x.x.x-omnibus.xxx.deb<br/><br/># CentOS:<br/>sudo rpm -Uvh gitlab-x.x.x_xxx.rpm<br/><br/>sudo gitlab-ctl reconfigure<br/>sudo gitlab-ctl restart<br/><br/>sudo gitlab-ctl status<br/>sudo gitlab-rake gitlab:check SANITIZE=true<br/><br/>Tags - <a href="https://www.cnmysql.com/tags/gitlab/" rel="tag">gitlab</a> , <a href="https://www.cnmysql.com/tags/git%25E5%258D%2587%25E7%25BA%25A7/" rel="tag">git升级</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post/140/</link>
<title><![CDATA[网站防cc攻击iptables方法]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[黑客攻防]]></category>
<pubDate>Thu, 20 Aug 2015 01:59:32 +0000</pubDate> 
<guid>https://www.cnmysql.com/post/140/</guid> 
<description>
<![CDATA[ 
	<strong>CC攻击原理</strong><br/>CC攻击的原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽，一直到宕机崩溃。CC主要是用来攻击页面的，每个人都有这样的体验：当一个网页访问的人数特别多的时候，打开网页就慢了，CC就是模拟多个用户（多少线程就是多少用户）不停地进行访问那些需要大量数据操作（就是需要大量CPU时间）的页面，造成服务器资源的浪费，CPU长时间处于100%，永远都有处理不完的连接直至就网络拥塞，正常的访问被中止。<br/><br/><br/>1、第一种<br/>#!/bin/sh<br/>IP=`tail -1000 access.log&#124; awk '&#123;print $1&#125;' &#124; sort &#124; uniq -c &#124; sort -rn&#124;awk '$1 > 100 &#123;print $2&#125;'`<br/>for i in $IP<br/>do<br/>iptables -I INPUT -p tcp --dport 80 -s $i -j DROP<br/>done<br/><br/>2、第二种<br/>#!/bin/sh<br/>status=`netstat -na&#124;awk '$5 ~ /[0-9]+:[0-9]+/ &#123;print $5&#125;' &#124;awk -F ":" -- '&#123;print $1&#125;' &#124;sort -n&#124;uniq -c &#124;sort -n&#124;tail -n 1`<br/>NUM=`echo $status&#124;awk '&#123;print $1&#125;'`<br/>IP=`echo $status&#124;awk '&#123;print $2&#125;'`<br/>result=`echo "$NUM > 100" &#124; bc`<br/>if [ $result = 1 ]<br/>then<br/>echo IP:$IP is over $NUM, BAN IT! >> ip_deny.txt<br/>/sbin/iptables -I INPUT -s $IP -j DROP<br/>fi<br/>Tags - <a href="https://www.cnmysql.com/tags/cc%25E6%2594%25BB%25E5%2587%25BB/" rel="tag">cc攻击</a> , <a href="https://www.cnmysql.com/tags/iptables/" rel="tag">iptables</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post/139/</link>
<title><![CDATA[DDOS防护抵御方法]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[黑客攻防]]></category>
<pubDate>Thu, 20 Aug 2015 01:55:34 +0000</pubDate> 
<guid>https://www.cnmysql.com/post/139/</guid> 
<description>
<![CDATA[ 
	在安全领域，DDoS（分布式拒绝服务攻击）简单粗暴，是常见攻击方法。而网站型应用，由于有公开的域名和IP，并使用特定的通信协议（TCP），很容易被发起DDoS攻击。友好速搭上线9个月以来，遭受DDoS攻击超过20次，有些攻击流量规模超过100Gbps。<br/><br/>用来区分DDoS攻击类型的名词很多，比如SYN Flood、UDP Flood、ICMP Flood、CC攻击等。从防护角度看，主要可以分为两种类型：带宽消耗型和资源消耗型。<br/><strong>带宽消耗型攻击</strong><br/>带宽消耗型攻击，目的是封堵系统的网络出入口，大都是基于简单网络协议，比如UDP或ICMP，向指定IP发送大量数据包。这类攻击，只能通过增加网络带宽来防御，如果流量特别大，超过了机房网络的承受范围，那只能使用第三方的流量清洗服务，例如安全宝、腾讯大禹系统等。<br/><a href="https://www.cnmysql.com/attachment.php?fid=45" target="_blank"><img src="https://www.cnmysql.com/attachment.php?fid=45" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>这类清洗服务，主要提供两类帮助：<br/><br/>域名通过CNAME解析，隐藏应用真实IP<br/>域名解析的IP结果，是防护IP地址，攻击的流量只先到防护的机房，应用的真实IP，只对防护服务商可见。<br/><br/>流量清洗，筛选健康流量发回源站<br/>服务商会通过技术手段，将攻击流量拦截，并筛选出健康流量发给应用。<br/><strong>资源消耗型攻击</strong><br/>资源消耗型攻击，主要目的是耗尽系统资源，比如SYN Flood，会导致主机建立大量TCP连接，耗尽系统句柄，CC攻击发起大量正常请求，超出业务应用的处理上限。这类攻击的流量大小，与攻击者使用的肉鸡数量有关。如果流量特别大，也需要使用上面提到的流量清洗服务。如果流量规模不大，可以通过简单的脚本，识别出攻击代理的IP，并进行屏蔽来防御。<br/><br/>网站使用的HTTP或SSL协议，都是基于传输层TCP协议的应用，TCP协议中的状态变化如下：<br/><a href="https://www.cnmysql.com/attachment.php?fid=46" target="_blank"><img src="https://www.cnmysql.com/attachment.php?fid=46" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/>可以通过识别不同状态的TCP连接数量，来判断是否攻击IP。<br/><br/>例如，SYN Flood攻击，就是通过建立处于SYN状态的TCP连接，消耗服务器的句柄，遭受这种攻击时，服务器可以查看到，很多TCP连接处于syn-recv状态。<br/><br/>而CC攻击，通常都是向网站发起大量请求，与服务器建立大量TCP连接，状态大都处于established,time-wait,close-wait。<br/><br/>通过 Linux 系统中的ss命令，可以查看各种状态的TCP连接：<br/>ss -ntu state syn-recv state established state time-wait<br/>通过查看IP的TCP连接状态和数量，就能判断出这个IP是否用于DDoS攻击。<br/><br/>基于这个思路，针对资源消耗型攻击，我们开发了一个简单的脚本工具：AntiDDoS。在服务器上部署启动后，会定时查看TCP连接，超过指定连接数量的IP，会被加入iptables屏蔽一段时间，并发邮件通知系统管理员。<br/><br/>下载链接：<br/><a href="https://github.com/yeezon/AntiDDoS" target="_blank">https://github.com/yeezon/AntiDDoS</a><br/><br/>iptables简单防护<br/>iptables -A FORWARD -p tcp --syn -m limit --limit 1/s --limit-burst 5 -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#每秒中最多允许5个新连接<br/>iptables -A FORWARD -p tcp --tcp-flags SYN,ACK,FIN,RST RST -m limit --limit 1/s -j ACCEPT&nbsp;&nbsp;#防止各种端口扫描<br/>iptables -A FORWARD -p icmp --icmp-type echo-request -m limit --limit 1/s -j ACCEPT&nbsp;&nbsp;&nbsp;&nbsp; #Ping洪水攻击（Ping of Death<br/><br/><br/>屏蔽一个IP<br/># iptables -I INPUT -s 192.168.0.1 -j DROP<br/><br/>怎么防止别人ping我？？<br/># iptables -A INPUT -p icmp -j DROP<br/><br/>防止同步包洪水（Sync Flood）<br/># iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT<br/><br/>防止各种端口扫描<br/># iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT<br/><br/>Ping洪水攻击（Ping of Death）<br/>#iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT<br/><br/># NMAP FIN/URG/PSH<br/># iptables -A INPUT -i eth0 -p tcp –tcp-flags ALL FIN,URG,PSH -j DROP<br/><br/><br/><br/>Tags - <a href="https://www.cnmysql.com/tags/ddosiptables/" rel="tag">ddosiptables</a> , <a href="https://www.cnmysql.com/tags/ddos%25E5%258E%259F%25E7%2590%2586/" rel="tag">ddos原理</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post/138/</link>
<title><![CDATA[linux下php添加pdo_mysql扩展]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[WEB技术]]></category>
<pubDate>Tue, 06 Jan 2015 07:09:53 +0000</pubDate> 
<guid>https://www.cnmysql.com/post/138/</guid> 
<description>
<![CDATA[ 
	<span style="font-family: 宋体;"><span style="font-size: 12px;"><br/>pdo_mysql模块安装<br/><br/>如果没有安装pdo模块的需要先安装pdo模块，不然在编译pdo_mysql模块的时候会报如下错误：<br/>configure: error: Cannot find php_pdo_driver.h.<br/><br/>1、进入源码模块目录编译pdo模块<br/>cd /home/soft/nginx/php-5.5.14/ext/pdo<br/>/usr/local/php/bin/phpize<br/> ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql<br/><br/>2、编译pdo_mysql<br/>cd /home/soft/nginx/php-5.5.14/ext/pdo_mysql<br/>/usr/local/php/bin/phpize<br/>./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql<br/><br/><br/>编译完后vi php.ini<br/>extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo_mysql.so<br/>extension=/usr/local/php/lib/php/extensions/no-debug-non-zts-20121212/pdo.so<br/><br/>重启php-fpm<br/>/etc/init.d/php-fpm restart<br/><br/>php -m&nbsp;&nbsp;查看php的模块<br/>或者：/usr/local/webserver/php/bin/php -r "phpinfo();"&#124;grep -i pdo_mysql<br/></span><br/></span><br/>Tags - <a href="https://www.cnmysql.com/tags/php/" rel="tag">php</a> , <a href="https://www.cnmysql.com/tags/pdo/" rel="tag">pdo</a> , <a href="https://www.cnmysql.com/tags/pdo_mysql/" rel="tag">pdo mysql</a>
]]>
</description>
</item><item>
<link>https://www.cnmysql.com/post/137/</link>
<title><![CDATA[PPTP简单部署使用]]></title> 
<author>kangyang &lt;kangyang315@qq.com&gt;</author>
<category><![CDATA[LINUX系统管理]]></category>
<pubDate>Mon, 05 Jan 2015 07:40:45 +0000</pubDate> 
<guid>https://www.cnmysql.com/post/137/</guid> 
<description>
<![CDATA[ 
	<span style="font-family: 宋体;"><span style="font-size: 12px;"><br/>1、安装<br/>yum install -y ppp<br/><br/>2、服务器配置<br/>&nbsp;&nbsp;1、配置内核转发<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;vi /etc/sysctl.conf <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ip_forword=1<br/><br/>&nbsp;&nbsp; 2、pptpd.conf配置<br/><br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[pptpd.conf]<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ppp /usr/sbin/pppd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;option /etc/ppp/options.pptpd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;connections 10&nbsp;&nbsp;&nbsp;&nbsp; #最大连接数<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;localip xx.xx.xx.xx&nbsp;&nbsp;#本机ip，如有外网ip直接配置外网ip<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;remoteip 192.168.99.234-240&nbsp;&nbsp; #连接后分配的ip<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;netmask 255.255.255.0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#分配的子网掩码<br/>&nbsp;&nbsp;&nbsp;&nbsp;<br/>&nbsp;&nbsp; 3、options.pptpd配置<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name pptpd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; refuse-pap<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; refuse-chap<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; refuse-mschap<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; proxyarp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; lock<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nobsdcomp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; novj<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; novjccomp<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; nologfd<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; idle 2592000<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ms-dns 114.114.114.114<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ms-dns 8.8.8.8<br/>&nbsp;&nbsp;&nbsp;&nbsp;4、防火墙配置<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A INPUT -p gre -j ACCEPT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A INPUT -p tcp -m tcp --dport 1723 -j ACCEPT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A FORWARD -s 192.168.99.0/24 -o eth1 -j ACCEPT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A FORWARD -d 192.168.99.0/24 -i eth1 -j ACCEPT<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -t nat -A POSTROUTING -s 192.168.99.0/24 -o eth1 -j MASQUERADE<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A FORWARD -i ppp -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -j TCPMSS --set-mss 135 <br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iptables -A FORWARD -s 192.168.99.0/255.255.255.0 -p udp -m udp --dport 53 -j ACCEPT <br/>3、客户端配置<br/><a href="https://www.cnmysql.com/attachment.php?fid=44" target="_blank"><img src="https://www.cnmysql.com/attachment.php?fid=44" class="insertimage" alt="点击在新窗口中浏览此图片" title="点击在新窗口中浏览此图片" border="0"/></a><br/><br/><br/></span><br/></span>
]]>
</description>
</item>
</channel>
</rss>