• Stars
    star
    1,615
  • Rank 28,979 (Top 0.6 %)
  • Language
    C#
  • License
    MIT License
  • Created almost 13 years ago
  • Updated 3 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Since 2011, IPBan is the worlds most trusted, free security software to block hackers and botnets. With both Windows and Linux support, IPBan has your dedicated or cloud server protected. Upgrade to IPBan Pro today and get a discount. Learn more at โ†“

IPBan - Free software to block out attackers quickly and easily on Linux and Windows

Github Sponsorship Donate Build Status

Helpful Links

Requirements

  • IPBan free version requires .NET 6 SDK to build and debug code. For an IDE, I suggest Visual Studio Community for Windows, or VS code for Linux. All are free. You can build a self contained executable to eliminate the need for dotnet core on the server machine, or just download the precompiled binaries in releases.
  • Running and/or debugging code requires that you run your IDE or terminal as administrator or root.
  • Officially supported platforms: Windows 8.1 or newer (x86, x64), Windows Server 2012 or newer (x86, x64), Linux (Ubuntu, Debian, CentOS, RedHat x64). Windows Server 2008 will work with some tweaks, but it is basically at end of life, so no longer officially supported. Please note that for CentOS and RedHat Linux, you will need to manually install iptables and ipset using yum package manager.
  • Mac OS X not supported at this time.

Features

  • Auto ban ip addresses on Windows and Linux by detecting failed logins from event viewer and/or log files. On Linux, SSH is watched by default. On Windows, RDP, OpenSSH, VNC, MySQL, SQL Server and Exchange are watched. More applications can easily be added via config file.
  • Highly configurable, many options to determine failed login count threshold, time to ban, etc.
  • Make sure to check out the ipban.config file (formerly named DigitalRuby.IPBan.dll.config, see IPBanCore project) for configuration options, each option is documented with comments.
  • Banning happens basically instantly for event viewer. For log files, you can set how often it polls for changes.
  • Very fast - I've optimized and tuned this code since 2012. The bottleneck is pretty much always the firewall implementation, not this code.
  • Unban ip addresses easily by placing an unban.txt file into the service folder with each ip address on a line to unban.
  • Works with ipv4 and ipv6 on all platforms.
  • Please visit the wiki at https://github.com/DigitalRuby/IPBan/wiki for lots more documentation.

Download

Install

Please note that for IPBan Pro, you can find install instructions at https://ipban.com/Docs/Install. These install instructions here on github are for the free IPBan version.

Windows

  • IPBan is supported on Windows Server 2012 and Windows 8, or newer.
  • Easy one click install, open admin powershell and run:
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Windows/Scripts/install_latest.ps1'))

Note: Powershell 5.1 or greater is required.

Additional Windows Notes

  • Windows Server 2012 and Windows 8 are nearing end of life. Upgrading to a newer Windows version is highly recommended. Support will drop for these Windows versions on January 1, 2024.
  • For Windows Server 2012 only: Disable NLA and enable NTLM. Otherwise ip addresses of remote connections do not show up in the event viewer. There is no known workaround that I know of to fix this, other than turning off NLA and enabling NTLM. Newer Windows (Server 2016+, Windows 10+) are not impacted by this problem.
  • Please ensure your server and clients are patched before making the above change: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018. You need to manually edit group policy as specified in the link.
  • On Windows Server running Exchange, it is impossible to disable NTLM (deny all clients in Security restrict ntlm incoming ntlm traffic) as then Outlook on client computers permanently asks users for entering username and password. To workaround this, set LAN Manager authenticating level in Security Options of Local Policies to "Send NTLMv2 response only. Refuse LM & NTLM". There is one small issue โ€“ when somebody tries to login with an undefined username, the log does not contain an IP address. Not sure why Microsoft can't log an ip address properly.
  • If using Exchange, disabling app pool 'MSExchangeServicesAppPool' can eliminate quite a lot of problems in the event viewer with ip addresses not being logged.

Linux

  • IPBan is supported on most Linux operating systems.
  • Easy one click install:
sudo -i; bash <(wget -qO- https://raw.githubusercontent.com/DigitalRuby/IPBan/master/IPBanCore/Linux/Scripts/Install.sh)

Other Information

Sign up for the IPBan Mailing List

Analytics

To disable anonymously sending banned ip addresses to the global ipban database, set UseDefaultBannedIPAddressHandler to false in the config file.

Upgrade

Get a discount on IPBan Pro by visiting https://ipban.com/upgrade-to-ipban-pro/.

Other Services

Integrate IPBan with IPThreat, a 100% free to use website and service. Unlike some other sites and services that use community contributed data, IPThreat does not charge subscription fees.

Dontations

If the free IPBan has helped you and you feel so inclined, please consider donating...

Donate

Jeff Johnson, CEO/CTO
Digital Ruby, LLC
https://www.digitalruby.com
[email protected]

More Repositories

1

ExchangeSharp

ExchangeSharp is a powerful, fast and easy to use .NET/C# API for interfacing with many crypto currency exchanges. REST and web sockets are supported.
C#
742
star
2

MailDemon

Smtp server for mass emailing, managing email lists and more. Built on .NET Core. Linux, MAC and Windows compatible.
C#
143
star
3

DRColorPicker

Digital Ruby, LLC Color Picker for iOS
Objective-C
75
star
4

FingersGestures

Unity Touch Gestures for iOS, Android, Windows, MAC and any other touch capable platform.
C#
55
star
5

AutoSSH

Simple Windows and Linux automation and backup over SSH using dotnet core
C#
7
star
6

SimpleCache

Simple yet Powerful L1/L2/L3 caching in .NET. Memory -> Local File -> Redis. I am open to suggestions for enhancements, email [email protected].
C#
5
star
7

IPBanProReleases

IPBan Pro Releases
4
star
8

IPBanProSDK

IPBan Pro API and Application Integrations. Learn more at -->
C#
3
star
9

ServiceSpy

Simple Decentralized and Distributed Service Discovery
C#
3
star
10

SimpleDi

Simple, declarative dependency injection and configuration without all the boilerplate. I am open to suggestions for enhancements, email [email protected].
C#
2
star
11

ExitPopup

Simple Exit Popup in vanilla javascript. Got questions or feedback? Send me an email at [email protected].
HTML
2
star
12

SimplePubSub

Declarative and simple pub/sub for .NET using Mass Transit. I am open to suggestions for enhancements, email [email protected].
C#
1
star
13

S3ObjectStore

Allow storing json objects in S3 easily
C#
1
star
14

DigitalRubyCore

Digital Ruby, LLC Core Code for Modern .NET Server Applications
C#
1
star
15

UnityManuals

Manuals for various Digital Ruby, LLC Products
HTML
1
star