گیک آزاد

Free/Geek/Life.sh

وبلاگنویسی بدون چهارچوب و محدودیت

نویسنده:
۵ آبان ۹۶

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

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

just write

وبلاگستان را دوباره احیا کنیم

نویسنده:
۱۴ مهر ۹۶

به دعوت حسن آی‌تی لاین و جنبش احیای وبلاگستان فارسی، در راستای بحثی که اخیرا در جمع این دوستان قدیمی انجام شد، من هم تصمیم گرفتم دستی به سر و روی اینجا بکشم و تنبلی رو کنار بگذارم و بعد از سه چهار سال دوری از میادین، مجددا بنویسم 🙂

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

revive-the-blogosphere

با وارد شدن شبکه‌های اجتماعی از اواخر دهه هشتاد، به رغم پتانسیل بالایی که این شبکه‌های اجتماعی در به اشتراک‌گذاری سریع مطالب دارن، ولی یک خطر بسیار جدی فضای تولید محتوا رو تحدید میکنه. بعد از ورود این شبکه‌های اجتماعی و پیام‌رسان‌ها، انگیزه‌ها برای وبلاگنویسی هر روز کم و کمتر شد و مردم شروع کردن به استفاده از این شبکه‌های اجتماعی مثل وایبر و تلگرام و واتس اپ و غیره. در مدت کمی فضای تولید محتوا کاملا به سمت شبکه‌های اجتماعی رفته و کمتر کسی دیگه مثل قدیم سراغ وبلاگنویسی و اشتراک تجربیاتش در این رسانه قدیمی اما همچنان قدرتمند میره و در نتیجه فرهنگ وبلاگخوانی هم به کلی از بین رفته. دسترسی به محتوایی که در کانال‌های شبکه‌های اجتماعی مثل تلگرام تولید میشه هم از طریق موتورهای جستجو غیر ممکنه و این تجربیات در همونجا در لابلای هزاران محتوا مدفون میشه و توسط دیگران در آینده قابل استفاده نخواهد بود. تجربیاتی که در شبکه‌های اجتماعی مثل کانالهای تلگرامی به اشتراک گذاشته میشه محدود به همون کانال میشه و امکان دسترسی دیگران بهش از طریق موتورهای جستجو غیرممکن میشه. یاید فکری به حال این وضعیت کرد. باید دوباره وبلاگها رو احیا کرد تا دوباره از تجربیاتمون در همه زمینه‌ها در این رسانه بنویسیم و اون رو با بقیه و آیندگان به اشتراک بگذازیم شاید روزی چیزی به درد دیگران خورد.

من هم تصمیم گرفتم دوباره اینجا بنویسم بعد از وبلاگ رایت‌وب و وبلاگهایی که قبل از اون توش مینوشتم تا همین آخری، گیک آزاد 🙂

پس شما هم بدون دعوت دست به کار بشید و فقط دوباره شروع کنید. روزی یا حتی هقته‌ای نیم ساعت وقت گذاشتن برای نوشتن دو خط در وبلاگ برای همه ممکنه حتی هرچقدر هم که مشغولیت داشته باشن، بهتره بهونه‌ها رو کنار بگذاریم و فقط شروع کنیم 🙂

چطور روی دبیان جسی بوت سیستم sysvinit داشته باشیم؟

نویسنده:
۵ آذر ۹۳

پس از مدت‌ها بحث در لیست پستی دبیان از اکتبر ۲۰۱۳ تا فوریه ۲۰۱۴، تصمیم کمیته فنی بر این شد که در انتشار نسخه پایدار بعدی دبیان یعنی دبیان ۸ با نام جسی، به بوت سیستم جدید systemd مهاجرت کنند. دبیان شاخه تستینگ (jessie در حال حاضر تا زمان انتشار نسخه پایدار) هم دیگر از sysvinit بعنوان بوت سیستم پیشفرض استفاده نمیکند. هر کدام از این بوت سیستم‌ها هم موافقان و مخالفان خاص خودش رو داره. بعضی‌ها از اون استقبال میکنن و بعضی‌ها هم به علت اینکه systemd پیچیدگی‌های زیادی رو ایجاد میکنه و این پیچیدگی برخلاف فلسفه یونیکس یعنی سادگی است (Keep it simple, stupid) با اون مخالفت میکنن. عده‌ای هم که از طرفداران فلسفه “یک کار را انجام بده ولی درست انجامش بده” هستن، با systemd از در مخالفت وارد شدن.

