Category Archive لینوکس Linux

Byadmin

پیکربندی FirewallD در CentOS

پیکربندی FirewallD در CentOS

پیکربندی FirewallD در CentOS

همانطور که می‌دانید فایروال FirewallD جایگزین iptables در CentOS 7 و بسیاری از لینوکس‌های نسل جدید شده است. شما عزیزان می توانید در صورت نیاز به شناخت بیشتر این قابلیت به پست معرفی فایروال FirewallD که در دانشنامه منتشر شده است مراجعه نمایید. در این مطلب از سری آموزش‌های FirewallD با کانفیگ FirewallD در CentOS در خدمت شما خواهیم بود.

این فایروال که نسخه داینامیک iptables بشمار می‌رود از تنظیمات بسیار خوب و ساده‌ای برخوردار است و برای تنظیم آن شما می‌توانید از دستور firewall-cmd و یا محیط گرافیکی آن استفاده کنید.

در ابتدا شایان ذکر است که این فایروال دارای zone ها و تنظیمات زیادی است و در این مطلب به نحوه تنظیم zone ، پورت فورواردینگ ، کار کردن با سرویس ها و حذف و اضافه کردن پورت ها در خدمت شما خواهیم بود.

کانفیگ FirewallD در CentOS

ست کردن کانفیگ FirewallD در CentOS

برای وارد کردن و اعمال دستورات FirewallD به 2 شکل می‌توان اقدام کرد.

Permanent : هنگامی که از permanent در دستورات خود استفاده می‌کنید ، دستورات در فایل XML فایروال وارد شده ولی تا زمانی که فایروال را reload نکنید یا سیستم ریبوت نشود ، اعمال نمی گردد.

RunTime : هنگامی که دستوری را بدون هیچ سوییچی جهت ست کردن وارد کنید، دستور بلادرنگ اجرا شده ولی پس از Reload و یا ریبوت CentOS حذف می‌گردد.

به عنوان مثال برای اضافه کردن سرویس http در FirewallD به صورت Permanent به شکل زیر دستور وارد می‌شود.

و همین دستور برای اجرای RunTime به شکل زیر می باشد.

حال پس از وارد کردن دستور اول به صورت Permanent ، برای اجرای آن باید دستور زیر را وارد کنید.

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

نکته مهم: هنگام Reload کردن فایروال برای چند لحظه تمام تنظیمات وارد شده برای فایروال متوقف شده و دوباره شروع بکار می‌کنند. ترجیحاً در صورت ترافیک زیاد بر روی سرور دستور را به صورت RunTime و Permanentt وارد کنید تا تنظیم شما اعمال شده و پس از ریبوت CentOS همچنان پا برجا باقی بماند.

Zone های FirewallD

zone ها به عنوان یک ساختار از پیش تنظیم شده می‌باشند و شما می توانید آنها را نسبت به شرایط امنیتی و قرار گیری سرور در اینترنت یا شبکه داخلی و یا … انتخاب نمایید.

هر یک از Zone ها برای یک شبکه خاص تنظیم شده‌اند و ترافیک را نسبت به آن تنظیمات کنترل می‌کنند.

Zone پیش فرض در ابتدای فعال سازی فایروال Public می باشد.

Zone ها همچنین می‌توانند بر روی کارت شبکه‌های مختلف تنظیم شوند و هر کارت شبکه و ترافیک آن توسط قوانین یک Zone کنترل شود.

برای دیدن Zone فعال در FirewallD دستور زیر را وارد کنید.

برای تغییر Zone پیشفرض می‌توانید از دستور زیر استفاده نمایید.

برای دیدن کارت شبکه و Zone فعال بر روی آن از دستور زیر استفاده می‌شود.

همچنین برای دیدن تمام تنظیمات Zone مورد نظر از دستور زیر می‌توان بهره برد.

خروجی دستور بالا مشابه تصویر زیر خواهد بود.

پیکربندی FirewallD در CentOS

با توجه به خروجی در تصویر بالا ، نشان می‌دهد IPv4 و IPv6 در این zone فعال است و پورت‌های 80 ، 2222 و 2323 باز می باشند.

همچنین این Zone بر روی اینترفیس eno16777728 فعال می باشد.

برای دریافت تنظیمات تمام zone ها دستور زیر کاربردی است.

کار با سرویس‌های FirewallD

FirewallD برای سادگی کار مدیران لینوکسی ، تنظیمات سرویس‌هایی را از پیش کانفیگ کرده و شما تنها نیاز است که از نام آنها استفاده کنید تا تنظیمات بر zone مورد نظر اعمال شود.

همچنین شما می‌توانید به دلخواه خود سرویس را معرفی کنید.

فایل تنظیمات تمام سرویس‌ها از پیش تعیین شده در دایرکتوری usr/lib/firewalld/services/ و سرویس‌هایی که کاربران تعریف می‌کنند در دایرکتوری etc/firewalld/services/ قرار دارند.

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

