ابرپلاس | Cloud & Security🔵
309 subscribers
129 photos
28 videos
144 files
130 links
💢ابرپلاس | Abrplus
💢مرجع تخصصی مجازی‌سازی، امنیت و Cloud ☁️
💢 آسیب‌پذیری‌ها و تهدیدهای امنیتی،
💢 تجربه‌های واقعی و مشکلات و عیب یابی OpenStack
💢 تحلیل و مقایسه راهکارهای مختلف Cloud و Virtualization
🔗 abrplus.net
💬 @behzad_bzgn
Download Telegram
🔌 انواع کابل شبکه؛ از Cat5 تا Cat8 |
سیو داشته باشید

@abrplusdocs
👍3
☁️ وقتی شبکه OpenStack مستقیم با Fabric دیتاسنتر حرف می‌زند
یکی از بخش‌های جذاب OpenStack 2026.2 یا Hibiscus، ادامه توسعه Networking در Neutron و OVN برای محیط‌های مدرن دیتاسنتری است.
اینجا پای یک تکنولوژی مهم وسطه:
BGP EVPN
در معماری سنتی OpenStack معمولاً Tenant Networkها داخل Overlayهایی مثل VXLAN قرار دارند و برای رسیدن به شبکه فیزیکی باید از مسیرهای مشخصی در لایه Network عبور کنند.
اما در معماری‌های جدید، هدف اینه که ارتباط بین:
OpenStack Overlay
و
Physical Data Center Fabric
هوشمندتر و Dynamicتر بشه.
در Neutron/OVN، سرویس BGP می‌تواند Topology و OpenFlow Ruleهای موردنیاز برای Advertisers آماده کند و یک Routing Suite خارجی مثل FRR پروتکل BGP را اجرا کند.

@abrplusdocs
❤1🤔1
🛠 یک Port استفاده شده ؛ چطور بفهمیم دست کدام Process است؟

یکی از سناریوهای رایج در Linux اینه که می‌خواهیم یک سرویس را Start کنیم ولی با خطایی شبیه این مواجه می‌شویم:

Address already in use

یعنی یک Process دیگر قبلاً آن Port را گرفته.

فرض کنیم Nginx نمی‌تواند روی Port 80 اجرا شود.

اول ببینیم چه چیزی روی این Port در حال Listen است:

ss -lntp | grep ':80 '

پارامترها:

🔹 گزینه -l فقط Socketهای در حال Listen را نمایش می‌دهد.

🔹 گزینه -n اجازه نمی‌دهد Port و IP به Name تبدیل شوند.

🔹 گزینه -t فقط TCP Socketها را نمایش می‌دهد.

🔹 گزینه -p Process و PID مرتبط را نشان می‌دهد.

ممکن است ببینیم:

LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("apache2",pid=1842,fd=4))

پس مقصر پیدا شد:

apache2 → PID 1842

حالا اطلاعات Process را ببینیم:

ps -fp 1842

برای مشاهده Command Line کامل:

cat /proc/1842/cmdline | tr '\0' ' '

روش دیگری هم داریم:

lsof -iTCP:80 -sTCP:LISTEN

دستور lsof به ما نشان می‌دهد کدام Process یک File یا Socket را باز نگه داشته.

حالا اگر بخواهیم تمام Portهای Listening سرور را ببینیم:

ss -lntup

این یکی از دستورهایی است که در Troubleshooting شبکه Linux واقعاً باید به آن مسلط باشید.

اما یک اشتباه رایج:

❌ به محض پیدا کردن PID نزنید:

kill -9 1842

اول بفهمید Process متعلق به چه Serviceای است.

مثلاً:

systemctl status apache2

اگر واقعاً قرار است متوقف شود:

systemctl stop apache2

📌 استفاده از kill -9 باید آخرین گزینه باشد، نه اولین

#Linux
#LPIC2
#LinuxCommands
#Troubleshooting
#SysAdmin
#Networking

☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
👍2
بریم سراغ یه موضوع دیگه در زمینه امنیت سرورای لینوکسی صحبت کنیم که کاربرد زیادی هم داره
یکم طولانیه ولی خب کاربردیه 📿☺️
❤1
🔐 چطور بفهمیم کی داره روی SSH سرور رمز عبور امتحان می‌کنه؟
یکی از بررسی‌های مهم روی سرورهای لینوکسی، بررسی تلاش‌های ناموفق برای ورود از طریق این پروتکله
اگر سرور از طریق اینترنت تو دسترس باشه یا حتی تو شبکه های داخلی، احتمالاً در Logها تعداد زیادی Login ناموفق میبینید
🔹برای شروع، Logهای مربوط به SSH در یک ساعت گذشته را ببینیم:
journalctl -u ssh --since "1 hour ago"
🔹در بعضی توزیع‌ها نام سرویس sshd است:
journalctl -u sshd --since "1 hour ago"
🔹حالا فقط تلاش‌های ناموفق رو جدا کنیم:
journalctl -u ssh --since "1 hour ago" | grep "Failed password"
ممکنه خروجی مشابه این ببینیم:
Failed password for root from 192.0.2.15 port 51342 ssh2
یعنی از این IP برای ورود به یوزر root تلاش شده ولی Authentication ناموفق بوده است.
حالا فرض کنید چند هزار خط Log داریم.
می‌خواهیم بفهمیم کدوم IP بیشترین تلاش ناموفق را داشته:
journalctl -u ssh --since "24 hours ago" | grep "Failed password" | grep -oE 'from ([0-9]{1,3}\.){3}[0-9]{1,3}' | awk '{print $2}' | sort | uniq -c | sort -nr
مثلاً خروجی:
387 192.0.2.15
142 198.51.100.27
36 203.0.113.8
یعنی IP اول در ۲۴ ساعت گذشته ۳۸۷ بار Login ناموفق داشته
🔎 حالا بیایید خود Command را باز کنیم.
دستور زیر فقط Loginهای ناموفق را جدا می‌کند:
grep "Failed password"
این قسمت IP را از Log استخراج می‌کند:
grep -oE 'from ([0-9]{1,3}\.){3}[0-9]{1,3}'
بعد فقط خود IP را برمی‌داریم:
awk '{print $2}'
آدرس‌ها را مرتب می‌کنیم:
sort
تعداد تکرار هر IP را می‌شماریم:
uniq -c
و در نهایت از بیشترین تعداد مرتب می‌کنیم:
sort -nr
اما اینجا بررسی ما تموم نشده
⚠️ تعداد زیاد Failed Login لزوماً یعنی سرور Hack شده؟
خیر
حالا باید ببینیم Login موفقی هم اتفاق افتاده یا نه.
برای بررسی Authenticationهای موفق:
journalctl -u ssh --since "24 hours ago" | grep "Accepted"
ممکنه ببینیم:
Accepted publickey for admin from 192.0.2.20
یا:
Accepted password for user1 from 192.0.2.30
اینجا باید بررسی کنیم:
آیا این User معتبر بوده؟
آیا IP رو می‌شناسیم؟
آیا زمان Login طبیعی بوده؟
برای مشاهده Loginهای قبلی:
last
و برای مشاهده Loginهای ناموفق ثبت‌شده در btmp:
lastb
📌 یک نکته مهم در Troubleshooting امنیتی:
بین این مراحل تفاوت زیادی وجود دارد:
Scan → Brute Force → Successful Login → Compromise
دیدن ۵۰۰ تلاش ناموفق ممکنه فقط نشان‌دهنده یک Brute Force ناموفق باشه
اما اگر بعد از همان تلاش‌ها یک Login موفق از همان IP ببینیم، ماجرا کاملاً متفاوت میشه
🛡️ برای Hardening سرویس SSH هم تنظیمات زیر رو بررسی کنید:
PermitRootLogin no
و در محیط‌هایی که Public Key Authentication به‌درستی پیاده‌سازی شده:
PasswordAuthentication no
همچنین میتوان دسترسی SSH رو در Firewall فقط به شبکه‌های مدیریتی محدود کرد و در سناریوهای مناسب از ابزارهایی مثل Fail2ban استفاده کرد.

توی Security فقط دنبال این نباشید که:
«چه کسی حمله کرده؟»
سؤال مهم‌تر اینه:
«آیا نشانه‌ای وجود دارد که حمله موفق شده باشد؟»
#Linux
#LPIC3
#LinuxSecurity
#SSH
#CyberSecurity
#Troubleshooting
#SysAdmin
☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
❤1
معرفی یک ابزار خفن و ضروری برای مانیتورینگ سایت و سرور: Uptime Kuma

آپتایم کوما (Uptime Kuma) یک ابزار مانیتورینگ کاملاً رایگان، متن‌باز (Open-Source) و Self-hosted هست که می‌تونی روی سرور خودت نصبش کنی و خیالت رو از بابت قطعی‌ها راحت کنی.

چرا باید از Uptime Kuma استفاده کنیم؟
سرعت بالا در تشخیص قطعی: برعکس خیلی از سرویس‌های رایگان که هر ۵ یا ۱۰ دقیقه سایت رو چک می‌کنن، این ابزار می‌تونه هر ۲۰ ثانیه وضعیت رو بررسی کنه

سیستم هشدار (Alert) فوق‌العاده: اگه سایت یا سرورت Down بشه، می‌تونه از طریق بیش از ۹۰ سرویس مختلف مثل تلگرام، دیسکورد، اسلک، ایمیل و حتی پیامک بهت خبر بده.

مانیتورینگ همه‌جانبه: فقط برای وب‌سایت نیست! می‌تونی وضعیت کانتینرهای داکر (Docker)، دیتابیس‌ها، پورت‌های شبکه و حتی سرورهای بازی رو هم باهاش مانیتور کنی.

