PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزش پیکربندی csf - قدم به قدم



Dr.Oxygen
March 23rd, 2013, 14:38
http://chrisbevis.com/images/csf_small.png


سلام به دوستان امروز میخوام تنظیمات CSF رو براتون بزارم البته تنظیمات رو چند بخش میکنم و توی چند تا پست براتون توضیح میدم , حقیقت امر رو بخوایم در نظر بگیریم توی فایروال هایی که برای سرورهای هاستینگ و البته لینوکسی هست میشه گفت CSF کاملترین و ساده ترین دیوار آتشی هست که وجود داره از ویژگی هایی که دلیل بر محبوب شدن این دیوار آتش شده مدیریت روی بیشتر محتوای سرور هست مثل مدیریت پورت ها, مدیریت کانکشن ها , مدیریت پروسس ها و …. که در ادامه کاملا توضیح داده میشه

شما میتوانید با استفاده از همین انجمن ، این دیواره آتش رو نصب میکنید که CSF در شاخه /etc/csf نصب میشه و تمام تنظیمات و فایل های خودش رو اینجا قرار میده پس ما برای کانفیگ CSF وارد این فولدر میشیم

root@mizbandl [~]# cd /etc/csf/


وقتی وارد این فولدر میشیم و محتویات فولدر رو لیست میکنیم یه سری فایل میبینیم که هر کدام برای کاری هست که در ادامه توضیح داده میشه البته ما بیشتر با فایل csf.conf کار داریم چون تمام تنظیمات CSF توی این فایل هست , پس شروع میکنیم به تنظیمات , با دستور nano فایل csf.conf رو باز میکنیم تا بتونیم ادیت کنیم تنظیمات رو


root@mizbandl [/etc/csf]# nano csf.conf


از اول شروع میکنم به توضیح دادن و امیدوارم متوجه بشید


اولین تنظیمی که در csf.conf هست مربوط میشه به حالت فعال بودن یا غیر فعال بودن

TESTING = “0″

در این جا ما دو تا حالت داریم یکی صفر و یکی “یک” که اگه یک قرار بدیم مثل این میمونه که ما اصلا CSF رو نصب نکردیم و اگر ۰ قرار بدیم CSF فعال میشه پس ما صفر رو انتخاب میکنیم و میریم سراغ کانفیگ بعدی.

این مرحله مربوط میشه به مدت زمان بین چک کردن رول های خود CSF که بر حسب دقیقه هست در واقع یه Cron هست و CSF رو استارت میکنه

TESTING_INTERVAL = “1″

و میتونه بین ۱ تا ۵ دقیقه باشه توصیه میشه روی ۱ قرار بدید چون هرچه مدت زمان بین چک کردن رول ها کمتر باشه بهتر است خوب بریم سراغ بعدی

AUTO_UPDATES = “0″

این همون طور که از اسمش پیدا هست وظیفش اینه که به طورت اتوماتیک خودش رو آپدیت نگه داره که اگه “یک” قرار بدید غیر فعال میشه و خودش رو آپدیت نمیکنه ولی اگه “صفر” قرار بدید CSF به صورت اتوماتیک خودش رو آپدیت میکنه پس بهترین گزینه برای این کانفیگ ست کردن صفر هست چون ممکنه باگی توی CSF پیدا بشه و شما متوجه نشید برا همین ۰ انتخاب میکنیم

خوب میریم سراغ کانفیگ بعدی که :

ETH_DEVICE = “eth0,eth1″

CSF به صورت اتوماتیک بر روی تمام کارت شبکه های سرور شما رول ها رو اعمال میکنه پس اگه خالی گذاشتید تمام کارت های شبکه شما پشت فایروال قرار میگیره ولی بعضی وقت ها ممکنه تعداد کارت های شبکه سرور شما چند تا باشه که شما میخواید فقط تعدادی از اون ها پشت CSF باشه برا همین توی این کانفیگ اون ها رو مشخص میکنیم و با علامت “,” از هم دیگه جداشون میکنیم .

خوب میریم سراغ کانفیگ بعدی که :

ETH_DEVICE_SKIP = “eth2,eth3″

این کانفیگ همون طور که از اسمش پیدا هست میتونید اون کارت شبکه هایی که نمیخواید پشت فایروال قرار بگیره رو قرار بدید در واقع آزاد باشه

خوب حالا میخوایم بریم سراغ یه سری تنظیمات که خیلی مهم هست در واقع مدیریت پورت های سرور هست پس مواظب باشید دارید چه پورتی رو باز میزارید و چه پورتی رو میبندید

TCP_IN = “20,25,53,80,110,465″

همون طور که از اسمش پیدا هست پورت هایی رو میتونید اینجا باز کنید که از بیرون از سرور به سرور دسترسی داشته باشند در واقع پورت هایی که اجازه ورود به سرور رو دارند شما اگه نمیدونید چه پورتی برای چه کاری هست بهتر هست به تاپیک معرفی پورت ها یه سری بزنید و و ببینید چه پورتی برای چه کاری هست اینجا دیگه بستگی به شما داره که چه سرویس هایی روی سرور خودتون دارید و از چه پورت هایی دارید استفاده میکنید

کانفیگ بعدی مربوز میشه به :

TCP_OUT = “20,21,22,25,37,43,53,80,110″

این کانفیگ هم مربوط میشه به پورت هایی که از سرور به بیرون باز باشد در واقع پورت هایی که از توی سرور به بیرون از سرور باز باشه خوب حالا این ها مربوط میشه به TCP پورت که با UDP تفاوت داره اشتباهی نگیرید

حالا میریم سراغ پورت های UDP

که UDP_IN پورت های UDP از بیرون به داخل رو باز میکنه

UDP_IN = “53″

در مورد UDP_OUT پورت های UDP از داخل سرور به بیرون میخواید باز باشه

UDP_OUT = “20,21,53,113,123,873,6277″

وقتی پورت ها کانفیگ کردیم میریم سراغ پروتکول ICMP که این هم بستگی به افراد داره بعضی وقت ها افراد دوست دارند باز باشه این رو فعال می کنند بعضی ها هم نه و میبندند ولی در صورت باز بودن میتونند یه سری حملات روی سرور داشته باشند راستش اگه در سطح سرور بسته هم بشه و حمله فوی باشه فایده ایی نداره ولی اگه بسته باشه بهتر هست

پس در کانفیگ زیر که ICMP رو از بیرون به داخل کانفیک میکنه :

ICMP_IN = “0″

اگر عدد “یک” رو بزاریم ICMP باز است و میتونند پینگ کنند و شما Rate آین هم معلوم میکنید ولی اگه ۰ باشه که کلا بسته میشه برای تنظیم Rate اون هم کانفیگ زیر رو ادیت میکنیم عموما ۱ در ثانیه ست میکنند

ICMP_IN_RATE = “1/s”

شاید شما دوست داشتید ۲ یا … بیشتر بزارید

حالا میریم سراغ باز یا بستم ICMP از داخل سرور به بیرون که باز بزارید کاریش نداشته باشید چون سرویس های شما قطعا نیاز داره

ICMP_OUT = “1″

ICMP_OUT_RATE = “0″

اگر دقت کرده باشید من ICMP_OUT_RATE رو عدد ۰ گذاشتم به معنی بی نهایت هست یا نا محدود

خوب فعلا کافیه اینو هم بگم این پست حدود ۵ درصد از کانفیک CSF توش توضیح داده شده پس منتظر کانفیگ های بعدی باشید

منبع : اینترنت ، دوستان و خودم

در پست بعدی کانفیگ رو به پایان می رسونم و در پست های بعدیش اقدام به رفع اخطار های فایروال می کنیم.
باتشکر

Dr.Oxygen
March 23rd, 2013, 23:50
در ادامه تنظیمات CSF فایلCSF.CONF

SMTP_BLOCK = “1″

همون طور که از اسمش پیدا هست در مورد SMTP هست , که این کانفیگ ایمیل هایی که غیر از یوزر روت با SMTP میخواد فرستاده بشه ، بلاک میکنه . در سرور های هاستینگ اصلا توصیه نمیشه چون SMTP تمام یوزر ها رو میبنده اگه سروری دارید که هاستینگ هست گزینه ۱ رو انتخاب کنید . اگه سروری دارید که اصلا سیستم میل استفاده نمیشه ۰ رو انتخاب کنید

SMTP_ALLOWLOCAL = “1″

اگر SMTP_BLOCK فعال کرده باشید این گزینه اجازه میده تنها از روی خود سرور توسط SMTP ایمیل فرستاده بشه یعنی اگه با Localhost فرستاده شد اجازه خروج از سرور رو بده غیر از این مثلا اگه از بیرون وصل شدند و خواستند SMTP ایمیل یزندد بلاک کنه اگر شما گزینه صفر رو انتخاب کنید تنها از روی خود سرور اجازه فرستادن ایمیل با SMTP داده میشه و اگر ۱ اصلا غیر فعال میشه

SMTP_PORTS = “25″

این گزینه مربوط به پورتی هست که شما تنظیم کردید SMTP باهاش کار کنه که بیشتر موارد ۲۵ هست

DROP = “DROP”

همون طور که میدونید IPTABLES دو مدل برای دفع پاکت ها داره یکی Drop که پاکت ها از اسمش معلومه ریزش پیدا میکنه و یه مدل دیگه Reject که یه پاکت میفرسه که این پاکت ریجکت شده که توصیه نمیشه چون مشکل ساز هست پس بهترین مدل همون Drop هست

DROP_LOGGING = “0″

این کانفیگ اگه گزینه ۰ رو انتخاب کنید لاگ میکنه پاکت هایی که Drop یا Reject شده و اگه ۱ رو اتخاب کنید لاگ نمیگیره از پاکت هایی که ه Drop یا Reject شده پیشنهاد میشه گزینه ۰ رو انتخاب کنید که در صورتی که مشکلی پیش اومد بدونید و دلیلش رو متوجه بشید و حلش کنید

DROP_IP_LOGGING = “1″

این گزینه ایپی هایی که پاکت هاشون Drop یا Reject میشه رو بلاک میشکه , میشه گفت یکم خطریه پس بهتره عدد ۱ رو انتخاب کنید و رد بشید چون ایپی های معمولی و ساده بعضی وقت ها پاکت هاشون Drop میشه و این ریسک هست . پس نتیجه میگیریم بهتره گزینه ۱ است

DROP_ONLYRES = “0″

این گزینه لاگ میکنه پورت های خاصی رو که مد نظر دارید که با “,” پورت ها رو از هم جدا کنید اگه ۰ صفر رو انتخاب کنید تمام پورت ها رو لاگ میکنه

DROP_NOLOG = “67,68,111″

این گزینه هم پورت هایی که نمی خواید لاگ کنه رو مینویسید که توصیه میشه خالی بزارید تا همه پورت ها لاگ بشه

PACKET_------------------ = “1″

این گزینه هم لاگ میکنه پاکت هایی که خود IPTABLES تشخیص میده که نامشخص هست یعنی پاکت هایی که INVALID هستند ….

DROP_PF_LOGGING = “0″

این گزینه هم لاگ کردن SYN Flood Protection رو فعال میکنه


SYNFLOOD = “0″
SYNFLOOD_RATE = “100/s”
SYNFLOOD_BURST = “150″

Synflood اولی ، این تنظیم خود این Synflood Protection رو فعال میکنه و SYNFLOOD_RATE هم Rate رو مشخص میکنه و SYNFLOOD_BURST و این هم Burst که این تنظیمات بستگی به سرور شما و سطح حمله ایی که داره به سرور شما میشه به صورت دیفالت میتونید این ها رو قرار بدید اگر حمله شدیتر از این حرف ها بود Rate رو کمتر کنید تا به جایی برسه که دفع کنه حمله رو

PORTFLOOD = “”

این گزینه هم کانکشن ها رو هر پورت مدیریت میکنه برای مثال اگه شما این تنظیم رو بکنید برای مثال کانفیگ زیر رو ببینید به این معنیست که روی پورت ۸۰ از نوع TCP هر ایپی میتونه در مدت ۵ ثانیه ۲۰ تا کانکشن بندازه

PORTFLOOD = “80;tcp;20;5″


VERBOSE = “1″

VERBOSE این کار هایی که Iptables میکنه رو روی صحفه نمایش شما نشون میده که بهتره ۱ رو انتخاب کنید چون بعضی وقت ها دارید کانفیگ میکنید یه هو میبینید ۲۰ خط اومد تو صفحه مانیتورتون !

SYSLOG = “0″

این هم برای فعال کردن SYSLOG که همیشه فعال نگهش دارید چون واقعا به کارتون میاد و لاگ های سیستم رو میندازه که مهم هست پس عدد ۰ رو انتخاب میکنیم !

خوب برای امروز کافیه امیدوارم تونسته باشم خوب توضیح داده باشم
فردا به صورت قدم به قدم به رفع اخطار های فایروال می پردازیم

Dr.Oxygen
March 24th, 2013, 15:16
با اینکه زیاد تشکر نشد ولی باز ادامه میدم.

در این جلسه یه روش ساده و بی نهایت موثر بره افزایش امنیت و کارایی سرور میگم

اگه دقت کرده باشید در قسمت ConfigServer Security&Firewall اولین گزینه Check server security هست که میزان امنیت سرور را نشون میده و گزینه هایی که سبز هست یعنی اون قسمت امنیتش اوکی هست ولی اگر قرمز بود یعنی خیر ، جلوی هر کدام از این گزینه های قرمز راه حلی نوشته.
من اینجا در مورد موارد مهمش که باید تغییر بدید بحث میکنم
اول از همه باید یک راه ارتباطی با csf ایجاد کنید تا بوسیله ی اون باهاتون در ارتباط باشه.
برای این کار
بزنید

nano /root/.forwardو آدرس ایمیلتون رو داخلش بنویسید و سیوش کنید
خب حالا از اول شروع کنیم مواردی که معمولا قرض میشه رو بررسی کنیم

Check csf LF_SCRIPT_ALERT option



قرمز بودن این مورد یعنی وقتی یه حجم انبوه ایمیل ارسال میشه سی اس اف براتن یه اخطار بفرسته (بره جلوگیری از اسپم)

Check csf PT_ALL_USERS option



