آموزش لینوکس

آموزش لینوکس (36)

همانطور که می دانید در این نسخه از سیستم عامل با اهداف امنیتی کاربر root در نسخه های جدید سیستم عامل های لینوکس اوبنتو غیر فعال شده است و این کار باعث شده که کاربران در برخی موارد با برخی مشکلات همراه شوند.

nginx یکی از محبوب‌ترین وب سرورهای جهان است و برخی از بزرگترین و پرترافیک‌ترین وب‌سایت‌های جهان توسط آن مدیریت می‌شوند. در مقایسه با وب سرور آپاچی، در خیلی از موارد Nginx استفاده بهینه‌تری از منابع دارد و همچنین می‌توان علاوه بر وب سرور، به عنوان reverse proxy نیست از آن استفاده کرد. در این راهنما، در مورد نحوه نصب Nginx بر روی سیستم‌عامل ابونتو ۱۶.۰۴ بحث خواهیم کرد.

 

در این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی ماریا دی بی (آخرین نسخه) و پی اچ پی (آخرین نسخه) را به همراه ماژول های آن بر روی سیستم عامل های CentOS 7 با استفاده از مخزن EPEL و دستور YUM آموزش خواهیم داد.

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

در صورت فراموش نمودن پسورد ادمین (root) روی سرور لینوکس (CentOS 6.x) ، با اقدامات زیر میتوانید پسورد جدید را تنظیم نمایید.
در لینوکس کاربر root بالاترین سطح دسترسی به سیستم را دارد و فراموش کردن رمز عبور آن ممکن است مشکل ساز شود. خوشبختانه در لینوکس این قابلیت وجود دارد که به راحتی نسبت به بازیابی پسورد root در لینوکس اقدام کنید و یک رمز عبور جدید جایگزین نمایید.

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

ردهت پشتیبانی از iptables را به عنوان بخشی از پیکر بندی سیستم خود فراهم می کند. وقتی که بسته RPM را برای iptables نصب می کنید ، یک اسکریپت سرویس iptables نصب می شود که دستورات iptables را با استفاده از فایل /etc/sysconfig/iptables می خواند و ذخیره می کند. اگر تنظیم کرده باشید که iptables به طور خودکار وقتی که سیستم خود را راه انداری می کندی ، اجرا شود، این فایل بررسی می شود تا ببیند آیا وجود دارد و خالی نیست یا خیر. اگر چنین بود ، iptables به طور خود کار دستورات iptables را نگه می دارد ، این کار به گرد آوری بیشتر iptables در پردازش تنظیم سیستم کمک می کند. 

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

به علاوه، برای اینکه به بسته های ping وICMP قابل دسترسی مقصد اجازه دهید، قوانین INPUT را با فایروال، به عنوان مقصد وارد می کنید. برای فعال کردن عملیات ping، از هر نوع ICMP مثلا echo-reply و echo-request استفاده می نمایید و برای مقصد غیر قابل دسترسی، نوع destination-unreachable را به کار می برید : 

برای اجازه داده به شبکه داخلی جهت برقراری ارتباط با فایروال، ورود توسط تمام بسته های روی تماس اترنت داخلی (eth1) اجازه داده می شود. آدرس های مجاز شبکه ای داخلی، به عنوان مبدأ ورودی مشخص شده اند : 

جهت اجازه دادن به فایروال برای شبکه های خارجی، ورود توسط بسته ها را به جز بسته های ICMP ، اجازه می دهید. اینها بعداً اداره می شوند. فایروال توسط دستگاه فایروال (eth0) مشخص می گردد. ابتدا، اجازه دهید تا تماسهای برقرار شده و متبط ادامه پیدا کنند: 

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

یک راه برای محافظت شبکه خصوصی از کلاهبرداری IP بسته ها، بررسی آدرس های خارجی روی دستگاه اترنت است که به شبکه خصوصی تخصیص یافته است. در این مثال، هر بسته روی دستگاه eth1 (متعلق به شبکه خصوصی) که آدرسش، از شبکه خصوصی نیست ( ! -s 192.168.0.0 ) مسدود می شود. همچنین بررسی کنید تا ببینید آیا هر بسته ای که از خارج می آید، شبکه خصوصی به عنوان آدرس مبدأ آن است یا خیر. در این مثال، هر بسته با آدرس مبدأ شبکه خصوصی روی هر دستگاه اترنت به جز شبکه خصوصی (eth1) مسدود می گردد. همان روش می تواند برای میزبان محلی نیز اعمال شود. 

