<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Website Protection on LEl_FENG Blog</title><link>https://blog.xpdbk.com/en/tags/website-protection/</link><description>Recent content in Website Protection on LEl_FENG Blog</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>LEl_FENG Copyright</copyright><lastBuildDate>Tue, 29 Aug 2023 13:58:11 +0700</lastBuildDate><atom:link href="https://blog.xpdbk.com/en/tags/website-protection/index.xml" rel="self" type="application/rss+xml"/><item><title>A Record of My Blog Being DDoS'ed and Illegally Attacked</title><link>https://blog.xpdbk.com/en/posts/ddos-blog-1/</link><pubDate>Tue, 29 Aug 2023 13:58:11 +0700</pubDate><guid>https://blog.xpdbk.com/en/posts/ddos-blog-1/</guid><description>&lt;blockquote>
&lt;p>&lt;strong>TL;DR / Geek Summary:&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Threat Intel: Sustained 4-day malicious DDoS/CC assault consuming 75GB+ bandwidth in hours.&lt;/li>
&lt;li>Attack Vector: Mirror link injection via shortcode service and volumetric HTTP floods.&lt;/li>
&lt;li>Mitigation: Deployed Cloudflare CDN (Orange Cloud) and WAF firewall rules to neutralize traffic.&lt;/li>
&lt;/ul>
&lt;/blockquote>
&lt;h2 id="introduction">
&lt;a href="#introduction" class="heading-anchor" aria-label="Anchor for Introduction">#&lt;/a>
Introduction
&lt;/h2>
&lt;p>Because I originally built my blog using &lt;code>wordpress&lt;/code>, I am very familiar with DDoS and CC attacks and have always paid close attention to them. Later on, I successively tried dynamic frameworks like &lt;code>typecho&lt;/code> and &lt;code>Halo&lt;/code>, then moved from &lt;code>jekyll&lt;/code> to &lt;code>Hexo&lt;/code>, before finally settling on &lt;code>Hugo&lt;/code>, a static blog framework. After that, I stopped worrying about server and DDoS protection issues and remained in a completely worry-free state. That is, until a certain &lt;code>person&lt;/code> recently launched a malicious 4-day attack on my website, which forced me to take DDoS and CC protection seriously again.&lt;/p>
&lt;h2 id="how-it-started">
&lt;a href="#how-it-started" class="heading-anchor" aria-label="Anchor for How It Started">#&lt;/a>
How It Started
&lt;/h2>
&lt;p>Around 11 PM, while I was scrolling through my phone, an email arrived telling me my website had already used &lt;code>75GB&lt;/code> of bandwidth. I thought to myself: what on earth used up so much bandwidth?&lt;/p>
&lt;p>&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/2.webp"
width="697"
height="427"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/2_hu61035c777cd25ad0569fb020cc1e0b45_18466_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/2_hu61035c777cd25ad0569fb020cc1e0b45_18466_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Email Alert"
class="gallery-image"
data-flex-grow="163"
data-flex-basis="391px"
>
&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/3.webp"
width="912"
height="491"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/3_hu7af1aaf68db1dc93fc049848a022485f_14362_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/3_hu7af1aaf68db1dc93fc049848a022485f_14362_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Bandwidth Exceeded 1"
class="gallery-image"
data-flex-grow="185"
data-flex-basis="445px"
>&lt;/p>
&lt;p>Then I clicked in to take a look, and it literally gave me a jump scare.&lt;/p>
&lt;p>&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/3123.webp"
width="923"
height="493"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/3123_hu0123f6b66a6ab32b027fa7fb52d57284_28416_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/3123_hu0123f6b66a6ab32b027fa7fb52d57284_28416_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Bandwidth Exceeded 2"
class="gallery-image"
data-flex-grow="187"
data-flex-basis="449px"
>&lt;/p>
&lt;p>If I ignored this, my site would definitely be forced to shut down. And once it&amp;rsquo;s shut down, I would lose all my search engine indexing.&lt;/p>
&lt;h2 id="interlude">
&lt;a href="#interlude" class="heading-anchor" aria-label="Anchor for Interlude">#&lt;/a>
Interlude
&lt;/h2>
&lt;p>This attacker also stuffed a ton of gray-market (illicit) links into my URL shortening service. However, thanks to my HTML modifications to hide the input form, visiting &lt;code>https://l.xpdbk.com&lt;/code> doesn&amp;rsquo;t allow anyone to add links; only I can add them from the backend. I originally intended to make the service available for public use, but because people like this exist, I had no choice but to make it private.&lt;/p>
&lt;p>&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/42434234.webp"
width="1017"
height="563"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/42434234_hud03e8a81990fb7f7046ae308445b0da1_23936_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/42434234_hud03e8a81990fb7f7046ae308445b0da1_23936_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Short Link Bandwidth Exceeded"
class="gallery-image"
data-flex-grow="180"
data-flex-basis="433px"
>
&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/4234234.webp"
width="1001"
height="380"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/4234234_hu6063fff67e2df29716fcd8bcb1ea4618_7504_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/4234234_hu6063fff67e2df29716fcd8bcb1ea4618_7504_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Short Link Repository"
class="gallery-image"
data-flex-grow="263"
data-flex-basis="632px"
>
&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/25t24t.webp"
width="563"
height="470"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/25t24t_hue9bc7f51fd3d7e9ef89e1c8ccfd6cfda_24712_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/25t24t_hue9bc7f51fd3d7e9ef89e1c8ccfd6cfda_24712_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Short Link Edit Interface"
class="gallery-image"
data-flex-grow="119"
data-flex-basis="287px"
>&lt;/p>
&lt;h2 id="taking-action">
&lt;a href="#taking-action" class="heading-anchor" aria-label="Anchor for Taking Action">#&lt;/a>
Taking Action
&lt;/h2>
&lt;p>I quickly rushed to enable &lt;code>CF CDN&lt;/code>. I hadn&amp;rsquo;t turned on the little orange cloud for Cloudflare CDN before because I wanted to accommodate loading speeds for users in China. Blocked by the WAF firewall, all of the attacker&amp;rsquo;s traffic was successfully mitigated.&lt;/p>
&lt;p>&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/53535.webp"
width="995"
height="334"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/53535_hueedac4e5686c85387a92fd68a787b89e_19228_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/53535_hueedac4e5686c85387a92fd68a787b89e_19228_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="WAF Firewall"
class="gallery-image"
data-flex-grow="297"
data-flex-basis="714px"
>
&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/5353a5.webp"
width="1000"
height="220"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/5353a5_hu6e4094afa2e8a5b0820c993b1cd0bbc8_9372_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/5353a5_hu6e4094afa2e8a5b0820c993b1cd0bbc8_9372_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="WAF Firewall 2"
class="gallery-image"
data-flex-grow="454"
data-flex-basis="1090px"
>&lt;/p>
&lt;h2 id="conclusion">
&lt;a href="#conclusion" class="heading-anchor" aria-label="Anchor for Conclusion">#&lt;/a>
Conclusion
&lt;/h2>
&lt;p>All the malicious traffic was completely neutralized.&lt;/p>
&lt;p>&lt;img src="https://blog.xpdbk.com/en/posts/ddos-blog-1/434324234.webp"
width="1020"
height="587"
srcset="https://blog.xpdbk.com/en/posts/ddos-blog-1/434324234_hu84ca457604e8b561332131fc2dee4026_38880_480x0_resize_q75_h2_box_2.webp 480w, https://blog.xpdbk.com/en/posts/ddos-blog-1/434324234_hu84ca457604e8b561332131fc2dee4026_38880_1024x0_resize_q75_h2_box_2.webp 1024w"
loading="lazy"
alt="Total Traffic"
class="gallery-image"
data-flex-grow="173"
data-flex-basis="417px"
>&lt;/p>
&lt;p>A word of advice for the attacker: In this world, you can&amp;rsquo;t get something for nothing.&lt;/p></description></item></channel></rss>