ابزاهای متنوع به عنوان دیواره آتش , مانند iptables
ابزاهای متنوع به عنوان سیستم تشخیص نفوذ tripwire و snort
به دلیل امنیت نرم افزارهای آزاد/ متن باز (FOSS)
در دسترس بودن کد منبع
برنامه نویسان و کاربران نقاط آسیب پذیر را آسان تر کشف می کنند و می توانند ●قبل از آنکه مورد سوءاستفاده قرار گیرد، آنها را رفع کنند.
تمرکز بر امنیت به جای کاربر پسند بودن
قبل از آنکه قابلیتی به FOSS اضافه شود، امنیت آن مورد بررسی قرار می گیرد.
ریشه های تاریخی
سیستمهای مبتنی بر FOSS اغلب بر اساس چندکاربره بودن، شبکه و الگوی یونیکس بنا شده اند.
کسانی که با لینوکس کار کرده اند مطمعنا با پیام Permission Denied برخورد کرده اند
مجوز های فایل ها و دایرکتوری در لینوکس به این دلیل ایجاد شده اند که از دسترسی کاربران به فایل ها و اطلاعات خصوصی کاربران دگیر جلوگیری به عمل آورده و از فایل های سیستمی در مقابل آسیب دیدگی حفاظت کنند
به این علت به هر فایل 9 بیت اضافه می شود که معرف چگونگی دسترسی شما و دیگران به آن فایل خواهد بود
این بیت ها به صورت rwxrwxrwx نمایش داده می شوند
نخستین سه بیت تعیین کننده دسترسی مالک فایل است
سه بیت بعدی برای گروه مالک و سه بیت بعدی برای تعیین نحوه دسترسی دیگران است
r نشانگر خواندن ، w نشانگر نوشتن و x نشانگر اجرا کردن می باشد
در ثورتی که به جای یکی از این حروف علامت - نشان داده شود ، با این معنی است که این مجوز غیر فعال است
برای نمایش مجوز های هر فایل یا دایرکتوری از دستور ls -ld استفاده می کنیم
$ ls -ld index.php pooyasec
-rw-rw-r-- 1 pooyasec pooyasec 23156 Sep 23 09:58 index.php
drwxr-xr-x 1 pooyasec pooyasec 27276 Sep 23 10:04 pooyasec
در مثال بالا برای فایا index.php مجوز خواندن و نوشتن برای مالک و گروه وجود دارد. سایر کاربران فقط اجازه خواندن این فایل را دارند ، یعنی می توانند فایل را ببینند ولی نمی توانند هیچ تغییری روی آن انجام دهند
در خط دوم pooyasec یک دایرکتوری است ، اگر دقت کنید مجوز این دایرکتوری با حرف d به معنی دایرکتوری شروع شده است. مالک دایرکتوری دارای اجازه خواندن ، نوشتن و اجرا است ، در نتیجه تنها مالک می تواند فایل ها را در این دایرکتوری اضافه کرده ، تغییر داده و یا پاک کند
بقیه کاربران فقط اجازه خواندن دارند ، یعنی می توانند به این دایرکتوری وارد شده و محتویات ان را ببینند
در صورتی که شما مالک یک فایل باشد می توانید مجوز های آن را طبق نباز خودتان تنظیم کنید
برای این کار از دستور chmod استفاده می کنیم
برای هر یک از مجوز های خواندن ، نوشتن و اجرا عددی در نظر گرفته شده است. خواند 4 ، نوشتن 2 و اجرا 1
بنابراین برای اینکه تمام مجوز ها را به خودتان بدهید ، مقدار 3 بیت نخست باید 7 باشد ، یعنی 4+2+1
برای گروه و سایرین نیز می توانید بنا به نیازشان مجوز تعیین کنید ، مجوز ها بین 7 یعنی مجوز کامل و 0 یعنی هیچ مجوزی متغیر هستند
هنگامی که یک فایل ایجاد می کنید ف مجوز پیش گزیده ان 644 خواهد بود ، در مورد دایرکتوری این مجوز 755 می باشد
این مقادیر پیش گزیده توسط دستور umask تعیین می شود ، برای نمایش مقدار umask دستور زیر را اجرا کنید :
کد PHP:
$ umask
0022
کافی اعدادی که در دستور umask مشاهده می کنید ، از 7 کم کنید ، با این کار مقدار پیش گزیده را برای دایرکتوری مشاهده خواهید کرد ، در مورد فایل هه باید این عدد را از 6 کم کنید ، زیرا در مورد فایل ها به طور پیش گزیده مجوز اجرا با مقدار 1 غیر فعال است
برای تغییر Permission فایل ها و دایرکتوری ها دستور کلی به شکل زیر است :
$ chmod perm filname
$ chmod perm dirname
$ chmod 777 index.php
$ chmod 777 pooyasec
برای تغییر مجوز تعداد زیادی فایل یا دایرکتوری از سوییچ R اسنفاده می کنیم
برای مثل اگر بخواهیم تمام زیر مجموعه های دایرکتوری pooya را تغییر دهیم از دستور زیر کمک می گیریم :
کد PHP:
$ chmod -R 777 /home/pooyasec/public_html/pooya
پنهان کردن فایلها و پوشهها یک محکم کاری سریع است. در لینوکس فایلها و پوشهها با اضافه کردن یک نقطه "." به ابتدای اسمشان پنهان (Hidden) میشوند. بنابراین برای مثال فایل "Test" در یک مرورگر فایل نمایش داده میشود اما "Test." نه. اکثر کاربران نمیدانند که اجرای دستور "ls - a" فایلها و پوشههای پنهان را نمایش خواهد داد. در حالت گرافیکی هم با زدن همزمان دکمههای "Ctrl + H" میتوانید فایلها و پوشههای پنهان را ببینید. بنابراین اگر فایل و پوشههایی دارید که نمیخواهید همکارانتان آنها را ببینند، به راحتی میتوانید یک نقطه به ابتدای نام آنها بیافزایید. از خط فرمان هم میتوانید با اجرای این دستور این کار یعنی mv test .test از آن استفاده کنید.
نصب کردن نرمافزارهای اشتراک فایل یک سرازیری لغزنده است. بسیاری از کاربران لینوکس تمایل زیادی به اشتراک فایل دارند. اگر میخواهید این ریسک را در خانه انجام دهید، اشکالی ندارد. اما وقتی سر کار هستید، نه تنها راه را برای یک دعوا و مرافعه توسط شرکت با خودتان باز کردهاید، بلکه راه را برای کاربران دیگر نیز باز میگذارید که ممکن است به اطلاعات حساسی روی کامپیوترتان دسترسی داشته باشند. پس، به عنوان یک قانون، نرمافزارهای اشتراک فایل را نصب نکنید.
وجود SELinux کاربردهایی دارد. SELinux یا (Security-Enhanced Linux) به وسیله موسسه ملی امنیت آمریکا ایجاد شدهاست و به قفل کردن دسترسی به کنترل نرمافزارها کمک میکند. و این کار را بسیار خوب انجام میدهد. مطمئنا SELinux گاهی اوقات میتواند یک مزاحم باشد. در بعضی موارد ممکن است مقدار کمی کارآیی سیستم را کاهش دهد. یا اینکه ممکن است برخی نرمافزارها با وجود SELinux برای نصب دچار مشکل بشوند. به هر حال امنیتی که با نصب SELinux یا AppArmor شرکت Novell به دست میآورید به نکات منفیاش میارزد. در هنگام نصب فدورا امکان فعال کردن SELinux را دارید.
استفاده از یک محیط کاربری غیر متعارف به همان اندازه طلا میارزد! محیطهای کاربری جایگزین برای KDE و Gnome شامل Enlightenment, Blackbox, Fluxbox و غیره به کامپیوترتان یک احساس و جلوه جدید میبخشد و یک راه ساده جلوی پایتان میگذارد که جلوی چشمهای فضول را بگیرید! من از Fluxbox بر روی کامپیوتری استفاده کردم؛ وقتی میخواستم فقط یک کار انجام دهد: مرور در شبکه. این به راحتی قابل دستیابی است. یک منو برای موس برای نرمافزاری که میخواهید استفاده کنید ایجاد کنید. دیگران قادر به اجرای هیچ نرمافزاری نیستند به جز آن چیزی که توسط شما ارائه شده است. به هر حال اکثر کاربران هیچ ایدهای برای گشتوگذار در این محیطها ندارند.
OpenSSH جایگزینی برای سرویسهای telnet و ftp است که استراق سمع و ربودن ارتباط را نیز حذف مینماید و همه ارتباطات بین میزبانها را رمزگذاری میکند.