یارا فایل

مرجع دانلود انواع فایل

یارا فایل

مرجع دانلود انواع فایل

دانلود مقاله Linux توضیحات بیشتری در مورد لینوکس

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

دانلود مقاله Linux توضیحات بیشتری در مورد لینوکس


دانلود مقاله Linux توضیحات بیشتری در مورد لینوکس

 

 

 

 

 

 


فرمت فایل : word(قابل ویرایش)

تعداد صفحات:220

چکیده:

نصب لینوکس
قبل از نصب
1.    یک نسخه پشتیبان از کامپیوتر تهیه کنید
2.(defragmenter) کنید
3. برای باز کردن جا جهت Linux در کنار windows  هارد دیسک خود را دوباره پارتیشن بندی کنید تغیییر اندازه پارتیشن ها FAT و NTFS در ویندوز توسط
PartitionMagic
پس از نصب برنامه Partition Magic واجرای آن شکل  پارتیشن های هارد خود را خواهید دید
:برای نصب لینوکس نیاز به فضایی از هارد داریم . حداقل 2.2 GB برای نصب و 5 GB را به صورت Unallocated توسط partition Magic در می آوریم .
به عنوان مثال 5 GB را از درایو مورد نظر جدا می کنیم .
برای این کار روی درایو مورد نظر کلیک سمت راست کرده و Resize/Move را انتخاب می کنیم
..دیسک CD-ROM نصب را داخل درایو قرار دهید

2. کامپیوتر خود را بوت کنید
.
● پس از اعلان بوت ، در جلوی اعلان بوت کلید Enter را برای ورود به نصب گرافیکی،فشاردهید.
●صفحه خوش آمدگویی
    این صفحه آغاز فرایند نصب را به شما اعلام میکند. فقط کافی است روی کلید Next کلیک نمایید
● انتخاب زبان
   پس از آغاز برنامه نصب، اولین سوالی که پرسیده میشود، انتخاب زبان برنامه نصب است. زبان مورد نظر خود را انتخاب نموده و روی گزینه Next کلیک نمایید.
● انتخاب صفحه کلید
 نوع صفحه کلید خود را انتخاب نمایید. مثلا صفحه کلید 105 کلید و با کلیدهای انگلیسی
● ماوس
  نوع ماوسی که روی سیستمتان نصب شده است را انتخاب نمایید. انواع ماوسهای درگاه سریال و PS/2 و USB پشتیبانی میشوند. در صورتی که ماوس شما دو  کلید دارد ، میتوانید با انتخاب گزینه Emulate 3 buttons ، هنگام استفاده با نگه داشتن کلید Shift ، کلید سوم ماوس را شبیه سازی نمایید . کلید سوم توسط  برخی از برنامه های کاربردی لینوکس مورد نیاز میباشد
● انتخاب نوع نصب (Install Type)
   ایستگاه کاری (Workstation): کامپیوتر شما را بصورت خودکار پارتیشن بندی نموده و بسته های نرم افزاری لازم برای یک ایستگاه کاری را نصب می کند. یکی از  محیطهای گرافیکی GNOME و یا KDE نصب خواهند شد و برنامه X Window ساختارهای لازم برای اجرای آنها را فراهم می کند . محیط GNOME محیط گرافیکی پیش گزیده "لینوکس ردهت" است. شما میتوانید پس از نصب محیط KDE را نیز نصب نمایید.
● انتخاب استراتژی پارتیشن بندی (Partitioning)
   شما دو راه برای انتخاب نوع پارتیشن بندی دیسک سخت خود پیش رو دارید:
    - پارتیشن بندی خودکار : برنامه نصب به صورت خودکار عمل پارتیشن بندی را برای شما انجام خواهد داد . با این انتخاب تمام پارتیشن های لینوکس موجود روی دیسک سخت پاک شده و فضای خالی ایجاد شده برای پارتیشن بندی مورد استفاده قرار خواهد گرفت
-    پارتیشن بندی دستی توسط ابزار Disk Druid : با انتخاب این گزینه ابزار Disk Druid برای انجام عمل پارتیشن بندی اجرا خواهد شد.
● پارتیشن بندی خودکار
 
   1- پاک کردن تمام پارتیشن های لینوکس موجود (Remove all Linux partitions on this system)
   با انتخاب این گزینه پارتیشن های ویندوز و پارتیشن های غیر لینوکسی روی سیستم باقی خواهند ماند.
 2- پاک کردن تمام پارتیشن های موجود (Remove all partition on this system):
 تمام پارتیشن ها و اطلاعات موجود از میان خواهند رفت.
   3- حفظ تمام پارتیشن ها و استفاده از فضای خالی موجود (Keep all partitions and use existing free space) :
      این گزینه به شرطی کار خواهد کرد که شما فضای خالی کافی پارتیشن بندی نشده روی دیسک سخت خود داشته باشید.
● انتخاب برنامه بوت کننده (Boot Loader) :
 در این مرحله میتوانید یکی از برنامه های GRUB و یا LILO را انتخاب نمایید
   به خاطر داشته باشید حتماً گزینه Configure Advanced boot loader option را فعال کنید:
● پیکربندی شبکه (Network Configuration) :
   در صورت داشتن شبکه ، آن را پیکربندی کنید در غیر اینصورت Next را کلیک کنید

● انتخاب زبانهای قابل پشتیبانی (Language Support)
● انتخاب موقعیت زمانی (Time Zone)
● تنظیم کلمه عبور ریشه (Set root password) :
کلمه رمز باید حداقل دارای 6حرف باشد
● انتخاب بسته ها (Select Packages )
● شروع و کپی نصب
● تنظیم مانیتور


تنظیماتIP و شبکه در گنو / لینوکس

   در هرشبکه بطورمعمول نخستین لایه یعنی سخت افزار از یک کارت شبکه یا اترنت تشکیل شده و برای اینکه این کارت بعنوان یک رابط درمحیط شبکه بکارگرفته شود بایستی اولا آدرس واحدی تحت عنوان IP address به آن اختصاص یافته و ثانیا"بسته ها یا packet های اطلاعاتی برای رسیدن به این رابط مسیر دهی شوند که به این عمل routing گفته میشود.
   در اغلب توزیعهای لینوکس راههای خاصی برای انجام تنظیمات رابط یا کارت شبکه گنجانده شده که در اینجا روش ساده استفاده از فرامین متنی در محیط shell   بررسی میشود :
   باید دانست که هسته ا کرنل سیستم عامل لینوکس بطورپیش فرض از یک رابط مجازی یا loopback interface  (lo) بعنوان یک ابزار مجازی برای ارتباط با خود سیستم استفاده میکند .
   این ابزار مجازی بطور معمول IP  127.0.0.1 و نام localhost را برمی گزیند و در هنگام بوت سیستم بطور ازپیش تعریف شده فعال میگردد .
   قسمت اصلی سخت افزار شبکه یک رایانه کارت شبکه network interface میباشد که در محیط گنو/لییوکس معمولا با اسامی  eth0   یا  eth1  و ... بسته به تعداد کارتهای شبکه متصل به سیستم آدرس دهی و نامگذاری میشود.
   برای تنظیم IP   یک کارت شبکه بافرض اینکه این کارت اولین و تنها کارت شبکه نصب شده در سیستم است تنها چیزی که لازم داریم برنامه ifconfig  (interface configure) میباشد و میبایست بعنوان مثال از دستور زیر در محیط shell  با مجوز کاربر ریشه استفاده کنیم :

/sbin/ifconfig eth0 192.168.3.9 broadcast 192.168.3.255 netmask 255.255.255.0 #

   همانطوریکه ملاحظه میشود در اینجا یک IP  کلاس C  شامل آی پی اختصاص یافته به کارت شبکه 192.168.3.9  و یک پوشانه زیر شبکه کلاس c شامل 255.255.255.0 به کارت شبکه ما eth0   اختصاص می یابد . و آی پی broadcast  نیز شامل IP خاصی است که کلیه کامپیوترهای شبکه به آن پاسخ  میدهند و معمولا آخرین شماره آی پی یک کلاس شبکه میبا شد .
   در ادامه برای بررسی صحت عملیات انجام شده و عملکرد کارت شبکه از دستور ifconfig  به تنهائی استفاده کرده و پاسخ سیستم را که چیزی مشابه زیر خواهد بود مشاهده میکنیم :
/sbin/ifconfig #

eth0
Link encap:Ethernet HWaddr 00:00:E8:3B:2D:A2
inet addr:192.168.3.9 Bcast:192.168.3.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1359 errors:0 dropped:0 overruns:0 frame:0
5 TX packets:1356 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:11 Base address:0xe400
Lo
Link encap:Local Loopback
10 inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:3924 Metric:1
RX packets:53175 errors:0 dropped:0 overruns:0 frame:0
TX packets:53175 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
   دراین گزارش حتی آدرس سخت افزاری کارت شبکه eth0 هم  مشخص شده 00:00:E8:3B:2D:A2 که در نوع خود با توجه با سادگی دستورات داده شده نتایج جالبی به نظر میرسد .
   در این مرحله کارت شبکه فعال گردیده و آماده بکار میباشد و چون هیچ چیزی وجود ندارد که به هسته لینوکس بگوید که کدام بسته اطلاعاتی ارسال شده برروی شبکه به کدام کارت شبکه ارائه شود میبایست در ادامه برای آدرس دهی routing اینترفیس مربوطه در شبکه از دستور زیر یا مشابه آن باتوجه به آی پی مورد نظر هر کاربر استفاده کرد :
/sbin/route  add  -net  192.168.3.0  netmask  255.255.255.0  eth0 #

   بطور کلی اختصاص چند آدرس آی پی به یک اینترفیس شبکه در مواردی صورت میگیرد که یک کارت بخواهد همزمان با چند شبکه LAN  ارتباط برقرار کند و نبایستی فراموش کرد که پس از اختصاص یک آی پی جدید بایستی مسیردهی صحیح به این شبکه های جدید  یا همان  routing  بصورت فوق الذکر بدرستی صورت پذیرد .


خاموش کردن و راه اندازی مجدد سیستم لینوکس
   چنانچه سیستم خود را به طور صحیح خاموش کنید،Linux  فایلهای داده را ذخیره کرده و فرآیندهای در حال اجرا را متوقف میکند ضمنا به هسته مرکزی سیستم عامل یا kernel آسیب وارد نخواهد شد.
در این بخش دو روش صحیح خاموش کردن سیستم، توضیح داده میشود:
1- از طریق رابط گرافیکی :X از دکمه منوی اصلی پانل، گزینه Logout را انتخاب کرده و سپسLogout ، Halt یا Reboot را انتخاب کنید .همچنین میتوانید پیکربندی جاری را ذخیره کنید، این کار بدین معنی است که برنامه هایی که هنگام Logout در حال اجرا هستند، زمان ورود مجدد به سیستم به طور خود کار اجرا خواهند شد.
اگر هر یک از گزینه های Halt یا Reboot را انتخاب کنید، باید کلمه عبور ورود به سیستم را بعد از زدن دکمه OK وارد کنید تا صحت انتخاب شما معلوم شود .
2 - از طریق اعلان فرمان :در یک پنجرهXterm ، فرمان shutdown - r now یا shutdown - h now را تایپ کنید -r .به معنی reboot و -h به معنی halt یا خاموش کردن کامل سیستم است، البته باید کلمه عبورتان را قبل از اجرای این فرامین وارد کنید .
3 - از طریق صفحه :login به Option=>System بروید و از آنجا میتوانید سیستمتان را halt یا راه اندازی مجدد کنید و نیاز به وارد کردن کلمه عبور ندارید.

یک میانبر برای راه اندازی مجدد
   یکی از سریعترین روشها برای راه اندازی مجدد سیستمتان، فشردن همزمان کلیدهای
 trl+Alt+Del  c از یک کنسول مجازی است .
   یک کنسول مجازی در واقع یک رابط مبتنی بر متن و برعکس رابط گرافیکی سیستم پنجرهای X است .چندین کنسول مجازی برای شما در دسترس هستند اما آسان ترین آنها از نظر به خاطرسپاری شاید روش میانبر باشد .شما میتوا نید به وسیله زدن کلیدهای Ctrl+Alt+F  به آن دسترسی یابید .

بازگشت به رابط گرافیکی:
   برای بازگشت به رابط گرافیکی از یک کنسول مجازی، فقط کلیدهای Ctrl+Alt+F1 را بزنید
   برای راه اندازی مجدد سیستم از یک کنسول مجازی، ابتدا به وسیله زدن کلیدهای Ctrl+Alt+F1 به یک کنسول مجازی منتقل شوید، سپس کلیدهای Ctrl+Alt+Del را برای راه اندازی مجدد سیستم فشاردهید.


