Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies.

Overview

Sentey

Protect your Spigot server against IP forwarding exploits, as well as blocking unknown BungeeCord and/or Velocity proxies.

But firewalls are a thing!

Even though a properly configured firewall is 100 times better than this, having this as a second option in case of a firewall misconfiguration won't hurt anyone (or well, as long as it is configured properly).

Besides, some people may not be able to access or configure their firewall system, so plugins like this are probably the best option for them.

How it works

When proxies such as BungeeCord have the IP forwarding option enabled, they need to send the IP address of the player to Spigot proxies through the handshake packet (0x00). If they don't, the IP address of the player would be the same as the proxy's for the Spigot server. This introduces a variety of exploits since Spigot does not sanitize the IP address. The way this plugin works is by sending the player's spoofed IP address through a variety of filters such as:

  • Checking if the IP address is not null or empty
    • Checking if the IP address is malformed
  • Checking if the spoofed address is a local, loopback or site local address.

You can find more information on this type of exploits in this writeup made by wodxgod.

The plugin also offers an option for filtering the handshake IP address - which is essentially the IP address of the proxy. By default, it is set to set up mode to prevent blocking all connections to the server. Server administrators may configure this filter by using the /sentey trusted-proxies command.

Detecting port scans

The plugin also offers a way of detecting server list pings which may be caused by external programs such as nmap. You can enable it here:

  # Server list ping related settings.
  # The server list ping event is normally fired when a player requests the MOTD of the server,
  # but it can also be fired by external programs such as nmap.
  server-list-ping:
    # Whether to enable listening for the server list ping event or not
    enabled: false

Hiding pings from trusted proxies

Ping alerts from trusted proxies are hidden by default - although you can enable them by changing this setting under the server-list-ping path:

    # List of internal filters
    filters:
      # Whether to ignore trusted proxies. 'true' is recommended.
      ignore-trusted-proxies: true

Taking action

The plugin offers a variety of default actions when a server list ping is received or when an unauthorized connection attempt happens - however, external plugins may register custom actions using the plugin's API.

Server List Ping

Alerts for server list pings may be sent through a Discord webhook or an in-game message. You can configure those alerts at the alerts section:

    # The actions taken when a ping is received
    actions:
      alerts:
        # Whether to send a message through the chat to online staff or not
        enabled: true

        # The message sent to online staff
        message: "&5&l>> &fServer list ping received from &c%address%&f, is the firewall properly configured?"
      webhook:
        # Whether to send a message to a Discord webhook or not
        enabled: false

        # Whether to enable TTS or not. If enabled, the message will be read aloud.
        # Probably annoying, not gonna lie. I don't even know why I'm making this an option.
        tts: false

        # The Discord webhook URL
        url: "https://discord.com/api/webhooks/a-valid-id/and-a-real-webhook-token"

        # The message that will be sent
        message: "[`%serverAddress%`] | Server list ping received from `%address%`"

Login

You may run commands, disallow the connection attempt and send alerts through a Discord webhook or an in-game message. You can also configure those alerts at the alerts section (like the previous Server List Ping example):

    # Actions to take when an unauthorized connection attempt is detected.
    actions:
      disallow-connection:
        # Whether to disallow it or not. Leaving this enabled is recommended.
        enabled: true

        # The message sent to the attacker
        reason: |-
          Your connection has been blocked.
          Please contact the server administrator for more information.
      commands:
        # Whether to run a list of commands or not
        enabled: false

        # The list of commands to run
        list:
          - "minecraft:ban %player% Unauthorized connection attempt"
          - "minecraft:ban-ip %proxyAddress% Unauthorized connection attempt"
      alerts:
        # Whether to send a message through the chat to online players or not
        enabled: true

        # The message sent to online staff
        message: "&5&l>> &fUnauthorized connection attempt made by &c%player%&f. Handshake made from &c%proxyAddress% &7(%detectionType%)"
      webhook:
        # Whether to send a message to a Discord webhook or not
        enabled: false

        # Whether to enable TTS or not. If enabled, the message will be read aloud.
        # Probably annoying, not gonna lie. I don't even know why I'm making this an option.
        tts: false

        # The Discord webhook URL
        url: "https://discord.com/api/webhooks/a-valid-id/and-a-real-webhook-token"

        # The message that will be sent
        message: "[`%serverAddress%`] | Unauthorized connection attempt from `%player%` (UUID: `%uuid%`; real IP address: `%proxyAddress%`; 'spoofed' IP address: `%address%`; detection type: `%detectionType%`)"
