تلفن: 09037289910

بایگانی

آموزش نصب و دستورات فایروال CSF

CSF:

مخفف ConfigServer Security & Firewall یکی از بهترین و قدرتمند ترین فایروال های لینوکسی برای مدیریت iptables میباشد که میتوانید آن را روی کنترل پنل های دایرکت ادمین (DirectAdmin) , سی پنل(Cpanel) و وب مین (Webmin) نصب کنید.این فایروال کاملا رایگان و اوپن سورس میباشد.

 

نیازمندی ها جهت نصب فایروال CSF :

  • سرور لینوکسی (توزیع های CentOS, Debian,Ubuntu Server,Fedoram,Slackware,openSUSE,Redhat)
  • دسترسی روت به سرور جهت نصب فایروال

اگه سرور تهیه نکردید میتوانید هم اکنون سفارش دهید.

برای نصب CSF ابتدا از طریق SSH به سرور متصل بشید.اگر سرویس ssh رو نصب  و کانفیگ نکردید و باهاش آشنایی ندارید پست زیر را مطالعه کنید

آموزش کامل SSH

برای نصب در سی پنل، وب مین و دایرکت ادمین خب بعد از اینکه به سرور متصل شدید و به مسیر /usr/src برید با استفاده از دستور cd

cd /usr/src

سپس دستور زیر را وارد کنید که اگر از گذشته فایل دانلودی مربوط به CSF موجود هست پاک گردد.

rm -fv csf.tgz

سپس اسکریپت CSF را توسط دستور wget دانلود نمایید.

wget https://download.configserver.com/csf.tgz

و پس از آن فایل csf.tgz را با استفاده از دستور  tar از حالت فشرده خارج کنید.

tar -xzf csf.tgz

حاصل اکسترکت فایل csf فولدری است به نام  csf با استفاده از دستور cd به فولدر csf رفته و فایل اسکریپت نصب آن را با استفاده از دستور sh اجرا نمایید.

cd csf
sh install.sh

 

سپس با استفاده از دستور زیر ماژول های iptables مورد نیاز csf میباشد را بررسی و تست کنید.

perl /usr/local/csf/bin/csftest.pl

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

تست ماژول های iptables که مورد نیاز csf است
تست ماژول های iptables که مورد نیاز csf است
root@server [~]# perl /usr/local/csf/bin/csftest.pl
Testing ip_tables/iptable_filter...OK
Testing ipt_LOG...OK
Testing ipt_multiport/xt_multiport...OK
Testing ipt_REJECT...OK
Testing ipt_state/xt_state...OK
Testing ipt_limit/xt_limit...OK
Testing ipt_recent...OK
Testing xt_connlimit...OK
Testing ipt_owner/xt_owner...OK
Testing iptable_nat/ipt_REDIRECT...OK
Testing iptable_nat/ipt_DNAT...OK

RESULT: csf should function on this server
root@server [~]# 

اما نکته ای را باید در وب مین به آن توجه داشته باشید . وارد وب مین شده و به مسیر زیر مراجعه کرده و فایل csfwebmin.tgz را از مسیر /usr/local/csf انتخاب کنید

  Webmin > Webmin Configuration > Webmin Modules >
  From local file > /usr/local/csf/csfwebmin.tgz > Install Module

و روی install module کلیک کنید.

تبریک !‌شما توانستید فایروال csf را نصب کنید.حال به کنترل پنل خود مراجعه کنید ادرس ورود به کنترل پنل سی پنل و دایرکت ادمین به صورت زیر میباشد.

cpanel :

http://your-ip:2086

Directadmin:

http://your-ip:2222

WebMin : 

http://your-ip:10000

پس از ورود در بین پلاگین ها به دنبال ConfigServer Security & Firewall بگردید و روی آن کلیک کرده و از قسمت csf – ConfigServer Firewall برای فعال کردن فایروال گزینه Firewall enable را انتخاب کنید تا فعال گردد.

همچنین باید فایروال را از حالت تستینگ(Testing) خارج کنید که برای این کار از بخش csf – ConfigServer Firewall گزینه Firewall configuration را انتخاب کرده و TESTING را OFF کنید یا به ۰ تغییر دهید.

نکته : ۰ به معنای off بودن و ۱ به معنای on بودن است.

یا فایل کانفیگ csf را با استفاده از دستور زیر در مسیر /etc/csf/csf.conf ادیت کرده و TESTING = “1” را به TESTING = “0” تغییر دهید.

nano /etc/csf/csf.conf