حالا سوالی که برای طرفداران sysvinit ممکنه مطرح باشه اینه که آیا راهی وجود داره که بتونیم همچنان از بوت سیستم قدیمی sysvinit روی دبیان جسی استفاده کنیم یا نه؟

systemd
جواب بله هست. این کار بسیار هم راحته. اگر در حال حاضر از دبیان ۷ (Wheezy) استفاده میکنید و میخواهید به جسی آپگرید کنید ولی sysvinit رو به عنوان بوت سیستم همچنان حفظ کنید، میتونید یک فایل با محتوای زیر در مسیر /etc/apt/preferences.d/use-sysvinit ایجاد کنید.

 این فایل به پکیج منیجر apt یا aptitude میگه که نصب systemd-sysv رو بعنوان بخشی از فرآیند نصب و آپگرید نادیده بگیره و از پیشفرض شدن systemd بعنوان boot system جلوگیری میکنه. در نتیجه شما یک سیستم آپگرید شده به جسی خواهید داشت که همچنان از sysvinit استفاده خواهد کرد.
اما اگر دبیان جسی را برای بار اول نصب کرده‌اید راهی برای اینکه sysviniit رو به عنوان پیشفرض دریافت و نصب کنید ندارید (debootstrap که بوسیله نصاب دبیان استفاده میشه همچین آپشنی نداره) اما میشه به اینستالر گفت که قبل از اولین بوت به sysvinit سوئیچ کنه.
روش اول: با استفاده از یک آرگومان خط فرمان کرنل به نصاب بگیم:

و روش دوم با فرمان زیر:

 روش اول بعد از نخستین بوت و با نصب بسته sysvinit-core نیز میتونه استفاده بشه. پیشنهاد میشه که اگر واقعا به sysvinit نیاز دارید و با systemd کنار نمیاید اون رو نگه دارید. در غیر این صورت خودتون رو آماده مهاجرت به systemd کنید و با کمی انعطاف پذیری باهاش کنار بیاید.

systemd

ترمینال Guake با دو مانیتور

نویسنده:
۱۶ آبان ۹۳

از بین ترمینال امولاتورهایی پایین افتادنی یا Drop-down Terminal Emulatorها (که از بالای صفحه به پایین باز میشه)، من guake رو به بقیه ترجیح میدم و باهاش راحت‌ترم. البته Tilda رو هم دوست دارم ولی Yakuake رو بخاطر ظاهرش نمی‌پسندم. اما قضیه از اینجا شروع شد که من تصمیم گرفتم دوال مانیتور کنم به این صورت که یک مانیتور بزرگ دیگه به لپ‌تاپم وصل کنم. همه چیز به خوبی انجام شد و فقط ترمینال guake بود که با وجود primary output کردن مانیتور جانبی همچنان اصرار داشت که روی ال‌سی‌دی لپ‌تاپ اجرا بشه. وقتی درباره این مشکل در اینترنت جستجو کردم پست‌های زیادی پیدا کردم که خیلی کار رو پیچیده کرده بودن مثلا اینکه برو guake رو دوباره به این شکل کامپایل کن و یکسری جفنگیات دیگه. خودم دست به کار شدم و رفتم سراغ تنظیمات guake. از قضا این ترمینال امولاتور با پایتون هم نوشته شده و قسمت‌هاییش هم با C. با سر و کله زدن‌های زیاد و سعی و خطا بالاخره با طی کردن قدم‌های زیر این مشکل رو حل کردم.

guake terminal emulator

و اما مراحل انجام کار:

۱-با ادیتور دلخواه خودتون فایل تنطیمات guake رو که در مسیر زیر قرار داره باز کنید(حتما با روت):

۲-  عبارت Find the function “get_final_window_rect(self)” رو جستجو و پیدا کنید(خط اول در پایین):

۳- عبارت “screen.get_monitor_geomentry(0)“ رو که پارامتری است برای پیدا کردن رزولوشن native مانیتور ۰ یعنی جایی که ترمینال guake در اون اجرا میشه رو جستجو و پیدا کنید. شما باید این مقدار را به تعداد مانیتورهایی که دارید تغییر دهید. اگر دو مانیتور دارید باید بجای ۰ اون رو به ۱ تغییر بدید و اگر ۳ مانیتور دارید باید این مقدار رو ۲ تنظیم کنید و … . من چون ۲ مانیتور داشتم، این مقدار رو از ۰ به ۱ تغییر دادم.

