ਇੱਕ SaaS ਡਿਵੈਲਪਰ ਨੇ ਪਾਇਆ ਕਿ ਉਸਦੇ ਖਾਤੇ ਵਿੱਚ ਹਰ ਡੋਮੇਨ ਲਈ Cloudflare ਦੇ Bot Fight Mode ਨੂੰ ਚਾਲੂ ਕਰਨ ਨਾਲ ਪੂਰੇ ਇੱਕ ਮਹੀਨੇ ਲਈ API ਟ੍ਰੈਫਿਕ ਰੁਕ ਗਿਆ, ਜਿਸ ਕਾਰਨ ਭੁਗਤਾਨ ਕਰਨ ਵਾਲੇ ਗਾਹਕ ਉਸਦੇ ਉਤਪਾਦ ਦੀਆਂ ਮੁੱਖ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵਿੱਚ ਅਸਮਰੱਥ ਰਹੇ।

ਇਹ ਸਮੱਸਿਆ ਉਦੋਂ ਸਾਹਮਣੇ ਆਈ ਜਦੋਂ ਡਿਵੈਲਪਰ ਨੇ ਵਰਤੋਂ ਦੇ ਮੈਟ੍ਰਿਕਸ (usage metrics) ਵਿੱਚ ਅਚਾਨਕ ਗਿਰਾਵਟ ਦੇਖੀ। ਨਵੇਂ ਸਾਈਨ-ਅੱਪ ਆਉਂਦੇ ਰਹੇ, ਪਰ ਐਕਟਿਵ ਸੈਸ਼ਨਾਂ ਦਾ ਵਾਧਾ ਰੁਕ ਗਿਆ। ਹਫ਼ਤਿਆਂ ਦੀ ਕੋਡ ਰੀ-ਰਾਈਟਿੰਗ ਅਤੇ ਡੀਬੱਗਿੰਗ ਤੋਂ ਬਾਅਦ, ਇੱਕ ਸਿੰਗਲ ਸੁਰੱਖਿਆ ਟੌਗਲ (security toggle) ਮੁੱਖ ਕਾਰਨ ਨਿਕਲਿਆ: Cloudflare ਦਾ Bot Fight Mode SaaS ਦੇ ਆਪਣੇ AWS Lambda endpoint ਨੂੰ ਇੱਕ ਮਾਲੀਸ਼ੀਅਸ ਬੋਟ (malicious bot) ਵਜੋਂ ਲੇਬਲ ਕਰ ਰਿਹਾ ਸੀ ਅਤੇ ਇਸਨੂੰ ਬਲੌਕ ਕਰ ਰਿਹਾ ਸੀ।

ਕਿਵੇਂ ਇੱਕ ਸਿੰਗਲ ਸੈਟਿੰਗ ਨੇ ਪੂਰੀ ਸਰਵਿਸ ਨੂੰ ਖਰਾਬ ਕਰ ਦਿੱਤਾ

ਡਿਵੈਲਪਰ ਦਾ ਸਟੈਕ (stack) ਸਰਵਰ-ਟੂ-ਸਰਵਰ ਕਾਲਜ਼ 'ਤੇ ਨਿਰਭਰ ਸੀ। ਇੱਕ ਅੰਦਰੂਨੀ Lambda ਫੰਕਸ਼ਨ ਨਿਯਮਤ ਤੌਰ 'ਤੇ SaaS ਦੇ ਪਬਲਿਕ ਡੋਮੇਨ 'ਤੇ ਡਾਟਾ ਪੋਸਟ ਕਰਦਾ ਸੀ, ਜੋ ਕਿ ਆਧੁਨਿਕ ਮਾਈਕਰੋ-ਸਰਵਿਸ ਆਰਕੀਟੈਕਚਰਾਂ ਵਿੱਚ ਇੱਕ ਆਮ ਪੈਟਰਨ ਹੈ। Bot Fight Mode ਉਹਨਾਂ ਰਿਕੁਐਸਟਾਂ ਨੂੰ ਚੁਣੌਤੀ ਦਿੰਦਾ ਹੈ ਜਾਂ ਬਲੌਕ ਕਰਦਾ ਹੈ ਜੋ ਆਟੋਮੇਟਡ ਸਕ੍ਰੈਪਰਾਂ (automated scrapers) ਵਾਂਗ ਲੱਗਦੀਆਂ ਹਨ, ਜਿਸ ਨਾਲ ਕੰਟੈਂਟ-ਡਰਿਵਨ ਸਾਈਟਾਂ ਨੂੰ ਡਾਟਾ ਹਾਰਵੈਸਟਿੰਗ ਤੋਂ ਬਚਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।