ابتدا یک خط مشی DROP برای زنجیر های IP داخلی INPUT و FORWARD تنظیم شده است. این بدین معناست که اگر یک بسته، هیچکدام از قوانین را برای عبور رعایت نکند، مسدود نخواهد شد. سپس هم حملات کلاهبرداری و هم هر تلاشی از خارج برای برقراری تماس (بسته های SYN ) رد خواهد شد. تلاشهای تماس خارجی نیز ثبت می شوند. این یک پیکربندی اصلی است که می تواند که می تواند به سادگی با اضافه کردن قوانین iptables ، طبق نیاز های شما بهبود یابد. 

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

اگر چه می توانید قوانین iptables را از خط فرمان لایه وارد کنید ، ولی وقتی که سیستم خود را خاموش می نمایید ، این دستورات از بین می روند. در ردهت ، می توانید از پشتیبانی داخلی برای ذخیره کردن و خواندن قوانین iptables با استفاده از اسکریپت سرویس iptables استفاده نمایید.

جدول خرد کردن بسته برای تغییر واقعی اطلاعات بسته استفاده می شود. قوانین خاص اعمال شده به این جدول ، اغلی طراحی شده اند تا رفتار ذاتی بسته ها ، مثل مسیر ، اندازه تماس اندازه تماس و اولویت را اکنترل کنند. قوانینی که به طور واقعی یک بسته را تغییر می دهند ( به جای تغییر مسیر ساده یا توقف آن ) ، می توانند فقط در یک جدول خردکن استفاده شوند. به عنوان مثال ، هدف TOS می تواند به طور مستقیم در جدول خرد کن استفاده شود تا فیلد Type of Service را تغییر دهد و اولویت یک بسته را تغییر دهد. یک هدف TCPMSS می تواند تنظیم گردد تا اندازه یک تماس را کنترل کند. هدف ECN به شما اجازه می دهد تا با حفره های ECN کار کنید و هدف DSCP به شما اجازه خواهد داد تا با بیت های DSCP را تغییر دهید. چند الحاق ROUTE ، یک بسته را تغییر می دهد که در اینجا مقصدش را مجددا می نویسد به جای اینکه فقط آن را تغییر مسیر دهد. 

اگر سیستم شما یک سرویس اینترنت را میزبانی می کند ( مثل یک سرویس دهنده وب یا FTP ) ، می توانید از iptables برای کنترل دستیابی به آن استفاده نمایید. می توانید با استفاده از سوئیچ های درگاه مبدأ ( --sport ) یا در گاه مقصد ( --dport ) به همراه درگاهی که سرویس استفاده می کند، یک سرویس خاص را مشخص نمایید. iptables به شما اجازه می دهد تا از نامها برای درگاهها استفاده کنید. مثل www برای درگاه سرویس دهنده وب. نام سرویس ها و درگاههایی که آنها استفاده می کنند در فایل /etc/services لیست شده است، که درگاه ها را به سرویس های خاص نگاشت می کند. برای یک سرویس نامگذاری دامنه درگاه ، domain خواهد بود. همچنین اگر بخواهید می توانید از شماره درگاه استفاده نمایید که باید قبل از شماره، علامت دو نقطه ( : ) بیاورید. مثال زیر ، تمام پیامها به سرویس دهنده وب واقع در 192.168.0.43 را دریافت می کند : 

جداول NAT می توانند برای پیاده سازی هر نوع تغییر مسیر بسته استفاده شوند که یک عمل شفاف برای کاربر است. تغییر مسیر برای پیاده سازی یک پراکسی شفاف استفاده می شود. تغییر مسیر بسته ها توسط هدف REDIRECT صورت می پذیرد. توسط پراکسی شفاف ، بسته های دریافتی می توانند به طور خودکار به یک سرویس دهنده پراکسی تغییر مسیر یابند. به عنوان مثال ، بسته های رسیده به درگاه سرویس وب ( 80 ) ، می توانند به درگاه سرویس Squid Proxy تغییر جهت یابند که معمولا 3128 است. این کار مستلزم یک دستور برای تغییر جهت یک بسته می باشد که از هدف REDIRECT روی زنجیر PREROUTING استفاده می کند : 

