security.rst 4.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. ***********
  2. Security
  3. ***********
  4. Similar to medieval fortifications it is recommended to provide your servers with multiple layers of defenses. Be sure to use Firewalls, Strong passwords, SSH, and make sure your servers are kept up to date for all software being used. This inlcudes the operating system, FreeSWITCH and FusionPBX.
  5. FusionPBX
  6. ^^^^^^^^
  7. The latest Debian install script configures IPTables firewall for you. FusionPBX extensions set strong passwords for you by default. You can increase the password complexity using settings in Advanced -> Default Settings to increase the length of the passwords that are generated by default.
  8. Firewall
  9. ^^^^^^^^
  10. Although the new install script configured IPTables for you it is recommended that you review the settings. On Debian and Ubuntu you can check your firewall with the following command.
  11. ::
  12. iptables -L
  13. SSL / TLS
  14. ^^^^^^^^^^
  15. SSL and TLS are very necessary in today's internet applications from VOIP to Websites. FusionPBX by default uses a self signed certificate. However you can use certificate providers where you can purchase certificates and there are free options as well. With domain based multi-tenant wildcard certificates can be useful. Also when deciding on which certificate provider to use you should look at the phones manufacturers documentation to find one that is compatible HTTPS provisioning.
  16. `Let's Encrypt`_ provides free certificates for a single domain but they don't support wildcard certificates.
  17. * `Setup Let's Encrypt with FusionPBX`_
  18. Upgrade
  19. ^^^^^^^^
  20. Security problems are fixed as they are discovered and are updated for master and the latest release. Upgrades are considered an important part of keeping the server secure. `Upgrades`_ always need to be done on the operating system, FreeSWITCH and FusionPBX. On Debian and Ubuntu you can check your firewall with the following command.
  21. Latest install script will install FreeSWITCH packages by default to upgrade them and operating system packages run the following commands.
  22. ::
  23. apt-get update
  24. apt-get upgrade
  25. If you need help upgrading safely please consider `paid support`_.
  26. XML RPC
  27. ^^^^^^^^
  28. New install mod_xml_rpc is not enabled by default. It is recommended to run a firewall on all FusionPBX servers. The latest debian install script configures the firewall by default. However it is recommended to check to make sure it is installed and running.
  29. Mod_xml_rpc allows running remote commands to FreeSWITCH. Ensure you have afirewall that is protecting the XML RPC port. Consider changing the XML RPC password. At very least do not allow access to the public. Advanced -> Settings page in the interface allows you to change the password or the port. Do not allow public access to the XML RPC port.
  30. Latest Debian install script installs `iptables`_ firewall which prevents public access to the mod_xml_rpc port. If you are not using a firewall on the server you should even if its protected by by an external firewall. Some not informed co-worker could expose the server to the public internet at some point in the future. Multiple layers of security is considered best practice.
  31. Fail2ban
  32. ^^^^^^^^
  33. Fail2ban is also used to protect SSH, FreeSWITCH, the web server as well as other services.
  34. You can view the IP addresses blocked by Fail2ban with the following command.
  35. ::
  36. iptables -L
  37. SSH
  38. ^^^^^^^^
  39. Use strong passwords with SSH or even better use SSH keys for better protection of your servers.
  40. .. _Upgrade: /en/latest/getting_started/advanced/upgrade.html
  41. .. _Upgrades: /en/latest/getting_started/advanced/upgrade.html
  42. .. _link: https://www.nginx.com/blog/free-certificates-lets-encrypt-and-nginx
  43. .. _paid support: http://www.fusionpbx.com
  44. .. _firewall: /en/latest/getting_started/iptables.html#iptables
  45. .. _iptables: /en/latest/getting_started/iptables.html#iptables
  46. .. _Verto Communicator: https://freeswitch.org/confluence/display/FREESWITCH/Verto+Communicator
  47. .. _Setup Let's Encrypt with FusionPBX: /en/latest/getting_started/lets_encrypt.html
  48. .. _Let's Encrypt: https://letsencrypt.org/docs