Telegram Group & Telegram Channel
Forwarded from Python Hints
وقتی صحبت از امنیت میشه خیلی از توسعه دهنده‌های اینکار رو وظیفه تیم امنیت می‌دونند؛ که خب درست هم هست ولی تا یک جایی. شما هم بعنوان توسعه دهنده باید یک سری موارد رو بدونید.
مثلا خیلی دیدم؛ تیم‌های تست نفوذ فراموش می‌کنند (دسترسی ندارند) الگوریتم hash کردن پسورد داخل دیتابیس رو چک کنند؛ اینجا دانش شما بعنوان برنامه‌نویس پروژه خودش رو نشون میده و یک لایه اطمینان بیشتر برای پروژه خواهد بود.

دمشون گرم؛ تیم توسعه Django رو می‌گم چرا که اکثر اتک‌های مهم رو تا جایی که امکانش هست جلوگیری می‌کنند و برای همین هم همیشه می‌گم بکند رو فارغ از فریمورک یاد بگیرید. با این حال بسیاری دولوپر Django هست که حتی زحمت بررسی و آپدیت به آخرین پچ‌های امنیتی رو به خودش نمیده مثلا pip freeze و version locking استفاده کرده.

توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای optimization بهتون کمک می‌کنه؛ مثلا توی password hash ممکن هست تحت یک شرایط خاصی اصلا الگوریتمی مثل Argon2 به کار شما نیاد و به دلایلی بهش نیاز نداشته باشید تحت این شرایط می‌تونید برگردید روی sha256 و از اون استفاده کنید (این یک مثال بود اگر argon2 رو نمی‌شناسید درموردش بخونید؛ توی لیست PASSWORD_HASHERS های Django هم هست ولی خود Django از PBKDF2 استفاده می‌کنه پیشفرض)


خیلی از برنامه‌نویس‌ها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده می‌کنه throttling, brute-force blocker, hashing و ... اما بعضی موارد باید فراتر ازین بره؛ چیزی که خیلی ندیدم حتی روی بعضی سرویس‌های لاگین شرکت‌های بزرگ و موارد حساس.
فرض کنید شما login با ایمیل اعضای شرکت بزنید (ایمیل‌های شرکتی اصول خاصی داره و راحت بدست میاد) اگر ایمیل اشتباه باشه response time شاید زیر 20ms باشه ولی وقتی ایمیل درست هست بالای 100ms می‌شه این یکی از تکنیک‌‌های قدیمی مورد استفاده برای نفوذ به صفحات ادمین بوده و هست. شما وقتی username. email رو پیدا کنی یک نگرانی کمتر خواهی داشت.
برای همین کسی که با این موارد آشنا هست؛ برای اینکه response time لاگین درست و غلط رو یکسان کنه وقتی می‌بینه یوزر وجود نداره بجای اینکه درجا پاسخ رو برای کاربر بفرسته یکبار پسورد رو با یک چیز رندم (طبق validation نمی‌تونه توی دیتابیس باشه) حساب می‌کنه و بعد response اطلاعات غلط روی لاگین رو بر می‌گردونه.


البته که من برای این مثال دست روی یک موردی گذاشتم که خیلی‌ها رعایت نمی‌کنند (شاید نیازی هم ندارند) و خیلی‌ها بلد نیستند (باید دنبال یک جیزی هم می‌گشتم که خود django امن نکرده باشه)

یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (hugging face رو منظورم هست)

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

حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.

ولی بطور خاص برای Django Rest Framework حداقل این cheathseet رو باید داشته باشد
OWASP cheatsheet for DRF

من یک cheatsheet شخصی خودم دارم (شامل مواردی از بخش‌های مختلف همین cheatsheet هم هست) ولی متاسفانه نمی‌تونم به اشتراک بذارم چون آخرین ورژن رو با داکیومنت شرکت ادغام کردم. اما پیشنهاد میدم لینک بالا رو بخونید و حتما حتما حتما نگاهی هم به رفرنس‌هاشون بندازید این خیلی مهمه.



tg-me.com/djangolearn_ir/1022
Create:
Last Update:

وقتی صحبت از امنیت میشه خیلی از توسعه دهنده‌های اینکار رو وظیفه تیم امنیت می‌دونند؛ که خب درست هم هست ولی تا یک جایی. شما هم بعنوان توسعه دهنده باید یک سری موارد رو بدونید.
مثلا خیلی دیدم؛ تیم‌های تست نفوذ فراموش می‌کنند (دسترسی ندارند) الگوریتم hash کردن پسورد داخل دیتابیس رو چک کنند؛ اینجا دانش شما بعنوان برنامه‌نویس پروژه خودش رو نشون میده و یک لایه اطمینان بیشتر برای پروژه خواهد بود.

دمشون گرم؛ تیم توسعه Django رو می‌گم چرا که اکثر اتک‌های مهم رو تا جایی که امکانش هست جلوگیری می‌کنند و برای همین هم همیشه می‌گم بکند رو فارغ از فریمورک یاد بگیرید. با این حال بسیاری دولوپر Django هست که حتی زحمت بررسی و آپدیت به آخرین پچ‌های امنیتی رو به خودش نمیده مثلا pip freeze و version locking استفاده کرده.