# iptables -t nat -A PREROUTING -i eth1 --dport 80 REDIRECT --to-port 3128 

به علاوه ، دو نوع عمل NAT وجود دارد. NAT مبدا که به صورت هدف SNAT مشخص می شود ، و NAT مقصد ، که به صورت هدف DNAT مشخص می گردد. هدف SNAT برای قوانینی استفاده می شود که آدرس های مبدا را تغییر می دهند و هدف DNAT برای آنهایی است که آدرسهای مقصد را عوض می کنند. 

 

سه زنجیر در جدول NAT توسط کرنل برای عملیات NAT استفاده می شود که عبارتند از : PREROUTING ، POSTROUTING ، و OUTPUT . PREROUTING برای قوانین NAT مقصد ( DNAT ) استفاده می شود. اینها برای بسته هایی می باشند که ترک می شوند. OUTPUT برای قوانین NAT مقصد مربوط به بسته های تولید شده محلی به کار می رود. 

 

همانند فیلتر کردن بسته ، می توانید آدرس های مبدا ( -s ) و مقصد ( -d ) را به همراه دستگاه های ورودی ( -i ) و خروجی ( -o ) مشخص کنید. سوئیچ کردن -j یک هدف مثل MASQUERADE را مشخص می نماید. با اضافه کردن قانون MASQUERADE به زنجیره POSTROUTING ، ماسک IP را پیاده سازی می کنید : 

# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 

 

برای تغییر آدرس مبدا یک بسته که سیستم شما را ترک می کند ، از قانون POSTROUTING به همراه هدف SNAT استفاده می کنید. برای هدف SNAT ؛ از سوئیچ --to-source برای مشخص کردن آدرس مبدا استفاده می نمایید : 

# iptables -t nat -A POSTROUTING -o eth0 -j --to-source 192.168.0.4 

برای تغییر آدرس مقصد بسته هایی که به سیستم شما می رسند ، از قانون PREROUTING به همراه هدف DNAT و سوئیچ --to-destination استفاده می کنید : 

# iptables -t nat -A PREROUTING -i eth0 -j DNAT --to-destination 192.168.0.3 

 

مشخص کردن یک درگاه به شما اجازه می دهد تا مقصد بسته هایی را که به یک درگاه خاص می رسند تغییر دهید. در عمل ، این امکان را میسر می سازد. در مثال بعد ، هر بسته ای که به درگاه 80 برسد 0 درکاه سرویس وب ) به 10.0.0.3 منتقل می شود که در این حالت می تواند یک لیست سرویس دهنده وب را اجرا کند. 

# iptables -t nat -A PREROUTING -i eth0 --dport 80 \
 -j DNAT --to-destination 10.0.0.3  

 

با هدفهای TOS و MARK می توانید بسته را خرد کنید تا مسیر یا اولویت آن را کنترل نمایید. یک هدف TOS ، نوع سرویس یک بسته را تنظیم می کند ، که اولویت را با استفاده از معیارهایی مثل normal-services ، minimize-cost ، maximize-throughput بین بقیه ، تعیین می نماید. 

 

هدفهایی که تنها برای جدول NAT مجاز می باشند در اینجا نشان داده شده اند : 

SNAT

آدرس مبدا را تغییر می دهد، از سوئیچ --to-source برای مشخص کردن آدرس مبدا جدید استفاده کنید.  

DNAT

آدرس مقصد را تغییر می دهد، از سوئیچ --to-destination برای مشخص کردن آدرس مقصد جدید استفاده کنید.

REDIRECT

یک بسته را تغییر می دهد.  

MASQUERADE

ماسک IP

MIRROR

مبدا و مقصد را برعکس می کند و به فرستنده می فرستد.  

MARK

فیلد MARK را تغییر می دهد تا مسیر پیام را کنترل کند.

صفحه1 از2

پربازدیدترین مطالب

"«قیمتی که در هنگام سفارش مشتري در پیش‌فاکتور منظور گرديده است، معتبر مي‌باشد»."