Bobcares

How to Set Up BubbleWrap Jail in DirectAdmin

by | Jul 9, 2024

Learn how to configure BubbleWrap Jail in DirectAdmin. Our DirectAdmin Support team is here to help you with your questions and concerns.

How to Set Up BubbleWrap Jail in DirectAdmin

Did you know that BubbleWrap is a powerful tool that runs applications in a sandbox?
In fact, it restricts access to critical parts of the operating system and user data.

By creating an isolated environment, BubbleWrap boosts security and makes sure that applications only have access to the resources they need.

BubbleWrap operates by creating a new, empty, mount namespace where the root directory resides on a `tmpfs`.

This temporary file system is invisible from the host and is automatically cleaned up when the last process exits. Users can specify which parts of the filesystem is accessible within the sandbox. This offers better control over application permissions.

How to Install BubbleWrap Jail on CentOS 7 and Up

  1. First, run these steps to install BubbleWrap jail:

    cd /usr/local/directadmin/custombuild

  2. Then, update custombuild and install BubbleWrap:

    ./build update
    ./build bubblewrap
    ./build jailshell

    This will install `jailshell` at `/usr/bin/jailshell`.

Here is how the option will look like once it is added:

How to Set Up BubbleWrap Jail in DirectAdmin

How to Enable BubbleWrap Jail in DirectAdmin

DirectAdmin uses BubbleWrap with a new configuration value “jail” (set to 0 by default). We can enable this feature as seen here:

  1. First, enable jail globally:

    /usr/local/directadmin/directadmin set jail 1 restart
    service directadmin restart

    This command enables the package/reseller/user.conf options for “jail=ON/OFF”. SSH does not need to be enabled to enable jail for a user. Changes related to SSH and cron will automatically save `/usr/bin/jailshell` in that user’s configuration files.

  2. Alternatively, we can enable jail for all users:

    /usr/local/directadmin/directadmin set jail 2 restart
    service directadmin restart

    By setting the value to 2, we can force jail to be enabled for all users, regardless of individual package/reseller/user.conf settings.

How to Fix PHP Mail Issues with BubbleWrap Jail

If we run into issues with PHP mail after enabling BubbleWrap jail, our experts recommend these steps:

  1. First, go to the custombuild directory:

    cd /usr/local/directadmin/custombuild

  2. Then, update custombuild and rebuild necessary components:

    ./build update
    ./build bubblewrap
    ./build jailshell
    ./build set eximconf yes
    ./build exim_conf
    ./build jailshell
    echo "action=rewrite&value=jail" > /usr/local/directadmin/data/task.queue
    /usr/local/directadmin/dataskq d
    ./build exim
    ./build rewrite_confs

  3. After that, we can opt to rebuild PHP and other components:

    ./build php
    ./build all

Verify User Restrictions

In order to verify that user restrictions are properly configured, we need to check the `/etc/passwd` file:

cat /etc/passwd | grep [username]
cat /etc/passwd | grep jailshell

Alternatively, we can use this command:

grep -e "[username]" -e "jailshell" /etc/passwd

This ensures that the DirectAdmin user permission limitations are in place.

[Need assistance with a different issue? Our team is available 24/7.]

Conclusion

With the above steps, we can easily use BubbleWrap to boost the security of our applications on CentOS 7.

In brief, our Support Experts demonstrated how to configure BubbleWrap Jail in DirectAdmin.

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF