
فخ عسل مُحَوَّل باستخدام Docker لـ CVE-2021-44228.
مُصيدة محسّنة في حاوية دوكر لـ CVE-2021-44228 بميزات أمنية شاملة وقدرات مراقبة وتنبيه.
# إنشاء شهادات SSL
./generate-ssl.sh
# التشغيل مع docker-compose
docker-compose up -d
# مراقبة السجلات
./monitor.py --tail
# التشغيل كجذر لإعداد fail2ban
sudo ./deploy.sh
# x86_64
docker run -d -p 8080:8080 \
-e HONEYPOT_NAME="log4shell-honeypot" \
-e LOG_FORMAT="json" \
-e RATE_LIMIT_REQUESTS="100" \
--name="log4shell-honeypot" \
msanford/log4shell-honeypot:latest
# ARM (مثل Raspberry Pi)
docker run -d -p 8080:8080 \
-e HONEYPOT_NAME="log4shell-honeypot" \
--name="log4shell-honeypot" \
msanford/log4shell-honeypot:arm-latest
# التحميل من ملف الإعدادات
docker-compose --env-file config.env up -d
تكتشف المصيدة أنماط Log4Shell التالية:
${jndi: - عمليات بحث JNDI (ناقل الهجوم الأساسي)${ldap: - عمليات بحث LDAP${rmi: - استدعاء الأسلوب عن بُعد RMI${dns: - عمليات بحث DNS${env: - الوصول إلى متغيرات البيئة${sys: - الوصول إلى خصائص النظام${java: - معلومات بيئة جافا الزمنية# تتبع السجلات مع إخراج منسق
./monitor.py --tail
# تحليل آخر 24 ساعة
./monitor.py --hours 24
# تحليل الساعة الأخيرة
./monitor.py --hours 1
curl http://localhost/health
curl http://localhost/metrics
sudo fail2ban-client status log4shell-honeypot
صيغة JSON المحسّنة للسجل تتضمن:
{
"timestamp": "2024-01-15T10:30:45Z",
"honeypot": "log4shell-honeypot",
"event_type": "log4shell_attempt",
"source_ip": "192.168.1.100",
"real_ip": "10.0.0.5",
"method": "POST",
"url": "http://honeypot.local/",
"user_agent": "Mozilla/5.0...",
"detected_patterns": ["${jndi:", "${env:"],
"detection_source": "form_field:username",
"headers": {...},
"form_data": {...},
"query_params": {...},
"content_length": 45
}
يمكن استيعاب سجلات JSON المنظمة بسهولة بواسطة:
قم بإعداد التنبيهات بناءً على:
# بناء الحاوية
docker build -t log4shell-honeypot:latest .
# البناء بعلامة محددة
docker build -t log4shell-honeypot:v2.0 .
docker-compose ps
docker-compose logs log4shell-honeypot
curl -f http://localhost/health || echo "فشل فحص الصحة"
sudo fail2ban-client status
sudo tail -f /var/log/fail2ban.log
# التحقق من الهجمات الأخيرة
./monitor.py --hours 1
# عرض السجلات الخام
tail -f /var/log/log4shell-honeypot.log
RATE_LIMIT_REQUESTS للحركة المرورية العالية المشروعةMAX_LOG_SIZE و LOG_BACKUP_COUNT للاحتفاظ بالسجلات# في docker-compose.yml
deploy:
resources:
limits:
cpus: '0.5'
memory: 256M
reservations:
cpus: '0.1'
memory: 128M
هذا فرع محسّن من BinaryDefense/log4shell-honeypot-flask مع تحسينات أمنية وتشغيلية كبيرة.
| المتغير | القيمة الافتراضية | الوصف |
|---|
HONEYPOT_NAME | log4shell-honeypot | معرف اسم المصيدة |
LOG_LEVEL | INFO | مستوى التسجيل (DEBUG, INFO, WARNING, ERROR, CRITICAL) |
LOG_FORMAT | json | صيغة التسجيل (json أو text) |
MAX_LOG_SIZE | 10485760 | الحد الأقصى لحجم ملف السجل بالبايت (10 ميجابايت) |
LOG_BACKUP_COUNT | 5 | عدد ملفات السجل الاحتياطية للاحتفاظ بها |
RATE_LIMIT_REQUESTS | 100 | الحد الأقصى للطلبات لكل IP في كل نافذة |
RATE_LIMIT_WINDOW | 3600 | نافذة تحديد المعدل بالثواني (ساعة واحدة) |