ਜਦੋਂ ਇਹ ਮੋਡ ਸਾਰੇ ਜ਼ੋਨਾਂ (zones) ਵਿੱਚ ਚਾਲੂ ਕੀਤਾ ਗਿਆ, ਤਾਂ Cloudflare ਨੇ Lambda ਦੀ ਆਊਟਬਾਊਂਡ ਰਿਕੁਐਸਟ ਨੂੰ ਇੱਕ ਹੋਰ ਆਟੋਮੇਟਡ ਕਲਾਇੰਟ ਵਜੋਂ ਮੰਨਿਆ। ਰਿਕੁਐਸ ਕਦੇ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚੀ, ਅਤੇ ਕਿਉਂਕਿ ਬਲੌਕ ਐਜ (edge) 'ਤੇ ਹੋਇਆ ਸੀ, SaaS ਦੇ ਮਾਨੀਟਰਿੰਗ ਟੂਲਜ਼ ਨੂੰ ਕੋਈ ਗਲਤੀ (error) ਨਹੀਂ ਦਿਖਾਈ ਦਿੱਤੀ - ਟ੍ਰੈਫਿਕ ਸਿਰਫ ਗਾਇਬ ਹੋ ਗਿਆ। Cloudflare Workers 'ਤੇ ਡਿਵੈਲਪਰ ਦੀ CPU ਵਰਤੋਂ ਵਧ ਗਈ, ਜਿਸ ਕਾਰਨ ਉਸਨੂੰ ਆਪਣੇ ਬੈਕਐਂਡ ਦੀ ਬਜਾਏ ਕਿਸੇ ਬਾਹਰੀ ਸਕ੍ਰੈਪਰ 'ਤੇ ਸ਼ੱਕ ਹੋਇਆ।

Cloudflare ਦੇ ਲੌਗਸ (logs) ਦੀ ਡੂੰਘਾਈ ਨਾਲ ਜਾਂਚ ਕਰਨ ਤੋਂ ਬਾਅਦ ਹੀ ਉਸਨੇ ਦੇਖਿਆ ਕਿ "Bot Fight Mode" ਨੇ ਉਹ ਐਂਟਰੀਆਂ ਬਲੌਕ ਕੀਤੀਆਂ ਸਨ ਜੋ Lambda ਦੀ IP ਰੇਂਜ ਨਾਲ ਮੇਲ ਖਾਂਦੀਆਂ ਸਨ। ਉਸਨੇ ਪ੍ਰਭਾਵਿਤ ਜ਼ੋਨਾਂ ਲਈ ਇਸ ਫੀਚਰ ਨੂੰ ਬੰਦ ਕਰ ਦਿੱਤਾ, ਅਤੇ API ਟ੍ਰੈਫਿਕ ਦੁਬਾਰਾ ਸ਼ੁਰੂ ਹੋ ਗਿਆ, ਜਿਸ ਨਾਲ ਵਰਤੋਂ ਦੇ ਮੈਟ੍ਰਿਕਸ ਆਮ ਹੋ ਗਏ।