برای فعال و یا غیرفعال کردن یک سرویس می‌توانید از دستورات زیر بهره ببرید.

Allow و Deny کردن پورت و پروتکل دلخواه در FirewallD

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

همچنین برای حذف پورت 12345 که در دستور قبل دسترسی داده شد ، از دستور زیر استفاده می‌گردد.

تفاوت دو دستور قبل تنها در کلمات add و remove است که به ترتیب یک پورت را اضافه و یا حذف می‌کنند.

port forwarding در فایروال FirewallD

برای فوروارد کردن یک پورت به پورتی دیگر همانند دستور زیر می‌توان اقدام کرد.

در مثال بالا پورت 80 به پورت 12345 فوروارد شده است.

حال برای فوروارد کردن یک پورت به سرور دیگر از روش زیر استفاده می گردد.

ابتدا قابلیت masquerade را با دستور زیر در zone مورد نظر فعال کنید.

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

در مثال بالا پورت 80 به پورت 8080 در سرور 192.168.1.1 فوروارد شده است.

در نهایت برای حذف دستور پورت فوروارد بالا از دستور زیر استفاده کنید.

در این آموزش نحوه باز و بستن پورت ها ، اضافه کردن و حذف سرویس ها و همچنین port Forwarding را در FirewallD فرا گرفتید.

در مقالات بعدی به تنظیمات پیشرفته کانفیگ FirewallD در CentOS و آموزش دستورات Rich Rules می‌پردازیم.

امیدواریم آموزش کانفیگ FirewallD در CentOS برای شما مفید واقع شده باشد.

 

 

Byadmin

بررسی فضاهای هارددیسک در سرور لینوکس

بررسی فضاهای هارددیسک در سرور لینوکس

مقدمه

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

بررسی فضاهای هارددیسک در سرور لینوکس

بررسی فضاهای هارددیسک در سرور لینوکس

دستوراتی که جهت برسی فضای دیسک آموزش داده میشود :

  • دستور df : میزان فضای استفاده شده در دیسک را نشان می دهد.
  • دستور du : میزان فضای استفاده توسط پوشه و یا فایل مشخض شده را نشان می دهد.

برسی فضای دیسک با استفاده از دستور df

از دستور df بسیار استفاده خواهید کرد ! پس سعی کنید این دستور و سوییچ های ان را بخاطر بسپارید. دستور df بدون سوییچ نیز فضای مصرف شده در هارد دیسک و دیگر حافظه های mount شده را نمایش میدهد، اما به دلیل نمایش اطلاعات به بایت تحلیل ان کمی سخت خواهد بود.

دستور:

خروجی:

برای نمایش قابل فهم اطلاعات میتوانید از سوییچ H و یا h استفاده نمایید. این دو سوییچ تقریبا تفاوت خاصی ندارند. در صوییچ H فضا تقسیم بر ۱۰۰۰ (فرمت بلاک در لینوکس) شده و در سوییچ h نیز فضا بر ۱۰۲۴ تقسیم میشود. برای برسی تفاوت این دو، دستور زیر را جهت مشاهده خروجی وارد نمایید:

دستور :

و

خروجی :

از دستور df میتوانید برای چک کردن یک فایل سیستم دلخواه نیز استفاده نمایید. برای این منظور ادرس فایل سیستم مورد نظر را پس از دستور df وارد میکنید.

برای مثال برای چک کردن درایو dev/vda1/ دستور را به شکل زیر وارد نمایید.

دستور :

خروجی :

برای نمایش نوع فایل سیستم های موجود از سوییچ T استفاده نمایید.

دستور :

خروجی :

بخاطر داشته باشید برای داشتن یک خروجی قابل درک میتوانید سوییچ ها را با ترکیب کردن استفاده نمایید.

دستور :

خروجی :

و در آخر نیز برای استفاده از راهنمای این ابزار دستور زیر را وارد نمایید.

دستور :

یا :

برسی فضای استفاده شده توسط یک دایرکتوری و یا فایل با استفاده از دستور du

دستور du یکی از مهم ترین دستوراتی است که باید بخاطر سپرده شود. با استفاده از این دستور میتوانید فایل و یا دایرکتوری هایی که فضای سنگینی را اشغال کرده اند را پیدا کنید. شمای کلی دستور du به شکل زیر میباشد :

دستور به تنهایی اطلاعات فضای مصرفی دایرکتوری جاری را به ما میدهد.

دستور :

خروجی :

در خروجی بالا فیلد اول مقدار کیلوبایت و در خروجی دوم نیز نام فایل یا دایرکتوری نمایش داده میشود. برای نمایش میزان فضای یک یا چند دایرکتوری میتوانید از دستور زیر استفاده نمایید.

دستور :

