| کانال امنیت و شبکه | – Telegram
| کانال امنیت و شبکه |
2.96K subscribers
38 photos
2 videos
6 files
26 links
⭕️ کانال امنیت و شبکه دولوپیکس

💠 دولوپیکس | جامعه توسعه‌دهندگان ایرانی

💎 @Developix
🚀 Developix.ir

📌 پشتیبانی و تبلیغات:
@DevelopixSupport
Download Telegram
🔎 آموزش عملی: اسکن شبکه با Nmap برای ارزیابی آسیب‌پذیری

یک معرفی کوتاه: گاهی لازم است سریع بفهمی کدام‌هاست‌ها در شبکه‌تان باز و پرخطر هستند — اینجا Nmap ابزارِ کلاسیک و قابل‌اعتماد برای کشف سرویس‌ها، پورت‌ها و سیستم‌عامل‌هاست. همیشه با اجازه و در محیط قانونی تست کنید.

ایده‌ی کلی و سناریو: فرض کن شبکه داخلی 192.168.1.0/24 داری و می‌خواهی با ترکیبی از اسکن TCP SYN، تشخیص سرویس و شناسایی OS، دید کلی از وضعیت به‌دست بیاوری. این کار کمک می‌کند تا نقاط ورودی نامطمئن یا سرویس‌های قدیمی را پیدا کنی. 🔐

نکات عملی:
- ابتدا از یک اسکن سریع برای کشف میزبان‌ها استفاده کن، سپس اسکن عمیق‌تر روی میزبان‌های جذاب اجرا کن.
- اگر فایروال پینگ ICMP را بلاک می‌کند، از -Pn استفاده کن تا Nmap میزبان‌ها را «فرض» کند.
- برای گزارش‌دهی قابل‌پیگیری از خروجی‌های XML/grepable/normal استفاده کن (-oA).

نمونهٔ دستور واقعی (روی شبکه خودت، با اجازه):

sudo nmap -sS -sV -O -p- -T4 192.168.1.0/24 -oA myscan


توضیح کوتاه دربارهٔ پارامترها:
- -sS : TCP SYN (سریع و معمول برای کشف پورت‌ها)
- -sV : تشخیص سرویس/ورژن
- -O : تشخیص سیستم‌عامل
- -p- : همهٔ پورت‌ها
- -T4 : سرعت متعادل برای شبکه‌های محلی
- -oA myscan : خروجی در 3 فرمت (همگام‌سازی برای تحلیل)

منابع معتبر: مستندات رسمی Nmap را ببین (nmap.org/book) و همیشه دستورالعمل‌های اخلاقی/قانونی را رعایت کن.

چرا مفیده؟ این روش به‌سرعت نمای کلی از ریسک‌ها می‌دهد و پیش‌نیاز خیلی از تست‌های نفوذ و بررسی‌های پیکربندی فایروال هست. ⚙️

نکتهٔ انسان‌دوستانه: نتایج را قبل از هر اقدامی تحلیل کن — باز بودن پورت همیشه به معنی آسیب‌پذیری نیست، ولی سیگنالی برای بررسی بیشتر است. 🚨

👤 Developix

💎 Channel: @DevelopixNetwork
5👍1
امنیت TLS در Nginx — اجباری کردن TLS 1.2+ 🔐

این نکته عملی برای مدیران سرویس و مهندسان شبکه: از نسخه‌ها و سیدهای ضعیف TLS اجتناب کنید و کانفیگ Nginx را طوری تنظیم کنید که فقط TLS 1.2 و 1.3 فعال باشند. این کار جلوی حملاتی مثل POODLE/BEAST و استفاده از رمزهای ضعیف را می‌گیرد و سازگاری با استانداردهای مدرن را تضمین می‌کند.

توضیح کوتاه و عملی:
- در nginx ویژگی‌هایی مثل protocol و cipher suites را مشخص کنید.
- از کلیدهای ECDHE برای forward secrecy استفاده کنید.
- از مجموعه‌های پیشنهادی مرسوم (Mozilla/OWASP) بهره ببرید.

نمونه کانفیگ مینیمال (جایگزینی paths با فایل‌های واقعی):
server {
listen 443 ssl http2;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers 'ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';

add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
}


سپس با این دستورها تست کنید (مثال):
openssl s_client -connect example.com:443 -tls1_2
curl -I https://example.com --http2


نکات مفید: از HSTS با مقدار مناسب استفاده کنید، کلیدها را منظم بازنشانی کنید و کانفیگ را با ابزارهایی مثل sslscan یا Mozilla SSL Configuration چک کنید. مشکل رایج: فعال ماندن TLS1.0/1.1 یا استفاده از cipherهای مبتنی بر RSA بدون ECDHE که Forward Secrecy را از بین می‌برد. ⚠️

امتحانش کنید و کانفیگ‌تان را با ابزارهای رسمی بررسی کنید تا از سازگاری و امنیت سرویس اطمینان حاصل شود.

منبع معتبر: Mozilla SSL Configuration

🔖 #Security #امنیت #TLS #Nginx #Encryption #NetworkSecurity #BestPractices

👤 Developix

💎 Channel: @DevelopixNetwork
🔥31
🔹 ssh فقط برای لاگین نیست!

خیلی وقت‌ها لازم می‌شه به یه سرویس روی سرور (مثلاً پنل وب، پایگاه‌داده یا یه پورت مدیریت) از راه دور وصل بشیم، ولی نمی‌خوایم پورتی رو روی اینترنت باز بذاریم. این‌جا ssh می‌تونه مثل یه تونل امن عمل کنه و ترافیک رو از داخل کانال رمز‌شده رد کنه.

این تکنیک تو دنیای Network & Security خیلی کاربردیه؛ مخصوصاً وقتی طبق توصیه‌های OWASP و NIST می‌خوای سطح حمله (Attack Surface) رو کم کنی و پورت‌های غیرضروری رو Public نگه نداری.


📌 سناریو واقعی

فرض کن روی سرورت یه وب‌اپلیکیشن ادمین داری که فقط روی localhost:8080 گوش می‌ده و پشت فایروال مخفیه. نمی‌خوای Port 8080 رو تو اینترنت باز کنی، ولی از خونه باید بهش دسترسی داشته باشی.

با ssh Local Port Forwarding می‌تونی کاری کنی که روی سیستم لوکال خودت یه پورت (مثلاً 9090) باز شه و هرچی بهش می‌زنی، به صورت امن بره سمت سرور و به localhost:8080 اونجا وصل شه.


🛠 دستور اصلی

روی سیستم لوکال (لپ‌تاپ خودت) این رو بزن:

ssh -L 9090:localhost:8080 user@example.com -N -C


🔹 -L 9090:localhost:8080 یعنی هر درخواست به 127.0.0.1:9090 روی سیستم تو، از داخل تونل ssh بره به localhost:8080 روی سرور.

🔹 user@example.com هم یوزر و سرور مقصدت هست (می‌تونه IP هم باشه).

🔹 -N یعنی شل باز نکن، فقط تونل رو نگه دار.

🔹 -C هم Compression روشن می‌کنه که روی لینک‌های کند مفیده.

بعد از اجرا، توی مرورگر خودت بزن:

http://127.0.0.1:9090


درحالی‌که هیچ پورتی روی اینترنت برای اون سرویس باز نشده، فقط کسی که ssh-access داره به سرور، می‌تونه به پنل ادمین دسترسی داشته باشه. این یعنی هم Segmentation هم نوعی Defense in Depth ساده ولی مؤثر. 😎


چند نکته امنیتی مهم

• بهتره Login با Password رو روی ssh ببندی و فقط از SSH Key استفاده کنی (توصیه‌ی OWASP هم همینه).

• حتماً AllowUsers یا AllowGroups رو توی /etc/ssh/sshd_config محدود کن که هر یوزری نتونه تونل بسازه.

• لاگ‌ها رو توی /var/log/auth.log (روی Debian/Ubuntu) زیر نظر داشته باش تا سوء‌استفاده از تونل‌ها رو زودتر ببینی.