داشبورد زیبا و کاربردی: یک محیط کاربری بسیار تمیز با نمودارهای پینگ و قابلیت ساخت صفحات وضعیت (Status Pages) برای نمایش به کاربران.

نصبش هم با داکر (Docker) بسیار ساده است و تو چند دقیقه انجام میشه.
@abrplusdocs
❤1
🔴معاون توسعه شبکه ملی:

در صورت وقوع مجدد جنگ یا ناآرامی، احتمال قطع اینترنت وجود داره

@abrplusdocs
❤1
فرصت #همكارى با تيم فنى آلياسيس

ارتباط شركت آلياسيس ارتباط براى يكى از پروژه هاى بزرگ و حساس زيرساختى خود، از متخصصان توانمند و علاقهمند به حوزه شبكه و زيرساخت دعوت به
#همكارى مىكند. اين پروژه در حوزه پشتيبانى و بهرهبردارى از زيرساخت شبكه Enterprise تعريف شده و همكاران اين تيم به صورت مقيم در محل پروژه فعاليت خواهند داشت؛ با اين حال، نقش تيم صرفأ محدود به نگهدارى و رفع اشكال وزمره نيست.در كنار فعاليتهاى پشتيبانى، عيب يابى و نگهدارى، فرصت مشاركت در موضوعاتى مانند بهينهسازى زيرساخت، بهبود عملكرد، كاهش آسيبپذيرى، توسعه و بهبود معمارى شبكه و ارائه راهكارهاى فنى نيز وجود
خواهد داشت. اگر به دنبال تجربه كار در يك محيط Enterprise مواجهه با چالشهاى واقعى زيرساخت و رشد در كنار يك تيم تخصصى هستيد، اين فرصت
مى تواند براى شما جذاب باشد.

