• Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login
Netgate Discussion Forum
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Search
  • Register
  • Login

Question concerning package development (OpenJDK and MongoDB)

Scheduled Pinned Locked Moved Development
12 Posts 5 Posters 5.9k Views
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • C
    cmcdonald Netgate Developer
    last edited by Jul 3, 2013, 9:41 PM

    Greetings,

    I am thinking about working on a package for pfSense. I have plenty of experience with unix and programming but would like some input on one aspect of this particular project. Over at the Ubiquiti forums, there has been some attempt at getting the Unifi Wireless LAN Controller software running on top of pfSense. I started by getting it running  on vanilla FreeBSD 8.3 to get an idea of how the setup/configuration flow goes. Unifi has two main dependencies: A Java Runtime (OpenJDK6/7) and MongoDB (NoSQL database). Is this project even worth my time? I would love to build a package that not only gets the runtime, database, and Unifi base installed, but also includes a pfSense graphical frontend for managing the Unifi controller service configuration (start/stop/restart, view log files, delete log files, assign ports, IP binding, install custom ssl certs, etc.) Finally, due to the software license of UniFi (I still need to thoroughly read through this), it might be imperative to require package users to upload their own copy (obtained only after agreeing to the Unifi TOS) of Unifi.

    My biggest concern at the moment though is OpenJDK and MongoDB. Both are relatively large and complex packages (especially OpenJDK)

    Need help fast? https://www.netgate.com/support

    1 Reply Last reply Reply Quote 0
    • S
      stephenw10 Netgate Administrator
      last edited by Jul 4, 2013, 12:50 AM

      I assume you've read this?
      http://forum.pfsense.org/index.php/topic,46342.0.html

      Steve

      1 Reply Last reply Reply Quote 0
      • C
        cmcdonald Netgate Developer
        last edited by Jul 4, 2013, 4:50 AM Jul 4, 2013, 3:13 AM

        @stephenw10:

        I assume you've read this?
        http://forum.pfsense.org/index.php/topic,46342.0.html

        Steve

        I hadn't read that post in particular but I did read the post in the ubiquiti forums. I have gotten the latest version of the controller running on my 2.1 virtual machine. I am having an issue getting my local repository running though. I'm running WAMP and I have a feeling that the PHP version (my WAMP setup is running the latest PHP version and I know that many functions are deprecated are are throwing warnings, which is probably giving the package parser in pfsense a headache). Do you know what PHP (and Apache) version the official repository uses?

        Edit: Tried a different application stack (XAMPP) and everything is working just fine.

        Need help fast? https://www.netgate.com/support

        1 Reply Last reply Reply Quote 0
        • S
          stephenw10 Netgate Administrator
          last edited by Jul 4, 2013, 9:38 AM Jul 4, 2013, 9:31 AM

          In the most recent 2.1 snaps, 5.3.26  :-
          https://github.com/pfsense/pfsense-tools/commit/bffdd00c578026b41a1ebe0e900c6819ccc46197

          You can run phpinfo(); in the php execute box in the webgui. The output is bit big though.  ;)

          Steve

          1 Reply Last reply Reply Quote 0
          • K
            Klaws
            last edited by Jul 4, 2013, 12:58 PM

            A lot of people get the creeps when thinking about running a JVM on a firewall/router.

            When already running pfSense on a VM, why not run the UniFy server in a separate VM?

            1 Reply Last reply Reply Quote 0
            • C
              cmcdonald Netgate Developer
              last edited by Jul 4, 2013, 11:58 PM

              @Klaws:

              A lot of people get the creeps when thinking about running a JVM on a firewall/router.

              When already running pfSense on a VM, why not run the UniFy server in a separate VM?

              True, but if the machine has the resources then why not?

              My biggest question right now stems around PBIs (push button installers). I've actually never built a PBI so this is still new. From my understanding, it should be possible to combine the JRE, Mongodb, and the Unifi core into one *.pbi that gets installed as the pfSense package. This should mitigate most of the fear of installing a JRE on a firewall/router. But here is my concern, what if the software you are ultimately targeting doesn't exist in the freebsd ports tree? What then? OpenJDK and Mongodb both in found /usr/ports but obviously the proprietary unifi software isn't. What would be the appropriate course of action to take?

              Need help fast? https://www.netgate.com/support

              1 Reply Last reply Reply Quote 0
              • S
                stan-qaz
                last edited by Jul 5, 2013, 1:46 AM

                I think the worries are more about Java's security once it is installed and the possibility it could compromise the firewall.

                1 Reply Last reply Reply Quote 0
                • K
                  Klaws
                  last edited by Jul 5, 2013, 1:53 PM

                  @stan-qaz:

                  I think the worries are more about Java's security once it is installed and the possibility it could compromise the firewall.

                  Right. How do critical JRE fixes get to the box? Will the package perform auto-updates?

                  Of course there are jails, which might reduce the effect of JRE vulnerabilities.

                  1 Reply Last reply Reply Quote 0
                  • C
                    Clear-Pixel
                    last edited by Jul 5, 2013, 9:12 PM

                    A Jail is nothing more than a virtual machine … there is no reason to believe a jail is more difficult to crack!

                    HP EliteBook 2530p Laptop - Core2 Duo SL9600 @ 2.13Ghz - 4 GB Ram -128GB SSD
                    Atheros Mini PCI-E as Access Point (AR5BXB63H/AR5007EG/AR2425)
                    Single Ethernet Port - VLAN
                    Cisco SG300 10-port Gigabit Managed Switch
                    Cisco DPC3008 Cable Modem  30/4 Mbps
                    Pfsense 2.1-RELEASE (amd64)
                    –------------------------------------------------------------
                    Total Network Power Consumption - 29 Watts

                    1 Reply Last reply Reply Quote 0
                    • S
                      stan-qaz
                      last edited by Jul 6, 2013, 3:45 AM

                      I chroot a lot of stuff as it does add some security but it isn't perfect. Interestingly chroot originated with the BSD folks.

                      http://en.wikipedia.org/wiki/Chroot#Limitations

                      The chroot mechanism is not intended to defend against intentional tampering by privileged (root) users. On most systems, chroot contexts do not stack properly and chrooted programs with sufficient privileges may perform a second chroot to break out. To mitigate the risk of this security weakness, chrooted programs should relinquish root privileges as soon as practical after chrooting, or other mechanisms – such as FreeBSD Jails - should be used instead. Note that some systems, such as FreeBSD, take precautions to prevent the second chroot attack.

                      1 Reply Last reply Reply Quote 0
                      • K
                        Klaws
                        last edited by Jul 6, 2013, 11:06 AM

                        @Clear-Pixel:

                        A Jail is nothing more than a virtual machine … there is no reason to believe a jail is more difficult to crack!

                        If a bug in the jailed application allows it, for example, to access arbitrary files on the System, the jail should confine that illegit access to files inside the jail only.

                        Without a jail, such a bug would allow access to the complete host, probably including user lists, passwords, certificates. That's fine if your name is Sony or Facebook, but a few People are still a tiny bit more concerned about IT security. After all, one major argunment for a pfSense deployment is that it's quite secure. Otherwise, you could use the ISA Server instead. Oh my, sorry…it's now calles "Microsoft Forefront Threat Management Gateway". ROFLMAO!

                        1 Reply Last reply Reply Quote 0
                        • C
                          cmcdonald Netgate Developer
                          last edited by Jul 28, 2013, 10:56 PM

                          So I'm trying to get back into this. I have been doing quite a bit of research into jails. I think running the controller in a jail is absolutely imperative for a few reasons: 1) It keeps the system has "vanilla" as possible (easy to install/uninstall without touching the underlying system). 2) It isolates what could potentially be a security threat. So basically, can a pfSense package create a jail and install software into it without having the PfJailctl package installed?

                          Need help fast? https://www.netgate.com/support

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post
                          Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.
                            [[user:consent.lead]]
                            [[user:consent.not_received]]