📚 منبع برای عمیق‌تر شدن

مستند رسمی OpenSSH توضیح کامل و به‌روز درباره Port Forwarding داره:
https://www.openssh.com/manual.html


🌱 یه بار روی یه سرور تست این تونل رو بساز، با خیال راحت بازی کن، لاگ‌ها رو نگاه کن و ببین چطور می‌شه سرویس‌های حساس رو بدون باز کردن Port روی اینترنت در دسترس نگه داشت. اگه خوشت اومد، این تکنیک رو توی محیط کاری‌ات هم پیشنهاد بده.

🔖 #Security #امنیت #ssh #tunneling #port_forwarding #linux #security #networking

👤 Developix

💎 Channel: @DevelopixNetwork
8
🔒 اسکن امن شبکه با nmap – از کجا شروع کنیم؟

خیلی وقت‌ها تو شبکه یا تیم DevOps یه سرور جدید بالا میاد و دقیقاً معلوم نیست چه پورت‌هایی روش بازه. این‌جا جاییه که nmap واقعاً نجات‌دهنده‌ست؛ هم برای Adminها، هم برای کارهای اولیه PenTest 👀

nmap یه ابزار Open Source و قدیمیه که تو دنیای Network & Security کاملاً استاندارده. داکیومنت رسمی‌ش هم اینجاست:
https://nmap.org/book/man.html

ایده اصلی ساده‌ست:

🎯 فهمیدن این‌که روی یک Host چه پورت‌هایی باز (open) یا فیلتر شده‌ان.
🧩 تشخیص احتمالی OS و Serviceها (مثلاً nginx، OpenSSH، MySQL).
🛡️ کمک به Hardening؛ یعنی بستن پورت‌هایی که نباید در دسترس باشن.

مثلاً فرض کن یه سرور Linux داری روی اینترنت، و فقط انتظار داری SSH و HTTP باز باشن، ولی نمی‌دونی واقعاً چیز دیگه‌ای بازه یا نه. با یه اسکن ساده می‌شه دید چه خبره.

یک نمونه اسکن کاربردی (با تشخیص Service و OS) 👇

nmap -sS -sV -O -p- --min-rate 1000 192.0.2.10


توضیح سریع سوییچ‌ها:

-sS ➜ TCP SYN scan (نیمه‌مخفی، سریع و استاندارد برای Security تست‌ها).
-sV ➜ تلاش برای تشخیص نسخه Serviceها (مثلاً OpenSSH 8.9).
-O ➜ تشخیص تقریبی سیستم‌عامل Target.
-p- ➜ اسکن همه پورت‌های TCP از 1 تا 65535، نه فقط پورت‌های معروف.
--min-rate 1000 ➜ حداقل ۱۰۰۰ پکت در ثانیه؛ برای اسکن نسبتا سریع (روی شبکه‌های ضعیف می‌تونی این عدد رو کمتر بذاری).

چند نکته ریز ولی مهم

• قبل از اسکن حتماً مجوز قانونی داشته باش. طبق Policy خیلی از سازمان‌ها، اسکن بدون هماهنگی، عملاً حمله محسوب می‌شه.
• روی شبکه خودت یا محیط Lab (مثلاً با VirtualBox / VMware و چند VM) تمرین کن.
• اگر Firewalld یا iptables روی Target فعاله، ممکنه وضعیت پورت‌ها رو filtered ببینی، که یعنی Packetها Drop می‌شن و جواب واضحی نمی‌گیری.
• خروجی nmap رو همیشه ذخیره کن تا بعداً مقایسه کنی؛ مثلاً:

nmap -sS -sV -O -p- -oN scan.txt 192.0.2.10


کم‌کم اگر با این Commandها راحت شدی، می‌شه رفت سراغ اسکن‌های پیشرفته‌تر مثل --noscript (استفاده از NSE Scriptها برای چک کردن Vulnerabilityهای رایج، طبق لیست owasp و غیره).

