Monthly Archives: بهمن 1392

TTL Security در پروتکل مسیریابی BGP

چند وقته برروی امنیت پروتکل BGP کار میکردم . خوب با یک مکانیزم امنیتی و کامند در IOS میخواهیم آشنا شویم. دستور زیر

یک مکانیزم امنیتی بسیار سبک و راحت می باشد که session ایجاد شده بین peer های BGP را از حملات CPU-utilization محافظت می کند. درIPv4 از فیلد TTL و در  IPv6 از Hop Limit برای جلوگیری از این دسته حملات استفاده می شود. برای مثال می توان حملات DOS را نام برد که سعی می کند تا بخشی از شبکه را از کار بیندازد با پکت IP که در هدر آن Source,Destination جعلی وجود دارد. این مکانیزم امنیتی بدین صورت عمل می کند که پکت های دریافتی بایستی مقدار TTL آن مساوی و یا بزرگتر از مقدار تعیین شده توسط کانفیگ انجام شده برروی روتر باشد. وقتی پکت از فاصله یک Hop دریافت می شود مقدار TTL برابر 255 و اگر فاصله 2Hop باشد مقدار این فیلد 254 خواهد بود. در واقع در این دستور حداکثر تعداد Hop بین دو peer از eBGP را مشخص می کنیم.

این ویژگی می بایست در هر روتر درون AS کانفیگ گردد. نشست BGP تنها در برابر ترافیک Incoming محافظت می شود و تاثیری در ترافیک خروجی از روتر نخواهد داشت. وقتی این کانفیگ برروی روتر صورت گیرد BGP تنها نشست هایی را آغاز می کند و یا  Alive نگه میدارد که دارای شرایط تعیین شده در کانفیگ باشد.

اطلاعات بیشتر

آموزش گام به گام طراحی قالب برای وردپرس – قسمت اول

سلام

اکنون محبوبترین CMS دنیا وردپرس هستش و کار باهاش خیلی لذت بخش بوده حداقل برای من اما یکی از چیز هایی که برای من جذابیت زیادی داره شیوه ساخت قالب برای ورد پرس هستش که خوش دستی خودش رو خیلی قشنگ اثبات می کنه و حالا آموزش های زیادی در این باره دیدم و اما این آموزش از نظر خلاصه بودنش برای من اهمیت داره و ساده گفتنش.

پیش فرض من از شما:

  • شما HTML و CSS رو به خوبی میشناسید
  • حداقل آشنایی با PHP رو دارید
  • تا حالا با خوده وردپرس کار کردید
  • یک قالب با فرمت HTML و CSS در اختیار دارید که دارای index و صفحه های داخلی هست می خواهید اون رو به وردپرس ببرید.

در غیر این صورت خوندن این آموزش برای شما مفید نیستش خب برای آموزش HTML و CSS به اینجا مراجعه کنید و برای آموزش PHP در حد ابتدایی به اینجا و برای حداقل کار با ورد پرس اون رو نصب کنید و باهاش کار کنید.

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

و اما حالا ما اولین گام رو برای طراحی قالب برمیداریم.اطلاعات بیشتر

حمله برروی LSDB ها در پروتکل مسیریابی OSPF همراه سناریو عملی

سلام دوستان.

دلیل اصلی نوشتن این مطلب برمیگرده به پستی که در یکی از سایت های ایرانی خوندم، سایت وتیمی که خود را جزو بهترین و برترین شرکت های امنیت شبکه و رایانه ای کشور می داند. درواقع مطلبی که خوندم  دوست عزیز امنیتی مون اسم تاپیک رو ”  آسیب پذیری موجود بر روی پروتکل OSPF ”  گذاشته بود و اگر بطور صریح حرف بزنیم ترجمه و شرح CVE-2012-0249 بودش!

این باگ مربوط به برنامه Quagga که بیس آن Zebra است. باگ در Daemon OSPF که وظیفه اجرای پروتکل OSPF را برعهده دارد رخ می دهد. در بسته های دریافتی LS Update طول چک نمی شود. طول در LSA Hader قرار میگیرد (فیلد length)  و این باگ باعث ایجاد حملات DOS می شود. حال نمیدونم وظیفه پروتکل آیا واقعا چک کردن طول داده هاست؟ یا این یک خطای برنامه نویسی است؟ که این بشر نوشته کشف آسیب پذیری در پروتکل OSPF ونکته ظریف اینجاست که اگر باگ مرتبط با پروتکل باشد بدون شک بایستی در تمامی دیوایس هایی که این پروتکل را پیاده سازی نموده اند وجود داشته باشد. پروتکل های که نوشته می شوند براساس تفکر و منطق هستند پس باگ هم بایستی logical باشد نه مرتبط با Secure Coding.

امیدوارم که شاهد اینگونه توهمات نباشیم و ازروی هیجان حرف زدن و عمل نمودن را کنار بگذاریم. حیله و حقه بازی واقعا کارزشت و ناپسندی هستش مخصوصا عوام فریبی، کسانی که در این فیلد کاری نیستند.

 

