رحلة احتراف لينكس للأمن السيبراني – اليوم الخامس
مرحباً بكم في اليوم الخامس من رحلتنا. اليوم نتعلم **أوامر البحث والفلترة** - الأدوات التي تجعلك محقق حقيقي في النظام.
**مراجعة سريعة:**
تعلمنا حتى الآن: تثبيت النظام، بنية الملفات، الصلاحيات، وإدارة العمليات. اليوم نضيف مهارة قوية: كيف نبحث عن أي شيء في النظام.
**موضوع اليوم: أدوات البحث والفلترة**
البحث في لينكس ليس مجرد العثور على ملفات، بل أداة قوية لتحليل النظام واكتشاف المشاكل الأمنية.
**أمر 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 للمراجعة لاحقاً.


"المعلومة موجودة، المطلوب فقط معرفة كيف نبحث عنها!"
اليوم تسلحت بأدوات البحث الأقوى في لينكس - استخدمها بحكمة!
Commentaires
Enregistrer un commentaire