You might also like...

WaterHub - BungeeCord Hub System

How to use: 1. Stop your server. 2. Download and drag the plugin .jar file into your plugins folder. 3. Start your server to generate config files. 4.

May 9, 2022

This is a module for Waterfall/Bungeecord! That means instead of putting it in the plugins/ folder

This is a module for Waterfall/Bungeecord! That means instead of putting it in the plugins/ folder

CMD: Plugins This is a module for Waterfall/Bungeecord! That means instead of putting it in the plugins/ folder, you put it in the modules/ folder! In

Jun 8, 2022

This is a Meme repo for fixed & Cleaned source of 'Better'Bungeecord but its not realy better code is trash!

#Fucking cleaned by CryCodes Disclaimer: Based of MD_5's Bungeecord (Fork of "BetterBungee") | I am not the owner of the code This repo is just for fu

Jan 2, 2022

Docker-compose-integration-tstst - An exploration of how to run integration tests against an application that has inconvenient external dependencies (e.g. a SQL database).

Tstst? it was supposed to be docker-compose-integration-tests but i was too lazy to fix it at the outset, and now im trying to convince myself its fun

Jan 4, 2022

A Java agent that disables platform features you don't use, before an attacker uses them against you.

aegis4j Avoid the NEXT Log4Shell vulnerability! The Java platform has accrued a number of features over the years. Some of these features are no longe

Jan 11, 2022

MiniMessage Component-based Placeholders for PaperMC and Velocity platforms

MiniMessage Component-based Placeholders for PaperMC and Velocity platforms

Dec 28, 2022

By this package we can get sim info, call logs and sms logs.Also we can find for specific sim info and call logs as well.

sim_sms_call_info A new flutter plugin project. Getting Started This project is a starting point for a Flutter plug-in package, a specialized package

Sep 17, 2022

💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

💡极致性能的企业级Java服务器框架,RPC,游戏服务器框架,web应用服务器框架。(Extreme fast enterprise Java server framework, can be RPC, game server framework, web server framework.)

👉 为性能而生的万能服务器框架 👈 Ⅰ. zfoo简介 🚩 性能炸裂,天生异步,Actor设计思想,无锁化设计,基于Spring的MVC式用法的万能RPC框架 极致序列化,原生集成的目前二进制序列化和反序列化速度最快的 zfoo protocol 作为网络通讯协议 高可拓展性,单台服务器部署,

Jan 1, 2023

This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple servers.

OpenSourceSectors 😎 🗒️ This is a plugin for Minecraft Server (Spigot API) introduces a sector system which connects a single world across multiple s

Dec 28, 2022
Comments
  • [Snyk] Upgrade org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14

    [Snyk] Upgrade org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14

    This PR was automatically created by Snyk using the credentials of a real user.


    Snyk has created this PR to upgrade org.apache.httpcomponents:httpclient from 4.5.13 to 4.5.14.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 1 version ahead of your current version.
    • The recommended version was released a month ago, on 2022-11-30.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by Pabszito 1
  • Add abuse categories support

    Add abuse categories support

    Allows to use custom categories on AbuseIPDB reports without having to modify the plugin's source code. Still a work in progress.

    As of Jul 12th, it also migrates the main command to use triumph-cmd.

    enhancement priority:medium 
    opened by Pabszito 0
  • [Snyk] Upgrade com.google.inject:guice from 4.0 to 4.2.3

    [Snyk] Upgrade com.google.inject:guice from 4.0 to 4.2.3

    Snyk has created this PR to upgrade com.google.inject:guice from 4.0 to 4.2.3.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 5 versions ahead of your current version.
    • The recommended version was released 2 years ago, on 2020-03-19.

    The recommended version fixes:

    Severity | Issue | PriorityScore (*) | Exploit Maturity | :-------------------------:|:-------------------------|-------------------------|:------------------------- | Deserialization of Untrusted Data
    SNYK-JAVA-COMGOOGLEGUAVA-32236 | 509/1000
    Why? Has a fix available, CVSS 5.9 | No Known Exploit

    (*) Note that the real score may have changed since the PR was raised.


    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by snyk-bot 0
  • [Snyk] Upgrade com.google.inject.extensions:guice-multibindings from 4.0 to 4.2.3

    [Snyk] Upgrade com.google.inject.extensions:guice-multibindings from 4.0 to 4.2.3

    Snyk has created this PR to upgrade com.google.inject.extensions:guice-multibindings from 4.0 to 4.2.3.

    :information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.


    • The recommended version is 5 versions ahead of your current version.
    • The recommended version was released 2 years ago, on 2020-03-19.

    Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.

    For more information:

    🧐 View latest project report

    🛠 Adjust upgrade PR settings

    🔕 Ignore this dependency or unsubscribe from future upgrade PRs

    opened by snyk-bot 0
Releases(2023.0108.0)
Owner
ComuGamers Network
Tu Comunidad Online
ComuGamers Network
A Velocity proxy plugin for Minecraft server discovery in k8s. All discovered servers are automatically added to the Velocity proxy.

kryo-server-discovery This plugin connects minecraft servers to a velocity proxy within Kubernetes. The service account in the namespace which the pro

Kryonite 9 Sep 13, 2022
This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy!

Ambassador This is a Velocity plugin that makes it possible to host a modern forge server behind a Velocity proxy! Unlike other solutions, this plugin

Adrian Bergqvist 31 Dec 28, 2022
BungeeCord/Spigot plugin that fixes Multi-world detection by simulating mod presence on the server side

Companion for map mods Unofficial BungeeCord and Spigot (Paper) companion plugin for Xaero's Minimap (and their World Map), JourneyMap and VoxelMap. T

Artur Khusainov 3 Sep 18, 2022
Logout4Shell - Use Log4Shell vulnerability to vaccinate a victim server against Log4Shell

Logout4Shell Description A vulnerability impacting Apache Log4j versions 2.0 through 2.14.1 was disclosed on the project’s Github on December 9, 2021.

Cybereason 1.7k Jan 3, 2023
Battle Against Your Viewers!

StreamerVSChat StreamerVSChat is a open source project that allows you to play against your followers/subscribers. The plugin contains over 30 command

CorwinDev 7 Dec 20, 2022
A singular file to protect as many Minecraft servers and clients as possible from the Log4j exploit (CVE-2021-44228).

MC-Log4J-Patcher The goal of this project is to provide Minecraft players, and server owners, peace of mind in regards to the recently discovered Log4

Koupa Taylor 4 Jan 4, 2022
LimboAuth - Minecraft Auth System for Velocity proxy built in virtual server (Limbo).

LimboAuth Auth System built in virtual server (Limbo). MC-Market SpigotMC.org Описание и обсуждение на русском языке (spigotmc.ru) Описание и обсужден

Elytrium 89 Jan 4, 2023
Non-Blocking Reactive Foundation for the JVM

Reactor Core Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactive Extensions inspired API and efficient event streaming s

Reactor 4.4k Dec 30, 2022
UniFi Proxy makes it possible to integrate third-party hardware into UniFi Protect

UniFi Proxy UniFi Proxy makes it possible to integrate third-party hardware into UniFi Protect. For testing purposes only, it is recommended to purcha

Jan Heil 8 Dec 27, 2022
A Spigot Plugin that connects your server chat with a discord channel

Minecord A Spigot Plugin that connects your server chat with a discord channel. Features Connects your in game chat with a channel on your discord ser

EPS-DEV 1 Apr 3, 2022