记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
About (D)DoS Deflate is a lightweight bash shell script designed to assist in the process of blocking a denial of service attack. It utilizes the command below to create a list of IP addresses connected to the server, along with their total number of connections. It is one of the simplest and easiest to install solutions at the software level. netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n IP addresses with over a pre-configured number of connections are automatically blocked in the server's firewall, which can be direct iptables or Advanced Policy Firewall (APF). (We highly recommend that you use APF on your server in general, but deflate will work without it.) Notable Features It is possible to whitelist IP addresses, via /usr/local/ddos/ignore.ip.list.Simple configuration file: /usr/local/ddos/ddos.confIP addresses are automatically unblocked after a preconfigured time limit (default: 600 seconds)The script can run at a...
JVM参数配置大全前阵子遇到几个面试题都是关于对Java内存控制的,因此从网上找到这篇文章,希望自己对Java的内存分配有重新的认识 /usr/local/jdk/bin/java -Dresin.home=/usr/local/resin -server -Xms1800M -Xmx1800M -Xmn300M -Xss512K -XX:PermSize=300M -XX:MaxPermSize=300M -XX:SurvivorRatio=8 -XX:MaxTenuringThreshold=5 -XX:GCTimeRatio=19 -Xnoclassgc -XX:+DisableExplicitGC -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:-CMSParallelRemarkEnabled -XX:CMSInitiatingOccupancyFraction=70 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:log/gc.log 堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的数据模型(32-bt还是64-bit)限制;系统的可用虚拟内存限制;系统的可用物理内存限制。32位系统下,一般限制在1.5G~2G;64为操作系统对内存无限制。我在Windows Server 2003 系统,3.5G物理内存,JDK5.0下测试,最大可设置为1478m。典型设置: java -Xmx3550m -Xms3550m -Xmn2g -Xss128k-Xmx35...
一、相关概念 基本回收算法 引用计数(Reference Counting) 比较古老的回收算法。原理是此对象有一个引用,即增加一个计数,删除一个引用则减少一个计数。垃圾回收时,只用收集计数为0的对象。此算法最致命的是无法处理循环引用的问题。 标记-清除(Mark-Sweep) 此算法执行分两阶段。第一阶段从引用根节点开始标记所有被引用的对象,第二阶段遍历整个堆,把未标记的对象清除。此算法需要暂停整个应用,同时,会产生内存碎片。 复制(Copying) 此 算法把内存空间划为两个相等的区域,每次只使用其中一个区域。垃圾回收时,遍历当前使用区域,把正在使用中的对象复制到另外一个区域中。次算法每次只处理 正在使用中的对象,因此复制成本比较小,同时复制过去以后还能进行相应的内存整理,不过出现“碎片”问题。当然,此算法的缺点也是很明显的,就是需要两倍 内存空间。 标记-整理(Mark-Compact) 此算法结 合了“标记-清除”和“复制”两个算法的优点。也是分两阶段,第一阶段从根节点开始标记所有被引用对象,第二阶段遍历整个堆,把清除未标记对象并且把存活 对象“压缩”到堆的其中一块,按顺序排放。此算法避免了“标记-清除”的碎片问题,同时也避免了“复制”算...
生产环境-linux-tomcat宕掉解决办法 对于中小公司使用tomcat作为java容器,没有经过系统的调优很容易出现tomcat在运行过程中出现服务宕掉,并且在tomcat的日志中一般无法看出有用的信息,而此次实例中对tomcat宕机后调优,是由公司的构架进行调整,他是对JVM调优有着非常深的理解,而作者对JVM调优的理解比较浅薄,所以本实例不会过多讲解调优的原理,只记录分析和调优的过程,希望能给各位遇到tomcat宕机的运维朋友们带来一点思路。一、tomcat宕掉初步分析 生产环境的tomcat会在隔几天的情况下服务宕掉,这其中没有规律,有规律的是tomcat宕掉每次都是在版本升级后重启10分钟~60分钟内,并不是每次重启tomcat都会宕掉,如果tomcat启动超过一天,运行过程中是不会宕掉的,而且再次重启tomcat后,就不会再出现tomcat宕掉的情况,这可以初步排除上线代码导致的主因(新代码上线其实也是有一部分原因,后面会讲)。 查看tomcat的catalina.out日志:12345678910112015-1-5 13:35:41 org.apache.coyote.http11.Http11NioProtocol pause信息: Pausing Coyote HTTP/1....
代码如下复制代码 #/bin/bash#Author Alex Fang. Updates may apply soon.clearecho "Press anykey to continue..." $anykey ; read anykeyecho "BBBBBBBBBBBAAAAAAAAAAAAAAAAAAAASSSSSSSSSSSSSSSSSSHHHHHHHHHHHHHHHHHHHH!"echo "ShellShockFixer v0.1 by Alex Fang. Liscence: GNU GPLv2"echo "######################################################"echo "Select on option:"echo "1) CentOS"echo "2) Debian Wheezy"echo "3) Debian Squeeze x64(Provided by Aliyun)"echo "4) Debian Squeeze x32(Provided by Aliyun)"echo "5) Ubuntu"echo "6) OpenSuSE x64(Beta, provided by Aliyun)"echo "7) OpenSuSE x32(Beta Aliyun)"echo "8) Aliyun Linux x64"echo "9) Aliyun Linux x32"echo "0) iptables way"echo "11) Temporily disable bash through chmod"echo "######################################################"read xif test $x -eq 1; then clear echo &...
shell结合iptables自动处理CC攻击 Web、数据库服务器压力增加至几百倍,看完日志才知道个大概情况,有人在刷数据库,开始手动去处理这些IP,处理了一批又一批,没得完,最后想出任务计划自动处理,测试了下,效果非常棒,大家可以试试,当然也可以处理DDOS流量攻击。 部分日志:www.*****.com:80 118.251.244.183 - - [26/May/2010:20:22:15 +0800] "POST/syxcms/vote.php?act=submit HTTP/1.1" 200 56 "http://www.*****.com/news/201005/news-6213.shtml" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"www.*****.com:80 118.251.244.183 - - [26/May/2010:20:22:15 +0800] "POST /syxcms/vote.php?act=submit HTTP/1.1" 200 56 "http://www.*****.com/news/201005/news-6213.shtml" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)"www.*****.com:80 118.251.244.183 - - [26/May/2010:20:22:15 +0800] "POST /syxcms/vote.php?act=submit HTTP/1.1" 200 56 "http://www.*****.com/news/201005/news-6213.shtml" "Mozilla...
DDoS deflate介绍DDoS deflate是一款免费的用来防御和减轻DDoS攻击的脚本。它通过netstat监测跟踪创建大量网络连接的IP地址,在检测到某个结点超过预设的限 制时,该程序会通过APF或IPTABLES禁止或阻挡这些IP.DDoS deflate官方网站:http://deflate.medialayer.com/如何确认是否受到DDOS攻击?执行: 代码如下复制代码 netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 执行后,将会显示服务器上所有的每个IP多少个连接数。以下是我自己用VPS测试的结果: 代码如下复制代码 li88-99:~# netstat -ntu | awk ‘{print $5}’ | cut -d: -f1 | sort | uniq -c | sort -n 1 114.226.9.1321 174.129.237.1571 58.60.118.1421 Address1 servers)2 118.26.131.783 123.125.1.2023 220.248.43.1194 117.36.231.2534 119.162.46.1246 219.140.232.1288 220.181.61.31 2311 67.215.242.196每个IP几个、十几个或几十个连接数都还算比较正常,如果像上面成百上千肯定就不正常了。1、安装DDoS deflate 代码如下复制代码 wget http://www.inetbase.com/scripts/ddos/install.sh //下载DDoS defl...
java不同于php,单个站点更新维护都会影响到其他站点,一般都会将几个站点放在一个实例下。今天全称演示单台服务器如何配置多个tomcat实例。环境tomcat:/usr/local/tomcat-7.0.50a.ttlsa.com站点程序:/data/site/a.ttlsa.com端口:8080b.ttlsa.com站点程序:/data/site/b.ttlsa.com端口:80811. tomcat安装安装很简单,配置好jdk与解压tomcat即可, 这边不再重复了。如果连接失效,请复制http://www.ttlsa.com/web/install-tomcat7-on-linux/2. 配置多实例目录在tomcat安装目录下创建a.ttlsa.com、b.ttlsa.com,并且将conf、logs、webapp、temp、work目录拷贝到这两个目录,然后tomcat安装目录只需要留下bin、a.ttlsa.com、b.ttlsa.com、lib这4个目录即可。配置后的目录结构如下:# pwd /usr/local/tomcat-7.0.50 # tree -d -L 2 ├── bin ├── a.ttlsa.com │ ├── conf │ ├── logs │ ├── target │ ├── temp │ ├── webapp │ └── work ├── lib └── b.ttlsa.com ├── conf ├── logs ├── temp ├── webapp └── work3. 配置站点server.xm...
linux bash shell变量替换::=句法、=句法、:-句法、-句法、=?句法、?句法、:+句法、+句法 变量替换和变量默认值设置是紧密相关的。 参数扩张是将类似于变量的参数用它的值来替换。例如以"echo $VAR"的形式调用一个简单的变量。此外还有更多的特性可以访问。这个句法还包含一些没有扩展的特性,虽然这些特性自身很有意义。首先,这类特性执行默认变量赋值。使用这些特性时,整个表达式需要用花括号括起来。 : ${VAR:="some default"}(第一个冒号后有空格)。 : ${VAR:="some default"},开始的冒号是一个正确执行非活动任务的shell命令。在这个句法中,它仅仅扩展了行中紧随其后的所有参数。本例中,只是要在花括号内扩展参数值。在这个表达式中它是用花括号起来的一些逻辑的参数扩展。:=句法表示VAR变量将会和“some defalut”字符串进行比较。如果变量VAR还没有被设置,那么“:=”之后表达式的值将被赋给它,这个值可能是一个数字,一个字符串,或者是另外一个变量。 系统中的脚步可能需要将多个变量设置成默认...
最新评论