My folder vip
76 subscribers
202 photos
82 videos
622 files
499 links
آرشیو یادگیری هک/امنیت

اینجا فولدر شخصی من برای یادگیری و ثبت مطالب Linux، Networking و Cyber Security است.

🔐 LPIC | Network+ | CEH | SANS
🐧 Linux & System Administration
🌐 Networking & Troubleshooting
💻 Python & Security Tools
🧪 Labs | CTF | Prac
Download Telegram
این بخش دقیقاً مربوط به Network Troubleshooting Tools در CompTIA Network+ است و از مهم‌ترین بخش‌های آزمون محسوب می‌شود. در ادامه هر ابزار را با کاربرد، مهم‌ترین دستورها، خروجی‌ها و نکات امتحانی توضیح می‌دهم.

================

1) Ping
Ping برای بررسی ارتباط بین دو دستگاه در شبکه استفاده می‌شود.
از پروتکل ICMP (Internet Control Message Protocol) استفاده می‌کند و بسته‌های ICMP Echo Request ارسال می‌کند. اگر مقصد در دسترس باشد، ICMP Echo Reply برمی‌گرداند.
کاربردها
بررسی اتصال به شبکه
بررسی دسترسی به سرور
اندازه‌گیری تأخیر (Latency)
بررسی Packet Loss
تست عملکرد DNS (اگر به‌جای IP، نام دامنه را Ping کنی)
ساختار دستور
ویندوز
ping 8.8.8.8

لینوکس
ping 8.8.8.8

خروجی موفق
Reply from 8.8.8.8:
bytes=32
time=18ms
TTL=118

معنی هر قسمت
bytes: اندازه بسته (معمولاً 32 بایت در ویندوز)
time: زمان رفت و برگشت (Round Trip Time)
TTL (Time To Live): تعداد Hopهای باقی‌مانده
آمار پایان Ping
Packets: Sent = 4
Received = 4
Lost = 0 (0% loss)

اگر Lost = 0% باشد، ارتباط سالم است.

=====================

خطاهای رایج Ping
1. Request timed out
Request timed out

معنی:
پاسخی از مقصد دریافت نشد.
دلایل:
خاموش بودن مقصد
قطع ارتباط
Firewall
Packet Loss
2. Destination host unreachable
Destination host unreachable

معنی:
سیستم یا Gateway مسیر رسیدن به مقصد را پیدا نکرده است.
دلایل:
IP اشتباه
Gateway اشتباه
Route وجود ندارد
3. General failure
General failure

معنی:
مشکل در تنظیمات شبکه سیستم.
4. Ping request could not find host
Ping request could not find host

معنی:
DNS نتوانسته نام دامنه را به IP تبدیل کند.

=====================

2) Traceroute / Tracert
Traceroute مسیر حرکت Packet تا مقصد را نمایش می‌دهد.
دستور
ویندوز
tracert google.com

لینوکس
traceroute google.com

کاربرد
نمایش تمام Routerهایی که Packet از آن‌ها عبور کرده است.
مثال
PC

↓

Router1

↓

ISP

↓

Router3

↓

Google

خروجی
1 192.168.1.1

2 10.0.0.1

3 172.16.1.1

4 8.8.8.8

اگر
* * *

نمایش داده شود
یعنی آن Router پاسخ ICMP نمی‌دهد.
نکته امتحانی
Traceroute با استفاده از TTL مسیر را پیدا می‌کند.

===========

3) ifconfig
ابزار قدیمی لینوکس برای نمایش و تنظیم کارت شبکه.
در بسیاری از توزیع‌های جدید لینوکس،

ifconfig
منسوخ شده و

ip
جایگزین آن شده است.

نمایش کارت شبکه
ifconfig

فعال کردن Interface
ifconfig eth0 up

غیرفعال کردن
ifconfig eth0 down

==============

4) ip a
دستور جدید لینوکس
ip a

یا
ip addr