این گزینه میگه که بررسی یوزر ها فقط محدود به یوزر های هاست نباشه و کل یوزر های سرور بررسی شه
همونطور که میبینید تمام گزینه ها در کنارش یه توضیح خیلی عالی داره و ممکنه من خیلی موارد رو توضیح ندم و راه حل بگم
برای فعال کردن این دو مورد (که مورد اول رو بنا به خواسته خودتون و مورد دوم رو حتما) فعال کنید
در قسمت ConfigServer Security&Firewall اضافه شده .
برید توش
از سومین قسمت (csf - ConfigServer Firewall) دومین دکمه یعنی firewall configuration رو بزنید بعد
مقدار عبارت LF_SCRIPT_ALERT رو به 1 تغییر بدید (برای گزینه اول)
مقدار PT_ALL_USERS رو هم به 1 تغییر بدید (برای گزینه دوم)
و سیو کنید

حالا قبل اینکه بقیه گزینه ها رو توضیح بدم یه سری کار امنیتی توضیح میدم که انجام بدید که باعث میشه خود به خود خیلی از گزینه ها سبز شه

یکی از مهمترین کار هایی که باید انجام بدید اینه که پورت ssh رو عوض کنید
دستور زیر را بزنید

nano /etc/ssh/sshd_config
بعد مقدار Port رو پیدا کنید و # کنارشو بردارید و به جای 22 هر عددی که میخواهید رو بزنید و سیو کنید

حالا دستور زیر را بزنید

service sshd restart