۴- پارامتر “window_rect.y = 0″ رو هم جستجو و پیدا کنید. این پارامتر رو باید به این شکل اصلاح کنید:

  • کلمه y را بهx تغییر دهید.
  • بجای مقدار ۰ باید جمع رزولوشن‌های مانیتورها رو بنویسید. یعنی اگر از دو مانیتور استفاده میکنید باید رزولوشن مانیتور اول رو با رزولوشن مانیتور دوم جمع بزنید و حاصل رو بجای ۰ برای این این پارامتر تنظیم کنید. مثلا من یک مانیتور با زرولوشن ۱۹۲۰×۱۰۸۰ داشتم و رزولوشن ال‌سی‌دی لپ‌تاپ هم ۱۳۶۶×۷۶۸ بود. جمع دو مقدار اول یعنی ۱۳۶۶+۱۹۲۰ که مساوی با ۳۲۸۶ میشه رو بجای ۰ در پارامتر بالا ست کردم.

۵- تغییرات رو ذخیره کنید و خارج شوید. کافیه یکبار guake رو کاملا ببندید و دوباره اجرا کنید. guake به خوبی و خوشی در مانیتور دوم اجرا میشه. (:

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

دروپاگدون یا آرماگدون دروپال

نویسنده:
۱۱ آبان ۹۳

drupalgeddonشاید کمی برای نوشتن درباره این موضوع دیر شده باشه، اما به دلیل اهمیت بسیار زیادی که این آسیب‌پذیری فوق خطرناک دارد، باید اطلاع‌رسانی وسیعی درباره‌اش صورت بگیرد. دروپال، سیستم مدیریت محتوای آزاد و متن‌باز و فوق‌العاده قدرتمند، انعطاف‌پذیر و محبوب این روزها، به دلیل کشف یک آسیب‌پذیری بنام دروپاگدون در نسخه ۷٫x که یک آسیب‌پذیری امنیتی فوق خطرناک و تکان دهنده از نوع تزریق SQL است، حسابی خبرساز شده. ادعا میشه که تقریبا صدها هزار وبسایت دروپالی و به عبارت دیگر ۹۰ درصد وبسایت‌هایی که از دروپال نیرو میگیرند، حالا یک backdoor یا در پشتی دارند و در بعضی منابع دیگر هم اعلام شده از حدود یک میلیارد وبسایت دروپالی، حدود ۱۲ میلیون از اونها دارای در پشتی هستند. این درهای پشتی را مهاجمین قبل از اینکه شما دست به کار شوید و دروپال را به‌روز رسانی یا پچ کنید، نصب کرده‌اند. این درهای پشتی به مهاجمین دسترسی ادمین (فول کنترل) و اجازه اجرای کدهای PHP دلخواه فقط با یک درخواست HTTP و کنترل کامل بر روی دیتابیس از جمله دامپ گرفتن از آن، پاک کردن کل دیتابیس و یا ایجاد ایجاد کاربر جدید را میدهد!

indexاگر مدیر یک وبسایت دروپالی هستید، هرچه سریعتر باید دروپال را بروزرسانی کنید اما مشکل از اینجا شروع میشود که تنها با بروزرسانی دروپال به نسخه جدید، مشکل در پشتی حل نخواهد شد. تیم دروپال اعلام کرده که اگر دروپال وبسایت خود رو بروزرسانی نکردید، وبسایتتان را هک شده فرض کنید( به دلیل حمله‌های خودکار)، اگر تا ۷ ساعت بعد از اعلام این آسیب‌پذیری که در تاریخ ۱۵ اکتبر بوده است بروزرسانی را انجام نداده‌اید، باید بنا رو بر این بگذارید که سایت شما در خطر است. حتی اگر وبسایت شما در عرض همان روز هم آپدیت شده باشد، ممکن است به خطر افتاده باشد.
دروپاگدون یک آسیب‌پدیری از نوع تزریق SQL و فوق حیاتی محسوب میشود که در تاریخ ۱۵ اکتبر اعلام شد و به دروپالگدون نیز معروف است و توسط استفان هورست حین حسابرسی کدها برای یک مشتری کشف شد و به تیم امنیتی دروپال گزارش داده شد. برای اطلاعات بیشتر از نحوه حمله از طریق این آسیب‌پذیری، سایت Drupageddon.com را ببینید.
فلوچارت زیر به شما کمک میکند تا بتوانید وبسایت دروپالی خودتون رو در برابر دروپاگدون بررسی کنید و مطمئن شوید مهاجمان به همراه اطلاعاتشان از بین رفته باشند. امیدوارم دروپال هرچه زودتر مکانیزم بروزرسانی خودکار را هم در نظر بگیرد تا شاهد این قبیل اتفاقات تلخ نباشیم.

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

How to recover from Drupageddon, draft 7

درباره شل‌شوک و آسیب‌پذیری‌های امنیتی خطرناک در شل Bash

نویسنده:
۴ مهر ۹۳

 

shellshock

خلاصه داستان:

به تازگی آقای استفان شازلاس اهل فرانسه، یک حفره امنیتی بسیار خطرناک در شل GNU Bourne Again یا به اختصار bash که یک شل رایج و محبوب در سیستم‌عامل‌های شبه‌یونیکسی از قدیم تا به امروز هست، کشف کرده که اسمش رو shellshock گذاشته (یاد بازی shellshock از کمپانی Eidos بخیر!) و میتونه دردسرهای بزرگی ایجاد کنه و سیستم‌عامل‌های شبه یونیکسی مانند گنو/لینوکس و همچنین Apple OSX که بصورت پیشفرض از شل bash استفاده میکنند، در برابر حملات از طریق این حفره امنیتی (بصورت remote exploit) آسیب‌پذیرند.خوشبختانه به لطف متن‌باز بودن، بلافاصله بعد از اعلام این آسیب‌پذیری، سریعا یک اصلاحیه برای قسمت اول از حفره‌های امنیتی شل bash منتشر شده و نسخه اصلاح شده در اکثر مخازن نرم افزاری قرار گرفته و تمامی نسخه‌های حال حاضر bash موجود در مخازن نرم‌افزاری اکثر توزیع‌های اصلی از نسخه ۳.۰ تا ۴.۳ نسخه‌های اصلاح شده هستند و توزیع‌های بزرگی مانند دبیان (و زیرشاخه محبوبش مثل اوبونتو) و ردهت این نسخه‌ها را بصورت پکیج آماده در مخازن ارائه کرده‌اند که میتوانید به سادگی به روز رسانی را انجام بدهید ولی اپل تا این لحظه هنوز فکری به حال این باگ امنیتی خطرناک نکرده است. این اصلاحیه شامل قسمت دوم حفره‌های امنیتی شل bash که با استفاده از اون مهاجمین میتونن فایل‌ها رو بر روی سیستم هدف بازنویسی (overwrite) کنند نمیشه و برای این حفره دومی هنوز اصلاحیه‌ رسمی منتشر نشده.

وضعیت امنیتی پس از اعلام عمومی این آسیب‌پذیری چطوره؟

شرگت‌های امنیتی گزارش میدن که حملات بر پایه shellshock بطور فزاینده‌ای در حال گسترشه و حتی بات‌نت‌هایی که حملات DDOS انجام میدن، این حفره امنیتی رو هم میتونند چک کنند! یک محقق امنیتی هم دست به کار شده و یک اسکنر نوشته که روی اینترنت شروع کرده به اسکن کردن و پیدا کردن سرورهایی که نسبت به این حفره امنیتی نفوذپذیرند. این محقق در یک اسکن خلاصه‌وار حدودا ۳۰۰۰ سرور رو که نفوذپذیر هستند پیدا کرده که روی پورت ۸۰ (پروتکل HTTP) نفوذپدیرند. این حفره امنیتی در رده بسیار خطرناک رده‌بندی شده و پتانسیل تخریب بسیار بالایی داره. از آنجا که گستره توزیع این آسیب‌پذیری بسیار بزرگه، حتی از اشکال امنیتی خون‌ریزی قلبی (Heartbleed) نیز خطرناکتر محسوب میشه. محققان امنیتی ابراز نگرانی کردند از اینکه این حفره امنیتی میتواند برای هدف قرار گرفتن وب‌سرورهای عمومی بوسیله کرم‌های اینترنتی و بات‌نت ها مورد استفاده قرار بگیرد و این کرم‌های اینترنتی به راحتی از طریق پورت ۸۰ از فایرال رد شده و به راحتی به بسیاری از سیستم‌ها دسترسی پیدا خواهند کرد. این سناریو را در نظر بگیرید که این کرم‌های اینترنتی پس از رد شده از فایروال به سرور DHCP برسند و در آن لحظه بطور خلاصه Game is over!

مکانیزم عملکرد ShellShock چطوره؟

مکانیزم عملکرد این آسیب‌پذیری امنیتی از وجود ضعف در ارزشیابی و پاس دادن متغیرهای محیطی که از طریق سیستم‌عامل یا اپلیکیشن‌هایی که شل bash را فرا میخوانند ناشی میشه. به این صورت که یک هکر میتونه از راه دور و از طریق این ضعف امنیتی، یک متغیر محیطی ایجاد و سپس فرمان‌های مخرب رو روی سیستم‌عامل قربانی اجرا کند. البته شل‌های دیگه نظیر zsh و … از این آسیب‌پذیری در امان هستند.
این سناریو را در نظر بگیرید که اگر یک وب‌اپلیکیشن، یک فرمان شل bash را از طریق Http صدا بزند و یا از CGI که به کاربر اجازه وارد کردن دیتا میدهد برای فراهم کردن محتوای دینامیک (از طریق mod_cgi و mod_cgid) استفاده شود، در این صورت وب سرور به راحتی قابل نفوذ خواهد بود چون میتوانید با یک درخواست ساده از طریق وب و هدف قرار دادن اپلیکیشن CGI که میتواند روی سرور فرمان اجرا کند به آن نفوذ کنید.

این آسیب‌پذیری بر روی بسیاری از اپلیکیشن‌های وب که مقادیر ورودی کاربر را ارزشیابی و سپس یک کد شل را برای اجرا صدا میزنند میتواند تاثیرگذار باشد. در نظر بگیرید که یک اپلیکیشن یک اسکریپت بش را با یوزر root اجرا کند، عمق فاجعه قابل تصور خواهد بود! اگر کمی عمیق‌تر فکر کنیم میرسیم به کنترل‌پنل‌هایی مانند CPanel که بوسیله بسیاری از فراهم‌کنندگان خدمات هاستینگ استفاده میشود و اسکریپت‌های CGI روی آن (/cgi-sys/defaultwebpage.cgi)
همچنین اگر شل bash به عنوان شل پبشفرض سیستم پیکربندی شده باشد میتواند توسط هکرها بوسیله حملات تحت شبکه علیه سرورها و تجهیرات یونیکس/لینوکسی از طریق درخواست‌های تحت وب، ssh, telnet یا هر برنامه دیگری که از شل bash برای اجرای اسکریپت‌ها بهره میبرد استفاده شود و بسیاری از سناریوهای دیگر برای حمله.

shellshock test
چظور میتونم بفهمم سیستم من در برابر shellshock آسیب‌پذیره؟
اگر از گنو/لینوکس (سرور یا دسکتاپ) و یا Apple OSX استفاده میکنید، یک تست ساده وجود داره که میگه آیا سیستم در مقابل این حفره امنیتی نفوذپذیر است یا نه. برای انجام این تست، کد زیر را در خط فرمان اجرا کنید:

اگر سیستم مورد نظر نفوذپذیر باشد خروجی فرمان بالا به این صورت خواهد بود:

و اگر حفره امنیتی اصلاح شده باشد خروجی به این صورت خواهد بود:

 چه کار کنیم تا از شر این حفره امنیتی در امان باشیم؟

هرچه سریعتر شل bash رو آپدیت کنید.برای این کار:

در دبیان و توزیع‌های مبتنی بر دبیان:

و در ردهت و توزیع‌های مبتنی بر ردهت:

در آرچ و توزیع‌های مبتنی بر آرچ:

و البته توزیع‌های دیگه به روش خودشون.

فقط توجه کنید که صرفا بروزرسانی شل bash کافی نیست. نکاتی وجود دارد که رعایت کردن آنها باعث بالا رفتن سطح امنیت خواهد شد.چند پیشنهاد:

  • ابتدا به سراغ اپلیکیشن‌های تحت وب بروید و مقادیر ورودی که این اپلیکیشن‌ها ارزیابی میکنند را بررسی کنید و تا جای ممکن این مقادیر را فیلتر کنید تا از حملات XSS و تزریق SQL نیز تا حدود زیادی در امان باشید.
  • مورد بعدی غیر فعال کردن اسکریپت‌های CGI است که شل را صدا میزنند. واقعا نیازی نیست در قرن ۲۱ هنوز از این روش قدیمی برای تعامل با وب‌سرویس‌ها استفاده کنید! اسکریپت‌های CGI را از همین لحظه برای همیشه با اپلیکیشن‌هایی که با real application language ایجاد شدن جایگزین کنید.
  • از شل bash به یک شل بهتر و مدرن‌تر مانند ZSH مهاجرت کنید. البته باید بدانید در این راه پیچیدگی‌هایی نظیر مشابه نبودن سینتکس‌ها وجود دارد و اینکه ممکن است همه ویژگی‌ها (features)ی مشابه را نداشته باشید ولی به امتحانش می‌ارزد.

نکته:
ناگفته نماند که OpenSSH هم با استفاده از متغیرهای AcceptEnv, TERM, و SSH_ORIGINAL_COMMAND آسیب‌پذیر خواهد بود اگرچه برای دسترسی به آنها نیاز به بودن در یک جلسه تصدیق شده (authenticated session) است ولی امنیت بیشتر خواهد بود اگر کاربران non-administrative را در مقابل استفاده از OpenSSH مسدود کنید تا زمانی که لایه‌های زیری مشکل شل bash نیز اصلاح شوند.

و در انتها:

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

ده گام تا راه اندازی گیرنده دیجیتالی ایکس‌ویژن در گنو/لینوکس

نویسنده:
۶ خرداد ۹۳

چند روز پیش یک دانگل گیرنده دیجیتال مدل X.Vision PCDVB-4100 خریدم. این گیرنده دیجیتالی که از نوع DVB-T محسوب میشه از طرف سازنده سخت‌افزار بطور رسمی از گنو/لینوکس پشتیبانی نمیکنه و من طبق عادت با کلی کلنجار رفتن خلاصه راهش رو پیدا کردم و روی دسکتاپم راه‌اندازیش کردم. این مدل گیرنده دیجیتالی که از مدل‌های رایج بازار هم هست، از چیپست  ITE 9135 ساخت کمپانی ITE Technologies استفاده میکنه و خوشبختانه کرنل لینوکس از نسخه ۲٫۶ به بالا این مدل چیپست رو ساپورت میکنه و وقتی دانگل رو به یکی از پورت‌های USB وصل میکنیم توسط کرنل شناسایی میشه ولی برای راه‌اندازی شدن نیاز به فیرمور مناسب داره و چون کرنل، فیرموری روی سیستم برای این مدل پیدا نمیکنه، نمیتونه دستگاه رو درست راه‌اندازی کنه.

xvision 4100

برای راه‌اندازی این مدل گیرنده دیجیتالی روی گنو/لینوکس باید قدم به قدم مراحل زیر رو دنبال کنید:

۱- ابتدا باید فیرمور مناسب این مدل رو از سایت سازنده چیپست با دستور زیر دریافت کنید:

لینک بالا شکسته شده است. فایل را از اینجا دانلود کنید.

۲- با dd کمی تغییرات روی فایل‌های فیرمور دانلود شده اعمال میکنیم. دستورات زیر رو اجرا کنید:

۳- دو فایل ساخته شده در مرحله قبل رو با دستور زیر در مسیر مناسب کپی کنید:

۴- دانگل رو یکبار از سیستم جدا کنید و دوباره نصب کنید.

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

۶- پکیج w_scan رو روی توزیع مورد استفاده‌تون نصب کنید.

۷- آنتن دستگاه رو بهش وصل کنید و اون رو ترجیحا جلوی پنجره قرار بدید تا قدرت سیگنال‌های دریافتی تقویت بشه.

۸- حالا کانال‌ها رو با دستور زیر جستجو کنید:

این دستور شروع میکنه به جستجوی کانال‌های دیجیتالی محدوده ایران و نتیجه رو روی یک فایل xspf مینویسه. این فایل درواقع یک playlist برای نرم‌افزار VLC است. من یک پلی‌لیست از کانال‌های تلوزیونی و رادیویی دیجیتال ایران، مجموعا شامل ۴۲ کانال  درست کردم که میتونید از اینجا بصورت آماده دریافت کنید.

۹- تمام شد. حالا میتونید روی دسکتاپ گنو/لینوکس خودتون با خوشحالی تلوزیون پر محتوای ملی(!!!)  رو تماشا کنید. برای اینکار کافیه پلی‌لیست ایجاد شده در مرحله قبل رو با vlc باز کنید (:

vlc-play-digital-tv

 

پی‌نوشت:

برای راه‌اندازی سایر مدل‌های گیرنده دیجیتالی، اول باید از روی لاگ‌ها بررسی کنید که آیا چیپست دستگاه توسط کرنل شناسایی میشود یا خیر؟ اگر شناسایی شد و فقط مشکل لود نشدن فیرمور داشت، باید فیرمور مناسب رو پیدا کنید و با مراحل بالا به سیستم اضافه کنید. ولی در صورتی که توسط کرنل شناسایی نشد، مجبور خواهید بود که کرنل رو با درایورهای مورد نیاز، کامپایل کنید. برای این کار میتونید از اطلاعات موجود در سایت linuxtv.org استفاده کنید.

 

کپی‌رایت، خوب یا بد؟

نویسنده:
۲۵ دی ۹۲

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

وقتی صحبت از کپی‌رایت میکنیم باید در نظر داشته باشیم که کپی‌رایت، آیین‌نامه‌ای بود مربوط بود به عصر مطبوعات چاپی تا ناشرها برای انتشار نوشته‌های متعلق به نویسندگان، باید از اونها کسب اجازه میکردن. بگذریم از اینکه آیا کپی‌رایت در اون زمان واقعا به نفع نویسندگان تمام شد یا نه، باید بپدیریم که کپی‌رایت به هیچ وجه با نیازهای دنیای امروز ما متناسب و سازگار نیست و کارایی نداره. چرا؟ به چند دلیل کاملا واضح:
ما در عصری زندگی میکنیم که عصر کامپیوتر، شبکه، محتوای دیجیتال و فرهنگ اشتراک‌گذاریه. روش نشر محتوا در عصر ما، نسبت به زمان‌های پیشین، بطور کلی دگرگون شده. آدم‌ها امروزه خیلی سریع و راحت نرم‌افزار، کتاب، فیلم و موزیک رو باهم از طریق اینترنت به اشتراک میگذارن.

copyright

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

این مهمل‌ترین کار دنیاست که ناشر یک اثر بیاد و هر روز اینترنت رو بگرده تا به آدم‌هایی که فولان اثر دارای کپی‌رایت رو بدون اجازه روی اینترنت منتشر کرده هشدار بده و ازشون شکایت کنه تا اون رو از روی اینترنت حذف کنن یا بیاد و بگه جان من کپی نکنید! یا مستند درست کنه و از بازیگرهای معروف بخواد تا به مردم بگن این کار بده و جرمه یا حرامه! تا کی میخوایم انرژی و وقتمون رو صرف این کارهای مهمل کنیم؟
بحث فرهنگسازی هم در این زمینه به هیچ‌کجا نخواد رسید همونطور که تا الان به جایی نرسیده. همه رو به حساب این نذارید که ما ملت بی‌فرهنگی هستیم که برای کپی‌رایت احترام قائل نیستیم و همه چیز رو کپی میکنیم. کپی‌کاری و انتشار غیر مجاز و زیرزمینی نه‌تنها در ایران بلکه در همه جای دنیا انجام میشه و هیچ دولتی هم توانش رو نداره تا جلوش رو بگیره و از هر طرف جلوی این کار رو بگیری از جای دیگه بیرون خواهد زد. آدم‌ها ذاتا تببلن و تنبلی کردن رو دوست دارن، مثلا دانلود کردن سریال طنز فولان از روی اینترنت خیلی راحت‌تر از رفتن به مغازه و پول دادن و خریدنشه پس خیلی‌ها ترجیح میدن دانلودش کنن.

پس چاره کار چیه؟ حمایت از مولف چی میشه؟
حرف من اینه که باید دست از تلاش‌های مهمل و بی‌نتیجه برای جا انداختن فرهنگ کپی‌رایت در بین آدم‌ها برداریم. سالهاست که ما داد سخن میدیم که کپی‌رایت رو رعایت کنیم ولی در عمل تغییری حاصل نشده. از طرفی اکثر همون افرادی که داد سخن میدن از کپی‌رایت، فقط قشنگ حرف میزنن ولی در عمل خودشون هم کاملا بهش معتقد نیستن و وقتی نوبت به خودشون برسه با سیاست یکی به نعل و یکی به میخ زدن رفتار میکنن.

پس این کار نشدنیه و چیزی که کار نمیکنه رو باید کنار گذاشت چون همونطور که گفتم با نیازمندی‌های آدم‌های امروزه سازگار نیست. ما باید مطابق با نیازهای عصر حاضر حرکت کنیم. امروزه در همه‌جای دنیا مرسومه که به عنوان مثال هنرمندان و نویسندگان نه تنها به دنبال کپی‌رایت نیستن بلکه خودشون داوطلبانه بقیه آدم‌ها رو تشویق میکنن به کپی کردن آثارشون و در عوض امکان دریافت کمک‌های مالی یا به اصطلاح دونیت کردن برای عموم رو هم فراهم میکنن. آدم‌ها میان، دانلود میکنن، گوش میکنن/میبینن/میخونن و اگر دوستش داشتن برای حمایت از هنرمند محبوبشون میرن و بهش در حد توان کمک میکنن تا هم باعث دلگرمی بشه و هم در هنرمند محبوبشون رغبت ایجاد کنه برای ساختن کارهای بعدی.

کدوم هنرمندها این کار رو کردن؟ آیا این روش جواب داده؟ آیا واقعا تونستن پولی جمع کنن؟ بهتره به این قسمت از مقاله استالمن توجه کنید:

پرفروش‌ترین‌ها نیز می‌توانند بدون متوقف ساختن به اشتراک گذاری خوب عمل کنند. Stephen King صدها هزار دلار از فروش نسخهٔ الکترونیکی کتاب خود که رمزگذاری نشده و کپی‌برداری و به اشتراک گذاری را منع نمی‌کرد، در آمد کسب کرد. Issa خواننده‌ای که به نام Jane Siberry نیز شناخته می‌شود، از اشخاص می‌خواست که هنگام دانلود ترانه‌ها قیمتی را که دوست دارند تعیین کنند و متوسط هر پرداخت کمتر از ۰/۹۹ دلار بود. Radiohead در سال ۲۰۰۷ از طرفداران خود خواست که آلبوم جدید را کپی کرده و هر مبلغی که می‌خواهند بابت آن پرداخت کنند، و در حالی که این آلبوم به واسطهٔ P2P نیز به اشتراک گذاشته شده بود، میلیون‌ها دلار درآمد از قبل آن کسب کرد. در سال ۲۰۰۸، Nine Inch Nails آلبومی را با اجازهٔ به اشتراک گذاری کپی‌ها منتشر ساخت و در طول چند روز ۷۵۰،۰۰۰ دلار به دست آورد.

نتیجه‌گیری:

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

آرون سوارتز یادت گرامی

نویسنده:
۲۲ دی ۹۲

حدود یکسال پیش در چنین روزهایی، متاسفانه جنبش حقوق دیجیتال یکی از بهترین‌ فعالانش رو از دست داد و اون کسی نبود جز آرون سوارتز یک برنامه‌نویس، نویسنده و فعال اینترنتی که بر علیه سانسور و برای دسترسی آزاد آدم‌ها به اطلاعات و اینترنت آزاد مبارزه کرد و کمک کرد به گسترش آزادی‌های آنلاین. آرون فعالیت‌های زیادی برای جلوگیری از قانون توقف سرقت آنلاین یا همون SOPA انجام داد. آرون مجوز کریتیو کامانز رو راه‌اندازی کرد، فرمت RSS یا همون خوراک/خبرمایه معروف رو توسعه داد و یکی از پایه گذاران سایت اجتماعی/خبری محبوب ردیت هم بود.

Aaron Swartzیاد و خاطره آرون رو گرامی میداریم خصوصا در سالی که با چالش‌های زیادی درباره آزادی‌ و امنیت کاربرها مواجه بودیم. باید تلاش کنیم تا راه آرون رو ادامه بدیم و مبارزه کنیم با همه خبیث‌ها و مونوپولی‌هایی که تلاش میکنن تا آزادی‌ رو از آدم‌ها سلب کنن و قفسی توی دنیا بسازن برای محدود کردن آدم‌ها برای جلوگیری از دسترسی آزاد به اطلاعات و اینترنت (:

خبر هیجان انگیز از ردهت

نویسنده:
۱۸ دی ۹۲

ردهت دیشب یک خبر غیر منتظره و هیجان انگیز داد. خبر این بود که RHEL و CentOS به هم می‌پیوندن تا یک سنت‌او‌اس جدید رو بسازن. هدف از این کار چی بوده؟ ردهت میگه هدف اینه تا روند توسعه نسل آینده تکنولوژی‌های اپن‌سورس سریع‌تر رو به جلو حرکت کنه و قرار شده که ردهت در روند توسعه سنت‌او‌اس مشارکت کنه.

new centosپیوستن توزیع تجاری ردهت یعنی RHEL به توزیعی که دقیقا همون RHEL هست ولی rebuild شده‌ که بصورت آزاد عرضه میشه واقعا خبر خوشحال کننده‌ای بود و ما CentOS رو به عنوان یک پروژه متعلق به جامعه (community project) در کنار ردهت و فدورا خواهیم داشت همگی در زیر چتر ردهت (:
خبر خوب دیگه اینکه ردهت توی نسخه تجاری آینده‌اش یعنی RHEL 7 قراره که از MariaDB که یک انشعاب آزاد از MySQL هست که مدتیه اوراکل خبیث روش چنبره زده، بعنوان دیتابیس پیشفرض استفاده کنه.

ردهت رو تحسین میکنیم که به دنبال تحقق هدف مشترک نرم‌افزار آزاده و خوشحال از این خبرها منتظر میمونیم تا پیشرفت‌های بزرگتر (: