Skip to content

Instantly share code, notes, and snippets.

@abn
Last active August 29, 2015 14:08
Show Gist options
  • Save abn/b2ca01978cccb3818590 to your computer and use it in GitHub Desktop.
Save abn/b2ca01978cccb3818590 to your computer and use it in GitHub Desktop.
IntelMQ installation on Fedora 20
#!/usr/bin/env bash
# config
INTELMQ_USER=${INTELMQ_USER:-intelmq}
INTELMQ_HOME=${INTELMQ_HOME:-/etc/intelmq}
INTELMQ_URL=${INTELMQ_URL:-"git+https://github.com/certtools/intelmq.git"}
RUNAS_CMD="runuser --login ${INTELMQ_USER} --command"
# install deps
yum -y install git python python-pip python-devel redis
yum -y install make automake gcc gcc-c++ patch
# set up user intelmq
adduser \
--create-home \
--home-dir ${INTELMQ_HOME} \
--system \
--comment 'IntelMQ' ${INTELMQ_USER}
# install intelmq
pip install ${INTELMQ_URL}
INTELMQ_BIN=/bin/intelmqctl
ln -sf ${INTELMQ_BIN} /usr/local/bin/.
DIRS=("${INTELMQ_HOME}" "/var/run/intelmq" "/var/lib/intelmq" \
"${INTELMQ_BIN}" "/var/log/intelmq")
# create run dir: required for restarts
# TODO:FIX?
#mkdir -p /var/run/intelmq
for d in "${DIRS[@]}"; do
chmod -R 700 $d
chown -R ${INTELMQ_USER}:${INTELMQ_USER} $d
done
chmod -R 770 ${INTELMQ_HOME}
systemctl enable redis
systemctl start redis
# start something for fun
${RUNAS_CMD} "intelmqctl --botnet start"
# install manager
MANAGER_REPO=${MANAGER_REPO:-"https://github.com/certtools/intelmq-manager.git"}
yum -y install httpd php
TMP_DIR=/tmp/intelmq-manager
HTTPD_USER="apache"
WWW_DIR="/var/www/html"
git clone ${MANAGER_REPO} ${TMP_DIR}
cp -R ${TMP_DIR}/intelmq-manager/* ${WWW_HTML}/
chown -R ${HTTPD_USER}:${HTTPD_USER} ${WWW_HTML}/*
# fix up permissions
usermod --append --groups ${INTELMQ_USER} ${HTTPD_USER}
PERMISSION="${HTTPD_USER} ALL=(${INTELMQ_USER}) NOPASSWD: ${INTELMQ_BIN}"
grep -m 1 "${PERMISSION}" /etc/sudoers > /dev/null \
|| echo "${PERMISSION}" >> /etc/sudoers
# enable and start stuff
systemctl enable httpd
systemctl start httpd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment