همهٔ موضوعات ←نوشتههای با برچسب Apache
۵۰ نوشته، از تازهترین به قدیمیترین.
۰۱
آپاچی؛ شب ۹: لاگها، reload و تشخیص ۴۰۳ تا ۵۰۳وقتی مرورگر فقط «باز نمیشود» میگوید، باید شاهد جمع کنیم. امشب درخواست، کد پاسخ، میزبان انتخابشده و error log را به هم وصل میکنیم.
۲ دقیقه مطالعه
Apache ←۰۲
آپاچی؛ شب ۸: Directory، Location و Aliasنشانی مرورگر همیشه مسیر مستقیم روی دیسک نیست. امشب یک پوشهٔ خارج از DocumentRoot را با Alias منتشر میکنیم و تفاوت محدود کردن فایل و URL را میبینیم.
۲ دقیقه مطالعه
Apache ←۰۳
آپاچی؛ شب ۷: مجوز فایل و برچسب SELinuxخطای 403 میتواند از policy Apache، مجوز لینوکس یا SELinux بیاید. امشب این سه علت را جدا میکنیم تا رفع مشکل به باز کردن بیحساب دسترسی تبدیل نشود.
۲ دقیقه مطالعه
Apache ←۰۴
آپاچی؛ شب ۶: چند سایت و پاسخ به نام ناشناسدو نام میتوانند روی یک IP سایتهای متفاوت داشته باشند، اما درخواست با نام ناشناس هم به یک میزبان میرسد. امشب ترتیب انتخاب سایت و میزبان پیشفرض را آزمایش میکنیم.
۲ دقیقه مطالعه
Apache ←۰۵
آپاچی؛ شب ۵۰: پروژهٔ نهایی و تحویل وبسرور قابل نگهداریاکنون اجزای زیادی داریم؛ تحویل خوب یعنی همهٔ آنها در یک سناریوی روشن و قابل بازیابی کار کنند. امشب سرویس را از دید کاربر، مدیر و ممیز بررسی میکنیم.
۲ دقیقه مطالعه
Apache ←۰۶
آپاچی؛ شب ۵: اولین میزبان مجازی با DocumentRoot مستقلمیخواهیم نام www.example.test به محتوای خودمان برسد. VirtualHost یا میزبان مجازی، تنظیمات یک سایت را روی یک IP و پورت مشخص از سایتهای دیگر جدا میکند.
۲ دقیقه مطالعه
Apache ←۰۷
آپاچی؛ شب ۴۹: اصلاح یافتههای CIS و آزمون عدم خرابیممیزی بدون اصلاح، بدهی مشخصشده باقی میگذارد؛ اصلاح بدون آزمون میتواند سرویس سالم را قطع کند. امشب هر یافته را به یک تغییر محدود و نتیجهٔ قابل بازبینی تبدیل میکنیم.
۲ دقیقه مطالعه
Apache ←۰۸
آپاچی؛ شب ۴۸: ممیزی CIS با شاهد و بررسی فقطخواندنیوجود directive در یک فایل، فعال بودن آن را اثبات نمیکند. امشب ممیزی را از config خواندهشده تا رفتار شبکه پیش میبریم و وضعیت هر کنترل را با شاهد ثبت میکنیم.
۲ دقیقه مطالعه
Apache ←۰۹
آپاچی؛ شب ۴۷: CIS Apache؛ نسخه، دامنه و baselineCIS Benchmark مجموعهٔ توصیههای پیکربندی است، نه گواهی امن بودن یک سرویس. امشب مرجع ممیزی، دامنهٔ سرویس و استثناها را قبل از اجرای اصلاحات مشخص میکنیم.
۲ دقیقه مطالعه
Apache ←۱۰
آپاچی؛ شب ۴۶: مانیتورینگ خصوصی، خطا و چرخش لاگپاسخ 200 لحظهای برای بهرهبرداری کافی نیست. امشب ظرفیت، خطاهای backend، تاریخ گواهی و رشد لاگ را به چند شاهد قابل پیگیری تبدیل میکنیم.
۲ دقیقه مطالعه
Apache ←۱۱
آپاچی؛ شب ۴۵: سختسازی با SELinux، AppArmor و systemdمجوز فایل تنها مرز اجرای برنامه نیست. امشب کنترل اجباری سیستمعامل و محدودیت واحد سرویس را بررسی میکنیم، با آزمونهایی که خرابی ناشی از policy را آشکار کنند.
۲ دقیقه مطالعه
Apache ←۱۲
آپاچی؛ شب ۴۴: محدودیت درخواست، اتصال کند و بودجهٔ منابعیک وبسرور با TLS و هدرهای درست هنوز میتواند زیر بار نامتناسب از دسترس خارج شود. امشب زمانها، اندازهٔ درخواست و ظرفیت کارگر را با رفتار برنامه هماهنگ میکنیم.
۲ دقیقه مطالعه
Apache ←۱۳
آپاچی؛ شب ۴۳: سختسازی پایهٔ Apache و بستن مسیرهای اضافیHardening یا سختسازی یعنی کم کردن سطح حمله با حفظ قابلیت لازم. امشب ماژولها، فایلهای منتشرشده و میزبان پیشفرض را بررسی میکنیم؛ هر حذف باید آزمون بازگشت داشته باشد.
۳ دقیقه مطالعه
Apache ←۱۴
آپاچی؛ شب ۴۲: backup، بازیابی، cron و ارتقای WordPressنسخهٔ پشتیبان زمانی ارزش دارد که بتوانی آن را بازیابی کنی. امشب دیتابیس، فایلها و تنظیمات لازم را جمع میکنیم و اجرای کارهای زمانبندیشده را از ترافیک بازدیدکننده جدا میکنیم.
۳ دقیقه مطالعه
Apache ←۱۵
آپاچی؛ شب ۴۱: پیوندهای WordPress، upload و HTTPS پشت پراکسیسایت باز میشود، اما پیوند مطلب 404 میدهد یا تصویر upload نمیشود. امشب مسیرهای WordPress و محدودهٔ نوشتن را تکمیل میکنیم؛ سپس اعتماد به HTTPS اعلامشده از edge را جدا بررسی …
۲ دقیقه مطالعه
Apache ←۱۶
آپاچی؛ شب ۴۰: سایت WordPress با PHP-FPM و HTTPSمسیر اصلی دوره اکنون آمادهٔ انتشار WordPress است: Apache event برای HTTP و pool مستقل برای PHP. امشب میزبان اختصاصی را میسازیم و نصب را با HTTPS معتبر تکمیل میکنیم.
۳ دقیقه مطالعه
Apache ←۱۷
آپاچی؛ شب ۴: فایلهای پیکربندی، Include و ماژولهایک directive درست در فایل خواندهنشده هیچ اثری ندارد. امشب یاد میگیریم Apache چه فایلهایی را میخواند و ماژول لازم برای هر قابلیت را چگونه پیدا کنیم.
۲ دقیقه مطالعه
Apache ←۱۸
آپاچی؛ شب ۳۹: اجرای WordPress با mod_php و PHP-CGIWordPress وابسته به یک روش خاص اجرای PHP نیست. امشب یک deployment یکسان را در دو Clone با mod_php و PHP-CGI میسنجیم تا تفاوت هویت اجرا، ظرفیت و تنظیمات روشن شود.
۲ دقیقه مطالعه
Apache ←۱۹
آپاچی؛ شب ۳۸: آمادهسازی WordPress، دیتابیس و فایلهاWordPress به PHP، پایگاه داده و فایلهای قابل مدیریت نیاز دارد. امشب دیتابیس با حساب محدود به خودش میسازیم و کد و راز را پیش از انتشار از هم جدا میکنیم.
۳ دقیقه مطالعه
Apache ←۲۰
آپاچی؛ شب ۳۷: ظرفیت FPM، OPcache و slow logافزایش تعداد کارگر بدون بودجهٔ حافظه میتواند کل سرویس را از دسترس خارج کند. امشب ظرفیت PHP را با اندازهگیری انتخاب میکنیم و درخواست کند را بدون نمایش خطا به کاربر پیدا میکنیم.
۲ دقیقه مطالعه
Apache ←۲۱
آپاچی؛ شب ۳۶: pool مستقل و حساب کماختیار برای WordPressاگر همهٔ سایتها با یک کاربر PHP اجرا شوند، compromise یک سایت میتواند دادهٔ سایت دیگر را هم در دسترس بگذارد. امشب حساب runtime WordPress و socket مستقل آن را آماده میکنیم.
۲ دقیقه مطالعه
Apache ←۲۲
آپاچی؛ شب ۳۵: PHP-FPM روی AlmaLinux و Rocky Linuxدر خانوادهٔ RHEL 9، مدل بستهبندی PHP با FPM کار میکند. امشب stream مناسب را آگاهانه انتخاب میکنیم و socket اختصاصی را به میزبان وصل میکنیم.
۲ دقیقه مطالعه
Apache ←۲۳
آپاچی؛ شب ۳۴: PHP-FPM روی Debian و UbuntuPHP-FPM اجرای PHP را از کارگرهای Apache جدا میکند. امشب یک pool محدود میسازیم، Apache event را نگه میداریم و نبودن FPM را نیز آزمایش میکنیم.
۲ دقیقه مطالعه
Apache ←۲۴
آپاچی؛ شب ۳۳: PHP-CGI، Action و جلوگیری از اجرای مستقیمPHP-CGI روش قدیمیتر اتصال PHP به Apache است. امشب در یک Clone نشان میدهیم فایل PHP چگونه از طریق Action به مفسر میرسد و چرا حفاظت اجرای مستقیم مفسر لازم است.
۲ دقیقه مطالعه
Apache ←۲۵
آپاچی؛ شب ۳۲: PHP با mod_php روی Debian و Ubuntumod_php کد PHP را داخل کارگرهای Apache اجرا میکند. امشب آن را در Clone مستقل میآزماییم؛ مسیر اصلی event و PHP-FPM دوره را پس از آزمایش بازیابی میکنیم.
۲ دقیقه مطالعه
Apache ←۲۶
آپاچی؛ شب ۳۱: CGI با یک برنامهٔ کوچک و محدودCGI یا Common Gateway Interface قرارداد اجرای برنامه و تحویل خروجی آن به وبسرور است. امشب یک برنامهٔ ساده اجرا میکنیم تا تفاوت فایل ثابت، برنامهٔ اجراشدنی و FastCGI روشن شود.
۲ دقیقه مطالعه
Apache ←۲۷
آپاچی؛ شب ۳۰: اجرای پایدار برنامه پشت Apache با systemdترمینال باز راه نگهداری سرویس نیست. امشب یک برنامهٔ WSGI را با حساب مستقل و Gunicorn زیر systemd اجرا میکنیم و Apache را به ورودی HTTPS آن تبدیل میکنیم.
۲ دقیقه مطالعه
Apache ←۲۸
آپاچی؛ شب ۳: نصب httpd روی AlmaLinux و Rocky Linuxهمان Apache در خانوادهٔ RHEL با نام بسته و سرویس httpd عرضه میشود. امشب آن را با SELinux فعال نصب میکنیم و مسیرهای این شاخه را ثبت میکنیم.
۲ دقیقه مطالعه
Apache ←۲۹
آپاچی؛ شب ۲۹: SSE، پاسخ جریانی و timeoutبعضی برنامهها پیام را فقط از سرور به مرورگر میفرستند. SSE یا Server-Sent Events این کار را روی HTTP انجام میدهد؛ برخلاف WebSocket به upgrade نیاز ندارد. امشب زمان رسیدن هر پیام …
۲ دقیقه مطالعه
Apache ←۳۰
آپاچی؛ شب ۲۸: WebSocket و آزمون رفتوبرگشت پیامWebSocket پس از handshake، ارتباط دوطرفهٔ طولانی میسازد. امشب یک echo server محلی را از مسیر wss://app.example.test/ws/ منتشر میکنیم و دریافت 101 را با تبادل واقعی پیام تکمیل …
۲ دقیقه مطالعه
Apache ←۳۱
آپاچی؛ شب ۲۷: توزیع بار و رفتار هنگام خرابی backendدو backend میتوانند ظرفیت و امکان ادامهٔ سرویس بدهند، اما دادهٔ نشست و درخواست نیمهتمام خودکار حل نمیشود. امشب توزیع درخواست و خرابی یک عضو را اندازه میگیریم.
۲ دقیقه مطالعه
Apache ←۳۲
آپاچی؛ شب ۲۶: TLS معتبر میان Apache و backendTLS در ورودی، مسیر تا backend را خودکار محافظت نمیکند. امشب backend دارای HTTPS میسازیم و بررسی CA و نام آن را در Apache الزامی میکنیم.
۲ دقیقه مطالعه
Apache ←۳۳
آپاچی؛ شب ۲۵: پراکسی زیرمسیر، redirect و cookieبرنامهای که در ریشه کار میکند الزاماً زیر /service/ درست کار نمیکند. امشب مسیر درخواست، redirect و cookie را جدا بررسی میکنیم و محدودیت بازنویسی پراکسی را میشناسیم.
۲ دقیقه مطالعه
Apache ←۳۴
آپاچی؛ شب ۲۴: پراکسی معکوس اولین برنامهپراکسی معکوس درخواست عمومی را میگیرد و به یک برنامهٔ داخلی میفرستد. امشب TLS در Apache تمام میشود و یک backend محلی بدون پورت عمومی پاسخ میدهد.
۲ دقیقه مطالعه
Apache ←۳۵
آپاچی؛ شب ۲۳: اعتماد به پراکسی و IP واقعی کلاینتوقتی Apache پشت پراکسی باشد، همتای اتصال خود پراکسی است. امشب مشخص میکنیم چه کسی اجازه دارد IP کلاینت را اعلام کند؛ اعتماد به هر هدر دریافتی allowlist را قابل دور زدن میکند.
۲ دقیقه مطالعه
Apache ←۳۶
آپاچی؛ شب ۲۲: محدودیت شبکه با UFW و firewalldRequire ip فقط درخواست HTTP را محدود میکند؛ فایروال میتواند اتصال غیرمجاز را پیش از Apache ببندد. امشب HTTPS آزمایشگاه را فقط برای .20 باز میکنیم و راه مدیریت را حفظ میکنیم.
۲ دقیقه مطالعه
Apache ←۳۷
آپاچی؛ شب ۲۱: mTLS و گواهی کلاینت برای ورودی خصوصیدر TLS معمولی فقط هویت سرور بررسی میشود. mTLS یا TLS متقابل گواهی کلاینت را هم بررسی میکند. امشب یک میزبان مدیریتی جدا میسازیم و اعتبار گواهی را از مجوز دسترسی تفکیک میکنیم.
۲ دقیقه مطالعه
Apache ←۳۸
آپاچی؛ شب ۲۰: احراز هویت و IP بهصورت همزمانمحدودیت شبکه مشخص نمیکند چه کسی وارد شده است. امشب ورود با گذرواژه را روی HTTPS اضافه میکنیم و سیاست «کاربر درست و IP درست» را صریح مینویسیم.
۲ دقیقه مطالعه
Apache ←۳۹
آپاچی؛ شب ۲: نصب apache2 روی Debian و Ubuntuامشب Apache را از مخزن توزیع نصب میکنیم و میان نصب بسته، اجرای سرویس و دسترسی شبکه تفاوت میگذاریم. نتیجه باید پاسخ HTTP واقعی از VM باشد.
۲ دقیقه مطالعه
Apache ←۴۰
آپاچی؛ شب ۱۹: اجازهٔ دسترسی فقط از IPهای مشخصبرای یک بخش مدیریتی میخواهیم فقط کلاینت .20 اجازه داشته باشد. امشب allowlist یا فهرست مجاز IP را با آزمون واقعی از دو ماشین پیاده میکنیم.
۲ دقیقه مطالعه
Apache ←۴۱
آپاچی؛ شب ۱۸: فشردهسازی و cache محتوای ثابتفشردهسازی و cache میتوانند ترافیک را کم کنند، اما ذخیرهٔ پاسخ شخصی در cache خطرناک است. امشب فقط داراییهای ثابت را تنظیم میکنیم و رفتارشان را با پاسخ HTML مقایسه میکنیم.
۲ دقیقه مطالعه
Apache ←۴۲
آپاچی؛ شب ۱۷: CSP از گزارش خطا تا سیاست اجراییسیاست محدودکنندهٔ محتوا یا CSP به مرورگر میگوید محتوا و اسکریپت را از چه منابعی بپذیرد. امشب برای سایت ثابت آن را مرحلهای تنظیم میکنیم تا خرابی برنامه پشت یک چکلیست پنهان نشود. …
۲ دقیقه مطالعه
Apache ←۴۳
آپاچی؛ شب ۱۶: Security Headers برای پاسخ موفق و خطایک هدر امنیتی فقط وقتی مفید است که در پاسخ درست، با مقدار درست و بدون نسخهٔ تکراری ارسال شود. امشب سیاست پایه را برای سایت ثابت میگذاریم و پاسخهای 200 و 404 را بررسی میکنیم.
۲ دقیقه مطالعه
Apache ←۴۴
آپاچی؛ شب ۱۵: HTTP/2 و انتخاب MPMHTTP/2 چند جریان درخواست را روی یک اتصال حمل میکند. امشب آن را روی HTTPS فعال میکنیم و همزمان مدل کارگر Apache را بررسی میکنیم تا قابلیت جدید با مدل PHP بعدی سازگار باشد.
۲ دقیقه مطالعه
Apache ←۴۵
آپاچی؛ شب ۱۴: سیاست TLS و HSTS با امکان بازگشتHTTPS فعال است، اما نسخههای پروتکل و رفتار مرورگر هنوز باید مشخص شوند. امشب TLS را محدود میکنیم و HSTS را ابتدا با زمان کوتاه آزمایش میکنیم.
۲ دقیقه مطالعه
Apache ←۴۶
آپاچی؛ شب ۱۳: گواهی عمومی، ACME و تمدید قابل آزمونگواهی آزمایشگاهی برای دامنهٔ عمومی کافی نیست. امشب روند صدور و تمدید گواهی عمومی را طراحی میکنیم و فقط روی یک دامنه و سرور عمومیِ متعلق به خودمان اجرا میکنیم.
۲ دقیقه مطالعه
Apache ←۴۷
آپاچی؛ شب ۱۲: HTTPS و انتخاب گواهی با SNIگواهی شب قبل را نصب میکنیم و تفاوت انتخاب گواهی با انتخاب سایت را میسنجیم. نتیجه باید HTTPS معتبر برای نام سایت باشد، با شکست مشخص برای نام اشتباه.
۲ دقیقه مطالعه
Apache ←۴۸
آپاچی؛ شب ۱۱: CA آزمایشگاهی و گواهی با نام درستHTTPS فقط رمزنگاری نیست؛ کلاینت باید هویت سرور را هم بررسی کند. امشب یک مرجع صدور گواهی کوچک میسازیم تا آزمایشها بدون خاموش کردن بررسی اعتماد انجام شوند.
۲ دقیقه مطالعه
Apache ←۴۹
آپاچی؛ شب ۱۰: Redirect، Rewrite و مرز .htaccessمیخواهیم نشانی قدیمی به نشانی تازه برود و مسیرهای یک برنامه به ورودی اصلی آن برسند. این دو کار رفتار متفاوت دارند: redirect از کلاینت درخواست تازه میخواهد؛ rewrite میتواند داخل …
۲ دقیقه مطالعه
Apache ←۵۰
آپاچی؛ شب ۱: آزمایشگاه و مسیر یک درخواست HTTPقرار است یک وبسرور را از نصب تا بهرهبرداری بسازیم. امشب محیطی آماده میکنیم که تغییر اشتباه در آن قابل بازگشت باشد و بتوانیم درخواست مجاز و غیرمجاز را از دو ماشین متفاوت بفرستیم. …
۲ دقیقه مطالعه
Apache ←