رحلة احتراف لينكس للأمن السيبراني – اليوم الخامس

مرحباً بكم في اليوم الخامس من رحلتنا. اليوم نتعلم **أوامر البحث والفلترة** - الأدوات التي تجعلك محقق حقيقي في النظام.
**مراجعة سريعة:**
تعلمنا حتى الآن: تثبيت النظام، بنية الملفات، الصلاحيات، وإدارة العمليات. اليوم نضيف مهارة قوية: كيف نبحث عن أي شيء في النظام.
**موضوع اليوم: أدوات البحث والفلترة**
البحث في لينكس ليس مجرد العثور على ملفات، بل أداة قوية لتحليل النظام واكتشاف المشاكل الأمنية.
**أمر find - البحث عن الملفات:**
**البحث بالاسم:**
```bash
find /etc -name "*.conf" # ملفات الإعدادات
find /home -name "password*" # ملفات تحتوي "password"
find . -iname "*.log" # بحث غير حساس للحروف
```
**البحث بالصلاحيات:**
```bash
find /usr -perm 777 # ملفات بصلاحيات خطيرة
find /etc -perm -u+s # ملفات SUID
find /tmp -perm -002 # ملفات قابلة للكتابة من الجميع
```
**البحث بالحجم والوقت:**
```bash
find /var -size +100M # ملفات أكبر من 100 ميجا
find /var/log -mtime -7 # ملفات عُدلت آخر 7 أيام
find /etc -newer /etc/passwd # ملفات أحدث من passwd
```
**أمر grep - البحث داخل النصوص:**
**البحث الأساسي:**
```bash
grep "error" /var/log/syslog # البحث عن كلمة "error"
grep -i "failed" /var/log/auth.log # بحث غير حساس للحروف
grep -r "password" /etc/ # بحث في جميع ملفات /etc
```
**البحث المتقدم:**
```bash
grep -E "failed|error" /var/log/syslog # بحث متعدد الكلمات
grep -v "INFO" /var/log/app.log # عكس البحث (إخفاء INFO)
grep -n "ssh" /etc/services # إظهار رقم السطر
grep -c "login" /var/log/auth.log # عدد المطابقات
```
**استخدام التعبيرات النمطية:**
```bash
grep "^root" /etc/passwd # سطور تبدأ بـ root
grep "bash$" /etc/passwd # سطور تنتهي بـ bash
grep "[0-9]\{1,3\}\.[0-9]\{1,3\}" file # البحث عن IP addresses
```
**أدوات الفلترة والمعالجة:**
**أمر awk للمعالجة:**
```bash
awk '{print $1}' /etc/passwd # طباعة العمود الأول
ps aux | awk '{print $2,$11}' # PID واسم العملية
awk -F: '{print $1}' /etc/passwd # أسماء المستخدمين فقط
```
**أمر sed للتعديل:**
```bash
sed 's/old/new/g' file.txt # استبدال النص
sed -n '5,10p' /etc/passwd # طباعة الأسطر 5-10
sed '/^#/d' /etc/ssh/sshd_config # حذف التعليقات
```
**أدوات الترتيب والفلترة:**
```bash
sort /etc/passwd # ترتيب أبجدي
sort -nr file.txt # ترتيب رقمي عكسي
uniq -c sorted_file.txt # عد التكرارات
cut -d: -f1 /etc/passwd # قطع العمود الأول
```
**أمثلة عملية للأمن السيبراني:**
**1. البحث عن محاولات الاختراق:**
```bash
grep "Failed password" /var/log/auth.log
grep -c "authentication failure" /var/log/auth.log
awk '/Failed password/{print $11}' /var/log/auth.log | sort | uniq -c
```
**2. فحص الملفات المشبوهة:**
```bash
find /tmp -type f -executable # ملفات قابلة للتنفيذ في tmp
find /var/www -name "*.php" -exec grep -l "eval\|base64_decode" {} \;
find / -name ".*" -type f 2>/dev/null # الملفات المخفية
```
**3. تحليل سجلات الشبكة:**
```bash
grep -E "192\.168\.[0-9]+\.[0-9]+" /var/log/apache2/access.log
netstat -tulpn | grep LISTEN | awk '{print $4}' | sort
ss -tuln | grep -E ":(22|80|443|3389)" # فحص منافذ مهمة
```
**تمارين اليوم:**
**التمرين الأول - البحث الأساسي:**
```bash
find /etc -name "*.conf" | head -5
grep -r "ssh" /etc/ssh/
ls -la /etc/passwd | awk '{print $1,$3,$9}'
```
**التمرين الثاني - التحليل الأمني:**
```bash
# إنشاء ملف تجريبي للبحث
echo "user1:success:login" > test_log.txt
echo "user2:failed:login" >> test_log.txt
echo "admin:success:login" >> test_log.txt
echo "user2:failed:login" >> test_log.txt
# تحليل الملف
grep "failed" test_log.txt
awk -F: '{print $1,$2}' test_log.txt
grep "failed" test_log.txt | awk -F: '{print $1}' | sort | uniq -c
```
**التمرين الثالث - سكريبت بحث متقدم:**
```bash
nano security_search.sh
# اكتب بالداخل:
#!/bin/bash
echo "=== فحص أمني للنظام ==="
echo "الملفات المشبوهة في /tmp:"
find /tmp -type f | wc -l
echo "محاولات الدخول الفاشلة:"
grep -c "Failed" /var/log/auth.log 2>/dev/null || echo "0"
echo "العمليات المشبوهة:"
ps aux | grep -E "(nc|netcat)" | grep -v grep | wc -l
chmod +x security_search.sh
./security_search.sh
```
**نصائح للمحترفين:**
```bash
# دمج عدة أدوات لفحص قوي
find /var/log -name "*.log" -exec grep -l "error\|failed" {} \; | head -5
# مراقبة الملفات المُعدلة مؤخراً
find /etc -mtime -1 -ls
# البحث عن كلمات مرور ضعيفة في النظام
grep -r "password\|123456\|admin" /home/ 2>/dev/null | head -3
```
**الغد إن شاء الله:**
سنتعلم **محررات النصوص المتقدمة** - vi/vim و nano بالتفصيل!
---
**📝 واجب اليوم:**
طبق التمارين الثلاثة واكتب تقرير بسيط عما وجدته. احفظ الأوامر المفيدة في ملف notes.txt للمراجعة لاحقاً.
🖊️ **إعداد:** محمد علي عباس
📅 **التاريخ:** 28 / 08 / 2025
"المعلومة موجودة، المطلوب فقط معرفة كيف نبحث عنها!"
اليوم تسلحت بأدوات البحث الأقوى في لينكس - استخدمها بحكمة!

Commentaires

Articles les plus consultés