ব্যর্থ 2ban কেন এই আক্রমণকে নিষিদ্ধ করছে না?


10

আমি ssh পাসওয়ার্ডে ব্রুটফোর্স প্রচেষ্টা নিষিদ্ধ করতে ব্যর্থ 2ban ইনস্টল করেছি। এই মেশিনে পাসওয়ার্ড প্রমাণীকরণ অক্ষম না করার জন্য ব্যবসায়ের প্রয়োজনীয়তা রয়েছে।

ব্যর্থ2ban একই শেফ কুকবুক ব্যবহার করে ইনস্টল করা হয়েছিল যা কার্যকরভাবে অন্যান্য মেশিনে ssh আক্রমণকে নিষিদ্ধ করে। এখানে একটি এসএস জেল কনফিগার করা আছে:

# service fail2ban status
fail2ban-server (pid  5480) is running...
WARNING 'pidfile' not defined in 'Definition'. Using default one: '/var/run/fail2ban/fail2ban.pid'
Status
|- Number of jail:  1
`- Jail list:       ssh

ম্যানুয়ালি ব্যবহারকারীদের কাজ নিষিদ্ধ:

# fail2ban-client set ssh banip 103.41.124.46

তবে এটি কাউকে স্বয়ংক্রিয়ভাবে নিষিদ্ধ করেছে বলে মনে হয় না:

# cat /var/log/fail2ban.log
2014-11-20 18:23:47,069 fail2ban.server [67569]: INFO    Exiting Fail2ban
2014-11-20 18:44:59,202 fail2ban.server [5480]: INFO    Changed logging target to /var/log/fail2ban.log for Fail2ban v0.8.14
2014-11-20 18:44:59,213 fail2ban.jail   [5480]: INFO    Creating new jail 'ssh'
2014-11-20 18:44:59,214 fail2ban.jail   [5480]: INFO    Jail 'ssh' uses poller
2014-11-20 18:44:59,249 fail2ban.jail   [5480]: INFO    Initiated 'polling' backend
2014-11-20 18:44:59,270 fail2ban.filter [5480]: INFO    Added logfile = /var/log/secure
2014-11-20 18:44:59,271 fail2ban.filter [5480]: INFO    Set maxRetry = 6
2014-11-20 18:44:59,272 fail2ban.filter [5480]: INFO    Set findtime = 600
2014-11-20 18:44:59,272 fail2ban.actions[5480]: INFO    Set banTime = 300
2014-11-20 18:44:59,431 fail2ban.jail   [5480]: INFO    Jail 'ssh' started
2014-11-21 11:09:37,447 fail2ban.actions[5480]: WARNING [ssh] Ban 103.41.124.46
2014-11-21 11:10:32,602 fail2ban.actions[5480]: WARNING [ssh] Ban 122.225.97.75
2014-11-21 11:14:37,899 fail2ban.actions[5480]: WARNING [ssh] Unban 103.41.124.46
2014-11-21 11:15:32,976 fail2ban.actions[5480]: WARNING [ssh] Unban 122.225.97.75
2014-11-21 11:30:06,295 fail2ban.comm   [5480]: WARNING Command ['ban', 'ssh', '189.203.240.89'] has failed. Received Exception('Invalid command',)
2014-11-21 11:30:33,966 fail2ban.actions[5480]: WARNING [ssh] Ban 189.203.240.89
2014-11-21 11:35:34,303 fail2ban.actions[5480]: WARNING [ssh] Unban 189.203.240.89

উদাহরণস্বরূপ, এটি আক্রমণ এবং /var/log/messagesএটি নিষিদ্ধ করা উচিত ছিল:

Nov 21 07:51:32 my_hostname sshd[51074]: Failed password for root from 122.225.109.219 port 1788 ssh2
Nov 21 07:51:34 my_hostname sshd[51072]: Failed password for root from 122.225.109.219 port 58285 ssh2
Nov 21 07:51:35 my_hostname sshd[51076]: Failed password for invalid user admin from 122.225.109.219 port 2221 ssh2
Nov 21 07:51:35 my_hostname sshd[51074]: Failed password for root from 122.225.109.219 port 1788 ssh2
Nov 21 07:51:37 my_hostname sshd[51072]: Failed password for root from 122.225.109.219 port 58285 ssh2
Nov 21 07:51:37 my_hostname sshd[51074]: Failed password for root from 122.225.109.219 port 1788 ssh2
Nov 21 07:51:38 my_hostname sshd[51076]: Failed password for invalid user admin from 122.225.109.219 port 2221 ssh2
Nov 21 07:51:38 my_hostname sshd[51084]: Failed password for root from 122.225.109.219 port 3501 ssh2
Nov 21 07:51:39 my_hostname sshd[51072]: Failed password for root from 122.225.109.219 port 58285 ssh2

এটি লগ ইন করা হচ্ছে /var/log/secure:

Nov 25 16:06:40 cluster-122-1413591380-db sshd[75769]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:06:46 cluster-122-1413591380-db sshd[75769]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:06:48 cluster-122-1413591380-db sshd[75778]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:06:55 cluster-122-1413591380-db sshd[75778]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:06:57 cluster-122-1413591380-db sshd[75780]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:03 cluster-122-1413591380-db sshd[75780]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:05 cluster-122-1413591380-db sshd[75793]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:12 cluster-122-1413591380-db sshd[75793]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:13 cluster-122-1413591380-db sshd[75797]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:21 cluster-122-1413591380-db sshd[75797]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:22 cluster-122-1413591380-db sshd[75803]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:28 cluster-122-1413591380-db sshd[75803]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:29 cluster-122-1413591380-db sshd[75809]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:36 cluster-122-1413591380-db sshd[75809]: PAM 2 more authentication failures; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root
Nov 25 16:07:38 cluster-122-1413591380-db sshd[75811]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=103.41.124.41  user=root

এখানে আমার jail.local:

# Fail2Ban configuration file.
#
# The configuration here inherits from /etc/fail2ban/jail.conf. Any setting
# omitted here will take it's value from that file
#
# Author: Yaroslav O. Halchenko <snip>
#
#

# The DEFAULT allows a global definition of the options. They can be overridden
# in each jail afterwards.

[DEFAULT]

# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1/8
findtime = 600
bantime  = 300
maxretry = 5

# "backend" specifies the backend used to get files modification. Available
# options are "gamin", "polling" and "auto".
# yoh: For some reason Debian shipped python-gamin didn't work as expected
#      This issue left ToDo, so polling is default backend for now
backend = polling

#
# Destination email address used solely for the interpolations in
# jail.{conf,local} configuration files.
destemail = root@localhost

#
# ACTIONS
#

# Default banning action (e.g. iptables, iptables-new,
# iptables-multiport, shorewall, etc) It is used to define
# action_* variables. Can be overridden globally or per
# section within jail.local file
banaction = iptables-multiport

# email action. Since 0.8.1 upstream fail2ban uses sendmail
# MTA for the mailing. Change mta configuration parameter to mail
# if you want to revert to conventional 'mail'.
mta = sendmail

# Default protocol
protocol = tcp

# Specify chain where jumps would need to be added in iptables-* actions
chain = INPUT

#
# Action shortcuts. To be used to define action parameter

# The simplest action to take: ban only
action_ = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]

# ban & send an e-mail with whois report to the destemail.
action_mw = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
              %(mta)s-whois[name=%(__name__)s, dest="%(destemail)s", protocol="%(protocol)s", chain="%(chain)s"]

# ban & send an e-mail with whois report and relevant log lines
# to the destemail.
action_mwl = %(banaction)s[name=%(__name__)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
               %(mta)s-whois-lines[name=%(__name__)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]

# Choose default action.  To change, just override value of 'action' with the
# interpolation to the chosen action shortcut (e.g.  action_mw, action_mwl, etc) in jail.local
# globally (section [DEFAULT]) or per specific section
action = %(action_)s

#
# JAILS
#

# Next jails can inherit from the configuration in /etc/fail2ban/jail.conf.
# Enable any defined in that file jail by including
#
# [SECTION_NAME]
# enabled = true
#
# Optionally you may override any other parameter (e.g. banaction,
# action, port, logpath, etc) in that section within jail.local


[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 6

[ssh-iptables]

enabled = false

ফেলফ্যান কেন কাজ করছে না? পর্যায়ক্রমে, কেন এটি আমার ম্যানুয়াল হস্তক্ষেপ ব্যতীত আক্রমণকারীকে নিষিদ্ধ করেনি?


1
আপনার যে পোর্টটি সম্পর্কে উদ্বিগ্ন হওয়া উচিত তা সর্বদা 22 টি। দূরবর্তী বন্দরটি অপ্রাসঙ্গিক। আপনার জিজ্ঞাসা করা উচিত , কীভাবে পোর্টগুলি পরিবর্তন করবেন না, তবে কেন ব্যর্থ 2ban কাজ করছে না।
মাইকেল হ্যাম্পটন

আমি প্রশ্ন আপডেট করেছি।
লিও

1
2014-11-21 11:30:06,295 fail2ban.comm [5480]: WARNING Command ['ban', 'ssh', '189.203.240.89'] has failed. Received Exception('Invalid command',)আপনার দিকে তাকানোর সময় actionগুলি আপনি চালাচ্ছেন যে। কিছু ঠিক সেখানে যায় নি।
মাইকেল হ্যাম্পটন

1
এই ডেমন হুহ নামটির ভাল পছন্দ
আরিয়েল্নমজ

1
ঠিক আছে. ভবিষ্যতে, আপনার প্রশ্নগুলি থেকে এ জাতীয় গুরুত্বপূর্ণ তথ্য কখনই অপসারণ করবেন না (এবং পরবর্তীকালে সম্পাদনার জন্য ধন্যবাদ)
59-

উত্তর:


7

প্যারামিটারটি logpathলগ ফাইলের জন্য একটি পথে সেট করা উচিত যেখানে এসএসএইচ প্রচেষ্টা রেকর্ড হতে চলেছে So সুতরাং যদি /var/log/messagesতা /var/log/secureহয় তবে স্পষ্টতই ভুল।

logpathসঠিক ফাইল হিসাবে পরামিতি পরিবর্তন করুন।


1
/var/log/secureএকটি রেড হ্যাট থেকে প্রাপ্ত সিস্টেমের জন্য সঠিক হবে।
মাইকেল হ্যাম্পটন


1
/var/log/auth.log এছাড়াও কয়েকটি সিস্টেমে।
মারাত্মক_অররর

1
আপনার ডিস্ট্রিবিউশনের প্যাকেজটি ব্যর্থ 2 বা অস্বীকৃতির জন্য ব্যবহার করার চেষ্টা করুন, যেহেতু এটি আপনার ডিস্ট্রোর লেখক লগের জন্য পূর্বনির্ধারিত হবে। আপনি ব্যর্থ ফাইল যাতে সন্ধান করছে এমন কোনও লগ ফাইলটিতে প্রমাণীকরণ ব্যর্থতা লগ প্রেরণ করতে /etc/rsyslog.d/50-auth-logpath.conf (বা সমতুল্য) মতো একটি ফাইলও তৈরি করতে পারেন।
মারাত্মক_অররর

@ গার্জেন্ট: বিলম্বিত প্রতিক্রিয়ার জন্য দুঃখিত। আমি এক্ষেত্রে আপনার উত্তরটি মানতে নারাজ কারণ তথ্যটি কেবলমাত্র / var / লগ / বার্তাগুলিতে নয় / var / লগ / নিরাপদে লগ করা হচ্ছে। আমি এটি পোস্টে যুক্ত করেছি। আপনি কি দয়া করে একবার দেখতে পারেন?
লিও

5

RHEL এবং CentOS এ, প্রমাণীকরণের ত্রুটিগুলি / var / লগ / বার্তা বা / var / লগ সুরক্ষায় যায়:

# cat /etc/rsyslog.conf | grep auth
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages
# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

ডিফল্টরূপে, এসএসডিটি এসআইএসএইচএসএলএফএটিএইচএসএটি-র সাথে কনফিগার করা হয়েছে, যা / var / লগ / বার্তাগুলিতে যায়। আপনি যদি নীচে / etc / ssh / sshd_config ওভাররাইড করে থাকেন তবে এটি পরিবর্তে / var / লগ / নিরাপদে যাবে:

SyslogFacility AUTHPRIV

আমি সফ্টলায়ার ক্লাউডে মেশিনগুলির সাথে কাজ করছি এবং তাদের বেস চিত্র কনফিগারেশনটি গত বছরের একসময় এএইচপিআরআইভি থেকে এএইচটিতে পরিবর্তিত হয়েছে।

ডিফল্টরূপে, ব্যর্থ2ban /etc/fail2ban/jail.local এ নিম্নলিখিত কারাগার রয়েছে:

[ssh]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 6

আমি /etc/fail2ban/jail.local এ দ্বিতীয় জেল যুক্ত করার পরামর্শ দিচ্ছি:

[ssh-log-messages]

enabled = true
port = ssh
filter = sshd
logpath = /var/log/messages
maxretry = 6

এরপরে, দ্বিতীয় কারাগার কার্যকর করতে ব্যর্থতা 2 পুনরায় চালু করুন:

service fail2ban restart

বিকল্প পদ্ধতি হ'ল /etc/fail2ban/filter.d/sshd.conf এ sshd রেজেক্স প্রসারিত করা। আইপি নিষিদ্ধ করার জন্য উভয় / var / লগ / সুরক্ষিত এবং / var / লগ / বার্তাগুলিতে পর্যাপ্ত তথ্য রয়েছে। দুর্ভাগ্যক্রমে, ব্যর্থ2ban বিকল্প রেজেক্স যোগ না করে সমস্ত বার্তাকে পার্স করতে পারে না। এটি একটি অনুশীলন হিসাবে বাকি আছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.