Skip to content
This repository was archived by the owner on Mar 22, 2023. It is now read-only.

Commit dfc2d9c

Browse files
authored
Merge pull request #130 from yanosz/master+ufw_note
Master+ufw note
2 parents 1f9e090 + c94078f commit dfc2d9c

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

_posts/2019-02-14-configure-firewall.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ If you are a developer setting up BigBlueButton on a local VM for testing, you c
1414

1515
# Overview
1616

17-
The easiest network configuration for installing BigBlueButton is on a server that has a single external IP address, the server is on the public Internet (and thus directly accessible by your users), and there is no firewall (virtual or physical) between users and the server. Here is an example of such a setup with the BigBlueButton server having a (fictional) IP address 203.0.113.1 with hostname `bigbluebutton.example.com`.
17+
The easiest network configuration for installing BigBlueButton is on a server that has a single external IP address and the server is on the public Internet (and thus directly accessible by your users). Port-based access firewalling is implemented using [UFW](2.2/customize.html#secure-your-system--restrict-access-to-specific-ports). Here is an example of such a setup with the BigBlueButton server having a (fictional) IP address 203.0.113.1 with hostname `bigbluebutton.example.com`.
1818

1919
![Install](/images/11-install-net0.png)
2020

21-
In this simple network configuration, BigBlueButton should work out-of-the-box after installation. This is because the packaging scripts automatically configure BigBlueButton using the first non-loopback IP address.
21+
In this simple network configuration, BigBlueButton should work out-of-the-box after installation. This is because the packaging scripts automatically configure BigBlueButton using the first non-loopback IP address, whereas access to sensitive ports is blocked.
2222
A variation of this setup occurs when the server has multiple network interfaces, but the external IP is still the first network interface (such as `eth0`) picked up by the installation scripts.
2323

2424
![Install](/images/11-install-net1.png)
2525

26-
If your server has `eth0` pointing to the external IP address on the internet, and there is no other firewall in place, then the packaging scripts should detect this external IP address and configure BigBlueButton accordingly. You don't need to do any of the changes below.
26+
If your server has `eth0` pointing to the external IP address on the internet, and there is no external firewall in place, then the packaging scripts should detect this external IP address and configure BigBlueButton accordingly. You don't need to do any of the changes below.
2727

2828
Don't worry if your server's IP address changes, BigBlueButton comes with a configuration utility called `bbb-conf` that lets you change all of BigBlueButton's configuration files to use any IP address or hostname.
2929

30-
If there is a firewall between your users and the BigBlueButton server, then you will need to first configure the firewall to forward specific TCP/UDP connections from external clients to the internal BigBlueButton server; otherwise, users will not be able to access BigBlueButton.
30+
If there is an IPv4 Network Address Translation (NAT) between your users and the BigBlueButton server, then you will need to first configure the firewall to forward specific TCP/UDP connections from external clients to the internal BigBlueButton server; otherwise, users will not be able to access BigBlueButton.
3131

3232
The following diagram gives a typical setup with an external firewall (your setup will, of course, have different IP address and hostnames).
3333

_posts/2019-02-14-customize.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,13 @@ swfSlidesRequired=false
4242

4343
The SWF files are not needed by the HTML5 client.
4444

45-
## Restrict access to specific ports
45+
## Secure your system -- restrict access to specific ports
4646

47-
If your server is behind a firewall already -- such as running within your company or on an EC2 instance behind a Amazon Security Group -- and the firewall is enforcing the above restrictions, you don't a second firewall and can skip this section.
47+
Configuring IP firewalling is *essential for securing your installation*. By default, many services are reachable across the network. This allows BigBlueButton operate in clusters and private data center networks -- but it creates a significant attack surface, if your BigBlueButton server is publicly available on the internet.
4848

49-
If your BigBlueButton server is publicly available on the internet, then, for increased security, you should restrict access only to the following needed ports:
49+
If your server is behind a firewall already -- such as running within your company or on an EC2 instance behind a Amazon Security Group -- and the firewall is enforcing the above restrictions, you don't need a second firewall and can skip this section.
50+
51+
BigBlueButton comes with a [UFW](https://launchpad.net/ufw) based ruleset. It it can be applied on restart (c.f. [Automatically apply configuration changes on restart](#automatically-apply-configuration-changes-on-restart)) and restricts access only to the following needed ports:
5052

5153
* TCP/IP port 22 for SSH
5254
* TCP/IP port 80 for HTTP
@@ -73,6 +75,8 @@ ufw --force enable
7375

7476
These `ufw` firewall rules will be automatically re-applied on server reboot.
7577

78+
Besides IP-based firewalling, web application firewalls such as [ModSecurity](https://modsecurity.org/) provide additional security by checking requests to various web-based components.
79+
7680
## Extract the shared secret
7781

7882
Any front-end to BigBlueButton needs two pieces of information: the hostname for the BigBlueButton server and its shared secret (for authenticating API calls). To print out the hostname and shared secret for you BigBlueButton server, enter the command `bbb-conf --secret`:

_posts/2019-02-15-install.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -548,7 +548,7 @@ If this server is intended for production, you should
548548

549549
* [Assign the server a hostname](#assign-a-hostname)
550550
* [Install a SSL certificate to support HTTPS](#configure-ssl-on-your-bigbluebutton-server)
551-
* [Restrict access to specific ports](/2.2/customize.html#restrict-access-to-specific-ports)
551+
* [Secure your system -- restrict access to specific ports](/2.2/customize.html#secure-your-system--restrict-access-to-specific-ports)
552552
* [Configure the server to work behind a firewall](/2.2/configure-firewall) (if needed)
553553
* [remove the API demos](/2.2/customize.html#remove-the-api-demos) (if you had them installed for testing)
554554
* [Set up a TURN server](/2.2/setup-turn-server.html) (if your server is on the Internet and you have users accessing it from behind restrictive firewalls)

0 commit comments

Comments
 (0)