پرچم تشریفات با کیفیت بالا و قیمت ارزان
پرواز از نگاه دکتر ماکان آریا پارسا
دکتر علی پرند فوق تخصص جراحی پلاستیک
سررسید تبلیغاتی 1404 چگونه میتواند برندینگ کسبوکارتان را تقویت کند؟
چگونه با ثبت آگهی رایگان در سایت های نیازمندیها، کسب و کارتان را به دیگران معرفی کنید؟
بهترین لوله برای لوله کشی آب ساختمان
دانلود آهنگ های برتر ایرانی و خارجی 2024
ماندگاری بیشتر محصولات باغ شما با این روش ساده!
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
بارشهای سیلآسا در راه است! آیا خانه شما آماده است؟
قیمت انواع دستگاه تصفیه آب خانگی در ایران
نمایش جنگ دینامیت شو در تهران [از بیوگرافی میلاد صالح پور تا خرید بلیط]
9 روش جرم گیری ماشین لباسشویی سامسونگ برای از بین بردن بوی بد
ساندویچ پانل: بهترین گزینه برای ساخت و ساز سریع
مطالب سایت سرگرمی سبک زندگی سینما و تلویزیون فرهنگ و هنر پزشکی و سلامت اجتماع و خانواده تصویری دین و اندیشه ورزش اقتصادی سیاسی حوادث علم و فناوری سایتهای دانلود گوناگون
تعداد کل بازدیدها :
1848306759
امنیت برتر در سرورهای Apache
واضح آرشیو وب فارسی:تبیان: امنیت برتر در سرورهای Apacheاین مقاله به صورت قدم به قدم به شما نحوه نصب و تنظیم نمودن وب سرورهای آپاچی نسخه1.3.xجهت امنیت بالاتر را نشان می دهد كه سعی شده جزئیات كار به خوبی مورد بررسی قرار بگیرد .قبل از اینكه ما مرحله امنیت وب سرور آپاچی را مورد بررسی قرار دهیم باید این را مشخص نماییم كه چه استفاده ای از سرور را خواهیم نمود . متنوع بودن استفاده از وب سرورهای آپاچی نوشتن یك روند جهانی جهت امنیت این سرور را بسیار مشكل می سازد . به همین دلیل است كه در این مقاله ما چنین وب سروری با چنین شرایطی را در نظر می گیریم :این وب سرور از طریق اینترنت قابل دسترسی استفقط صفحات اچ-تی-ام-ال ثابت در آن قرار می گیرداین سرور مكانیزم هاستینگ مجازی را پشتیبانی خواهد نمودصفحات مهم وب سایت فقط از طریق یك آدرسIPمخصوص و یا كاربران خاص مورد استفاده قرار می گیرد (Basic authentication)این سرور همه درخواست های دریافتی را ضبط می كند ( شامل اطلاعاتی در مورد مرورگرهای وب نیز خواهد شد ) از این جهت قابل تاكید است كه كه مدل ذكر شده در بالا PHP, JSP, CGI و دیگر تكنولوژی هایی كه امكان تداخل با سرویس های وب سرور را دارد را پشتیبانی نمی كند . استفاده از تكنولوژی هایی كه در بالا ذكر شد با این كه در دنیای امروز مورد احتیاج هسنتد ممكن است یك ریسك امنیتی بزرگ در امنیت باشد كه قابل ذكر است یك اسكریپت كوچك می تواند امنیت سرور را به كلی كاهش دهد . ولی چرا ؟ باید بگم اسكریپت های كاربردی ASP/CGIممكن است دارای حفره های امنیتی باشد ( مانندSQL Injection , CSS ). دوم این تكنولوژی ها ممكن است خود نیز دارای مشكل باشد ( مانند آسیب پذیری های ماژول هایPHP, Perlو ... ) به همین دلیل است استفاده از این تكنولوژی ها را زمانی پیشنهاد می شود كه واقعا مورد احتیاج باشند .فرض های امنیتییكی از مهم ترین موارد در هر پروژه كامپیوتری توجه به فرض های امنیتی است ( با توجه به توضیحاتی كه در زیر آورده می شود این موضوع به راحتی قابل تحلیل است ) و این فرض ها باید قبل از اینكه یك پروژه به انجام برسد در نظر گرفته شود . فرض های امنیتی كه ما جهت وب سرورمان در نظر گرفته ایم این ها هستند :سیستم عامل باید تا آنجایی كه امكان دارد از نظر امنیت مورد بررسی قرار گرفته باشد و مشكلات امنیتی ان برطرف گردد ( هم در مقابل حملات داخلی و هم ریموت )وب سرور نباید هیچ سرویس دیگری غیر از سرویس اچ-تی-تی-پی را ارائه دهددسترسی ریموت به سرور باید توسط یك فایروال كنترل گرددسرویس آپاچی باید تنها سرویسی باشد كه در سیستم وجود داردفقط ماژول های آپاچی آن هایی كه مورد احتیاج هستند باید فعال باشندپروسه های آپاچی باید دسترسی محدود شده به فایل های سیستمی داشته باشندنصب سیستم عاملقبل از نصب وب سرور آپاچی ما باید یك سیستم عامل را انتخاب نماییم . سرور آپاچی می تواند بر روی بیشتر سیستم عامل ها كامپایل و نصب شود . بیشتر مقاله بر روی امنیت وب سرور آپاچی در سیستم عامل FreeBSD ( نسخه 4.7 ) تاكید دارد ولی سعی شده تا آن جا كه امكان داشته روش های به گونه ای باشند كه در بیشتر سیستم عامل ها قابل استفاده باشد . من استفاده از سیستم عامل ویندوز را پیشنهاد نمی كنم چون جهت بالا بردن امنیت آپاچی سازگاری كمی دارد .اولین قدم در بالا بردن امنیت وب سرور , رفع مشكلات امنیتی سیستم عامل به طور كامل است كه البته مقالات بسیاری بر روی اینترنت جهت این كار موجود است .خوب بعد از اینكه سیستم عامل نصب شد و مشكلات امنیتی آن رفع گردید ما باید یك گروه جدید ( Apache ) را به پروسه ها اضافه كنیم ( مثال زیر این روند را در FreeBSD نشان می دهد ) pw groupadd apache pw useradd apache -c "Apache Server" -d /dev/null -g apache -s /sbin/nologin به طور پیش فرض پروسه های آپاچی با سطح دسترسیnobody( به غیر از پروسه اصلی آن كه با سطح دسترسی روت اجرا می شود ) اجرا می شوند كه این نیز خود یك مشكل امنیتی است .اما نرم افزارها ...قدم بعدی دریافت آخرین نسخه http://httpd.apache.org وب سرور آپاچی است . كه بعضی از تنظیمات این سرور در هنگام كامپایل قابل تغییر است به همین دلیل این حائز اهمیت است كه سورس آن را در مقابل نسخه باینری دریافت نمایید .اما بعد از دریافت ما باید تصمیم بگیریم كه چه ماژول هایی از سرور فعال شوند و توضیح كوتاهی در این مورد در http://httpd.apache.org/docs/mod قابل مشاهده است .ماژول های آپاچیانتخاب ماژول های این سرور از موارد مهم در امنیت سرور است. ما باید این قانون را مورد توجه قرار دهیم ( هر چه كم تر , بهتر ! ) . اما جهت روند امنیتی ماژول هایی كه مورد احتیاج هستند در اینجا ذكر شده :نام ماژولشرحhttpd_coreدیگر ماژول های آپاچی باید غیرفعال شوند . این ارزش را دارد كه بگویم دو ماژول آپاچی وجود دارند كه خطرناك تر از دیگر ماژول ها هستند : و mod_autoindex mod_info . اولین ماژول فراهم كننده directory indexing به صورت خودكار است و صورت پیش فرش فعال شده است . این براحتی قابل متوجه شدن است كه این ماژول نصب شده است یا نه ( برای مثال http://server_name/icons ) و محتوای دایركتوری ها را ببینیم و دومین ماژول mod_info هرگز نیاید از طریق اینترنت قابل دسترسی باشد به این دلیل كهسترسی به تنظیمات سرور را امكان پذیر می سازد.سوال بعدی چگونگی كامپایل ماژول ها است . روش ثابت راه حل مناسب تری به نظر می رسد .كامپایل نمودن نرم افزاراول از همه باید بگویم اگر :: پچ امنیتی جدیدی وجود داشت :: باید بروز رسانده شود بعد از آن باید سرور كامپایل شود و از این طریق نصب شود :./configure --prefix=/usr/local/apache --disable-module=all --server- uid=apache --server-gid=apache --enable-module=access --enable- module=log_config --enable-module=dir --enable-module=mime --enable-module=auth make su umask 022 make install chown -R root:sys /usr/local/apacheاما مرحله بعد ...قدم بعدی محدود نمودن دسترسی پروسه های آپاچی به فایل های سیتمی است. ما این كار را از طریق ایجاد یك دایركتوری روت جدید در دایركتوری /chroot/httpd انجام می دهیم :مالك همه دایركتوری های بالا باید روت باشد و سطح دسترسی باید به 0755 تغییر یابد . بعد ما یك فایل دیوایسرا ایجاد می كنیم :ls -al /dev/null crw-rw-rw- 1 root wheel 2, 2 Mar 14 12:53 /dev/null mknod /chroot/httpd/dev/null c 2 2 chown root:sys /chroot/httpd/dev/null chmod 666 /chroot/httpd/dev/nullیك روش دیگر نیز باید استفاده شود تا /chroot/httpd/dev/log ایجاد شود كه هم چنین برای اینكه سرور به درستی كار كند . به دلیل اینكه سیستم FreeBSD است این لاین باید به/etc/rc.conf اضافه شود :syslogd_flags="-l /chroot/httpd/dev/log"ما برای اینكه تغییرات انجام بپذیرد باید سیستم را ری استارت نماییم . البته جهت ایجاد /chroot/httpd/dev/log در سیستم عامل های دیگر باید به راهنمای دیگر در مورد syslogd مراجعه كنیم .قدم بعدی كپی httpd به یك دایركتوری جدید همراه با همه باینری ها و فایل لایبرری است . جهت این كار باید لیستی از فایل های مورد نیاز را تهیه كنیم . ما می توانیم یك لیست را با چنین دستوراتی تهیه نماییم :دستوراجرا در محیطشرحlddهمهمثال هایی از استفاده از دستورهای ldd وstrings و truss :localhost# ldd /usr/local/apache/bin/httpd /usr/local/apache/bin/httpd: libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x280bd000) libc.so.4 => /usr/lib/libc.so.4 (0x280d6000) localhost# strings /usr/local/apache/bin/httpd | grep lib /usr/libexec/ld-elf.so.1 libcrypt.so.2 libc.so.4 localhost# truss /usr/local/apache/bin/httpd | grep open (...) open("/var/run/ld-elf.so.hints",0,00) = 3 (0x3) open("/usr/lib/libcrypt.so.2",0,027757775370) = 3 (0x3) open("/usr/lib/libc.so.4",0,027757775370) = 3 (0x3) open("/etc/spwd.db",0,00) = 3 (0x3) open("/etc/group",0,0666) = 3 (0x3) open("/usr/local/apache/conf/httpd.conf",0,0666) = 3 (0x3) (...)دستورات بالا نه تنها جهت httpd باید اجرا شوند بلكه جهت همه باینری ها و لایبرری ها مورد احتیاج هستند . به دلیل اینكه سیستم عامل ماcp /etc/hosts /chroot/httpd/etc/ cp /etc/host.conf /chroot/httpd/etc/ cp /etc/resolv.conf /chroot/httpd/etc/ cp /etc/group /chroot/httpd/etc/ cp /etc/master.passwd /chroot/httpd/etc/passwords cp /usr/local/apache/conf/mime.types /chroot/httpd/usr/local/apache/conf/دقت كنید كه در /chroot/httpd/etc/passwords ما باید همه لاین ها را به غیر از nobody و apache را حذف كنیم . در یك جای دیگر ما باید چنین عملی را نیز دوباره در/chroot/httpd/etc/group تكرار كنیم . سپس ما باید بانك اطلاعاتی پسورد ها را این گونه بسازیم :cd /chroot/httpd/etc pwd_mkdb -d /chroot/httpd/etc passwords rm -rf /chroot/httpd/etc/master.passwdقدم بعدی این است كه تست كنیم كه آیا httpd به درستی كار می كند یا نه . جهت انجام این كار ما باید فایل تنظیمات آپاچی وindex.htmlcp /usr/local/apache/conf/httpd.conf /chroot/httpd/usr/local/apache/co nf/ cp /usr/local/apache/htdocs/index.html.en /chroot/httpd/www/index.htmlبعد از كپی فایل های مورد احتیاج ما باید DocumentRoot رو همین طور كه در زیر نشان داده شده تغییر دهیم :DocumentRoot"/www"سپس سرور را اجرا كنیم :chroot /chroot/httpd /usr/local/apache/bin/httpdاگر با مشكلی برخورد نمودید من پیشنهاد می كنم فایل ضبط كننده وقایع (chroot/httpd/usr/local/apache/logs) را آنالیز كنید . از راه دیگر چنین فرمانی نیز می تواند به كار برده شود:truss chroot /chroot/httpd /usr/local/apache/bin/httpdاین فرمان می تواند دلیل مشكل ایجاد شده را نشان دهد . بعد از رفع مشكل همه خطاها ما می توانیم سرور را تنظیم نماییم .تنظیم نمودن سرورقدم اول حذف فایل/chroot/httpd/usr/local/apache/conf/httpd.conf است و جایگزین یك فایل جدید به جای آن است . محتوای فایل باید :# ================================================= # Basic settings # ================================================= ServerType standalone ServerRoot "/usr/local/apache" PidFile /usr/local/apache/logs/httpd.pid ScoreBoardFile /usr/local/apache/logs/httpd.scoreboard ResourceConfig /dev/null AccessConfig /dev/null # ================================================= # Performance settings # ================================================= Timeout 300 KeepAlive On MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10 StartServers 5 MaxClients 150 MaxRequestsPerChild 0 # ================================================= # Apaches modules # ================================================= ClearModuleList AddModule mod_log_config.c AddModule mod_mime.c AddModule mod_dir.c AddModule mod_access.c AddModule mod_auth.c # ================================================= # General settings # ================================================= Port 80 User apache Group apache ServerAdmin [email protected] UseCanonicalName Off ServerSignature Off HostnameLookups Off ServerTokens Prod DirectoryIndex index.html DocumentRoot "/www/vhosts" # ================================================= # Access control # ================================================= Options None AllowOverride None Order deny,allow Deny from all Order allow,deny Allow from all Order allow,deny Allow from all # ================================================= # MIME encoding # ================================================= TypesConfig /usr/local/apache/conf/mime.types DefaultType text/plain AddEncoding x-compress Z AddEncoding x-gzip gz tgz AddType application/x-tar .tgz # ================================================= # Logs # ================================================= LogLevel warn LogFormat "%h %l %u %t /"%r/" %>s %b /"%{Referer}i/" /"%{User-Agent}i/"" combined LogFormat "%h %l %u %t /"%r/" %>s %b" common LogFormat "%{Referer}i -> %U" referer LogFormat "%{User-agent}i" agent ErrorLog /usr/local/apache/logs/error_log CustomLog /usr/local/apache/logs/access_log combined # ================================================= # Virtual hosts # ================================================= NameVirtualHost * DocumentRoot "/www/vhosts/www.ebank.lab" ServerName "www.ebank.lab" ServerAlias "www.e-bank.lab" ErrorLog logs/www.ebank.lab/error_log CustomLog logs/www.ebank.lab/access_log combined DocumentRoot "/www/vhosts/www.test.lab" ServerName "www.test.lab" ErrorLog logs/www.test.lab/error_log CustomLog logs/www.test.lab/access_log combinedتنظیمات ارائه شده در بالا شامل فرمان هایی می گردد كه جهت فعالیت سرور و امنیت آن مورد احتیاج است . دو هاست مجازی وجود دارند كه توسط سرور پشتیبانی شده اند :- http://www.ebank.lab (www.e-bank.lab) - http://www.test.labمحتوای وب سایت های بالا به طور فیزیكی در این دایركتوری ها وجود دارد :- /chroot/httpd/www/vhosts/www.ebank.lab - /chroot/httpd/www/vhosts/www.test.labو هر وب سایت لاگ فایل مخصوص به خود را دارد كه در این دایركتوری هستند:- /chroot/httpd/usr/local/apache/logs/www.ebank.lab - /chroot/httpd/usr/local/apache/logs/www.test.labاین دایركتوری ها قبل از اینكه سرور آپاچی برای اولین بار اجرا می شود باید ایجاد شوند . مالك این دایركتوری ها باید به root:sys است شود و سطح دسترسی به 0755 تغییر یابد .حال اگر فایل تنظیمات آپاچی را با نسخه ای كه در اینجا ارائه شد مقایسه كنیم چنین تغییراتی را می بینیم كه به چندی از آن ها اشاره می كنم :تعدادی از ماژول های فعال آپاچی كاهش یافتآپاچی اطلاعاتی بیشتری را در مورد درخواست ها لاگ خواهد نمودآپاچی فقط دسترسی به فایل و دایركتوری ها را امكان پذیر میسازد كه در فایل تنظیمات مشخص شده استو ...قدم بعدی ایجاد یك استارت آپ اسكرپت "apache.sh" است كه محتوای آن باید :#!/bin/shCHROOT=/chroot/httpd/HTTPD=/usr/local/apache/bin/httpdPIDFILE=/usr/local/apache/logs/httpd.pidecho -n " apache"case "$1" instart)/usr/sbin/chroot $CHROOT $HTTPD;;stop)kill `cat ${CHROOT}/${PIDFILE}`;;*)echo ""echo "Usage: `basename $0` {start|stop}" >&2exit 64;;esacexit 0كه این اسكرسپت باید به دایركتوری مربوطه كپی شود كه بستگی به نوع سیستم عامل دارد . مثلا در FreeBSD دایركتوری مربوطه /usr/local/etc/rc.d می باشدحال این مقاله می تواند در بالا بردن امنیت سرورهای آپاچی بسیار مفید باشد ...برگرفته از سایت www.iritn.com
این صفحه را در گوگل محبوب کنید
امنیت برتر در سرورهای Apache. امنیت برتر در سرورهای Apacheاین مقاله به صورت قدم به قدم به شما نحوه نصب و تنظیم نمودن وب سرورهای آپاچی نسخه1.3.xجهت امنیت ...
امنیت برتر در سرورهای Apache برد پرگل وولفسبورگ با درخشش اشکان دژاگه · وزیر کشور: ارتباطی با طرح معرفی شهرداران ندارم · رمز موفقيت ملت ايران، اطاعت محض از ...
امنیت برتر در سرورهای Apache قیمت نان در نیمه اول سال 90 تغییر نمیکند · مهمترین عناوین روزنامه های صبح امروز · عمل اسلامي ما بايد با برجستگي در مقابل چشم ...
امنیت برتر در سرورهای Apache به همین دلیل است كه در این مقاله ما چنین وب سروری با چنین شرایطی را در نظر ..... دانلود مستند اقیانوس جنوبی - آبی بی پایان با ...
امنیت برتر در سرورهای Apache رمز موفقيت ملت ايران، اطاعت محض از ولايت فقيه است · به حکم دادگاه عالی عراق ده ها تن از بعثی ها بازداشت شدند · زنان همگام با ...
-