@careers.ts@aliasys.co
❤1
❤1
ابرپلاس | Cloud & Security🔵
Photo
شرکت Broadcom از راهکار امنیتی جدیدی با نام VMware HyperArmor رونمایی کرده که تمرکزش مستقیماً روی یکی از حساس‌ترین قسمت‌های زیرساخت مجازی است:
خود Hypervisor
ما معمولاً برای امن‌سازی زیرساخت VMware سراغ Firewall، Segmentation، محدودسازی Management Network، Hardening ماشین‌های مجازی و کنترل دسترسی می‌رویم.
اما یک سؤال مهم باقی می‌ماند:
اگر خود ESX آسیب‌پذیر باشد چه؟
یکی از چالش‌های همیشگی تیم‌های زیرساخت، فاصله زمانی بین شناسایی یک Vulnerability و نصب Patch رسمی است.
فرض کنید یک آسیب‌پذیری جدی برای ESX منتشر شده.
پچ هم وجود دارد، اما نصب آن ممکن است نیازمند Maintenance Window، انتقال Workloadها، ورود Host به Maintenance Mode، Reboot و انجام تست‌های بعد از Upgrade باشد.
در یک محیط بزرگ، این فرآیند ممکن است فوراً قابل انجام نباشد.
در نتیجه یک بازه خطرناک ایجاد می‌شود:
Vulnerability Disclosed
⬇️
Exposure Window
⬇️
Official Patch Applied
ایده HyperArmor این است که برای همین فاصله زمانی، یک لایه دفاعی اضافی در سطح Hypervisor ایجاد کند.
🔹 قابلیت اول: Virtual Patching
یکی از جذاب‌ترین بخش‌های HyperArmor همین قسمت است.
به‌جای اینکه برای کاهش ریسک حتماً منتظر Patch کامل Host بمانیم، این لایه می‌تواند تلاش برای سوءاستفاده از برخی آسیب‌پذیری‌ها را قبل از رسیدن به نقطه Exploit مسدود کند.
مزیت عملیاتی مهم این رویکرد چیست؟
کاهش Exposure Window بدون اینکه الزاماً همان لحظه مجبور به ایجاد اختلال در Workloadهای در حال اجرا باشیم.
اما یک نکته خیلی مهم:
⚠️ Virtual Patching جایگزین Patch رسمی نیست.
باید به آن به چشم یک Compensating Control نگاه کنیم؛ یعنی لایه‌ای موقت یا تکمیلی برای کاهش ریسک تا زمانی که Patch اصلی طبق فرآیند Change Management نصب شود.
🔹 قابلیت دوم: کنترل اجرای File و Script
سناریوی دیگری را تصور کنید.
مهاجم به هر روشی توانسته به سطح مدیریتی Host نزدیک شود و حالا می‌خواهد یک Binary یا Script غیرمجاز اجرا کند.
HyperArmor می‌تواند یک Security Baseline در سطح ESX ایجاد کند تا مشخص شود چه فایل‌ها و Scriptهایی اجازه اجرا دارند.
یعنی به‌جای اینکه فقط بپرسیم:
«چه کسی اجازه Login دارد؟»
یک سؤال دیگر هم اضافه می‌کنیم:
«بعد از Login چه چیزی اجازه اجرا دارد؟»
این موضوع در کاهش ریسک اجرای Payloadهای مخرب اهمیت زیادی دارد.
نکته جالب‌تر اینکه این کنترل در سطح Hypervisor انجام می‌شود و برای آن نیازی به نصب Agent داخل تک‌تک Guest VMها نیست.
🔹 قابلیت سوم: MFA برای دسترسی SSH
فرض کنیم Credential یکی از Administratorهای زیرساخت افشا شده است.
اگر Username و Password تنها سد دفاعی SSH باشند، مهاجم ممکن است بتواند مستقیماً وارد Command Line شود.
HyperArmor امکان اضافه‌کردن Multi-Factor Authentication به مسیر دسترسی SSH در سطح ESX را فراهم می‌کند.
در نتیجه داشتن Credential به‌تنهایی برای ورود کافی نیست و یک عامل احراز هویت دیگر هم موردنیاز خواهد بود.
این قابلیت مخصوصاً برای Management Plane اهمیت زیادی دارد؛ چون دسترسی مدیریتی به Hypervisor با دسترسی به یک Server معمولی قابل مقایسه نیست.
📌 اما HyperArmor دقیقاً کجای معماری امنیت VMware قرار می‌گیرد؟
اینجا مفهوم Defense in Depth مهم می‌شود.
راهکارهایی مثل VMware vDefend بیشتر روی Network Security، Segmentation و کنترل ترافیک تمرکز دارند.
در مقابل، HyperArmor یک لایه حفاظتی نزدیک‌تر به خود Hypervisor اضافه می‌کند.
در نتیجه معماری دفاعی می‌تواند چیزی شبیه این باشد:
Workload Security
⬇️
Network Security / vDefend
⬇️
Hypervisor Security / HyperArmor
⬇️
Hardware & Management Plane
و این دقیقاً نکته مهم این خبر برای تیم‌های زیرساخت است.
امنیت Virtualization فقط یعنی:
❌ Firewall داشته باشیم
❌ Management VLAN را جدا کنیم
❌ VMها را Hardening کنیم
❌ دسترسی vCenter را محدود کنیم
این‌ها لازم‌اند، اما کافی نیستند.
خود Hypervisor هم یک Security Boundary بسیار مهم است.
چون اگر این لایه Compromise شود، دیگر درباره امنیت یک VM صحبت نمی‌کنیم؛ ممکن است چندین Workload روی همان Host تحت تأثیر قرار بگیرند.
به‌نظرم پیام مهم HyperArmor همین تغییر نگاه است:
Hypervisor دیگر فقط بستری برای اجرای VM نیست؛ خودش باید به‌عنوان یک لایه مستقل امنیتی محافظت و پایش شود.
و البته حتی با چنین مکانیزم‌هایی، اصول اصلی همچنان سر جای خودشان هستند:
👍2
ابرپلاس | Cloud & Security🔵
Photo
Patch Management، Hardening، MFA، Least Privilege، Segmentation، Logging و محدودسازی Management Plane.
HyperArmor قرار نیست این کنترل‌ها را حذف کند؛ قرار است یک لایه دیگر به Defense in Depth اضافه کند.
#VMware
#Broadcom
#HyperArmor
#Virtualization
#CyberSecurity
#InfrastructureSecurity
#ESX
#vSphere
#CloudSecurity
☁️ ابرپلاس | Cloud & Infrastructure
❤1
💾 یک تغییر جالب در Ceph؛ وقتی RocksDB از فضای سریع خودش بیرون می‌زند چه اتفاقی می‌افتد؟

یکی از موضوعاتی که در Performance کلاسترهای Ceph مبتنی بر BlueStore اهمیت زیادی دارد، محل قرارگیری Metadata و RocksDB است.

برای درک خبر جدید، اول باید معماری را خیلی کوتاه مرور کنیم.

در BlueStore هر OSD برای نگهداری Metadata خودش از RocksDB استفاده می‌کند.

در طراحی‌های Performance-oriented معمولاً Deviceهای OSD را از هم تفکیک می‌کنیم.

مثلاً:

block → HDD

block.db → NVMe / SSD

ایده مشخص است.

داده اصلی روی HDD قرار می‌گیرد، اما RocksDB و Metadataهایی که دسترسی زیادی دارند روی Device سریع‌تر قرار می‌گیرند.

اما مشکل از کجا شروع می‌شود؟

فرض کنید برای block.db مقدار ۳۰ گیگابایت NVMe در نظر گرفته‌ایم.

با رشد RocksDB ممکن است این فضا دیگر کافی نباشد.

اینجاست که اتفاقی به نام:
BlueFS Spillover

رخ می‌دهد.

یعنی BlueFS مجبور می‌شود بخشی از داده RocksDB را از DB Device سریع خارج کرده و روی Device اصلی OSD قرار دهد.

در یک OSD مبتنی بر HDD یعنی ممکن است بخشی از Metadata حساس به Performance از:

NVMe

به:

HDD

منتقل شود.

و نتیجه می‌تواند افزایش Latency و افت Performance باشد.

🔍 چطور Spillover را بررسی کنیم؟

برای مشاهده وضعیت BlueFS یک OSD می‌توان از ابزارهای مدیریتی Ceph استفاده کرد و در Troubleshooting عمیق‌تر سراغ Admin Socket همان OSD رفت.

مثلاً:

ceph daemon osd.10 bluefs stats

همچنین وضعیت کلی OSDها را بررسی می‌کنیم:

ceph osd df

و:

ceph osd tree

در کنار آن باید وضعیت Performance خود OSDها را هم ببینیم:

ceph osd perf

اگر Warning مربوط به BlueFS Spillover مشاهده شود، فقط پاک‌کردن Warning مشکل اصلی را حل نمی‌کند.

باید بفهمیم چرا DB Device دیگر فضای کافی ندارد.

🔹 اندازه block.db مناسب نبوده؟

🔹 RocksDB بیش از پیش‌بینی رشد کرده؟

🔹 طراحی Device Class مناسب نیست؟

🔹 تعداد OSDهای قرارگرفته روی NVMe درست محاسبه نشده؟

🔹 Workload کلاستر تغییر کرده؟

اینجا تغییر جدید Ceph جالب می‌شود.

در نسخه‌های جدید IBM Storage Ceph قابلیتی تحت عنوان:

BlueFS Spillover Cleaner

معرفی شده است.

هدف این مکانیزم، مدیریت بهتر داده‌های RocksDB در شرایط Spillover است.

به‌جای اینکه وضعیت Spillover را صرفاً به‌عنوان یک حالت باقی‌مانده در OSD بپذیریم، Cleaner تلاش می‌کند Placement داده‌های BlueFS را بهتر مدیریت کند تا فایل‌هایی که ارزش بیشتری برای قرارگیری روی Storage سریع دارند، دوباره به DB Device مناسب منتقل شوند.

📌 چرا این موضوع مهم است؟

چون در Ceph فقط داشتن NVMe کنار HDD تضمین نمی‌کند Metadata همیشه روی سریع‌ترین Storage باقی بماند.

Sizing اشتباه block.db می‌تواند بعداً خودش را به شکل:

Higher Latency

Slow OSD

RocksDB Pressure

BlueFS Spillover

نشان دهد.

پس هنگام طراحی OSD فقط این سؤال را نپرسیم:

«چند ترابایت Storage نیاز داریم؟»

باید بپرسیم:

برای DB/WAL هر OSD چقدر فضای سریع نیاز داریم و اگر RocksDB رشد کرد چه اتفاقی می‌افتد؟

این دقیقاً تفاوت بین صرفاً راه‌اندازی یک Ceph Cluster و طراحی درست آن برای Production است.

#Ceph
#BlueStore
#BlueFS
#RocksDB
#Storage
#OpenStack
#Linux
#Troubleshooting

☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
❤1
🛠️ اگر برای Troubleshooting لینوکس فقط journalctl -xe می‌زنید، بخش بزرگی از قدرت Journal را استفاده نمی‌کنید!

در سیستم‌های مبتنی بر systemd، یکی از مهم‌ترین ابزارهای عیب‌یابی:

journalctl

است.

بیایید چند حالت کاربردی آن را ببینیم.

🔹 لاگ‌های یک سرویس خاص

فرض کنیم Nginx مشکل دارد:

journalctl -u nginx

گزینه -u یعنی فقط Logهای Unit مشخص‌شده نمایش داده شوند.

اگر فقط ۵۰ خط آخر را بخواهیم:

journalctl -u nginx -n 50

و اگر بخواهیم Logها را زنده ببینیم:

journalctl -u nginx -f

این حالت تقریباً مشابه:

tail -f

عمل می‌کند.

حالا سرویس را Restart کنید:

systemctl restart nginx

و همزمان Logها را ببینید.

---

🔹 فقط خطاهای مهم را ببینیم

یکی از قابلیت‌های خیلی کاربردی، فیلتر بر اساس Priority است:

journalctl -p err

سطوح مهم Log عبارت‌اند از:

0 → emerg

1 → alert

2 → crit

3 → err

4 → warning

5 → notice

6 → info

7 → debug

مثلاً:

journalctl -p warning

پیام‌های Warning و موارد شدیدتر را نمایش می‌دهد.

برای بررسی سریع مشکلات جدی:

journalctl -p err..alert

---

🔹 لاگ‌های یک بازه زمانی مشخص

مثلاً مشکلات یک ساعت اخیر:

journalctl --since "1 hour ago"