البته یکی دیگه از چراغ های قرمز csf مربوط به غیر فعال بودن ssh میشه. برای غیر فعال کردن ssh اینگونه عمل می کنیم در سی پنل
(https://192.95.39.109:2087/cpsess451934584/scripts/command?PFILE=main) Home » Security Center » SSH Password Authorization Tweak
و هر وقت کاری با ssh داشتید دوباره از اینجا فعالش کنید.

2- حالا کارای زیر:


در قسمت Service Configuration از منوی بقلی WHM برید به قسمت Apache Configuration و بعد Global Configuration حالا موارد زیر رو به گزینه ای که میگم تغییر بدید
Trace Enable----> OFF
Server Signature --->off
Server Tokens ---->product only
File ETag --->none
مقادیر پایین اصولا باید با توجه به مشخصات سرور تنظیم شه ولی خب من یه سری اعداد میدم که رو همه سرور ها اوکی باشه
(موارد رو به ترتیب ننوشتم پس موقع وارد کردن دقت کنید)

ServerLimit 2000
KeepAlive On
KeepAliveTimeout 60
MaxClients 1200
MaxSpareServers 200
MinSpareServers 50حالا که همه رو تغییر دادید Save رو بزنید و تو صفحه جدید حتما گزینه Rebuild Configuration and Restart Apache رو بزنید
تموم که شد برگردید به همون قسمت Apache Configuration و اینبار گزینه Configure PHP and SuExec رو بزنید
مقادیر رو به شکل فوق تغییر بدید

Default PHP Version (.php files) ---> 5
PHP 5 Handler --->suphp
PHP 4 Handler --->none
Apache suEXEC --->onو بعد گزینه Save new configuration رو بزنید

حالا از منوی بقل WHM برید به FTP Server Configuration
حالا سه تا گزینه ای که در پایین میگم رو به No تغییر بدید (هر سه تا رو به no تغییر بدید)
Allow Anonymous Logins
Allow Anonymous Uploads
Allow Logins with Root Password
و بعد هم Save کنید

از منوی بقل WHM قسمت Security Center و از زیرمجموعه هاش PHP open_basedir Tweak رو پیدا کنید
و تیک قسمت Enable php open_basedir Protection. رو بزنید و Save کنید

از منوی WHM گزینه System Health و در زیزمجموعه هاش وارد Background Process Killer بشید و همه گزینه ها رو تیک بزنید و Save کنید
---------------------------------------------------------------------------------------
خب حالا چند تا تنظیم دیگه هم مونده
مختصر توضیح میدم :

nano /etc/my.cnfمتن زیر را خط دوم اضافه کنید :

local-infile=0
service mysql restartبعد

nano /etc/ssh/sshd_config
UseDNS no
service sshd restart
بعد :

nano mizbandl.sh
#!/bin/bash

service cups stop
chkconfig cups off
service xfs stop
chkconfig xfs off
service atd stop
chkconfig atd off
service nfslock stop
chkconfig nfslock off
service rpcidmapd stop
chkconfig rpcidmapd off
service bluetooth stop
chkconfig bluetooth off
service anacron stop
chkconfig anacron off
service gpm stop
chkconfig gpm off
service avahi-daemon stop
chkconfig avahi-daemon off
service hidd stop
chkconfig hidd off
service pcscd stop
chkconfig pcscd off

sh mizbandl.sh
/scripts/securetmpخوب تا اینجا یک سری تنظیمات کلی گفته شد
حالا میبینیم که 100 تا اخطار دیگه داده که یکی یکی باید ترجمه بشه و رفع کنیم
چون واقعاً توضیح همه اونها وقت گیر هست به صورت کلی میگم
یکسری در مورد تنظیمات PHP , آپاچی هست
یکسری مربوط به تنظیمات ایمیل و تماس ها و ... هست
... تنظیمات مربوط به سطح دسترسی FTP و ... هست
تغییر پورت SSH
و ...
هر کدام را که نیاز داشته باشید برطرف کنید خود فایروال راهنمایی کرده تنها کافی هست که یه کم با دقت بیشتری اخطار را بخوانید و اون مورد را انجام بدید
این هم یادم رفت بگم که :

nano /usr/local/lib/php.iniبه دنبال این گزینه بگردید :

disable_functionsو به این صورت تغییر بدید :

disable_functions = show_source, system, shell_exec, passthru, exec, popen, proc_open, allow_url_fopenالبته فاکشن زیاد هست که اگر بخوام مقداری کلی تر بگم شاید اینطوری باشه :

symlink,ini_restore,imap_body,imap_list,imap_open, mysql_list_dbs,popen,stream_select,socket_select,s ocket_create,socket_create_listen,socket_create_pa ir,socket_listen,socket_accept,socket_bind,socket_ strerror,readlink,link,pfsockopen,ini_alter,dl,ope nlog,syslog,pcntl_exec,pcntl_fork,p cntl_signal,pcntl_waitpid,pcntl_wexitstatus,pcntl_ wifexited,pcntl_wifsignaled,pcntl_wifstopped,pcntl _wstopsig,pcntl_wtermsig,fpassthru,detcwd,system,p assthru,exec,proc_close,proc_get_status,proc_nice, proc_open,proc_terminate,shell_exec,system,escapes hellarg,escapeshellcmd,putenv,ولی ما تنها یک سری فاکشن عمومی را می بنیدم که بقیه به خودتون و سیستم های مدیریت محتوایی که استفاده میکنید مربوط میشه
خب حالا می بینیم که چند تا دیگه هم خطا داده اول توصیه می کنم یه آنتی شلر نصب کنید. اینجا آنتی شلر رایگان معرفی می کنم تا همه بتونن نصب کنن.
دستورات زیر رو به ترتیب اجرا کنید


cd /usr/local/src/
wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
tar zxvf maldetect-current.tar.gz
cd maldetect-1.4.1/
./install.sh


تا اینجا این اسکنر نصب شد
حالا برای اسکن سرور از دستور زیر استفاده کنید


maldet -a /
و برای حذف شل ها بعد از اسکن اینا میزنیم


maldet --report
بد نیست دستور زیر رو هم بز نید


maldet --monitor /home
خب تا اینجا سرور تقریبا کمی امن شده. ولی کلی کار دیگه مونده
خب الان برید توی Server Configuration »Tweak Settings و بعد جستجو کنید

Accounts that can access a cPanel user account
این رو به cPanel User Only تغییر بدید.
ببخشید خیلی دارم خلاصه توضیح میدم.
برای امروز کافیه بقیه ی آموزش ها در جلسه ی بعد.
موفق و سربلند باشید

khanihost.com
March 26th, 2013, 13:03
ممنون از آموزش خوبتون اما شل اسکنر که گذاشتید برای نصب

از مرحله

cd maldetect-1.4.1/ ./
install.sh


به پایین تر پیغام No such file or directory

میاد

sniper000man
March 26th, 2013, 13:30
ممنون از آموزش خوبتون اما شل اسکنر که گذاشتید برای نصب

از مرحله

cd maldetect-1.4.1/ ./
install.sh


به پایین تر پیغام No such file or directory

میاد
با سلام فکر کنم ایشون بن کردن چون زیر اسم کاربریشون بنید زدن اموزش خوبی بود

fr0nk
March 26th, 2013, 21:55
ممنون از آموزش خوبتون اما شل اسکنر که گذاشتید برای نصب

از مرحله

cd maldetect-1.4.1/ ./
install.sh


به پایین تر پیغام No such file or directory

میاد

چون نسخه الان maldet عوض شده

دستور میشه این

cd /maldetect-1.4.2

khanihost.com
March 31st, 2013, 18:21
بازم عمل نکرد 8-|

sniper000man
April 1st, 2013, 01:07
بازم عمل نکرد 8-|
با سلام
بعد از در اوردن از حالت زیپ با دستور ls فایل هارو لیست کنید بعد از اونجا کپی کنید بزنید جلوی cd /
با تشکر

fr0nk
April 1st, 2013, 12:36
تو فایل tar اولی فک کنم یه tar دیگه هست

اگه خواستید سرور رو بفرستید چک کنید

Dr.Oxygen
April 7th, 2013, 16:31
خب دوستان در هر کجا مشکلی دارند در این تاپیک مطرح بکنند تا پاسخ داده شود

sniper000man
April 7th, 2013, 20:42
خب دوستان در هر کجا مشکلی دارند در این تاپیک مطرح بکنند تا پاسخ داده شود
با سلام
دوست عزیز خب ادماه بدین کارتونو یا تموم شده ؟

Dr.Oxygen
April 7th, 2013, 20:53
با سلام
دوست عزیز خب ادماه بدین کارتونو یا تموم شده ؟
خیر تموم نشده
دارم متن رو می نویسم فردا ادمش رو قرار می دهم.

shyton021
April 8th, 2013, 04:36
خیر تموم نشده
دارم متن رو می نویسم فردا ادمش رو قرار می دهم.
تا همین بخش که آماده کردید بهتون خسته نباشید می گم آموزش کاملی هست و کامل تر هم خواهد شد :53: ممنون ازتون.

sniper000man
April 12th, 2013, 13:08
خیر تموم نشده
دارم متن رو می نویسم فردا ادمش رو قرار می دهم.
با سلام
حاجی چی شد منتظریم ها
با تشکر

Dr.Oxygen
April 12th, 2013, 14:11
دورد بر همه دوستان
واقعا شرمنده برای این وقفه ی طولانی اما ادامه ی ماجرا ....

این جلسه کارای امنیتی و اپتیمایز کردن رو ادامه میدیم
از منوی بقل WHM گزینه PHP Configuration Editor رو بزنید و تیک رو در advance mode بزارید
حالا سه تا مقدار زیر رو حتما و حتما برابر off قرار بدید (ممکنه بعضی ها در حالت پیشفرض خاموش باشه

allow_url_fopen = Off
register_globals = Off
enable_dl=Offموارد زیر رو هم قویا پیشنهاد میشه به صورتی که جلوشون نوشتم تغییر بدید

display_errors = Off
display_startup_errors = Off
safe_mode = On
log_errors = On
expose_php = Off
magic_quotes_gpc = On
magic_quotes_sybase = Offدر پایان save رو بزنید
در قمت آخر منوی WHM برید به Mod Security و اونو باز کنید
edit config رو بزنید و Default Configuration رو انتخاب کنید و بعد Save Configuration رو بزنید
در منوی بقل WHM گزینه Compiler Access رو باز کنید و Disable compilers رو بزنید
از منوی بقل WHM گزینه Exim Configuration Editor رو پیدا کنید و از پایین ترین قسمتش Advanced editor رو بزنید
در صفحه ای که باز میشه در هون قسمت های بالایی یه کادر بره وارد کردن تکست هست متن زیر رو در اون بزنید

log_selector = +arguments +subject +received_recipientsدر اخر هم Save رو بزنید
از منوی بقل WHM گزینه Tweak Settings رو بزنید
مقدار BoxTrapper Spam Trap رو به OFF تغییر بدید
مقدار Max hourly emails رو به 100 تغییر بدید
Email password reset رو OFF کنید
Block common domain usage رو ON کنید
Allow domain parking across accounts رو OFF کنید
Cookie IP validation رو روی strict بزارید
Use MD5 passwords with Apache رو ON کنید
Blank referrer safety check و Referrer safety check رو ON کنید (اختیاری چون فعال شدنش خوبه ولی یه کم ممکنه تو لوگین ها اذیت کنه و همش پسورد بخواد)
Security Tokens رو هم on کنید
Require SSL رو off کنید درسته که فعال بودنش خیلی خوبه ولی تو ایران ISP ها سر SSL ادا در میارن
آخر سر Save کنید
حالا اس اس اچ رو باز کنید و دستور زیر رو بزنید

nano /etc/ssh/sshd_configبا زدم دکمه CTRL + W از کیبرد عبارت UseDNS رو پیدا کنید اگر کنار # بود بردارید و مقدارشو به no تغییر بدید (اگه جلوش نوشته بود no به هیچی دست نزنید و اگه نوتشه yes فقط اون yes رو به no تبدیل کنید و فایل رو سیو کنید و بیاید بیرون
دستور

nano /etc/my.cnf رو بزنید
اگه عبارت local-infile وجود داشت مقدارشو به 0 و اگه نبود در خط اخر اینو اضافه کنید

local-infile=0فایل رو سیو کنید و بیاید بیرون
حالا در منوی بقل WHM به ConfigServer Security&Firewall برید و CHECK SERVER SECURITY رو بزنید
اولا یاد آوری کنم قرار نیست همه گزینه ها سبز بشه (شاید در آخر یه 10-15 تایی بمونه که هیچ مشکلی نداره)
برید به آخرین قسمتش که نوشته Server Services Check و پایینش حدود 10-12 مورد رو چک کرده
اگه همش سبز باشه که خدا رو شکر اگه یکی یا چند تا یا همش قرمز باشه اگه دقت کنید کنار هر کدوم دو تا دستور نوشته اون دو تا دستور رو در اس اس اچ بزنید و اگر هم دستور ها اروری داد ارورش رو بیخیال شید :D
اگه سرور مجازی با OpenVZ یا Virtuzu دارید کار تمومه و یه reboot بزنید (و قسمت بعد که سکیو کردن /tmp هست رو بیخیال شید و فقط بیاید سراغ خطوط پایانی
اگه سرور اختصاصی دارید یا سرور مجازی با Vmware و Xen یه مرحله دیگه هم دارید ...
ولی خب با توجه به اینکه دیگه حوصله تایپ ندارم و در سایت Linuxtalk.ir آقای پیمان قربانی این مطلب رو به خوبی آموزش داده من مال ایشون رو براتون کپی پیست میکنم
امن کردن /tmp:


cd /dev


ساخت 2000 مگابایت فضا ذخیره سازی:



dd if=/dev/zero of=tmpMnt bs=1024 count=2000000


ساخت فایل سیستم ext :



/sbin/mke2fs /dev/tmpMnt


ایجاد یک پشتیبان:



cp -R /tmp/ /tmp_backup


mount کردن فایل سیستم جدید با noexec:



mount -o loop,rw,nosuid,noexec /dev/tmpMnt /tmp


سطح مجوز را هم تغییر دهید:



chmod 0777 /tmp


پشتیبانی را که تهیه کرده بودیم، کپی میکنیم:



cp -R /tmp_backup/* /tmp/


پشتیبان را حذف میکنیم:



rm -rf /tmp_backup


امن کردن /var/tmp :

تهیه یک پشتیبان:



mv /var/tmp /var/tmpbck

آدرس دهی میکنیم:


ln -s /tmp /var/tmp


فایل های داخل پشتیبان را کپی میگیریم:



cp /var/tmpbck/* /tmp/


امن کردن /dev/shm :

فایل زیر را با ویرایشگر باز میکنیم:

اگر ویرایشگر nano را نصب ندارید، با دستور زیر نصب کنید.



nano /etc/fstab


مقدار زیر را پیدا کنید :



none /dev/shm tmpfs defaults,rw 0 0


مقدار زیر را جایگزین مقدار فوق میکنیم:



none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0


مجددا” mount میکنیم:



mount -o remount /dev/shm

و حالا یه بار سرور رو با دستور reboot ریبوت کنید

پ.ن : قسمتی از این آموزش کپی شده از آموز آقا امیر بود چون حال تایپ نداشتم.
قصد داشتم ارور های csf را دونه دونه رفع کنیم که چون سرور نداشتم نشد.
اگه سرور پیدا کردم حتما قرار می دم.

tizparvaz
April 16th, 2013, 16:08
allow_url_fopen = Off
پیشنهاد میکنم اینرو on بذارید مخصوصا برای هاستینگ با خاموش بودنش به مشکل میخورین

sniper000man
July 6th, 2013, 13:34
با سلام
برای ساخت آموزش تصویری سرور در اختیار ایشون قرار گرفت
با تشکر

leberman
January 22nd, 2014, 21:45
درود ابتدا تشکر ویژه از Dr.Oxygen (http://www.webhostingtalk.ir/member/78095/) بابت قرار دان این آموزش.

من در اینجا که گفته شده:

nano /etc/fstab

به جای

none /dev/shm tmpfs defaults,rw 0 0

این رو وارد کردم:

none /dev/shm tmpfs defaults,nosuid,noexec,rw 0 0

اما موقع اجرای دستور

mount -o remount /dev/shm

با این ارور مواجه میشم: [mntent]: line 2 in /etc/fstab is bad






این 2لاین fstab من هست:


none /dev/shm tmpfs defaults,rw 0 0none /dev/shm tmpfs defaults,rw 0 0/
/ dev/VolGroup00/LogVol00


نمیدونم مشکلش چیه!اگر دسوتان میتونن راهنمایی کنن... تشکر

hmrka139
February 3rd, 2014, 21:01
سلام.
اینکه دسترسی به وب دایرکت ادمین از همه آی پی ها بسته میشه بجز اونایی که تو csf.allow هست علتش چیه؟

InterServer.ir
February 4th, 2014, 02:34
سلام.
اینکه دسترسی به وب دایرکت ادمین از همه آی پی ها بسته میشه بجز اونایی که تو csf.allow هست علتش چیه؟

درست کانفیگ نشدن فایروال باعث این مشکل میشه احتمالا بیش از حد فایروال سخت گیری می کنه !

hmrka139
February 4th, 2014, 11:08
درست کانفیگ نشدن فایروال باعث این مشکل میشه احتمالا بیش از حد فایروال سخت گیری می کنه !

ممنون از پاسختون
این خوبه یا بد؟ یا مشکلی به وجود میاره؟
چون دسترسی من به وب ادمین از چند آی پی مشخص هست. برای امنیت این حالت حفظ بشه بهنره یا مشکلی هست که باید برطرفش کرد؟

InterServer.ir
February 5th, 2014, 00:25
ممنون از پاسختون
این خوبه یا بد؟ یا مشکلی به وجود میاره؟
چون دسترسی من به وب ادمین از چند آی پی مشخص هست. برای امنیت این حالت حفظ بشه بهنره یا مشکلی هست که باید برطرفش کرد؟

فایروال نباید بیش از حد سخت گیری کنه چون باعث شاکی شدن مشتری و بازدید کننده های سایت میشه مثال در باره تعداد کانکشنها زیادی سخت گیری شه ممکنه بازدید کننده های خوب سایت که بازدید بیشتری دارند از سرور مسدود بشند

techgreen
February 5th, 2014, 00:27
ممنون از پاسختون
این خوبه یا بد؟ یا مشکلی به وجود میاره؟
چون دسترسی من به وب ادمین از چند آی پی مشخص هست. برای امنیت این حالت حفظ بشه بهنره یا مشکلی هست که باید برطرفش کرد؟


درود بله صحیح هست ! فایروال به شدت سخت گیری میکنه ! کافیه مشتری اشتباه کوچیکی انجام بده ! آی پیش بلاک میشه و دردسر ... ! میتونه باعث نارضایتی مشتریان بشه

porya8738
February 5th, 2014, 11:14
ممنونم بابت توضیحات کاملتون

Dr.Oxygen
April 2nd, 2014, 18:38
نشکر
آموزش مفیدی بود
فقط یه سوال
این کد چکار میکند
verbose = “1″
درود.

VERBOSE کار هایی که Iptables میکنه رو روی صحفه نمایش شما نشون میده که بهتره ۱ رو انتخاب کنید چون بعضی وقت ها دارید کانفیگ میکنید یه هو میبینید ۲۰ خط اومد تو صفحه مانیتورتون !

ali@ali@ali
April 8th, 2014, 11:54
میشه لطفا کانفیگ csf دایرکت ادمین رو هم بذارید ؟
خیلی خیلی ممنون میشم

hamid.soltani92
April 8th, 2014, 12:16
با تشکر،آموزش خیلی خوبی بود.
فقط یک نکته.اگر مقدار تست رو برابر ۱ قرار بدید، به این معنی نیست که فایروال شما کار نمیکنه و اصلا نصبش نکردید.وقتی این مقدار رو برابر ۱ قرار بدید، بعد از اعمال تغییرات پس از مدتی(میشه تنظیمش کرد ولی فکر میکنم ۱۰ دقیقه باشه مقدار اولیه اش) تمام رول های فایروال موقتا پاک میشن که اگه ادمین سرور به اشتباه خودش رو بن کرده بود، یا کاری کرده بود که بن بشه و ...، دوباره به سرور دسترسی داشته باشه و پیشنهاد میکنم حتما این مقدار رو هنگام تنظیم فایروال برابر ۱ قرار بدید.بعد از این که تنظیم و تست تموم شد،دوباره این مقدار رو برابر ۰ قرار بدید.

mhiizadi
April 8th, 2014, 13:31
میشه لطفا کانفیگ csf دایرکت ادمین رو هم بذارید ؟
خیلی خیلی ممنون میشم

هر دو یکی هست...

princeserver
April 11th, 2014, 13:28
سلام نظر دوستان راجع به بلاک کردن یک کشور خاص مثل چین در
csfچی هستش؟
کشوری مثل چین که مدام در حال حمله به سرور ها هستن
همچنین در بعضی جا ها برای سیستم وی ای پی استفاده میکنند تا از سرور داخلی فقط دانلود شود یک چیزی شبیه به این در اصل هدف من از بیان این موضوع بلاک کردن یک رنج یا یک کشور خاص هستیم

al_bozorgi
April 18th, 2014, 15:19
موردی که در پست اول فرمودید که با قراردادن مقدار 0 برای auto_updates فایروال خودش رو آپدیت میکنه ، ظاهراً برعکسه اگر مقدار 1 قرار بدیم خودش رو میتونه آپدیت کنه و با قرار دادن مقدار 0 در اصل اتو آپدیت غیر فعال میشه.

iman4web
April 28th, 2014, 18:16
آموزش اشکالات زیادی داشت مخصوصا در قرار دادن مقادیر 0 و 1

hooman1374
June 29th, 2014, 17:00
من وقتی این تنظیمات رو انجام دادم vps ام دیگه نیومد. شما پورت ۲۲ رو هم بستید در صورتی که این پورت برای ارتباط از طریق ssh لازمه

amir_ng
November 15th, 2014, 00:04
سلام
ممنون از آموزش هاتون
مقدار Connection Limit توی CSF برای سرور هاست به نظرتون چند بزاریم؟ یا اصلا قرار ندیم؟ چون انگار از حملات Dos و Ddos جلوگیری میکنه

ferisaghi
December 26th, 2014, 02:07
همه تنظیمات رو انجام دادم حالا دیگه هیچی سایت بالا نمیاد و همه سایتها internal error میدن
کسی میتونه راهنمایی کنه؟

Mr.Te0
December 27th, 2014, 03:05
همه تنظیمات رو انجام دادم حالا دیگه هیچی سایت بالا نمیاد و همه سایتها internal error میدن
کسی میتونه راهنمایی کنه؟

csf را متوقف کنید ببینید سایت ها در دسترس قرار میگیرند یا خیر.
در صورت فعال سازی مجدد سایت ها باید تنظیمات csf بررسی شود.
برای رفع مشکل باید به صورت دقیق همراه با دسترسی ، سرور مورد بررسی قرار گیرد.