ابتدا مروری بر قواعد OSPF خواهیم داشت تا حمله بهتر درک شود:

  • قواعد براساس وضعیت پیوندهایا همان Link-State است، بنابراین همه روترهایی که در یک ناحیه OSPF قر ار دارند بایستی توپولوژی آن Area رو یادبگیرند.
  • بطورکلی OSPF سه مرحله دارد:
  1. اطلاعات روترهای مجاور، neighbor ها که شرایط برقراری ارتباط و تبادل داده ها را دارد، در جدولی به نام neighbor table ذخیره می شود.
  2. نگهداری و تبادل اطلاعات توپولوزیکی شبکه، بین روترهای همسایه است. این اطلاعات در جدولی به نام LSDB ذخیره می گردد.
  3. انتخاب بهترین مسیر ازروی جدول LSDB که این کارتوسط الگوریتم Dijkstra انجام می شود.

برای ساخت Topology Database از ارسال و دریافت بسته هایی به نام LSA استفاده می شود لذا بنابرموقعیت توپولوژیکی 11نوع LSA داریم که Header تمامی آنها یکسان است. ساختار این هدر را در پایین می توانید مشاهده کنید :

 

اطلاعات بیشتر

بسته پارسی ساز ParsiDate

چرا “بسته پارسی ساز”:
بی شک مهمترین و معروفترین افزونه برای کاربران وردپرس در ایران افزونه “جلالی” بوده که باعث نفوذ بیش از پیش وردپرس در بین کاربران ایرانی شد و با افزودن تاریخ شمسی به وردپرس این سیستم را به یکی از محبوب ترین و پرکاربرترین سیستم مدیریت سایت در ایران تبدیل نمود.
اما مشکل از زمانی شروع شد که توسعه افزونه جلالی کُند و تقریبا متوقف شد. کدهای افزونه بعد از 4 سال تغییر خاصی نکرد و هسته اصلی آن بهینه نشد. برای نسخه های جدید وردپرس هیچ توسعه ای انجام نشد و مشکلات کاربران روز به روز بیشتر شد.
فشار روی سرور، مشکلات و تداخل با برخی از افزونه های کاربردی مانند سری افزونه های سئو، ایجاد باگ و مشکلات در بخش مدیریت وردپرس، مشکلات در بخش پیوند یکتا و…. از جمله مهمترین مشکلات افزونه جلالی به حساب می آیند و حتی با وجود ارائه افزونه بهینه تر شده جلالی به نام wp-persian بازهم دردی دوا نشد و مشکلات کاربران هر روز بیشتر شد.
همه اینها ما را برآن داشت تا افزونه جدید را تولید کنیم تا علاوه بر حل مشکلات فوق، دارای هسته ای بهینه تر و سرعتی بالاتر باشد و حتی کاربران را از استفاده از وردپرس فارسی بی نیاز کند! شما با نصب و استفاده از این افزونه علاوه بر تاریخ شمسی، وردپرسی کاملا پارسی و راست چین در همه بخشها خواهید داشت.
با استفاده از این بسته دیگر نیازی به وردپرس فارسی نخواهید داشت زیرا فایل های زبان را از طریق افزونه به وردپرس منتقل می شود و این مورد وقتی مهم می شود که شما می توانید سیستم وردپرس سایتتان را به وردپرس اصلی بروزرسانی کنید و منتظر انتشار وردپرس فارسی نباشید.

img

مهمترین مشخصات افزونه:
1. افزودن تاریخ شمسی به وردپرس در بخش های مدیریت (بخش نوشته ها، افزودن نوشته، بخش دیدگاه ها، بخش ویرایش سریع نوشته ها و دیدگاه ها (جدید)و…) و کاربری وردپرس (نوشته ها، دیدگاه ها، بایگانی و …)
2. شمسی سازی پیوند یکتا وردپرس در همه حالت ها
3. تبدیل اعداد به فارسی و جایگزینی اعداد عربی با اعداد فارسی
4. تبدیل همه حروف عربی (مانند ی , ک) به حروف معادل فارسی
5. بایگانی شمسی/خورشیدی بهینه شده
6. راست چینی و فیکس در ادیتور پیش فرض وردپرس
7. راست چینی و فارسی سازی همه بخشهای وردپرس