یا:

journalctl --since "2026-10-17 07:00:00"

تا:

journalctl --since "2026-10-17 07:00:00" --until "2026-10-17 08:00:00"

این قابلیت زمانی خیلی مهم می‌شود که کاربر می‌گوید:

«سرویس حدود ساعت ۷:۳۰ قطع شد.»

به‌جای خواندن هزاران Log، همان بازه را بررسی می‌کنیم.

---

🔹 فقط Kernel Logها

journalctl -k

این دستور برای Troubleshooting مواردی مثل:

Disk Error

NIC Problem

Driver

Memory

Kernel

Hardware

خیلی کاربردی است.

مثلاً فقط Warningهای Kernel:

journalctl -k -p warning

---

🔹 لاگ‌های Boot فعلی

journalctl -b

اما قابلیت جذاب‌تر:

journalctl --list-boots

مثلاً:

0

یعنی Boot فعلی.

-1

یعنی Boot قبلی.

-2

یعنی دو Boot قبل.

پس اگر سرور Crash کرده و بعد Reboot شده، فقط Logهای فعلی را بررسی نکنید.

بروید سراغ Boot قبلی:

journalctl -b -1

این دستور در Root Cause Analysis واقعاً ارزشمند است.

مثلاً:

journalctl -b -1 -p err

یعنی:

خطاهای Boot قبلی را نشان بده.

---

🔹 لاگ یک Process مشخص

اگر PID را بدانیم:

journalctl _PID=1842

یا براساس Executable:

journalctl /usr/sbin/sshd

Journal فقط یک فایل متنی ساده نیست؛ Metadata زیادی همراه هر Event نگه می‌دارد و می‌توانیم براساس آنها Query بزنیم.

---

🔹 خروجی جدیدترین Logها اول نمایش داده شود

journalctl -r

گزینه -r یعنی Reverse.

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

---

📌 حالا یک سناریوی واقعی:

کاربر می‌گوید:

«Nginx ساعت ۶ صبح Down شده ولی الان دوباره بالا آمده.»

به‌جای این:

journalctl

می‌توانیم دقیق‌تر برویم سراغ:

journalctl -u nginx --since "05:50" --until "06:10"

بعد خطاهای همان بازه:

journalctl -u nginx --since "05:50" --until "06:10" -p err

اگر احتمال می‌دهیم مشکل از Kernel یا OOM بوده:

journalctl -k --since "05:50" --until "06:10"

و برای بررسی OOM:

journalctl -k | grep -iE 'oom|out of memory|killed process'

این یعنی Troubleshooting هدفمند.

نه اینکه:

journalctl

را بزنیم و بین ده‌ها هزار خط دنبال مشکل بگردیم. 😄

📌 یک Command ارزشمند برای جعبه‌ابزار Linux Admin:

journalctl -b -1 -p err

اگر سروری Crash یا Reboot شده، این یکی از اولین دستورهایی است که ارزش بررسی دارد.

در Troubleshooting حرفه‌ای سؤال فقط این نیست:

«چه خطایی رخ داده؟»

باید بدانیم:

چه زمانی، در کدام Service، در کدام Boot و با چه Priority رخ داده است؟

#Linux
#LPIC2
#Journalctl
#Systemd
#LinuxCommands
#Troubleshooting
#SysAdmin

☁️ ابرپلاس | Cloud & Infrastructure

@abrplusdocs
❤1
🥶 حمله سایبری به سوپرمارکت‌های فرانسه؛ هکرها دمای یخچال‌ها را تا 50 درجه بالا بردند!

‏🛒 هکرها به سامانه‌های تبرید صدها سوپرمارکت فرانسوی حمله کردند و با دستکاری تنظیمات یخچال‌ها و فریزرها، باعث فساد مواد غذایی شدند. فقط در فروشگاه‌های زنجیره‌ای Intermarché حدود ۱۵۰ شعبه تحت تأثیر قرار گرفتند.

‏🌡 گزارش‌ها از افزایش دما تا ۵۰ درجه سانتی‌گراد حکایت دارند! ظاهراً مهاجمان با فعال‌کردن چرخه یخ‌زدایی و جلوگیری از بازگشت عادی دستگاه‌ها به حالت سرمایش، عملکرد سامانه‌ها را مختل کرده‌اند.

‏🔓 اما اگر شما هم از خودتان در مورد مسیر نفوذ به این سیستم‌ها می‌پرسید باید بگوییم که ظاهراً پای تجهیزات قدیمی و به‌روزرسانی‌نشده شرکت Danfoss در میان است؛ هرچند مسیر دقیق نفوذ هنوز مشخص نشده. اما فروشگاه‌های زنجیره‌ای دیگری از جمله Carrefour و Monoprix نیز تحت تأثیر قرار گرفته‌اند.