این هفته روی یکی دو تا Host امن تست کن، خروجی رو بخون، و پورت‌های غیرضروری رو روی فایروال ببند. هرچی دید بهتری از سطح حمله (Attack Surface) داشته باشی، دفاعت قوی‌تر می‌شه 🔐

🔖 #Security #امنیت #nmap #network #security #linux #pentest #scan #tcp #hardening

👤 Developix

💎 Channel: @DevelopixNetwork
👍2🔥1
اسکن شبکه با Nmap از اون چیزهایی‌ـه که تو هر تیم Network & Security زود یا دیر سراغش میاد. 🤝

خیلی وقت‌ها یه شبکه تحویل می‌گیری، فقط یه رنج IP داری و تقریبا هیچ مستندی وجود نداره. اینجا Nmap مثل یه چراغ قوه میاد وسط، ولی اگر درست استفاده نشه هم سروصدا تو لاگ‌ها درست می‌کنه، هم ممکنه باعث سوءتفاهم تیم‌های دیگه بشه. 😅

اینجا یه سناریوی واقعی رو مرور می‌کنیم: اسکن امن و نسبتا کم‌سر و صدا روی یه subnet داخلی برای پیدا کردن سرویس‌های باز.

ایده اصلی چیه؟ 🔑

Nmap می‌تونه کلی کار کنه، ولی برای شروع این چندتا کار خیلی کاربردیه:

• پیدا کردن hostهای فعال تو شبکه
• پیدا کردن پورت‌های مهم مثل 22، 80، 443، 3389
• جمع کردن یه خروجی تمیز برای مستندسازی یا گزارش

کلید کار اینه که:

1️⃣ با اسکن سریع و ساده شروع بشه، نه از همون اول aggressive mode.
2️⃣ روی رنج IP مشخص کار بشه، نه روی کل دنیا!
3️⃣ فقط روی شبکه‌هایی که اجازه قانونی و مکتوب برای اسکن‌شون هست کار بشه. (این جدیه 👀)

نمونه دستور کاربردی Nmap 🛠️

این یه مثال واقعی و امن برای اسکن رنج داخلیه، با timeout و سرعت منطقی:

nmap -sS -T3 -Pn \
-p 22,80,443,3389 \
--open \
-oA internal_scan_2025-12-03 \
10.10.0.0/24


🧩 توضیح کوتاه سوییچ‌ها:

-sS → TCP SYN scan (نسبتاً کم‌سر و صدا، ولی هنوز در لاگ‌ها دیده می‌شه)
-T3 → سرعت متوسط؛ نه خیلی کند، نه مشکوک‌طور سریع
-Pn → پینگ رو skip می‌کنه؛ مفیده وقتی ICMP بسته شده
-p 22,80,443,3389 → فقط پورت‌های مهم رو چک می‌کنه
--open → فقط hostهایی که حداقل یه پورت باز دارن رو نشون می‌ده
-oA → خروجی رو تو سه فرمت (normal/xml/grepable) ذخیره می‌کنه؛ عالی برای بعداً feed دادن به ابزارهای دیگه

لینک مرجع رسمی 📚

Doc رسمی Nmap و توضیح کامل سوییچ‌ها اینجاست:
https://nmap.org/book/man.html

این ترکیب تو کار واقعی کمک می‌کنه:

• بتونی سریع یه تصویر اولیه از شبکه بگیری
• سرویس‌های حساس لو نرن چون الکی کل 65535 پورت روی کل رنج رو نمی‌کوبی
• نتیجه‌هات قابل تکرار و مستند باشن (به‌خاطر -oA)

یه نکته عملی: همیشه قبل اسکن روی محیط production، اول روی یه subnet تست یا lab همین دستور رو اجرا کن، latency و رفتار IDS/IPS رو ببین، بعد روی شبکه اصلی apply کن.

اگر تو تیمت هنوز مستند درست‌وحسابی از سرویس‌ها ندارین، همین یه اسکن ساده با Nmap می‌تونه شروع یه inventory تمیز باشه. 😉

امتحانش روی لاب‌هات، VMها یا test environment ارزشش رو داره؛ خروجی‌هاش رو نگه‌دار، بعداً برای hardening خیلی به کارت میاد.