نمایش
IP
MAC
وضعیت Interface
IPv6
نمونه
eth0

inet 192.168.1.20/24

link/ether

نکته امتحانی
امروزه
ip a
جایگزین
ifconfig
شده است.

==============

5) iptables
Firewall لینوکس
کاربرد
کنترل Packetها
نمایش قوانین
iptables -L

نمایش همراه شماره
iptables -L -n

پاک کردن قوانین
iptables -F

در Network+
فقط کاربرد کلی را بدان.

===============

6) nslookup
تبدیل
Domain
↓
IP
مثلاً
nslookup google.com

خروجی
google.com

↓

142.250.x.x

همچنین
می‌توان فهمید
DNS
درست کار می‌کند یا نه.
نکته امتحانی
اگر Ping با IP کار کند ولی با نام دامنه نه،
احتمالاً مشکل از DNS است.

=============

7) netstat
نمایش ارتباطات شبکه
دستور
netstat

نمایش Portهای باز
netstat -an

نمایش برنامه‌ها
netstat -ano

(ویندوز)
نمایش Listening
netstat -l

کاربردها
اتصال‌های فعال
Portهای باز
وضعیت TCP
PID برنامه‌ها
نکته
در لینوکس‌های جدید معمولاً ss جایگزین netstat شده است، ولی در Network+ هنوز netstat مطرح می‌شود.

================

8) arp
نمایش ARP Table
arp -a

نمایش
IP
↓
MAC
نمونه
192.168.1.1

00-11-22-AA-BB-CC

کاربرد
تشخیص
MAC Address
دستگاه‌های شبکه

===============

9) lsof
Linux
List Open Files
تمام فایل‌های باز را نشان می‌دهد.
در لینوکس
Socket
نیز فایل محسوب می‌شود.
مثلاً
lsof -i

نمایش اتصال‌های شبکه
بررسی Port
lsof -i :80

مشاهده برنامه‌ای که Port 80 را اشغال کرده است.

==================

10) tcpdump
ابزار Capture Packet
در لینوکس
مثلاً
tcpdump

روی Interface
tcpdump -i eth0

فقط ICMP
tcpdump icmp

فقط Port 80
tcpdump port 80

ذخیره
tcpdump -w file.pcap

باز کردن در Wireshark
نکته امتحانی
tcpdump
مشابه
Wireshark
اما خط فرمانی است.

==============

11) route
نمایش Routing Table
route

یا
route -n

در لینوکس جدید
ip route

نمونه
Destination

Gateway

Mask

Interface

کاربرد
بررسی مسیرها

=============

12) Telnet
ابزار تست اتصال به Port
مثلاً
telnet google.com 80

اگر صفحه سیاه باز شد
Port
باز است.
اگر
Connection refused
آمد
سرویس بسته است.
اگر
Timeout
شد
Firewall
یا شبکه مشکل دارد.
نکته امتحانی
Telnet رمزنگاری ندارد و امروزه برای مدیریت از SSH استفاده می‌شود، اما هنوز برای تست باز بودن پورت‌ها کاربرد دارد.

==============

13) netsh
فقط ویندوز
نمایش تنظیمات
netsh interface ip show config

ریست TCP/IP
netsh int ip reset

ریست Winsock
netsh winsock reset

نمایش Firewall
netsh advfirewall show allprofiles

کاربرد
مدیریت شبکه
تغییر IP
مدیریت Firewall
مدیریت Wi-Fi
ریست تنظیمات شبکه

