• Stars
    star
    211
  • Rank 186,867 (Top 4 %)
  • Language
    Java
  • License
    MIT License
  • Created about 7 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

A plugin-based security/firewall solution for BungeeCord and Velocity proxies.

πŸ’‚ BungeeGuard

BungeeGuard is a plugin-based security/firewall solution for BungeeCord (and Velocity) proxies.

The problem

BungeeCord installations are insecure by default, and require additional firewall rules to be configured (using iptables or otherwise) to prevent malicious users from bypassing the proxy and connecting using any uuid/username they choose.

This is a well-known issue, and over the years many (even large) servers have been successfully targeted using this attack.

The conventional solution

The conventional solution recommended by the BungeeCord author is to configure a firewall rule using iptables or ufw to prevent outside connections to the backend servers.

However, there are two main problems with this:

  1. Configuring these firewall rules is complicated, especially for inexperienced users.
    1. Even experienced users sometimes make mistakes or overlook things. Unless the setup is absolutely perfect, rules are prone to being broken during later changes, or reset on system reboot.
  2. Users on "shared hosting" do not have access to the underlying system and most likely cannot setup their own firewall rules.

The BungeeGuard solution

Server admins install BungeeGuard (just an ordinary plugin!) on their proxies and backend servers.

  • On the proxy, BungeeGuard adds a secret "authentication token" to the login handshake.
  • On the backend (Spigot etc. server), BungeeGuard checks login handshakes to ensure they contain an allowed authentication token.

It's really that simple.

Installation

Installation is very straightforward.

If you have access to the underlying system and are able to setup firewall rules using iptables (or otherwise), I strongly recommend you do so. Then, install BungeeGuard as well.

See INSTALLATION.md for a detailed install guide.

License

BungeeGuard is licensed and made available under the permissive MIT license. Please see LICENSE.txt for more information.

Details about vulnerability reporting & security disclosures can be found in SECURITY.md.

More Repositories

1

spark

A performance profiler for Minecraft clients, servers, and proxies.
Java
1,027
star
2

helper

A collection of utilities and extended APIs to support the rapid and easy development of Bukkit plugins.
Java
456
star
3

paste

paste is a simple web app for writing & sharing code.
TypeScript
221
star
4

commodore

Utility for using Minecraft's 1.13 'brigadier' library in Bukkit plugins.
Java
177
star
5

bytebin

Fast & lightweight content storage web service.
Java
102
star
6

jar-relocator

A Java program to relocate classes within a jar archive using ASM.
Java
90
star
7

spark-viewer

Web frontend for spark.
TypeScript
77
star
8

fabric-permissions-api

A simple permissions API for Fabric
Java
52
star
9

minecraft-command-permissions-fabric

Registers vanilla Minecraft commands in Fabric Permission API with structure "minecraft.command.<command>"
Java
45
star
10

shadow

An annotation based API for Java reflection.
Java
26
star
11

bytesocks

Fast & lightweight WebSocket server with channels.
Java
21
star
12

infra

Config for the self-hosted infrastructure and services used by my open source projects
Roff
19
star
13

VaultChatFormatter

Java
16
star
14

shadow-bukkit

Extra annotations for use with shadow and Bukkit
Java
13
star
15

ScriptController

Extended API for Java's Scripting Engine framework
Java
12
star
16

gChat

A simple global chat plugin for BungeeCord.
Java
11
star
17

TinyVault

A minimal Vault plugin
Java
11
star
18

tapir

Java
10
star
19

commodore-file

The commodore file format
Java
7
star
20

LuckPermsUI

Desktop client for LuckPerms.
Java
7
star
21

paste-netcat

Upload content to pastes.dev using netcat
Go
6
star
22

synapse

Java
5
star
23

spark2json

Convert raw spark profiler data to JSON
JavaScript
5
star
24

bytesocks-java-client

A Java client for bytesocks
Java
5
star
25

spark-docs

Documentation for spark.
TypeScript
5
star
26

configurate-toml

Java
5
star
27

spark-mappings

Deobfuscation mappings data for spark-web
JavaScript
4
star
28

ConditionalPerms

Define permissions that only apply when conditions are met
Java
4
star
29

FindLag

Java
3
star
30

adventure-platform

Java
3
star
31

adventure

Java
3
star
32

SidebarManager

A simple scoreboard manager
Java
2
star
33

LogUploader

Java
2
star
34

NetworkAnalytics

Java
2
star
35

PunishmentGui

GUI based punishments with automatically scaled responses
Java
2
star
36

lucko.github.io

Personal website
JavaScript
2
star
37

servercmd

Adds /server on the backend server
Java
1
star
38

helper-dev

Misc utilities to aid with Minecraft in-game content design
Java
1
star
39

WelcomeTutorial

Java
1
star
40

synapse-plugins

Java
1
star
41

CommandBlocker

Java
1
star
42

mod-publish

Some handy scripts to automatically publish of some of my Minecraft mods to CurseForge and Modrinth
TypeScript
1
star
43

spark-infopoints

spark info points are extra snippets of information about well-known/notable call frames
JavaScript
1
star