آشنایی با مفاهیم شبکه و پروتکلها
   برای اینکه بدانیم در پشت این صفحه هایی که  مدام در اینترنت عوض میکنیم چیزهایی قرار دارد و چه برنامه ها و پروتکلهایی این دنیا را برای ما بوجود آورده اند مقاله حاضر شروع خوبی خواهد بود.
در دنیای شبکه ها کلمه پروتکل به معنی قوا نینی است که برای انتقال پیامها بر روی شبکه وضع شده است بنابراین اینطور فکر کنید که یک پروتکل قانونی است که کامپیوترها برای صحبت کردن با یکدیگر بر روی شبکه باید رعایت کنند ، یک پروتکل شبکه باید دارای قوانین مربوط به اعلام وصول پیام ، پیدا کردن خطا و ساختار اطلاعات باشد .
   برای درک بهتر پروتکل مثالی ساده می زنیم تا با مفهوم پروتکل کاملاً آشنا بشوید ، برای مثال وقتی شما بخواهید با یک نفر آلمانی صحبت بکنید و شما به زبان آلمانی تسلط ندارید و نه آن فرد به زبان فارسی مسلط است ولی هردو نفر به زبان انگلیسی مسلط هستند می توانند با این زبان با هم صحبت کنند و مطالب را به هم بفهمانند بنابراین در اینجا زبان انگلیسی پروتکلی بین آن دو نفر است و وظیفه پروتکل در شبکه هم همین است ، پروتکلها هستند که شبکه ها را تشکیل میدهند ، از آنحایی که TCP/IP عمومی ترین پروتکلی است که درحال حاضر در شبکه اینترنت از آن استفاده می شود قلب این درس مربوط به این پروتکل معروف است ولی قبل از آن قصد داریم تا توضیح مختصری راجع به مدل مرجع OSI و هفت لایه آن بدهیم .
   در سال 1980 یک سازمان بین المللی استانداردسازی ، طرحی را بنامOpen System Interconnection(OSI) بوجود آورد که آن مدل براساس لایه بندی پروتکل پایه گذاری شده بود و کار این مدل به این صورت بود که وقتی دو کامپیوتر می خواهند با هم ارتباط برقرار کنند سریهایی از قسمتهای کوچک استاندارد نرم افزاری روی هر سیستم برای بهتر کردن این ارتباط عملیاتی انجام می دهند ، برای مثال یک قسمت برای حصول اطمینان از اینکه داده به طور مناسب بسته بندی شده است تلاش می کند و قسمت دیگر از فرستادن پیامهای گم شده به طور مجرد مراقبت می کند و قسمتهای دیگر نیز پیامها را در سراسر شبکه می فرستند .
    هر کدام از این قسمتها که تحت عنوان لایه از آنها یاد می شود کار مشخصی برای انجام این ارتباطات دارند و به این قسمتهای ارتباطی که با هم استفاده می شوند پشته پروتکل یا Protocol Stack می گویند و به این دلیل که آنها شامل گروهی از این لایه ها هستند که به روی هم سوار شده اند . مدل OSI از هفت نوع از این لایه ها تشکیل شده که هر کدام نقش مشخص و معینی در انتقال داده ها در شبکه دارند که یادگیری کار این لایه ها برای درک مفهوم شبکه لازم و مفید است

مدل مرجع OSI

1 - لایه فیزیکی (Physical Layer) : این لایه تقریباً ساده ترین لایه است و بطور کلی کار این لایه ایجاد ارتباط بین دو تا Device است مانند ارتباط شما به وسیله مودم به ISP خودتان که در حقیقت این لایه به شما امکان ایجاد ارتباط بین دو وسیله الکترونیکی را میدهد .
2- لایه پیوند داده ها (Data link layer) : این لایه بسته ها و پیامها را در طول شبکه از هر کامپیوتر به سیستم دیگر انتقال و حرکت میدهد ، برای مثال این لایه ها روی کامپیوتر بسته ها را از کامپیوتر شما به مسیریاب شبکه محلی شما حرکت میدهد و بعد Router با استفاده از این لایه داده را به مسیریاب بعدی ا نتقال میدهد ، قسمتی از برنامه های Firewall یا دیواره آتش که کار محافظت از سیستمها را با کنترل رفت و آمد بسته ها انجام میدهند بر روی این لایه پیوند داده ها نگهداری میشوند و همینطور تمامی برنامه های Sniffer و یا ردیابها از این لایه برای دزدیدن اطلاعات کارت اعتباری و رمزهای عبور استفاده میکنند .
3- لایه شبکه (Network Layer) : این لایه به پروتکل اینترنت یا IP وابسته است و هدف آن فرستادن پیامها از کامپیوتر منبع داده شده به ماشین یا سیستم نهایی داده شده در طول شبکه میباشد و در کل این لایه مشخص میکند که هر بسته یا Packet به کدام آدرس اینترنتی یا آی پی مرتبط است ، برنامه هایی مانند Ping و یا Netstat از این لایه استفاده میکنند .
4- لایه انتقالی (Transport Layer) : این لایه اطمینان حاصل میکند که بسته ها به مکان مناسب روی سیستم مقصد تحویل داده شده اند یا خیر و این لایه برای تهیه جریان ارتباطی قابل اعتماد بین دو سیستم که شامل انتقال دوباره پیامهای گم شده , قرار دادن آنها درجای مناسب و نظارت و بازرسی خطاها استفاده میشود و دراین لایه پروتکل کنترل انتقال TCP و پروتکل دیتاگرام کاربر یا همان UDP و همینطور پروتکل SPX 3 قرار دارند و از مهمترین نمادهای این لایه بشمار میروند .
5- لایه جلسه (Session Layer) : کار و فعالیت این لایه نسبت به لایه های دیگر کمتر است و این لایه نشستهایی را بین ما شینهای ارتباطی با کمک به شروع نگهداری و مدیریت آنها هماهنگ میکند .
6- لایه نمایشی (Presentation Layer) : این لایه کار ترجمه اطلاعات را برعهده دارد و برای مثال اگر شما قصد ایجاد شبکه VPN بین دو سیستم را داشته باشید این لایه اطلاعات را EBCDIC به ASCII کراکتر تبدیل و ترجمه میکند و یا برعکس .
7- لایه برنامه کاربردی (Applictation Layer) : این لایه یکی از مهمترین لایه های OSI هست و به عنوان پنجره ای به کانال ارتباطی برای برنامه کاربردی و البته با توصیف داده ها و تبدیل آنها به اطلاعات با مفهوم برای برنامه های کاربردی عمل میکند و متشکل از برنامه های خاصی است که سعی میکنند با استفاده از TCP/IP در طول شبکه باهم ارتباط برقرار کنند ، برنامه هایی مانند سرور و کلاینت Telnet - سرور و کلاینت FTP و Http و Netbios و Mail سرورها و خیلی از برنامه های کاربردی در این لایه قرار دارند و به همین دلیل این لایه مورد علاقه هکرهاست و اکثراً نفوذ به سایتها و سرورها از طریقه حفره های آسیب پذیر در این برنامه های کاربردی صورت میگیرد


توصیه های مهم امنیتی در مورد یونیکس و لینوکس
   سیستم عامل، یکی از عناصر بسیار مهم و حیاتی در نحوه مدیریت منابع سخت افزاری و نرم افزاری است . پرداختن به مقوله  امنیت سیستم های عامل ، همواره از بحث های مهم در رابطه با ایمن سازی اطلاعات در یک سیستم کامپیوتری بوده که امروزه با گسترش اینترنت ، اهمیت آن مضاعف شده است . بررسی و آنالیز امنیت در سیستم های عامل می بایست با ظرافت و در چارچوبی کاملا" علمی و با در نظر گرفتن تمامی واقعیت های موجود ، انجام تا امکان نگهداری و پشتیبانی سیستمها با در نظر گرفتن مجموعه تهدیدات موجود و آتی  ، بسرعت و بسادگی میسر گردد .اکثر حملات موفقیت آمیز در اینترنت ، بدلیل وجود نقاط آسیب پذیر در تعدادی  اندک  از سرویس های سیستم  های عامل متداول است . مهاجمان ، با فرصت طلبی خاص خود از روش  های متعددی بمنظور سوء استفاده از نقاط ضعف امنیتی شناخته شده ، استفاده نموده  و در این راستا ابزارهای  متنوع ، موثر و گسترده ای را بمنظور نیل به اهداف خود ، بخدمت می گیرند . مهاجمان ، در این رهگذر متمرکز بر سازمان ها و موسساتی می گردند که هنوز مسائل موجود امنیتی ( حفره ها و نقاط آسیب پذیر ) خود را برطرف نکرده و بدون هیچگونه تبعیضی آنان را بعنوان هدف ، انتخاب می نمایند پس  با شناسائی و آنالیز اینگونه نقاط آسیب پذیر توسط کارشناسان امنیت اطلاعات ، سازمان ها و موسسات قادر به استفاده از مستندات علمی تدوین شده بمنظور برخورد منطقی با مشکلات موجود و ایجاد یک دیوار حفاظتی مناسب می باشند.
لینوکس و یونیکس ، از سیستم های عامل رایج در جهان بوده که امروزه در سطح بسیار وسیعی استفاده می گردد . تا کنون حملات متعددی توسط مهاجمین متوجه سیستم هائی بوده است که از یونیکس ( نسخه های متفاوت )  بعنوان سیستم عامل استفاده می نمایند . با توجه به حملات متنوع و گسترده انجام شده ، بایستی نحوه مقابله با این حملات و تهدیدات شناخته شده و راههای نفوذ سریعا ترمیم گردد و کاملا مسدود گردد .
   عوامل متعددی در بروز اینگونه حملات نقش دارد: عدم آگاهی لازم مدیران سیستم در خصوص ارتقاء امنیتی سیستم هائی که بر روی آنان نرم افزارهای مدیریت اطلاعات شبکه نصب یا بصورت غیر ضروری  اجراء می گردد و پیکربندی نامناسب برنامه ها ، نمونه هائی از عوامل فوق بوده و  می تواند زمینه  یک تهاجم از نوع DoS  ، یک Buffer Overflow را فراهم سازد .
   بمنظور حفاظت سیستم و ترمیم سریعتر نقاط آسیب پذیر موارد زیر پیشنهاد می گردد :
•    همیشه آخرین نسخه نرم افزارها  ارائه شده  را دریافت و آن را  بر روی سیستم نصب نمائید.
•    بمنظور بهنگام سازی سیستم بایستی  از تمامی Patch های ارائه شده توسط تولید کنندگان استفاده و در صورت امکان آن نرم افزار را به آخرین نسخه موجود ارتقاء دهید . برای دریافت اطلاعات تکمیلی از مقالات ارائه شده درسایت امنیتی CERT و بخش UNIX Security Checklist ، استفاده نمائید .
•    فایروال موجود برروی سیستم را دقیقا نصب و با توجه به نیازهای امنیتی خود در سطح مناسب پیکربندی نمائید .
•    پورت های غیر ضروری یا در معرض تهدید را در سطح روتر و یا فایروال با توجه به توصیه های امنیتی موجود در رفرانسهای امنیتی بلاک block نمائید .
•    آندسته از نرم افزارهای غیر ضروری که بصورت پیش فرض هنگام نصب سیستمهای عامل نصب میگردند  و هیچ گونه استفاده عملی ندارند را غیر فعال نمائید.  
•    بمنظور پیچیده تر نمودن حملات اتوماتیک و یا جلوگیری از پویش غیر مجاز سیستم توسط مهاجمین ، به توصیه های امنیتی تهیه کنندگان نرم افزارها در سایتهای مربوطه یا سایر سایتهای امنیتی لینوکس و یونیکس دقیقا عمل کنید و هیچ نکته ای را از قلم نیندازید.
•    اکیدا استفاده از account هائی با رمز عبور ضعیف و یا فاقد رمز عبور را مسدود کنید . چون رمز عبور دارای نقشی حیاتی و اساسی در ایجاد اولین سطح دفاع در یک سیستم اطلاعاتی بوده  و از دست رفتن رمز عبور و یا  ضعف آن می تواند سیستم را در معرض تهدیدات جدی قرار دهد . مهاجمان پس از دستیابی به رمز عبور کاربران تائید شده ( استفاده از مکانیزم های متفاوت ) قادر به دستیابی منابع سیستم و حتی تغییر در تنظیمات سایر account های تعریف شده و موجود بر روی سیستم خواهند بود،عملیاتی که می تواند پیامدهای بسیار منفی را بدنبال داشته باشد .
در صورتیکه از account هائی استفاده می شود که بین کاربران متعدد و یا کارکنان موقت  یک سازمان به اشتراک  گذاشته شده و یا کاربران از رمزهای عبور بدرستی حفاظت ننمایند، پتانسیل نفوذ به شبکه توسط یک مهاجم فراهم می گردد.
•    از یک برنامه پویشگر بهنگام شده  که قادر به بررسی دقیق سیستم های رایانه ای بمنظور تشخیص نقاط  آسیب باشد استفاده کنید. ( استفاده از نرم افرارها یا سایتهای خاص )
•    با عضویت در گروه های خبری نظیر Symantec  برای آگاهی از آخرین هشدارهای امنیتی اطلاعات خود را بهنگام نگاه دارید .
•    پیاده سازی و استفاده از امکانات رمزنگاری نظیر OpenSSH درسرویسهای شبکه نظیر telnet ، SMTP ، POP3، IMAP ، rlogin ، HTTP ، و ....



