گنجه
۰۹ ۱۸م, ۱۳۸۷
ادامه از هرزنامهنگار0 نبودیم که شدیم [1]
اول یک تصویر ببینید؛ تصویر وضعیت صف شهاب در دوران هرزنامهنگاری: (کلیک کنید و بزرگش رو ببینید)
بعد از آروم شدن اوضاع، به رغم تمهیدات جدید، همچنان نگران تکرار فاجعه بودم. از این رو چون فکر کردم لابد طرف به روش قوای بیفکر1 گذرواژه2های کاربرها رو در آورده، به فکر تقویت گذرواژهها افتادم. در این مواقع John the Ripper به کار میآد. بستهٔ3 john رو نصب کردم. بعد گذرواژههای کاربرها رو از توی پایگاه داده4 MySQL داخل یک پرونده5 ریختم:
SELECT USER,pass FROM mailbox INTO OUTFILE '/tmp/pass';
و دادم دست جان تا بیرحمانه گذرواژههای ضعیف رو پیدا کنه. دیدن خروجیش واقعاً جالب بود! اصلاً فکر نمیکردم این همه ۱۲۳ و امثاله پیدا بشه. بهتره بگم غمانگیزناک بود!
من که دیگه حسابی قاطی کرده بودم، یک رایانامه6 زدم به همهٔ کاربرها و بهشون یاد دادم چه جور گذرواژهای خوبه و ازشون خواهش کردم که اگر گذرواژهشون قوی نیست، هر چه سریعتر عوضش کنند. از طرفی به کمک افزونه7ای که توی SquirrelMail برای تغییر گذرواژه ازش استفاده میکنم، گذرواژههایی که یافته شده بودند رو ملزم به تغییر کردم. البته به همین سادگی نبود! باید یک ستون به جدول کاربرها اضافه میکردم:
ALTER TABLE mail ADD COLUMN (chpass bool NOT NULL DEFAULT FALSE);
مدتی بعد، یکی از دوستان که گهگاه پیگیر مسائل مربوط به خادم8هامون هست، بهم گفت که برای چند تا از کاربرهای شهاب، رایانامهای از wwwadm@badhost اومده بوده (badhost یکی دیگه از خادمهای رایانامهٔ شبکهٔ ماست که دامنه9اش بسیار شبیه دامنهٔ شهاب هست) و ازشون خواسته بوده گذرواژه2شون رو اعلام کنند. اون بندگان خدا هم خیلی راحت این کار رو کرده بودند. به این روش کسب اطلاعات، phishing میگن که یکی از روشهای معروف از نوع مهندسی اجتماعی10 هست. به عنوان معادل فارسی phishing، عبارت «توراندازی11» رو پیشنهاد میکنم، که شبیه «تیراندازی» هم هست!
این جا بود که معلوم شد هرزنامهنگار قصهٔ ما، گذرواژهها رو از کجا آورده بوده. حالا دیدید اون جا که توی تصویر بالا گفتم «بعداً میفهمین» چه اتفاقات مهمی داشته میافتاده؟!
راستی یادم باشه بعداً ماجرای badhost رو براتون تعریف کنم.
… ادامه دارد …
نکتهٔ جانبی: تصمیم گرفتم در نمایهدهی به عنوانها هم از اعداد فارسی استفاده کنم. برای مثال تفاوت عنوان این مطلب، با عنوان مطلب قبلی از همین دنباله رو مقایسه کنید. راستی فهمیدهاید که چرا از قالب [i] استفاده میکنم که!
۰۹ ۲م, ۱۳۸۷
ادامه از هرزنامهنگار نبودیم که شدیم [0]
فردا شد و همچنان پیغام میرسید که «شهاب خرابه!». شروع کردم به خوندن نگاره0های خادم1های رایانامه2، شامل Postfix و دوستان. (حالا فهمیده بودم اون همه نگاره از کجا اومده بود!) دیری نپایید که متوجه شدم اسم شهاب ما هم رفته توی بدها! یعنی توی فهرست سیاه3 هرزنامهنگار4ها. با بررسی هرزنامههایی که از طرف شهاب فرستاده شده بود، دریافتم که هرزنامهنگار قصهٔ ما گذرواژهٔ5 حساب6 چند تا از کاربرها رو به دست آورده و داره ازشون برای ارسال هرزنامههاش استفاده میکنه بیحیا!
این جا بود که دو کار کردم: یکی این که حسابهای تسخیرشده رو غیر فعال کردم و دیگری، رفتم که شهاب رو از فهرستهای سیاه خارج کنم. خوبیش این هست که وقتی اسمت توی فهرست سیاه باشه، خادم رایانامهٔ اون طرف خط که جوابت میکنه، بهت میگه چرا و کدوم فهرست. معمولاً فهرستهای سیاه هرزنامهنگارها این جوری هستند که بعد از چند روز که دیگه از خادمی، هرزنامهای گزارش نشد، خودکارانه از فهرست سیاه حذفش میکنند. از طرفی همهٔ اونهایی که من دیدم با نشانی IP کار میکردند و کاری به نام دامنه7 نداشتند. به میمنت این ماجرا بود که بالأخره حسابهای postmaster و abuse رو به طور جدی فعال کردم. در این لحظه سیل گزارشهای هرزنامه بود که به abuse سرازیر شد.
حالا دیگه هر هرزنامهای که از شهاب خارج بشه، به شرطی که کسی گزارشش کنه، خبرش سریع بهم میرسه و میتونم پیگیری کنم. انشاءالله از این به بعد توطئه در نطفه خفه میشه! بیحکمت نیست که هر دامنهای که رایانامه میگیره باید به حکم RFC8 این صندوقهای رایانامه رو داشته باشه.
… هنوز ادامه دارد! …
۰۸ ۲۵م, ۱۳۸۷
مدیر0 یک خادم1 رایانامه2 هستم به نام «شهاب». بعد از مدتها که داشت به خوبی و خوشی کارش رو میکرد، یک روز دیدم حدود بیست هزار تا رایانامه توی صفش گیر کرده. معمولاً این عدد برای شهاب حدود یکی دو هزار تاست. از اون طرف یکییکی رایانامهها و پیامک3های دوستان میرسید که «شهاب میل نمیفرسته» و «دوباره دانلود گذاشتی رو شهاب؟! کار نمیکنه!». همون طور که حتماً فهمیدهاید وضعیت شهاب وخیم بود.
چون علائم شهاب شبیه تجربهای نهچندانقدیمی بود، قبل از هر چیز، فضای خالی بخش4های لوح5 رو بررسی کردم. دیدم که بعله، بخش /var پر شده. با استفاده از
du -s * | sort -nr | less
دیدم که کار، کار نگاره6هاست7. از اونجا که بخش /var دیگه جا نداشت، باید شاخهٔ8 /var/log رو به بخش دیگری منتقل میکردم. پس بعد از متوقف کردن [تقریباً] همهٔ خدمت9ها، از جمله apache2 و postfix و klogd و غیره، زدم:
mv /var/log /home ln -s /home/log /var
خدمتها رو آغاز10 کردم و همه چیز خوب به نظر میرسید.
خارج شدم، اما ته دلم هنوز نگران بودم. چون نمیدونستم چرا این همه نگاره تولید شده. با این حال راه راحتتر رو انتخاب کردم(!): به خودم گفتم «حالا بذار تا فردا کار کنه ببینیم چی میشه».
… ادامه دارد …
