Skip to content

Commit

Permalink
Merge pull request #301 from guardicore/hotfix/deb-mongodb-req
Browse files Browse the repository at this point in the history
Hotfix/deb mongodb req
  • Loading branch information
itaymmguardicore authored Apr 16, 2019
2 parents 8322178 + 051239e commit 3bc2428
Show file tree
Hide file tree
Showing 12 changed files with 117 additions and 45 deletions.
2 changes: 1 addition & 1 deletion monkey/monkey_island/deb-package/DEBIAN/control
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ Homepage: http://www.guardicore.com
Priority: optional
Version: 1.0
Description: Guardicore Infection Monkey Island installation package
Depends: openssl, python-pip, python-dev, mongodb
Depends: openssl, python-pip, python-dev
9 changes: 4 additions & 5 deletions monkey/monkey_island/deb-package/DEBIAN/postinst
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,15 @@ pip2 install virtualenv --no-index --find-links file://$INSTALLATION_FOLDER
virtualenv -p python2.7 ${PYTHON_FOLDER}

# install pip requirements
${PYTHON_FOLDER}/bin/python -m pip install -r $MONKEY_FOLDER/monkey_island/pip_requirements.txt --no-index --find-links file://$INSTALLATION_FOLDER
${PYTHON_FOLDER}/bin/python -m pip install -r $MONKEY_FOLDER/monkey_island/requirements.txt --no-index --find-links file://$INSTALLATION_FOLDER

# remove installation folder and unnecessary files
rm -rf ${INSTALLATION_FOLDER}
rm -f ${MONKEY_FOLDER}/monkey_island/pip_requirements.txt
rm -f ${MONKEY_FOLDER}/monkey_island/requirements.txt

cp ${MONKEY_FOLDER}/monkey_island/ubuntu/* /etc/init/
if [ -d "/etc/systemd/network" ]; then
cp ${MONKEY_FOLDER}/monkey_island/ubuntu/systemd/*.service /lib/systemd/system/
chmod +x ${MONKEY_FOLDER}/monkey_island/ubuntu/systemd/start_server.sh
cp ${MONKEY_FOLDER}/monkey_island/service/systemd/*.service /lib/systemd/system/
chmod +x ${MONKEY_FOLDER}/monkey_island/service/systemd/start_server.sh
systemctl daemon-reload
systemctl enable monkey-island
fi
Expand Down
35 changes: 35 additions & 0 deletions monkey/monkey_island/deb-package/DEBIAN_MONGO/postinst
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
#!/bin/bash

MONKEY_FOLDER=/var/monkey
INSTALLATION_FOLDER=/var/monkey/monkey_island/installation
PYTHON_FOLDER=/var/monkey/monkey_island/bin/python

# Prepare python virtualenv
pip2 install virtualenv --no-index --find-links file://$INSTALLATION_FOLDER
virtualenv -p python2.7 ${PYTHON_FOLDER}

# install pip requirements
${PYTHON_FOLDER}/bin/python -m pip install -r $MONKEY_FOLDER/monkey_island/requirements.txt --no-index --find-links file://$INSTALLATION_FOLDER

# remove installation folder and unnecessary files
rm -rf ${INSTALLATION_FOLDER}
rm -f ${MONKEY_FOLDER}/monkey_island/requirements.txt

${MONKEY_FOLDER}/monkey_island/install_mongo.sh ${MONKEY_FOLDER}/monkey_island/bin/mongodb

if [ -d "/etc/systemd/network" ]; then
cp ${MONKEY_FOLDER}/monkey_island/service/systemd/*.service /lib/systemd/system/
chmod +x ${MONKEY_FOLDER}/monkey_island/service/systemd/start_server.sh
systemctl daemon-reload
systemctl enable monkey-mongo
systemctl enable monkey-island
fi

${MONKEY_FOLDER}/monkey_island/create_certificate.sh

service monkey-island start
service monkey-mongo start

echo Monkey Island installation ended

exit 0
11 changes: 11 additions & 0 deletions monkey/monkey_island/deb-package/DEBIAN_MONGO/prerm
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#!/bin/sh

service monkey-island stop || true
service monkey-mongo stop || true

[ -f "/lib/systemd/system/monkey-island.service" ] && rm -f /lib/systemd/system/monkey-island.service
[ -f "/lib/systemd/system/monkey-mongo.service" ] && rm -f /lib/systemd/system/monkey-mongo.service

rm -r -f /var/monkey

exit 0

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ After=network.target

[Service]
Type=simple
ExecStart=/var/monkey/monkey_island/ubuntu/systemd/start_server.sh
ExecStart=/var/monkey/monkey_island/service/systemd/start_server.sh

[Install]
WantedBy=multi-user.target
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
[Unit]
Description=Monkey Island Service
Wants=monkey-mongo.service
After=network.target

[Service]
Type=simple
ExecStart=/var/monkey/monkey_island/service/systemd/start_server.sh

[Install]
WantedBy=multi-user.target
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
[Unit]
Description=Monkey Island Mongo Service
After=network.target

[Service]
ExecStart=/var/monkey/monkey_island/bin/mongodb/bin/mongod --quiet --dbpath /var/monkey/monkey_island/db
KillMode=process
Restart=always
ExecStop=/var/monkey/monkey_island/bin/mongodb/bin/mongod --shutdown

[Install]
WantedBy=multi-user.target
39 changes: 39 additions & 0 deletions monkey/monkey_island/linux/install_mongo.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/bin/bash

export os_version_monkey=$(cat /etc/issue)
MONGODB_DIR=$1 # If using deb, this should be: /var/monkey/monkey_island/bin/mongodb

if [[ $os_version_monkey == "Ubuntu 16.04"* ]] ;
then
echo Detected Ubuntu 16.04
export tgz_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-3.6.12.tgz"
elif [[ $os_version_monkey == "Ubuntu 18.04"* ]] ;
then
echo Detected Ubuntu 18.04
export tgz_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1804-4.0.8.tgz"
elif [[ $os_version_monkey == "Debian GNU/Linux 8"* ]] ;
then
echo Detected Debian 8
export tgz_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian81-3.6.12.tgz"
elif [[ $os_version_monkey == "Debian GNU/Linux 9"* ]] ;
then
echo Detected Debian 9
export tgz_url="https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-debian92-3.6.12.tgz"
else
echo Unsupported OS
exit -1
fi

TEMP_MONGO=$(mktemp -d)
pushd $TEMP_MONGO
wget $tgz_url -O mongodb.tgz
tar -xf mongodb.tgz
popd

mkdir -p $MONGODB_DIR/bin
cp $TEMP_MONGO/mongodb-*/bin/mongod $MONGODB_DIR/bin/mongod
cp $TEMP_MONGO/mongodb-*/LICENSE-Community.txt $MONGODB_DIR/
chmod a+x $MONGODB_DIR/bin/mongod
rm -r $TEMP_MONGO

exit 0
18 changes: 0 additions & 18 deletions monkey/monkey_island/linux/ubuntu/monkey-island.conf

This file was deleted.

4 changes: 3 additions & 1 deletion monkey/monkey_island/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@ pycryptodome
boto3
awscli
cffi
PyInstaller
PyInstaller
virtualenv
wheel

0 comments on commit 3bc2428

Please sign in to comment.