مراحل BOOT یا آغاز کاریک سستم عامل گنو /
لینوکس - 2
   (در ادامه مقاله قبلی) : هسته kernel  سیستم عامل لینوکس سپس هریک از برنامه های کاربردی خود و نصب شده روی سیستم را یکی پس از دیگری اجرا نموده و در صورتی که در مورد هر برنامه ها همه چیز درست کارکند  برنامه بعدی را به اجرا می گذارد.
   در مرحله نخست هسته  kernel  میبایست فایل initrd  یانامی مشابه حاوی عبارت init را به اجرا گذارد که حاوی اطلاعات مهمی مثل نام برنامه های کاربردی و فایلها و یا سایر موضوعات مرتبط با کامپیوتر است.
   بعد از اینکه هسته کرنل فایل init را به اجرا گذاشت دیگر هیچ برنامه دیگری را اجرا نخواهد کرد و مدیریت عملیات سیستم را کاملا بعنوان مدیر سرویس دهنده کامپیوتر و نه بعنوان یک برنامه اجرا شده بدست می گیرد.
   برای اینکه ببینیم بعداز مراحل بالاآمدن هسته سیستم عامل  کامپیوتر چه عملیاتی را انجام میدهد باید نگاهی به مراحل اجرای init بیندازیم . درحال عادی init‌ کامپیوتر را وامیدارد که وارد یک سری عملیات پیچیده شود که در انواع کامپیوترها باهم متفاوت خواهند بود .
   برای لینوکس نسخه های متفاوتی از init‌ وجود دارد که هر نسخه یک سری عملیات خاص خودرا انجام میدهد . این عملیات بستگی کامل به نوع توزیع مورد استفاده در هنگام نصب لینوکس و قرارگرفتن یا نگرفتن کامپیوتر برروی شبکه network  دارد . در هر صورت تعدادی از عملیات روتین که موقع اجرای کدهای init برروی کامپیوتر به اجرا گذاشته میشوند عبارتند از :
•         سیستم فایل مورد استفاده برروی هاردیسک بررسی میشود . فایل سیستم ها مثل EX3  یا EX2  یا FAT به کرنل خواهند گفت که چه قسمتی از هارد دیسک حاوی اطلاعات و چه قسمتی شامل فضای خالی است . متاسفانه بنابه دلائلی همچون قطع ناگهانی جریان برق ممکن است فایل سیستم در شناسائی فضای آزاد یا استفاده شده هارددیسک دچار اشتباه شده و این خطا به از دست رفتن دائمی اطلاعات منجر گردد . (به همین دلیل است که ماهرگز نباید کامپیوتر خودرا بدون طی مراحل استاندارد shut down  خاموش کنیم) . البته تعدادی برنامه اختصاصی مثل fsck  برای تصحیح خطاهای ایجاد شده در این قبیل موارد طراحی گردیده و سیستم لینوکس یا کاربران آن بصورت دستی یا اتوماتیک خواهند توانست تاحد زیادی این خطاهای ایجاد شده را ترمیم کنند .
•         برنامه های مسیر یاب routing‌ شبکه برای کاربرروی شبکه اجرا میگردند .
•         فایلهای موقت temporary ایجاد شده توسط برخی برنامه های کاربردی پاکسازی میشوند .
•         ساعت و تقویم سیستم system clock با اطلاعات موجود از طریق GMT  و ساعت بایوس به روز میگردد . در این مرحله ساعت بومی تنظیم شده برروی سیستم شما در اولویت قرار دارد .
   بعد از به اتمام رسیدن فعالیتهای init  و انجام روندهای مشابه فوق الذکر در پروسه boot-up  به مرحله اجرا و انجام پروسه ها و برنامه های زمان بندی شده میرسیم .
در این مرحله نقش init  بعنوان سرپرست parent  سایر روندها در سیستم لینوکس قطعی است .
   در unix   یک پروسه را به سادگی میتوان با اجرای یک برنامه مقایسه کرد و چون هربرنامه بارها و بارها میتواند اجرا شود و نقشهای متفاوتی را بعهده بگیرد پس دویا چند پروسه را میتوان برای یک برنامه واحد مشاهده کرد .باید اذعان کرد که تعداد بسیار زیادی پروسه و زیر پروسه ها در این مرحله به اجرا گذاشته میشوند . بعنوان مثال یکی از پروسه های احضار شده Fork نام دارد و پروسه Fork  خود شامل پروسه های متعدد دیگری در داخل خود میباشد .


نصب سیستم عامل لینوکس وفارسی نویسی در محیط لینوکس :

    سیستم عامل قدرتمند و جذاب لینوکس خصوصا redhat مقاله حاضر را که در خصوص چگونگی نصب و فارسی نویسی در لینوکس بوده و حاصل کاوشهای بسیار و گزینش بهترین موضوعات در اینترنت است ..

   هشدار : اگر شما مایلید از سیستم عامل ویندوز و لینوکس بصورت در کنار هم در یک سیستم استفاده کنید، سعی کنید ابتدا ویندوز را نصب نموده و سپس لینوکس ردهت را نصب نمایید. برخی از نسخه های ویندوز با دستکاری MBR دیسک سخت باعث میشوند تا لینوکس ردهت از کار بیافتد. اگر ویندوز یا لینوکس ردهت را نصب کردید و پس از نصب متوجه شدید که یکی از سیستم عاملها کار نمی کند، هول نشده و عملیات نصب را مجددا انجام ندهید. شما میتوانید این اشکال را با بوت توسط دیسک بوت لینوکس ردهت و با استفاده از فرامین نصب گراب یا لیلو سیستم عامل مورد نظر را فعال نموده و این اشکال را برطرف نمایید. در صورتی که قادر به این کار نیستید از یک حرفه ای کمک بگیرید.

 


دانلود با لینک مستقیم

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

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

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


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

 

 

 

 

 

 

 



فرمت فایل : word(قابل ویرایش)

تعداد صفحات:132

 مقدمه:

چه بخواهیم چه نخواهیم، کامپیوتر جزیی از زندگی روزمره ما شده است. حتماً‌ شما تا به حال کلیپی را با کامپیوتر تماشا کرده‌اید، از آهنگی با کیفیت دیجیتال لذت برده‌اید، متنی را تایپ کرده‌اید یا شبی را به گشت و گذار در دنیای اینترنت یا چت رومها به صبح رسانده‌اید! بستر اجرایی همه این برنامه‌ها، برنامه‌ای مادر، به نام سیستم عامل است. به احتمال زیاد شما یکی از نسخه‌های ویندوز مایکروسافت مانند ویندوز 98 یا XP را استفاده می‌کنید. آیا تا به حال برایتان پیش نیامده که کامپیوترتان خود به خود Rest شود یا یک روز صبح که کامپیوتر اداره‌تان را روشن می‌کنید. ویندوز بالا نمی‌آید.

آیا تا به حال به فکر امتحان کردن سیستم عامل دیگری افتاده‌اید؟‌ یک سیستم عامل با کارایی بیشتر:‌ یک سیستم عامل امن، چند منظوره، قابل اعتماد و کاربردی به معنای واقعی کلمه، البته مقصود تولیدات شرکت انحصار طلب مایکروسافت یا سیستم عامل صنعتی یونیکس (UNIX)‌ و یا سیستم گرانقیمت اپل مکینتاش (Apple Macintosh) نیست. ما می‌خواهیم از سیستم عامل دیگری صحبت کنیم:‌

سیستم عامل آزاد لینوکس linux

اگرچه لینوکس خالق مشخصی ندارد، ولی این لینوس توروالدز (linus Torvalds) دانشجوی فنلاندی بود که در 215 آگوست 1991، این راه را آغاز کرد. او از همان ابتدا رویای ایجاد یک سیستم عامل open source یا متن باز با کارایی بالا، ضریب اطمینان فوق‌العاده و امنیت باور نکردنی را در سر می‌پروراند، صحبت از من باز با کارایی بالا، ضریب اطمینان فوق‌العاده و امنیت باور نکردنی را در سر می‌پروراند. صحبت از متن باز بودن لینوکس به میان آمد؛ کسانی که تا اندازه‌ای با زبانهای برنامه‌نویسی آشنایی دارند می‌دانند که سیستم عاملهایی مانند ویندوز مایکروسافت که خود را در دسترس همگان قرار نمی‌دهند و آنچه که کاربران خریداری می‌کنند، تنها برنامه قابل اجرایی است که هیچ اطلاعاتی از جزئیات درونی کارکرد سیستم عامل را نمی‌توان از آن فهمید. اما در مورد لینوکس وضع به گونه دیگری است؛ به این صورت که sorce یا کد لینوکس برای کلیه علاقه‌مندان و برنامه‌نویسان باز و قابل تغییر و بهینه‌سازی است.

 لینوس توروالدز هسته لینوکس موسوم به کرنل را تحت امتیاز Gpl: GNU General public license منتشر کرد، طبق این امتیاز که در برابر امتیاز انحصارطلبانه کپی‌رایت (copy right)‌ کپی لفت (copy left) نامیده می‌شود،‌ کاربران و برنامه‌نویسان اجازه هر گونه دخل و تصرف در کد برنامه‌ها، استفاده مجدد از کل یا بخشی از برنامه‌ها در برنامه‌ای دیگر و فرش یا پخش مجدد برنامه‌ها را دارند؛ به شرط اینکه ماهیت باز متن برنامه‌ها تحدید نشود و تمام حقوق کپی لفت به خریدار نیز منتقل شود.

 لینوکس در ایران

حدود دو سال است که دولت جمهوری اسلامی ایران پروژه‌ای را برای فارسی‌سازی لینوکس و نهایتاً تولید سیستم عامل ملی تدوین کرده است. تصویب این طرح به پیشنهاد مرکز فناوری اطلاعات و ارتباطات پیشرفته شریف (AICTC) و با مدیریت این مرکز انجام شد. این پروژه از پنج پروژه زیر تشکیل شده است:

1ـ توسعه نرم‌افزارهای منبع آزاد

2ـ تدوین استراتژی استفاده از نرم‌افزارهای منبع آزاد

3ـ پروژه لینوکس فارسی

4ـ توسعه کاربردیهای لینوکس

5ـ تشکیل انجمن open source ایران

 طبق برنامه زمان‌بندی شده نیمه سال 2006 میلادی باید شاهد اتمام این پروژه باشیم!

لینوکس: یکی از زیباترین دستاوردهای بشری

لینوکس در سایه همکاری و تبادلات علمی هزاران نفر در سرتاسر جهان ایجاد شده و توسعه یافته است. گستردگی این مشارکت به قدری است که سیستم عامل لینوکس را زیباترین دستاورد همکاری جمعی بشر نامیده‌اند. فرهنگی که بر جامعه لینوکس و متن باز حاکم است فرهنگ یاری، اشتراک اطلاعات و تلاش برای بهبود هر چه بیشتر محصولات است. هر کس می‌خواهد با این سیستم عامل کار کند، باید تمامی دیدگاه‌ها و عقاید قبلی خود را درباره نرم‌افزار و سیستم عامل کنار بگذارد و

با یک دیدگاه جدید وارد دنیای لینوکس شود، چون لینوکس در جهانی با فرهنگ متفاوت زندگی می‌کند.

 فصل اول

تاریخچه لینوکس

تاریخچه لینوکس

شروع داستان لینوکس

در سال 1991 در حالی که جنگ سرد رو به پایان می‌رفت و صلح در افقها هویدا می‌شد، در دنیای کامپیوتر، آینده بسیار روشنی دیده می‌شد. با وجود قدرت سخت‌افزارهای جدید، محدودیتهای کامپیوترها رو به پایان می‌رفت. ولی هنوز چیزی کم بود … و این چیزی نبود جز فقدانی عمیق در حیطه سیستمهای عامل.

داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی‌استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Gates Bill) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه‌های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می‌ساخت.

خیمه‌گاه دیگر دنیای کامپیوترها، دنیای یونیکس به خودی خود بسیار گرانقیمت بود. آنقدر گرانقیمت که کاربران کامپیوترهای شخصی جرات نزدیک شدن به آنرا نداشتند. کد منبع یونیکس که توسط آزمایشگاههای بل بین دانشگاهها توزیع شده بود، محتاطانه محافظت می‌شد تا برای عموم فاش نشود. برای حل شدن این مسئله، هیچیک از تولید‌کنندگان نرم‌افزار راه حلی ارائه ندادند.

بنظر می‌رسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تانناوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده‌های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هر کس که کتاب سیستم عامل تاننباوم را تهیه می‌کرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا می‌کرد. برای نخستین بار، یک برنامه‌نویس یا هکر مشتاق می‌توانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم‌افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند و یکی از آنها بینوس توروالدز نام داشت.


دانلود با لینک مستقیم

پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس

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

پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس


پایان نامه مهمترین نقاط آسیب پذیر یونیکس و لینوکس

 

 

 

 

 

 

 


فرمت فایل : word(قابل ویرایش)

تعداد صفحات:169

فهرست مطالب:

مقدمه. ۴

وظایف سیستم عامل. ۸

مدیریت حافظه و فضای ذخیره سازی.. ۱۵

مدیریت دستگاهها ۱۷

اینترفیس کاربر. ۲۱

مهمترین نقاط آسیب پذیر یونیکس و لینوکس.. ۲۲

مقدمه. ۲۲

مهمترین نقاط آسیب پذیر یونیکس: ۲۴

اولین نقطه آسیب پذیر : BIND Domain Name System.. 25

سیستم های عامل در معرض تهدید : ۲۷

نحوه تشخیص آسیب پذیری سیستم ۲۷

