Initial commit
This commit is contained in:
@@ -0,0 +1,165 @@
|
||||
SUMMARY = "A full platform to monitor and control your systems"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=d625d1520b5e38faefb81cf9772badc9"
|
||||
|
||||
|
||||
DEPENDS = "openssl libpcre2 zlib libevent"
|
||||
SRC_URI = "git://github.com/ossec/ossec-hids;branch=master;protocol=https \
|
||||
file://0001-Makefile-drop-running-scrips-install.patch \
|
||||
file://0002-Makefile-don-t-set-uid-gid.patch \
|
||||
"
|
||||
|
||||
SRCREV = "bf797c759994015274f3bc31fe2bed278cce67ee"
|
||||
|
||||
UPSTREAM_CHECK_COMMITS = "1"
|
||||
|
||||
inherit autotools-brokensep useradd
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
OSSEC_UID ?= "ossec"
|
||||
OSSEC_RUID ?= "ossecr"
|
||||
OSSEC_GID ?= "ossec"
|
||||
OSSEC_EMAIL ?= "ossecm"
|
||||
|
||||
do_configure[noexec] = "1"
|
||||
|
||||
do_compile() {
|
||||
cd ${S}/src
|
||||
make PREFIX=${prefix} TARGET=local USE_SYSTEMD=No build
|
||||
}
|
||||
|
||||
do_install(){
|
||||
install -d ${D}${sysconfdir}
|
||||
install -d ${D}/var/ossec/${sysconfdir}
|
||||
|
||||
cd ${S}/src
|
||||
make TARGET=local PREFIX=${D}/var/ossec install
|
||||
|
||||
echo "DIRECTORY=\"/var/ossec\"" > ${D}/${sysconfdir}/ossec-init.conf
|
||||
echo "VERSION=\"${PV}\"" >> ${D}/${sysconfdir}/ossec-init.conf
|
||||
echo "DATE=\"`date`\"" >> ${D}/${sysconfdir}/ossec-init.conf
|
||||
echo "TYPE=\"local\"" >> ${D}/${sysconfdir}/ossec-init.conf
|
||||
chmod 600 ${D}/${sysconfdir}/ossec-init.conf
|
||||
install -m 640 ${D}/${sysconfdir}/ossec-init.conf ${D}/var/ossec/${sysconfdir}/ossec-init.conf
|
||||
}
|
||||
|
||||
pkg_postinst_ontarget:${PN} () {
|
||||
DIR="/var/ossec"
|
||||
|
||||
usermod -g ossec -G ossec -a root
|
||||
|
||||
# Default for all directories
|
||||
chmod -R 550 ${DIR}
|
||||
chown -R root:${OSSEC_GID} ${DIR}
|
||||
|
||||
# To the ossec queue (default for agentd to read)
|
||||
chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/ossec
|
||||
chmod -R 770 ${DIR}/queue/ossec
|
||||
|
||||
# For the logging user
|
||||
chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs
|
||||
chmod -R 750 ${DIR}/logs
|
||||
chmod -R 775 ${DIR}/queue/rids
|
||||
touch ${DIR}/logs/ossec.log
|
||||
chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/logs/ossec.log
|
||||
chmod 664 ${DIR}/logs/ossec.log
|
||||
|
||||
chown -R ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/queue/diff
|
||||
chmod -R 750 ${DIR}/queue/diff
|
||||
chmod 740 ${DIR}/queue/diff/* > /dev/null 2>&1 || true
|
||||
|
||||
# For the etc dir
|
||||
chmod 550 ${DIR}/etc
|
||||
chown -R root:${OSSEC_GID} ${DIR}/etc
|
||||
if [ -f /etc/localtime ]; then
|
||||
cp -pL /etc/localtime ${DIR}/etc/;
|
||||
chmod 555 ${DIR}/etc/localtime
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/localtime
|
||||
fi
|
||||
|
||||
if [ -f /etc/TIMEZONE ]; then
|
||||
cp -p /etc/TIMEZONE ${DIR}/etc/;
|
||||
chmod 555 ${DIR}/etc/TIMEZONE
|
||||
fi
|
||||
|
||||
# More files
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/internal_options.conf
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/client.keys >/dev/null 2>&1 || true
|
||||
chown root:${OSSEC_GID} ${DIR}/agentless/*
|
||||
chown ${OSSEC_UUID}:${OSSEC_GID} ${DIR}/.ssh
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/shared/*
|
||||
|
||||
chmod 550 ${DIR}/etc
|
||||
chmod 440 ${DIR}/etc/internal_options.conf
|
||||
chmod 660 ${DIR}/etc/local_internal_options.conf >/dev/null 2>&1 || true
|
||||
chmod 440 ${DIR}/etc/client.keys >/dev/null 2>&1 || true
|
||||
chmod 550 ${DIR}/agentless/*
|
||||
chmod 700 ${DIR}/.ssh
|
||||
chmod 770 ${DIR}/etc/shared
|
||||
chmod 660 ${DIR}/etc/shared/*
|
||||
|
||||
# For the /var/run
|
||||
chmod 770 ${DIR}/var/run
|
||||
chown root:${OSSEC_GID} ${DIR}/var/run
|
||||
|
||||
# For util.sh
|
||||
chown root:${OSSEC_GID} ${DIR}/bin/util.sh
|
||||
chmod +x ${DIR}/bin/util.sh
|
||||
|
||||
# For binaries and active response
|
||||
chmod 755 ${DIR}/active-response/bin/*
|
||||
chown root:${OSSEC_GID} ${DIR}/active-response/bin/*
|
||||
chown root:${OSSEC_GID} ${DIR}/bin/*
|
||||
chmod 550 ${DIR}/bin/*
|
||||
|
||||
# For ossec.conf
|
||||
chown root:${OSSEC_GID} ${DIR}/etc/ossec.conf
|
||||
chmod 660 ${DIR}/etc/ossec.conf
|
||||
|
||||
# Debconf
|
||||
. /usr/share/debconf/confmodule
|
||||
db_input high ossec-hids-agent/server-ip || true
|
||||
db_go
|
||||
|
||||
db_get ossec-hids-agent/server-ip
|
||||
SERVER_IP=$RET
|
||||
|
||||
sed -i "s/<server-ip>[^<]\+<\/server-ip>/<server-ip>${SERVER_IP}<\/server-ip>/" ${DIR}/etc/ossec.conf
|
||||
db_stop
|
||||
|
||||
# ossec-init.conf
|
||||
if [ -e ${DIR}/etc/ossec-init.conf ] && [ -d /etc/ ]; then
|
||||
if [ -e /etc/ossec-init.conf ]; then
|
||||
rm -f /etc/ossec-init.conf
|
||||
fi
|
||||
ln -s ${DIR}/etc/ossec-init.conf /etc/ossec-init.conf
|
||||
fi
|
||||
|
||||
# init.d/ossec file
|
||||
if [ -x ${DIR}/etc/init.d/ossec ] && [ -d /etc/init.d/ ]; then
|
||||
if [ -e /etc/init.d/ossec ]; then
|
||||
rm -f /etc/init.d/ossec
|
||||
fi
|
||||
ln -s ${DIR}/etc/init.d/ossec /etc/init.d/ossec
|
||||
fi
|
||||
|
||||
# Service
|
||||
if [ -x /etc/init.d/ossec ]; then
|
||||
update-rc.d -f ossec defaults
|
||||
fi
|
||||
|
||||
# Delete tmp directory
|
||||
if [ -d ${OSSEC_HIDS_TMP_DIR} ]; then
|
||||
rm -r ${OSSEC_HIDS_TMP_DIR}
|
||||
fi
|
||||
}
|
||||
|
||||
USERADD_PACKAGES = "${PN}"
|
||||
USERADD_PARAM:${PN} = "--system --home-dir /var/ossec -g ossec --shell /bin/false ossec"
|
||||
GROUPADD_PARAM:${PN} = "--system ossec"
|
||||
|
||||
RDEPENDS:${PN} = "openssl bash"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
Reference in New Issue
Block a user