یا با استفاده از دستور sed به راحتی این تغییر را انجام دهید.

sed -i 's|TESTING = "1"|TESTING = "0"|g' /etc/csf/csf.conf

 

برای پاک کردن فایروال csf کافیست به مسیری که فایل های کانفیگ و تنظیمات csf قرار دارد مراجعه کنید و فایل uninstall.sh را با دستور sh اجرا کنید.

cd /etc/csf
sh uninstall.sh

حال میپردازیم به برخی از دستورات csf در ترمینال :

برای استارت کردن csf دستور :‌

csf -e

برای خاموش کرده csf دستور:

csf -x

برای ریستارت کردن csf دستور:

csf -a

برای بلاک کردن ای پی دستور:‌

csf -d ip [comment]

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

csf -a ip [comment]

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

csf -dr ip

برای خارج کردن ای پی از لیست سفید دستور:

csf -ar ip

به جای ip آی پی که میخواهید بلاک/باز کنید را بنویسید.

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

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

csf -df

برای چک کردن آپدیت csf دستور:

csf -c

برای مطالعه کامل راهنمای csf کافیست دستور زیر را تایپ کنید:

csf -h

و اما csf چه سیستم عامل هایی رو پشتیبانی میکنه و میتوانید آن را نصب کنید ؟

RHEL مخفف RedHat Enterprise Linux  ورژن های ۳ تا ۷

Centos ورژن های ۳ تا ۷

Cloudlinux  ورژن های ۳ تا ۷

Ubuntu ورژن های ۶ تا ۱۶

Debian ورژن های ۳ تا ۸

Fedora ورژن های ۱ تا ۲۳

Slackware ورژن ۱۲

openSUSE ورژن ۱۰ به بعد

 

csf چه مجازی ساز های را پشتیبانی میکند ؟

VMware

KVM

VirtualBox

Openvz

Xen

 

آموزش کامل SSH

SSH:

مخفف Secure Shell میباشد که برای دسترسی از راه دور به سرور میباشد. در این پست بهتون نحوه نصب، کانفیگ و استفاده SSH را می آموزیم.

میتوانید فیلم زیر را مشاهده و دانلود نمایید یا طبق آموزشی متنی زیر فیلم پیش بروید.

 

دانلود فیلم آموزشی نحوه نصب، کانفیگ و استفاده از سرویس SSH

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

نکته : در توزیع CentOS به صورت خودکار SSH نصب و فعال میباشد.

 

در توزیع های خانواده ردهت مانند Centos , Fedora و ..کافیست بسته openssh را با دستور زیر نصب کنید.

sudo yum install openssh

برای استارت کردن سرویس SSH دستور زیر را اجرا کنید.

sudo servie sshd start

برای اینکه همیشه نیاز نباشه سرویس SSH را ران کنید از دستور زیر استفاده کنید.

sudo chkconfig sshd on

در ArchLinux و توزیع های بر پایه آرچ لینوکس کافیست بسته openssh را با دستور زیر نصب کنید.

sudo pacman -S openssh

 

در ubuntu و توزیع های خانواده دبیانکافیست بسته openssh-server را با دستور زیر نصب کنید.

sudo apt-get install openssh-server

در ابونتو و آرچ لینوکس برای استارت کردن سرویس SSH و اینکه همیشه نیاز نباشه سرویسش رو استارت کنید از دستورات زیر استفاده کنید.

sudo systemctl start sshd.service
sudo systemctl enable sshd.service

نکته :‌ اگر دسترسی روت به سرور دارید نیازی به زدن sudo اول دستور نیست.

 

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

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

ssh user@ip -p port

با استفاده از دستور ssh در لینوکس میتوانید به سرور خود متصل گردید.(در مک هم نیز جواب گو هست)

user: نام کابری شما

ip: ای پی سرور شما

-p : پورت  SSH هست که به صورت دیفالت ۲۲ هست که اگر تغییر نداده اید نیازی نیست از فلگ -p  استفاده کنید اما اگر پورت SSH رو تغییر داده اید باید از فلگ -P استفاده کنید به صورت  یک فاصله و شماره پورت رو جلوش وارد کنید!  و اما اگر تغییر نداده اید در ادامه بهتون میگم چطوری پورت SSH رو تغییر بدید!

 

اما ابزاری هم در لینوکس هست که با استفاده از اون میتونید از طریق SSH به سرورتون متصل بشید مثل ابزار remmina یا putty

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

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

ظاهر برنامه به شکل زیر میباشد

 

نحوه نصب و کانفیگ و استفاده از سرویس SSH + آموزش ویدئویی