🔖 #Security #امنیت #Nmap #Network_Scanning #امنیت_شبکه #PenTest #Linux #Recon

👤 Developix

💎 Channel: @DevelopixNetwork
4
🔹 تو خیلی از سیستم‌های شبکه و امنیت، لاگ‌ها منبع اصلی عیب‌یابی و Incident Response هستن، ولی همون‌قدر که کمک می‌کنن، اگه حواس‌مون نباشه می‌تونن لو‌دهنده‌ی اطلاعات حساس باشن؛ مثل Token، Password، شماره کارت و حتی Session ID.

اینجا بحث مهمی به اسم Log Scrubbing داریم؛ یعنی قبل از نوشتن لاگ، داده‌های حساس رو ماسک یا حذف کنیم تا هم با Best Practiceهای امنیتی (مثل توصیه‌های OWASP) هماهنگ باشیم، هم ریسک نشت داده رو کم کنیم. 🧼

یک سناریوی ساده: سرویس Python که Request/Response رو لاگ می‌کنه. اگه همون‌طوری Body رو بنویسیم، Password کاربر ممکنه مستقیم بره تو فایل لاگ، ابزار مانیتورینگ، یا حتی Log Aggregator خارجی.

نمونه‌ی خیلی خلاصه با Python:

import re

SENSITIVE_KEYS = ["password", "token", "authorization"]

def scrub_log(data: str) -> str:
pattern = r"(password|token|authorization)" \
r"\s*[:=]\s*([^&\s]+)"
return re.sub(pattern, r"\1=***", data, flags=re.IGNORECASE)

# مثال استفاده
raw_log = "user=ali password=MyP@ssw0rd token=abc123"
clean_log = scrub_log(raw_log)
print(clean_log)
# خروجی: user=ali password=*** token=***


نکته‌های عملی 🛡️

• لاگ سطح DEBUG رو روی محیط Production به‌صورت دائمی فعال نکن، چون معمولاً پر از داده‌ی حساس می‌شه.
• هر داده‌ای که برای Authentication یا Authorization استفاده می‌شه، کاندید حذف یا ماسکه: Password، API Key، JWT، Cookie، Session ID.
• Scrubbing رو نزدیک‌ترین نقطه به تولید لاگ انجام بده (مثلاً Middleware لاگینگ در Web Framework) تا هیچ لایه‌ی دیگه‌ای نسخه‌ی خام رو نبیند.
• در SIEM / Log Collector هم می‌شه فیلترهای Masking اضافه کرد تا اگر چیزی در لایه‌ی اپلیکیشن جا موند، آن‌جا پوشش داده شود.

این کار در کنار مزایایی مثل Compliance (مثل GDPR/PCI-DSS) یک عادت ساده اما مهم برای هر کسی‌ست که روی سرویس‌های شبکه و امنیت کار می‌کند.

🔖 #Security #امنیت #logging #security #owasp #scrubbing #python #network

👤 Developix

💎 Channel: @DevelopixNetwork
👍32
🛡️ اسکن شبکه با nmap برای پیدا کردن سرویس‌های باز

گاهی روی یک سرور جدید کلی سرویس نصب شده، ولی دقیق معلوم نیست چه پورت‌هایی واقعاً باز و از بیرون قابل دسترس‌اند. اینجاست که nmap واقعاً به درد می‌خوره؛ هم برای Adminها، هم برای کارهای Pentest و ارزیابی امنیت.

تو این پست، خلاصه‌ی یه آموزش عملی و معروف از خود nmap رو مرور می‌کنیم (مستندات رسمی: nmap.org) و می‌بینیم چطور می‌شه خیلی سریع یه شبکه کوچک رو اسکن کرد و سرویس‌های حساس رو پیدا کرد.

سناریو
روی شبکه داخلی یه بازه IP مثل ‎192.168.1.0/24‎ داری و می‌خوای ببینی:

• چه Hostهایی روشن و در دسترس‌اند 🔍
• چه پورت‌هایی روی این Hostها باز است (مثل SSH, RDP, HTTP) 🌐
• نسخه سرویس‌ها چیه (برای چک کردن Vulnerability) 🧩

🚀 یک دستور کاربردی nmap
دستور زیر یه اسکن نسبتاً کامل روی شبکه داخلی انجام می‌ده:

nmap -sS -sV -O -p 1-1000 192.168.1.0/24


توضیح دوستانه پارامترها:

-sS → اسکن SYN (Half-open). هم سریع‌تره، هم معمولاً کمتر Log می‌شه نسبت به اسکن کامل TCP.
-sV → Version Detection. nmap سعی می‌کنه نسخه سرویس (مثلاً OpenSSH 8.9p1) رو تشخیص بده.
-O → حدس زدن نوع سیستم‌عامل (OS Detection). به درد Report و فهمیدن نوع Target می‌خوره.
-p 1-1000 → فقط پورت‌های ۱ تا ۱۰۰۰ رو اسکن می‌کنه (رِنج پورت رو می‌شه بسته به نیاز تغییر داد).
192.168.1.0/24 → Subnet شبکه داخلی. می‌تونی به‌جاش یک Host مثل ‎192.168.1.10‎ یا یه رنج دیگه بذاری.

💡 چند نکته‌ی مهم امنیتی
• nmap یه ابزار قدرتمند Pentest هست؛ روی شبکه‌هایی که مالک‌ش نیستی یا اجازه کتبی نداری ازش استفاده نکن. طبق توصیه‌های OWASP، همیشه Scanning رو با مجوز و در محدوده تعریف‌شده انجام بده.

• قبل از اسکن، بهتره روی سرور Logها (مثل syslog یا ابزار SIEM) رو زیر نظر بگیری تا بفهمی چطور اسکن توی Log ثبت می‌شه. این کمک می‌کنه نگاه Defensive هم پیدا کنی.

• برای شروع، رِنج پورت کوچیک رو اسکن کن. اسکن کل پورت‌ها (مثلاً ‎-p 1-65535‎) روی شبکه بزرگ می‌تونه طولانی و سنگین باشه.

📌 کاربرد عملی
• پیدا کردن سرویس‌های فراموش‌شده (مثلاً یه Telnet قدیمی که روی یه سرور جا مونده).
• چک کردن بعد از Hardening که فقط پورت‌های موردنیاز باز باشند.
• آماده کردن لیست سرویس‌ها برای مرحله بعدی Pentest یا Vulnerability Assessment.

امتحانش روی یه لَب محیط تست یا Lab مجازی (مثلاً با چند VM روی VirtualBox/VMware) بهترین روش یادگیریه. اگه مفید بود، برای دوستات که تو حوزه Network & Security کار می‌کنن هم بفرست تا همه‌مون شبکه‌هامون رو امن‌تر نگه داریم 🔐

🔖 #Security #امنیت #nmap #Network_Security #Port_Scanning #Linux #Pentest #OWASP

👤 Developix

💎 Channel: @DevelopixNetwork
5
خیلی وقت‌ها روی سرور فقط به پسورد قوی اکتفا می‌شود، اما لاگ‌گیری درست از لاگین‌های SSH نصف امنیت ماجراست. چند خط تنظیم ساده در Linux کمک می‌کند سریع‌تر brute-force و لاگین‌های مشکوک را ببینی و به‌موقع واکنش نشان بدهی. 🔍

۱️⃣ فعال‌سازی لاگ دقیق برای sshd
به‌صورت پیش‌فرض، لاگ‌ها در /var/log/auth.log (روی Debian/Ubuntu) یا /var/log/secure (روی CentOS/RHEL) می‌آیند، ولی سطح جزئیات را می‌شود بالاتر برد.

در فایل تنظیمات SSH:
sudo nano /etc/ssh/sshd_config

این خطوط را اضافه یا اصلاح کن:
LogLevel VERBOSE
UseDNS no

سپس:
sudo systemctl restart sshd

LogLevel VERBOSE باعث می‌شود حتی key fingerprint ها و تلاش‌های لاگین ناموفق با جزئیات ثبت شوند. این برای incident response و تحلیل حملات خیلی کمک می‌کند. 🔐

