توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : چک لیست ایمن کردن یک vps؟
fasthack
11-10-2009, 06:55 PM
سلام
برای ایمن کردن یک سرور مجازی لینوکس (LAMP) چه کارهایی لازمه انجام بشه؟
1. محدود کردن ssh
2. تنظیم iptables
3. دیگه؟
تشکر
fasthack
11-27-2009, 05:43 PM
واقعا ممنون از این همه راهنمایی بعد از یک ماه :|
خب یه راهنمایی بکنید دیگه. مقاله های خارجی هم باشه مشکلی نیست. فقط میخوام یک وی پی اس ایمن درست کنم.
neda_atishpare
12-01-2009, 08:41 PM
واقعا ممنون از این همه راهنمایی بعد از یک ماه :|
خب یه راهنمایی بکنید دیگه. مقاله های خارجی هم باشه مشکلی نیست. فقط میخوام یک وی پی اس ایمن درست کنم.
با سلام:
دوست عزیز، برای داشتن یک VPS ایمن، پیشنهاد میکنم Ubuntu Linux VPS بسازید، البته من به تمام توزیع های لینوکس علاقه مندم واین پیشنهاد، نتیجه تحقیقاتم درتمام توزیع های لینوکس هست وممکنه کسانی با نظرمن مخالف باشن، ولی به دلیل داشتن حق دموکراسی، نظرم بیان کردم...
برای ایمن کردن Ubuntu VPS، میتونید ازاین راهکارها استفاده کنید:
غیرفعال کردن (SU:switch user): با این کارفقط کابرانی که درadmin group هستند میتونن ازمزایای اختصاصی استفاده کنند وبرای تمام کاربران دیگرتا جایی که امکان داره بایداختیارات سیستمی رو پایین بیاریم وغیرفعال کردن su برای تمام کاربران بجزکاربران admin یکی ازاین تدابیرهست:
$ sudo su -
$ chown root.admin /bin/su /usr/bin/sudo
$ chmod 04750 /bin/su
$ chmod 04550 /usr/bin/sudo
چون اکثراکسپلویتها برای اجرای سرویسها، ازحافظه اشتراکی "shared memory" استفاده میکنن، این حافظه رابه read only تغییربدید. برای اینکار فایل etc/fstab/ را باید ویرایش کنید.
$ vi /etc/fstab
(فرض میکنم شما نیازی به حافظه اشتراکی writable ندارید ودرصورت نیاز به این حافظه، میتونید این راهکار فاکتور بگیریدو انجام ندید.)دراتنهای فایل، این خط رو اضافه کنید:
tmpfs /dev/shm tmpfs defaults,ro 0 0
نصب AIDE
$ sudo apt-get install aide
درفایل etc/default/aide باید آدرس ایمیل شما وارد بشه برای آگاه کردن شما از integrity check reports وبرای پیکربندی aide :
$ sudo aideinit
$ cd /var/lib/aide
$ mv aide.db.new aide.db
اجرای پردازش:بعدازاتمام پردازش اگرهرکدام ازفایلها تغییرکرده باشند (مقایسه با default database) یک گزارش جهت آگاهی شما، ایمیل میشود. (روزی یکبار)
$ /etc/cron.daily/aide
نصب chkrootkit
$ sudo apt-get install chkrootkit
ساختن فایل etc/cron.daily/chkrootkit.sh/ وجایگزین کردن نام سرور وایمیل شما درقسمت مربوطه.
#!/bin/bash
/usr/sbin/chkrootkit | \
grep -v “not found” | \
grep -v “nothing found” | \
grep -v “not infected” | \
mail -s “Daily chkrootkit from yourserver.domain.com” your id@your destination.com
نصب Lamp Stack
برای دانلود تمام بسته های lamp stack دستورtasksel استفاده کنید. درطی نصب شما برای mysql root user باید یک پسورد تعیین کنید وحتما ازیک پسورد قوی استفاده کنید.
$ sudo tasksel install lamp-server
برای ایمن کردن Ubuntu VPS، راهکارهای دیگه ازجمله نصب Bastille (پکیج قدرتمند جهت پیکربندی امنیتی)، ایمن کردن apache درlamp stack و tightening ssh و... وجود داره که درصورت تمایل، توضیح میدم...
موفق باشید.
fasthack
12-02-2009, 06:01 PM
خیلی ممنون. عالی بود. thumbsup لطفا ادامه بدید.
البته در حال حاضر من debian دارم که دستوراتش فرقی با ubuntu نداره.
neda_atishpare
12-03-2009, 08:55 PM
با سلام:
ایمن کردن apache درlamp stack:همونطورکه میدونید، درنصب apache یک group وuser id ساخته میشه بنام [Only registered and activated users can see links]، (هم userid وهم group به این نام هستند.)
برای جلوگیری ازهرگونه سوءاستفاده احتمالی یک security breach یا (ناقض امنیتی) یا همان هکر، بهتراست نام این userid وgroup تغییربدید: (xxxxxx = نام دلخواه)
$ sudo usermod -l xxxxxx [Only registered and activated users can see links]
$ sudo groupmod -n xxxxxx [Only registered and activated users can see links]
بعدباید فایل etc/apache2/envvars/ ویرایش کنید واین دوخط رابا نامی"xxxxxx" که انتخاب کردید، تغییربدید:
export APACHE_RUN_USER=xxxxxx
export APACHE_RUN_GROUP=xxxxxx
میتونید ماژولهای apache که نیازندارید راغیرفعال کنید. ماژولها با این دستور sudo a2dismod module_name command غیرفعال وبا این دستور
sudo a2enmod module_name command فعال میشن. تغییرات ماژولها بسته به شرایط و نیازامنیتی شما متفاوته ولی بعنوان نمونه:
$ sudo a2dismod autoindex # used to build directory indexes like the ls command
$ sudo a2dismod cgi # used to run cgi scripts
$ sudo a2dismod env # used to set environment variables for CGI & SSI scripts
mod_security: درنتیجه تنظیمات bastille وiptables firewall ترافیک عمومی روی پورتهای SSH و HTTP و [Only registered and activated users can see links] وارد میشه که برای SSH با tightening ssh این ترافیک میشه کنترل کرد ولی برای کنترل ترافیک درHTTP و [Only registered and activated users can see links] باید ماژول mod_security رونصب کنید:
(برای اطلاعات بیشتردرباره mod_security ازاین
مقاله ([Only registered and activated users can see links]) میتونیداستفاده کنید.)
$ sudo apt-get install libapache-mod-security
توجه کنید که یک فایل جدید درetc/apache2/conf.d/ هست که security نامیده میشه که تنظیمات کلی mod_security هست وباید این متغیرها را
درفایل تغییربدید. البته این تغییرات بطورمستقیم امنیت بالا نمیبره ولی میتونه کارمهاجم رادرتلاش برای نفوذ وتنظیم اکسپلویتهای ویژه، بسیارسخت کنه.
ServerTokens Prod
ServerSignature Off
TraceEnable Off
وبرای اینکه مهاجم ازاطلاعات فاش شونده توسط سرور، کمترین استفاده راببرد، بهتردرفایل etc/php5/apache2/php.ini/ این تغییرات انجام بدید:
expose_php = Off
display_errors = Off
استفاده از Snort - acidbase: ابتدا باید یک دیتابیس جدید برای snort بسازید:
$ mysql -u root -p # Enter password for the mysql root account.
> create database snortdb;
> grant select, insert, update, delete, create, drop, index, alter, create temporary tables, lock tables on snortdb.* to ’snort’@'localhost’ identified by ’snortpwd’;
> flush privileges;
> quit;
برای نصب : sudo apt-get install snort-mysql $ ودرطی نصب برای حفاظت IP موردنظر توسط Snort باید IP Address/32 راواردکنید، سپس
برای پیکربندی دیتابیس Yes راانتخاب کنید وبرای tables دردیتابیس وبازکردن فایل پیکربندی snort ازاین دستورات استفاده کنید:
(واین پارامترها: output database: log, mysql, user=snort password=snortpwd dbname=snortdb host=localhost را واردکنید.)
$ cd /usr/share/doc/snort-mysql
# Enter the database password
$ sudo zcat create_mysql.gz | mysql -u snort -p snortdb
$ sudo vi /etc/snort/snort.conf
برای نشان دادن پیکربندی دیتابیس واجراو snort status:
$ sudo rm -rf /etc/snort/db-pending-config
$ sudo /etc/init.d/snort start
$ sudo /etc/init.d/snort status
حالا باید acidbase رانصب کنید: sudo apt-get install acidbase $ وبرای پیکربندی دیتابیس، No را انتخاب کنید تا بصورت پیش فرض ازدیتابیس و
userid در Snort استفاده بشه وباید فایل etc/dbconfig-common/acidbase.conf/ ویرایش کنید واین تغییرات اعمال کنید:
dbc_dbuser=’snort’
dbc_dbpass=’snortpwd’
dbc_dbname=’snortdb’
نصب Bastille:(مطالب درمورد تنظیمات Bastille وسیعه و...) برای نصب ازاین لینک استفاده کنید:
[Only registered and activated users can see links]
موفق باشید.
fasthack
12-04-2009, 04:13 AM
ممنون عالی بود. باید یکی یکی انجامشون بدم.
در مورد Plesk و کلا کنترل پنل ها چی؟ در VPSی که من دارم از پلسک استفاده شده که با بستن پورتها در iptables گاهی پلسک از کار میوفته. مثلا پورت ssh رو تغییر دادم و مشکل بوجود اومد!! چند مقاله خوندم که بعضی از پورتها باید براش باز باشه ولی مثل اینکه پورت های کامل ذکر نشده بود چون کار نکرد.
ضمنا چه پنلی رو پیشنهاد میکنید؟ ISPConfig از لحاظ امنیت چطوره؟ میدونم بدون پنل بهترین امنیت وجود داره ولی خب ;;)
تشکر heart
neda_atishpare
12-06-2009, 05:20 AM
با سلام:
برای اینکه plesk بدون مشکل، کارکنه این پورتها درfirewall / iptables باید باز باشن:
TCP-inbound: 20,21,22,25,53,80,110,143,443,465,993,995,8443
TCP-outbound: 20,21,22,25,53,80,110,443,8443
UDP-inbound: 20,21,53,8443
UDP-outbound: 20,21,53,123,8443
20=ftp-data
21=ftp command
22=ssh and sftp
25=smtp
53=dns
80=http
110=pop3
123=ntp- time server
143=imap
443=[Only registered and activated users can see links] ssl
465=smtp- ssl
993=imap-ssl
995=pop3-ssl
8443=plesk-ssl
برای تغییردادن پورت:
iptables -t nat -I PREROUTING -p tcp --dport xxxx -j REDIRECT --to-port xx
اگرهم ازAPF firewall استفاده میکنید، برای تغییرپورت، این خط به فایل preroute.rules اضافه کنید:
$IPT -t nat -I PREROUTING -p tcp --dport xxxx -j REDIRECT --to-port xx
بهتره برای آپدیت کردن Plesk VPS، ازمخازن atomic استفاده کنید که توسط طراح وسازنده اصلی plesk ارائه میشه.
لینک: [Only registered and activated users can see links]
درطی نصب ازمخازن plesk 9 استفاده نکنید، چون plesk 9 برای rhel/centos 4,5 مناسبه وبایدازمخازن plesk 8.6 استفاده کرد.
درباره امنیت پنل های free، مقایسه کردن وبرتری دادن یکی به دیگری، کاراشتباه وبیهوده ای هست. مثلا همین پنل ISPConfig که شما
عنوان کردید، یکی ازمشکلات امنیتی اون، وجود2 باگ Rfi هست (high level) که اجازه RCE میدن ودارای اکسپلویت هم هستن وهنوزپچ نشدن...
علاوه براین، ISPConfig بعضی وقتها errorهای CPAN memory- php binary- perl و... میده که درتوزیع های مختلف، این خطاها
متفاوت هستن وبرای نصب ISPConfig با error کمتر، انتخاب Debian مناسبترهست.
موفق باشید.
vBulletin® v3.8.4, Copyright ©2000-2012, Jelsoft Enterprises Ltd.