Go to file
Alan Jenkins 8c38907016 Misconfigured DNS should not ban *successful* ssh logins
Noticed while looking at the source (to see the point of ssh-ddos).

POSSIBLE BREAK-IN ATTEMPT - sounds scary?  But keep reading
the message.  It's not a login failure.  It's a warning about
reverse-DNS.  The login can still succeed, and if it _does_ fail,
that will be logged as normal.

<exhibit n="1">
Jul  9 05:43:00 brick sshd[18971]: Address 200.41.233.234 maps to host234.advance.com.
ar, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!
Jul  9 05:43:00 brick sshd[18971]: Invalid user html from 200.41.233.234
</exhibit>

The problem (in my mind) is that some users are stuck with bad dns.
The warning won't stop them from logging in.  I'm pretty sure they can't
even see it.  But when they exceed a threshold number of logins -
which could be all successful logins - fail2ban will trigger.

fail2ban shouldn't adding additional checks to successful logins
 - it goes against the name fail2ban :)
 - the first X "POSSIBLE BREAK-IN ATTEMPT"s would be permitted anyway
 - if you want to ban bad DNS, the right way is PARANOID in /etc/hosts.deny

I've checked the source of OpenSSH, and this will only affect the
reverse-DNS error.  (I won't be offended if you want to check
for yourself though ;)

<exhibit n="2">
$ grep -r -h -C1 'ATTEMPT' openssh-5.5p1/
                logit("reverse mapping checking getaddrinfo for %.700s "
                    "[%s] failed - POSSIBLE BREAK-IN ATTEMPT!", name, ntop);
                return xstrdup(ntop);
--
                logit("Address %.100s maps to %.600s, but this does not "
                    "map back to the address - POSSIBLE BREAK-IN ATTEMPT!",
                    ntop, name);
$
</exhibit>
2012-07-13 21:41:58 +01:00
client ENH: Add usedns parameter for the jails 2012-01-12 23:23:41 -05:00
common ENH: Add usedns parameter for the jails 2012-01-12 23:23:41 -05:00
config Misconfigured DNS should not ban *successful* ssh logins 2012-07-13 21:41:58 +01:00
doc DOC: a bit extended and reordered run-rootless.txt 2012-01-07 21:08:34 -05:00
files Fix Gentoo initd script (drop extra_commands) 2012-04-21 22:24:51 -04:00
man FIX: direct users to issues on github instead of bothering cyril 2012-01-07 19:03:11 -05:00
server BF: usedns=no was not working at all 2012-06-15 23:43:11 -04:00
testcases BF: usedns=no was not working at all 2012-06-15 23:43:11 -04:00
.gitignore added rudimentary .gitignore 2011-11-18 11:50:49 -05:00
.project - Added Eclipse project file 2006-10-17 21:24:27 +00:00
.pydevproject - Removed Python 2.4. Minimum required version is now Python 2.3. 2007-12-16 21:38:04 +00:00
.pylintrc ENH: added a .pylintrc to help with consistent appearance and catch obvious problems 2011-10-04 10:55:16 -04:00
COPYING - Added ISO 8601 date/time format. 2008-05-18 19:53:18 +00:00
ChangeLog Changelog and version changes for 0.8.6 2011-11-28 22:46:04 -05:00
DEVELOP clarified that the are existing test cases and the 'coming soon' is about creating new ones. 2012-06-26 23:16:16 -04:00
MANIFEST Added pyinotify backend 2011-12-30 00:18:52 -05:00
README Added pyinotify requirements to README 2012-01-08 14:27:00 -05:00
THANKS DOC: moved THANKS into a THANKS file for better visibility, concise README 2011-10-03 15:21:35 -04:00
TODO minor comment into TODO 2012-01-26 23:43:47 -05:00
fail2ban-client Update Free Software Foundation's address 2011-12-30 12:41:46 -05:00
fail2ban-regex BF: fail2ban-regex -- adding forgotten char for -v 2012-02-18 20:12:23 -05:00
fail2ban-server Update Free Software Foundation's address 2011-12-30 12:41:46 -05:00
fail2ban-testcases ENH: be able to control verbosity from cmdline for fail2ban-testcases 2012-06-15 22:21:16 -04:00
kill-server - Initial commit of the new development release 0.7 2006-06-26 20:05:00 +00:00
setup.cfg - Now Fail2ban goes in /usr/share/fail2ban instead of /usr/lib/fail2ban. This is more compliant with FHS. Thanks to Axel Thimm and Yaroslav Halchenko 2007-01-04 12:58:21 +00:00
setup.py Update Free Software Foundation's address 2011-12-30 12:41:46 -05:00

README

                         __      _ _ ___ _               
                        / _|__ _(_) |_  ) |__  __ _ _ _  
                       |  _/ _` | | |/ /| '_ \/ _` | ' \ 
                       |_| \__,_|_|_/___|_.__/\__,_|_||_|

================================================================================
Fail2Ban (version 0.8.6)                                              2011/11/28
================================================================================

Fail2Ban scans log files like /var/log/pwdfail and bans IP that makes too many
password failures. It updates firewall rules to reject the IP address. These
rules can be defined by the user. Fail2Ban can read multiple log files such as
sshd or Apache web server ones.

This README is a quick introduction to Fail2ban. More documentation, FAQ, HOWTOs
are available on the project website: http://www.fail2ban.org

Installation:
-------------

Required:
   >=python-2.3 (http://www.python.org)

Optional:
   pyinotify:
      >=linux-2.6.13
      >=python-2.4
      >=pyinotify-0.8.3 (https://github.com/seb-m/pyinotify)
   Gamin:
      >=gamin-0.0.21 (http://www.gnome.org/~veillard/gamin)

To install, just do:

> tar xvfj fail2ban-0.8.6.tar.bz2
> cd fail2ban-0.8.6
> python setup.py install

This will install Fail2Ban into /usr/share/fail2ban. The executable scripts are
placed into /usr/bin.

It is possible that Fail2ban is already packaged for your distribution. In this
case, you should use it.

Fail2Ban should be correctly installed now. Just type:

> fail2ban-client -h

to see if everything is alright. You should always use fail2ban-client and never
call fail2ban-server directly.

Configuration:
--------------

You can configure Fail2ban using the files in /etc/fail2ban. It is possible to
configure the server using commands sent to it by fail2ban-client. The available
commands are described in the man page of fail2ban-client. Please refer to it or
to the website: http://www.fail2ban.org

Contact:
--------

Website: http://www.fail2ban.org

You need some new features, you found bugs: visit
https://github.com/fail2ban/fail2ban/issues
and if your issue is not yet known -- file a bug report.

If you would like to troubleshoot or discuss: join the mailing list
https://lists.sourceforge.net/lists/listinfo/fail2ban-users

If you just appreciate this program: send kudos to the original
author: Cyril Jaquier: <cyril.jaquier@fail2ban.org>


Thanks:
-------

See THANKS file.

License:
--------

Fail2Ban is free software; you can redistribute it and/or modify it under the
terms of the GNU General Public License as published by the Free Software
Foundation; either version 2 of the License, or (at your option) any later
version.

Fail2Ban is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with
Fail2Ban; if not, write to the Free Software Foundation, Inc., 59 Temple Place,
Suite 330, Boston, MA  02111-1307  USA