I tested a Ubiquiti access point today. UAP-AC-Lite seems to be a very good and cheap access-point.
When you take it out of the box and connect it to the network it gets an IP address using DHCP and waits for a configuration. In this mode it sends broadcasts to find a controller and listens on port 22 (ssh) with standard login/password of ubnt/ubnt.
That’s not best practice but very usual for devices of this kind.
I tried two configuration modes:
- MobileApp based using my Android Phone:
This App looks good, and works great, if you need just one SSID and not VLAN. Thumbs up, well done ubiquiti.
But I guess this method will not work if this is you first access point in the network, because you will end with a chicken and egg problem. - UniFi Controller based:
UniFi runs on Win/Mac and Linux. The Debian package is far to big but it installs cleanly (Why does this webapp need 27MB of fonts?).
With this webapp you can configure everything and it works good. But then I checked the security…
First I checked what new ports are open on my server:
tcp6 0 0 :::8443 :::* LISTEN 1373/java tcp6 0 0 :::6789 :::* LISTEN 1373/java tcp6 0 0 :::8843 :::* LISTEN 1373/java tcp6 0 0 :::8880 :::* LISTEN 1373/java tcp6 0 0 :::8080 :::* LISTEN 1373/java udp6 0 0 MYPUBLICIP:50880 :::* 1373/java udp6 0 0 :::10001 :::* 1373/java udp6 0 0 :::3478 :::* 1373/java udp6 0 0 MYINTERNALIP:58426 :::* 1373/java
That’s to much for a Linux box with a public IP interface.
The documentation tells a little bit what these ports are used for, but some are not explained or not needed for normal operation.
I tried to strip down the open ports for security reasons, but I found no way to disable unused services or at least bind only to one IP. My minimum requirement would be to bind only to an internal interface and block the public interface.
But no way (officially: https://community.ubnt.com/t5/UniFi-Feature-Requests/Allow-Controller-to-run-on-a-Single-IP-Address/idi-p/959213 )
Shure I could write an iptables filterlist to block these ports, but that’s risky. Today they use these 9 ports, but what will happen on the next update ?
Then I checked what services are actually running on these ports. It’s a tomcat server !
A java/tomcat server that listens in all directions IPv4/6 and no easy way to limit this access. What can possibly go wrong?
Most people will never update this controller software, and tomcat had and will have security problems.
http://www.cvedetails.com/product/887/Apache-Tomcat.html?vendor_id=45
Hopefully ubiquiti will provide a smaller footprint configuration tool, with a bit more settings than the app, and add some security settings to the controller software.
Then I would really recommend this nice piece of hardware: Vendor Link , Amazon Link
Version: UAP-AC-Lite, unifi 5.4.11-9184