که در قسمت hostname (or ip) باید هاست نیم (Hostname) یا آی‌پی (ip) سرور خود را وارد کنید.

نکته: میتوانید به صورت user@ip هم در این قسمت وارد کنید یعنی یوزر شما @ ای پی سرور 

در قسمت port هم پورت SSH خود را وارد کنید. و سپس روی open کلیک کنید تا فرایند اتصال انجام گیرد.

برای تغییر پورت SSH ابتدا به مسیر  زیر مراجعه کنید با استفاده از دستور cd :

نکته : با استفاده از دستور cd میتوانید بین دایرکتوری ها حرکت کنید.

cd /etc/ssh

سپس فایل کانفیگ SSH را با نام sshd_config ویرایش کنید با استفاده از ویرایشگر نانو(nano):

نکته : نانو(nano) یکی از معروف ترین ویرایشگر های خط فرمان لینوکس میباشد.

sudo nano sshd_config

و سه پس به دنبال عبارت زیر بگردید.

#Port 22

اگر نتوانستید پیدا کنید ctrl+w را بفشارید و Port را سرچ کنید توجه کنید با P بزرگ.

و این خط را از حالت کامنت خارج کنید برای خارج کردن کامنت # را حذف کرده  و به جای ۲۲ پورت مورد نظر خود را بنویسید.

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

پس از این کار با Ctrl+x را بفشارید از شما سوال میکند که تغییرات رو سیو کند یا خیر ؟ y به معنای تایید و بله هست و n به معنای خیر.y را تایپ کرده و اینتر را بفشارید.

تبریک میگم پورت اس اس اچ رو با موفقیت تغییر دادید حالا سرویس SSH را با دستور ریستارت کنید و با پورت جدید متصل بشید و لذت ببرید.(برای توزیع های مختلف دستور مشخص شده.)

Centos, Fedora 

sudo service sshd restart

ArchLinux, Ubuntu, Debian

sudo systemctl restart sshd.service

 

بد نیست به یک نکته اشاره بکنیم ! چطوری از ورود یوزر root به سرور از طریق SSH جلوگیری کنیم ؟

برای این کار فایل کانفیگ SSH را دوباره ادیت میکنیم

sudo nano /etc/ssh/sshd_config

و به به دنبال

#PermitRootLogin yes

به گردید و از حالت کامنت آن را خارج کرده و yes را به no تغییر دهید.

سپس سرویس SSH را ریستارت کنید.(در دستورات بالا گفتیم چگونه ssh را ریستارت کنید.)

اکنون دیگر یوزر root توانایی اتصال به سرور از طریق SSH را ندارد.

با استفاده از دستور useradd یک یوزر جدید بسازید به طور مثال hosthey

sudo useradd hosthey

سپس آن را به گروه sudoer ها اضافه نمایید

sudo visudo

و خط زیر را اضافه و سیو کنید.

hosthey ALL=(ALL) ALL

زین پس با یوزر hosthey اول هر دستوری که sudo بذارید از شما درخواست پسورد کرده که با زدن پسورد دسترسی های لازم را گرفته و اجرا میگردد.

مورد آخر هم میخواییم در مورد اینکه چطوری دسترسی به ssh رو کلا ببندیم و فقط به یک یا یکسری آی پی خاص دسترسی بدیم که بتونن از طریق ssh متصل بشن به سرور!‌خب بیایید شروع کنیم ابتدا فایل hosts.allow را در مسیر /et ویرایش کنید.

sudo nano /etc/hosts.allow

سپس عبارت زیر را به آن بیفزایید

به جای ipaddress آی پی مورد نظر خود را وارد کنید.

SSHD : ipaddress : ALLOW

خب ما با این کار فقط به یک آی پی اجازه دادیم به سرویس ssh بتونه متصل بشه اما ! تعریف نکردیم که تکلیف مابقی ای پی ها چیه!‌ باید  دسترسی مابقی ای پی ها رو ببندیم ! پس میایم فایل hosts.deny در مسیر /etc ویرایش میکنیم

sudo nano /etc/hosts.deny

و خطر زیر رو بهش اضافه میکنیم

SSHD : ALL : DENY

این یعنی دسترسی همه ای پی ها بهش بسته باشه به جز ای پی هایی که داخل فایل hosts.allow مشخص کردیم.

و در نهایت سرویس ssh رو ریستارت کنید و از تنظیماتی که انجام دادید لذت ببرید.

 

امیدواریم از این آموزش لذت برده باشید.