جهت بررسی IP Public توی محیط CLI :
curl https://checkip.amazonaws.com
👍7
apt update && apt -y install shadowsocks-libev
cat | tee /etc/shadowsocks-libev/config.json <<EOF
{
"server":["0.0.0.0", "::"],
"mode":"tcp_and_udp",
"server_port":9723,
"local_port":1080,
"password":"AJTEemKqxSFjUZSamYXtJMVc",
"timeout":86400,
"method":"chacha20-ietf-poly1305"
}
EOF
systemctl enable shadowsocks-libev --now
👾کانال تلگرام IT Guys
👍6
تاحالا چیزی در مورد Capability تو لینوکس شنیدین؟
توی لینوکس ، اجرا شدن هر چیزی نیازمنده داشتن Capability مربوط به اون کاریه که میخواد انجام بده ، مثلا چی؟
مثلا ping که یک موضوع ساده ای هست ، برای اینکه اجرا بشه ، باید بتونه یک سوکت خام ایجاد کنه ، باز کردن یک سوکت خام ؛ نیازمنده داشتن Capability مربوطه هست که اسمش :
حالا بعد از داشتن این Capability ، بحث مالکیت فایل میاد وسط ، چرا؟ چون اگر فایل یا پروسسی Capability مربوطه رو داشته باشه ، آیا هر کاربرای میتونه اجراش کنه؟ نه ، فقط مالک میتونه اون فایل رو اجرا کنه ، اون فایل با توجه به Capability که بدست آورده میتونه کارش رو انجام بده .
حالا چرا این Capability بوجود اومد؟
قدیما ، یا شما کاربر root بودی ، یا non-root ، اگر root بودی که هیچی ، بحثی روی این نیست.
اما اگر کاربر عادی بودی ، جهت اجرای برنامه ها یا پکیج ها نیاز به دسترسی کامل root داشتی ، حتی زمانی که یک برنامه ی ساده میخوای اجرا کنی ، و فقط ممکنه بخواد مثل ping یک سوکت خام باز کنه ، اون وقتی دسترسی root میدادی ؛ در واقع به اون پروسس ، یک عالمه دسترسی های دیگه هم میدادی که اصلا بهشون نیاز نداشت .
اینجا بود که Capabilities اومد گفت:
"به جای اینکه کل برنامه رو root کنیم، فقط اون دسترسیای که لازم داره رو بدیم بهش!"
مثلاً به یه برنامه فقط CAP_NET_BIND_SERVICE بدیم، که بتونه پورت 80 رو باز کنه، ولی نتونه فایلهای مهم رو پاک کنه یا پسوردها رو بخونه.
خلاصه گفتم اما اگه جالب بود براتون توضیحات مفصلی توی مقاله ای که اینجا لینکش کردم هست که میتونید بخونید و یه لول توی بحث کارکردن با لینوکس عمیق تر بشید ، چون نکته ی مهمیه که خودم تازه فهمیدم ، و در صورتی که درست نتونیم برنامه ای رو از لحاظ سطح دسترسی پیکربندی کنیم ؛ مهاجم میاد دنبال برنامه هایی میگرده که با سطح دسترسی root ایجاد شدن ، و دنبال نقطه ضعف توی ساختار اون برنامه میگرده ، اگر پیدا کرد نفوذ میکنه ، و حالا با اون برنامه هر اقدامی رو انجام بده ، به عنوان یک دسترسی root همه چی انجام میشه .
کانال تلگرام IT Guys
توی لینوکس ، اجرا شدن هر چیزی نیازمنده داشتن Capability مربوط به اون کاریه که میخواد انجام بده ، مثلا چی؟
مثلا ping که یک موضوع ساده ای هست ، برای اینکه اجرا بشه ، باید بتونه یک سوکت خام ایجاد کنه ، باز کردن یک سوکت خام ؛ نیازمنده داشتن Capability مربوطه هست که اسمش :
CAP_NET_RAW
حالا بعد از داشتن این Capability ، بحث مالکیت فایل میاد وسط ، چرا؟ چون اگر فایل یا پروسسی Capability مربوطه رو داشته باشه ، آیا هر کاربرای میتونه اجراش کنه؟ نه ، فقط مالک میتونه اون فایل رو اجرا کنه ، اون فایل با توجه به Capability که بدست آورده میتونه کارش رو انجام بده .
حالا چرا این Capability بوجود اومد؟
قدیما ، یا شما کاربر root بودی ، یا non-root ، اگر root بودی که هیچی ، بحثی روی این نیست.
اما اگر کاربر عادی بودی ، جهت اجرای برنامه ها یا پکیج ها نیاز به دسترسی کامل root داشتی ، حتی زمانی که یک برنامه ی ساده میخوای اجرا کنی ، و فقط ممکنه بخواد مثل ping یک سوکت خام باز کنه ، اون وقتی دسترسی root میدادی ؛ در واقع به اون پروسس ، یک عالمه دسترسی های دیگه هم میدادی که اصلا بهشون نیاز نداشت .
اینجا بود که Capabilities اومد گفت:
"به جای اینکه کل برنامه رو root کنیم، فقط اون دسترسیای که لازم داره رو بدیم بهش!"
مثلاً به یه برنامه فقط CAP_NET_BIND_SERVICE بدیم، که بتونه پورت 80 رو باز کنه، ولی نتونه فایلهای مهم رو پاک کنه یا پسوردها رو بخونه.
خلاصه گفتم اما اگه جالب بود براتون توضیحات مفصلی توی مقاله ای که اینجا لینکش کردم هست که میتونید بخونید و یه لول توی بحث کارکردن با لینوکس عمیق تر بشید ، چون نکته ی مهمیه که خودم تازه فهمیدم ، و در صورتی که درست نتونیم برنامه ای رو از لحاظ سطح دسترسی پیکربندی کنیم ؛ مهاجم میاد دنبال برنامه هایی میگرده که با سطح دسترسی root ایجاد شدن ، و دنبال نقطه ضعف توی ساختار اون برنامه میگرده ، اگر پیدا کرد نفوذ میکنه ، و حالا با اون برنامه هر اقدامی رو انجام بده ، به عنوان یک دسترسی root همه چی انجام میشه .
کانال تلگرام IT Guys
👍10❤2
Before capabilities, we only had the binary system of privileged and non-privileged processes and for the purpose of performing permission checks, traditional UNIX implementations distinguish two categories of processes: privileged processes that referred as superuser or root and unprivileged processes (whose effective UID is nonzero).
کانال تلگرام IT Guys
کانال تلگرام IT Guys
👍8
اگه اومدی یوزر توی لینوکس درست کردی ولی بهش دایرکتوری ندادی ، کامند های زیر رو بزن
1- ساخت دایرکتوری هوم
2- دادن مالکیت به کاربر
3- کپی فایلهای اسکلت
حالا ان کارارو کردی ، اما با اون کاربر وارد شدی ولی دیدی پرامپتت فقط یک $ ساده هست ، به احتمال زیاد شما روی Shell = /bin/sh هستید
امکانات /bin/bash رو نداره
اگر بخوای شل بره روی bash
بعد یکبار یوزرت رو لاگ اوت کن و دوباره وارد شو
👾کانال تلگرام IT Guys
1- ساخت دایرکتوری هوم
sudo mkdir /home/itguys
2- دادن مالکیت به کاربر
sudo chown itguys /home/itguys
3- کپی فایلهای اسکلت
sudo cp -r /etc/skel/. /home/itguys/
sudo chown -R itguys /home/itguys/
حالا ان کارارو کردی ، اما با اون کاربر وارد شدی ولی دیدی پرامپتت فقط یک $ ساده هست ، به احتمال زیاد شما روی Shell = /bin/sh هستید
امکانات /bin/bash رو نداره
اگر بخوای شل بره روی bash
chsh -s /bin/bash
بعد یکبار یوزرت رو لاگ اوت کن و دوباره وارد شو
👾کانال تلگرام IT Guys
❤8👍3
Milad Mahmoodian
اگه اومدی یوزر توی لینوکس درست کردی ولی بهش دایرکتوری ندادی ، کامند های زیر رو بزن 1- ساخت دایرکتوری هوم sudo mkdir /home/itguys 2- دادن مالکیت به کاربر sudo chown itguys /home/itguys 3- کپی فایلهای اسکلت sudo cp -r /etc/skel/. /home/itguys/ sudo chown…
این سناریو رو در نظر بگیرید که میخوایم بر روی یک سرور لینوکسی :
1- یک یوزر درست کنیم
2- بهش دایرکتوری Home بدیم
3- پسوردش رو بعد از اولین ورود بخواد عوض کنه
4- عضو گروه sudo باشه
5- انتخاب BASH به عنوان Shell برای کاربر
جهت ایجاد یوزر که عضو گروه سودو هم باشه و دایرکتوری هم داشته باشه و شل Bash داشته باشه :
توضیح المان های استفاده شده در این کامند :
اولی -m به جهت ساخت دایرکتوری توی مسیر Home برای کاربر میباشد به اسم خودش
دومی -s /bin/bash هم انتخاب شل Bash برای کاربر
سومی هم -G sudo جهت اضافه کردن کاربر به گروه sudo
جهت تنظیم یک پسورد اولیه :
و در نهایت جهت مجبور کردن کاربر که بعد از اولین ورود پسورد خودش رو تغییر بده :
👾کانال تلگرام IT Guys
1- یک یوزر درست کنیم
2- بهش دایرکتوری Home بدیم
3- پسوردش رو بعد از اولین ورود بخواد عوض کنه
4- عضو گروه sudo باشه
5- انتخاب BASH به عنوان Shell برای کاربر
جهت ایجاد یوزر که عضو گروه سودو هم باشه و دایرکتوری هم داشته باشه و شل Bash داشته باشه :
sudo useradd -m -s /bin/bash -G sudo <USERANAME>
توضیح المان های استفاده شده در این کامند :
اولی -m به جهت ساخت دایرکتوری توی مسیر Home برای کاربر میباشد به اسم خودش
دومی -s /bin/bash هم انتخاب شل Bash برای کاربر
سومی هم -G sudo جهت اضافه کردن کاربر به گروه sudo
جهت تنظیم یک پسورد اولیه :
sudo passwd <USERNAME>
و در نهایت جهت مجبور کردن کاربر که بعد از اولین ورود پسورد خودش رو تغییر بده :
sudo chage -d 0 <USERNAME>
👾کانال تلگرام IT Guys
👍8
Forwarded from ماهنامه شبکه
➖➖➖➖➖➖➖
🌐 @ShabakehMAG
🐍 @Python_0to100
🛡 @DENAIT
Please open Telegram to view this post
VIEW IN TELEGRAM
تا حالا یه نوتیفیکشن مشابه این مورد دیدی ؟
این مورد مربوط به MAC Flapping هستش.اما دقیقا یعنی چی ؟
وقتی یک MAC Address بهصورت همزمان روی چند پورت سوئیچ ثبت میشه و هی بین اون پورتها جابهجا میشه، بهش میگن MAC Flapping
📌 سوئیچ باید بدونه که هر MAC روی کدوم پورت قرار داره. اما اگه مثلاً MAC آدرس AA:BB:CC:DD:EE:FF یه بار از پورت 1 بیاد، یه بار از پورت 2، و این ماجرا مدام تکرار بشه، سوئیچ گیج میشه و جدول MACش مدام آپدیت میشه
📉 این اتفاق میتونه باعث:
✅ لوپ در شبکه
✅ کندی یا قطع ارتباط
✅ مصرف زیاد منابع سوئیچ بشه
علت هاش می تونه از کانفیگ نادرست STP تا مشکلات سخت افزاری یا Software Bugs باشه ، حتی ممکنه برای مثال دو مورد که به صورت Virtual هستش مثلا ID مربوط به VRRP و eWLC یکسان تنظیم شده باشه و در نتیجه برای آنها یک virtual MAC مشابه ساخته شده باشه.
👾کانال تلگرام IT Guys
%SW_MATM-4-MACFLAP_NOTIF: Host [mac_address] in vlan [vlan_id] is flapping between port [port_id_1] and port [port_id_2]این مورد مربوط به MAC Flapping هستش.اما دقیقا یعنی چی ؟
وقتی یک MAC Address بهصورت همزمان روی چند پورت سوئیچ ثبت میشه و هی بین اون پورتها جابهجا میشه، بهش میگن MAC Flapping
📌 سوئیچ باید بدونه که هر MAC روی کدوم پورت قرار داره. اما اگه مثلاً MAC آدرس AA:BB:CC:DD:EE:FF یه بار از پورت 1 بیاد، یه بار از پورت 2، و این ماجرا مدام تکرار بشه، سوئیچ گیج میشه و جدول MACش مدام آپدیت میشه
📉 این اتفاق میتونه باعث:
✅ لوپ در شبکه
✅ کندی یا قطع ارتباط
✅ مصرف زیاد منابع سوئیچ بشه
علت هاش می تونه از کانفیگ نادرست STP تا مشکلات سخت افزاری یا Software Bugs باشه ، حتی ممکنه برای مثال دو مورد که به صورت Virtual هستش مثلا ID مربوط به VRRP و eWLC یکسان تنظیم شده باشه و در نتیجه برای آنها یک virtual MAC مشابه ساخته شده باشه.
👾کانال تلگرام IT Guys
👍5
Forwarded from codepedia (Mahsa)
🔴جایگاه کروم در خطره؟! مرورگر آینده با مغز هوش مصنوعی در راهه!
▪️شرکت Perplexity از مرورگری جدید به نام Comet رونمایی کرده؛ یه مرورگر فوقهوشمند که قراره تعریف «جستجو در وب» رو عوض کنه!
☑️ ویژگیهای Comet :
▫️بدون نیاز به باز کردن دهها تب، جوابو مستقیم بگیر!
▫️خلاصهسازی محتوا در لحظه
▫️پیشنهاد منابع معتبر بهجای لینکهای تکراری
▫️طراحیشده برای تعامل سریع و دقیق با اطلاعات
🔍 هدفش؟ یه مرورگر معمولی نیست؛ یه دستیار هوشمند واقعیه که همراهت توی دنیای اطلاعاته.
🆔 @code_pedia
▪️شرکت Perplexity از مرورگری جدید به نام Comet رونمایی کرده؛ یه مرورگر فوقهوشمند که قراره تعریف «جستجو در وب» رو عوض کنه!
☑️ ویژگیهای Comet :
▫️بدون نیاز به باز کردن دهها تب، جوابو مستقیم بگیر!
▫️خلاصهسازی محتوا در لحظه
▫️پیشنهاد منابع معتبر بهجای لینکهای تکراری
▫️طراحیشده برای تعامل سریع و دقیق با اطلاعات
🔍 هدفش؟ یه مرورگر معمولی نیست؛ یه دستیار هوشمند واقعیه که همراهت توی دنیای اطلاعاته.
🆔 @code_pedia
👍5
Forwarded from Linux Labdon
لینوکس بالاخره از مرز ۵٪ در آمریکا عبور کرد!
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
▪️طبق آمار StatCounter، برای اولین بار سهم سیستمعاملهای لینوکسی در آمریکا از ۵٪ گذشت؛ اتفاقی که خیلیها منتظرش بودن!
▫️پایان پشتیبانی ویندوز 10
▫️سیاستهای آزاردهنده مایکروسافت
▫️و البته محبوبیت دیوانهوار Steam Deck
+ همه اینا باعث شدن کاربرا کمکم از ویندوز دل بکنن و برن سراغ دنیای آزاد لینوکس.
➖➖➖➖➖➖➖➖
👑 @Linux_Labdon
🔥8