موارد بهینه و بروز شده:
1. تابع شمسی این افزونه بصورت کامل از ابتدا نوشته شده تابع date در زبان php بصورت کامل برای شمسی اجرا شد
2. ابزارک بایگانی کاملا از ابتدا نوشته شده و در همه بخشها و حالت ها در داخل و سرتیتر تاریخ شمسی را نمایش می دهد
3. بخش پیوند یکتا براساس آخرین تغییرات تابع اصلی وردپرس نوشته شده و کاملا بهینه و سریعتر شده
4. تاریخ شمسی در بخشهای ویرایش سریع (در لیست نوشته ها و صفحه ارسال پست) در بخش مدیریت اضافه شده (جدید)
5. regex در تابع اعداد فارسی بهینه تر و سریعتر شده
6. افزودن فایل زبان فارسی از طریق افزونه به وردپرس. با این امکان کاربر اجباری به استفاده از وردپرس فارسی ندارد. کافیست وردپرس اصلی را نصب و سپس افزونه را فعال نماید. فایل های زبان از طریق افزونه به وردپرس اضافه می شود و پوشه languages در مسیرwp-content اضافه می شود.

لینک دانلود

بسته پارسی ساز

مستندات:
کلاس bn_parsidate : کلاس اصلی برای شمسی سازی و تبدیل تاریخ میلادی به شمسی و برعکس می باشد. این کلاس کاملا تابع date در زبان php را پیاده سازی کرده و می توانید براساس مستندات این تابع در سایت php.net از خروجی های آن استفاده کنید.

نحوه استفاده از کلاس:

نمونه برای تبدیل تاریخ میلادی به شمسی:

توضیحات:
متغییر $input ورودی چیدمان تاریخ است. مانند Y m d
متغییر $datetime برای تعریف زمان است. مانند now / +1 days / 1998-04-05 / timestamp
متغییر $lang که نوع خروجی عدد (فارسی/انگلیسی) را مشخص می کند. مانند per / eng

نمونه برای تاریخ شمسی به میلادی:

توضیحات:
متغییر $input ورودی چیدمان تاریخ است. مانند Y m d
متغییر $datetime برای تعریف زمان است. مانند now / +1 days / 1998-04-05 / timestamp

تابع per_number جهت تبدیل اعداد به فارسی. نحوه استفاده :

متغییر $content مقدار عدد صحیح است مانند: 1440

تابع eng_number جهت تبدیل اعداد فارسی به انگلیسی. نحوه استفاده :

متغییر $content مقدار عدد صحیح است مانند: 2020
برای استفاده از ارشیو خورشیدی میتوانید از تابع wp_get_parchives و به صورت زیر استفاده کنید

که مقدار xxx میتوانید یکی از مقادیر زیر جایگزین کنید

year (برای نمایش آرشیو به صورت سالانه)
monthly(برای نمایش آرشیو به صورت ماهانه)
daily (برای نمایش آرشیو به صورت روزانه)

و برای حالت لیست بازشو به صورت زیر استفاده نمایید

مثال

امکانات آینده:
1- شمسی و بومی ساز تابع wp_get_archive بصورت built-in
2- افزودن ابزارک تقویم شمسی به افزونه

چند نکته جزئی و ساده که هر برنامه نویس حتما ًباید بداند!

سلام

این نوشته شاید چند دقیقه بیشتر وقتتون رو نگیره اما میتونه خیلی تو  صرفه جویی وقت شما خیلی موثر باشه، چون من اکثر کارمند ها رو دیدم این نکات رو رعایت نمی کردند و سرعت و عملکردشون پایین میومد، صرف بیان این نکات شاید از نظر برخی سخیف باشه از نظر بعضی ها هم شاید خیلی مفید باشه! اما یکی از دلایل این که این نکته ها جا افتاده این که ما ایرانی های دیمی کار با کامپیوتر و تایپ رو یادگرفتیم!

نکته1: برای رفتن به اول هر خط از کلید home استفاده کنید، در خط جاری به اول خظ منتقل میشود.

نکته2: برای رفتن به آخر از کلید End استفاده کنید به آخر خط جاری منتقل می شوید.

نکته3: برای انتقال به بالا پرونده جاری از Ctrl+Home و برای رفتن به آخر Ctrl+End استفاده کنید.

نکته4: برای پاک کردن نوشته از از جلو از کلید Del استفاده کنید یعنی اگر اشاره گر نوشتاری شما قبل از کلمه وجود داشت آن را به بعد آن کلمه منتقل نکنید و بعد با استفاده از BackSpace کلمه رو پاک کنید، حتماً در وسط یک نوشته قرار گیرید و Del رو تست کنید.

نکته5: برای انتخاب یک کلمه با دابل کلیک و یا همون جفت کلیک میتونید کلمه رو انتخاب کنید و با سه بار کلید متوالی کل خط جاری رو انتخاب کنید.

نکته6: برای تاثیر روی کلمات به جای حروف در تایپ از کلید Ctrl استفاده کنید به عنوان مثال شما اگر Ctrl+BackSpace را بزنید به جای پاک کردن یه خرف از کلمه کلمه رو پاک می کنه یا کنترل+ شیفت و جهت رو بزنید سرعت انتخابتون بالا میره به حای حرف حرف، کلمه کلمه انتخاب می کنید.

نکته7: برای ایجاد تو رفتگی کد از کلید Tab و برای حذف تو رفتگی کد ها از Shift+Tab استفاده کنید.

indentاطلاعات بیشتر