‏⚠️ این حمله نشان می‌دهد هک فقط به سرقت اطلاعات یا قفل‌کردن فایل‌ها ختم نمی‌شود؛ نفوذ به تجهیزات صنعتی متصل به شبکه می‌تواند به فساد مواد غذایی و خسارت واقعی منجر شود.

@abrplusdocs
❤1
⭕️جالبه که OpenCode خبر داد که هک شدند !

لطفاً کلیدهای API خود را فوراً تغییر دهید.
تو پیامی که منتشر کردن گفتن ما به اونایی که هک شدن ایمیل زدیم اگه بهتون ایمیل نزدیم لازم نیست کاری بکنید.

https://www.notebookcheck.net/OpenCode-hacked-users-urged-to-revoke-their-API-keys.1426957.0.html

#Opencode #ai
@abrplusdocs
❤1
💡 دیسک پر شده؛ چی داره فضا رو میگیره؟

قبل از اینکه شروع به پاک‌کردن فایل‌ها کنی، اول مسیرهای حجیم رو پیدا کن:

du -xhd1 / | sort -h

🔹 گزینه -x فقط همان Filesystem را بررسی می‌کند
🔹 گزینه -h حجم‌ها را خوانا نمایش می‌دهد
🔹 گزینه -d1 فقط یک سطح پایین‌تر را بررسی می‌کند

مثلاً اگر /var مشکوک بود:

du -xhd1 /var | sort -h

برای پیدا کردن ۱۰ فایل حجیم:

find /var -xdev -type f -printf '%s %p\n' | sort -nr | head -10

📌 قبل از rm کردن فایل‌های بزرگ، حتماً بررسی کن فایل متعلق به چه Serviceای است؛ مخصوصاً Log و Databaseها.

گاهی پاک‌کردن فایل، مشکل Disk Space را حل می‌کند؛
گاهی هم یک مشکل بزرگ‌تر می‌سازد!

#Linux #LPIC #Troubleshooting #SysAdmin

☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
👏3❤1
🔍 یک پورت بازه؛ ولی نمی‌دونی کدوم سرویس بازش کرده؟
مثلاً می‌بینی پورت 8080 روی سرور بازه و می‌خوای بفهمی دقیقاً چه Processای پشتشه.
این دستور رو بزن:
ss -lntp | grep ':8080'
مثلاً خروجی می‌بینی:
users:(("java",pid=2841,fd=42))
حالا اطلاعات Process رو دربیار:
ps -fp 2841
و ببین فایل اجرایی واقعی از کجا اجرا شده:
readlink -f /proc/2841/exe
حتی می‌تونی Command کامل اجرای Process رو ببینی:
tr '\0' ' ' < /proc/2841/cmdline
📌 این چند دستور مخصوصاً وقتی روی یک سرور قدیمی با ده‌ها سرویس روبه‌رو می‌شی و هیچ‌کس نمی‌دونه «این پورت مال چیه؟» خیلی به‌درد می‌خوره 😄

#Linux
#LPIC
#Troubleshooting
#LinuxCommands
☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
🔥3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
از هوش مصنوعی پرسیدن؛

"چرا اکثر ما انسان‌ها احساس خوشبختی نمی‌کنیم؟"


+ جوابی که داد عجیب و جالب بود...

@abrplusdocs
👏2
طبق گزارش های منتشر شده هوش مصنوعی Chat gpt برای ایرانی ها به صورت کامل تحریم و فیلتر شد.


@abrplusdocs
💔2
🖥️ دستورات مشابه در Windows و Linux

