Linux

Linux,Linux news

fall2ban whitelist
CentOS, Linux, nginx, ubuntu

fail2ban白名单-fail2ban增加whitelist

近几天因为发现Cloudflare的邮件,发现cf在溯源过程中无法连接服务器。经过检查是因为fail2ban屏蔽了cf的ip.最简单的办法莫过于将Cloudflare的IP白名单处理。方法也很简单就是在jail.local对应的规则中增加白名单设置如下 maxretry = 1 findtime = 60 bantime = 604800 ignoreip = 192.168.18.111 ###添加这一行,IP就是需要白名单的IP地址 需要注意的是,如果你配置了多个规则,那么需要在每个规则下方都增加对应的配置。最后重启fail2ban即可 sudo systemctl restart fail2ban

pagespeed
CentOS, Linux, nginx, php, ubuntu

oneinstack下openresty安装pagespeed

最近折腾了下pagespeed,因为使用的是openresty,所以过程稍微复杂了一些,笔者使用的是oneinstack,因此直接通过其upgrade.sh脚本来升级安装。 1. 首先下载pagespeed,然后放在oneinstack的src/pagespeed目录下 wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz 2. 下载需要的安装包: CentOS: sudo yum groupinstall “Development Tools” Ubuntu: sudo apt-get install build-essential 3. 接着修改include/upgrade_web.sh

fail2ban
Linux, nginx

使用Fail2ban防御对WordPress的CC攻击

最近发现自己的服务器和wordpress经常被各种扫描和CC攻击,各种暴力破解密码,扫描漏洞,让本来就配置不高的vps不堪重负。本来我也没怎么在意,但这几天经常mysql就瘫痪了,让我不得不用shell自动重启mysql。因为实在烦的不行,所以看看是否有办法能缓解下这种问题。搜寻了半天,有2个不错的解决方法。 使用nginx+waf的组合, fail2ban 今天就说下我通过fail2ban的解决方法。关于fail2ban的安装和功能,这里就不多介绍了,基本常用linux的小伙伴们都熟悉。这里我使用fail2ban的filter功能来尝试干掉哪些频繁扫描我某些特定文件未果,以及不停尝试我登录密码的货门。 防御屏蔽哪些扫描特定名字目录文件未果导致404的的IP, 在/etc/fail2ban/filter.d/目录下创建文件: nginx-dos.conf文件,内容入下:2018.11.26更新 [Definition] #屏蔽哪些扫描特定名字目录文件未果导致404的的IP failregex = (?i) -.*”(GET|POST|HEAD).*.(php|html|htm|asp|aspx|zip|gz|rar|\}|\}\}).+[\s]+(404|403|301).+Mozilla.*” ignoreregex = 针对下图这种模式的扫描. 防御和屏蔽暴力穷举wordpress密码的的攻击IP, 在/etc/fail2ban/filter.d/目录下创建文件: wp-cclogin.conf文件,内容入下: [Definition]

mysql,mariadb,percona
database, Linux

MySQL修复指定数据库下的所有表

这几天数据库频繁crash,查看日志发现类似如下的错误: [ERROR] mysqld: Table ‘./database/pre_forum_forumfield’ is marked as crashed and should be repaired 。 于是乎自己查看了下,出问题的表还真不少,至少有二十几个,而且分散在不同数据库中。对于MyISAM存储引擎和ARCHIVE存储引擎来说,可以通过REPAIR TABLE来轻松的修复该表,如果觉得麻烦,phpmyadmin也提供了一键功能,选中指定的表选择repair即可。但我这有如此多的表就不能一次性全部解决吗?当然,办法是有的。 mysqlcheck -uroot -p –auto-repair

memcached
Linux, opensource

PHP 5.6.x需要使用memcache-3.0.8

环境升级到php5.6.30,老版本的memcache-3.0.6无法正常工作了,phpinfo()也看不到对应的扩展了。于是乎重新编译安装,结果仍然无法正常工作。只好去官方看了一下,http://pecl.php.net/package/memcache,从说明来看,兼容版本是PHP 5.4,不过还好有个3.0.8可以用,虽然是beta。编译安装后果然可以正常工作了。(值得注意的是,这个是memcache而不是memcached,推荐新版应用还是用memcached吧。二者用法几乎相同) tar zxvf memcache-3.0.8.tgz cd memcache-3.0.8/ /usr/local/php/bin/phpize ./configure –with-php-config=/usr/local/php/bin/php-config make && make install

memcached
Linux, php, web

PHP连接MemcacheD测试代码

安装好了memcacheD,如何通过php来连接之,测试是否正确运行呢?下面这段代码可以帮助我们测试。注意,我们使用的是memcacheD. $cacheServer = new Memcached(); //create memcacheD instance $cacheServer->addServer(‘127.0.0.1’, 11211); //connect to memcacheD server $cacheServer->set(‘uname’, ‘flower’); // add key and

jemalloc
database, Linux, nginx

通过Jemalloc优化Nginx和MariaDB

首先让我们来了解下什么是Jemalloc. Jemalloc源于Jason Evans 2006年在BSDcan conference发表的论文:《A Scalable Concurrent malloc Implementation for FreeBSD》。Jason认为phkmalloc 《FreeBSD’s previous malloc implementation by Kamp (1998)》中没有考虑多处理器的情况,因此在多线程并发下性会非常差,而Jemalloc则更适合多线程下内存分配管理。简单的说,Jemalloc是一种更适合工作在多处理器,多线程模型下的内存管理机制,并且从2007年开始作为FreeBSD标准。在FreeBSD广泛使用之后被引入到Linux中。目前Redis 2.4版本之后,默认使用jemalloc来做内存管理, 国内电商巨头淘宝奇侠的Tengine也整合Jemalloc作为默认的内存管理器。

Scroll to Top