سرورهای وب آپاچی می توانند بسیاری از سیاههها را تولید کنند.
این سیاهههای مربوط حاوی اطلاعات مختلفی است ، مانند درخواست های HTTP که Apache پردازش و به آنها پاسخ می دهد ، و سایر اقدامات خاص Apache.
تجزیه و تحلیل ورود به سیستم بخش مهمی از مدیریت است. Apache و نحوه کارکرد آن.
در این راهنما ، ما گزینه های مختلف ورود به سیستم ارائه شده در Apache و نحوه تفسیر آنها را بررسی خواهیم کرد.
شما یاد می گیرید که چگونه سیاهههایی را که Apache ایجاد می کند و نحوه پیکربندی گزینه های ورود به سیستم را بررسی کنید ، ارائه این مهمترین اطلاعات در مورد کاری است که Apache انجام می دهد.
در این راهنما یاد می گیرید که چگونه:
- پیکربندی و درک سیستم ورود به وب سرور Apache
- سطوح ورود به سیستم Apache (
- ) نحوه تفسیر قالب بندی سیاهههای مربوط به آپاچی چیست و معنی آنها
- رایج ترین پرونده های پیکربندی ورود به سیستم آپاچی چیست
- چگونه می توان پیکربندی ورود به سیستم را گسترش داد تا پزشکی قانونی را شامل شود
سیاهههای مربوط به Apache و مکان آنها
Apache دو پرونده مختلف را ایجاد می کند:
- access.log اطلاعات مربوط به همه درخواست های دریافتی برای اتصال به Apache را ذخیره می کند. هر بار کاربر از سایت شما بازدید می کند ، اینجا ثبت می شود. هر صفحه ای که از کاربر درخواست می کند نیز به عنوان ورودی جداگانه ثبت می شود.
- error.log اطلاعات مربوط به خطاهایی را که Apache در طول کار خود با آن روبرو شده است را ذخیره می کند. در حالت ایده آل ، این پرونده باید نسبتاً خالی باشد.
محل پرونده های گزارش ممکن است بستگی به نسخه شما در آپاچی و استفاده از توزیع لینوکس شما دارد.
همچنین Apache می تواند پیکربندی شود تا این پرونده ها را در یک مکان دیگر نسبت به پیش فرض ذخیره کند.
اما به طور پیش فرض می توانید سیاهههای دسترسی و خطا را در یکی از فهرستهای زیر بیابید:
- / var / log / apache /
- / var / log / apache2 /
- / etc / httpd / logs /
قالب بندی سیاهههای مربوط به آپاچی
Apache به شما امکان می دهد پیکربندی کنید که چه اطلاعاتی ثبت شده است و چگونه هر یک از ورود به سیستم ظاهر می شود ، که بعداً در این راهنمای بحث خواهیم کرد.
قالب معمول که Apache برای نشان دادن ورودی های ورود به سیستم است ،
"٪ h ٪ l٪ u٪ t "٪ r "٪> s٪ O "٪ {Referer} i " "٪ {عامل کاربر} i " "
در اینجا نحوه تفسیر این قالب بندی آمده است:
- ٪ h – آدرس IP مشتری.
- ٪ l – این "شناسه" روی مشتری است ، که [196590336]٪ u – شناسه مشتری ، در صورت استفاده از احراز هویت HTTP. این زمینه معمولاً خالی است و به صورت یک hyphen ظاهر می شود.
- زمینه نمایش داده نمی شود.
- ٪ t – Timestamp برای ورود به سیستم.
- ٪ r – رشته را از مشتری درخواست کنید. این پارامتر نشان داده خواهد شد از کدام روش HTTP استفاده شده است (به عنوان مثال ، GET یا POST) ، از کدام پرونده خواسته شده است و از کدام پروتکل HTTP استفاده شده است.
- ٪> s – کد وضعیتی که به مشتری برگردانده شد. کدهای 4xx (به عنوان مثال 404 ، صفحه یافت نشد) خطاهای مشتری را نشان می دهد ، و کدهای 5xx (به عنوان مثال 500 ، خطای سرور داخلی) خطاهای سرور را نشان می دهد. همچنین هدایت می شود (به عنوان مثال ، 301).
- ٪ O – اندازه پرونده (از جمله هدر) در بایت های درخواستی.
- "٪ Referer} i " – پیوند به لینک. پارامتر می گوید که چگونه کاربر به صفحه شما (از طریق پیوند داخلی یا خارجی) رفت.
- "٪ {User-Agent} i " – Co اطلاعات مربوط به وب اتصال مرورگر و سیستم عامل مشتری.
یک ورود به سیستم معمولی access.log چیزی شبیه به این است:
10.10.220.3 - - [17/Dec/2019:23:05:32 -0500] "GET /products/index.php HTTP / 1.1" 200 5015 "http://example.com/products/index.php" "Mozilla / 5.0 (Windows NT 10.0؛ Win64؛ x64) AppleWebKit / 537.36 (KHTML ، مانند Gecko) Chrome / 79.0.3945.79 Safari / 537.36"
گزارش خطا (error.log) کمی ساده تر و آسان برای تفسیر است.
این چه شکلی است که ممکن است یک ورودی معمولی باشد: [
[Mon Dec 16 06:29:16.613789 2019] [php7:error] [pid 2095] [client 10.10.244.61:24145] اسکریپت '/var/www/html/settings.php' یافت نشد یا قادر به ثبت نام نیست.
این یک روش خوب برای یافتن چند خطاست 404 بازدید کنندگان شما مورد استقبال قرار می گیرند ، و می توانند به شما در یافتن برخی لینکهای خراب در سایت خود کمک کنند.
مهمتر از همه ، این سیاههها می توانند به شما درمورد منابع از دست رفته یا مشکلات احتمالی سرور هشدار دهند.
در صفحه فوق * .php ، که درخواست شد اما روی سرور نیست.
پیکربندی پرونده های Apache (
ورود به سیستم Apache بسیار قابل تنظیم است و می تواند با استفاده از چند پرونده پیکربندی تغییر یابد.
در اوبونتو و دبیان ، پرونده اصلی پیکربندی ورود به سیستم Apache در اینجا است:
- /etc/apache2/apache2.conf
از آنجا که می توانید چندین وب سایت (به نام میزبان مجازی) را از یک نمونه آپاچی اجرا کنید ، می توانید هر یک از آنها را پیکربندی کنید تا دسترسی و خطای جداگانه داشته و دسترسی داشته باشند.
برای تعیین اینکه این پرونده های جداگانه باید چه کسانی خوانده شوند و از کجا می توان آنها را ذخیره کرد ، این پرونده را پیکربندی کنید:
- /etc/apache2/sites-available/000-default.conf
در CentOS ، RHEL و Fedora ، دو پرونده پیکربندی به ترتیب در مکان های زیر قرار دارند:
- /etc/httpd/conf/httpd.conf
- /etc/httpd/conf.d/ (تنظیمات اضافی VirtualHost را در این فهرست قرار دهید)
بخشنامه ورود به سیستم
چندین دستورالعمل مختلف وجود دارد که می توانند در این پرونده ها پیکربندی شوند ، اما اینها اصلی ترین مواردی هستند که اگر می خواهید پیکربندی پرونده های Apache را تنظیم کنید ، باید مراقبت کنید:
- CustomLog – تعیین می کند که پرونده ورود به سیستم در کجا ذخیره شده است.
- ErrorLog – تعیین می کند که فایل ورود به سیستم خطا در کجا ذخیره شده است.
- LogLevel – تعیین می کند که این رویداد چقدر باید جدی باشد تا وارد شود (برای اطلاعات بیشتر مراجعه کنید [درزیر)
- LogFormat – نحوه چگونگی قالب بندی هر ورودی در ورود به سیستم را مشخص می کند (برای جزئیات بیشتر به زیر مراجعه کنید).
LogLevel به طور پیش فرض هشدار داده شده است ، این بدان معنی است که هشدارها یا وقایع جدی تر را در ورود به خطا می دهد.
اگر ورود به سیستم خطا شما با بسیاری از پیام های هشدار دهنده بی ضرر پر شده است ، می توانید آن را به خطای ، و سیستم فقط خطاها یا مشکلات جدی تر را گزارش خواهد کرد.
گزینه های دیگر شامل (به ترتیب شدت) krit ، alarm ، و ظهور .
آپاچی توصیه می کند حداقل از سطح معیار انتقادی استفاده کنید.
برای اهداف اشکال زدایی ، می توانید LogLevel را به صورت موقت تنظیم کنید ، اما این را بخاطر بسپارید که می توانید تعداد زیادی از ورودی های وارد شده را در خطای خطا دریافت کنید (error.log).
LogFormat به شما امکان می دهد ظاهر ورودی ها را در ورود به سیستم تنظیم کنید (acces.log).
اگر فکر می کنید که ورودی مثال در access.log (از مثال log log Apache در بالا) کمی گیج کننده است ، شما
آپاچی به شما اجازه می دهد تا قالب ورودی های log را سفارشی کنید تا بتوانید آنها را به روشی منطقی تر پیکربندی کنید.
همچنین می توانید از این تنظیم استفاده کنید تا اطلاعات خاصی را که مرتبط نیستند حذف کنید.
ماژول های ورود به سیستم آپاچی
پیکربندی گزارش هایی که تاکنون در این راهنما نشان می دهیم مربوط به ماژول آپاچی mod_log_config است.
برای گسترش کارایی سیاهههای مربوط ، می توانید ماژول های Apache دیگر را نیز بارگیری کنید.
آنها می توانند برخی از ویژگی های اضافی را ارائه دهند که با تنظیمات پیش فرض در دسترس نیست. برای اولین بار دریافت می شود) و پس از درخواست ثبت می شود.
این بدان معنی است که برای هر درخواست دو مدخل ایجاد می شود که به مدیر اجازه می دهد زمان دقیق پاسخ را اندازه گیری دقیق تر کند.
با استفاده از دایرکتوری ها ، ورود به سیستم پزشکی قانونی خود را پیدا کنید. CustomLog tiva.
به عنوان مثال:
CustomLog $ {APACHE_LOG_DIR / Forensic.log پزشکی قانونی
mod_logio تعداد بایت های ارسال شده و دریافت شده از هر درخواست را ضبط می کند.
اطلاعات بسیار دقیقی را ارائه می دهد ، زیرا داده های موجود در عنوان و بدنه هر درخواست را نیز در نظر می گیرد ، و همچنین داده های اضافی را که برای رمزگذاری لازم است را در نظر می گیرد. اتصالات SSL / TLS.
٪ I و O٪ ٪ را به بخشنامه LogFormat اضافه كنید تا از داده های اضافی ارائه شده توسط این ماژول استفاده كنید.
دیگران ] ماژول ها ؛ فقط دو مورد مفید هستند.
نتیجه گیری
در این مقاله ، ما چگونگی تجزیه و تحلیل و تفسیر acces.log و Apache error.log را دیدیم.
ما همچنین یاد گرفتیم که چگونه پرونده های پیکربندی Apache را پیکربندی کنیم تا اطلاعات مربوط به log بیشتر شود. [19659003] با استفاده از این دانش ، شما می توانید مشکلات را به سرعت شناسایی کرده و آنها را حل کنید.
به یاد داشته باشید که عملکرد سیاهههای مربوط به آپاچی با استفاده از ماژول های دیگر قابل گسترش است ، اگرچه این تنها در موارد شدید ضروری است که نیاز به اشکال زدایی گسترده دارد.