SaaS ਆਪਰੇਟਰਾਂ ਲਈ ਇਹ ਗਲਤੀ ਕਿਉਂ ਮਹੱਤਵਪੂਰਨ ਹੈ

  • API-ਕੇਂਦ੍ਰਿਤ ਉਤਪਾਦਾਂ ਨੂੰ ਖੁੱਲ੍ਹੇ ਸਰਵਰ-ਟੂ-ਸਰਵਰ ਚੈਨਲਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। Bot Fight Mode ਇਹ ਮੰਨ ਕੇ ਚੱਲਦਾ ਹੈ ਕਿ ਮੁੱਖ ਟ੍ਰੈਫਿਕ HTML, ਚਿੱਤਰਾਂ ਜਾਂ ਸਟੈਟਿਕ ਐਸੇਟਸ ਲਈ ਮਨੁੱਖੀ-ਬ੍ਰਾਊਜ਼ਰ ਰਿਕੁਐਸਟਾਂ ਹਨ। ਉਹ SaaS ਪਲੇਟਫਾਰਮ ਜੋ APIs, webhooks, ਜਾਂ ਅੰਦਰੂਨੀ ਕਾਲਬੈਕਸ (callbacks) ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਉਹਨਾਂ ਨੂੰ ਐਪਲੀਕੇਸ਼ਨ ਲੇਅਰ ਤੱਕ ਕੋਈ ਦਿਖਾਈ ਦੇਣ ਵਾਲਾ ਐਰਰ ਕੋਡ ਪਹੁੰਚੇ ਬਿਨਾਂ ਹੀ ਰੋਕਿਆ (throttle) ਜਾਂ ਬਲੌਕ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।
  • ਗਲੋਬਲ ਸੁਰੱਖਿਆ ਸੈਟਿੰਗਾਂ ਸ਼ਾਇਦ ਹੀ ਹਰ ਵਰਕਲੋਡ (workload) ਲਈ ਢੁਕਵੀਆਂ ਹੋਣ। ਸਾਰੇ ਡੋਮੇਨਾਂ 'ਤੇ ਇੱਕੋ ਹੀ Cloudflare ਕੌਂਫਿਗਰੇਸ਼ਨ ਲਾਗੂ ਕਰਨ ਨਾਲ ਹਰ ਸਾਈਟ ਨੂੰ ਅਜਿਹਾ ਮੰਨਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਉਸਦਾ ਥ੍ਰੈਟ ਮਾਡਲ (threat model) ਇੱਕੋ ਜਿਹਾ ਹੋਵੇ। ਕੰਟੈਂਟ ਸਾਈਟਾਂ, ਫੋਰਮਾਂ ਅਤੇ SaaS ਬੈਕ-ਐਂਡਾਂ ਦੀਆਂ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਬਹੁਤ ਵੱਖਰੀਆਂ ਹੁੰਦੀਆਂ ਹਨ।
  • ਚੁੱਪਚਾਪ ਹੋਣ ਵਾਲੀਆਂ ਅਸਫਲਤਾਵਾਂ (Silent failures) ਆਮਦਨ ਨੂੰ ਨੁਕਸਾਨ ਪਹੁੰਚਾਉਂਦੀਆਂ ਹਨ। ਡਿਵੈਲਪਰ ਦਾ ਅਲਰਟਿੰਗ ਸਿਸਟਮ ਕਾਰਜਸ਼ੀਲ ਨਹੀਂ ਹੋਇਆ ਕਿਉਂਕਿ ਬਲੌਕ ਕੀਤੀਆਂ ਰਿਕੁਐਸਟਾਂ ਕਦੇ ਵੀ ਐਪਲੀਕੇਸ਼ਨ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚੀਆਂ। ਸਿਰਫ ਯੂਜ਼ਰ-ਇੰਗੇਜਮੈਂਟ ਮੈਟ੍ਰਿਕਸ ਵਿੱਚ ਗਿਰਾਵਟ ਨੇ ਹੀ ਸਮੱਸਿਆ ਵੱਲ ਇਸ਼ਾਰਾ ਕੀਤਾ। ਐਜ-ਲੇਵਲ (edge-level) ਲੌਗ ਰਿਵਿਊਜ਼ ਤੋਂ ਬਿਨਾਂ, ਅਜਿਹੀਆਂ ਸਮੱਸਿਆਵਾਂ ਬਿਨਾਂ ਪਤਾ ਲੱਗੇ ਲੰਬੇ ਸਮੇਂ ਤੱਕ ਬਣੀ ਰਹਿ ਸਕਦੀਆਂ ਹਨ।

ਡਿਵੈਲਪਰ ਇਸੇ ਕਿਸਮਤ ਤੋਂ ਬਚਣ ਲਈ ਕੀ ਕਰ ਸਕਦੇ ਹਨ

  1. ਹਰੇਕ ਜ਼ੋਨ ਦੇ ਟ੍ਰੈਫਿਕ ਪ੍ਰੋਫਾਈਲ ਦੀ ਜਾਂਚ ਕਰੋ। Bot Fight Mode ਨੂੰ ਚਾਲੂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ, ਉਹਨਾਂ ਰਿਕੁਐਸਟਾਂ ਦੀ ਕਿਸਮ ਦੀ ਸੂਚੀ ਬਣਾਓ ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਹਾਡਾ ਡੋਮੇਨ