===============
🔧 ۳ سایت کاربردی که هر مدیر سرور، وبمستر یا متخصص شبکه باید بشناسه
اگر با سرور، دامنه یا وب‌سایت سروکار دارید، این سه ابزار آنلاین بارها به کمکتون میان:
🌐 1. Check-Host
🔗 https://check-host.net/
یکی از بهترین ابزارها برای بررسی وضعیت سرور از نقاط مختلف دنیاست. با این سایت می‌تونید:
Ping، Traceroute و DNS Lookup بگیرید.
بررسی کنید سایت یا سرور از کشورهای مختلف در دسترس هست یا نه.
مشکلات اتصال و شبکه رو سریع‌تر پیدا کنید.
📡 2. Ping.pe
🔗 https://ping.pe/
اگر می‌خواید بدونید سرورتون از کشورهای مختلف چه تأخیری (Latency) داره، این سایت عالیه.
امکانات:
تست Ping از ده‌ها لوکیشن مختلف.
Traceroute جهانی.
بررسی کیفیت ارتباط سرور با نقاط مختلف دنیا.
مناسب برای بررسی کیفیت سرورهای خارجی و CDN.
🌍 3. IntoDNS
🔗 https://intodns.com/
یکی از بهترین ابزارها برای تحلیل DNS دامنه.
با این سایت می‌تونید:
تنظیمات DNS دامنه رو بررسی کنید.
خطاهای Name Server، MX، SOA و رکوردهای DNS رو پیدا کنید.
مشکلاتی که باعث اختلال در ایمیل یا دسترسی به سایت میشن رو شناسایی کنید.
💡 اگر مدیر سرور، برنامه‌نویس، وبمستر یا حتی علاقه‌مند به شبکه هستید، این سه سایت رو حتماً بوکمارک کنید؛ دیر یا زود بهشون نیاز پیدا می‌کنید.





https://t.me/folderhack
Networking Attacks (حملات شبکه)
=========
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ها به یک سرور مرکزی ارسال می‌شوند.
مثلاً:
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

mail

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 یک سیستم مرکزی برای جمع‌آوری، ذخیره، تحلیل و مانیتورینگ لاگ‌ها و رویدادهای امنیتی است.
به زبان ساده:
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

ارسال می‌شود.

مثلاً

Email
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
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
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
هم می‌گویند.
یعنی به جای یک لایه امنیت، چندین لایه امنیتی کنار هم استفاده شوند.


مثال
خیابان

↓

