
laravel-threat-detection v1.4.0
लारावेल के लिए निष्क्रिय खतरा पहचान मिडलवेयर। SQL injection, XSS, RCE, bot scanners, 404 probes और 175+ आक्रमण पैटर्न लॉग करता है। बिल्ट-इन डैशबोर्ड, fail2ban निर्यात, Slack सूचनाएँ, और REST API। IDS, WAF नहीं।
Laravel Threat Detection
Laravel के लिए सुरक्षा निगरानी और हमला लॉगिंग। SQL injection,
XSS, RCE, directory traversal, bot scanners और /wp-admin-शैली की recon probes का पता लगाएं और लॉग करें —
हर शत्रुतापूर्ण अनुरोध पूर्ण एप्लिकेशन संदर्भ के साथ आपके डेटाबेस में रिकॉर्ड किया जाता है।
यह एक IDS है, WAF नहीं: यह कभी भी किसी अनुरोध को ब्लॉक, फ़िल्टर या संशोधित नहीं करता।
क्या आप यहाँ इसलिए हैं क्योंकि आपने कुछ ऐसा देखा?```
GET /wp-admin/setup-config.php 404 — on a site that isn't WordPress GET /.env 404 — someone wants your database password GET /?id=1' UNION SELECT password FROM 200 — SQL injection against a real route GET /phpmyadmin/index.php 404 — scanning for an admin panel
वे अनुरोध पहले से ही आपके Laravel ऐप तक पहुँच रहे हैं। आपका एक्सेस लॉग URL और स्टेटस कोड दिखाता है, और कुछ नहीं — न डिकोड किया गया पेलोड, न यह कि आपके कौन से रूट को लक्षित किया गया, न यह कि क्या उसी IP ने इस घंटे में चालीस अन्य चीज़ें आज़माई हैं।
यह पैकेज उन सवालों का जवाब देता है। इसे किसी भी Laravel 10–13 ऐप में डालें और यह हर HTTP अनुरोध को 150+ हमला पैटर्न के विरुद्ध स्कैन करना शुरू कर देता है, प्रत्येक मिलान को विश्वास के आधार पर स्कोर करता है और इसे आपके डेटाबेस में लिखता है — एक अंतर्निहित डैशबोर्ड, Slack अलर्ट, geo-enrichment, और fail2ban/blocklist एक्सपोर्ट के साथ। कोई भी अनुरोध कभी ब्लॉक नहीं किया जाता। सिक्योरिटी कैमरा सोचें, ताला नहीं: यह आपको ठीक-ठीक दिखाता है कि कौन आपके रूट को प्रोब कर रहा है, कितनी बार, और किन तकनीकों के साथ।
> एक प्रोडक्शन ऐप से निकाला गया और वास्तविक ट्रैफ़िक पर परखा गया। 1,857 टेस्ट, Laravel के अलावा कोई रनटाइम निर्भरता नहीं, और डिटेक्शन के लिए किसी इंटरनेट कनेक्शन की आवश्यकता नहीं।
>
> अपग्रेड कर रहे हैं? देखें [UPGRADING.md](https://github.com/jay123anta/laravel-threat-detection/blob/main/UPGRADING.md)। योगदान कर रहे हैं? देखें [CONTRIBUTING.md](https://github.com/jay123anta/laravel-threat-detection/blob/main/CONTRIBUTING.md)।
## एक मिनट से कम में शुरू करें```bash
composer require jayanta/laravel-threat-detection
php artisan vendor:publish --tag=threat-detection-migrations
php artisan migrate
फिर अपने web समूह में मिडलवेयर जोड़ें (Laravel 11+ पर bootstrap/app.php में एक पंक्ति,
या Laravel 10 पर app/Http/Kernel.php में) — पूरा स्निपेट नीचे Quick Start में है।
बस इतना ही; डिटेक्शन लाइव है।```bash
php artisan threat-detection:doctor # confirms it is actually recording
---
## यह कहाँ फिट बैठता है: IDS बनाम WAF बनाम एज
यह पैकेज एक **निष्क्रिय, एप्लिकेशन-स्तरीय IDS** है — यह देखता और रिकॉर्ड करता है, यह
ब्लॉक नहीं करता। यह किसी WAF या एज सेवा के *साथ-साथ* रहने के लिए बनाया गया है, न कि उसे बदलने के लिए। प्रत्येक परत कुछ ऐसा देखती है जो अन्य नहीं देख सकतीं:
| | **यह पैकेज** (ऐप IDS) | **WAF** (mod_security, Cloudflare WAF) | **एज / CDN** (Cloudflare) |
|---|:---:|:---:|:---:|
| दुर्भावनापूर्ण अनुरोधों को ब्लॉक करता है | ❌ केवल लॉग करता है | ✅ | ✅ |
| पूर्ण ऐप संदर्भ (सटीक रूट, डिकोड किया गया पेलोड, प्रमाणित उपयोगकर्ता) | ✅ | ⚠️ आंशिक | ❌ |
| आपके DB में अंतर्निहित डैशबोर्ड + खतरा लॉग | ✅ | ⚠️ भिन्न होता है | ⚠️ केवल एज |
| ऐप-विशिष्ट डिटेक्शन (जैसे आधार / PAN / IFSC PII) | ✅ कस्टम पैटर्न | ❌ | ❌ |
| ऑफ़लाइन काम करता है / कोई बाहरी सेवा नहीं | ✅ | ⚠️ निर्भर करता है | ❌ |
| आपके ऐप तक पहुँचने से पहले ट्रैफ़िक रोकता है | ❌ | ✅ एज | ✅ |
| सेटअप | एक `composer require` | मध्यम–उच्च | निम्न–मध्यम |
| लागत | मुफ़्त, MIT | भिन्न होती है | मुफ़्त टियर + सशुल्क |
**संक्षेप में:** एक एज/WAF आपके दरवाज़े का ताला है; यह *अंदर* का सुरक्षा कैमरा है,
जिसमें ऐप संदर्भ होता है ताकि आपको ठीक-ठीक पता चले कि किस रूट पर, किसके द्वारा, और कितनी बार क्या आज़माया जा रहा है। इसका उपयोग वास्तविक निर्णयों को सूचित करने के लिए करें — fail2ban प्रतिबंध, रेट लिमिट, जियो-ब्लॉकिंग — उन डेटा के साथ जो आपकी एज परत कभी नहीं देखती।
### यह जानबूझकर क्या नहीं है
- **WAF नहीं है।** यह कभी किसी अनुरोध को ब्लॉक, फ़िल्टर या संशोधित नहीं करता। प्रवर्तन के लिए Cloudflare, mod_security, या किसी वास्तविक WAF का उपयोग करें। (हैंड ऑफ़ करने के लिए कोई एज परत नहीं? [ऑपरेटर-साइड हेल्पर्स](#acting-on-the-data-operator-side-blocking) पैकेज के निर्णयों को उजागर करते हैं ताकि आप अपना खुद का पाँच-पंक्ति का ब्लॉकिंग मिडलवेयर लिख सकें — प्रवर्तन कोड आपका रहता है, पैकेज का नहीं।)
- **सुरक्षित कोडिंग का विकल्प नहीं है।** पैरामीटरयुक्त क्वेरी, इनपुट वैलिडेशन, और आउटपुट एस्केपिंग आपके वास्तविक बचाव हैं। यह पैकेज मानता है कि आपका कोड पहले से सुरक्षित है और आपको *दृश्यता* देता है, सुरक्षा नहीं।
- **एज सेवा नहीं है।** यदि आप Cloudflare को आगे लगा सकते हैं, तो लगाएँ — फिर एप्लिकेशन-स्तरीय विवरण के लिए इसे जोड़ें जो एज सेवाएँ नहीं देख सकतीं।
- **पूर्ण डिटेक्टर नहीं है, और हो भी नहीं सकता।** पैटर्न मिलान उन हमलों को पकड़ता है जो *ज्ञात हमलों जैसे दिखते हैं*। कोई नई तकनीक, या कोई परिचित तकनीक जिसे काफ़ी बदल दिया गया हो, बिना लॉग हुए निकल जाएगी — और आपको बताया नहीं जाएगा कि ऐसा हुआ। यहाँ मौन का अर्थ है "कुछ मेल नहीं खाया", कभी नहीं "कुछ हुआ ही नहीं"। जहाँ यह अपनी जगह बनाता है वह है उच्च-मात्रा, कम-प्रयास वाला ट्रैफ़िक जो वास्तव में एक सार्वजनिक Laravel ऐप पर पहुँचने वाले अधिकांश हिस्से का निर्माण करता है: स्कैनर, रेकॉन प्रोब, ऑफ़-द-शेल्फ इंजेक्शन स्ट्रिंग्स, क्रेडेंशियल स्प्रे। एक शांत लॉग को साक्ष्य की अनुपस्थिति मानें, न कि अनुपस्थिति का साक्ष्य।
### अपेक्षा करें कि यह पहले ही दिन आपकी खुद की सामग्री को फ़्लैग करेगा
एक बिना ट्यून किया गया इंस्टॉल वैध सामग्री पर फ़ायर करता है, और आपको यह इंस्टॉल करने के बाद नहीं बल्कि पहले जानना चाहिए। ये मापे गए हैं, काल्पनिक नहीं — सूट इस सटीक सूची को पिन करता है ताकि यह बदल न सके ([`LegitimateTrafficCorpusTest`](https://github.com/jay123anta/laravel-threat-detection/blob/main/tests/Feature/LegitimateTrafficCorpusTest.php)):