در دستور بالا جهت نمایش خروجی قابل فهم از سوییچ h استفاده شده است. دستور بالا ابتدا حجم پوشه ذکر شده و سپس تمامی فایل های درون ان را نشان میدهد. ممکن است به علت تعداد فایل های زیاد خروجی شما بسیار زیاد باشد. برای این مورد میتوانید از سوییچ s استفاده نمایید تا فقط پوشه ها و میزان فضای اشغال شده ان نمایش داده شود.

دستور :

خروجی :

برای نمایش تمامی پوشه ها و فایل ها از سوییچ a استفاده نمایید. در این ابزار شما امکان استفاده از wildcard را دارید. برای مثال جهت نمایش تمامی حجم تمامی پوشه های زیر شاخه میتوانید از دستور زیر استفاده نمایید.

دستور :

خروجی :

برای مثال بصورت ترکیبی و با استفاده از پایپ و دستورات sort و head میتوانید ۱۰ دایرکتوری که بیشترین فضا را دارند را پیدا کنید.

دستور :

خروجی :

برای مشاهده راهنمای دستور du میتوانید man du یا du –help را در ssh وارد نمایید تا بیشتر با این ابزار و امکانات ان اشنایی پیدا کنید.


گفتار پایانی

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

 

 

 

Byadmin

ایجاد پایگاه داده MySQL با خط فرمان لینوکس

ایجاد پایگاه داده MySQL با خط فرمان لینوکس

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

ایجاد پایگاه داده MySQL با خط فرمان لینوکس

ایجاد پایگاه داده MySQL با خط فرمان لینوکس

در اینجا ما یک پایگاه داده به اسم vcenter درست می کنیم ، نام کاربری آن root و پسورد آن abc می باشد، دستورات و مراحل زیر را باید در خط فرمان لینوکس انجام دهید.

در ابتدا با کاربر root به عنوان یک کاربر با دسترسی کامل وارد محیط دستوری MySQL می شویم :

mysql -u root -p

پس از وارد کردن دستور فوق در خط فرمان، از شما رمز عبور مربوط به root که قبلا برای MySQL تعیین کرده اید را درخواست می کند و پس از وارد کردن پسورد شما وارد محیط MySQL می شوید همانند زیر :

mysql>

در قدم بعد باید یک پایگاه داده ایجاد کنید :

CREATE DATABASE vcenter;

پس از ساخته شدن دیتابیس حالا باید کاربر را به پایگاه داده Add کنیم و دسترسی های لازم را به کاربر بدهیم :

GRANT ALL PRIVILEGES ON vcenter.* TO root@localhost IDENTIFIED BY 'abc';

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

 

 

 

Byadmin

25 نکته برای بالا بردن امنیت سرورهای لینوکس

25 نکته برای بالا بردن امنیت سرورهای لینوکس

25 نکته برای بالا بردن امنیت سرورهای لینوکس

Linux-Security-and-Hardening

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

ایمن سازی سیستم از هکرها یک وظیفه ای چالش برانگیز برای مدیران IT است. این اولین مقاله مرتبط با “چگونگی ایمن سازی لینوکس باکس” و یا “سخت سازی لینوکس باکس” است. در این نوشته 25 نکته کاربردی را برای ایمن سازی سیستم لینوکسی شما ارائه می دهیم و امیدواریم که برای شما در ایمن سازی سیستم های لینوکسی مفید باشد.

  1. امنیت فیزیکی سیستم: گام نخست غیر فعال سازی بوت  CD/DVD از Bios  سیستم ، تجهیزات بیرونی، فلاپی درایو تنظیم نمایید. سپس، پسورد BIOS را تنظیم کرده و همچنین پسورد GRUB را برای محدود کردن دسترسی فیزیکی به سیستم خود فعال نمایید.
  2. پارتیشن بندی دیسک: مهم است که پارتیشن های متعددی برای بدست آوردن امنیت بالاتر داده در موارد اتفاقات پیش بینی نشده داشته باشید. با ایجاد پارتیشن های متعدد، داده می تواند جداسازی و گروه بندی شود. وقتی که تصادف غیر منتظره اتفاق می افتد، فقط داده ها در یک پارتیشن خاص آسیب می بینند، در حالی که دیتا در دیگر پارتیشن ها بدون آسیب می مانند. شما باید مطمئن شوید که پارتیشن های زیر را دارید و سایر اپلیکیشن ها باید در یک فایل سیستم مجاز تحت/opt نصب گردند.
/
/boot
/usr
/var
/home
/tmp
/opt
  1. پکیج ها را حداقل کنید تا آسیب پذیری به حداقل برسد