حصار (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:
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
پیدا کردن دستگاه‌های روشن
مثال
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 -sn
Host Discovery (بدون اسکن پورت)
nmap -sS
SYN Scan (Half Open)
nmap -sT
TCP Connect Scan
nmap -sU
UDP 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
مقدمه Lpic 1 ( intro)

=======

قسمت یک
خودکار و دفتر الزامی
کمال گرا هم نباشیم بچه خوبی باشیم
=======

قسمت دو

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 ISO
Operating System → Linux → AlmaLinux
نام VM و محل ذخیره فایل‌ها را انتخاب کنید.
CPU و RAM را متناسب با سیستم خود انتخاب کنید.
هنگام نصب می‌توانید منابع بیشتری اختصاص دهید تا نصب سریع‌تر انجام شود.
Network: روی NAT
I/O Controller: گزینه پیش‌فرض LSI Logic
Virtual Disk: SATA
Disk: گزینه Create a new virtual disk
Disk Size / Partition: به مقدار دلخواه و متناسب با نیاز VM انتخاب کنید.
در پایان تنظیمات را بررسی و Finish کنید.

===================


قسمت پنجم نصب AlmaLinux

Language: روی English بگذارید.
Time & Date: منطقه زمانی را تنظیم کنید.
Keyboard: English (US)
Installation Destination: فقط هارد موردنظر را انتخاب کنید.
Software Selection: حالت Server
Network & 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 برای بررسی؛ بعد از اطمینان Yes
Package Manager: تنظیمات پیش‌فرض مناسب است
Mirror: در صورت وجود، Iran
Proxy: خالی
Package Usage Survey: No
Software Selection:
SSH server ✅
Standard system utilities ✅
Desktop Environment ❌
GRUB: Yes
GRUB 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
sh
csh / tcsh
ksh
zsh
fish
—————————
Bash Script چیست؟
فایلی شامل مجموعه‌ای از دستورات Bash است که می‌توان آن‌ها را به‌صورت خودکار و پشت‌سرهم اجرا کرد.
مثلاً:
#!/bin/bash
echo "Hello Linux"

—————————
Command چیست؟
Command یا دستور، فرمانی است که به Shell می‌دهیم تا یک عملیات مشخص را انجام دهد.
مثلاً:
ls

برای نمایش فایل‌ها و پوشه‌ها.
pwd

برای نمایش مسیر فعلی.
whoami

برای نمایش کاربر فعلی.
👏1
فصل اول دوره الپیک
===============================

قسمت دوم — آدرس‌دهی در لینوکس 🐧

——————
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 است؛ مثل متن، عدد یا مسیر.

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ها استفاده می‌کنیم.
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 → Paste
u → Undo
Ctrl + 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 ذخیره و خروج

دستورات مهم‌تر vi
dw      حذف یک کلمه
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 → نمایش موقعیت Cursor
Ctrl + _ → رفتن به شماره خط مشخص
Alt + U → Undo
Alt + E → Redo
ذخیره و خروج
بعد از ویرایش:
Ctrl + O
Enter
Ctrl + X

یعنی:
Save → تأیید نام فایل → Exit

=====================
👍1👏1
قسمت دوازدهم — پردازش فایل ها 🐧

—————
. فرمان 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

———————

فرمان od

od مخفف Octal Dump است.
برای مشاهده محتوای فایل به شکل عددی و مخصوصاً بررسی داده‌های باینری استفاده می‌شود.
od alireza1

محتوای فایل را به صورت اعداد اکتال نمایش می‌دهد.
—————-
نمایش Hexadecimal
od -x alireza1

گزینه -x داده‌ها را به صورت Hexadecimal نمایش می‌دهد.
مثلاً:
0000000 6c41 0a69 6572

—————-
نمایش ASCII
od -c alireza1

کاراکترها را نمایش می‌دهد.
نمایش Hex + ASCII
یکی از حالت‌های کاربردی:
od -Ax -tx1z alireza1

برای بررسی فایل‌های باینری و کاراکترهای مخفی بسیار مفید است.

=—————————=

فرمان split
split برای تقسیم کردن یک فایل بزرگ به چند فایل کوچک‌تر استفاده می‌شود.
مثلاً:
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. فرمان sort
sort برای مرتب کردن خطوط فایل استفاده می‌شود.
مثلاً:
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.

=—————————-=

فرمان uniq
uniq خطوط تکراری را حذف می‌کند.
مثلاً:
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
فرمان ln
ln برای ایجاد 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 در مدیریت سرور 🔥
گزینه -f:
tail -f /var/log/syslog

یعنی فایل را زنده دنبال کن.
هر چیزی که به انتهای فایل اضافه شود، بلافاصله نمایش داده می‌شود.
این برای مشاهده Live Log بسیار مهم است.
مثلاً:
tail -f /var/log/auth.log

برای مشاهده لحظه‌ای لاگ‌های احراز هویت.
خروج:
Ctrl + C
👏1
ترکیب دستورات 🔥
قدرت واقعی این دستورات زمانی مشخص می‌شود که آنها را با Pipe (|) ترکیب کنیم.
مثلاً:
cat names.txt | sort | uniq

یعنی:
cat
↓
خواندن فایل
↓
sort
↓
مرتب کردن
↓
uniq
↓
حذف تکراری‌ها

یا:
sort names.txt | uniq -c

تعداد تکرار هر نام را نشان می‌دهد.
👏1
یک مثال واقعی‌تر
فرض کن لاگ SSH داریم:
cat /var/log/auth.log | grep "Failed" | sort | uniq -c

این زنجیره:
auth.log
↓
پیدا کردن Failed
↓
مرتب کردن
↓
شمردن موارد تکراری

برای Linux Administration و Security بسیار مهم است.
👏2