امنسازی سرورهاي لینوکس برای محافظت از دادههای کاربران و مشتريان امری حياتي و عقلانی است و تأمین امنیت سرورهای لینوکسی یکی از وظایف مدیران سیستم است. در این نوشتار ۲۰ راهکار برای افزایش امنیت یک سیستم سرور لینوکسی تازه نصب شده را عنوان میکنیم. ما این کار را با یک سرور مبتنی بر ردهت انجام میدهیم. اما برای نصب یا حذف بستهها میتوانید از ابزار مدیریت بسته توزیع خود استفاده کنید.
1-رمزگذاری ارتباطات دادهتمام دادههای ارسال شده از طریق شبکه قابل شنود است. برای جلوگیری از شنود دادهها، دادههای ارسال شده را تا حد ممکن با رمز عبور یا استفاده از کلیدها و گواهینامههای امنیتی رمزگذاری کنید.
الف- از scp،ssh،rsync یا sftp برای ارسال دادهها استفاده کنید. همچنین میتوانید فایل سیستم سرور راه دور یا پوشهخانگی کامپیوتر سرور را با استفاده از ابزار مخصوص sshfs یا ابزار fuse مانت کرده و سپس به انتقال داده بپردازید.
ب-GnuPG برای شما امکان رمزگذاری و امضا کردن دادهها و ارتباطات را فراهم میکند. همچنین یک سیستم مدیریت کلید همهکاره و ماجولهای دسترسی به انواع کلید عمومی را به همراه دارد.
ج-Fugu یک رابطگرافیکی برای برنامه انتقال امن فایل Sftp است. SFTP مشابه ftp است اما برخلاف آن، کل نشست را رمزگذاری میکند و این به آن معنا است که هیچ رمز عبوری به شکل متنی ارسال نخواهد شد. گزینه دیگر FileZilla است که یک کلاینت مستقل از سکو است و از FTP، FTP از طریق SSL/TLS یا FTPS و پروتکل انتقال فایل ssh یا همان Sftp، پشتیبانی میکند.
د-OpenVPN یک VPN سبک و کم هزینه با پشتیبانی SSL است.
ه- پیکربندی و نصب Lighthttpd SSL یا همان https را در نظر داشته باشید.
و-پیکربندی و نصب Apache SSL یا https از طریق ماجول mod_ssl آپاچی را هم فراموش نکنید.
1-1 پرهیز از به کار بردن FTP،Telnet و Rlogin/Rsh
در بیشتر پیکربندیهای پیشفرض شبکهها، نامهای کاربری، رمزهای عبور، دستورات FTP/Telnet/Rsh و فایلهای انتقال یافته بهراحتی ممکن است توسط کاربری در همان شبکه به کمک برنامههای بو کشیدن بسته (packet sniffer) دریافت شوند. راه حل عمومی استفاده از OpenSSH، SFTP و FTPS است. دستور زیر را اجرا کنید تا NIS،Rsh و سایر سرویسهای منسوخ را پاک کنید:
yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve
2-حداقلکردن برنامههابرای به حداقل رساندن نفوذپذیریآیا واقعاً به همه سرویسهای وبی که روی سیستم نصب شده است، احتیاج دارید؟ برای کاهش نفوذپذیری سیستم، از نصب نرمافزارهای اضافی خودداری کنید. از ابزار مدیریت بسته مانند yum، apt-get یا dpkg برای بررسی بستههای نصب شده روی سیستم استفاده کنید:
yum list installed
yum list packageName
yum remove packageName
یا درنمونههای دبیانی:
dpkg –list
dpkg --info packageName
apt-get remove packageName
3- يك سرويس شبكه اي روي هر سيستم يا هر ماشين مجازيسرویسهای شبکهای مختلف را روی سرویسدهندههای مختلف یا ماشینهای مجازی مختلف اجرا کنید. این کار تعداد سرویسهایی را که ممکن است آسیب ببینند، محدود میکند. در این حالت به عنوان مثال اگر یک خرابکار وارد شبکه شود و بتواند در سرویسدهنده وب آپاچی نفوذ کند، قادر نخواهد بود تا در دیگر سرویسهای شبکه مانند Mysql یا سرویسدهنده ایمیل نفوذ کند.
4-هسته و برنامههای سیستم را بهروز نگهداریداعمال وصلههای امنیتی، مهمترین بخش نگهداری یک سیستم لینوکسی است. لینوکس تمامی ابزارهای لازم برای بهروزنگهداشتن سیستم را فراهم کرده و اجازه ارتقای آسان بین نسخههای مختلف را میدهد. تمامی بهروزرسانیهای امنیتی باید بررسی و در اسرع وقت اعمال شوند. دوباره از ابزار مدیریت بسته مانند yum یا apt برای بهروز نگه داشتن سیستم استفاده کنید:
yum update
یا
apt-get update && apt-get upgrade
میتوانید ردهت، سنت او اس یا فدورای خود را طوری تنظیم کنید تا خبر انتشار یک بهروزرسانی برای هر یک از بستههای yum را از طریق ایمیل به شما اطلاع دهد. گزینه دیگر، اعمال تمامی بهروزرسانیها از طریق وظایف cron است. برای سیستمهای دبیان واوبونتو ازapticron برای آگاه شدن از وجود بهروزرسانیها استفاده کنید.
5-از افزونههای امنیتی لینوکس استفاده کنیدلینوکس از وصلههای امنیتی مختلفی برای محافظت در قبال تنظیمهای نادرست یا برنامههای مشکلساز استفاده میکند. اگر ممکن است از SELinux یا دیگر ابزارهای امنیتی اضافی لینوکس برای تشدید محدودیتهای برنامههای شبکه و سایر برنامهها استفاده کنید. به عنوان مثال SELinux از سیاستهای امنیتی گوناگونی برای هسته لینوکس استفاده میکند.
- SELinux
ما استفاده از SELinux که یک کنترل دسترسی الزامآور MAC (سرنام Mandatory Access Control) انعطافپذیر را فراهم میکند، توصیه میکنیم. در حالت استاندارد کنترل دسترسی احتیاطی DAC (سرنام Discretionary Accesc Control)، برنامه یا پردازهای که به عنوان یک کاربر (UID یا SUID) اجرا میشود،تمام مجوزهای کاربر را برای دسترسی به اشیایی مانند فایلها، سوکتها و سایر پردازهها دارد. اجرای کنترل دسترسی الزامآور، سیستم را از بدافزارهایی که ممکن است آن را خراب یا نابود کنند، محافظت میکند. برای اطلاعات بیشتر میتوانید به مستندات رسمی ردهت که پیکربندی SELinux را توضیح میدهد، مراجعه کنید.
6-سیاست حسابهای کاربری و رمزهای عبور قویاز دستور useradd و usermod برای افزودن یک کاربر یا نگهداری یک حسابکاربری استفاده کنید. مطمئن شوید که از یک سیاست رمز عبور خوب و قوی استفاده میکنید. به عنوان مثال یک رمز عبور خوب حداقل شامل ۸ حرف و ترکیبی از حروف الفبای کوچک و بزرگ، اعداد و کاراکترهای خاص است. از همه مهمتر رمز عبوری انتخاب کنید که بتوانید آن را به خاطر بسپارید. از ابزارهایی نظیر John the ripper برای پیبردن به رمزهای عبور ضعیف کاربران روی سرور استفاده کنید. pam_cracklib.so را برای اجباری کردن یک سیاست رمز عبور قوی، پیکربندی کنید.
6-1-طول عمر رمزهای عبور
دستور chage تعداد روزهای بین تغییرات رمز عبور و تاریخی که آخرینبار رمز عبور تغییر کرده است را تغییر میدهد. این اطلاعات بهوسیله سیستم استفاده میشود تا مشخص کند یک کاربر چه زمانی باید رمزعبورش را عوض کند. فایل etc/login.defs پیکربندی رمزهای عبور مربوط به سایت، نظیر طول عمر آنها، را بر عهده دارد. برای غیر فعالکردن تعیین طول عمر رمز عبور، دستور زیر را وارد کنید:
chage -M 99999 userName
در نهایت میتوانید فایل etc/shadow/ را طبق الگوی زیر ویرایش کنید:
:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{expire}
گزینههای فوق بهاحتمال، نیازی به توضیح ندارند اما توصیه میشود به جای ویرایش فایل etc/shadow/ از دستور chage طبق الگوی زیر استفاده کنید:
chage -M 60 -m 7 -W 7 userName
6-2-محدودکردن استفاده از رمزهای قبلی
شما میتوانید کاربران را از استفاده دوباره از رمز عبور قبلی منع کنید. پارامتر remember در ماجول pam_unix میتواند برای پیکربندی تعداد رمزهای عبور قبلی که نمیتوانند دوباره استفاده شوند، مورد استفاده قرار بگیرد.
6-3-قفلکردن یک کاربر پس از ورود ناموفق
در لینوکس میتوانید از دستور faillog برای مشاهده لاگهای ورود ناموفق یا اعمال محدودیتهای ورود ناموفق استفاده کنید. Faillog محتویات فایل log را از گزارشهای خطای ورود بانک اطلاعات var/log/faillog/ بهروز میکند. همچنین faillog برای نگهداری تعداد خطاهای ورود و اعمال محدودیت استفاده میشود. برای دیدن تلاشهای ناموفق در ورود به سیستم، دستور زیر را اجرا کنید:
faillog
برای بازکردن یک حساب کاربری قفل شده پس از تلاش در ورود ناموفقش، دستور زیر را اجرا کنید:
faillog -r -u userName
توجه داشته باشید که میتوان از دستور passwd برای قفل کردن و باز کردن یک حساب کاربری استفاده کرد.
برای قفلکردن یک حساب کاربری:
passwd -l UserName
برای بازکردن یک حسابکاربری:
passwd -u UserName
6-4-چگونه حسابهایکاربری بدون رمز را پیدا کنیم؟
دستور زیر را اجرا کنید:
awk -F: ‘($2 == “”) {print}’ /etc/shadow
و سپس با استفاده از دستور Passwd که قبلاً شرح داده شد، حساب های بدون رمزعبور را قفل کنید.
6-5-مطمئن شوید شناسه هیچ کاربری به جز کاربر ریشه، عدد صفر نباشد
فقط کاربر ریشه با شناسه کاربری صفر امکان دسترسی کامل به سیستم را دارد. برای پیدا کردن تمام حسابهای کاربری با شناسه صفر دستور زیر را وارد کنید:
awk -F: ‘($3 == “0”) {print}’ /etc/passwd
پس از اجرا باید تنها یک خط مانند زیر ببینید:
root:x:0:0:root:/root:/bin/bash
اگر حسابهای دیگری از شناسه کاربری صفر استفاده میکنند، آنها را حذف کنید یا مطمئن شوید که آنها را میشناسید.
7-ورود كاربرريشه را غير فعال كنيدهیچ وقت با کاربر ریشه وارد سیستم نشوید. شما باید از sudo برای اجرای دستورات در سطح کاربر ریشه استفاده کنید. دستورsudo بهشدت امنیت سیستم را بالا میبرد به دلیل اینکه دیگر لازم نیست رمز کاربر ریشه را در اختیار سایر مدیران سیستم قرار دهید. علاوه بر این sudo قابلیت پیگیری دستورات استفاده شده را دارد.
8-امنيت فيزيك سرورشما باید سرور را از نظر دسترسی فیزیکی به کنسول محافظت کنید. بایوس را برای غیر فعالکردن امکان بوت سیستم از طریق دیویدی، سیدی یا حافظههای USB تنظیم کنید. همچنین روی بایوس و گراب، رمز عبور بگذارید. تمام رکها باید توسط دیتاسنتر قفل شوند و هویت تمام اشخاص پیش از دسترسی به آنها به نوعی بررسی شود.
9-سرویسهایی را که نیاز ندارید، غیر فعال کنیدسرویسها و دايمونهایی (سرویسهایی که در پس زمینه اجرا میشوند) را که نیاز ندارید، غیرفعال کنید. همچنین باید تمامی این سرویسهای ناخواسته را از استارتآپ سیستم بردارید. دستور زیر را برای فهمیدن اینکه چه دستوراتی در سطح۳ (#3 run Level) اجرا خواهند شد، اجرا کنید:
chkconfig --list | grep ‘3:on
برای غیر فعالکردن این سرویسها میتوان از دستورات زیر استفاده کرد
service serviceName stop
chkconfig serviceName off
9-1-پورتهایی را که به شبکه گوش میدهند، بیابید
از دستور زیر برای پیداکردن پورتهای باز شبکه و برنامههای مربوط به آن استفاده کنید:
netstat -tulpn
یا
nmap -sT -O localhost
nmap -sT -O server.example.com
از iptables برای بستن پورتهای باز یا از دستورهای service و chkconfig برای توقف سرویسهایی که به این پورتها گوش میکنند، استفاده کنید.
10-محيط Xراپاك كنيدبهطور معمول در سرورها به محیط X نیازي نیست. دلیلی برای استفاده از محیط X در سرور اختصاصی mail یا وبسرور آپاچی وجود ندارد. شما میتوانید محیط X را غیرفعال یا حذف کنید تا امنیت و بازدهی سرور بالا رود. فایل etc/inittab/ را ویرایش کنید و سطح پیشفرض را به ۳ تغییر دهید. سرانجام محیط X را با دستور زیر حذف کنید:
yum groupremove “X Window System
11-پيکربنديiptables وTCPWrappersIptables برنامهای است که در فضای کاربر (User Spare) اجرا میشود و به ما اجازه پیکربندی فایروال تعبیه شده در هسته لینوکس (Netfilter) را میدهد. از فایروال برای پالایش کردن ترافیک و صدور مجوز فقط برای ترافیک لازم، استفاده کنید. از TCPWrappers برای فیلترکردن دسترسی شبکه به اینترنت استفاده کنید. شما میتوانید از بسیاری از حملات DoS به کمک برنامه iptables جلوگیری کنید.
12-مقاومسازیetc/sysctl.conf/فایل etc/sysctl.conf/ برای پیکربندی هسته لینوکس در زمان اجرا استفاده میشود. هسته تنظیمات صورت گرفته در فایل فوق را در هنگام بوت میخواند و اعمال میکند. یک فایل نمونه به صورت زیر است:
Turn on execshield#
kernel.exec-shield=1
kernel.randomize_va_space=1
Enable IP spoofing protection#
net.ipv4.conf.all.rp_filter=1
Disable IP source routing#
net.ipv4.conf.all.accept_source_route=0
Ignoring broadcasts request#
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
Make sure spoofed packets get logged#
net.ipv4.conf.all.log_martians = 1
13-پارتیشنهای جداگانهجدا کردن سیستمهایفایلی سیستمعامل از فایلهای کاربران میتواند سیستم بهتر و امنتری را برای کاربر به ارمغان بیاورد. مطمئن شوید که سیستمهایفایلی /usr ، /home ، /var و /tmp در پارتیشنهای جداگانهای مانت شدهاند.
پارتیشنهای جداگانه برای مسیر ریشه آپاچی و سرویسدهنده FTP بسازید. etc/fstab/ را ویرایش کنید و مطمئن شوید که گزینههای پیکربندی زیر را در آن فایل اعمال کردهاید:
الف- noexec: اجازه ندادن به اجرای فایلهای باینری در این پارتیشن برای جلوگیری از اجرا شدن فایلهای موجود در آن پارتیشن به جز فایلهای اسکریپت.
ب-nodev: اجازهندادن به کاراکتر یا دستگاههای مخصوص در این پارتیشن برای پیشگیری از استفاده از فایل دستگاههایی نظیر zero و sda و...
ج- nosuid: اجازه ندادن به دسترسی به SUID وSGID در این پارتیشن به منظور جلوگیری از فعالشدن بیت setuid.
یک مثال از etc/fstab/ برای محدودکردن دسترسی کاربری به پارتیشن dev/sda5/ که پارتیشن ریشه سرویسدهنده ftp است، مانند زیر است:
dev/sda5 /ftpdata ext3 defaults,nosuid,nodev,noexec 1 2/
13-1-سهمیهبندی دیسک
مطمئن شوید که سهمیهبندی دیسک برای تمام کاربران فعال شده باشد. برای پیادهسازی سهمیهبندی دیسک مراحل زیر را انجام دهید:
الف- سهمیهبندی برای هر فایل سیستم را با تغییر etc/fstab/ اعمال کنید.
ب- فایل سیستم(ها) را دوباره مانت کنید.
ج- پایگاه داده سهیمههارا ایجاد کرده و جدول استفاده از دیسک را بسازید.
د- سیاستهای سهمیهبندی را اعمال کنید.
14-IPv6 را غیر فعال کنیدآیپی نسخه ۶، یک لایه اینترنتی جدید از پروتکل TCP/IP است که جایگزین آی پی نسخه ۴ خواهد شد و مزایای زیادی نیز به همراه خواهد داشت. هماکنون ابزارهای خوبی برای بررسی مشکلات امنیتی یک سیستم IPv6 موجود نیست. تعداد زیادی از توزیعها اقدام به فعالکردن IPv6 بهطور پیشفرض کردهاند. چون بیشتر مدیران سیستم آیپی نسخه۶ را نظارت نمیکنند، نفوذگرها میتوانند یک ترافیک بد را از طریق IPv6 وارد شبکه کنند. بنابراین، یا IPv6 را غیرفعال کنید یا فایروال IPv6 لینوکس را پیکربندی کنید.
15-فایلهای SUID و SGID ناخواسته را غیرفعال کنید.تمام فایلهایی که بیت SUID/SGID آنها فعال شده، میتوانند در صورت وجود مشکل امنیتی یا باگ مورد سوء استفاده قرار بگیرند. تمامی کاربران محلی یا راهدور میتوانند از این فایلها استفاده کنند. ایده خوبی است که تمام این فایلها را پیدا کنیم. از دستور find برای این منظور استفاده کنید:
پیداکردن تمام فایلهایی که بیت user id آنها فعال شده:
find / -perm +4000
پیداکردن تمام فایلهایی که بیت group id آنها فعال شده:
find / -perm +2000
یا برای پیداکردن هر دوی آنها:
find / \( -perm -4000 -o -perm -2000 \) -print
find / -path -prune -o -type f -perm +6000 -ls
شما باید درباره هر فایل گزارش شده، تحقیق کنید. برای اطلاعات بیشتر نیز راهنمای آن فایلها را بخوانید.
15-1-فایلهای قابل نوشتن عمومی
هر فایل قابل نوشتن عمومی میتواند توسط هر کسی مورد استفاده قرار بگیرد و این باعث به وجود آمدن مشکلات امنیتی خواهد شد. توسط دستور زیر فایلهای قابل نوشتن عمومی و با بیتهای sticky فعال شده را پیدا کنید:
find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print
نیاز است که درباره هر فایل گزارش شده تحقیق کنید و سپس بیت SUID و GUID آنها را تنظیم یا پاک کنید.
15-2-فایلهای بدون مالک
فایلهای بدون مالک میتوانند مشکل امنیتی به وجود بیاورند. با دستور زیر، این فایلها را که به هیچ کاربر یا گروه معتبری تعلق ندارند، پیدا کنید:
find /dir -xdev \( -nouser -o -nogroup \) -print
پس از آن باید در مورد گزارشهای خروجی این دستور تحقیق کنید و مالکیت فایلها را به کاربران یا گروههای شناخته شده انتقال دهید.
16-از یک سرویس تأیید هویت مرکزی استفاده کنیدبدون یک سیستم هویتسنجی متمرکز، دادههای هویتسنجی کاربران، ناپایدار و غیرقابل اعتماد میشوند. این امر باعث به وجود آمدن امکان دسترسی برای حسابهای تاریخ گذشته یا حسابهای فراموش شدهای میشود که باید از روی سیستم پاک میشدند. یک سرویس تأیید هویت مرکزی به شما اجازه میدهد تا امکان کنترل و نگهداری حسابهای Linux/UNIX و دادههای هویتسنجی آنها را به صورت متمرکز در اختیار داشته باشید. همچنین شما میتوانید دادهها را بین سرورهای خود همسان (Sync) کنید. از سرویس NIS برای این سیستم تأیید هویت مرکزی استفاده نکنید و به جای آن OpenLDAP را برای سرورها و کاربران به کار ببرید.
16-1- Kerberos
Kerberos هویتسنجی را به صورت یک سرویس طرف سوم قابل اعتماد و با استفاده از رمزگذاری و با این فرض انجام میدهد که بستههای شبکه در فضایی نا امن منتقل می شوند و ممکن است توسط هر کسی خوانده، ویرایش و دستکاری شوند. Kerberos براساس رمزنگاری با کلید متقارن کار می کند و به یک مرکز توزیع کلید نیاز دارد. به کمک این ابزار شما می توانید از راه دور به سیستم لاگین کرده، فایلها را کپی کنید و کپی فایل درون سیستمی و سایر عملیات با خطر بالا را امنتر کنید. به این ترتیب زمانی که کاربرانی با استفاده از Kerberos در یکی از سرویسهای شبکه لاگین میکنند، کسانی که سعی میکنند با پایش اطلاعات شبکه رمزهای عبور را بدزدند، ناکام خواهند ماند.
17-گزارشگیری و حسابرسیباید سیستم گزارشگیری و حسابرسی را برای جمعآوری اطلاعات تلاشهای نفوذ تنظیم کنید. به صورت پیشفرض گزارشهای سیستمی در مسیر var/log/ ذخیره میشوند. این کار همچنین برای پیبردن به پیکربندی نامناسب نرمافزار که سیستم را برای حمله آماده میسازد، مفید است. خواندن راهنماهای syslogd و syslog.conf نیز مفید خواهد بود.
17-1-گزارشهای مشکوک را با logwatch/logcheck بررسی کنید
گزارشها را با logwatch و logcheck بخوانید. این ابزارها خواندن گزارشها را سادهتر میکنند و درباره موارد نامعمول توضیحات جزئیتری فراهم میکنند. یک نمونه از خواندن فایلهای گزارش توسط logwatch در فهرست۱ آورده شده است.
17-2-حسابرسی سیستم با استفاده از auditd
auditd به منظور انجام حسابرسی سیستم ایجاد شده است. auditd مسئول نوشتن گزارشهای audit روی دیسک است. در حین فرآیند بوت سیستم قواعد موجود در etc/audit.rules/ توسط سرویس پسزمینه auditd خوانده میشوند.
میتوان فایل etc/audit.rules/ را باز کرده و تغییرات مورد نظر مانند تنظیم محل فایل گزارش و سایر گزینهها را تنظیم کرد. توسط auditd میتوانید از موارد زیر اطلاع پیدا کنید:
الف- رخدادهای هنگام استارتآپ و خاموش شدن سیستم
ب- تاریخ و زمان یک رخداد
ج- نام کاربری که مسئول یک رخداد است
د- نوع رخداد (ویرایش، دسترسی، پاک کردن، نوشتن و...)
ﻫ- موفقیت یا شکست یک رخداد
و- ثبت رخدادهایی که تاریخ و زمان را تغییر میدهند
ز- آگاهی از این که چه کسی تنظیمات شبکه سیستم را تغییر داده است
ح- ثبت رخدادهایی که اطلاعات کاربر/گروه را تغییر میدهند
ط- آگاهی از اینکه چه کسی یک فایل را تغییر داده و...
18-سرور OpenSSH خود را امن کنیداستفاده از پروتکل SSH برای ورود و انتقال فایلها از راه دور توصیه میشود. با توجه به این که SSH در معرض انواع حملات قرار دارد، سعی کنید آن را تا حد امکان امن کنید. جزئیات این کار از حوصله این مقاله خارج است، اما منابع آنلاین فراوانی را میتوانید برای این کار بیابید.
19-سیستمهای تشخیص نفوذ را نصب کرده و به کار ببریدسیستم تشخیص نفوذ شبکه NIDS (سرنامNetwork Intrusion Detection System) سیستمی برای کشف فعالیتهای مخرب؛ نظیر حملات Dos، اسکنکردن پورتها و هر تلاشی برای شکستن سیستم، از طریق مانیتورکردن ترافیک شبکه است.
بهتر است تمام نرمافزارهای کنترل سلامت و یکپارچگی سیستم را قبل از فعال شدن سیستم در محیط کاری نصب و آزمایش کنید. حتی پیشنهاد میکنیم نرمافزار AIDE را قبل از اتصال سرور به هر شبکهای نصب کنید. AIDE یک سیستم تشخیص نفوذ مبتنی بر host است. این برنامه میتواند سازوکار درونی سیستم را
پایش کند.
Snort هم نرمافزاری است که میتواند تحلیل بیدرنگ بستهها در شبکه IP رابرای کشف نفوذ، به انجام برساند.
20-محافظت از پوشهها، فایلها و ایمیلهالینوکس محافظتهای عالی در برابر دستیابی به اطلاعات برای افراد احراز هویت نشده دارد و سطوح دسترسی فایلها و MAC جلوی دستیابی افراد ناشناس به فایلها را میگیرند؛ هر چند مجوزهای لینوکس، در صورتی که حمله کننده به سیستم دسترسی فیزیکی داشته باشد و بتواند هارددیسک آن را به کامپیوتر دیگری منتقل کند، هیچ سودی نخواهد داشت. اما به وسیله ابزارهای دیگری میتوان ضریب امنیت را بالا برد:
الف- استفاده از gpg برای رمزنگاری و رمزگشایی فایلها بهوسیله رمز عبور
ب- رمزهای عبور لینوکسی و یونیکسی از فایلها در هنگام استفاده از Open SSL یا سایر ابزارهای مشابه محافظت میکند.
ج- encryptfs میتواند برای رمزنگاری پوشهها استفاده شود
د- True Crypt یک برنامه رمزنگاری دیسک متن باز برای سیستمهای لینوکسی، ویندوزی و مک است.
20-1-امنسازی سرویسدهندههای پستی
میتوانید از گواهیهای SSL و کلیدهای gpg برای امنسازی ارتباطات ایمیلی بین هر دو طرف سرور و کلاینت استفاده کنید
خواندن گزارشهای سیستم با logwatch
################### Logwatch 7.3 (03/24/06) ################
Processing Initiated: Fri Oct 30 04:02:03 2009
Date Range Processed: yesterday
( 2009-Oct-29 )
Period is day.
Detail Level of Output: 0
Type of Output: unformatted
Logfiles for Host: www-52.nixcraft.net.in
########################################################
--------------------- Named Begin ------------------------
**Unmatched Entries**
general: info: zone XXXXXX.com/IN: Transfer started.: 3 Time(s)
general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 3 Time(s)
general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s)
general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s)
---------------------- Named End -------------------------
--------------------- iptables firewall Begin ------------------------
Logged 87 packets on interface eth0
From 58.y.xxx.ww - 1 packet to tcp(8080)
From 59.www.zzz.yyy - 1 packet to tcp(22)
From 60.32.nnn.yyy - 2 packets to tcp(45633)
From 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800)
---------------------- iptables firewall End -------------------------
--------------------- SSHD Begin ------------------------
Users logging in through sshd:
root:
123.xxx.ttt.zzz: 6 times
---------------------- SSHD End -------------------------
--------------------- Disk Space Begin ------------------------
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 450G 185G 241G 44% /
/dev/sda1 99M 35M 60M 37% /boot
---------------------- Disk Space End -------------------------
###################### Logwatch End #######################
منبع
: