解决CPU和负载长期100%满载的案例分享

前几天魏艾斯笔记遇到网友求助,说自己的云服务器部署的宝塔面板长期显示负载和CPU 100%,居高不下,自己想了很多种办法也无解。经过老魏和他的配合,基本解决了这个问题,同时他自己也很希望能把这个操作过程分享到魏艾斯笔记中,给大家做参考。

1、情况介绍

这次遇到的情况是 2核4G内存10M带宽的国内云服务器长期遭遇 CPU和负载 100%的情况,如下图所示:

CPU和负载长期100%满载

前提是这个服务器中的网站基本没怎么推广,也没有多少访问量。而老魏根据经验初步判断是遭遇了爬虫和恶意攻击的缘故。

2、购买宝塔面板专业版并部署程序

服务器使用的宝塔面板是免费版,没有部署宝塔付费防火墙,在老魏的建议下购买了宝塔面板专业版,并部署了宝塔nginx防火墙,宝塔网站监控报表宝塔系统加固宝塔网站防篡改等付费程序。

3、宝塔面板防火墙和网站监控分析

原先站长只能用 top 命令看到同时有多个 php-fpm进程占用系统资源导致满载,但并不知道是什么原因导致的。而此时经过老魏一步步指导和传授经验,开始设置防火墙,再通过网站监控报表观察访问情况。

相关文章:宝塔面板如何用网站监控报表定位及处理恶意攻击IP?

3.1、查看网站监控报表

宝塔面板防火墙和网站监控分析

从网站监控报表中得知,有不少国外蜘蛛比如 semrushbot 这种采集行为,因此按照上面教程中的办法,添加到 UA黑名单中。

恶意UA添加到 UA黑名单中。

3.2、屏蔽恶意IP

国内 IP段频繁访问网站,从访问频率和 IP集中程度来看,也是软件发送的请求,不排除被攻击的可能。

解决办法是把恶意IP添加到宝塔防火墙 IP黑名单和网站的安全组黑名单

拉黑IP小技巧:对方 IP 一般都集中于某些 IP段,因此拉黑常见的那些个 IP段,比只拉黑某个 IP 更好用。

3.3、减轻服务器负担

在老魏的建议下,站长删除了网站列表中多余的没有使用过的网站,和多余的 php版本,卸载了 Wordfence Security插件来节约系统资源。

相关文章:屏蔽IP地址及IP段的规则及如何添加宝塔防火墙/安全组

什么是网站日志_如何分析网站日志_发现恶意IP如何屏蔽拉黑

3.4、设置宝塔防火墙规则

在外部攻击比较猛烈的时候,通过修改宝塔防火墙规则,提高抵御能力。

如下图所示,周期 30秒,频率60次,封锁时间 86400秒。

老魏提示:后期服务器恢复时,不要把周期和频率设置的这么低,可能会阻挡正常访问。

设置宝塔防火墙规则

3.5、添加UA过滤规则

在宝塔防火墙的 UA过滤界面添加以下常见的特征码,比如漏洞扫描、无用蜘蛛、采集爬虫、cc攻击、sql注入等。

(Abonti|aggregator|AppleWebKit|AhrefsBot|asterias|BDCbot|BLEXBot|BuiltBotTough|Bullseye|BunnySlippers|ca-crawler|CCBot|Cegbfeieh|CheeseBot|CherryPicker|CopyRightCheck|cosmos|Crescent|discobot|DittoSpyder|DOC|DotBot|Download Ninja|EmailCollector|EmailSiphon|EmailWolf|EroCrawler|Exabot|ExtractorPro|Fasterfox|FeedBooster|Foobot|Genieo|grub-client|Harvest|hloader|httplib|humanlinks|ieautodiscovery|InfoNaviRobot|IstellaBot|Java1.|JennyBot|k2spider|Kenjin Spider|Keyword Density0.9|larbin|LexiBot|libWeb|libwww|LinkextractorPro|linko|LinkScan8.1a Unix|LinkWalker|LNSpiderguy|lwp-trivial|magpie|Mata Hari|MaxPointCrawler|MegaIndex|Microsoft URL Control|MIIxpc|Mippin|Missigua Locator|Mister PiX|MJ12bot|moget|MSIECrawler|NetAnts|NICErsPRO|Niki-Bot|NPBot|Nutch|Offline Explorer|Openfind|panscient.com|ProPowerBot2.14|ProWebWalker|Python-urllib|QueryN Metasearch|RepoMonkey|RMA|SemrushBot|SeznamBot|SISTRIX|sitecheck.Internetseer.com|SiteSnagger|SnapPreviewBot|Sogou|SpankBot|spanner|spbot|Spinn3r|suzuran|Szukacz1.4|Teleport|Telesoft|The Intraformant|TheNomad|TightTwatBot|Titan|True_Robot|turingos|TurnitinBot|UbiCrawler|UnisterBot|URLy Warning|VCI|WBSearchBot|Web Downloader6.9|WebAuto|WebBandit|WebCopier|WebEnhancer|WebmasterWorldForumBot|WebReaper|WebSauger|Website Quester|Webster Pro|WebStripper|WebZip|Wotbox|wsr-agent|WWW-Collector-E|Xenu|yandex|Zao|Zeus|ZyBORG|coccoc|Incutio|lmspider|memoryBot|SemrushBot|serf|Unknown|uptime files|HTTrack|Apache-HttpClient|harvest|audit|dirbuster|pangolin|nmap|sqln|hydra|Parser|libwww|BBBike|sqlmap|w3af|owasp|Nikto|fimap|havij|zmeu|FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|EasouSpider|Ezooms|BabyKrokodil|netsparker|httperf| SF/)

后期也要自己每天通过宝塔网站监控报表去搜集、整理、查找那些恶意 UA和 IP,并添加到这里,不断丰富自己的 UA过滤库。

4、总结

经过几天时间观察,服务器恢复了正常,宝塔负载和CPU占比也长期、持续性的低于 5%,似乎是渡过了危机时期。

当然老魏告诉他这些工作每天都要上去检查一遍,如果看到有恶意UA和 IP,也要及时添加。

服务器维护不是一次性工作,需要每天检查、分析、设置的。如果你搭建外贸B2B网站,老魏建议选择 Hostinger虚拟主机Siteground虚拟主机建站, 方便、省事儿、快捷、安全。

之后这位新手站长还遭遇了网站违规被封禁 站长如何解决危机,感兴趣的可以去看看,希望大家吸取他人经验教训,避免自己走同样的弯路。

文章名称:《解决CPU和负载长期100%满载的案例分享》

文章链接:https://www.vpsss.net/28317.html

版权声明:本站资源仅供个人学习交流,禁止转载,不允许用于商业用途,否则法律问题自行承担。

图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。
© 版权声明
THE END
喜欢就支持一下吧
点赞0赞赏 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容