۲️⃣ فیلتر ساده لاگین‌های ناموفق
یک مثال سریع برای دیدن آی‌پی‌های پرریسک:
sudo grep "Failed password" /var/log/auth.log \
| awk '{print $(NF-3)}' \
| sort | uniq -c | sort -nr | head

این دستور آی‌پی‌هایی را که بیشترین تلاش ناموفق داشته‌اند نشان می‌دهد و می‌شود آن‌ها را در فایروال بلاک کرد یا به fail2ban سپرد.

۳️⃣ چند نکته‌ عملی
• همیشه PasswordAuthentication را روی no قرار بده و از SSH Key استفاده کن.
• لاگ‌ها را روی یک remote syslog / SIEM هم ارسال کن تا اگر سرور compromise شد، attacker نتواند لاگها را پاک کند.
• rotation و retention لاگ‌ها را با logrotate درست تنظیم کن تا هم دیسک پر نشود هم دادهٔ تاریخی کافی داشته باشی.

برای جزئیات بیشتر تنظیمات sshd می‌شود مستندات رسمی OpenSSH را دید:
https://man.openbsd.org/sshd_config

امتحان این تنظیم‌ها روی یک test server شروع خوبی برای ساختن یک baseline امن برای SSH است. 🚀

🔖 #Security #امنیت #SSH #Logging #Linux #Security #Network #Hardening

👤 Developix

💎 Channel: @DevelopixNetwork
👍61
Forwarded from ابر ویراک
⭕️ ویراک کلود
زیرساختی مطمئن برای کسب و کارهای آنلاین
🎁 20% شارژ بیشتر روی اولین واریزی
⚡️با کد معرف: 10%  شارژ برای شما و 10% برای دوستتان!

🔘با IPv6 رایگان
🔘با IP مازاد
🔘تست رایگان 2 روزه
🔘فایروال اختصاصی
🔘با API برای حرفه‌ای ها
🔘پشتیبانی 24 ساعته
🔘آپلود رایگان


📞 همین حالا با ما تماس بگیرید و این فرصت فوق‌العاده رو از دست ندید!
🔻02191555530
🌐Virakcloud.com
Please open Telegram to view this post
VIEW IN TELEGRAM
1
یکی از ساده‌ترین راه‌ها برای بالا بردن امنیت سرور لینوکسی اینه که لاگ‌های ssh رو جدی بگیریم و به شکل هوشمند بررسی‌شون کنیم تا الگوی لاگین مشکوک و حملات Brute Force زود شناسایی بشه. 🔍

با یک اسکریپت خیلی سبک می‌شه توی لاگ‌ها گشت و IPهایی که تعداد زیادی Login Fail دارن رو پیدا کرد و بعداً اون‌ها رو توی firewall بلاک یا محدود کرد (مثلاً با iptables یا UFW یا حتی Fail2ban).

نمونه‌کد زیر روی لاگ پیش‌فرض Debian/Ubuntu یعنی /var/log/auth.log کار می‌کنه و IPهایی که بیشتر از ۵ بار لاگین ناموفق داشتن رو چاپ می‌کنه:

#!/usr/bin/env python3
import re
from collections import Counter

LOG_FILE = "/var/log/auth.log"
FAILED_THRESHOLD = 5

pattern = re.compile(r"Failed password for .* from (\d+\.\d+\.\d+\.\d+)")

ips = []
with open(LOG_FILE, "r", encoding="utf-8", errors="ignore") as f:
for line in f:
match = pattern.search(line)
if match:
ips.append(match.group(1))

counts = Counter(ips)
for ip, c in counts.items():
if c >= FAILED_THRESHOLD:
print(f"{ip} - failed logins: {c}")


👨‍💻 چند نکته کاربردی:
• این اسکریپت رو با کران (cron) زمان‌بندی می‌شه دوره‌ای اجرا کرد و خروجی رو لاگ یا برای ادمین ایمیل کرد.
• روی توزیع‌هایی مثل CentOS/RHEL مسیر لاگ ssh معمولاً /var/log/secure هست، فقط همون رو عوض کن.
• بعد از شناسایی IP مشکوک، می‌شه به‌صورت خودکار ruleهای firewall تولید کرد یا این منطق رو به ابزارهایی مثل Fail2ban سپرد تا به شکل استاندارد و امن Ban انجام بشه.

این رویکرد کمک می‌کنه رفتار مهاجم قبل از موفق شدن شناسایی بشه و در کنار تنظیمات درست ssh (مثل غیرفعال کردن Login با پسورد و استفاده از Key) یک لایه دفاعی مهم اضافه می‌کنه. 🔐

برای مطالعه عمیق‌تر روی لاگ‌گیری و مانیتور امنیتی روی ssh می‌شه بخش مربوط به Brute Force در OWASP Cheat Sheet رو دید:
OWASP Authentication Cheat Sheet


🔖 #Security #امنیت #SSH #BruteForce #Logging #Linux #Security #Python

👤 Developix

💎 Channel: @DevelopixNetwork
🔥3
🚀 سرور اختصاصی با تنوع منابع برای هر نوع نیاز 
پورت اختصاصی
آپلود رایگان
تخفیف پلکانی ترافیک
آپتایم 99.99%
24 ساعت تست رایگان
رائه IP مازاد 
پشتیبانی 24/7 
تحویل فوری 
ارائه سرویس Colocation 
بدون قطعی
پرداخت ماهیانه

تعداد محدود – برای استفاده از این تخفیف ویژه سریع اقدام کن!
برای اطلاعات بیشتر و سفارش، تماس بگیر:
🔺 02191555530
💻 خرید سرور اختصاصی
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
خیلی وقت‌ها روی backend فقط remote_addr رو لاگ می‌گیریم و فکر می‌کنیم IP واقعی کاربره؛ اما پشت Nginx / Proxy / Load Balancer، این IP معمولاً IP همون Proxy هست، نه کلاینت 🎯

راه‌حل استاندارد استفاده از هدر X-Forwarded-For (یا X-Real-IP) و تنظیم درست اپلیکیشن و Reverse Proxy ـه. این کار برای تحلیل Incident، تشخیص حملات و Alert کردن روی IP خیلی مهمه.

مثال ساده با Flask پشت Nginx:
from flask import Flask, request

app = Flask(__name__)

TRUSTED_PROXIES = {"127.0.0.1", "10.0.0.1"} # IP های Nginx / LB

@app.before_request
def log_real_ip():
remote = request.remote_addr
xff = request.headers.get("X-Forwarded-For", "")

if remote in TRUSTED_PROXIES and xff:
# اولین IP معمولا نزدیک‌ترین کلاینت است
real_ip = xff.split(",")[0].strip()
else:
real_ip = remote

app.logger.info(f"real_ip={real_ip} path={request.path}")

@app.route("/")
def index():
return "OK"

if __name__ == "__main__":
app.run()


نکات مهم
• فقط وقتی به X-Forwarded-For اعتماد کن که درخواست از Proxyهای شناخته‌شده می‌آد (مثل لیست بالا). هدر رو کاربر نهایی هم می‌تونه جعل کنه.
• روی Nginx مطمئن شو real_ip_header و set_real_ip_from درست ست شدن تا remote_addr سمت اپ منطقی باشه.
• IP واقعی در لاگ‌ها برای Rate Limit، تشخیص حملات Brute Force و Audit لاگ‌ها حیاتی است.

مناسب‌ترین رفرنس برای Best Practice لاگ‌گیری و هدرها در اپ‌های وب:
OWASP Logging Cheat Sheet

امتحان این الگو روی یک سرویس تستی پشت Nginx کمک می‌کند قبل از رفتن به محیط Production، رفتار لاگ‌گیری IP را دقیق ببینی و تنظیمات را سفت و تمیز کنی 🔍

🔖 #Security #امنیت #Logging #X_Forwarded_For #Reverse_Proxy #OWASP #Flask #Nginx #Security #Network

👤 Developix

💎 Channel: @DevelopixNetwork