آیا واقعا می خواهید تمام سرویس ها را نصب کنید؟ پیشنهاد می گردد که از نصب پکیج های بدون استفاده پرهیز کنید تا از آسیب پذیری در پکیج ها جلوگیری کنید. این ممکن است ریسک آسیب در یک سرویس را که می تواند منجر به آسیب به سایر سرویس ها شود را به حداقل برساند. سرویس های بدون استفاده را یافته و آنها را حذف و یا غیر فعال کنید تا آسیب پذیری به کمترین حد ممکن برسد. از فرمان “chkconfig” برای پیدا کردن سرویس های که بر روی runlevel 3 اجرا شده اند استفاده کنید.

# /sbin/chkconfig –list |grep ’3:on’

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

# chkconfig serviceName off

از RPM package manager مانند “yum” یا “apt-get” برای لیست کردن همه پکیج های نصب شده بر سیستم استفاده کرده و آنها را با فرمان های زیر حذف کنید.

# yum -y remove package-name

# sudo apt-get remove package-name

  1. پورت های شبکه در حال Linstening را کنترل کنید.

با کمک فرمان شبکه “netstat” می توانید کلیه پورت های باز و برنامه های مربوطه را مشاهده نمایید. همانگونه که در بالا گفته شد، از فرمان”chkconfig” برای غیرفعال کردن کلیه سرویس های ناخواسته بر روی سیستم استفاده کنید.

# netstat -tulpn

  1. از Secure Shell)SSH) استفاده کنید.

پروتکل های telnet و rlogin از متن ساده و رمزگذاری نشده استفاده می کنند که ناقض امنیت هستند. SSH یک پروتکل امن است که از تکنولوژی رمز گذاری در طول ارتباط با سرور استفاده می کند.

بجز موارد ضروری هرگز با کاربر root به طور مستقیم وارد سیستم نشوید. از فرمان “sudo” برای اجرای سایر فرمان ها استفاده کنید. “sudo” در فایل /etc/sudoers قرار گرفته است که می تواند توسط visudo که در ویرایشگر VI باز می شود، ویرایش می شود.

همچنین پیشنهاد می شود که پورت SSH 22 پیش فرض را با بعضی پورت های سطح بالاتر تعویض کنید. تنظیمات اصلی SSH را باز کرده و پارامتر های زیر را برای دسترسی کاربران عادی محدود کنید.

# vi /etc/ssh/sshd_config

غیر فعالسازی لاگین با root

PermitRootLogin no

اجازه تنها به کاربران خاص

AllowUsers username

از نسخه 2 پروتکل SSH استفاده کنید

Protocol 2

  1. مرتبا سیستم را بروز رسانی کنید.

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

# yum updates

# yum check-update

  1. Cronjob ها را قفل کنید.

Cron ویژگی مخصوص به خود را دارد، که اجازه می دهد مشخص کنید چه کسانی باید و چه کسانی نباید jobها را اجرا کنند. این امر با استفاده از فایل های /etc/cron.allow و /etc/cron.deny کنترل می شود. برای بستن دسترسی یک کاربر به cron ، به سادگی نام کاربر را در cron.deny اضافه کنید و برای اجازه دادن به یک کاربر برای اجرای cron آن را در cron.allow اضافه کنید. اگر تمایل به غیر فعال کردن همه کاربران در استفاده از cron دارید خط “ALL” را در فایل cron.deny اضافه کنید.

# echo ALL >>/etc/cron.deny

  1. استفاده از فلش مموری ها توسط پورت USB را غیر فعال کنید.

بسیاری از دفعات این اتفاق پیش می آید که ما می خواهیم کاربران را از استفاده از فلش مموری برای حفاظت از داده ها در برابر سرقت محدود کنیم. یک فایل با عنوان “/etc/modprobe.d/no-usb” ایجاد کرده و با اضافه کردن خط زیر ذخیره سازها بر روی پورت USB از دسترس خارج می شوند.

install usb-storage /bin/true

  1. از SELinux استفاده کنید.

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

SELinux سه حالت اصلی عملکرد را ارائه می دهد که عبارتند از:

  • Enforcing: این یک حالت پیش فرض است که خط مشی امنیتی SELinux در ماشین را فعال و اجرا می کند.
  •  Permissive: در این حالت،SELinux خط مشی امنیت ماشین را اجرا نخواهد کرد، فقط امور مربوط لاگ برداری و اعلان ها انجام می شود. این حالت برای ایرادیابی موارد مرتبط با SELinux بسیار مفید است.
  • Disabled: SELinux غیر فعال شده است.

شما می توانید وضعیت فعلی SELinux را از خط فرمان با استفاده از “system-config-selinux” و “getenforce” و یا “sestatus”مشخص کنید.

# sestatus

اگر این سرویس غیرفعال است با استفاده از فرمان زیر SELinux را فعال کنید.

# setenforce enforcing

همچنین می توان با استفاده از فایل آدرس “/etc/selinux/config” می توانید این فایل را مدیریت کنید.

  1. دسکتاپ KDE/GNOME را حذف کنید.

نیازی به اجرای دسکتاپ های X Window مانند KDE ویا GNOME بر روی سرور اختصاصی LAMP شما وجود ندارد. شما می توانید آنها را برای افزایش امنیت سرور و بهبود عملکرد آن حذف و یا غیر فعال کنید.

# yum groupremove “X Window System”

  1.  IPv6 را غیر فعال کنید.

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

# vi /etc/sysconfig/network

NETWORKING_IPV6=no

IPV6INIT=no

  1.  کاربران را در استفاده از کلمات عبور قدیمی محدود کنید.

عدم اجازه به کاربران برای استفاده از کلمات عبور قدیمی که قبلا از آن استفاده کرده اند، بسیار کاربردی است. فایل کلمات عبور قدیمی در /etc/security/opasswd ذخیره شده است. با استفاده از ماژول PAM این فایل قابل دسترسی است.

فایل “etc/pam.d/system-auth” را تحت RHEL یا CentOS یا Fedora باز کنید.

# vi /etc/pam.d/system-auth

فایل “etc/pam.d/common-password” را تحت Ubuntu یا Debian یا Linux Mint باز کنید.

# vi /etc/pam.d/common-password

خط زیر را به بخش “auth” اضافه کنید.

auth    sufficientpam_unix.so likeauth nullok

خط زیر را به بخش “password” اضافه کنید تا کاربر را از استفاده مجدد از 5 کلمه عبور قبلی خودش محدود کنید.

password   sufficientpam_unix.so nullok use_authtok md5 shadow remember=5

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

Password has been already used. Choose another.

  1.   چگونه انقضا کلمه عبور کاربر کنترل کنیم

در لینوکس، کلمه عبور کاربران در “/etc/shadow” و در فرمت رمزگذاری شده ذخیره می شود. برای کنترل انقضا کلمه عبور کاربران، شما باید از فرمان “chage” استفاده کنید. این فرمان اطلاعات انقضا کلمه عبور و زمان آخرین تغییر کلمه عبور را نشان می دهد. این جزئیات توسط سیستم، برای تصمیم در خصوص زمان تغییر یک کلمه عبور توسط کاربر استفاده می شود.

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

#chage -l username

برای تغییر مدت زمان کلمه عبور از فرمان زیر استفاده کنید.

#chage -M 60 username

#chage -M 60 -m 7 -W 7 userName

پارامتر ها

-M تنظیم حداکثر تعداد روز ها

-m تنظیم حداقل تعداد روزها

-W تنظیم تعداد روزها برای پیام خطا

  1.    بستن و باز کردن حساب کاربری بصورت دستی

ویژگی های باز و بسته کردن بسیار مفید هستند و به جای حذف یک حساب کاربری از سیستم، شما می توانید آن را برای یک مدت مشخص ببندید. برای بستن یک کاربر خاص، شما می توانید از فرمان زیر استفاده کنید.

# passwd -l accountName

توجه: کاربر بسته شده فقط برای کاربر root در دسترس است. این بسته بودن با جایگزینی کلمه عبور رمز گذاری شده با یک رشته (!) اجرا می شود.اگر کسی تلاش کند با استفاده از این حساب کاربری به سیستم دسترسی داشته باشد پیام خطایی مانند زیر دریافت می کند.

# su – accountName

This account is currently not available.

برای باز کردن و یا فعال کردن دسترسی به حساب کاربری بسته شده، از فرمان زیر استفاده کنید. این فرمان رشته (!) با کلمه عبور رمزگذاری شده را حذف می کند.

# passwd -u accountName

  1.   اعمال کلمات عبور قوی تر

تعدادی از کاربران از کلمات عبور آسان و ضعیف استفاده می کنند و کلمه عبور آنها به آسانی با یک directory و با brute force attack هک می شود. ماژول “pam_cracklib” که در PAM (Pluggable Authentication Modules) قرار دارد، کاربران را ملزم به انتخاب کلمات عبور قوی می کند. فایل زیر را با یک برنامه ویرایشگر باز کنید.

# vi /etc/pam.d/system-auth

یک خط برای ملزم کردن استفاده از پارامترهای اعتباری مانند (lcredit,ucredit,dcredit and ocredit) اضافه کنید.

/lib/security/$ISA/pam_cracklib.so retry=3 minlen=8 lcredit=-1 ucredit=-2 dcredit=-2 ocredit=-1

  1.    iptable را فعال کنید (Firewall) .

به شدت پیشنهاد می گردد که Linux firewall را برای ایمن شدن در برابر دسترسی غیرقانونی به سرور فعال کنید. از ruleهایی که در iptables است، برای فیلتر کردن پکت های فوروارد شده ورودی و خروجی استفاده کنید. ما می توانیم آدرس منبع و مقصد را برای اجازه دادن و یا متوقف کردن در یک شماره پورت خاص udp/tcp استفاده کنیم.

  1.   در Inittab حالت Ctrl+Alt+Delete را غیر فعال کنید.

در بیشتر توزیع های لینوکس، فشردن Ctrl+Alt+Delete سیستم شما را به فرآیند ریبوت می برد. بنابراین این ایده خوبی نیست که این ویژگی در سرورها فعال باشد.زیرا فشردن تصادفی این دکمه ها می تواند سرور شما را ریبوت کند.

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

# Trap CTRL-ALT-DELETE

#ca::ctrlaltdel:/sbin/shutdown -t3 -r now

  1.   حساب های کاربری را برای کلمات عبور خالی کنترل کنید.

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

# cat /etc/shadow | awk -F: ‘($2==””){print $1}’

  1.    قبل وارد حساب شدن بنر SSH را به کاربر نمایش دهید.

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

  1.    پایش فعالیت های کاربر

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

دو ابزار ارزشمند با نام های “psacct” و “acct” وجود دارند که برای پایش فعالیت کاربران و process ها در یک سیستم استفاده می شوند. این ابزار ها در پس زمینه سیستم اجرا شده و به طور پیوسته فعالیت هر کاربر در یک سیستم و منابع مصرف شده توسط سرویس های مختلف مانند Apache، MySQL، SSH، FTP و غیره دنبال می کنند. برای اطلاعات بیشتر درخصوص نصب، ساختاربندی و استفاده از این سرویس ها آدرس زیر را مشاهده کنید.

  1. لاگ ها را مرتبا بازبینی کنید.

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

  •         /var/log/message  جایی که کل لاگ های سیستم و فعالیت های فعلی در آن ثبت می شود
  •         /var/log/auth.log لاگ های اعتبار سنجی.
  •         /var/log/kern.log لاگ های کرنل
  •         /var/log/cron.log لاگ های Cron
  •         /var/log/maillog لاگ های میل سرور
  •         /var/log/boot.log لاگ های بوت سیستم
  •         /var/log/mysqld.log لاگ های سرور دیتابیس MySQL
  •         /var/log/secure لاگ اعتبار سنجی
  •         /var/log/utmp or /var/log/wtmp فایل رکورد های ورود به سیستم
  •         /var/log/yum.log:  فایل های لاگ YUM
  1.   پشتیبان گیری از فایل های مهم

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

  1.  باندینگ NIC

دو حالت در NIC bonding وجود دارد که باید در رابط باندینگ به آن اشاره شود

  •         Mode=0 Round Robin
  •         Mode=1 Active and Backup

NIC Bonding به ما کمک می کند که از عدم ارتباط در یک نقطه اجتناب کنیم. دو کارت شبکه اترنت را با هم باند کرده و یک رابط مجازی می سازم که از طریق آن می توان یک IP آدرس اختصاص داده و با دیگر سرور ها در تماس بود. شبکه ما در حالتی که یک NIC Card به هر دلیلی از کار باز ایستد، همچنان در دسترس است.

  1.   boot/ را در حالت read-only نگه دارید.

کرنل لینوکس و فایل های مرتبط با آن در دایرکتوری /boot قرار گرفته اند که در حالت پیش فرض به صورت read-write است. تغییر آن به read-only ریسک تغییرات غیر مجاز در فایل های حیاتی بوت را کاهش می دهد. برای انجام این کار، فایل /etc/fstab را باز کنید.

# vi /etc/fstab

خط زیر را به انتهای آن اضافه کرده، فایل ذخیره نموده و از فایل خارج شوید.

LABEL=/boot /boot ext2 defaults,ro 1 2

لطفا توجه نمایید که باید برای تغییرات بعد در کرنل باید این دایرکتوری را به حالت read-write بازگردانید.

  1.  ICMP و درخواست Broadcast را نادیده بگیرید.

خطوط زیر را در فایل “/etc/sysctl.conf” برای نادیده گرفتن درخواست ping و broadcast اضافه کنید.

Ignore ICMP request:

net.ipv4.icmp_echo_ignore_all = 1

Ignore Broadcast request:

net.ipv4.icmp_echo_ignore_broadcasts = 1

تغییرات و تنظیمات جدید را با اجرای فرمان زیر بارگزاری کنید.

#sysctl -p

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

منبع : http://www.tecmint.com//

Byadmin

آموزش نصب Apache، MySQL و PHP بر روی سیستم عامل های لینوکس

ر این مقاله نحوه نصب وب سرور آپاچی (آخرین نسخه)، بانک اطلاعاتی مای اس کیو ال (آخرین نسخه) و پی اچ پی (آخرین نسخه) را به همراه ماژول های آن بر روی سیستم عامل های RHEL 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6, CentOS 6.4/6.3/6.2/6.1/6.0/5.9/5.8/5.6/6.0/6.5/6.6/6.7  و  Fedora 12,13,14,15,16,17,18,19با استفاده از مخزن Remi و دستور YUM آموزش خواهیم داد.

Install LAMP

آپاچی (Apache)  چیست؟
آپاچی یک وب سرور HTTP متن باز رایگان است که بر روی تمامی توزیع های لینوکس و همچنین سیستم عامل ویندوز قابل نصب و اجراست. وب سرور آپاچی توانایی سرویس دهی به صفحات برنامه نویسی شده (.htm .php .pl .cgi .js) و موارد بسیاری دیگر را دارد. بر اساس آمارهای به دست آمده در اسفند ماه 1391 حدود65.24% دامنه های وب سایتهای توسط آپاچی سرویس دهی می شوند.

ما اس کیو ال (MySQL) چیست؟
MySQL یکی از محبوب ترین رابطهای بانک های اطلاعاتی در جهان محسوب می شود که بر روی هر نوع سروری قابل اجراست توانایی دادن دسترسی چندین کاربر به چندین بانک اطلاعاتی را داراست. MySQL به همراه Apache اجرا می شود.

پی اچ پی (PHP) چیست؟
یک زبان برنامه نویسی سرور محور متن باز رایگان است که از بهترین گزینه ها جهت گسترش صفحات وب می باشد. این مفسر قابلیت تولید سایتهای پویا (Dynamic) را داراست.

ماژول های PHP
در این آموزش قصد داریم ماژول های زیر را نصب کنیم:

MySQL (php-mysql) – A extension for PHP applications that use MySQL databases. PostgreSQL (php-pgsql) – A extension for PostgreSQL database for PHP. MongoDB (php-pecl-mongo) – A driver for MongoDB database. SQLite (php-sqlite) – Extension for SQLite Database Engine. Memcache (php-pecl-memcache) – Memcached caching daemon. Memcached (php-pecl-memcached) – Memcached caching daemon. GD (php-gd) – GD extension for PHP application to serve graphics. XML (php-xml) – XML Parser for PHP applications. MBString (php-mbstring) – Mbstring extension is used to handle multi-byte string in PHP applications. MCrypt (php-mcrypt) – A Mcrypt library for PHP scripts. APC (php-pecl-apc) – APC module used to optimize and cache PHP code. CLI (php-cli) – Command-line interface for PHP. PEAR (php-pear) – Application Repository framework for PHP. PDO (php-pdo) – Database access module for PHP applications.

مرحله اول: نصب دایرکتوری مخزن Remi

## Install Remi Repository on Fedora 19, 18, 17, 16, 15 ## rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm ## Fedora 19 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-19.rpm ## Fedora 18 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-18.rpm ## Fedora 17 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-17.rpm ## Fedora 16 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-16.rpm ## Fedora 15 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-15.rpm ## Fedora 14 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-14.rpm ## Fedora 13 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-13.rpm ## Fedora 12 ## # rpm -Uvh http://rpms.famillecollet.com/remi-release-12.rpm ## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 – 32 Bit## rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ## Install Remi & Epel Repository on RHEL/CentOS 6.4-6.0 – 64 Bit ## rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm ## Install Remi Repository on RHEL/CentOS 5.9-5.0 – 32 Bit ## rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm ## Install Remi Repository on RHEL/CentOS 5.9-5.0 – 64 Bit ## rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/x86_64/epel-release-5-4.noarch.rpm rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

مرحله دوم: نصب Apache، MySQL و PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ## # yum –enablerepo=remi install httpd mysql mysql-server php php-common ## Installing on RHEL/CentOS 5-6 ## # yum –enablerepo=remi,remi-test install httpd mysql mysql-server php php-common
مرحله سوم: نصب ماژول های PHP

## Installing on Fedora 12, 13, 14, 15, 16, 17, 18, 19 ## # yum –enablerepo=remi install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo ## Installing on RHEL/CentOS 5-6 ## # yum –enablerepo=remi,remi-test install php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml php-pecl-apc php-cli php-pear php-pdo

مرحله چهارم: فعال/غیرفعال کردن سرویسهای Apache و MySQL

## Enable Apache and MySQL on Run-Levels ## # chkconfig –levels 235 httpd on # chkconfig –levels 235 mysqld on ## Apache Commands ## # /etc/init.d/httpd start # /etc/init.d/httpd stop # /etc/init.d/httpd status ## MySQL Commands ## # /etc/init.d/mysqld start # /etc/init.d/mysqld stop # /etc/init.d/mysqld status

مرحله پنجم: کنترل نصب Apache، MySQL و PHP
1-    یک فایل با نام phpinfo.php بسازید، موارد زیر را درون آن قرار دهید و در مسیر /var/www/html/phpinfo.php ذخیره کنید.<php phpinfo (); ?>

2-    حالا بوسیله مرورگر خود آدرس http://localhost/phpinfo.php را باز نمائید. خروجی شما مانند صفحه زیر خواهد بود.

Install LAMP

در صورتی که با مشکلی مواجه شدید در تماس گرفتن با ما تردیدی نکنید.

Byadmin

نصب اوراکل دیتابیس 11g برروی اوراکل لینوکس 6

نصب اوراکل دیتابیس 11g برروی اوراکل لینوکس 6

در این مقاله سعی شده است روش نصب اوراکل دیتابیس نسخه 11g release 2 برروی سیستم عامل  اوراکل لینوکس نسخه 6 (64 bit) با حداقل 2g SWAP و با SELUNIX=permissive و فایروال غیرفعال ارائه شود.

همچنین گروه پکیج های زیر در این سیستم عامل نصب شده است.

Base System > Base
Base System > Client management tools
Base System > Compatibility libraries
Base System > Hardware monitoring utilities
Base System > Large Systems Performance
Base System > Network file system client
Base System > Performance Tools
Base System > Perl Support
Servers > Server Platform
Servers > System administration tools
Desktops > Desktop
Desktops > Desktop Platform
Desktops > Fonts
Desktops > General Purpose Desktop
Desktops > Graphical Administration Tools
Desktops > Input Methods
Desktops > X Window System
Development > Additional Development
Development > Development Tools
Applications > Internet Browser

دانلود نرم افزار

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

OTN: Oracle Database 11g Release 2 (11.2.0.1) Software (64-bit)

unzip نمودن فایلها

# 11.2.0.1
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

شما باید همه فایلها را در یک پوشه مثلا با نام database کپی کرده و سپس unzip نمایید.

Hosts File

در فایل etc/hosts باید نام کامل سرور به شکل زیر درج شود.

<IP-address>  <fully-qualified-machine-name>  <machine-name>

مثال:

127.0.0.1       localhost.localdomain  localhost
192.168.10.181   db-server.localdomain    db-server

پیش نیازهای نصب

با نصب پکیج نرم افزاری “oracle-rdbms-server-11gR2-preinstall” تمامی پیشنیازهای مورد نظر در نصب دیتابیس انجام خواهد شد.
این پکیج همراه با سی دی نصب لینوکس ارائه شده است.

# yum install oracle-rdbms-server-11gR2-preinstall

با دستورات زیر پوشه ای که قرار است دیتابیس اوراکل را در آن نصب کنیم، ایجاد کرده و مجوزهای لازم را به آن می دهیم:

mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

خطوط زیر را به فایل home/oracle/.bash_profile اضافه نمایید:

ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE 
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=DB11G; export ORACLE_SID  
PATH=/usr/sbin:$PATH; export PATH 
PATH=$ORACLE_HOME/bin:$PATH; export PATH

شروع نصب

با یوزر oracle لاگین کنید و برای استفاده از حالت گرافیک X باید متغیر محیطی DISPLAY را به شکل زیر مقداردهی نمایید:

DISPLAY=<machine-name>:0.0; export DISPLAY

درون پوشه ای که دیتابیس اوراکل را در آن unzip کرده اید رفته و با دستور زیر برنامه نصب را اجرا کنید:

./runInstaller

شما می توانید مراحل نصب را در تصاویر زیر مشاهده نمایید:

نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1

نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1
نصب-اوراکل-دیتابیس-11g-برروی-اوراکل-لینوکس-6-1

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

در سازمان‌ها ، بانک ها و مؤسسات مالي و اعتباري امروزي، کنترل و مانيتورينگ پايگاه هاي داده يا بانک هاي اطلاعاتي از اهميت ويژه‌اي برخوردار است و اگر اين رکن را در برنامه ريزي هاي خود به حساب نياوريد، مي توان گفت که هيچ نوع مستندات يا محک عيني و قابل مشاهده براي نحوه رفتار پايگاه داده و بانک اطلاعاتي سازمان خود در اختيار نخواهيد داشت. اين امر و رويه به خصوص در ارائه خدمات آنلاين و آني که معمولاً در بانک ها، مؤسسات مالي و اعتباري و  سازمان هاي عمومي و دولتي مطرح مي شود، مشکلات عديده اي را ايجاد خواهد نمود، چراکه قطع ارائه خدمات به مشتريان و ارباب رجوع خسارات جبران ناپذيري را براي سازمان در پي خواهد داشت.
عدم وجود مانيتورينگ، علاوه بر افزايش ريسک ارائه خدمات برخط(آنلاين)،  قضاوت در مورد اينکه آيا تغييرات ايجاد شده در پايگاه داده تأثير مثبتي روي عملکرد کلي آن خواهد داشت يا خير را بسيار دشوار مي‌سازد.

گروه فنی و مهندسی وی سنتر آماده ارائه راهکارهای دیتابیس به مشتریان خود می باشد.

شماره تماس: 88884268