توی بعضی مواقع هم دانستن بعضی نکات امنیتی برای optimization بهتون کمک می‌کنه؛ مثلا توی password hash ممکن هست تحت یک شرایط خاصی اصلا الگوریتمی مثل Argon2 به کار شما نیاد و به دلایلی بهش نیاز نداشته باشید تحت این شرایط می‌تونید برگردید روی sha256 و از اون استفاده کنید (این یک مثال بود اگر argon2 رو نمی‌شناسید درموردش بخونید؛ توی لیست PASSWORD_HASHERS های Django هم هست ولی خود Django از PBKDF2 استفاده می‌کنه پیشفرض)


خیلی از برنامه‌نویس‌ها سرویس login امنی دارند که از موارد امنیتی خوبی هم استفاده می‌کنه throttling, brute-force blocker, hashing و ... اما بعضی موارد باید فراتر ازین بره؛ چیزی که خیلی ندیدم حتی روی بعضی سرویس‌های لاگین شرکت‌های بزرگ و موارد حساس.
فرض کنید شما login با ایمیل اعضای شرکت بزنید (ایمیل‌های شرکتی اصول خاصی داره و راحت بدست میاد) اگر ایمیل اشتباه باشه response time شاید زیر 20ms باشه ولی وقتی ایمیل درست هست بالای 100ms می‌شه این یکی از تکنیک‌‌های قدیمی مورد استفاده برای نفوذ به صفحات ادمین بوده و هست. شما وقتی username. email رو پیدا کنی یک نگرانی کمتر خواهی داشت.
برای همین کسی که با این موارد آشنا هست؛ برای اینکه response time لاگین درست و غلط رو یکسان کنه وقتی می‌بینه یوزر وجود نداره بجای اینکه درجا پاسخ رو برای کاربر بفرسته یکبار پسورد رو با یک چیز رندم (طبق validation نمی‌تونه توی دیتابیس باشه) حساب می‌کنه و بعد response اطلاعات غلط روی لاگین رو بر می‌گردونه.


البته که من برای این مثال دست روی یک موردی گذاشتم که خیلی‌ها رعایت نمی‌کنند (شاید نیازی هم ندارند) و خیلی‌ها بلد نیستند (باید دنبال یک جیزی هم می‌گشتم که خود django امن نکرده باشه)

یا مثلا توی کار با دیتا قبول نکردن دیتای pickle؛ اینو برگردید بالا من همون اوایل شروع کار کانال گفتم با مثال و حدود ۶ ماه قبل یکی از خوبای دنیای تکنولوژی با همین روش بهش نفوذ شد (hugging face رو منظورم هست)

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

حالا چه چیزهایی رو باید بعنوان دولوپر بدونید ؟ OWASP TOP 10 حداقلی ترین مواردی هست که شما بعنوان یک دولوپر باید بشناسید و راهای مقابله باهاش رو هم بلد باشید.

ولی بطور خاص برای Django Rest Framework حداقل این cheathseet رو باید داشته باشد
OWASP cheatsheet for DRF

من یک cheatsheet شخصی خودم دارم (شامل مواردی از بخش‌های مختلف همین cheatsheet هم هست) ولی متاسفانه نمی‌تونم به اشتراک بذارم چون آخرین ورژن رو با داکیومنت شرکت ادغام کردم. اما پیشنهاد میدم لینک بالا رو بخونید و حتما حتما حتما نگاهی هم به رفرنس‌هاشون بندازید این خیلی مهمه.

BY جنگولرن


Warning: Undefined variable $i in /var/www/tg-me/post.php on line 283

Share with your friend now:
tg-me.com/djangolearn_ir/1022

View MORE
Open in Telegram


telegram Telegram | DID YOU KNOW?

Date: |

That growth environment will include rising inflation and interest rates. Those upward shifts naturally accompany healthy growth periods as the demand for resources, products and services rise. Importantly, the Federal Reserve has laid out the rationale for not interfering with that natural growth transition.It's not exactly a fad, but there is a widespread willingness to pay up for a growth story. Classic fundamental analysis takes a back seat. Even negative earnings are ignored. In fact, positive earnings seem to be a limiting measure, producing the question, "Is that all you've got?" The preference is a vision of untold riches when the exciting story plays out as expected.

Telegram auto-delete message, expiring invites, and more

elegram is updating its messaging app with options for auto-deleting messages, expiring invite links, and new unlimited groups, the company shared in a blog post. Much like Signal, Telegram received a burst of new users in the confusion over WhatsApp’s privacy policy and now the company is adopting features that were already part of its competitors’ apps, features which offer more security and privacy. Auto-deleting messages were already possible in Telegram’s encrypted Secret Chats, but this new update for iOS and Android adds the option to make messages disappear in any kind of chat. Auto-delete can be enabled inside of chats, and set to delete either 24 hours or seven days after messages are sent. Auto-delete won’t remove every message though; if a message was sent before the feature was turned on, it’ll stick around. Telegram’s competitors have had similar features: WhatsApp introduced a feature in 2020 and Signal has had disappearing messages since at least 2016.

telegram from us


Telegram جنگولرن
FROM USA