دومین  نقطه آسیب پذیر :  ( Remote Procedure Calls (RPC.. 29

سیستم های عامل در معرض تهدید : ۳۰

نحوه تشخیص آسیب پذیری سیستم : ۳۰

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۳۱

سومین نقطه آسیب پذیر :  Apache Web Server : 32

سیستم های عامل در معرض تهدید ۳۲

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۳۳

چهارمین نقطه آسیب پذیر : account 38

سیستم ها ی در معرض آسیب پذیر: ۴۰

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۴۲

پنجمین نقطه آسیب پذیر :  :Clear Text Services. 48

سیستم های عامل در معرض تهدید : ۴۹

نحوه تشخیص آسیب پذیری سیستم : ۵۰

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۵۱

ششمین نقطه آسیب پذیر : : Sendmail 52

سیستم های عامل در معرض تهدید : ۵۳

نحوه تشخیص آسیب پذیری سیستم : ۵۳

نحوه حفاظت در مقابل نقطه آسیب پذیر: ۵۴

هفتمین نقطه آسیب پذیر : ( Simple Network Management Protocol (SNMP. 55

سیستم های عامل در معرض تهدید ۵۸

نحوه تشخیص آسیب پذیری سیستم ۵۸

نحوه حفاظت در مقابل نقطه آسیب پذیر  : ۵۹

حفاظت در مقابل  درخواست های آسیب رسان  و تهدید کننده : ۵۹

حفاظت در مقابل رشته های قابل حدس : ۶۰

هشتمین نقطه آسیب پذیر :( Secure Shell (SSH.. 61

سیستم های عامل در معرض تهدید ۶۲

نحوه تشخیص آسیب پذیری سیستم ۶۲

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۶۳

نهمین نقطه آسیب پذیر : عدم پیکربندی مناسب سرویس های NIS/NFS. 64

سیستم های عامل در معرض تهدید : ۶۶

نحوه تشخیص آسیب پذیری سیستم : ۶۶

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۶۷

دهمین نقطه آسیب پذیر : ( Open Secure Sockets Layer (SSL.. 70

سیستم های عامل در معرض تهدید ۷۱

نحوه تشخیص آسیب پذیری سیستم ۷۱

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۷۱

توصیه های مهم امنیتی در مورد یونیکس و لینوکس… ۷۲

معرفی  ویندوز ۲۰۰۰ و ۲۰۰۳٫ ۷۶

خانواده Windows 2000 Server 77

خانواده Windows .NET Server 2003. 81

مهمترین نقاط آسیب پذیر ویندوز : ۸۴

مقدمه. ۸۴

مهمترین نقاط آسیب پذیر ویندوز : ۸۶

اولین نقطه آسیب پذیر :  ( Internet Information Services (IIS. 87

سیستم های عامل در معرض تهدید : ۸۹

نحوه تشخیص آسیب پذیری سیستم ۹۰

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۹۱

دومین  نقطه آسیب پذیر :  ( Microsoft SQL Server (MSSQL.. 93

سیستم های عامل در معرض تهدید : ۹۸

نحوه تشخیص آسیب پذیری سیستم ۹۹

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۹۹

مهمترین نقاط آسیب پذیر ویندوز. ۱۰۴

در بخش اول این مقاله به بررسی دو مورد از نقاط آسیپ پذیر ویندوز پرداخته گردید . در این بخش به بررسی سومین نقطه آسیب پذیر ویندوز ، اشاره می گردد.   سومین نقطه آسیب پذیر :   Windows Authentication. 104

نحوه حفاظت در مقابل نقطه آسیب پذیر : ۱۰۹

چهارمین نقطه آسیب پذیر:  (Internet Explorer (IE.. 123

سیستم های عامل در معرض تهدید ۱۲۳

نحوه تشخیص آسیب پذیر ی سیستم ۱۲۴

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۲۴

ایمن سازی IE.. 125

پنجمین  نقطه آسیب پذیر : Windows Remote Access Services. 126

دستیابی از راه دور به  ریجستری  ویندوز. ۱۲۹

نحوه تشخیص  آسیب پذیری سیستم ۱۳۰

نحوه حفاظت درمقابل مسائل Anonymouse logon  . ۱۳۶

تشریح ریجستری ویندوز. ۱۳۶

نحوه حفاظت در مقابل دستیابی به ریجستری سیستم ۱۳۷

نحوه حفاظت سیستم در مقابل مسائل مرتبط با RPC.. 140

ششمین  نقطه آسیب پذیر :  ( Microsoft Data Access Components (MDAC.. 141

سیستم های عامل در معرض تهدید ۱۴۳

نحوه تشخیص آسیب پذیر ی سیستم ۱۴۳

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۴۴

هفتمین  نقطه آسیب پذیر :  (Windows Scripting Host (WSH.. 145

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۴۷

غیرفعال نمودن WSH.. 147

آنتی ویروس ها ۱۴۹

مجوزهای                NTFS. 150

هشتمین  نقطه آسیب پذیر :    Microsoft Outlook ,Outlook Express. 151

سیستم های عامل در معرض تهدید ۱۵۲

نحوه تشخیص آسیب پذیر ی سیستم ۱۵۴

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۵۴

آموزش کاربران. ۱۵۵

آنتی ویروس.. ۱۵۶

نهمین  نقطه آسیب پذیر :  (Windows Peer to Peer File Sharing (P2P. 159

نحوه تشخیص آسیب پذیر ی سیستم ۱۶۱

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۶۲

دهمین  نقطه آسیب پذیر : ( Simple Network Management Protocol (SNMP ) 163

سیستم های عامل در معرض تهدید ۱۶۵

نحوه تشخیص آسیب پذیری سیستم ۱۶۶

نحوه حفاظت در مقابل نقطه آسیب پذیر. ۱۶۷

حفاظت در مقابل  درخواست های آسیب رسان  و تهدید کننده : ۱۶۷

حفاظت در مقابل رشته های قابل حدس.. ۱۶۸

 

مقدمه:

سیستم عامل بدون شک مهمترین  نرم افزار در کامپیوتر است . پس از روشن کردن کامپیوتر اولین نرم افزاری که مشاهده می گردد سیستم عامل بوده و آخرین نرم افزاری که  قبل از خاموش کردن کامپیوتر مشاهده خواهد شد، نیز سیستم عامل است . سیستم عامل نرم افزاری است که امکان اجرای تمامی برنامه های کامپیوتری را فراهم می آورد. سیستم عامل با سازماندهی ، مدیریت و کنترل منابع  سخت افزاری امکان استفاده بهینه و هدفمند آنها را فراهم می آورد. سیتم عامل فلسفه بودن سخت افزار را بدرستی تفسیر  و در این راستا امکانات متعدد و ضروری جهت حیات سایر برنامه های کامپیوتری را فراهم می آورد.

تمام کامپیوترها از سیستم عامل استفاده نمی نمایند. مثلا”  اجاق های مایکرویو که در آشپزخانه استفاده شده دارای نوع خاصی از کامپیوتر بوده که از سیستم عامل استفاده نمی نمایند. در این نوع سیستم ها بدلیل انجام عملیات محدود و ساده، نیازی به وجود سیستم عامل نخواهد بود. اطلاعات ورودی و خروجی با استفاده از دستگاههائی نظیر صفحه کلید و نمایشگرهای LCD ، در اختیار سیستم گذاشته می گردند. ماهیت عملیات انجام شده در یک اجاق گاز مایکروویو بسیار محدود  و مختصر است، بنابراین همواره یک برنامه در تمام حالات و اوقات اجراء خواهد شد.

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

سیستم عامل با ساده ترین تحلیل و بررسی دو عملیات اساسی را در کامپیوتر انجام می دهد :

–  مدیریت منابع نرم افزاری و سخت افزاری یک سِستم کامپیوتری را برعهده دارد. پردازنده ، حافظه، فضای ذخیره سازی  نمونه هائی از منابع اشاره شده می باشند .

– روشی پایدار و یکسان برای دستیابی و استفاده  از سخت افزار را بدو ن نیاز از جزئیات عملکرد هر یک از سخت افزارهای موجود را برای برنامه های کامپیوتری فراهم می نماید 

اولین وظیفه یک سیستم عامل،  مدیریت منابع سخت افزاری و نرم افزاری است . برنامه های متفاوت برای دستیابی به منابع سخت افزاری نظیر: پردازنده ، حافظه،  دستگاههای ورودی و خروجی، حافطه های جانبی، در رقابتی سخت شرکت خواهند کرد.  سیستم های عامل بعنوان یک مدیر عادل و مطمئن زمینه استفاده بهینه از منابع موجود را برای هر یک از برنامه های کامپیوتری فراهم می نمایند.

وظیفه دوم یک سیستم عامل ارائه یک رابط ( اینترفیس ) یکسان برای سایر برنامه های کامپیوتری است . در این حالت زمینه استفاده بیش از یک نوع کامپیوتر از سیستم عامل فراهم شده و در صورت بروز تغییرات در سخت افزار سیستم های کامپیوتری نگرانی خاصی از جهت اجرای برنامه وجود نخواهد داشت، چراکه سیستم عامل بعنوان میانجی بین برنامه های کامپیوتری و سخت افزار ایفای وظیفه کرده و مسئولیت مدیریت منابع سخت افزاری به وی سپرده شده است .برنامه نویسان کامپیوتر نیز با استفاده از نقش سیستم عامل بعنوان یک میانجی براحتی برنامه های خود را طراحی و پیاده سازی کرده و در رابطه با اجرای برنامه های نوشته شده بر روی سایر کامپیوترهای مشابه  نگرانی نخواهند داشت . ( حتی اگر میزان حافظه موجود در دو کامپیوتر مشابه نباشد ) . در صورتیکه سخت افزار یک کامپیوتر بهبود و ارتقاء یابد، سیستم عامل این تضمین را ایجاد خواهد کرد که برنامه ها، در ادامه بدون بروز اشکال قادر به ادامه حیات وسرویس دهی خود باشند. مسئولیت مدیریت منابع سخت افزاری برعهده سیتم عامل خواهد بود نه برنامه های کامپیوتری، بنابراین در زمان ارتقای سخت افزار یک کامپیوتر مسئولیت سیتستم عامل در این راستا اولویت خواهد داشت . ویندوز 98 یکی از بهترین نمونه ها در این زمینه است . سیستم عامل فوق بر روی سخت افزارهای متعدد تولید شده توسط تولیدکنندگان متفاوت اجراء می گردد.  ویندوز 98 قادر به مدیریت و استفاده از هزاران نوع چاپگر دیسک و سایر تجهیزات جانبی است .

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

– سیستم عامل بلادرنگ (RTOS). از این نوع سیستم های عامل برای کنترل  ماشین آلات صنعتی ، تجهیزات علمی و سیستم های صنعتی استفاده می گردد. یک سیستم عامل بلادرنگ دارای امکانات محدود در رابطه با بخش رابط کاربر و برنامه های کاربردی مختص کاربران می باشند.  یکی از بخش های مهم این نوع سیستم های عامل ، مدیریت منابع موجود کامپیوتری بگونه ای است که یک عملیات خاص در زمانی که می بایست ، اجراء خواهند شد. 

– تک کاربره – تک کاره . همانگونه که از عنوان این نوع سیستم های عامل مشخص است، آنها بگونه ای طراحی شده اند که قادر به مدیریت کامپیوتر بصورتی باشند که یک کاربر در هر لحظه قادر به انجام یک کار باشد. سیستم عامل Palm OS برای کامپیوترهای PDA نمونه ای مناسب از یک سیستم عامل مدرن تک کاربره و تک کاره است . 

– تک کاربره – چندکاره . اکثر سیستم های عامل استفاده شده در کامپیوترهای شخصی از این نوع می باشند. ویندوز 98 و MacOS  نمونه هائی در این زمینه بوده که امکان اجرای چندین برنامه بطور همزمان را برای یک کاربر فراهم می نمایند. مثلا” یک کاربر ویندوز 98 قادر به تایپ یک نامه با استفاده از یک واژه پرداز بوده و در همان زمان اقدام به دریافت یک فایل از اینترنت نموده و در همان وضعیت محتویات نامه الکترونیکی خود را برای چاپ بر روی چاپگر ارسال کرده باشد.

– چندکاربره . یک سیستم عامل چند کاربره ، امکان استفاده همزمان چندین کاربر از منابع موجود کامپیوتر را فراهم می آورند. منابع مورد نیاز هر یک از کاربران می بایست توسط سیستم عامل بدرستی مدیریت تا  در صورت بروز اشکال در منابع تخصیص یافته به یک کاربر، بر روند استفاده سایر کاربران از منابع مورد نظر اختلالی ایجاد نگردد. یونیکس، VMS و سیستم های عامل کامپیوترهای بزرگ نظیر MVS نمونه هائی از سیستم های عامل چندکاربره می باشند. 

در اینجا لازم است که به تفاوت های موجود  سیستم های عامل ” چند کاربر ” و ” تک کاربر”  در رابطه با امکانات شبکه ای اشاره گردد.  ویندوز 2000 و ناول قادر به حمایت از صدها و هزاران کاربر شبکه می باشند این نوع سیستم های عامل بعنوان سیستم عامل چند کاربره واقعی در نظر گرفته  نمی شوند.

در ادامه با توجه به شناخت مناسب بوجود آمده در دررابطه با انواع سیستم های عامل به عملیات و وظایف سیستم عامل اشاره می گردد.

وظایف سیستم عامل

پس از روشن نمودن کامپیوتر، لولین برنامه ای که اجراء می گردد ، مجموعه دستوراتی می باشند که در حافظه ROM ذخیره و مسئول بررسی صحت عملکرد امکانات سخت افزاری موجود می باشند. برنامه فوق (POST) ، پردازنده ، حافظه و سایر عناصر سخت افزاری را بررسی خواهد کرد . پس از بررسی موفقیت آمیز برنامه POST ، در ادامه درایوهای ( هارد ، فلاپی ) سیستم فعال خواهند شد. در اکثر کامپیوترها  ، پس از فعال شدن هارد دیسک ، اولین بخش سیستم عامل با نام Bootstrap Loader فعال خواهد شد. برنامه فوق صرفا” دارای یک وظیفه اساسی است : انتقال ( استقرار ) سیستم عامل در حافظه اصلی و امکان اجرای آن . برنامه فوق عملیات متفاوتی را بمنظور استفرار سیستم عامل در حافظه انجام خواهد داد.

سیستم عامل دارای وظایف زیر است :

  • مدیریت پردازنده
  • مدیریت حافظه
  • مدیریت دستگاهها ( ورودی و خروجی )
  • مدیریت حافظه جانبی
  • اینترفیس برنامه های کاربردی
  • رابط کاربر

وظایف شش گانه فوق ، هسته عملیات در اکثر سیستم های عامل است . در ادامه به تشریح  وظایف فوق اشاره می گردد :

 مدیریت پردازنده

مدیریت پردازنده دو وظیفه مهم اولیه زیر را دارد :

  • ایجاد اطمینان که هر پردازه و یا برنامه به میزان مورد نیاز پردازنده را برای تحقق عملیات خود ، اختیار خواهد کرد.
  • استفاده از بیشترین سیکل های پردازنده برای انجام عملیات

ساده ترین واحد نرم افزاری  که سیستم عامل بمنظور زمانبندی پردازنده با آن درگیر خواهد شد ، یک پردازه و یا یک Thread خواهد بود. موقتا” می توان یک پردازه را مشابه یک برنامه در نظر گرفت ، در چنین حالتی مفهوم فوق ( پردازه ) ، بیانگر یک تصویر واقعی از نحوه پردازش های مرتبط با سیستم عامل و سخت افزار نخواهد بود. برنامه های کامپیوتری ( نظیر واژه پردازها ، بازیهای کامپیوتری و …) در حقیقت خود یک پردازه می باشند ، ولی برنامه های فوق ممکن است از خدمات چندین پردازه دیگر استفاده نمایند. مثلا” ممکن است یک برنامه از پردازه ای بمنظور برقراری ارتباط با سایر دستگاههای موجود در کامپیوتر استفاده نماید. پردازه های فراوان دیگری نیز وجود دارد که با توجه به ماهیت عملیات مربوطه ، بدون نیاز به محرک خارجی ( نظیر یک برنامه ) فعالیت های خود را انجام می دهند. یک پردازه ، نرم افزاری است که عملیات خاص و کنترل شده ای را انجام می دهد. کنترل یک پردازه ممکن است توسط کاربر ، سایر برنامه های کاربردی و یا سیستم عامل صورت پذیرد.

سیستم عامل با کنترل و زمانبندی مناسب پردازه ها زمینه استفاده از پردازنده را برای آنان ، فراهم  می نماید. در سیستم های ” تک – کاره ” ، سیستم زمانبندی بسیار روشن و مشخص است . در چنین مواردی،  سیستم عامل امکان اجرای برنامه را فراهم و صرفا” در زمانیکه کاربر اطلاعاتی را وارد و یا سیستم با وقفه ای برخورد نماید ، روند اجراء متوقف خواهد شد. وقفه ، سیگنال های خاص ارسالی توسط نرم افزار و یا سخت افزار برای  پردازنده می باشند. در چنین مواردی منابع صادر کننده وقفه درخواست برقراری یک ارتباط زنده با پردازنده برای اخذ سرویس و یا سایر مسائل بوجود آمده ، را می نمایند. در برخی حالات سیستم عامل پردازه ها  را با یک اولویت خاص زمانبندی می نماید . در چنین حالتی هر یک از پردازه ها با توجه به اولویت نسبت داده شده به آنان ، قادر به استفاده از زمان پردازنده خواهند بود. در اینچنین موارد ، در صورت بروز وقفه ، پردازنده آنها را نادیده گرفته و تا زمان عدم تکمیل عملیات مورد نظر توسط پردازنده ، فرصت پرداختن به وقفه ها وجود نخواهد داشت . بدیهی است با توجه به نحوه برخورد پردازنده ( عدم توجه به وقفه ها ) ، در سریعترین زمان ممکن عملیات و فعالیت جاری پردازنده به اتمام خواهد رسید. برخی از وقفه ها با توجه به اهمیت خود ( نظیر بروز اشکال در حافظه و یا سایر موارد مشابه ) ، قابل اغماص توسط پردازنده نبوده و می بایست صرفنظر از نوع و اهمیت فعالیت جاری ،  سریعا” به وقفه ارسالی پاسخ مناسب را ارائه گردد.

پردازنده ، با توجه به سیاست های اعمال شده سیستم عامل و بر اساس یک الگوریتم خاص ، در اختیار پردازه های متفاوت قرار خواهد گرفت . در چنین مواردی پردازنده مشغول بوده و برای اجراء ، پردازه ای را در اختیار دارد. در زمانیکه پردازنده درگیر یک پردازه است ، ممکن است وقفه هائی از منابع متفاوت نرم افزاری و یا سخت افزاری محقق گردد. در چنین وضعیتی با توجه به اهمیت و جایگاه یک وقفه ، پردازنده برخی از آنها را نادیده گرفته و همچنان به فعالیت جاری خود ادامه داده و در برخی موارد با توجه به اهمیت وقفه ، فعالیت جاری متوقف و سرویس دهی به وقفه آغاز خواهد شد.

در سیستم های عامل ” تک – کاره ” ، وجود وقفه ها و نحوه مدیریت آنها در روند اجرای پردازه ها تاثیر و پیچیدگی های خاص خود را از بعد مدیریتی بدنبال خواهد داشت . در سیستم های عامل |”چند – کاره ” عملیات بمراتب پیچیده تر خواهد بود. در چنین مواردی می بایست این اعتقاد بوجود آید که چندین فعالیت بطور همزمان در حال انجام است . عملا” پردازنده در هر لحظه قادر به انجام یک فعالیت است و بدیهی است رسیدن به مرز اعتقادی فوق ( چندین فعالیت بطور همزمان ) مستلزم یک مدیریت قوی و طی مراحل پیچیده ای خواهد بود.  در چنین حالتی لازم است که پردازنده در مدت زمان یک ثانیه هزاران مرتبه از یک پردازه به پردازه ه دیگر سوئیچ  تا امکان استفاده چندین پردازه از پردازنده را فراهم نماید . در ادامه نحوه انجام عملیات فوق ، تشریح می گردد :

  • یک پردازه بخشی از حافظه RAM را اشغال خواهد کرد
  • پس از استفرار بیش از یک پردازه در حافظه ، پردازنده بر اساس یک زمانبندی خاص ، فرصت اجراء را به یکی از پردازه ها خواهد داد.
  • پردازنده ، بر اساس تعداد سیکل های خاصی پردازه را اجراء خواهد کرد .
  • پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و …) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام می نماید.
  • پردازنده در ادامه اطلاعات ذخیره شده در رابطه با پردازه دیگر را فعال ( ریجسترها و …) و زمینه اجرای پردازه دوم فراهم می گردد.
  • پس ازاتمام تعداد سیکل های مربوطه ، پردازنده وضعیت پردازه ( مقایر ریجسترها و …) را ذخیره و به پردازه اتمام زمان مربوطه را اعلام و مجددا” پردازه اول جهت اجراء فعال خواهد گردید.

تمام اطلاعات مورد نیاز بمنظور مدیریت یک پردازه در  ساختمان داده ای خاص با نام PCB)Process Control Block) ، نگهداری می گردد. پردازنده در زمان سوئیچ بین پردازه ها ، از آخرین وضعیت هر پردازه  با استفاده از اطلاعات ذخیره شده در PCB آگاهی پیدا کرده و در ادامه زمینه اجرای پردازه مورد نظر بر اساس تعداد سیکل های در نظر گرفته شده فراهم خواهد شد. برای هر پردازه یک PCB ایجاد و اطلاعات زیر در آن ذخیره خواهد گردید :

  • یک مشخصه عددی (ID) که نمایانگر پردازه خواهد بود .
  • اشاره گری که نشاندهنده آخرین محل اجرای پردازه است
  • محتویات ریجستر ها
  • وضعیت سوئیچ ها و متغیرهای مربوطه
  • اشاره گره هائی که حد بالا و پایین حافظه مورد نیاز پردازه را مشخص خواهد کرد.
  • اولویت پردازه
  • وضعیت دستگاههای ورودی و خروجی مورد نیاز پردازه

هر زمان که اطلاعات مربوط به پردازه ای تغییر یابد ، ( پردازه از حالت “آماده ” تبدیل به حالت “اجراء ” و یا از حالت ” اجراء ” به حالت “انتظار” و یا “آماده ” سوئیچ نماید ) اطلاعات ذخیره شده در PCB استفاده و بهنگام خواهند شد.

عملیات جایگزینی پردازها،  بدون نظارت و ارتباط مستقیم کاربر انجام و هر پردازه به میزان کافی از زمان پردازنده برای اتمام عملیات خود استفاده خواهد کرد. در این راستا ممکن است ، کاربری قصد اجرای تعداد بسیار زیادی از پردازه ها را بسورت همزمان داشته باشد. در چنین مواردی است ، پردازنده خود نیازمند استفاده از چندین سیکل زمانی برای ذخیره و بازیابی اطلاعات مربوط به هر یک از پردازه ها خواهد بود .در صورتیکه سیستم عامل با دقت طراحی نشده باشد و یا پردازه های زیادی فعالیت خود را آغاز کرده باشند ، مدت زمان زیادی از پردازنده صرف انجام عملیات سوئیچینگ بین پردازها شده و عملا” در روند اجرای پردازها اختلال ایجاد می گردد. وضعیت بوجود آمده فوق را Thrashing می گویند. در چنین مواردی کاربر می بایست نسبت به غیرفعال نمودن برخی از پردازه ها اقدام تا سیستم مجددا” در وضعیت طبیعی قرار گیرد.

یکی از روش هائی که طراحان سیستم عامل از آن استفاده تا امکان ( شانس) تحقق Thrashing را کاهش  دهند ، کاهش نیاز به پردازه های جدید برای انجام فعالیت های متفاوت است . برخی از سیستم های عامل ازیک  ” پردازه -lite ” با نام Thread استفاده می نمایند.  Thread از لحاظ کارآئی همانند یک پردازه معمولی رفتار نموده ولی نیازمند عملیات متفاوت ورودی و خروجی و یا ایجاد ساختمان داده PCB مشابه یک پردازه عادی نخواهد بود. یک پردازه ممکن است باعث اجرای چندین Threads و یا سایر پردازه های دیگر گردد. یک Thread نمی تواند باعث اجرای یک پردازه گردد.

تمام موارد اشاره شده در رابطه با زمانبندی با فرض وجود یک پردازنده مطرح گردیده است . در سیستم هائی که دارای دو و یا بیش از دو پردازنده می باشند ، سیستم عامل حجم عملیات مربوط به هر گردازنده را تنظیم و مناسب ترین روش اجراء برای یک پردازه در نظر گرفته شود .  سیستم های عامل نامتقارن ، از یک پردازنده برای انجام عملیات مربوط به سیستم عامل استفاده و پردازه های مربوط به برنامه های کاربردی را بین سایر پردازه ها تقسیم می نمایند. سیستم های عامل متقارن ،  عملیات مربوط به خود و عملیات مربوط به سایر پردازه ها را بین پردازه های موجود تقسیم می نمایند. در این راستا سعی می گردد که توزیع عملیات برای هر یک از پردازه ها بصورت متعادل انجام گردد.


دانلود با لینک مستقیم

پایان نامه سیستم عامل لینوکس (linux)

اختصاصی از یارا فایل پایان نامه سیستم عامل لینوکس (linux) دانلود با لینک مستقیم و پرسرعت .

پایان نامه سیستم عامل لینوکس (linux)


پایان نامه سیستم عامل لینوکس (linux)

 

 

 

 

 

 

 

 



فرمت فایل : word(قابل ویرایش)

تعداد صفحات:204

فهرست مطالب :

 چکیده فارسی................................................................................................................................................................. 1

مقدمه................................................................................................................................................................................ 2           

فصل اول(معرفی و آشنایی با تاریخچه سیستم عامل لینوکس)............................................................................. 3

 کودک جدید در افق.......................................................................................................................................................... 6

 مقایسه و توسعه................................................................................................................................................................. 9

پس از یک دهه : لینوکس امروز ....................................................................................................................................... 11

از میزکار تا ابرکامپیوترها.................................................................................................................................................... 12

توکس پنگوئن : نشان عزیز لینوکس................................................................................................................................. 13

فصل دوم (کاربرد سیستم عامل لینوکس در تلفن های همراه)............................................................................... 14

مزایای لینوکس همراه .......................................................................................................................................................                                                   ............................................................................................................................................................................................               15

 معایب لینوکس همراه....................................................................................................................................................... 16

 لینوکس MontaVista در Motorola........................................................................................................................ 16

 OpenMoko.................................................................................................................................................................. 17

فصل سوم (آموزش کامل نصب سیستم عامل لینوکس)........................................................................................... 18

مزایای لینوکس همراه .......................................................................................................................................................                                                   ............................................................................................................................................................................................               15

 معایب لینوکس همراه....................................................................................................................................................... 16

 لینوکس MontaVista در Motorola........................................................................................................................ 16

 OpenMoko.................................................................................................................................................................. 17

فصل چهارم (امنیت در سیستم عامل لینوکس)........................................................................................................ 22

خطاهای هفت گانه.............................................................................................................................................................                                                   ............................................................................................................................................................................................               23

فصل پنجم (مقایسه ویندوز با لینوکس و برتری های لینوکس نسبت به ویندوز)................................................. 28

مزیت های لینوکس در مقابل ویندوز................................................................................................................................. 29

 واسطه نمای متنی............................................................................................................................................................. 33

 هزینه‌ها.............................................................................................................................................................................. 33

 دستیابی به سیستم‌عامل................................................................................................................................................... 33

 اجرای برنامه از طریق سی دی.......................................................................................................................................... 34

 نرم‌افزار کاربردی................................................................................................................................................................ 34

 

 نصب نرم‌افزارهای کاربردی................................................................................................................................................ 35

ویروس‌ها و جاسوس‌ها........................................................................................................................................................ 35

 کاربران و اسم رمز.............................................................................................................................................................. 35

 خطاهای برنامه‌ای.............................................................................................................................................................. 35

 استفاده از سخت افزار و نرم افزار در ویندوز و لینوکس‌..................................................................................................... 36

 لینوکس ‌‌در‌ برابر ‌‌ویندوز ابزارهای سخت افزاری پشتیبانی شده....................................................................................... 36

سخت افزار سیستم عامل.................................................................................................................................................... 36

کاربران پرشمار................................................................................................................................................................... 37

 گنو/لینوکس: سیستم عاملی حرفه‌ای‌................................................................................................................................ 37

 گنو/لینوکس: بهشت برنامه‌نویسان.................................................................................................................................... 38

شبکه‌بندی.......................................................................................................................................................................... 38

تقسیم بندی دیسک سخت................................................................................................................................................ 38

فایل‌های ذخیره شده بر روی دیسک سخت‌...................................................................................................................... 39

درجه‌بندی فایل‌ها  ............................................................................................................................................................ 39

شبکه‌بندی.......................................................................................................................................................................... 39

فایل‌های مخفی................................................................................................................................................................... 39

داده‌های کاربر..................................................................................................................................................................... 40

انتخاب لینوکس به‌جای ویندوز.......................................................................................................................................... 40

مقایسه امنیت ویندوز با لینوکس....................................................................................................................................... 40

بررسی و مقایسه سیستم‌ عامل های ویندوز 7 و اوبونتو.................................................................................................... 43

فصل آخر نتیجه گیری و پیشنهادات ....................................................................................................................... 46

فهرست منابع................................................................................................................................................................... 48

چکیده انگلیسی ............................................................................................................................................................. 50

 

چکیده:

مفاهیم پایه ای

تاریخچه لینوکس

آغاز داستان

در سال 1991 در حالی که جنگ سرد رو به پایان میرفت و صلح در افقها هویدا میشد، در دنیای کامپیوتر، آینده بسیار روشنی دیده میشد. با وجود قدرت سخت افزارهای جدید، محدودیت های کامپیوترها رو به پایان میرفت. ولی هنوز چیزی کم بود…

و این چیزی نبود جز فقدانی عمیق در حیطه سیستم های عامل.

داس، امپراطوری کامپیوترهای شخصی را در دست داشت. سیستم عامل بی استخوانی که با قیمت 50000 دلار از یک هکر سیاتلی توسط بیل گیتز (Bill Gates) خریداری شده بود و با یک استراتژی تجاری هوشمند، به تمام گوشه های جهان رخنه کرده بود. کاربران PC انتخاب دیگری نداشتند. کامپیوترهای اپل مکینتاش بهتر بودند. ولی قیمتهای نجومی، آنها را از دسترس اکثر افراد خارج می ساخت.

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

بنظر میرسید این راه حل به صورت سیستم عامل MINIX ارائه شد. این سیستم عامل، که از ابتدا توسط اندرو اس. تاننباوم (Andrew S. Tanenbaum) پروفسور هلندی، نوشته شده بود به منظور تدریس عملیات داخلی یک سیستم عامل واقعی بود. این سیستم عامل برای اجرا روی پردازنده های 8086 اینتل طراحی شده بود و بزودی بازار را اشباع کرد.

بعنوان یک سیستم عامل، MINIX خیلی خوب نبود. ولی مزیت اصلی آن، در دسترس بودن کد منبع آن بود. هرکس که کتاب سیستم عامل تاننباوم را تهیه میکرد، به 12000 خط کد نوشته شده به زبان C و اسمبلی نیز دسترسی پیدا میکرد. برای نخستین بار، یک برنامه نویس یا هکر مشتاق میتوانست کد منبع سیستم عامل را مطالعه کند. چیزی که سازندگان نرم افزارها آنرا محدود کرده بودند. یک نویسنده بسیار خوب، یعنی تاننباوم، باعث فعالیت مغزهای متفکر علوم کامپیوتری در زمینه بحث و گفتگو برای ایجاد سیستم عامل شد. دانشجویان کامپیوتر در سرتاسر دنیا با خواندن کتاب و کدهای منبع، سیستمی را که در کامپیوترشان در حال اجرا بود، درک کردند.

و یکی از آنها لینوس توروالدز (Linus Torvalds) نام داشت.

 کودک جدید در افق

در سال 1991، لینوس بندیکت توروالدز (Linus Benedict Torvalds) دانشجوی سال دوم علوم کامپیوتر دانشگاه هلسینکی فنلاند و یک هکر خود آموخته بود. این فنلاندی 21 ساله، عاشق وصله پینه کردن محدودیت هایی بود که سیستم را تحت فشار قرار میدادند. ولی مهمترین چیزی که وجود نداشت یک سیستم عامل بود که بتواند نیازهای حرفه ای ها را براورده نماید. MINIX خوب بود ولی فقط یک سیستم عامل مخصوص دانش آموزان بود و بیشتر به عنوان یک ابزار آموزشی بود تا ابزاری قدرتمند برای بکار گیری در امور جدی.

در این زمان برنامه نویسان سرتاسر دنیا توسط پروژه گنو (GNU) که توسط ریچارد استالمن (Richard Stallman) آغاز شده بود، تحریک شده بودند. هدف این پروزه ایجاد حرکتی برای فراهم نمودن نرم افزارهای رایگان و در عین حال با کیفیت بود. استالمن خط مشی خود را از آزمایشگاه معروف هوش مصنوعی دانشگاه MIT با ایجاد برنامه ویرایشگر emacs در اواسط و اواخر دهه 70 آغاز نمود. تا اوایل دهه 80، بیشتر برنامه نویسان نخبه آزمایشگاههای هوش مصنوعی MIT جذب شرکتهای نرم افزاری تجاری شده بودند و با آنها قرارداد های حفظ اسرار امضا شده بود. ولی استالمن دیدگاه متفاوتی داشت. وی عقیده داشت برخلاف سایر تولیدات، نرم افزار باید از محدودیت های کپی و ایجاد تغییرات در آن آزاد باشد تا بتوان روز به روز نرم افزارهای بهتر و کارآمد تری تولید نمود.

با اعلامیه معروف خود در سال 1983، پروژه GNU را آغاز کرد. وی حرکتی را آغاز کرد تا با فلسفه خودش به تولید و ارائه نرم افزار بپردازد. نام GNU مخفف GNU is Not Unix است. ولی برای رسیدن به رویای خود برای ایجاد یک سیستم عامل رایگان، وی ابتدا نیاز داشت تا ابزارهای لازم برای این کار را ایجاد نماید. بنابراین در سال 1984 وی شروع به نوشتن و ایجاد کامپایلر زبان C گنو موسوم به GCC نمود. ابزاری مبهوت کننده برای برنامه نویسان مستقل. وی با جادوگری افسانه ای خود به تنهایی ابزاری را ایجاد نمود که برتر از تمام ابزارهایی که تمام گروههای برنامه نویسان تجاری ایجاد کرده بودند قرار گرفت. GCC یکی از کارآمد ترین و قویترین کامپایلرهایی است که تا کنون ایجاد شده اند.

تا سال 1991 پروزه GNU تعداد زیادی ابزار ایجاد کرده بود ولی هنوز سیستم عامل رایگانی وجود نداشت. حتی MINIX هم لایسنس شده بود. کار بر روی هسته سیستم عامل گنو موسوم به HURD ادامه داشت ولی به نظر نمی رسید که تا چند سال آینده قابل استفاده باشد.

این زمان برای توروالدز بیش از حد طولانی بود…

 لینوکس در جهان سوم

ورود لینوکس به کشورهای جهان سوم تحولی ایجاد نموده است. قبل از وجود لینوکس کشورهای جهان سومی در زمینه کامپیوتر در سطح بسیار پایین تری قرار داشتند. هزینه سخت افزارها بسیار پایین آمده بود ولی هزینه نرم افزار برای این گونه کشورها همچنان کمر شکن بود. این امر باعث شد تا در بسیاری از این کشورها کپی غیر مجاز نرم افزارها گسترش پیدا کند که باعث میلیاردها دلار خسارت سالیانه میشود. یکی از عمده ترین دلایل این کار پایین بودن درآمد سرانه در این کشورهاست. هنگامی که مجموع درآمد سرانه سالیانه بیش از 200 تا 300 دلار نیست، هیچگاه امکان خرید یک سیستم عامل 100 دلاری وجود نخواهد داشت.

طلوع لینوکس و سایر تولیدات باز متن، این وضعیت را تغییر داده است. این امکان وجود دارد تا بتوان لینوکس را در کامپیوترهای قدیمی 486 و پنتیوم که اکنون در کشورهای توسعه یافته به تاریخ پیوسته اند ولی هنوز در کشورهای درحال توسعه از آنها استفاده میشود، اجرا نمود. همچنین استفاده از نرم افزارهای رایگان بازمتن گسترش یافته تا جلوی هزینه های سرسام آور نرم افزاری این کشورها را بگیرد.

امروزه در کشورهای آسیایی، آفریقایی و آمریکای لاتین استفاده از لینوکس و نرم افزارهای بازمتن گسترش فراوانی یافته و با استفاده از خصلت ذاتی تغییر پذیری لینوکس، برای استفاده از زبانهای ملی این کشورها سفارشی شده است. امروزه مستندات لینوکس به اکثر زبانهای زنده جهان ترجمه شده اند.

از میزکار تا ابرکامپیوترها

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

 داستان ادامه دارد

حرکت لینوکس از یک پروزه هکری تا جهانی شدن یک انقلاب شگفت انگیز است. پروزه GNU که در اوایل دهه 1980 توسط ریچارد استالمن شروع شد، توسعه نرم افزارهای بازمتن را رهبری نمود. پروفسور اندرو تاننباوم و سیستم عامل MINIX او مطالعه سیستم عامل ها را از حالت تئوری به عملی تبدیل نمود و در نهایت همت و تلاش توروالدز منجر به تولد لینوکس شد. امروزه لینوکس دیگر یک پروزه هکری به شما نمی رود بلکه یک حرکت جهانی است که توسط میلیونها نفر برنامه نویس بازمتن و شرکتهای بزرگی مانند IBM حمایت میشود. لینوکس در تاریخ کامپیوتر به عنوان یکی از شگفت انگیز ترین محصولات تلاش بشری باقی خواهد ماند.

 توکس پنگوئن : نشان عزیز لینوکس

نشان لینوکس یک پنگوئن است. برخلاف سایر سیستم عاملهای تجاری، این نشان زیاد جدی نیست! توکس نشانگر وضعیت بدون نگرانی حرکت لینوکس است. این نشان تاریخچه بسیار جالبی دارد. لینوکس در ابتدا فاقد هر گونه نشانی بود. هنگامی که توروالدز برای تعطیلات به استرالیا رفته بود، در دیداری که از یک باغ وحش داشت، هنگامی که می خواست با یک پنگوئن بازی کند، پنگوئن دست وی را گاز گرفت و همین ایده ای شد تا از پنگوئن به عنوان نشان لینوکس استفاده شود.

 راهنمای کامل خط فرمان لینوکس

ظاهر پوسته فرمان

در صورتی که لینوکس شما فاقد محیط گرافیکی است و یا اکنون محیط گرافیکی آن در حال اجرا نیست، شما باید دستورات خود را از طریق پوسته فرمان به سیستم عامل ارسال کنید. نخستین چیزی که در پوسته فرمان مشاهده میکنید، اعلان فرمان است که بصورت علامت $ میباشد. اعلان فرمان برای کاربر ریشه بصورت # است. در بیشتر سیستمهای لینوکس قبل از اعلان فرمان نام کاربری شما و نام کامپیوترتان قرار میگیرد که بصورت زیر نشان داده میشود :

[alan@memphis home]$

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

تایپ دستورات در محیط پوسته فرمان بسیار آسان میباشد. برای اینکه با محیط پوسته فرمان آشنا شوید، سعی کنید با دستوراتی که در زیر بررسی میشوند، تمرین کنید.

 نکته: در صورتی که هنگام راه اندازی سیستم، بجای پوسته فرمان محیط گرافیکی لینوکس اجرا میشود، برای تایپ فرامین پوسته باید از Terminal یا Konsole استفاده کنید. میتوانید در منوی run، فرمان xterm را نیز تایپ کنید.

 در مثالهای زیر علامتهای $ و # نشان دهنده اعلان فرمان میباشند. پس تایپ هر فرمان باید کلید Ebter را فشار دهید و خروجی آن فرمان در خطوط پس از آن نمایش داده خواهد شد.

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

هنگامی که وارد سیستم لینوکس میشوید، برای سیستم دارای یک هویت خاص هستید. این هویت شامل نام کاربری شما، نام گروه شما، شماره کاربری شما و شماره گروه شماست. همچنین لینوکس اطلاعات زمان ورود به سیستم، مدت حضور، مدت بیکاری و محل ورود شما به سیستم را نگهداری میکند. (حواستان را جمع کنید!)

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

$ id

uid=500(Alan) gid=500(Alan) groups=500(Alan)

 خروجی فرمان نشان میدهد که نام کاربر Alan بوده که عضو گروه Alan است و شماره های کاربری و گروه آن ۵۰۰ میباشد.

با استفاده از فرمان who میتوانید اطلاعاتی در مورد نشست جاری بدست آورید. در زیر این فرمان به همراه خروجی آن نشان داده شده است:

$ who

Alan :0 Apr 23 08:46

 همچنان که می بینید، در خروجی نام کاربر جاری، زمان و تاریخ ورود به سیستم نمایش داده شده است.

 بررسی دایرکتوری ها و مجوزهای فایلها

در لینوکس مسیر جاری به مسیری گفته میشود که کاربر در آن لحظه در آن قرار دارد. هنگامی که وارد سیستم میشوید، لینوکس شما را در دایرکتوری خانگی تان قرار میدهد. هنگامی که دستور باز کردن یا ذخیره کردن فایلی را صادر میکنید، لینوکس مسیر جاری را بعنوان محل آن فایل فرض کرده و از آنجا آنرا باز کرده و یا ذخیره میکند. ساختار سیستم فایل لینوکس بعدا شرح داده خواهد شد و لازم نیست نگران آن باشید. برای نمایش دایرکتوری جاری فرمان زیر را جلوی خط فرمان تایپ کنید. خروجی آن در زیر آن نمایش داده شده است:

 $ pwd

/usr/bin

 در مثال بالا مسیر جاری usr/bin است. برای یافتن مسیر دایرکتوری خانگی خود، فرمان زیر را تایپ کنید:

$ echo $HOME

/home/Alan

 همچنان که در خروجی ملاحضه میکنید، مسیر دایرکتوری خانگی شما نمایش داده شده است. برای اینکه به دایرکتوری خانگی خود باز گردید، کافی است به سادگی فرمان زیر را تایپ کنید:

$ cd

 این فرمان، شما را به دایرکتوری خانگی تان باز می گرداند. خوب بد نیست ببینیم که چه چیزهایی در دایرکتوری خانگی وجود دارد. برای نمایش محتویات یک دایرکتوری، باید از فرمان ls استفاده نمایید. در صورتی که در دایرکتوری خانگی خود قرار ندارید میتوانید مسیر کامل آنرا تایپ کنید. در صورتی که فرمان ls را بدون هرگونه دایرکتوری تایپ کنید، محتویات مسیر جاری نمایش داده خواهد شد. گزینه a تمام فایلهای مخفی را نمایش میدهد و گزینه l برای نمایش جزئیات کامل فایلها بکار میرود. هنگام تایپ یک فرمان میتوانید گزینه های متعدد آنرا کنار هم تایپ کنید.در زیر این دستور به همراه یک خروجی مثال نشان داده شده است:

$ ls -la /home/Alan

total 46740

drwx—— 47 Alan Alan 4096 Apr 23 11:09 .

drwxr-xr-x 8 root root 4096 Mar 12 17:51 ..

-rw——- 1 Alan Alan 616581 Apr 18 23:29 779-red_hat_linux_9.tar.gz

drwxr-xr-x 2 Alan Alan 4096 Mar 20 11:15 .acrobat

drwx—— 2 Alan Alan 4096 Mar 20 11:15 .adobe

drwx—— 2 Alan Alan 4096 Mar 12 17:04 .adonthell

drwxr-xr-x 2 Alan Alan 4096 Feb 14 13:19 .anjuta

-rw——- 1 Alan Alan 18325 Apr 23 00:36 .bash_history

-rw-r–r– 1 Alan Alan 24 Aug 24 2002 .bash_logout

-rw-r–r– 1 Alan Alan 191 Aug 24 2002 .bash_profile

هنگامی که از سوئیچ l برای نمایش جزئیات بیشتر استفاده میکنید، چیزی بیش از سایز فایلها و دایرکتوری ها نمایش داده میشود. دایرکتوری جاری (.) و دایرکتوری والد (..) در بالای لیست قرار می گیرند. یعنی در حقیقت نقطه نشان دهنده دایرکتوری home/Alan و دونقطه نشاندهنده دایرکتوری home/ است. بخش ابتدایی لیست نشاندهنده مجوزهای هر فایل است. سایر اطلاعات نمایش داده شده عبارتند از اندازه فایل به بایت و تاریخ و ساعتی که فایل برای آخرین بار تغییر کرده است.

 بررسی فعالیت سیستم

لینوکس علاوه بر چندکاربره بودن، سیستم عاملی است چند وظیفه (multitasking) . چند وظیفه بودن به این معنی است که برنامه های زیادی میتوانند در یک زمان اجرا شوند. هر برنامه در حال اجرا یک پروسه نامیده میشود.لینوکس فرامینی برای نمایش پروسه های در حال اجرا، نمایش استفاده از منابع سیستمی و متوقف کردن پروسه های در مواقع لزوم دارد.

مرسوم ترین ابزار برای بررسی پروسه های در حال اجرا، دستور ps است. با این دستور، میتوانید بررسی کنید که چه برنامه هایی در حال اجرا هستند ، از چه منابعی استفاده میکنند و چه کسی در حال اجرای آنهاست. در زیر یک خروجی مثال از این فرمان نشان داده شده است :

$ ps au

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

Alan 1152 0.0 0.5 4476 1348 pts/0 S 17:39 0:00 bash

Alan 1831 0.0 0.2 2580 664 pts/0 R 18:14 0:00 ps au

 در مثال بالا، گزینه a، برای نمایش تمام پروسه هایی که به ترمینال فعلی شما مربوط است و گزینه u برای نمایش نام کاربری و زمانی که برنامه آغاز به کار کرده است، بکار میرود. مفهوم ترمینال به زمانهای قدیم باز میگردد. در آن زمان کاربران روی ترمینالهای مبتنی بر متن کار میکردند و هر ترمینال نشان دهنده یک نفر بود. اکنون شما میتوانید روی صفحه مانیتور خود تعداد زیادی ترمینال داشته باشید. این کار بوسیله باز کردن تعدادی پنجره ترمینال امکان پذیر است.

در مثال بالا، چیز خاصی اتفاق نیافتاده است. خروجی نشان میدهد که کاربری به نام Alan ، از برنامه های bash و ps در حال استفاده است. ستون TTY یا ترمینال، نشان دهنده ترمینای است که کاربر با آن به سیستم وارد شده است و ستون STAT نشاندهنده وضعیت پروسه است. R نشاندهنده پروسه در حال اجرا و S نشاندهنده پروسه در حال خواب میباشد.

ستون USER نام کاربری که پروسـه را شروع کرده نمایش میدهد. هر پروسه توسط یک عدد یکتا به نام شماره پروسه (Process ID) مشخص میشود. از این شماره هنگام از میان بردن یا اصطلاحا kill کردن پروسه استفاده میشود. ستونهای %CPU و %MEM نشاندهنده مقدار پردازنده و حافظه ای هستند که پروسه ها استفاده کرده اند. ستون VSZ یا Virtual Set Size نشاندهنده سایز پروسه image به کیلوبایت و RSS یا Resident Set Size نشاندهنده سایز پروسه در حافظه است. ستون START نشاندهنده زمان آغاز پروسه و ستون TIME نشاندهنده زمان سیستم استفاده شده برای پروسه است.

بسیاری از پروسه هایی که در کامپیوتر در حال اجرا هستند، به یک ترمینال خاص مربوط نیستند. یک سیستم عادی مبتنی بر لینوکس ، دارای پروسه هایی فراوانی است که در پس زمینه اجرا میشوند. پروسه های پس زمینه پروسه هایی هستند که اعمالی مانند ثبت فعالیتهای سیستم یا گوش کردن به پورتها برای اطلاعات واصله از شبکه را انجام میدهند. این پروسه ها هنگام بوت شدن سیستم آغاز به کار کرده و هنگام خاموش کردن سیستم ، به کار خود پایان میدهند. برای نمایش تمام پروسه های در حال اجرا بر روی کامپیوترتان باید از فرمان زیر استفاده کنید:

$ ps aux | less

 قسمت less | به این دلیل به فرمان اضافه شده است که در صورتی که تعداد پروسه ها از یک صفحه بیشتر شد، امکان نمایش صفحه به صفحه آن وجود داشته باشد. به این فرایند لوله بندی (pipe) فرمان گویند که به معنی هدایت خروجی یک فرمان برای ورودی فرمان دیگر است.


دانلود با لینک مستقیم

پایان نامه نرم افزار دیوار آتش (فایروال) لینوکس

اختصاصی از یارا فایل پایان نامه نرم افزار دیوار آتش (فایروال) لینوکس دانلود با لینک مستقیم و پرسرعت .

پایان نامه نرم افزار دیوار آتش (فایروال) لینوکس


پایان نامه نرم افزار دیوار آتش (فایروال) لینوکس

 

 

 

 

 

 

 

 

 


فرمت:word(قابل ویرایش)

تعداد صفحات:105

 

پروژه پایان نامه دوره کارشناسی

مهندسی کامپیوتر نرم افزار

 

فهرست مطالب:

فهرست مطالب…………………………………………………………………………………………. 3

فهرست شکل ها………………………………………………………………………………………. 9

فهرست جدول ها……………………………………………………………………………………… 11

چکیده (فارسی)………………………………………………………………………………………… 12

فصل اول: دیوارهای آتش شبکه………………………………………………. 13

1-1 : مقدمه……………………………………………………………………………………. 14

1-2 : یک دیوار آتش چیست؟…………………………………………………………… 15

1-3 : دیوارهای آتش چه کاری انجام می دهند؟…………………………………. 16

1-3-1 : اثرات مثبت……………………………………………………………….. 16

1-3-2 : اثرات منفی……………………………………………………………….. 17

1-4 : دیوارهای آتش، چه کارهایی را نمی توانند انجام دهند؟………………. 18

1-5 : چگونه دیوارهای آتش عمل می‌کنند؟………………………………………… 20

1-6 : انواع دیوارهای آتش………………………………………………………………. 21

1-6-1 : فیلتر کردن بسته……………………………………………………….. 22

1-6-1-1 : نقاط قوت…………………………………………………….. 24

1-6-1-2 : نقاط ضعف………………………………………………….. 25

1-6-2 : بازرسی هوشمند بسته……………………………………………….. 28

1-6-2-1 : نقاط قوت…………………………………………………….. 31

1-6-2-2 : نقاط ضعف………………………………………………….. 32

1-6-3 : دروازه برنامه های کاربردی و پراکسیها……………………… 32

1-6-3-1 : نقاط قوت…………………………………………………….. 35

1-6-3-2 : نقاط ضعف………………………………………………….. 36

1-6-4 : پراکسیهای قابل تطبیق……………………………………………….. 38

1-6-5 : دروازه سطح مداری………………………………………………….. 39

1-6-6 : وانمود کننده ها…………………………………………………………. 40

1-6-6-1 : ترجمه آدرس شبکه………………………………………. 40

1-6-6-2 : دیوارهای آتش شخصی…………………………………. 42

1-7 : جنبه های مهم دیوارهای آتش کارآمد………………………………………. 42

1-8 : معماری دیوار آتش………………………………………………………………… 43

1-8-1 : مسیریاب فیلترکننده بسته……………………………………………. 43

1-8-2 : میزبان غربال شده یا میزبان سنگر……………………………… 44

1-8-3 : دروازه دو خانه ای……………………………………………………. 45

1-8-4 : زیر شبکه غربال شده یا منطقه غیرنظامی…………………….. 46

1-8-5 : دستگاه دیوار آتش…………………………………………………….. 46

1-9 : انتخاب و پیاده سازی یک راه حل دیوار آتش…………………………….. 48

1-9-1 : آیا شما نیاز به یک دیوار آتش دارید؟………………………….. 48

1-9-2 : دیوار آتش، چه چیزی را باید کنترل یا محافظت کند؟…….. 49

1-9-3 : یک دیوار آتش، چه تأثیری روی سازمان، شبکه و کاربران

خواهد گذاشت؟…………………………………………………………… 50

1-10 : سیاست امنیتی ……………………………………………………………………. 51

1-10-1 : موضوعات اجرایی…………………………………………………… 52

1-10-2 : موضوعات فنی……………………………………………………….. 53

1-11 : نیازهای پیاده سازی…………………………………………………………….. 54

1-11-1 : نیازهای فنی……………………………………………………………. 54

1-11-2 : معماری………………………………………………………………….. 54

1-12 : تصمیم گیری……………………………………………………………………….. 55

1-13 : پیاده سازی و آزمایش…………………………………………………………. 56

1-13-1 : آزمایش، آزمایش، آزمایش!………………………………………. 57

1-14 : خلاصه ………………………………………………………………………………. 58

فصل دوم: پیاده سازی دیوار آتش با استفاده از iptables………………. 60

2-1 : مقدمه……………………………………………………………………………………. 61

2-2 : واژگان علمی مربوط به فیلترسازی بسته………………………………….. 62

2-3 : انتخاب یک ماشین برای دیوار آتش مبتنی بر لینوکس…………………. 65

2-4 : به کار بردن IP Forwarding و Masquerading……………………………. 65

2-5 : حسابداری بسته…………………………………………………………………….. 70

2-6 : جداول و زنجیرها در یک دیوار آتش مبتنی بر لینوکس……………….. 70

2-7 : قوانین…………………………………………………………………………………… 74

2-8 : تطبیق ها……………………………………………………………………………….. 75

2-9 : اهداف…………………………………………………………………………………… 75

2-10 : پیکربندی iptables…………………………………………………………………. 76

2-11 : استفاده از iptables……………………………………………………………….. 77

2-11-1 : مشخصات فیلترسازی……………………………………………… 78

2-11-1-1 : تعیین نمودن آدرس IP مبدأ و مقصد…………….. 78

2-11-1-2 : تعیین نمودن معکوس………………………………….. 79

2-11-1-3 : تعیین نمودن پروتکل……………………………………. 79

2-11-1-4 : تعیین نمودن یک رابط…………………………………. 79

2-11-1-5 : تعیین نمودن قطعه ها………………………………….. 80

2-11-2 : تعمیم هایی برای iptables (تطبیق های جدید)………………. 82

2-11-2-1 : تعمیم های TCP………………………………………….. 82

2-11-2-2 : تعمیم های UDP…………………………………………. 86

2-11-2-3 : تعمیم های ICMP……………………………………….. 86

2-11-2-4 : تعمیم های تطبیق دیگر…………………………………. 87

2-11-3 : مشخصات هدف……………………………………………………… 92

2-11-3-1 : زنجیرهای تعریف شده توسط کاربر…………….. 92

2-11-3-2 : هدف های تعمیمی ………………………………………. 92

2-11-4 : عملیات روی یک زنجیر کامل……………………………………. 94

2-11-4-1 : ایجاد یک زنجیر جدید………………………………….. 94

2-11-4-2 : حذف یک زنجیر …………………………………………. 94

2-11-4-3 : خالی کردن یک زنجیر ………………………………… 95

2-11-4-4 : فهرست گیری از یک زنجیر ………………………… 95

2-11-4-5 : صفر کردن شمارنده ها………………………………. 95

2-11-4-6 : تنظیم نمودن سیاست…………………………………… 95

2-11-4-7 : تغییر دادن نام یک زنجیر…………………………….. 96

2-12 : ترکیب NAT با فیلترسازی بسته……………………………………………. 96

2-12-1 : ترجمه آدرس شبکه…………………………………………………. 96

2-12-2 : NAT مبدأ و Masquerading………………………………………. 98

2-12-3 : NAT مقصد……………………………………………………………. 99

2-13 : ذخیره نمودن و برگرداندن قوانین…………………………………………. 101

2-14 : خلاصه……………………………………………………………………………….. 102

نتیجه گیری……………………………………………………………………………………………… 105

پیشنهادات……………………………………………………………………………………………….. 105

 

فهرست شکل ها

فصل اول

شکل 1-1 : نمایش دیوار آتش شبکه………………………………………………….. 15

شکل 1-2 : مدل OSI……………………………………………………………………….. 22

شکل 1-3 : دیوار آتش از نوع فیلترکننده بسته……………………………………. 23

شکل 1-4 : لایه های OSI در فیلتر کردن بسته…………………………………… 23

شکل 1-5 : لایه های OSI در بازرسی هوشمند بسته………………………….. 28

شکل 1-6 : دیوار آتش از نوع بازرسی هوشمند بسته…………………………. 30

شکل 1-7 : لایه مدل OSI در دروازه برنامه کاربردی…………………………. 33

شکل 1-8 : دیوار آتش از نوع دروازه برنامه کاربردی……………………….. 34

شکل 1-9 : مسیریاب فیلتر کننده بسته……………………………………………….. 44

شکل 1-10 : دیوار آتش میزبان غربال شده یا میزبان سنگر………………… 45

شکل 1-11 : دروازه دو خانه ای………………………………………………………. 46

شکل 1-12 : زیر شبکه غربال شده یا منطقه غیرنظامی……………………….. 46

شکل 1-13 : دستگاه دیوار آتش……………………………………………………….. 47

فصل دوم

شکل 2-1 : یک سیستم مبتنی بر لینوکس که به عنوان یک مسیریاب به

جلو برنده پیکربندی شده است…………………………………………………… 67

شکل 2-2 : تغییر شکل شبکه 10.1.2.0 به عنوان آدرس 66.1.5.1   IP……. 69

شکل 2-3 : مسیر حرکت بسته شبکه برای filtering…………………………….. 72

شکل 2-4 : مسیر حرکت بسته شبکه برای Nat…………………………………… 73

شکل 2-5 : مسیر حرکت بسته شبکه برای mangling…………………………… 73

 

فهرست جدول ها

فصل اول

فصل دوم

جدول 2-1 : جداول و زنجیرهای پیش فرض……………………………………… 71

جدول 2-2 : توصیف زنجیرهای پیش فرض………………………………………. 71

جدول 2-3 : هدف های پیش فرض……………………………………………………. 76

جدول 2-4 : حالت های ردیابی ارتباط……………………………………………….. 91

جدول 2-5 : سطوح ثبت وقایع………………………………………………………….. 93

جدول 2-6 : ماجول های کمکی NAT………………………………………………… 97

 

چکیده:

تأمین امنیت شبکه، بخش حساسی از وظایف هر مدیر شبکه محسوب می‎شود. از آنجاییکه ممکن است محافظت های متفاوتی موردنیاز باشد، لذا مکانیزم های گوناگونی هم برای تأمین امنیت در شبکه وجود دارد. یکی از این مکانیزم ها استفاده از دیوار آتش می‎باشد. مدیر شبکه باید درک بالایی از انواع دیوار آتش، نقاط قوت و ضعف هر نوع، حملات تهدید کننده هر نوع، معماری های دیوار آتش، تأثیرات آن بر شبکه و کاربران، سیاست امنیتی سازمان و همچنین نیازهای فنی پیاده سازی داشته باشد تا بتواند راه حل مناسب را انتخاب و به درستی پیاده سازی نماید و سپس آنرا مورد آزمایش قرار دهد. در همین راستا، سیستم عامل «Linux» برای پیاده سازی نرم افزاری دیوار آتش فیلتر کننده بسته، ابزاری را به نام «iptables» در اختیار کاربر قرار می‎دهد تا با استفاده از دستورات این ابزار بتواند قوانین و فیلترهای موردنیاز را برای کنترل مطلوب دسترسی، خواه از داخل شبکه به خارج و خواه بالعکس، پیکربندی نماید.

 

پروژه پایان نامه دوره کارشناسی

مهندسی کامپیوتر نرم افزار


دانلود با لینک مستقیم