اگه با Windows و Linux کار می‌کنی، خیلی از کارهایی که انجام میدی توی هر دو سیستم یه مفهوم دارن، فقط اسم دستورشون فرق می‌کنه. اینا یه سری از کاربردی‌ترین دستوراته که ارزش داره بلد باشی 👇
📁 مدیریت فایل و پوشه
نمایش فایل‌ها و پوشه‌ها
Windows → dir
Linux   → ls
ورود به یک پوشه
Windows → cd folder
Linux   → cd folder
برگشت به پوشه قبلی
Windows → cd ..
Linux   → cd ..
تغییر درایو در ویندوز
Windows → C:
Linux   → cd /mnt/c
نمایش محتوای فایل متنی
Windows → type file.txt
Linux   → cat file.txt
کپی کردن فایل
Windows → copy file.txt file2.txt
Linux   → cp file.txt file2.txt
جابجایی یا تغییر نام فایل
Windows → move file.txt new.txt
Linux   → mv file.txt new.txt
حذف فایل
Windows → del file.txt
Linux   → rm file.txt
ساخت پوشه
Windows → mkdir new_folder
Linux   → mkdir new_folder
حذف پوشه خالی
Windows → rmdir folder
Linux   → rmdir folder
نمایش ساختار پوشه‌ها
Windows → tree
Linux   → tree
🔎 جستجو و بررسی سیستم
جستجوی متن داخل فایل‌ها
Windows → find "text" file.txt
Linux   → grep "text" file.txt
نمایش آدرس IP
Windows → ipconfig
Linux   → ip addr
نمایش پردازش‌های در حال اجرا
Windows → tasklist
Linux   → ps aux
بستن یک پردازش
Windows → taskkill /PID <PID> /F
Linux   → kill -9 <PID>
نمایش کاربر فعلی
Windows → whoami
Linux   → whoami
🌐 دستورات شبکه
تست اتصال به یک مقصد
Windows → ping google.com
Linux   → ping google.com
نمایش جدول مسیریابی
Windows → route print
Linux   → ip route
نمایش اتصال‌های شبکه
Windows → netstat -ano
Linux   → ss -tuln
بررسی DNS
Windows → nslookup google.com
Linux   → nslookup google.com
بررسی مسیر رسیدن به مقصد
Windows → tracert google.com
Linux   → traceroute google.com
💽 دیسک و سیستم
نمایش فضای دیسک
Windows → wmic logicaldisk get size,freespace,caption
Linux   → df -h
اطلاعات سیستم
Windows → systeminfo
Linux   → uname -a
خاموش کردن سیستم
Windows → shutdown /s /t 0
Linux   → shutdown -h now
بررسی فایل‌های سیستمی ویندوز
Windows → sfc /scannow
Linux   → fsck
📦 مدیریت پکیج
در Windows معمولاً می‌تونی از winget استفاده کنی:
Windows → winget search <package>
Windows → winget install <package>
Windows → winget upgrade
در Debian/Ubuntu:
Linux → sudo apt update
Linux → sudo apt install <package>
Linux → sudo apt upgrade
چند نکته مهم
🔹 Windows
بیشتر با CMD / PowerShell سر و کار داره.

🔹 Linux بیشتر با Bash / Shell
کار می‌کنه.
🔹 بعضی دستورات اسم متفاوت دارن ولی کاری که انجام میدن تقریباً یکیه.
🔹 حواست باشه دستورها همیشه ۱۰۰٪ معادل هم نیستن؛ بعضی‌ها پارامترها و رفتار متفاوتی دارن.
🔹 توی Linux حروف بزرگ و کوچک مهمه؛ مثلاً File.txt با file.txt یکی نیست.
🔹 اگه شبکه کار می‌کنی، حداقل اینا رو باید خوب بلد باشی:
ping ، ip ، ipconfig ، traceroute ، tracert ، nslookup ، netstat ، ss و route
🚀 دو سیستم متفاوتن، ولی منطق کار با خط فرمان تقریباً یکیه.

@abrplusdocs
❤1
🔺برای حمله به زیرساخت ، همیشه Zero-Day لازم نیست.

گاهی یک Credential معتبر خیلی باارزش‌تره.

فرض کنیم مهاجم Username و Password یک Administrator رو به دست آورده.

اگه همون Account به چند بخش دسترسی داشته باشه:

vCenter

Backup

Active Directory

Storage

Monitoring

Server Management

دیگه مهاجم لازم نیست برای هر سیستم دنبال Vulnerability جدید بگرده.

از دید سیستم‌ها، یک کاربر معتبر وارد شده و دقیقاً همین موضوع حمله رو خطرناک‌تر می‌کنه.

اینجا فقط Password Policy مسئله نیست.

باید ببینیم یک Credential در صورت افشا شدن تا کجای زیرساخت قدرت مانور دادن داره

مثلاً آیا اکانتی که vCenter رو مدیریت می‌کنه واقعاً باید به Backup Server هم دسترسی Administrative داشته باشه؟

آیا Administrator با همون Account روزمره خودش وارد Management Plane میشه؟

آیا دسترسی‌های اضطراری و Privileged Accountها جدا شدن؟

آیا ورود Administrator به یک سیستم حساس از یک Workstation معمولی امکان‌پذیره؟

📌 شاید یکی از مهم‌ترین سؤال‌های امنیت این باشه:

اگر قوی‌ترین اکانت ما دست مهاجم افتاد، چه چیزی هنوز جلوی اون رو می‌گیره؟

اگر جواب فقط «Password قوی» باشه، دفاعمون یک لایه بیشتر نداره.

اما اگه بعدش:

MFA

PAM

Network Segmentation

Separate Admin Accounts

Privileged Workstation

Session Logging

Least Privilege

وجود داشته باشه، سرقت یک Credential الزاماً به معنی در اختیار گرفتن کل زیرساخت نیست.

در امنیت، هدف این نیست که مطمئن باشیم هیچ Credentialی هیچ‌وقت لو نمی‌ره هدف اینه که لو رفتن یک Credential، کلید همه درها نباشه.

#CyberSecurity
#Banking
#InfrastructureSecurity
#PAM
#IdentitySecurity
#ZeroTrust
#SysAdmin

☁️ ابرپلاس | Cloud & Infrastructure
@abrplusdocs
❤2