Networking Attacks (حملات شبکه)
=========
Attack
DoS = Denial of Service
هدف این حمله این است که یک سرویس یا سرور را از دسترس کاربران خارج کند.
در این حمله، فقط یک سیستم به قربانی حمله میکند.
مثال:
مهاجم تعداد بسیار زیادی درخواست (Request) ارسال میکند تا منابع سرور (CPU، RAM یا پهنای باند) اشغال شود و کاربران واقعی نتوانند از سرویس استفاده کنند.
انواع رایج
ICMP Flood (Ping Flood)
SYN Flood
UDP Flood
HTTP Flood
راههای مقابله
Firewall
IDS / IPS
Rate Limiting
Load Balancer
===============
2) DDoS Attack
Distributed Denial of Service
نسخه پیشرفتهتر DoS است.
به جای یک مهاجم، هزاران یا میلیونها دستگاه آلوده (Bot) به صورت همزمان حمله میکنند.
این دستگاههای آلوده یک Botnet تشکیل میدهند.
مثال معروف:
Mirai Botnet
===============
3) Social Engineering
مهندسی اجتماعی
در این حمله، به جای حمله به کامپیوتر، انسان هدف قرار میگیرد.
هدف:
فریب دادن کاربر برای افشای اطلاعات.
========
انواع Social Engineering
Phishing
ارسال ایمیل یا پیام جعلی
مثلاً:
Spear Phishing
حمله مخصوص یک شخص یا سازمان خاص
Whaling
حمله به مدیران ارشد (CEO، مدیر مالی و...)
Vishing
فیشینگ از طریق تماس تلفنی
Smishing
فیشینگ از طریق پیامک
Tailgating
ورود غیرمجاز به ساختمان با دنبال کردن یک فرد مجاز.
Shoulder Surfing
دیدن رمز عبور از روی شانه کاربر.
Dumpster Diving
جستجو در زبالهها برای یافتن اطلاعات حساس.
راه مقابله
آموزش کاربران
احراز هویت چندمرحلهای (MFA)
آگاهی امنیتی
===============
4) Rogue Access Point
اکسس پوینت غیرمجاز
یک Access Point است که بدون اجازه مدیر شبکه نصب شده است.
مثلاً یکی از کارمندان یک مودم Wi-Fi شخصی را به شبکه شرکت وصل میکند.
خطر:
مهاجم میتواند وارد شبکه داخلی شود.
Evil Twin
نوعی Rogue AP است.
مهاجم یک Wi-Fi با همان نام شبکه اصلی ایجاد میکند.
مثلاً:
کاربر اشتباه به آن متصل میشود.
راه مقابله
WPA3
802.1X
Wireless IDS
اسکن دورهای شبکه
================
5) Phishing
فیشینگ یکی از رایجترین حملات است.
هدف:
سرقت
رمز عبور
اطلاعات بانکی
اطلاعات شخصی
روشها
ایمیل
پیامک
وبسایت جعلی
شبکههای اجتماعی
نشانههای ایمیل فیشینگ
آدرس فرستنده عجیب
غلط املایی
درخواست اطلاعات محرمانه
لینک مشکوک
ایجاد حس فوریت ("فقط تا امروز فرصت دارید!")
==================
6) Ransomware
بدافزار باجگیر
ابتدا فایلها را رمزگذاری (Encrypt) میکند.
سپس درخواست پول میکند.
نمونههای معروف
WannaCry
Ryuk
LockBit
راه مقابله
Backup منظم
آنتیویروس
بهروزرسانی سیستم
عدم باز کردن فایلهای مشکوک
===============
7) Brute Force Attack
حمله حدس رمز عبور
کامپیوتر
تمام رمزهای ممکن
را امتحان میکند.
مثلاً
تا رمز صحیح پیدا شود.
انواع
Dictionary Attack
Password Spraying
Credential Stuffing
راه مقابله
رمز قوی
MFA
محدود کردن دفعات ورود
Account Lockout
========
8) Man in the Middle (MITM)
مهاجم
بین دو دستگاه قرار میگیرد.
کاربر فکر میکند
مستقیماً به سرور وصل است.
در حالی که
تمام اطلاعات از مهاجم عبور میکند.
روشهای
MITM
ARP Spoofing
Rogue AP
DNS Spoofing
SSL Stripping
راه مقابله
HTTPS
VPN
WPA3
Certificate Validation
================
9) Exploit
Exploit
کد یا برنامهای است که از یک آسیبپذیری استفاده میکند. مثلاً یک نرمافزار دارای باگ است. مهاجم کدی مینویسد که از همان باگ سوءاستفاده کند.
مثال
ویندوز
دارای آسیبپذیری
↓
Exploit اجرا میشود.
↓
دسترسی Administrator گرفته میشود.
===============
10) Vulnerability
Vulnerability
=
آسیبپذیری
یعنی
نقطه ضعف
در سیستم
یا نرمافزار.
مثلاً
رمز ضعیف
سیستم قدیمی
Patch نصب نشده
تنظیمات اشتباه Firewall
====================
تفاوت Vulnerability و Exploit
=================
اصطلاحات مهم دیگر
Zero-Day Vulnerability
آسیبپذیریای که هنوز سازنده از آن خبر ندارد یا Patch آن منتشر نشده است.
Zero-Day Exploit
اکسپلویتی که قبل از انتشار Patch از همان آسیبپذیری استفاده میکند.
Patch
بهروزرسانی امنیتی
که آسیبپذیری را برطرف میکند.
=================================
حفظیهای امتحانی Network+
DoS = یک مهاجم
DDoS = حمله توزیعشده با Botnet
Phishing = ایمیل یا پیام جعلی
Social Engineering = فریب انسان، نه کامپیوتر
Rogue AP = اکسس پوینت غیرمجاز
Evil Twin = Wi-Fi جعلی با نام مشابه شبکه اصلی
Ransomware = رمزگذاری فایلها + درخواست باج
Brute Force = حدس رمز با امتحان کردن حالتهای مختلف
MITM = قرار گرفتن مهاجم بین کلاینت و سرور
Vulnerability = نقطه ضعف
Exploit = ابزار یا کدی که از آن نقطه ضعف سوءاستفاده میکند
Zero-Day = آسیبپذیری یا اکسپلویتی که هنوز Patch رسمی برای آن وجود ندارد
=========
Attack
DoS = Denial of Service
هدف این حمله این است که یک سرویس یا سرور را از دسترس کاربران خارج کند.
در این حمله، فقط یک سیستم به قربانی حمله میکند.
مثال:
Attacker
│
▼
Web Server
مهاجم تعداد بسیار زیادی درخواست (Request) ارسال میکند تا منابع سرور (CPU، RAM یا پهنای باند) اشغال شود و کاربران واقعی نتوانند از سرویس استفاده کنند.
انواع رایج
ICMP Flood (Ping Flood)
SYN Flood
UDP Flood
HTTP Flood
راههای مقابله
Firewall
IDS / IPS
Rate Limiting
Load Balancer
نکته امتحانی: DoS = یک مهاجم
===============
2) DDoS Attack
Distributed Denial of Service
نسخه پیشرفتهتر DoS است.
به جای یک مهاجم، هزاران یا میلیونها دستگاه آلوده (Bot) به صورت همزمان حمله میکنند.
Bot1
Bot2
Bot3
Bot4
│
▼
Victim Server
این دستگاههای آلوده یک Botnet تشکیل میدهند.
مثال معروف:
Mirai Botnet
===============
3) Social Engineering
مهندسی اجتماعی
در این حمله، به جای حمله به کامپیوتر، انسان هدف قرار میگیرد.
هدف:
فریب دادن کاربر برای افشای اطلاعات.
========
انواع Social Engineering
Phishing
ارسال ایمیل یا پیام جعلی
مثلاً:
"حساب بانکی شما مسدود شده، برای فعالسازی اینجا کلیک کنید."
Spear Phishing
حمله مخصوص یک شخص یا سازمان خاص
Whaling
حمله به مدیران ارشد (CEO، مدیر مالی و...)
Vishing
فیشینگ از طریق تماس تلفنی
Smishing
فیشینگ از طریق پیامک
Tailgating
ورود غیرمجاز به ساختمان با دنبال کردن یک فرد مجاز.
Shoulder Surfing
دیدن رمز عبور از روی شانه کاربر.
Dumpster Diving
جستجو در زبالهها برای یافتن اطلاعات حساس.
راه مقابله
آموزش کاربران
احراز هویت چندمرحلهای (MFA)
آگاهی امنیتی
===============
4) Rogue Access Point
اکسس پوینت غیرمجاز
یک Access Point است که بدون اجازه مدیر شبکه نصب شده است.
مثلاً یکی از کارمندان یک مودم Wi-Fi شخصی را به شبکه شرکت وصل میکند.
Corporate LAN
│
Rogue AP
│
Attacker
خطر:
مهاجم میتواند وارد شبکه داخلی شود.
Evil Twin
نوعی Rogue AP است.
مهاجم یک Wi-Fi با همان نام شبکه اصلی ایجاد میکند.
مثلاً:
Company-WiFi
کاربر اشتباه به آن متصل میشود.
راه مقابله
WPA3
802.1X
Wireless IDS
اسکن دورهای شبکه
================
5) Phishing
فیشینگ یکی از رایجترین حملات است.
هدف:
سرقت
رمز عبور
اطلاعات بانکی
اطلاعات شخصی
روشها
ایمیل
پیامک
وبسایت جعلی
شبکههای اجتماعی
نشانههای ایمیل فیشینگ
آدرس فرستنده عجیب
غلط املایی
درخواست اطلاعات محرمانه
لینک مشکوک
ایجاد حس فوریت ("فقط تا امروز فرصت دارید!")
==================
6) Ransomware
بدافزار باجگیر
ابتدا فایلها را رمزگذاری (Encrypt) میکند.
سپس درخواست پول میکند.
File
↓
Encrypt
↓
Pay Bitcoin
نمونههای معروف
WannaCry
Ryuk
LockBit
راه مقابله
Backup منظم
آنتیویروس
بهروزرسانی سیستم
عدم باز کردن فایلهای مشکوک
===============
7) Brute Force Attack
حمله حدس رمز عبور
کامپیوتر
تمام رمزهای ممکن
را امتحان میکند.
مثلاً
123456
↓
123457
↓
123458
تا رمز صحیح پیدا شود.
انواع
Dictionary Attack
Password Spraying
Credential Stuffing
راه مقابله
رمز قوی
MFA
محدود کردن دفعات ورود
Account Lockout
========
8) Man in the Middle (MITM)
مهاجم
بین دو دستگاه قرار میگیرد.
Client
↓
Attacker
↓
Server
کاربر فکر میکند
مستقیماً به سرور وصل است.
در حالی که
تمام اطلاعات از مهاجم عبور میکند.
روشهای
MITM
ARP Spoofing
Rogue AP
DNS Spoofing
SSL Stripping
راه مقابله
HTTPS
VPN
WPA3
Certificate Validation
================
9) Exploit
Exploit
کد یا برنامهای است که از یک آسیبپذیری استفاده میکند. مثلاً یک نرمافزار دارای باگ است. مهاجم کدی مینویسد که از همان باگ سوءاستفاده کند.
مثال
ویندوز
دارای آسیبپذیری
↓
Exploit اجرا میشود.
↓
دسترسی Administrator گرفته میشود.
===============
10) Vulnerability
Vulnerability
=
آسیبپذیری
یعنی
نقطه ضعف
در سیستم
یا نرمافزار.
مثلاً
رمز ضعیف
سیستم قدیمی
Patch نصب نشده
تنظیمات اشتباه Firewall
====================
تفاوت Vulnerability و Exploit
Vulnerability
↓
Exploit
↓
Attack
↓
Damage
=================
اصطلاحات مهم دیگر
Zero-Day Vulnerability
آسیبپذیریای که هنوز سازنده از آن خبر ندارد یا Patch آن منتشر نشده است.
Zero-Day Exploit
اکسپلویتی که قبل از انتشار Patch از همان آسیبپذیری استفاده میکند.
Patch
بهروزرسانی امنیتی
که آسیبپذیری را برطرف میکند.
=================================
حفظیهای امتحانی Network+
DoS = یک مهاجم
DDoS = حمله توزیعشده با Botnet
Phishing = ایمیل یا پیام جعلی
Social Engineering = فریب انسان، نه کامپیوتر
Rogue AP = اکسس پوینت غیرمجاز
Evil Twin = Wi-Fi جعلی با نام مشابه شبکه اصلی
Ransomware = رمزگذاری فایلها + درخواست باج
Brute Force = حدس رمز با امتحان کردن حالتهای مختلف
MITM = قرار گرفتن مهاجم بین کلاینت و سرور
Vulnerability = نقطه ضعف
Exploit = ابزار یا کدی که از آن نقطه ضعف سوءاستفاده میکند
Zero-Day = آسیبپذیری یا اکسپلویتی که هنوز Patch رسمی برای آن وجود ندارد
👍1
Centralized Monitoring with Syslog
مقدمهای بر Network Logging & Analysis
=====================
Logging چیست؟
Logging یعنی ثبت و ذخیره رویدادهای (Events) رخ داده در سیستم یا تجهیزات شبکه.
تقریباً همه دستگاههای شبکه مانند:
Router
Switch
Firewall
Server
Access Point
Linux
Windows
رویدادهای خود را ثبت میکنند.
مثلاً:
کاربر Login کرد.
کابل قطع شد.
اینترفیس Down شد.
خطای CPU رخ داد.
حملهای شناسایی شد.
به این اطلاعات Log گفته میشود.
چرا Logging مهم است؟
کاربردها:
عیبیابی (Troubleshooting)
بررسی حملات امنیتی
بررسی خطاها
مانیتورینگ شبکه
تهیه گزارش (Audit)
تحلیل رخدادها (Incident Analysis)
=========================
Syslog چیست؟
Syslog (System Logging Protocol)
یک استاندارد برای ارسال و ذخیره Logهای شبکه است.
تقریباً همه تجهیزات شبکه مانند:
Cisco
MikroTik
Juniper
Linux
Fortinet
VMware
از Syslog پشتیبانی میکنند.
وظیفه Syslog
به جای اینکه Log داخل هر دستگاه ذخیره شود،
همه Logها به یک سرور مرکزی ارسال میشوند.
مثلاً:
تمام Logها در یک محل ذخیره میشوند.
به این روش
Centralized Monitoring
میگویند.
مزایای Syslog
✅ مدیریت آسان Logها
✅ ذخیرهسازی مرکزی
✅ عیبیابی سریع
✅ افزایش امنیت
✅ بررسی حملات
✅ امکان جستجوی Logها
=====================
Syslog چگونه کار میکند؟
۱- دستگاه رویدادی را تشخیص میدهد.
مثلاً:
↓
۲- Log تولید میشود.
↓
۳- Log از طریق شبکه ارسال میشود.
↓
۴- Syslog Server آن را ذخیره میکند.
↓
۵- مدیر شبکه آن را بررسی میکند.
پورت Syslog
به صورت پیشفرض
است.
برخی نسخههای امن:
اجزای Syslog
سه بخش اصلی دارد.
Syslog Message Structure
هر پیام Syslog معمولاً از بخشهای زیر تشکیل شده است.
مثال
==============================
Facility چیست؟
Facility مشخص میکند Log مربوط به کدام سرویس است.
مثلاً
در Cisco معمولاً
Local0 تا Local7
زیاد استفاده میشود.
=============
Syslog Severity Levels
شدت خطا را مشخص میکند.
اعداد
از
۰
تا
۷
هستند.
هرچه عدد کوچکتر باشد،
اهمیت پیام بیشتر است.
==================
مثال
بالاترین اهمیت
کمترین اهمیت
=================
کامندهای Syslog (Cisco)
فعال کردن Timestamp
تعیین Syslog Server
تعیین Severity
مثلاً فقط Warning و مهمتر ارسال شود.
یا
مشاهده تنظیمات
حذف Syslog Server
مشاهده Logها
============================
کامندهای Linux
مشاهده Logها
نمایش زنده Log
در بعضی توزیعها
====================
Syslog Receiver Tools
نرمافزارهایی هستند که
Logها را دریافت و ذخیره میکنند.
———————————-
Kiwi Syslog Server
رایگان (نسخه محدود)
بسیار ساده
مناسب آموزش
ویندوز
———————————-
Graylog
رایگان
بسیار حرفهای
Search
Dashboard
Alert
گزارشگیری
مناسب شرکتها
Syslog-ng
مخصوص Linux
سرعت بالا
پشتیبانی از هزاران دستگاه
———————————-
rsyslog
پیشفرض بیشتر توزیعهای
Linux
———————————-
Tftpd32 / Tftpd64
هم
TFTP Server
و هم
Syslog Server
دارد.
بیشتر برای آموزش استفاده میشود.
=============================================
نکات امتحانی Network+
Syslog
استاندارد ثبت Log شبکه
پورت پیشفرض UDP 514
نسخه امن: TCP 6514 (TLS)
Severity
اجزای پیام Syslog
مقدمهای بر Network Logging & Analysis
=====================
Logging چیست؟
Logging یعنی ثبت و ذخیره رویدادهای (Events) رخ داده در سیستم یا تجهیزات شبکه.
تقریباً همه دستگاههای شبکه مانند:
Router
Switch
Firewall
Server
Access Point
Linux
Windows
رویدادهای خود را ثبت میکنند.
مثلاً:
کاربر Login کرد.
کابل قطع شد.
اینترفیس Down شد.
خطای CPU رخ داد.
حملهای شناسایی شد.
به این اطلاعات Log گفته میشود.
چرا Logging مهم است؟
کاربردها:
عیبیابی (Troubleshooting)
بررسی حملات امنیتی
بررسی خطاها
مانیتورینگ شبکه
تهیه گزارش (Audit)
تحلیل رخدادها (Incident Analysis)
=========================
Syslog چیست؟
Syslog (System Logging Protocol)
یک استاندارد برای ارسال و ذخیره Logهای شبکه است.
تقریباً همه تجهیزات شبکه مانند:
Cisco
MikroTik
Juniper
Linux
Fortinet
VMware
از Syslog پشتیبانی میکنند.
وظیفه Syslog
به جای اینکه Log داخل هر دستگاه ذخیره شود،
همه Logها به یک سرور مرکزی ارسال میشوند.
مثلاً:
Router1
\
Switch -----> Syslog Server
/
Firewall
تمام Logها در یک محل ذخیره میشوند.
به این روش
Centralized Monitoring
میگویند.
مزایای Syslog
✅ مدیریت آسان Logها
✅ ذخیرهسازی مرکزی
✅ عیبیابی سریع
✅ افزایش امنیت
✅ بررسی حملات
✅ امکان جستجوی Logها
=====================
Syslog چگونه کار میکند؟
۱- دستگاه رویدادی را تشخیص میدهد.
مثلاً:
Interface Gig0/1 Down
↓
۲- Log تولید میشود.
↓
۳- Log از طریق شبکه ارسال میشود.
↓
۴- Syslog Server آن را ذخیره میکند.
↓
۵- مدیر شبکه آن را بررسی میکند.
پورت Syslog
به صورت پیشفرض
UDP 514
است.
برخی نسخههای امن:
TCP 514
یا
TCP 6514 (Syslog over TLS)
اجزای Syslog
سه بخش اصلی دارد.
Device
↓
Syslog Protocol
↓
Syslog Server
Syslog Message Structure
هر پیام Syslog معمولاً از بخشهای زیر تشکیل شده است.
Timestamp
Hostname
Facility
Severity
Message
مثال
Jul 20 10:15:30
Router1
LOCAL7
Warning
Interface Gig0/1 Down
==============================
Facility چیست؟
Facility مشخص میکند Log مربوط به کدام سرویس است.
مثلاً
auth
daemon
local0
local1
...
local7
در Cisco معمولاً
Local0 تا Local7
زیاد استفاده میشود.
=============
Syslog Severity Levels
شدت خطا را مشخص میکند.
اعداد
از
۰
تا
۷
هستند.
هرچه عدد کوچکتر باشد،
اهمیت پیام بیشتر است.
==================
مثال
0
System Shutdown
بالاترین اهمیت
7
Debug Message
کمترین اهمیت
=================
کامندهای Syslog (Cisco)
فعال کردن Timestamp
service timestamps log datetime
تعیین Syslog Server
logging 192.168.1.100
تعیین Severity
مثلاً فقط Warning و مهمتر ارسال شود.
logging trap warnings
یا
logging trap informational
مشاهده تنظیمات
show logging
حذف Syslog Server
no logging 192.168.1.100
مشاهده Logها
show logging
============================
کامندهای Linux
مشاهده Logها
cat /var/log/syslog
نمایش زنده Log
tail -f /var/log/syslog
در بعضی توزیعها
journalctl
====================
Syslog Receiver Tools
نرمافزارهایی هستند که
Logها را دریافت و ذخیره میکنند.
———————————-
Kiwi Syslog Server
رایگان (نسخه محدود)
بسیار ساده
مناسب آموزش
ویندوز
———————————-
Graylog
رایگان
بسیار حرفهای
Search
Dashboard
Alert
گزارشگیری
مناسب شرکتها
Syslog-ng
مخصوص Linux
سرعت بالا
پشتیبانی از هزاران دستگاه
———————————-
rsyslog
پیشفرض بیشتر توزیعهای
Linux
———————————-
Tftpd32 / Tftpd64
هم
TFTP Server
و هم
Syslog Server
دارد.
بیشتر برای آموزش استفاده میشود.
=============================================
نکات امتحانی Network+
Syslog
استاندارد ثبت Log شبکه
پورت پیشفرض UDP 514
نسخه امن: TCP 6514 (TLS)
Severity
0 Emergency
1 Alert
2 Critical
3 Error
4 Warning
5 Notice
6 Informational
7 Debug
اجزای پیام Syslog
Timestamp
Hostname
Facility
Severity
Message
👍1
این مبحث یکی از مهمترین بخشهای CompTIA Network+ و همچنین مقدمهای برای Security+ و SOC Analyst است.
=============
SIEM (Security Information and Event Management)
SIEM چیست؟
SIEM مخفف:
Security Information and Event Management
است.
SIEM یک سیستم مرکزی برای جمعآوری، ذخیره، تحلیل و مانیتورینگ لاگها و رویدادهای امنیتی است.
به زبان ساده:
چرا SIEM استفاده میشود؟
فرض کنید یک شرکت دارای:
۵۰ سرور
۳۰ سوئیچ
۲۰ روتر
۱۰ فایروال
۱۰۰ کامپیوتر
باشد.
هر کدام روزانه هزاران Log تولید میکنند.
اگر مدیر بخواهد تکتک آنها را بررسی کند تقریباً غیرممکن است.
اینجاست که SIEM وارد عمل میشود.
کار SIEM
وظایف SIEM
✔️ جمعآوری Log
✔️ ذخیره Log
✔️ تحلیل Log
✔️ همبستگی رویدادها (Correlation)
✔️ تشخیص حملات
✔️ تولید Alert
✔️ گزارشگیری
✔️ داشبورد مدیریتی
=====================
SIM و SEM چیست؟
قبل از SIEM دو سیستم جداگانه وجود داشت.
SIM
Security Information Management
وظیفه:
ذخیره و مدیریت Logها
تمرکز روی:
نگهداری Log
گزارشگیری
جستجو
Audit
به عبارت دیگر:
SIM بیشتر برای ذخیره اطلاعات است.
SEM
Security Event Management
وظیفه:
تحلیل رویدادها به صورت لحظهای
تمرکز روی:
تحلیل
Alert
Real-Time Monitoring
Incident Detection
=================
SIEM
ترکیب
SIM
SEM
است.
یعنی:
هم Log را ذخیره میکند
و هم آن را تحلیل میکند.
===============
False Positive (FP)
یعنی سیستم اشتباه فکر کند حمله رخ داده است.
در حالی که حملهای وجود ندارد.
مثال :
کارمند شرکت
ده بار رمز را اشتباه وارد میکند
SIEM
فکر میکند
Brute Force
رخ داده است.
در صورتی که حملهای وجود ندارد
True Positive (TP)
یعنی سیستم درست حمله را تشخیص داده است.
مثال :
یک Brute Force واقعی رخ میدهد.
SIEM
آن را شناسایی میکند.
↓
TP
================
False Negative (FN)
خیلی مهم
سیستم
حمله واقعی
را تشخیص نمیدهد.
بدترین حالت امنیتی است.
——————————————————————
True Negative (TN)
هیچ حملهای وجود ندارد.
SIEM
هم چیزی گزارش نمیکند.
===================
نکته امتحانی
بهترین حالت
TP
و
TN
است.
=======================
Key Components of a SIEM System
اجزای اصلی SIEM
4- Correlation Engine ⭐️
مهمترین بخش SIEM
Correlation
یعنی
ارتباط دادن چند Event
به یکدیگر.
مثلاً
اگر هر Log را جدا ببینیم
حمله مشخص نیست.
اما کنار هم
حمله مشخص میشود.
==================
SIEM Workflow
مراحل کار SIEM
توضیح:
مرحله ۱
دستگاهها Log تولید میکنند.
مرحله ۲
Logها جمعآوری میشوند.
مرحله ۳
فرمت Logها یکسان میشود.
مرحله ۴
ذخیره میشوند.
مرحله ۵
SIEM
رابطه بین Eventها را بررسی میکند.
مرحله ۶
حمله تشخیص داده میشود.
مرحله ۷
Alert ایجاد میشود.
مرحله ۸
کارشناس امنیت
بررسی میکند.
مرحله ۹
گزارش تهیه میشود.
====================
SIEM Tools
Splunk
محبوبترین SIEM دنیا
ویژگیها
✔️ بسیار قدرتمند
✔️ Search
✔️ Dashboard
✔️ Correlation
✔️ Enterprise
IBM QRadar
یکی از معروفترین SIEMها
مناسب سازمانهای بزرگ
Microsoft Sentinel
سرویس Cloud
مایکروسافت
بر پایه Azure
Graylog
رایگان
Open Source
بسیار محبوب
===================
تفاوت Syslog و SIEM
===================================
نکات امتحانی Network+
SIEM
جمعآوری Log
تحلیل امنیتی
Correlation
Alert
Dashboard
SIM
ذخیره Log
SEM
تحلیل لحظهای Event
SIEM
دو بخش SIM
SEM دارد
مهمترین بخش SIEM
Correlation Engine
بهترین خروجی امنیتی
TP (True Positive)
بدترین حالت
FN (False Negative)
ابزارهای معروف:
Splunk
QRadar
Graylog
Microsoft Sentinel
Wazuh
ELK Stack
=============
SIEM (Security Information and Event Management)
SIEM چیست؟
SIEM مخفف:
Security Information and Event Management
است.
SIEM یک سیستم مرکزی برای جمعآوری، ذخیره، تحلیل و مانیتورینگ لاگها و رویدادهای امنیتی است.
به زبان ساده:
Syslog فقط Logها را جمع میکند، اما SIEM آنها را تحلیل میکند و حملات را تشخیص میدهد.
چرا SIEM استفاده میشود؟
فرض کنید یک شرکت دارای:
۵۰ سرور
۳۰ سوئیچ
۲۰ روتر
۱۰ فایروال
۱۰۰ کامپیوتر
باشد.
هر کدام روزانه هزاران Log تولید میکنند.
اگر مدیر بخواهد تکتک آنها را بررسی کند تقریباً غیرممکن است.
اینجاست که SIEM وارد عمل میشود.
کار SIEM
Router
\
Firewall \
Server -----> SIEM ------> Security Analyst
Switch /
Windows /
Linux /
===========================
تمام Logها
↓
در SIEM ذخیره میشوند.
↓
تحلیل میشوند.
↓
اگر حملهای تشخیص داده شود
↓
Alert تولید میشو
وظایف SIEM
✔️ جمعآوری Log
✔️ ذخیره Log
✔️ تحلیل Log
✔️ همبستگی رویدادها (Correlation)
✔️ تشخیص حملات
✔️ تولید Alert
✔️ گزارشگیری
✔️ داشبورد مدیریتی
=====================
SIM و SEM چیست؟
قبل از SIEM دو سیستم جداگانه وجود داشت.
SIM
Security Information Management
وظیفه:
ذخیره و مدیریت Logها
تمرکز روی:
نگهداری Log
گزارشگیری
جستجو
Audit
به عبارت دیگر:
SIM بیشتر برای ذخیره اطلاعات است.
SEM
Security Event Management
وظیفه:
تحلیل رویدادها به صورت لحظهای
تمرکز روی:
تحلیل
Alert
Real-Time Monitoring
Incident Detection
=================
SIEM
ترکیب
SIM
SEM
است.
یعنی:
هم Log را ذخیره میکند
و هم آن را تحلیل میکند.
===============
False Positive (FP)
یعنی سیستم اشتباه فکر کند حمله رخ داده است.
در حالی که حملهای وجود ندارد.
مثال :
کارمند شرکت
ده بار رمز را اشتباه وارد میکند
SIEM
فکر میکند
Brute Force
رخ داده است.
در صورتی که حملهای وجود ندارد
True Positive (TP)
یعنی سیستم درست حمله را تشخیص داده است.
مثال :
یک Brute Force واقعی رخ میدهد.
SIEM
آن را شناسایی میکند.
↓
TP
================
False Negative (FN)
خیلی مهم
سیستم
حمله واقعی
را تشخیص نمیدهد.
بدترین حالت امنیتی است.
——————————————————————
True Negative (TN)
هیچ حملهای وجود ندارد.
SIEM
هم چیزی گزارش نمیکند.
===================
| وضعیت واقعی | نتیجه SIEM | نام |
| --------------- | -------------- | --- |
| حمله وجود دارد | تشخیص داده شد | TP |
| حمله وجود دارد | تشخیص داده نشد | FN |
| حمله وجود ندارد | هشدار داده شد | FP |
| حمله وجود ندارد | هشدار نداد | TN |
نکته امتحانی
بهترین حالت
TP
و
TN
است.
=======================
Key Components of a SIEM System
اجزای اصلی SIEM
1- Log Collection
جمعآوری Log
از:
Router
Firewall
Windows
Linux
IDS
IPS
Antivirus
2- Log Normalization
تجهیزات مختلف
Logهای متفاوتی دارند.
SIEM
همه را
به یک فرمت استاندارد
تبدیل میکند.
3- Log Storage
ذخیره Log
برای:
چند ماه
چند سال
4- Correlation Engine ⭐️
مهمترین بخش SIEM
Correlation
یعنی
ارتباط دادن چند Event
به یکدیگر.
مثلاً
Login Failed
↓
Login Failed
↓
Login Failed
↓
Firewall Alert
↓
SIEM
↓
Brute Force Attack
اگر هر Log را جدا ببینیم
حمله مشخص نیست.
اما کنار هم
حمله مشخص میشود.
5- Alerting
اگر حمله تشخیص داده شود
Alert
ارسال میشود.
مثلاً
SMS
Dashboard
6- Dashboard
نمایش گرافیکی
وضعیت امنیت شبکه
—————————
7- Reporting
گزارشگیری
مثلاً
گزارش حملات
گزارش کاربران
گزارش Loginها
—————————-
8- Threat Intelligence
برخی SIEMها
اطلاعات حملات جدید
را از اینترنت دریافت میکنند.
==================
SIEM Workflow
مراحل کار SIEM
1
Log Generation
↓
2
Log Collection
↓
3
Normalization
↓
4
Storage
↓
5
Correlation
↓
6
Threat Detection
↓
7
Alert
↓
8
Incident Response
↓
9
Report
توضیح:
مرحله ۱
دستگاهها Log تولید میکنند.
مرحله ۲
Logها جمعآوری میشوند.
مرحله ۳
فرمت Logها یکسان میشود.
مرحله ۴
ذخیره میشوند.
مرحله ۵
SIEM
رابطه بین Eventها را بررسی میکند.
مرحله ۶
حمله تشخیص داده میشود.
مرحله ۷
Alert ایجاد میشود.
مرحله ۸
کارشناس امنیت
بررسی میکند.
مرحله ۹
گزارش تهیه میشود.
====================
SIEM Tools
Splunk
محبوبترین SIEM دنیا
ویژگیها
✔️ بسیار قدرتمند
✔️ Search
✔️ Dashboard
✔️ Correlation
✔️ Enterprise
IBM QRadar
یکی از معروفترین SIEMها
مناسب سازمانهای بزرگ
Microsoft Sentinel
سرویس Cloud
مایکروسافت
بر پایه Azure
Graylog
رایگان
Open Source
بسیار محبوب
===================
تفاوت Syslog و SIEM
SIEM
جمعآوری + تحلیل
Alert هوشمند
Correlation دارد
Dashboard پیشرفته
تشخیص حمله
syslog
فقط جمعآوری Log
Alert محدود
Correlation ندارد
Dashboard ساده
ذخیره Log
===================================
نکات امتحانی Network+
SIEM
جمعآوری Log
تحلیل امنیتی
Correlation
Alert
Dashboard
SIM
ذخیره Log
SEM
تحلیل لحظهای Event
SIEM
دو بخش SIM
SEM دارد
مهمترین بخش SIEM
Correlation Engine
بهترین خروجی امنیتی
TP (True Positive)
بدترین حالت
FN (False Negative)
ابزارهای معروف:
Splunk
QRadar
Graylog
Microsoft Sentinel
Wazuh
ELK Stack
Physical Security in Cybersecurity
==================
Physical Security in Cybersecurity
امنیت فیزیکی (Physical Security) چیست؟
Physical Security یعنی:
بسیاری از افراد فکر میکنند امنیت فقط نرمافزار و Firewall است، اما اگر یک نفر بتواند وارد اتاق سرور شود، ممکن است بتواند:
هارد دیسک را سرقت کند.
سرور را خاموش کند.
کابل شبکه را قطع کند.
فلش آلوده وصل کند.
اطلاعات را کپی کند.
به همین دلیل امنیت فیزیکی اولین لایه امنیت است.
============
اهداف Physical Security
✔️ جلوگیری از ورود افراد غیرمجاز
✔️ حفاظت از تجهیزات
✔️ جلوگیری از سرقت
✔️ جلوگیری از خرابکاری (Sabotage)
✔️ محافظت در برابر آتشسوزی
✔️ محافظت در برابر سیل
✔️ محافظت در برابر قطع برق
=================
روشهای امنیت فیزیکی
1) Door Lock
قفلهای مکانیکی
2) Smart Lock
قفل هوشمند
3) Key Card
کارت ورود
4) RFID Card
کارت بدون تماس
5) Biometric
احراز هویت بیومتریک
مثل:
اثر انگشت
اسکن چشم
تشخیص چهره
کف دست
6) CCTV
دوربین مداربسته
کاربرد:
نظارت
ضبط تصاویر
بررسی رخدادها
7) Security Guard
نگهبان
8) Alarm System
سیستم هشدار
9) Motion Sensor
حسگر حرکت
10) Fire Suppression
سیستم اطفای حریق
مانند:
FM-200
Novec 1230
11) Environmental Monitoring
بررسی:
دما
رطوبت
دود
نشت آب
=================
Multi-Layered Physical Security
یکی از مهمترین مباحث امتحانی
به آن
Defense in Depth
هم میگویند.
یعنی به جای یک لایه امنیت، چندین لایه امنیتی کنار هم استفاده شوند.
مثال
اگر یک لایه شکست بخورد
لایه بعدی
جلو مهاجم را میگیرد.
==============
UPS چیست؟
Uninterruptible Power Supply
منبع تغذیه بدون وقفه
وظیفه UPS
اگر برق شهر قطع شود
UPS
برق تجهیزات را برای مدت محدودی تأمین میکند.
———————————————
کاربرد
خاموش نشدن سرور
جلوگیری از از دست رفتن اطلاعات
فرصت برای خاموش کردن صحیح سیستم
جلوگیری از آسیب سختافزار
نحوه کار
اگر برق قطع شود
↓
باتری UPS
↓
برق را تأمین میکند.
============================
نکات حفظی Network+
Physical Security
حفاظت از تجهیزات و ساختمان
جلوگیری از سرقت و خرابکاری
——————————-
Multi-Layered Physical Security
چندین لایه امنیتی
Defense in Depth
——————————
UPS
Uninterruptible Power Supply
جلوگیری از خاموش شدن تجهیزات هنگام قطع برق
Online UPS بهترین نوع برای دیتاسنترها
——————————
مهمترین کاربردهای SIEM
Centralized Log Collection
Event Correlation ⭐️
Threat Detection
Real-Time Monitoring
Alerting
Incident Response
Compliance Reporting
Digital Forensics
——————————————————————
۱۰ نکتهای که احتمال سؤال از آنها زیاد است
Physical Security از تجهیزات در برابر تهدیدهای فیزیکی محافظت میکند.
Biometric شامل اثر انگشت، عنبیه و تشخیص چهره است.
CCTV برای نظارت و ثبت وقایع استفاده میشود.
Defense in Depth یعنی استفاده از چندین لایه امنیتی.
UPS هنگام قطع برق، برق موقت تجهیزات را تأمین میکند.
Online UPS مناسبترین گزینه برای تجهیزات حساس و دیتاسنترها است.
Generator برای تأمین برق طولانیمدت استفاده میشود، اما جایگزین UPS نیست.
SIEM لاگها را جمعآوری، تحلیل و همبسته (Correlation) میکند.
Correlation مهمترین قابلیت SIEM برای کشف حملات پیچیده است.
Threat Detection و Incident Response از مهمترین کاربردهای SIEM در امنیت سایبری هستند.
==================
Physical Security in Cybersecurity
امنیت فیزیکی (Physical Security) چیست؟
Physical Security یعنی:
حفاظت از تجهیزات، ساختمان، اتاق سرور و افراد در برابر دسترسی فیزیکی غیرمجاز، سرقت، خرابکاری یا بلایای طبیعی.
بسیاری از افراد فکر میکنند امنیت فقط نرمافزار و Firewall است، اما اگر یک نفر بتواند وارد اتاق سرور شود، ممکن است بتواند:
هارد دیسک را سرقت کند.
سرور را خاموش کند.
کابل شبکه را قطع کند.
فلش آلوده وصل کند.
اطلاعات را کپی کند.
به همین دلیل امنیت فیزیکی اولین لایه امنیت است.
============
اهداف Physical Security
✔️ جلوگیری از ورود افراد غیرمجاز
✔️ حفاظت از تجهیزات
✔️ جلوگیری از سرقت
✔️ جلوگیری از خرابکاری (Sabotage)
✔️ محافظت در برابر آتشسوزی
✔️ محافظت در برابر سیل
✔️ محافظت در برابر قطع برق
=================
روشهای امنیت فیزیکی
1) Door Lock
قفلهای مکانیکی
2) Smart Lock
قفل هوشمند
3) Key Card
کارت ورود
4) RFID Card
کارت بدون تماس
5) Biometric
احراز هویت بیومتریک
مثل:
اثر انگشت
اسکن چشم
تشخیص چهره
کف دست
6) CCTV
دوربین مداربسته
کاربرد:
نظارت
ضبط تصاویر
بررسی رخدادها
7) Security Guard
نگهبان
8) Alarm System
سیستم هشدار
9) Motion Sensor
حسگر حرکت
10) Fire Suppression
سیستم اطفای حریق
مانند:
FM-200
Novec 1230
نکته: در اتاق سرور معمولاً از آب استفاده نمیشود، چون ممکن است به تجهیزات آسیب بزند.
11) Environmental Monitoring
بررسی:
دما
رطوبت
دود
نشت آب
=================
Multi-Layered Physical Security
یکی از مهمترین مباحث امتحانی
به آن
Defense in Depth
هم میگویند.
یعنی به جای یک لایه امنیت، چندین لایه امنیتی کنار هم استفاده شوند.
مثال
خیابان
↓
حصار (Fence)
↓
نگهبان
↓
در ورودی
↓
کارت ورود
↓
دوربین
↓
اثر انگشت
↓
اتاق سرور
↓
رک
↓
قفل رک
↓
سرور
اگر یک لایه شکست بخورد
لایه بعدی
جلو مهاجم را میگیرد.
==============
UPS چیست؟
Uninterruptible Power Supply
منبع تغذیه بدون وقفه
وظیفه UPS
اگر برق شهر قطع شود
UPS
برق تجهیزات را برای مدت محدودی تأمین میکند.
———————————————
کاربرد
خاموش نشدن سرور
جلوگیری از از دست رفتن اطلاعات
فرصت برای خاموش کردن صحیح سیستم
جلوگیری از آسیب سختافزار
نحوه کار
برق شهر
↓
UPS
↓
Server
اگر برق قطع شود
↓
باتری UPS
↓
برق را تأمین میکند.
============================
نکات حفظی Network+
Physical Security
حفاظت از تجهیزات و ساختمان
جلوگیری از سرقت و خرابکاری
——————————-
Multi-Layered Physical Security
چندین لایه امنیتی
Defense in Depth
——————————
UPS
Uninterruptible Power Supply
جلوگیری از خاموش شدن تجهیزات هنگام قطع برق
Online UPS بهترین نوع برای دیتاسنترها
——————————
مهمترین کاربردهای SIEM
Centralized Log Collection
Event Correlation ⭐️
Threat Detection
Real-Time Monitoring
Alerting
Incident Response
Compliance Reporting
Digital Forensics
——————————————————————
۱۰ نکتهای که احتمال سؤال از آنها زیاد است
Physical Security از تجهیزات در برابر تهدیدهای فیزیکی محافظت میکند.
Biometric شامل اثر انگشت، عنبیه و تشخیص چهره است.
CCTV برای نظارت و ثبت وقایع استفاده میشود.
Defense in Depth یعنی استفاده از چندین لایه امنیتی.
UPS هنگام قطع برق، برق موقت تجهیزات را تأمین میکند.
Online UPS مناسبترین گزینه برای تجهیزات حساس و دیتاسنترها است.
Generator برای تأمین برق طولانیمدت استفاده میشود، اما جایگزین UPS نیست.
SIEM لاگها را جمعآوری، تحلیل و همبسته (Correlation) میکند.
Correlation مهمترین قابلیت SIEM برای کشف حملات پیچیده است.
Threat Detection و Incident Response از مهمترین کاربردهای SIEM در امنیت سایبری هستند.
Authentication and Access Control
===============
Authentication چیست؟
Authentication یعنی احراز هویت.
یعنی سیستم بررسی میکند آیا واقعاً همان شخصی هستی که ادعا میکنی یا خیر.
سؤال Authentication:
مثال:
Username + Password
Fingerprint
Smart Card
OTP
=========
Authentication Factors
سه عامل اصلی احراز هویت:
1. Something You Know
چیزی که میدانی
Password
PIN
2. Something You Have
چیزی که داری
Smart Card
Token
Mobile OTP
3. Something You Are
چیزی که هستی
اثر انگشت
عنبیه
تشخیص چهره
============
MFA (Multi-Factor Authentication)
استفاده از دو یا چند عامل احراز هویت.
مثال:
Password + OTP
Password + Fingerprint
نکته امتحانی
دو Password مختلف، MFA نیست؛ چون هر دو از نوع Something You Know هستند.
================
CUPP (Common User Passwords Profiler)
ابزار ساخت Wordlist
در Kali Linux
کاربرد
از اطلاعات قربانی مانند:
نام
نام همسر
تاریخ تولد
شماره تلفن
نام حیوان خانگی
یک Wordlist تولید میکند.
مثال:
هدف در آموزش
این ابزار نشان میدهد که اگر رمز عبور بر اساس اطلاعات شخصی انتخاب شود، به راحتی قابل حدس است.
نکته امتحانی
راه مقابله:
Password Policy
Password پیچیده
MFA
============
Security Filtering
یعنی اجازه یا عدم اجازه دسترسی بر اساس قوانین امنیتی.
مثال:
Firewall فقط اجازه دهد:
یا در Active Directory:
فقط گروه IT اجازه ورود داشته باشد.
==============
ACL (Access Control List)
ACL مجموعهای از قوانین است که مشخص میکند چه ترافیکی اجازه (Permit) یا عدم اجازه (Deny) دارد.
—————-
انواع ACL
Standard ACL
فقط Source IP را بررسی میکند.
—————————————————-
Extended ACL
بررسی میکند:
Source IP
Destination IP
Protocol
Port Number
نکته امتحانی
Extended ACL امنیت بیشتری دارد.
—————————-
Tunneling
ارسال یک Packet داخل Packet دیگر.
برای ایجاد ارتباط امن یا عبور از شبکههای مختلف.
مثال:
VPN
GRE
IPsec Tunnel
————————
Encryption
تبدیل اطلاعات قابل خواندن (Plaintext)
↓
اطلاعات رمز شده (Ciphertext)
———————
دو نوع
Symmetric
یک کلید برای رمزگذاری و رمزگشایی
مثال:
AES
——————————————————-
Asymmetric
دو کلید
Public Key
Private Key
مثال:
RSA
—————————————
Remote Access
دسترسی از راه دور
نمونهها:
SSH
VPN
RDP
VNC
=====================
Managing User Accounts & Passwords
مدیریت کاربران
شامل:
ایجاد کاربر
حذف کاربر
تغییر رمز
قفل کردن حساب
تعیین سطح دسترسی
Password Policy
====================
Password Policy
شامل:
حداقل طول رمز
پیچیدگی رمز
زمان انقضا
عدم استفاده مجدد
Lockout
==============
LDAP
Lightweight Directory Access Protocol
پروتکل دسترسی به Directory Service
معروفترین مثال:
Microsoft Active Directory
کاربرد
Login کاربران
جستجوی کاربران
مدیریت کاربران
مدیریت گروهها
===============
User Authentication Methods
روشهای احراز هویت
Password
PIN
Smart Card
OTP
Certificate
Fingerprint
Face Recognition
Iris Scan
===========================
PKI (Public Key Infrastructure)
زیرساخت کلید عمومی
مدیریت:
Certificate
Public Key
Private Key
اجزا
CA (Certificate Authority)
Certificate
Public Key
Private Key
CRL
کاربرد:
HTTPS
SSL/TLS
VPN
Code Signing
———————————————-
Kerberos
پروتکل احراز هویت
مخصوص شبکههای Windows
ویژگیها
Ticket Based
Mutual Authentication
جلوگیری از ارسال Password روی شبکه
پورت
TCP/UDP 88
————————————-
AAA
Authentication
تو کی هستی؟
Authorization
چه کاری اجازه داری انجام دهی؟
Accounting
چه کارهایی انجام دادی؟
مثال
===================
Web Services
سرویسهایی که از طریق HTTP/HTTPS ارائه میشوند.
مثال:
REST API
SOAP
———————————-
Unified Voice Services
سرویسهای تلفنی مبتنی بر IP
مثال:
VoIP
IP Phone
SIP
—————————-
Network Control
کنترل دسترسی کاربران و دستگاهها به شبکه.
نمونه:
NAC
ACL
Firewall
——————————
NAC (Network Access Control)
کنترل دسترسی به شبکه
قبل از ورود دستگاه به شبکه بررسی میکند:
آنتیویروس نصب است؟
سیستم بهروز است؟
سیستم آلوده نیست؟
اگر شرایط مناسب باشد:
اجازه ورود میدهد.
==========================
DAC
Discretionary Access Control
مالک فایل تعیین میکند چه کسی دسترسی داشته باشد.
مثال:
Windows NTFS
ضعف:
اگر مالک اشتباه مجوز بدهد امنیت کاهش مییابد.
——————
MAC
Mandatory Access Control
دسترسی توسط سیستم و بر اساس سطح امنیت تعیین میشود.
کاربر نمیتواند مجوز را تغییر دهد.
مثال:
سیستمهای نظامی
مزیت
بیشترین امنیت
————————————-
RBAC
Role Based Access Control
دسترسی بر اساس نقش
مثلاً:
HR
IT
Manager
——————————-
ABAC
Attribute Based Access Control
بر اساس ویژگیها
مانند:
زمان
مکان
دپارتمان
نوع دستگاه
—————
=====================
SSO (Single Sign-On)
یک بار Login
↓
دسترسی به چندین سرویس
مثال:
ورود به حساب Microsoft و استفاده از Outlook، Teams و OneDrive بدون ورود مجدد.
====================
DLP (Data Loss Prevention)
جلوگیری از نشت اطلاعات
انواع
Network DLP
کنترل اطلاعات داخل شبکه
Endpoint DLP
کنترل اطلاعات روی کامپیوتر کاربران
Cloud DLP
کنترل اطلاعات داخل سرویسهای ابری
==================
MDM (Mobile Device Management)
مدیریت دستگاههای موبایل
امکانات:
نصب برنامه
حذف برنامه
قفل دستگاه
پاک کردن اطلاعات از راه دور
اعمال Policy
===================
Patch Management
مدیریت بهروزرسانیها
مراحل:
شناسایی Patch
تست
نصب
بررسی
مستندسازی
هدف:
رفع آسیبپذیریها
===================
Security Awareness
آموزش امنیت به کاربران
مثال:
تشخیص ایمیل Phishing
استفاده از رمز قوی
گزارش رخدادها
استفاده از MFA
=================
Security Policies
مجموعه قوانین امنیتی سازمان
نمونهها:
Password Policy
Acceptable Use Policy (AUP)
Remote Access Policy
Backup Policy
Incident Response Policy
===================
Security Procedures
مراحل اجرایی انجام کار
مثال:
مراحل تغییر رمز عبور
=================
Security Standards
استانداردهای فنی
مثال:
ISO 27001
NIST
PCI-DSS
===============
Hashes in Authentication
Hash تابعی است که اطلاعات را به یک مقدار ثابت تبدیل میکند.
ویژگیها
یکطرفه (One-way)
غیرقابل بازیابی
طول خروجی ثابت
کاربرد
ذخیره Password
به جای ذخیره رمز واقعی
——————
الگوریتمها:
MD5
قدیمی
امن نیست.
SHA-1
قدیمی
امروزه توصیه نمیشود.
SHA-256
پرکاربرد
امنتر
bcrypt
مناسب ذخیره Password
Argon2
جدیدترین و امنترین گزینه برای ذخیره رمز عبور
================
نکات امتحانی مهم
Authentication = «چه کسی هستی؟»
Authorization = «چه کاری مجاز به انجام آن هستی؟»
Accounting = «چه کارهایی انجام دادی؟»
MFA باید از دو عامل متفاوت استفاده کند.
Kerberos از Ticket استفاده میکند و رمز عبور را روی شبکه ارسال نمیکند.
LDAP برای دسترسی و مدیریت سرویسهای دایرکتوری مانند Active Directory استفاده میشود.
NAC قبل از اتصال دستگاه، وضعیت امنیتی آن را بررسی میکند.
SSO تجربه کاربر را بهتر میکند، اما در صورت سرقت حساب، دسترسی به چند سرویس با همان حساب ممکن است؛ بنابراین معمولاً همراه با MFA استفاده میشود.
برای ذخیره رمز عبور، bcrypt و Argon2 از گزینههای مناسب هستند و MD5 و SHA-1 دیگر برای این کاربرد توصیه نمیشوند.
===============
Authentication چیست؟
Authentication یعنی احراز هویت.
یعنی سیستم بررسی میکند آیا واقعاً همان شخصی هستی که ادعا میکنی یا خیر.
سؤال Authentication:
Who are you? (تو کی هستی؟)
مثال:
Username + Password
Fingerprint
Smart Card
OTP
=========
Authentication Factors
سه عامل اصلی احراز هویت:
1. Something You Know
چیزی که میدانی
Password
PIN
2. Something You Have
چیزی که داری
Smart Card
Token
Mobile OTP
3. Something You Are
چیزی که هستی
اثر انگشت
عنبیه
تشخیص چهره
============
MFA (Multi-Factor Authentication)
استفاده از دو یا چند عامل احراز هویت.
مثال:
Password + OTP
Password + Fingerprint
نکته امتحانی
دو Password مختلف، MFA نیست؛ چون هر دو از نوع Something You Know هستند.
================
CUPP (Common User Passwords Profiler)
ابزار ساخت Wordlist
در Kali Linux
کاربرد
از اطلاعات قربانی مانند:
نام
نام همسر
تاریخ تولد
شماره تلفن
نام حیوان خانگی
یک Wordlist تولید میکند.
مثال:
Ali123
Ali1375
Ali@123
Sara1375
هدف در آموزش
این ابزار نشان میدهد که اگر رمز عبور بر اساس اطلاعات شخصی انتخاب شود، به راحتی قابل حدس است.
نکته امتحانی
راه مقابله:
Password Policy
Password پیچیده
MFA
============
Security Filtering
یعنی اجازه یا عدم اجازه دسترسی بر اساس قوانین امنیتی.
مثال:
Firewall فقط اجازه دهد:
HTTPS → Allowed
FTP → Block
یا در Active Directory:
فقط گروه IT اجازه ورود داشته باشد.
==============
ACL (Access Control List)
ACL مجموعهای از قوانین است که مشخص میکند چه ترافیکی اجازه (Permit) یا عدم اجازه (Deny) دارد.
—————-
انواع ACL
Standard ACL
فقط Source IP را بررسی میکند.
—————————————————-
Extended ACL
بررسی میکند:
Source IP
Destination IP
Protocol
Port Number
نکته امتحانی
Extended ACL امنیت بیشتری دارد.
—————————-
Tunneling
ارسال یک Packet داخل Packet دیگر.
برای ایجاد ارتباط امن یا عبور از شبکههای مختلف.
مثال:
VPN
GRE
IPsec Tunnel
————————
Encryption
تبدیل اطلاعات قابل خواندن (Plaintext)
↓
اطلاعات رمز شده (Ciphertext)
———————
دو نوع
Symmetric
یک کلید برای رمزگذاری و رمزگشایی
مثال:
AES
——————————————————-
Asymmetric
دو کلید
Public Key
Private Key
مثال:
RSA
—————————————
Remote Access
دسترسی از راه دور
نمونهها:
SSH
VPN
RDP
VNC
=====================
Managing User Accounts & Passwords
مدیریت کاربران
شامل:
ایجاد کاربر
حذف کاربر
تغییر رمز
قفل کردن حساب
تعیین سطح دسترسی
Password Policy
====================
Password Policy
شامل:
حداقل طول رمز
پیچیدگی رمز
زمان انقضا
عدم استفاده مجدد
Lockout
==============
LDAP
Lightweight Directory Access Protocol
پروتکل دسترسی به Directory Service
معروفترین مثال:
Microsoft Active Directory
کاربرد
Login کاربران
جستجوی کاربران
مدیریت کاربران
مدیریت گروهها
===============
User Authentication Methods
روشهای احراز هویت
Password
PIN
Smart Card
OTP
Certificate
Fingerprint
Face Recognition
Iris Scan
===========================
PKI (Public Key Infrastructure)
زیرساخت کلید عمومی
مدیریت:
Certificate
Public Key
Private Key
اجزا
CA (Certificate Authority)
Certificate
Public Key
Private Key
CRL
کاربرد:
HTTPS
SSL/TLS
VPN
Code Signing
———————————————-
Kerberos
پروتکل احراز هویت
مخصوص شبکههای Windows
ویژگیها
Ticket Based
Mutual Authentication
جلوگیری از ارسال Password روی شبکه
پورت
TCP/UDP 88
————————————-
AAA
Authentication
تو کی هستی؟
Authorization
چه کاری اجازه داری انجام دهی؟
Accounting
چه کارهایی انجام دادی؟
مثال
کاربر Login میکند.
↓
Authentication
↓
دسترسی فقط به پوشه مالی
↓
Authorization
↓
ثبت فعالیتها
↓
Accounting
===================
Web Services
سرویسهایی که از طریق HTTP/HTTPS ارائه میشوند.
مثال:
REST API
SOAP
———————————-
Unified Voice Services
سرویسهای تلفنی مبتنی بر IP
مثال:
VoIP
IP Phone
SIP
—————————-
Network Control
کنترل دسترسی کاربران و دستگاهها به شبکه.
نمونه:
NAC
ACL
Firewall
——————————
NAC (Network Access Control)
کنترل دسترسی به شبکه
قبل از ورود دستگاه به شبکه بررسی میکند:
آنتیویروس نصب است؟
سیستم بهروز است؟
سیستم آلوده نیست؟
اگر شرایط مناسب باشد:
اجازه ورود میدهد.
==========================
DAC
Discretionary Access Control
مالک فایل تعیین میکند چه کسی دسترسی داشته باشد.
مثال:
Windows NTFS
ضعف:
اگر مالک اشتباه مجوز بدهد امنیت کاهش مییابد.
——————
MAC
Mandatory Access Control
دسترسی توسط سیستم و بر اساس سطح امنیت تعیین میشود.
کاربر نمیتواند مجوز را تغییر دهد.
مثال:
سیستمهای نظامی
مزیت
بیشترین امنیت
————————————-
RBAC
Role Based Access Control
دسترسی بر اساس نقش
مثلاً:
HR
IT
Manager
——————————-
ABAC
Attribute Based Access Control
بر اساس ویژگیها
مانند:
زمان
مکان
دپارتمان
نوع دستگاه
—————
| مدل | بر اساس |
| ---- | --------- |
| DAC | مالک |
| MAC | سطح امنیت |
| RBAC | نقش |
| ABAC | ویژگیها |
=====================
SSO (Single Sign-On)
یک بار Login
↓
دسترسی به چندین سرویس
مثال:
ورود به حساب Microsoft و استفاده از Outlook، Teams و OneDrive بدون ورود مجدد.
====================
DLP (Data Loss Prevention)
جلوگیری از نشت اطلاعات
انواع
Network DLP
کنترل اطلاعات داخل شبکه
Endpoint DLP
کنترل اطلاعات روی کامپیوتر کاربران
Cloud DLP
کنترل اطلاعات داخل سرویسهای ابری
==================
MDM (Mobile Device Management)
مدیریت دستگاههای موبایل
امکانات:
نصب برنامه
حذف برنامه
قفل دستگاه
پاک کردن اطلاعات از راه دور
اعمال Policy
===================
Patch Management
مدیریت بهروزرسانیها
مراحل:
شناسایی Patch
تست
نصب
بررسی
مستندسازی
هدف:
رفع آسیبپذیریها
===================
Security Awareness
آموزش امنیت به کاربران
مثال:
تشخیص ایمیل Phishing
استفاده از رمز قوی
گزارش رخدادها
استفاده از MFA
=================
Security Policies
مجموعه قوانین امنیتی سازمان
نمونهها:
Password Policy
Acceptable Use Policy (AUP)
Remote Access Policy
Backup Policy
Incident Response Policy
===================
Security Procedures
مراحل اجرایی انجام کار
مثال:
مراحل تغییر رمز عبور
=================
Security Standards
استانداردهای فنی
مثال:
ISO 27001
NIST
PCI-DSS
===============
Hashes in Authentication
Hash تابعی است که اطلاعات را به یک مقدار ثابت تبدیل میکند.
Password
↓
Hash Function
↓
Hash
ویژگیها
یکطرفه (One-way)
غیرقابل بازیابی
طول خروجی ثابت
کاربرد
ذخیره Password
به جای ذخیره رمز واقعی
——————
الگوریتمها:
MD5
قدیمی
امن نیست.
SHA-1
قدیمی
امروزه توصیه نمیشود.
SHA-256
پرکاربرد
امنتر
bcrypt
مناسب ذخیره Password
Argon2
جدیدترین و امنترین گزینه برای ذخیره رمز عبور
================
نکات امتحانی مهم
Authentication = «چه کسی هستی؟»
Authorization = «چه کاری مجاز به انجام آن هستی؟»
Accounting = «چه کارهایی انجام دادی؟»
MFA باید از دو عامل متفاوت استفاده کند.
Kerberos از Ticket استفاده میکند و رمز عبور را روی شبکه ارسال نمیکند.
LDAP برای دسترسی و مدیریت سرویسهای دایرکتوری مانند Active Directory استفاده میشود.
NAC قبل از اتصال دستگاه، وضعیت امنیتی آن را بررسی میکند.
SSO تجربه کاربر را بهتر میکند، اما در صورت سرقت حساب، دسترسی به چند سرویس با همان حساب ممکن است؛ بنابراین معمولاً همراه با MFA استفاده میشود.
برای ذخیره رمز عبور، bcrypt و Argon2 از گزینههای مناسب هستند و MD5 و SHA-1 دیگر برای این کاربرد توصیه نمیشوند.
Network Discovery
Network Discovery چیست؟
====================
یعنی
قبل از اینکه مدیر شبکه یا کارشناس امنیت بتواند از شبکه محافظت کند یا تست نفوذ انجام دهد، باید بداند:
چه دستگاههایی داخل شبکه هستند؟
چه IPهایی فعال هستند؟
چه پورتهایی باز هستند؟
چه سیستمعاملی استفاده میکنند؟
چه سرویسهایی اجرا میشوند؟
به این مرحله Network Discovery میگویند.
==================
اهداف Network Discovery
✔️ پیدا کردن دستگاههای فعال (Live Hosts)
✔️ شناسایی پورتهای باز
✔️ شناسایی سرویسها
✔️ شناسایی سیستمعامل
✔️ شناسایی نسخه سرویسها
✔️ تهیه نقشه شبکه (Network Mapping)
=======================
Nmap چیست؟
Network Mapper
محبوبترین ابزار دنیا
برای
Network Discovery
Port Scanning
Host Discovery
Service Detection
OS Detection
است.
———————————————-
کاربردهای Nmap
✔️ پیدا کردن دستگاههای شبکه
✔️ پیدا کردن پورتهای باز
✔️ شناسایی سیستمعامل
✔️ شناسایی نسخه سرویس
✔️ بررسی امنیت شبکه
✔️ تست Firewall
✔️ کشف آسیبپذیری (با NSE)
———————————
مهمترین قابلیتهای Nmap
1) Host Discovery
پیدا کردن دستگاههای روشن
مثال
فقط دستگاههای فعال را نشان میدهد.
———————————-
2) Port Scanning
اسکن Portها
مثلاً
خروجی
وضعیت Portها
Open
پورت باز است.
سرویس اجرا میشود.
Closed
پورت بسته است.
اما دستگاه روشن است.
Filtered
Firewall
اجازه پاسخ نمیدهد.
Unfiltered
قابل دسترسی است
اما وضعیت دقیق مشخص نیست.
Open|Filtered
تشخیص دقیق ممکن نیست.
Closed|Filtered
وضعیت دقیق مشخص نیست.
—————————————
3) Service Detection
شناسایی سرویسها
مثال
————————————-
4) OS Detection
تشخیص سیستم عامل
مثلاً
—————
Aggressive Scan
انجام میدهد:
OS Detection
Version Detection
Traceroute
Script Scan
———————————————-
SYN Scan ⭐️
محبوبترین نوع Scan
به آن
Half Open Scan
نیز میگویند.
===============
جدول طلایی امتحان
دستور
کاربرد
اسکن معمولی
Host Discovery (بدون اسکن پورت)
SYN Scan (Half Open)
TCP Connect Scan
UDP Scan
تشخیص سرویس و نسخه
تشخیص سیستمعامل
اسکن پیشرفته (OS + Version + Scripts + Traceroute)
اسکن یک پورت
اسکن چند پورت
اسکن همه پورتها
اجرای اسکریپتهای بررسی آسیبپذیری
Network Discovery چیست؟
====================
یعنی
شناسایی دستگاهها، سرویسها، پورتها و اطلاعات موجود در یک شبکه.
قبل از اینکه مدیر شبکه یا کارشناس امنیت بتواند از شبکه محافظت کند یا تست نفوذ انجام دهد، باید بداند:
چه دستگاههایی داخل شبکه هستند؟
چه IPهایی فعال هستند؟
چه پورتهایی باز هستند؟
چه سیستمعاملی استفاده میکنند؟
چه سرویسهایی اجرا میشوند؟
به این مرحله Network Discovery میگویند.
==================
اهداف Network Discovery
✔️ پیدا کردن دستگاههای فعال (Live Hosts)
✔️ شناسایی پورتهای باز
✔️ شناسایی سرویسها
✔️ شناسایی سیستمعامل
✔️ شناسایی نسخه سرویسها
✔️ تهیه نقشه شبکه (Network Mapping)
=======================
Nmap چیست؟
Network Mapper
محبوبترین ابزار دنیا
برای
Network Discovery
Port Scanning
Host Discovery
Service Detection
OS Detection
است.
———————————————-
کاربردهای Nmap
✔️ پیدا کردن دستگاههای شبکه
✔️ پیدا کردن پورتهای باز
✔️ شناسایی سیستمعامل
✔️ شناسایی نسخه سرویس
✔️ بررسی امنیت شبکه
✔️ تست Firewall
✔️ کشف آسیبپذیری (با NSE)
———————————
مهمترین قابلیتهای Nmap
1) Host Discovery
پیدا کردن دستگاههای روشن
مثال
nmap 192.168.1.0/24
فقط دستگاههای فعال را نشان میدهد.
———————————-
2) Port Scanning
اسکن Portها
مثلاً
nmap 192.168.1.10
خروجی
22 SSH
80 HTTP
443 HTTPS
وضعیت Portها
Open
پورت باز است.
سرویس اجرا میشود.
Closed
پورت بسته است.
اما دستگاه روشن است.
Filtered
Firewall
اجازه پاسخ نمیدهد.
Unfiltered
قابل دسترسی است
اما وضعیت دقیق مشخص نیست.
Open|Filtered
تشخیص دقیق ممکن نیست.
Closed|Filtered
وضعیت دقیق مشخص نیست.
—————————————
3) Service Detection
شناسایی سرویسها
nmap -sV 192.168.1.10
مثال
80 Apache 2.4
22 OpenSSH
3306 MySQL
————————————-
4) OS Detection
تشخیص سیستم عامل
nmap -O 192.168.1.10
مثلاً
Linux
Windows
Cisco IOS
—————
Aggressive Scan
nmap -A 192.168.1.10
انجام میدهد:
OS Detection
Version Detection
Traceroute
Script Scan
———————————————-
SYN Scan ⭐️
nmap -sS
محبوبترین نوع Scan
به آن
Half Open Scan
نیز میگویند.
===============
جدول طلایی امتحان
دستور
کاربرد
nmap <IP>اسکن معمولی
nmap -snHost Discovery (بدون اسکن پورت)
nmap -sSSYN Scan (Half Open)
nmap -sTTCP Connect Scan
nmap -sUUDP Scan
nmap -sVتشخیص سرویس و نسخه
nmap -Oتشخیص سیستمعامل
nmap -Aاسکن پیشرفته (OS + Version + Scripts + Traceroute)
nmap -p 80اسکن یک پورت
nmap -p 22,80,443اسکن چند پورت
nmap -p-اسکن همه پورتها
nmap --script vulnاجرای اسکریپتهای بررسی آسیبپذیری
👍2
مقدمه Lpic 1 ( intro)
=======
قسمت یک
خودکار و دفتر الزامی
کمال گرا هم نباشیم بچه خوبی باشیم
=======
قسمت دو
Linux در اصل یک Kernel (هسته سیستمعامل) است که توسط Linus Torvalds توسعه داده شد.
Kernel بهتنهایی برای ساخت یک سیستمعامل کامل کافی نبود و به ابزارها و برنامههای دیگری نیاز داشت.
بسیاری از این ابزارهای پایه در پروژه GNU توسعه داده شده بودند.
ترکیب GNU + Linux باعث شکلگیری سیستمهایی شد که معمولاً به آنها GNU/Linux میگوییم.
خلاصه:
مثلاً Debian، Ubuntu و AlmaLinux توزیعهای GNU/Linux هستند.
وبسایت های مهم
دانلود کرنل لینوکس
kernel.org
پروژه گنو
GNU.ORG
—————————
کامند زیر
اطلاعات Kernel را نمایش میدهد
=============
قسمت سوم
برای تست و تمرین بهتر است یک محیط مجازی (Virtual Lab) داشته باشیم تا در صورت خرابی، به سیستم اصلی آسیب نرسد.
نرمافزارهای معروف مجازیسازی:
VMware Workstation
Oracle VirtualBox
در این دوره از VMware Workstation برای ساخت ماشینهای مجازی استفاده میکنیم.
——————————————-
توزیعهای مختلف Linux 🐧
در این دوره بیشتر با دو خانواده کار میکنیم:
1. خانواده Red Hat
AlmaLinux
RHEL
Fedora
دانلود AlmaLinux: AlmaLinux
2. خانواده Debian
Debian
Ubuntu
Kali Linux
دانلود Debian: Debian
================
قسمت چهارم - نصب ماشین مجازی
Custom → آخرین نسخه Workstation
Installer Disk → گزینه
Operating System →
نام VM و محل ذخیره فایلها را انتخاب کنید.
CPU و RAM را متناسب با سیستم خود انتخاب کنید.
هنگام نصب میتوانید منابع بیشتری اختصاص دهید تا نصب سریعتر انجام شود.
Network: روی
I/O Controller: گزینه پیشفرض
Virtual Disk:
Disk: گزینه
Disk Size / Partition: به مقدار دلخواه و متناسب با نیاز VM انتخاب کنید.
در پایان تنظیمات را بررسی و Finish کنید.
===================
قسمت پنجم نصب AlmaLinux
Language: روی
Time & Date: منطقه زمانی را تنظیم کنید.
Keyboard:
Installation Destination: فقط هارد موردنظر را انتخاب کنید.
Software Selection: حالت
Network & Host Name: کارت شبکه را
Root Password: رمز Root را تعیین کنید.
User Creation: یک کاربر معمولی هم بسازید.
تنظیمات نصب را یکبار بررسی کنید و سپس Begin Installation را بزنید.
بعد از اتمام نصب، Reboot کنید و ISO را جدا کنید.
بعد از نصب
برای بررسی و انجام آپدیتها:
برای خاموش کردن سیستم:
Snapshot
قبل از تغییرات مهم در ماشین مجازی میتوانید Snapshot بگیرید تا در صورت خراب شدن تنظیمات، سیستم را به همان نقطه برگردانید.
====================
قسمت ششم نصب Debian
Language: English
Location: Iran
Keyboard: English (US)
Hostname: دست نزنید
Domain Name: خالی بگذارید
Root Password: رمز دلخواه
User: یک کاربر معمولی بسازید
Partitioning:
Guided — use entire disk
All files in one partition
Disk: دیسک موردنظر را انتخاب کنید
Write changes to disk: ابتدا
Package Manager: تنظیمات پیشفرض مناسب است
Mirror: در صورت وجود، Iran
Proxy: خالی
Package Usage Survey:
Software Selection:
SSH server ✅
Standard system utilities ✅
Desktop Environment ❌
GRUB:
GRUB Location: خود دیسک، مثلاً
نصب را تمام کنید و Reboot بزنید.
======================
قسمت هفتم — اتصال به سرور لینوکس از ویندوز 🐧
در لینوکس برای دیدن IP:
در Windows CMD ابتدا IP را Ping کنید:
سپس با SSH متصل شوید:
رمز Root را وارد کنید تا وارد سرور شوید.
==========================
قسمت هفتم - قسمت آخر INTRO : اتصال به سرور لینوکس از ویندوز
در لینوکس برای دیدن IP:
در Windows CMD ابتدا IP را Ping کنید:
سپس با SSH متصل شوید:
رمز Root را وارد کنید تا وارد سرور شوید.
====================
حتی اگر Debian یا AlmaLinux را با محیط گرافیکی (GUI) نصب کرده باشید، باز هم میتوانید با SSH به آن وصل شوید. ✅
تفاوت فقط این است که:
اگر GUI نصب باشد:
محیط دسکتاپ دارید + میتوانید SSH هم استفاده کنید.
نسخه Server/Minimal:
محیط گرافیکی ندارید و بیشتر با Terminal کار میکنید؛ SSH هم میتواند فعال باشد.
نکته مهم این است که SSH به داشتن یا نداشتن GUI وابسته نیست؛ باید سرویس SSH روی سیستم نصب و فعال باشد.
مثلاً در Debian:
و در AlmaLinux معمولاً:
پس انتخاب Server را به این دلیل انجام دادیم که برای دوره LPIC و مدیریت سرور، محیط بدون GUI سبکتر و مناسبتر است.
=======
قسمت یک
خودکار و دفتر الزامی
کمال گرا هم نباشیم بچه خوبی باشیم
=======
قسمت دو
Linux در اصل یک Kernel (هسته سیستمعامل) است که توسط Linus Torvalds توسعه داده شد.
Kernel بهتنهایی برای ساخت یک سیستمعامل کامل کافی نبود و به ابزارها و برنامههای دیگری نیاز داشت.
بسیاری از این ابزارهای پایه در پروژه GNU توسعه داده شده بودند.
ترکیب GNU + Linux باعث شکلگیری سیستمهایی شد که معمولاً به آنها GNU/Linux میگوییم.
خلاصه:
GNU = ابزارها و برنامههای پایه
+
Linux = Kernel
↓
GNU/Linux
مثلاً Debian، Ubuntu و AlmaLinux توزیعهای GNU/Linux هستند.
وبسایت های مهم
دانلود کرنل لینوکس
kernel.org
پروژه گنو
GNU.ORG
—————————
کامند زیر
uname -aاطلاعات Kernel را نمایش میدهد
=============
قسمت سوم
برای تست و تمرین بهتر است یک محیط مجازی (Virtual Lab) داشته باشیم تا در صورت خرابی، به سیستم اصلی آسیب نرسد.
نرمافزارهای معروف مجازیسازی:
VMware Workstation
Oracle VirtualBox
در این دوره از VMware Workstation برای ساخت ماشینهای مجازی استفاده میکنیم.
——————————————-
توزیعهای مختلف Linux 🐧
در این دوره بیشتر با دو خانواده کار میکنیم:
1. خانواده Red Hat
AlmaLinux
RHEL
Fedora
دانلود AlmaLinux: AlmaLinux
2. خانواده Debian
Debian
Ubuntu
Kali Linux
دانلود Debian: Debian
در ادامه دوره بیشتر تمرکز ما روی AlmaLinux و Debian خواهد بود.
================
قسمت چهارم - نصب ماشین مجازی
Custom → آخرین نسخه Workstation
Installer Disk → گزینه
Use ISOOperating System →
Linux → AlmaLinuxنام VM و محل ذخیره فایلها را انتخاب کنید.
CPU و RAM را متناسب با سیستم خود انتخاب کنید.
هنگام نصب میتوانید منابع بیشتری اختصاص دهید تا نصب سریعتر انجام شود.
Network: روی
NATI/O Controller: گزینه پیشفرض
LSI LogicVirtual Disk:
SATADisk: گزینه
Create a new virtual diskDisk Size / Partition: به مقدار دلخواه و متناسب با نیاز VM انتخاب کنید.
در پایان تنظیمات را بررسی و Finish کنید.
===================
قسمت پنجم نصب AlmaLinux
Language: روی
English بگذارید.Time & Date: منطقه زمانی را تنظیم کنید.
Keyboard:
English (US)Installation Destination: فقط هارد موردنظر را انتخاب کنید.
Software Selection: حالت
ServerNetwork & Host Name: کارت شبکه را
ON کنید و در صورت نیاز Hostname را تنظیم کنید.Root Password: رمز Root را تعیین کنید.
User Creation: یک کاربر معمولی هم بسازید.
تنظیمات نصب را یکبار بررسی کنید و سپس Begin Installation را بزنید.
بعد از اتمام نصب، Reboot کنید و ISO را جدا کنید.
بعد از نصب
برای بررسی و انجام آپدیتها:
dnf update
برای خاموش کردن سیستم:
halt -p
Snapshot
قبل از تغییرات مهم در ماشین مجازی میتوانید Snapshot بگیرید تا در صورت خراب شدن تنظیمات، سیستم را به همان نقطه برگردانید.
====================
قسمت ششم نصب Debian
Language: English
Location: Iran
Keyboard: English (US)
Hostname: دست نزنید
Domain Name: خالی بگذارید
Root Password: رمز دلخواه
User: یک کاربر معمولی بسازید
Partitioning:
Guided — use entire disk
All files in one partition
Disk: دیسک موردنظر را انتخاب کنید
Write changes to disk: ابتدا
No برای بررسی؛ بعد از اطمینان YesPackage Manager: تنظیمات پیشفرض مناسب است
Mirror: در صورت وجود، Iran
Proxy: خالی
Package Usage Survey:
NoSoftware Selection:
SSH server ✅
Standard system utilities ✅
Desktop Environment ❌
GRUB:
YesGRUB Location: خود دیسک، مثلاً
/dev/sdaنصب را تمام کنید و Reboot بزنید.
======================
قسمت هفتم — اتصال به سرور لینوکس از ویندوز 🐧
در لینوکس برای دیدن IP:
ip a
در Windows CMD ابتدا IP را Ping کنید:
ping YOUR_IP
سپس با SSH متصل شوید:
ssh root@YOUR_IP
رمز Root را وارد کنید تا وارد سرور شوید.
==========================
قسمت هفتم - قسمت آخر INTRO : اتصال به سرور لینوکس از ویندوز
در لینوکس برای دیدن IP:
ip a
در Windows CMD ابتدا IP را Ping کنید:
ping YOUR_IP
سپس با SSH متصل شوید:
ssh root@YOUR_IP
رمز Root را وارد کنید تا وارد سرور شوید.
====================
حتی اگر Debian یا AlmaLinux را با محیط گرافیکی (GUI) نصب کرده باشید، باز هم میتوانید با SSH به آن وصل شوید. ✅
تفاوت فقط این است که:
اگر GUI نصب باشد:
محیط دسکتاپ دارید + میتوانید SSH هم استفاده کنید.
نسخه Server/Minimal:
محیط گرافیکی ندارید و بیشتر با Terminal کار میکنید؛ SSH هم میتواند فعال باشد.
نکته مهم این است که SSH به داشتن یا نداشتن GUI وابسته نیست؛ باید سرویس SSH روی سیستم نصب و فعال باشد.
مثلاً در Debian:
systemctl status ssh
و در AlmaLinux معمولاً:
systemctl status sshd
پس انتخاب Server را به این دلیل انجام دادیم که برای دوره LPIC و مدیریت سرور، محیط بدون GUI سبکتر و مناسبتر است.
👏1
فصل اول دوره الپیک
===============================
قسمت اول
—————————
Terminal چیست؟
Terminal محیطی برای ارتباط و کار با سیستمعامل لینوکس است که از طریق آن میتوانیم دستورات را اجرا و سیستم را مدیریت کنیم.
—————————
Shell چیست؟
Shell یک رابط بین کاربر و Kernel است که دستورات کاربر را دریافت، تفسیر و اجرا میکند
—————————
Bash چیست؟
Bash (Bourne Again Shell) یکی از معروفترین Shellهای لینوکس است و علاوه بر اجرای دستورات، امکان Shell Scripting را هم فراهم میکند.
—————————
انواع Shell
—————————
Bash Script چیست؟
فایلی شامل مجموعهای از دستورات Bash است که میتوان آنها را بهصورت خودکار و پشتسرهم اجرا کرد.
مثلاً:
—————————
Command چیست؟
Command یا دستور، فرمانی است که به Shell میدهیم تا یک عملیات مشخص را انجام دهد.
مثلاً:
برای نمایش فایلها و پوشهها.
برای نمایش مسیر فعلی.
برای نمایش کاربر فعلی.
===============================
قسمت اول
—————————
Terminal چیست؟
Terminal محیطی برای ارتباط و کار با سیستمعامل لینوکس است که از طریق آن میتوانیم دستورات را اجرا و سیستم را مدیریت کنیم.
—————————
Shell چیست؟
Shell یک رابط بین کاربر و Kernel است که دستورات کاربر را دریافت، تفسیر و اجرا میکند
—————————
Bash چیست؟
Bash (Bourne Again Shell) یکی از معروفترین Shellهای لینوکس است و علاوه بر اجرای دستورات، امکان Shell Scripting را هم فراهم میکند.
—————————
انواع Shell
bashshcsh / tcshkshzshfish—————————
Bash Script چیست؟
فایلی شامل مجموعهای از دستورات Bash است که میتوان آنها را بهصورت خودکار و پشتسرهم اجرا کرد.
مثلاً:
#!/bin/bash
echo "Hello Linux"
—————————
Command چیست؟
Command یا دستور، فرمانی است که به Shell میدهیم تا یک عملیات مشخص را انجام دهد.
مثلاً:
ls
برای نمایش فایلها و پوشهها.
pwd
برای نمایش مسیر فعلی.
whoami
برای نمایش کاربر فعلی.
👏1
فصل اول دوره الپیک
===============================
قسمت دوم — آدرسدهی در لینوکس 🐧
——————
مخفف Print Working Directory است و مسیر کامل پوشهای که در حال حاضر داخل آن هستیم را نمایش میدهد.
مثال:
یعنی در حال حاضر داخل مسیر
=====================
قسمت سوم —فرمان های مقدماتی بخش اول 🐧
——————
نمایش نام سیستمعامل.
نمایش اطلاعات کامل سیستم و Kernel.
نمایش راهنمای دستور
رفتن به مسیر ریشه
رفتن یک پوشه به عقب.
برگشتن به مسیر قبلی.
———————
نمایش فایلها و پوشههای مسیر فعلی.
نمایش تمام فایلها، حتی فایلهای مخفی.
=====================
قسمت چهارم —فرمان های مقدماتی بخش دوم 🐧
——————
همهچیز در لینوکس فایل است؛ حتی Deviceها و بسیاری از منابع سیستم بهصورت فایل نمایش داده میشوند.
————-
Built-in چیست؟
دستورهایی که داخل خود Shell وجود دارند و نیازی به فایل اجرایی جداگانه ندارند.
مثال:
—————-
برای نمایش محتوای فایل بهصورت صفحهبهصفحه:
—————-
نمایش ابتدای فایل:
نمایش تعداد مشخصی خط:
نمایش انتهای فایل:
نمایش تعداد مشخصی خط:
نمایش محتوای فایل:
نمایش همراه با شماره خط:
—————-
مشخص میکند یک Command از چه نوعی است:
مثلاً ممکن است نشان دهد
=====================
قسمت پنجم —ایجاد یک فایل 🐧
——————
برای چاپ متن در Terminal:
نمایش همه موارد موجود در مسیر با
————————
علامت
برای Redirect کردن خروجی به داخل فایل استفاده میشود.
اگر فایل وجود نداشته باشد، ساخته میشود؛ اگر وجود داشته باشد، محتوای قبلی پاک و جایگزین میشود.
——————————
برای ایجاد فایل خالی:
مثلاً:
فایل
حالا با دستور زیر مثلا alireza زیر فایل test ساخته میشود
===============================
قسمت دوم — آدرسدهی در لینوکس 🐧
——————
pwdمخفف Print Working Directory است و مسیر کامل پوشهای که در حال حاضر داخل آن هستیم را نمایش میدهد.
pwd
مثال:
/home/alireza
یعنی در حال حاضر داخل مسیر
/home/alireza قرار داریم.=====================
قسمت سوم —فرمان های مقدماتی بخش اول 🐧
——————
unameنمایش نام سیستمعامل.
uname
uname -aنمایش اطلاعات کامل سیستم و Kernel.
uname -a
uname --helpنمایش راهنمای دستور
uname.uname --help
—————-
cd — تغییر مسیرcd /
رفتن به مسیر ریشه
/cd ..
رفتن یک پوشه به عقب.
cd -
برگشتن به مسیر قبلی.
———————
ls — نمایش فایلها و پوشههاls
نمایش فایلها و پوشههای مسیر فعلی.
ls -a
نمایش تمام فایلها، حتی فایلهای مخفی.
=====================
قسمت چهارم —فرمان های مقدماتی بخش دوم 🐧
——————
همهچیز در لینوکس فایل است؛ حتی Deviceها و بسیاری از منابع سیستم بهصورت فایل نمایش داده میشوند.
————-
Built-in چیست؟
دستورهایی که داخل خود Shell وجود دارند و نیازی به فایل اجرایی جداگانه ندارند.
مثال:
cd
type
—————-
more و lessبرای نمایش محتوای فایل بهصورت صفحهبهصفحه:
more file.txt
less file.txt
less امکانات بیشتری برای جستوجو و حرکت دارد.—————-
headنمایش ابتدای فایل:
head file.txt
نمایش تعداد مشخصی خط:
head -n 5 file.txt
—————-
tailنمایش انتهای فایل:
tail file.txt
نمایش تعداد مشخصی خط:
tail -n 5 file.txt
—————-
catنمایش محتوای فایل:
cat file.txt
نمایش همراه با شماره خط:
cat -n file.txt
—————-
typeمشخص میکند یک Command از چه نوعی است:
type cd
type ls
مثلاً ممکن است نشان دهد
cd یک Shell Built-in است.=====================
قسمت پنجم —ایجاد یک فایل 🐧
——————
echoبرای چاپ متن در Terminal:
echo "hello"
نمایش همه موارد موجود در مسیر با
*:echo *
————————
علامت
>برای Redirect کردن خروجی به داخل فایل استفاده میشود.
echo "alireza" > test
اگر فایل وجود نداشته باشد، ساخته میشود؛ اگر وجود داشته باشد، محتوای قبلی پاک و جایگزین میشود.
——————————
touchبرای ایجاد فایل خالی:
touch test
مثلاً:
touch test.txt
فایل
test.txt ساخته میشود.حالا با دستور زیر مثلا alireza زیر فایل test ساخته میشود
echo "alireza" > test
👏4
قسمت ششم — متغیرها 🐧
——————————
Variable محلی برای نگهداری اطلاعات در Shell است؛ مثل متن، عدد یا مسیر.
نمایش متغیرهای محیطی:
نمایش مقدار یک متغیر:
——————————
تعداد سطحهای Shell فعلی را نشان میدهد:
یک متغیر را به Environment Variable تبدیل میکند تا Shellهای فرزند نیز آن را داشته باشند:
بهصورت پیشفرض متغیرهای ساختهشده در Shell Local هستند؛ با
ظاهر Prompt ترمینال را مشخص میکند:
مسیرهایی را مشخص میکند که Shell برای پیدا کردن دستورات در آنها جستوجو میکند:
مثلاً وقتی مینویسیم:
Shell مسیرهای موجود در
====================
قسمت هفتم — لاگ فعالیت شما 🐧
—————
نمایش دستورهایی که قبلاً اجرا کردهایم:
اجرای یک دستور از History
مثلاً:
دستور شماره 343 را دوباره اجرا میکند.
نکته
اگر قبل از یک Command یک Space بگذارید، در History ذخیره نمیشود؛ البته این رفتار به تنظیم
———————————-
مشخص میکند History در کدام فایل ذخیره شود:
معمولاً:
پاک کردن History فعلی Shell:
خواندن History از فایل:
نوشتن History فعلی در فایل:
فایل معمول ذخیره History مربوط به Bash است:
====================
قسمت هشتم — کمک گرفتن 🐧
—————
در بسیاری از دستورات،
البته
————————
روش عمومیتر برای گرفتن راهنمای دستور:
معمولاً Syntax، Optionها و کاربرد دستور را نمایش میدهد.
————————
مخفف Manual است و مستندات کامل یک دستور را نمایش میدهد:
داخل
راهنمای خود دستور
برای جستوجوی کلمه در عنوان و توضیحات Manualها:
دستورهای مرتبط با
————————
نمایش Exit Status آخرین دستور اجراشده:
معمولاً:
مثال:
اگر
====================
——————————
Variable محلی برای نگهداری اطلاعات در Shell است؛ مثل متن، عدد یا مسیر.
envنمایش متغیرهای محیطی:
env
-------------
echoنمایش مقدار یک متغیر:
echo $HOME
echo $SHELL
$HOME → مسیر Home کاربر$SHELL → Shell پیشفرض کاربر——————————
SHLVLتعداد سطحهای Shell فعلی را نشان میدهد:
echo $SHLVL
---------------
exportیک متغیر را به Environment Variable تبدیل میکند تا Shellهای فرزند نیز آن را داشته باشند:
export NAME=Alireza
بهصورت پیشفرض متغیرهای ساختهشده در Shell Local هستند؛ با
export به محیط فرزند منتقل میشوند.PS1ظاهر Prompt ترمینال را مشخص میکند:
echo $PS1
------------------
PATHمسیرهایی را مشخص میکند که Shell برای پیدا کردن دستورات در آنها جستوجو میکند:
echo $PATH
مثلاً وقتی مینویسیم:
ls
Shell مسیرهای موجود در
PATH را برای پیدا کردن دستور ls بررسی میکند.====================
قسمت هفتم — لاگ فعالیت شما 🐧
—————
historyنمایش دستورهایی که قبلاً اجرا کردهایم:
history
اجرای یک دستور از History
مثلاً:
!343
دستور شماره 343 را دوباره اجرا میکند.
نکته
اگر قبل از یک Command یک Space بگذارید، در History ذخیره نمیشود؛ البته این رفتار به تنظیم
HISTCONTROL بستگی دارد.———————————-
$HISTFILEمشخص میکند History در کدام فایل ذخیره شود:
echo $HISTFILE
معمولاً:
~/.bash_history
------------------
history -cپاک کردن History فعلی Shell:
history -c
history -rخواندن History از فایل:
history -r
history -wنوشتن History فعلی در فایل:
history -w
.bash_historyفایل معمول ذخیره History مربوط به Bash است:
~/.bash_history
نکته:
historyبرای مدیریت History داخل Shell است و
.bash_historyمعمولاً محل ذخیره دائمی آن روی دیسک است.
====================
قسمت هشتم — کمک گرفتن 🐧
—————
-hدر بسیاری از دستورات،
-h برای نمایش Help کوتاه استفاده میشود:ls -h
البته
-h در همه دستورات معنی یکسانی ندارد؛ مثلاً در ls معمولاً خروجی را خواناتر میکند.————————
--helpروش عمومیتر برای گرفتن راهنمای دستور:
ls --help
معمولاً Syntax، Optionها و کاربرد دستور را نمایش میدهد.
————————
manمخفف Manual است و مستندات کامل یک دستور را نمایش میدهد:
man ls
داخل
man میتوانی:↑ ↓ → حرکت/word → جستوجوn → نتیجه بعدیq → خروجman manراهنمای خود دستور
man:man man
man -kبرای جستوجوی کلمه در عنوان و توضیحات Manualها:
man -k passwd
دستورهای مرتبط با
passwd را پیدا میکند.————————
echo $?نمایش Exit Status آخرین دستور اجراشده:
echo $?
معمولاً:
0 → موفق
1+ → خطا / وضعیت غیرموفق
مثال:
ls
echo $?
اگر
ls با موفقیت اجرا شود، معمولاً 0 میبینیم.====================
❤1👏1
قسمت نهم — ویرایشگر فایل های متنی 🐧
—————
در لینوکس برای ایجاد و ویرایش فایلهای متنی از Editorها استفاده میکنیم.
ویرایشگر استاندارد و قدیمی لینوکس:
دو حالت مهم دارد:
Command Mode → اجرای دستورات
Insert Mode → نوشتن متن
ورود به حالت نوشتن:
خروج:
ذخیره و خروج:
خروج بدون ذخیره:
نسخه پیشرفتهتر
در سرورها و محیطهای حرفهای بسیار پرکاربرد است.
—————————-
ویرایشگر سادهتر و مناسب افراد تازهکار:
در پایین صفحه میانبرها نمایش داده میشوند.
=====================
قسمت دهم — شروع کار با vi 🐧
—————
1. Command Mode
حالت پیشفرض برای اجرای دستورات و حرکت داخل فایل.
2. Insert Mode
برای نوشتن و ویرایش متن.
از Command Mode:
برای برگشت به Command Mode:
3. Ex Mode
برای ذخیره، خروج و دستورات مدیریتی فایل.
ابتدا
دستورات مهمتر
نکته مهم
برای خروج از هر حالت و برگشت به Command Mode:
پس ترتیب اصلی را اینطور به خاطر بسپار:
Command Mode →
=====================
قسمت یازدهم — شروع کار با nano 🐧
—————
باز کردن یا ایجاد فایل
دستورات مهم Nano
ذخیره و خروج
بعد از ویرایش:
یعنی:
Save → تأیید نام فایل → Exit
=====================
—————
در لینوکس برای ایجاد و ویرایش فایلهای متنی از Editorها استفاده میکنیم.
viویرایشگر استاندارد و قدیمی لینوکس:
vi test.txt
دو حالت مهم دارد:
Command Mode → اجرای دستورات
Insert Mode → نوشتن متن
ورود به حالت نوشتن:
i
خروج:
Esc
ذخیره و خروج:
:wq
خروج بدون ذخیره:
:q!
---------------
vimنسخه پیشرفتهتر
vi با امکانات بیشتر:vim test.txt
در سرورها و محیطهای حرفهای بسیار پرکاربرد است.
—————————-
nanoویرایشگر سادهتر و مناسب افراد تازهکار:
nano test.txt
در پایین صفحه میانبرها نمایش داده میشوند.
Ctrl + O → ذخیرهCtrl + X → خروجCtrl + W → جستوجوبرای LPIC باید حداقل vi/vim را بلد باشیم، چون ممکن است روی سرور فقط همین Editor در دسترس باشد.
=====================
قسمت دهم — شروع کار با vi 🐧
—————
vi سه حالت اصلی دارد:1. Command Mode
حالت پیشفرض برای اجرای دستورات و حرکت داخل فایل.
vi test.txt
h → چپj → پایینk → بالاl → راست0 → ابتدای خط$ → انتهای خطgg → ابتدای فایلG → انتهای فایلdd → حذف خطyy → کپی خطp → Pasteu → UndoCtrl + r → Redo/text → جستوجوn → نتیجه بعدیx → حذف یک کاراکتر2. Insert Mode
برای نوشتن و ویرایش متن.
از Command Mode:
i → نوشتن از محل فعلی
a → نوشتن بعد از کاراکتر فعلی
o → ایجاد خط جدید زیر خط فعلی
O → ایجاد خط جدید بالای خط فعلی
برای برگشت به Command Mode:
Esc
3. Ex Mode
برای ذخیره، خروج و دستورات مدیریتی فایل.
ابتدا
: بزنید::w ذخیره
:q خروج
:wq ذخیره و خروج
:q! خروج بدون ذخیره
:w! ذخیره اجباری
:x ذخیره و خروج
دستورات مهمتر
vidw حذف یک کلمه
D حذف از محل فعلی تا انتهای خط
dG حذف تا انتهای فایل
cw تغییر یک کلمه
cc تغییر کل خط
C تغییر تا انتهای خط
r جایگزینی یک کاراکتر
R ورود به حالت Replace
J چسباندن خط بعدی به خط فعلی
. تکرار آخرین دستور
نکته مهم
برای خروج از هر حالت و برگشت به Command Mode:
Esc
پس ترتیب اصلی را اینطور به خاطر بسپار:
Command Mode →
i → Insert Mode → Esc → Command Mode → : → Ex Mode=====================
قسمت یازدهم — شروع کار با nano 🐧
—————
nano یک ویرایشگر متنی ساده و مناسب برای ویرایش فایلها در لینوکس است.باز کردن یا ایجاد فایل
nano test.txt
دستورات مهم Nano
Ctrl + O → ذخیره فایلCtrl + X → خروجCtrl + W → جستوجوCtrl + K → حذف/بریدن یک خطCtrl + U → برگرداندن خط Cut شدهCtrl + G → نمایش راهنماCtrl + C → نمایش موقعیت CursorCtrl + _ → رفتن به شماره خط مشخصAlt + U → UndoAlt + E → Redoذخیره و خروج
بعد از ویرایش:
Ctrl + O
Enter
Ctrl + X
یعنی:
Save → تأیید نام فایل → Exit
=====================
👍1👏1
قسمت دوازدهم — پردازش فایل ها 🐧
—————
. فرمان
دستور
نمایش محتویات فایل
مثلاً:
—————-
نمایش چند فایل پشت سر هم
محتوای
—————-
ترکیب دو فایل در فایل جدید
یعنی:
مثلاً:
⚠️ اگر
—————-
نمایش فایل جدید
—————-
اضافه کردن به انتهای فایل
برای اضافه کردن محتوا بدون پاک کردن محتوای قبلی:
تفاوت:
جایگزین میکند.
به انتهای فایل اضافه میکند.
—————-
نمایش شماره خطوط
مثلاً:
—————-
گزینههای مهم
شمارهگذاری خطوط
شمارهگذاری خطوط غیرخالی
نمایش کاراکترهای مخفی
=—————————=
فرمان
دستور
فرض کنیم:
alireza1
alireza2
حالا:
خروجی:
یعنی برخلاف
—————-
ذخیره خروجی
بعد:
——————
تغییر جداکننده
بهصورت پیشفرض جداکننده
میتوانیم با
خروجی:
مثلاً برای
———————
فرمان
برای مشاهده محتوای فایل به شکل عددی و مخصوصاً بررسی دادههای باینری استفاده میشود.
محتوای فایل را به صورت اعداد اکتال نمایش میدهد.
—————-
نمایش Hexadecimal
گزینه
مثلاً:
—————-
نمایش ASCII
کاراکترها را نمایش میدهد.
نمایش Hex + ASCII
یکی از حالتهای کاربردی:
برای بررسی فایلهای باینری و کاراکترهای مخفی بسیار مفید است.
=—————————=
فرمان
مثلاً:
به صورت پیشفرض فایل را به بخشهایی تقسیم میکند.
فایلهایی شبیه:
ساخته میشوند.
——————
تقسیم بر اساس تعداد خطوط
مثلاً هر فایل حداکثر 100 خط داشته باشد:
یا:
————————
تعیین Prefix
بهصورت پیشفرض نام فایلها با
میتوانیم خودمان Prefix تعیین کنیم:
خروجی:
———————-
تقسیم بر اساس حجم
مثلاً هر قسمت 1MB:
یا:
مثلاً 500KB:
———————-
تقسیم به تعداد مشخص فایل
با
فایل را به 5 قسمت تقسیم میکند.
—————————-
ترکیب دوباره فایلهای split شده
اگر فایلها:
باشند:
یا:
=——————————=
5. فرمان
مثلاً:
حالا:
خروجی:
——————
مرتبسازی برعکس
فرض کنیم:
اگر بزنیم:
ممکن است ترتیب لغوی بگیریم:
برای مرتبسازی عددی:
نتیجه:
—————-
حذف خطوط تکراری هنگام Sort
=—————————-=
فرمان
مثلاً:
اجرای:
نتیجه:
⚠️ نکته بسیار مهم LPIC:
مثلاً:
با:
هیچ
برای حذف تمام موارد تکراری:
یا کوتاهتر:
تعداد تکرارها
مثلاً:
فقط خطوط تکراری
—————
. فرمان
catدستور
cat مخفف Concatenate است و برای نمایش، ترکیب و ایجاد فایلهای متنی استفاده میشود.نمایش محتویات فایل
cat alireza1
مثلاً:
ali
reza
linux
—————-
نمایش چند فایل پشت سر هم
cat alireza1 alireza2
محتوای
alireza1 و سپس alireza2 نمایش داده میشود.—————-
ترکیب دو فایل در فایل جدید
cat alireza1 alireza2 > alireza3
یعنی:
alireza1 + alireza2 → alireza3
مثلاً:
cat file1.txt file2.txt > file3.txt
⚠️ اگر
alireza3 از قبل وجود داشته باشد، محتوای قبلی آن پاک و جایگزین میشود.—————-
نمایش فایل جدید
cat alireza3
—————-
اضافه کردن به انتهای فایل
برای اضافه کردن محتوا بدون پاک کردن محتوای قبلی:
cat alireza1 alireza2 >> alireza3
تفاوت:
>
جایگزین میکند.
>>
به انتهای فایل اضافه میکند.
—————-
نمایش شماره خطوط
cat -n alireza1
مثلاً:
1 ali
2 reza
3 linux
—————-
گزینههای مهم
cat:cat -n file
شمارهگذاری خطوط
cat -b file
شمارهگذاری خطوط غیرخالی
cat -A file
نمایش کاراکترهای مخفی
=—————————=
فرمان
pasteدستور
paste فایلها را خطبهخط کنار یکدیگر قرار میدهد.فرض کنیم:
alireza1
Ali
Reza
Hassan
alireza2
20
25
30
حالا:
paste alireza1 alireza2
خروجی:
Ali 20
Reza 25
Hassan 30
یعنی برخلاف
cat که فایلها را پشت سر هم قرار—————-
ذخیره خروجی
paste alireza1 alireza2 > alireza4
بعد:
cat alireza4
——————
تغییر جداکننده
بهصورت پیشفرض جداکننده
Tab است.میتوانیم با
-d جداکننده تعیین کنیم:paste -d ',' alireza1 alireza2
خروجی:
Ali,20
Reza,25
Hassan,30
مثلاً برای
::paste -d ':' alireza1 alireza2
———————
فرمان
odod مخفف Octal Dump است.برای مشاهده محتوای فایل به شکل عددی و مخصوصاً بررسی دادههای باینری استفاده میشود.
od alireza1
محتوای فایل را به صورت اعداد اکتال نمایش میدهد.
—————-
نمایش Hexadecimal
od -x alireza1
گزینه
-x دادهها را به صورت Hexadecimal نمایش میدهد.مثلاً:
0000000 6c41 0a69 6572
—————-
نمایش ASCII
od -c alireza1
کاراکترها را نمایش میدهد.
نمایش Hex + ASCII
یکی از حالتهای کاربردی:
od -Ax -tx1z alireza1
برای بررسی فایلهای باینری و کاراکترهای مخفی بسیار مفید است.
=—————————=
فرمان
splitsplit برای تقسیم کردن یک فایل بزرگ به چند فایل کوچکتر استفاده میشود.مثلاً:
split alireza.txt
به صورت پیشفرض فایل را به بخشهایی تقسیم میکند.
فایلهایی شبیه:
xaa
xab
xac
xad
ساخته میشوند.
——————
تقسیم بر اساس تعداد خطوط
مثلاً هر فایل حداکثر 100 خط داشته باشد:
split -l 100 alireza.txt
یا:
split --lines=100 alireza.txt
————————
تعیین Prefix
بهصورت پیشفرض نام فایلها با
x شروع میشود.میتوانیم خودمان Prefix تعیین کنیم:
split -l 100 alireza.txt part_
خروجی:
part_aa
part_ab
part_ac
———————-
تقسیم بر اساس حجم
مثلاً هر قسمت 1MB:
split -b 1M alireza.txt
یا:
split --bytes=1M alireza.txt
مثلاً 500KB:
split -b 500K alireza.txt
———————-
تقسیم به تعداد مشخص فایل
با
-n:split -n 5 alireza.txt
فایل را به 5 قسمت تقسیم میکند.
—————————-
ترکیب دوباره فایلهای split شده
اگر فایلها:
xaa
xab
xac
باشند:
cat xaa xab xac > original.txt
یا:
cat xa* > original.txt
=——————————=
5. فرمان
sortsort برای مرتب کردن خطوط فایل استفاده میشود.مثلاً:
cat names.txt
Reza
Ali
Hassan
Mohammad
حالا:
sort names.txt
خروجی:
Ali
Hassan
Mohammad
Reza
——————
مرتبسازی برعکس
sort -r names.txt
فرض کنیم:
100
20
5
30
اگر بزنیم:
sort numbers.txt
ممکن است ترتیب لغوی بگیریم:
100
20
30
5
برای مرتبسازی عددی:
sort -n numbers.txt
نتیجه:
5
20
30
100
—————-
حذف خطوط تکراری هنگام Sort
sort -u names.txt
u یعنی Unique.=—————————-=
فرمان
uniquniq خطوط تکراری را حذف میکند.مثلاً:
Ali
Ali
Reza
Reza
Reza
Hassan
اجرای:
uniq names.txt
نتیجه:
Ali
Reza
Hassan
⚠️ نکته بسیار مهم LPIC:
uniq فقط تکرارهای پشت سر هم را حذف میکند.مثلاً:
Ali
Reza
Ali
با:
uniq file
هیچ
Aliای حذف نمیشود.برای حذف تمام موارد تکراری:
sort file | uniq
یا کوتاهتر:
sort -u file
تعداد تکرارها
uniq -c names.txt
مثلاً:
2 Ali
3 Reza
1 Hassan
فقط خطوط تکراری
uniq -d names.txt
👏1
فرمان
دو نوع اصلی Link داریم:
Hard Link
حالا دو نام برای یک داده داریم:
اگر یکی را حذف کنیم، داده تا زمانی که لینک دیگری وجود دارد باقی میماند.
—————————
Symbolic Link
با
ساختار:
برای دیدن:
مثلاً:
تفاوت مهم
Hard Link
——————————
فرمان
برای مشاهده فایلهای بزرگ استفاده میشود.
برخلاف
کلیدهای مهم:
مثلاً:
بعد:
برای پیدا کردن
———————————-
فرمان
مشابه
برای حرکت:
تفاوت معروف:
—————————————
فرمان
برای نمایش ابتدای فایل استفاده میشود.
بهصورت پیشفرض 10 خط اول را نمایش میدهد.
نمایش 5 خط اول
یا:
نمایش تعداد بایت
20 بایت اول را نمایش میدهد.
——————————-
فرمان
برعکس
10 خط آخر را نمایش میدهد.
5 خط آخر
———————————
⭐️ دستورات مهمی که برای LPIC-1 باید مسلط باشی
و از همه مهمتر، ترکیب این دستورات با
lnln برای ایجاد Link بین فایلها استفاده میشود.دو نوع اصلی Link داریم:
Hard Link
Symbolic Link
Hard Link
ln alireza.txt backup.txt
حالا دو نام برای یک داده داریم:
alireza.txt
backup.txt
↓
همان inode
اگر یکی را حذف کنیم، داده تا زمانی که لینک دیگری وجود دارد باقی میماند.
—————————
Symbolic Link
با
-s:ln -s alireza.txt shortcut.txt
ساختار:
shortcut.txt → alireza.txt
برای دیدن:
ls -l
مثلاً:
shortcut.txt -> alireza.txt
تفاوت مهم
ln file hard
Hard Link
ln -s file soft
——————————
فرمان
lessبرای مشاهده فایلهای بزرگ استفاده میشود.
less /var/log/syslog
برخلاف
cat لازم نیست کل فایل را یکجا روی صفحه نمایش دهد.کلیدهای مهم:
Space صفحه بعد
b صفحه قبل
↑ یک خط بالا
↓ یک خط پایین
g ابتدای فایل
G انتهای فایل
q خروج
/word جستجو
n نتیجه بعدی جستجو
N نتیجه قبلی
مثلاً:
less /var/log/syslog
بعد:
/ssh
برای پیدا کردن
ssh.———————————-
فرمان
moreمشابه
less است:more file.txt
برای حرکت:
Space صفحه بعد
Enter یک خط جلو
q خروج
تفاوت معروف:
lessامکانات بیشتری دارد و معمولاً انتخاب بهتری برای مشاهده فایلهای بزرگ است.
—————————————
فرمان
headبرای نمایش ابتدای فایل استفاده میشود.
head file.txt
بهصورت پیشفرض 10 خط اول را نمایش میدهد.
نمایش 5 خط اول
head -n 5 file.txt
یا:
head -5 file.txt
نمایش تعداد بایت
head -c 20 file.txt
20 بایت اول را نمایش میدهد.
——————————-
فرمان
tailبرعکس
head، انتهای فایل را نمایش میدهد.tail file.txt
10 خط آخر را نمایش میدهد.
5 خط آخر
tail -n 5 file.txt
———————————
⭐️ دستورات مهمی که برای LPIC-1 باید مسلط باشی
cat
cat -n
paste
paste -d
od
od -x
split
split -l
split -b
split -n
sort
sort -n
sort -r
sort -u
uniq
uniq -c
uniq -d
ln
ln -s
less
more
head
tail
tail -f
و از همه مهمتر، ترکیب این دستورات با
| و > و >> است؛ چون در مباحث بعدی LPIC مرتب با آنها کار خواهیم کرد.👏2
مهمترین کاربرد tail در مدیریت سرور 🔥
گزینه
یعنی فایل را زنده دنبال کن.
هر چیزی که به انتهای فایل اضافه شود، بلافاصله نمایش داده میشود.
این برای مشاهده Live Log بسیار مهم است.
مثلاً:
برای مشاهده لحظهای لاگهای احراز هویت.
خروج:
گزینه
-f:tail -f /var/log/syslog
یعنی فایل را زنده دنبال کن.
هر چیزی که به انتهای فایل اضافه شود، بلافاصله نمایش داده میشود.
این برای مشاهده Live Log بسیار مهم است.
مثلاً:
tail -f /var/log/auth.log
برای مشاهده لحظهای لاگهای احراز هویت.
خروج:
Ctrl + C
👏1
ترکیب دستورات 🔥
قدرت واقعی این دستورات زمانی مشخص میشود که آنها را با Pipe (
مثلاً:
یعنی:
یا:
تعداد تکرار هر نام را نشان میدهد.
قدرت واقعی این دستورات زمانی مشخص میشود که آنها را با Pipe (
|) ترکیب کنیم.مثلاً:
cat names.txt | sort | uniq
یعنی:
cat
↓
خواندن فایل
↓
sort
↓
مرتب کردن
↓
uniq
↓
حذف تکراریها
یا:
sort names.txt | uniq -c
تعداد تکرار هر نام را نشان میدهد.
👏1
یک مثال واقعیتر
فرض کن لاگ SSH داریم:
این زنجیره:
برای Linux Administration و Security بسیار مهم است.
فرض کن لاگ SSH داریم:
cat /var/log/auth.log | grep "Failed" | sort | uniq -c
این زنجیره:
auth.log
↓
پیدا کردن Failed
↓
مرتب کردن
↓
شمردن موارد تکراری
برای Linux Administration و Security بسیار مهم است.
👏2
قسمت سیزدهم — خلاصه کردن فایل ها 🐧
——————
برای شمارش خط، کلمه و کاراکتر/بایت فایل استفاده میشود:
فقط تعداد خطوط:
——————————————
برای جدا کردن بخشهایی از هر خط استفاده میشود.
مثلاً فایل
ذخیره خروجی در فایل:
————————
برای تولید MD5 Hash فایل:
برای تولید SHA-256 Hash:
برای تولید SHA-512 Hash:
==================
قسمت چهاردهم — جستجو با فرمان grep 🐧
——————
خط (Line) چیست؟
در فایلهای متنی، هر بخش از متن که با Enter از بخش بعدی جدا شود، یک Line محسوب میشود.
ساختار کلی:
مثالهای ساده
جستجوی یک کلمه در فایل:
جستجوی بدون حساسیت به حروف بزرگ و کوچک:
نمایش شماره خط:
جستجوی چند کلمه:
جستجو در خروجی یک Command
با Pipe:
یعنی خروجی
مدلهای مهم جستجو با
1. جستجوی معمولی
2. جستجوی معکوس —
خطوطی که شامل کلمه نیستند:
3. جستجوی بدون حساسیت —
4. نمایش شماره خط —
5. جستجوی کلمه کامل —
مثلاً
6. جستجوی بازگشتی —
جستجو داخل پوشه و زیرپوشهها:
7. نمایش تعداد Matchها —
ترکیب چند Option
یعنی:
نکته مهم
مثلاً:
خطهایی را پیدا میکند که با یک یا چند عدد شروع میشوند.
=======================
——————
wcبرای شمارش خط، کلمه و کاراکتر/بایت فایل استفاده میشود:
wc ali
فقط تعداد خطوط:
wc -l ali
——————————————
cutبرای جدا کردن بخشهایی از هر خط استفاده میشود.
مثلاً فایل
/etc/passwd با : جدا شده است:cut -d ":" -f 1-7 /etc/passwd
ذخیره خروجی در فایل:
cut -d ":" -f 1-7 /etc/passwd > user_shell
-d → مشخص کردن جداکننده-f → انتخاب Field————————
md5sumبرای تولید MD5 Hash فایل:
md5sum alireza
-----
sha256sumبرای تولید SHA-256 Hash:
sha256sum alireza
----------
sha512sumبرای تولید SHA-512 Hash:
sha512sum alireza
Hash برای بررسی Integrity فایل کاربرد دارد؛ اگر محتوای فایل تغییر کند، Hash آن نیز تغییر میکند.
==================
قسمت چهاردهم — جستجو با فرمان grep 🐧
——————
خط (Line) چیست؟
در فایلهای متنی، هر بخش از متن که با Enter از بخش بعدی جدا شود، یک Line محسوب میشود.
grep چیست؟grep برای جستجو و پیدا کردن متن، کلمه یا الگو (Pattern) داخل فایلها و خروجی دستورات استفاده میشود.ساختار کلی:
grep [option] "pattern" file
مثالهای ساده
جستجوی یک کلمه در فایل:
grep "root" /etc/passwd
جستجوی بدون حساسیت به حروف بزرگ و کوچک:
grep -i "root" /etc/passwd
نمایش شماره خط:
grep -n "root" /etc/passwd
جستجوی چند کلمه:
grep -E "root|admin|user" /etc/passwd
جستجو در خروجی یک Command
با Pipe:
ps aux | grep ssh
یعنی خروجی
ps aux را به grep میدهیم تا فقط خطوط مربوط به ssh نمایش داده شوند.مدلهای مهم جستجو با
grep1. جستجوی معمولی
grep "linux" file.txt
2. جستجوی معکوس —
-vخطوطی که شامل کلمه نیستند:
grep -v "linux" file.txt
3. جستجوی بدون حساسیت —
-igrep -i "Linux" file.txt
4. نمایش شماره خط —
-ngrep -n "linux" file.txt
5. جستجوی کلمه کامل —
-wgrep -w "root" /etc/passwd
مثلاً
root را پیدا میکند ولی root123 را Match نمیکند.6. جستجوی بازگشتی —
-rجستجو داخل پوشه و زیرپوشهها:
grep -r "password" /etc/
7. نمایش تعداد Matchها —
-cgrep -c "root" /etc/passwd
ترکیب چند Option
grep -in "error" logfile
یعنی:
-i → حساس نبودن به حروف-n → نمایش شماره خط"error" → عبارت جستجوlogfile → فایل موردنظرنکته مهم
grep فقط برای جستجوی یک کلمه نیست؛ میتوانیم با Regular Expression (Regex) الگوهای پیچیدهتر هم جستجو کنیم.مثلاً:
grep -E "^[0-9]+" file.txt
خطهایی را پیدا میکند که با یک یا چند عدد شروع میشوند.
=======================
❤1👏1