بدون شک سرورها روزانه درخواستهای زیادی را دریافت میکنند، علاوهبراین، ما میدانیم که یک سرور کارآمد باید بلافاصله به این درخواستها پاسخ بدهد. اما چه کسی درخواست میکند؟ آنها چه میخواهند و دقیقا به دنبال چه هستند؟ این بازدیدکنندگان از کجا میآیند؟ هر چند وقت یکبار درخواست میکنند؟ یکبار در ماه؟ یکبار در روز؟ یا شاید هر دقیقه؟
پاسخ به این سوالات در فایلی تحت عنوان لاگ سرور نهفته است. در این مقاله توضیح میدهیم که لاگ سرور چیست و چه انواعی دارد. همچنین با مطالعه کامل مقاله میتوانید با دادههای ذخیرهشده در یک فایل لاگ سرور و همینطور کاربردهای متداول آن آشنا شوید.
منظور از لاگ سرور چیست؟
لاگهای سرور فایلهایی هستند که اطلاعات سیستم را در مورد عملکرد دستگاه ثبت و ذخیره میکنند. این فایلها حاوی دادههایی در مورد رویدادهای خاصی هستند که در سرور رخ میدهد:
- خطاهایی که در حین کار رخ میدهد
- آمار حضور و غیاب
- دادههای مربوط به کوئریهای جستوجو
- اطلاعاتی در مورد عملکرد سرویس ایمیل
- دادههای برنامه زمانبندی کارها و موارد دیگر
ماهیت محتویات گزارشها به مکان، هدف و تنظیمات تعیینشده توسط سرپرست بستگی دارد. در واقع میتوان گفت از لاگهای سرور میتوان برای مانیتورینگ سرور استفاده کرد.
انواع لاگ سرور
اگرچه اکثر وبسایتها برای فایلهای لاگ سرور خود به فرمت CLF متکی هستند اما خوب است بدانید که فرمتهای دیگر نیز وجود دارد.
لاگ دسترسی
گزارشهای دسترسی یا Access Log اطلاعاتی را در مورد فایلهای HTML و تصاویر گرافیکی درخواستی از سرور شما را ثبت میکنند. لاگهای دسترسی تعداد بازدیدکنندگان و همچنین منشا آنها را به شما نشان میدهند (برای مثال، آنها از سایتی با دامنه com ،.edu. یا gov. آمدهاند یا دامنههای دیگر آمدهاند). همچنین، میتوانید الگوهای استفاده و اطلاعاتی در مورد اینکه بازدیدکنندگان کدام صفحه بیشترین درخواست را داشتهاند دریافت کنید.
لاگ نماینده
لاگهای نماینده یا Agent Log میتوانند اطلاعاتی را در مورد اینکه کدام سرویسگیرندگان وب روی سرور شما درخواست کردهاند، ثبت کنند و به شما ارائه دهند.
لاگ ارجاعدهنده
لاگهای ارجاعدهنده یا Referrer Log اطلاعات مربوط به آدرس اینترنتی که بازدیدکننده دقیقا قبل از مراجعه به صفحه وب شما و ثبت یک درخواست روی سرور شما در آنجا حضور داشت را ثبت میکند. این نوع لاگ سرور در مواقعی که میخواهید منشا درخواستها را در وب سرور خود مشخص کنید و همچنین اینکه کدام صفحات وب ترافیک را به سرور شما ارجاع میدهند بسیار مفید است.
لاگ خطا
لاگهای خطا یا Error Log اطلاعاتی را در مورد درخواستهای ناموفق سرور در اختیارتان قرار میدهند. اساسا، به محض اینکه شخصی سعی میکند به فایلی که در سرور شما وجود ندارد دسترسی پیدا کند، بهطور خودکار یک پیام خطا ایجاد شده و در لاگ خطای سرور ذخیره میشود.
چه دادههایی در لاگ سرور نگهداری میشوند؟
فرقی نمیکند پشت یک کامپیوتر رومیزی نشته باشید، اخبار را در یک تبلت دنبال کنید یا یک وبسایت را بر روی سرور مجازی ارزان خود میزبانی کنید، در همهی این دستگاهها فرایندهای مختلفی در پسزمینه انجام میشود. اگر خطایی رخ دهد یا فقط بخواهید اطلاعات بیشتری را در مورد اقداماتی که یک سیستمعامل یا برنامه خاص انجام میدهد پیدا کنید، فایلهای لاگ میتواند در این زمینه به شما کمک کند. این فایلها بهطور خودکار توسط هر برنامه، سرور یا سیستم دیتابیسی ثبت میشوند.
بهطور کلی، فایلهای لاگ به ندرت خوانده و ارزیابی میشوند. در واقع آنها را بهعنوان یک جعبه سیاه مجازی در نظر بگیرید که فقط در شرایط اضطراری بازرسی میشود. با توجه به روشی که فایلهای لاگ سرور دادهها را جمعآوری میکنند، برای یافتن اطلاعات بیشتر در مورد خطاهای برنامه و سیستم، این فایلها منبعی عالی هستند.
این فایلها همچنین اطلاعات بسیار خوبی را در مورد رفتار کاربر ثبت میکنند. توانایی کسب اطلاعات بیشتر در مورد کاربران این فناوری را به ویژه برای اپراتورهای وبسایت به ابزاری جالب تبدیل میکند. بهاینترتیب، اپراتورها میتوانند دادههای مفیدی را از فایلهای لاگ سرور موجود در سرورهای وب خود بهدست آورند.
کاربردهای متداول فایلهای لاگ سرور
بهطور کلی سیستمعاملها با اختصاص انواع فرایند به دستههای ثابت، فایلهای پروتکلهای متعددی را ایجاد میکنند. برای مثال، سیستمهای ویندوزی اطلاعات رویدادهای برنامه، رویدادهای سیستم، رویدادهای مرتبط با امنیت، رویدادهای تنظیمات و آمادهسازی و رویدادهای ریدایرکت یا تغییر مسیر را ثبت میکنند.
این ویژگی به مدیران یک سرور اختصاصی ارزان اجازه میدهد تا بینشی را در مورد اطلاعات فایل لاگ سرور مربوطه بهدست آورند که میتواند به آنها در عیبیابی کمک کند. فایلهای لاگ ویندوز همچنین نشان میدهد که کاربران چه مواردی را به سیستم وارد و خارج کردهاند. علاوهبر سیستمعامل، برنامهها و سیستمهای زیر نیز اطلاعات کاملا متفاوتی را جمعآوری میکنند:
برنامههای پسزمینه
برنامههایی مانند سرویسهای ایمیل، دیتابیسها یا سرورهای پراکسی فایلهای لاگی را تولید میکنند که عمدتا برای ثبت پیامهای خطا و رویداد و همینطور سایر اعلانها استفاده میشود. این قابلیتها به ایمن بودن کمک میکنند و در صورت خرابی، دادهها را بازیابی میکنند.
نرمافزارهای نصبشده
برنامههای رسمی، بازیها، پیامرسانها، فایروالها یا آنتیویروسها انواع مختلفی از دادهها را در فایلهای لاگ ذخیره میکنند. پیکربندیها و پیامهای چت مختلف نیز ممکن است در این فرایند دخیل باشند. برای مثال، نمونههایی از هنگ کردن برنامه تفسیر شده و برای کمک به سرعت بخشیدن به تلاشهای مربوط به عیبیابی استفاده میشود.
سرورها (به ویژه وب سرورها)
سرورها فعالیت شبکه مربوطه را ثبت میکنند. این اطلاعات حاوی دادههای مفیدی در مورد کاربران و رفتار آنها در شبکه است. علاوهبراین، دادههای ثبتشده به مدیران دارای مجوز اجازه میدهد تا ببینند چه کاربرانی یک برنامه را اجرا یا فایلی را درخواست کردهاند، چه زمانی و برای چه مدتی این کار را انجام دادهاند و از چه سیستمعاملی استفاده شده است.
بنابراین، یک مدیر سرور با بررسی این فایلها متوجه میشود که کاربران یا بازدیدکنندگان هدف در یک صفحه از برنامه یا وبسایت چه رفتاری را انجام دادهاند. تحلیل لاگ وب یکی از قدیمیترین روشهای کنترل وب و یکی از بهترین نمونهها برای نمایش کاربردهای فراوان فایلهای لاگ سرور است.
با استفاده از فایلهای لاگ سرور برای سرور مجازی خود مانند سرور مجازی ایران و همچنین برای سرورهای اختصاصی (مانند سرور اختصاصی ایران) به اطلاعات و دادههای حیاتی خود دسترسی داشته باشید و امنیت و عملکرد سیستم خود را ارتقا دهید.
چگونه فایل لاگ سرور را پیدا کنیم؟
بهعنوان یک قاعده، این فایلها بر روی هارددیسک یا SSD سرور اصلی و معمولا در دایرکتوری روت هاست ذخیره میشود. مکان دقیق این فایل به سیستمعامل بستگی دارد:
برای کاربران اوبونتو یا دبیان، فایل لاگ اصلی در مسیر «var/log/syslog/» ذخیره میشود و گزارشهای بوت سیستم، MySQL و nginx را میتوان در آنجا پیدا کرد.
در سیستمعامل CentOS یا فدورا، در مسیر «/var/log/» میتوانید لاگ خطاها، دسترسیها، بوت سیستم و سایر نرمافزارها را پیدا کنید.
در سیستمعامل ویندوز همهچیز سادهتر است و فقط کافیست از طریق کنترل پنل برنامه «View logs and events» را باز کنید و سپس مستقیما به بخش گزارشهای سیستم بروید.
بهطور کلی، یافتن گزارشهای وب سرور کار سختی نیست، اما همه نمیتوانند این دادهها را بهدرستی بخوانند و درک کنند.
دلایل استفاده از لاگ سرور و نحوه صحیح خواندن این فایل
لاگها حاوی اطلاعات مهمی در مورد خرابی سرور، افزایش ناگهانی بار، عملکرد ناکافی و موارد دیگر هستند. در اینجا میتوانید نشانههای مستقیم و غیرمستقیم از تلاش برای هک کردن، ارسال هرزنامه و غیره را ببینید. تجزیهوتحلیل درست این فایلها اهمیت زیادی دارد تا بتوانید اقدامات به موقعی را برای بهبود سرور و تضمین امنیت سطح بالای آن انجام دهید. با استفاده از لاگ سرور، میتوانید مشکلات احتمالی سرور مجازی ارزان خود را پیشبینی و از بروز آنها جلوگیری کنید.
هر لاگ سرور دارای یک ساختار واضح با اطلاعات رمزگذاریشده در مورد ماهیت رخداد است. بهعنوان مثال، اجازه بدهید به ساختار یک فایل استاندارد access_log نگاهی بیندازیم:
102.102.102.102 – – [02/Feb/2022:12:00:00 +0100] “GET /wp-includes/feed.php HTTP/2.0” 200 – “-” “Chrome/6.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36”
تحلیل این فایل:
«102.102.102.102.102» آدرس IP که درخواست از آنجا انجام شده است.
«[02/Feb/2022:12:00:00 +0100]» تاریخ و زمان رویداد
«GET» روش درخواست
«wp-includes/feed.php/» شئی درخواستی
«HTTP/2.0» پروتکل
«200» کد پاسخ سرور
«Chrome/6.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36» دادههای مربوط به بازدیدکننده
ساختار فایلهای لاگ بسته به سیستمعامل متفاوت خواهد بود، بنابراین هیچ راهنمای جهانی و جامعی وجود ندارد. شما باید ساختار مربوط به فایلهای لاگ در هر سیستمعامل را بهطور مجزا یاد بگیرید. برای سرور ویندوز همهچیز بسیار ساده است و فایلهای لاگ در قالب یک جدول با ساختاری هوشمند و راحت ایجاد میشود. در مجموع، با کمی مطالعه و کمی تجربه عملی بهراحتی میتوانید لاگ سرور را بخوانید، از لاگ ایمیلها گرفته تا لاگهای مربوط به بوت.
چک کردن لاگها سرور مجازی
فرض کنید وبسایت یا برنامه تحتوب خود را بر روی یک سرور مجازی ایران میزبانی کردهاید و حالا میخواهید رویدادهای مربوط به یک روز یا بازه زمانی خاص را بررسی کنید. با توجه به توضیحاتی که در این مقاله ارائه شد، فایلهای لاگ سرور همه پاسخهای لازم را به شما ارائه میدهند. برای دسترسی به لاگهای سیستم، ابتدا باید از طریق SSH به سرور متصل شوید و سپس دستورات زیر را در کنسول وارد کنید:
cd logs.ls -all
با اجرای این دستور محتویات پوشه logs ظاهر میشود، بنابراین تنها کاری که باید انجام دهید این است که فایل لاگ مورد نظر خود را باز کرده و تجزیهوتحلیل را شروع کنید. برای آسانتر کردن جمعآوری و مشاهده لاگهای سرور، بسیاری از مدیران از نرمافزارهای خاصی مانند Paessler PRTG ،Papertrail ،Loggly یا XpoLog استفاده میکنند.
جمعبندی
لاگهای سرور بسیار فراتر از فایلهای متنی ساده هستند. این فایلها در واقع سوابق تاریخی بسیار ارزشمند در دنیای دیجیتالی بهحساب میآیند. با درک انواع لاگ سرور، فرمتها و برنامههای مرتبط، صاحبان وبسایت، متخصصان فناوری اطلاعات و تحلیلگران امنیتی میتوانند به بینشهای گستردهای دسترسی پیدا کنند. از بهینهسازی تجربه کاربر تا تقویت وضعیت امنیتی، لاگهای سرور به ما کمک میکند تا حضور دیجیتالی خود را به روشی معنادار مدیریت و تقویت کنیم.