اطلاعیه

بستن
No announcement yet.

بلاک/مسدود کردن حملات Brute Force به سرور لینوکس با استفاده از DenyHosts

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    بلاک/مسدود کردن حملات Brute Force به سرور لینوکس با استفاده از DenyHosts

    DenyHost یک برنامه ی امنیتی log-based رایگان و متن باز برای پیشگیری از نفوذ به سرورهای لینوکس تحت SSH است، که توسط فیل اسچوارتز به زبان پایتون نوشته شده است که برای مانیتور و تحلیل لاگ های سرور SSH برای بررسی لاگین های نامعتبر در نظر گرفته شده است، حملات dictionary based و brute force توسط بلاک کردن منشاء آدرس های IP مهار می شوند، با اضافه کردن آنها در فایل /etc/hosts.deny برروی سرور اجازه تلاش برای لاگین های بعدی از آنها گرفته می شود.
    نحوه مسدود کردن حملات به سرور لینوکس






    DenyHost ابزار مورد نیاز برای تمامی سیستمهای مبتنی بر لینوکس است، مخصوصا زمانی که ما لاگین از طریق پسورد به ssh فعال است. در این مقاله ما به شما نشان خواهیم داد که چگونه DenyHost را با استفاده از RHEL 6.3/6.2/6.1/6/5.8، CentOS 6.3/6.2/6.1/6/5.8 و Fedora 17,16,15,14,13,12 با ریپازیتوری epel برروی سیستم نصب و پیکربندی کنید.



    نصب DenyHosts برروی RHEL،CentOS و Fedora

    به صورت پیش فرض ابزار DenyHosts برروی سیستم های لینوکس نمی باشد، ما نیاز داریم که آن را با استفاده از ریپازیتوری epel نصب کنیم. هنگامی که ریپازیتوری را اضافه کردید، آنرا با استفاده از YUM نصب کنید.
    کد:
    # yum --enablerepo=epel install denyhosts
    OR
    # yum install denyhosts


    پیکربندی DenyHosts برای IP آدرس های whitelist (معتبر)

    هنگامیکه DenyHosts نصب شد، اطمینان حاصل کنید که آدرس های IP تان در whitelist است، بنابراین شما هرگز lock نخواهید شد. برای این کار فایل /etc/hosts.allow را باز کنید.
    کد:
    # vi /etc/hosts.allow
    زیرا توضیحات، هر آدرس IP ی را در خط جداگانه ای اضافه کنید، سپس شما هرگز بلاک نخواهید شد. به شکل زیر نگاه کنید.
    کد:
    #
    # hosts.allow   This file contains access rules which are used to
    #               allow or deny connections to network services that
    #               either use the tcp_wrappers library or that have been
    #               started through a tcp_wrappers-enabled xinetd.
    #
    #               See 'man 5 hosts_options' and 'man 5 hosts_access'
    #               for information on rule syntax.
    #               See 'man tcpd' for information on tcp_wrappers
    #
    sshd: 172.16.25.125
    sshd: 172.16.25.126
    sshd: 172.16.25.127


    پیکربندی DenyHosts برای هشدارهای ایمیل

    پیکربندی اصلی فایل در /etc/denyhosts.conf قرار داده شده است. این فایل برای ارسال هشدارهای ایمیلی در مورد لاگین های مشکوک بکار می رود. فایل مذکور را با ادیتور VI باز کنید.
    کد:
    # vi /etc/denyhosts.conf


    ADMIN_EMAIL را جستجو کنید و آدرس ایمیلتان را برای دریافت ایمیل های هشدار دهنده درباره ی لاگین های مشکوک وارد کنید. (برای وارد کردن چندین آدرس ایمیل با کاما جدا کنید.) لطفا به فایل پیکربندی سرور CentOs 6.3 من نگاهی بیاندازید. هر متغیر به خوبی مستند شده است، بنابراین با توجه به ایمیل خود آنرا پیکربندی کنید.
    کد:
    ############ DENYHOSTS REQUIRED SETTINGS ############
    SECURE_LOG = /var/log/secure
    HOSTS_DENY = /etc/hosts.deny
    BLOCK_SERVICE  = sshd
    DENY_THRESHOLD_INVALID = 5
    DENY_THRESHOLD_VALID = 10
    DENY_THRESHOLD_ROOT = 1
    DENY_THRESHOLD_RESTRICTED = 1
    WORK_DIR = /var/lib/denyhosts
    SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
    HOSTNAME_LOOKUP=YES
    LOCK_FILE = /var/lock/subsys/denyhosts
     
    ############ DENYHOSTS OPTIONAL SETTINGS ############
    ADMIN_EMAIL = mohammad@linux-zone.org
    SMTP_HOST = localhost
    SMTP_PORT = 25
    SMTP_FROM = DenyHosts <mohammad@linux-zone.org>
    SMTP_SUBJECT = DenyHosts Daily Report
     
    ############ DENYHOSTS OPTIONAL SETTINGS ############
    DAEMON_LOG = /var/log/denyhosts
    DAEMON_SLEEP = 30s
    DAEMON_PURGE = 1h


    Restart کردن سرویس DenyHosts

    هنگامیکه شما پیکربندی تان را انجام دادید، برای اعمال تغییرات، سرویس DenyHosts را ریستارت کنید. ما همچنین سرویس DenyHosts را به بوت سیستم اضافه می کنیم.
    کد:
    # chkconfig denyhosts on
    # service denyhosts start


    دیدن لاگ های DenyHosts

    برای دیدن لاگ های ssh، denyhosts و چگونگی حملات مهاجمین و هکر ها به سرورتان همانند دستور زیر عمل کنید.
    کد:
    # tail -f /var/log/secure
    
    Nov 28 15:01:43 mohammad sshd[25474]: Accepted password for root from 172.16.25.125 port 4339 ssh2
    Nov 28 15:01:43 mohammad sshd[25474]: pam_unix(sshd:session): session opened for user root by (uid=0)
    Nov 28 16:44:09 mohammad sshd[25474]: pam_unix(sshd:session): session closed for user root
    Nov 29 11:08:56 mohammad sshd[31669]: Accepted password for root from 172.16.25.125 port 2957 ssh2
    Nov 29 11:08:56 mohammad sshd[31669]: pam_unix(sshd:session): session opened for user root by (uid=0)
    Nov 29 11:12:00 mohammad atd[3417]: pam_unix(atd:session): session opened for user root by (uid=0)
    Nov 29 11:12:00 mohammad atd[3417]: pam_unix(atd:session): session closed for user root
    Nov 29 11:26:42 mohammad sshd[31669]: pam_unix(sshd:session): session closed for user root
    Nov 29 12:54:17 mohammad sshd[7480]: Accepted password for root from 172.16.25.125 port 1787 ssh2


    حذف آدرس IP های مسدود/منع شده از DenyHosts

    اگر به طور تصادفی بلاک شده اید و می خواهید آدرس IP ی بلاک شده را از denyhosts خارج کنید. شما باید سرویس را stop کنید.
    کد:
    # /etc/init.d/denyhosts stop

    برای حذف آدرس IP ی بلاک/مسدو/منع شده به صورت کامل، شما نیاز دارید که فایل های زیر را ادیت کنید و آدرس IP را حذف کنید.
    کد:
    # vi /etc/hosts.deny
    # vi /var/lib/denyhosts/hosts
    # vi /var/lib/denyhosts/hosts-restricted
    # vi /var/lib/denyhosts/hosts-root
    # vi /var/lib/denyhosts/hosts-valid
    # vi /var/lib/denyhosts/users-hosts
    بعد از حذف آدرس IP دوباره سرویس را ریستارت کنید.
    کد:
    # /etc/init.d/denyhosts start
    آدرس IPی متخلف در تمامی فایل های زیر دایرکتوری /var/lib/denyhosts اضافه شده است، بنایراین بسیار مشکل است تشخیص اینکه چه فایل هایی شامل آدرس IP ی مورد نظر هستند. اما بهترین راه برای جستجوی آدرس IP استفاده از دستور grep می باشد. برای مثال یافتن آدرس IP ی 172.16.25.125 را در زیر نشان داده ایم.
    کد:
    cd /var/lib/denyhosts
    grep 172.16.25.125 *


    اضافه کردن IP آدرس های معتبر دائمی در DenyHosts

    اگر شما لیستی از آدرس های IP استاتیک دارید که می خواهید به طور دائمی در whitelist باشند. فایل /var/lib/denyhosts/allowed-hosts را باز کنید. هر چه آدرس IP در این فایل است به طور پیش فرض منع نشده است. (توجه کنید که این یک whitelist است.)
    کد:
    # vi /var/lib/denyhosts/allowed-hosts
    هر آدرس IP را در خط جداگانه ای اضافه کنید. و ذخیره کرده و فایل را ببندید.
    کد:
    # We mustn't block localhost
    127.0.0.1
    172.16.25.125
    172.16.25.126
    172.16.25.127

    همچنین توصیه میشود مطالعه کنید :

    5 نمونه از بهترین روش ها برای امنیت و نگهداری سرورهای لینوکس

    نحوه فعال کردن احراز هویت دو مرحله ای هنگام ssh (توسط Google Authentication)

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

    استفاده از Pam_Tally2 برای Lock کردن و Unlock کردن login های Fail شده به SSH


    موفق باشید
    ه.ا.ب.ی.ل.ی.///
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-25-2021, 01:11 AM.
    اینستاگرام انجمن لینوکس ایران : https://www.instagram.com/iranlinuxforum

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

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

شبکه های اجتماعی

ایمیل مدیریت

Habili@linux-zone.org

در حال انجام ...
X