Having spark available over the internet

Hello,
We currently have Openfire hosted internally and are thinking about having it be accessible through the internet, Would we be able to get some help on this, such as best practices for setting this up, security measure that should be in place, and etc.

Thank you!