Skip to content

Commit c4674e4

Browse files
committed
forgot to add changes
1 parent dee2f64 commit c4674e4

3 files changed

Lines changed: 139 additions & 4 deletions

File tree

build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ function build_tar_local_installer(){
6363
-C src NessusAPI SCAP TenableCore Notes -C .. install
6464

6565
cp ./install/utils/tar*.rpm ./dist/installer
66-
cp ./install/utils/build_tenablecore.sh ./dist/installer
66+
cp ./install/utils/build_tenablecore*.sh ./dist/installer
6767
}
6868

6969
function build_vm_dist(){

install/utils/build_tenablecore.sh

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,12 @@ function usage(){
1818

1919
function install_rpms(){
2020
# install java first per https://docs.tenable.com/nessus/Content/SoftwareRequirements.htm
21-
rpm -ivh "$INSTALL_TEMPDIR/install/rpms/jdk-11/*.rpm" || true
21+
rpm -ivh "$INSTALL_TEMPDIR/install/rpms/java/*.rpm" || true
2222
rpm -i "$INSTALL_TEMPDIR/install/rpms/acas/CM307352_Nessus-10.7.3-el8.x86_64.rpm" || true
2323
rpm -i "$INSTALL_TEMPDIR/install/rpms/acas/dialog-1.3-32.20210117.el9.x86_64.rpm" || true
2424
rpm -i "$INSTALL_TEMPDIR/install/rpms/acas/CM306733_acas_configure-24.03-4.noarch.rpm" || true
2525
# install rpm extras
26-
rpm -ivh "$INSTALL_TEMPDIR/install/rpms/jdk-11/*.rpm" || true
26+
rpm -ivh "$INSTALL_TEMPDIR/install/rpms/extras/*.rpm" || true
2727
}
2828

2929
function configure_nessus(){
@@ -148,5 +148,5 @@ install_api
148148
echo "Nessus Install Completed"
149149

150150
if [ -z "$NO_CLEAN" ]; then
151-
rm -rf "$INSTALL_TEMPDIR" TenableCore-Builder.tar.gz tar-1.34-6.el9_4.1.x86_64.rpm build_tenablecore.sh
151+
rm -rf "$INSTALL_TEMPDIR" TenableCore-Builder.tar.gz tar-1.34-6.el9_4.1.x86_64.rpm build_tenablecore.sh build_tenablecore_oracle7.sh
152152
fi
Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,135 @@
1+
#!/bin/bash
2+
# Run this script from within the ACASVM
3+
# this script should be run in the same directory as the 'TenableCore-Builder.tar.gz' file
4+
5+
set -e
6+
7+
# Global Vars
8+
NO_CLEAN=
9+
export INSTALL_TEMPDIR=_ACAS_OS_INSTALL
10+
11+
function usage(){
12+
echo ''
13+
echo 'USAGE: ./build_tenablecore.sh [--noclean] [--temp-dir PATH]'
14+
echo ' Arguments:'
15+
echo ' --noclean: does not remove extracted files from the "temp-dir"'
16+
echo ' --temp-dir PATH: specify path to extract tar to (Default: /tmp/_ACAS_OS_INSTALL)'
17+
}
18+
19+
function install_rpms(){
20+
yum install -y java nessus nmap cdrecord mkisofs tar
21+
# install rpm extras
22+
rpm -ivh "$INSTALL_TEMPDIR/install/rpms/jdk-11/*.rpm" || true
23+
}
24+
25+
function configure_nessus(){
26+
systemctl start nessusd || true
27+
ln -s /opt/nessus/sbin/nessuscli /usr/sbin/nessuscli || true
28+
ln -s /opt/nessus/sbin/nessusd /usr/sbin/nessusd || true
29+
30+
31+
echo "Creating Nessus User Account"
32+
# need to wait till nessus is fully up here?
33+
nessuscli adduser || true
34+
35+
# reset nessus to use SecurityCenter
36+
systemctl stop nessusd || true
37+
nessuscli fix --set path_to_java=/bin/java
38+
nessuscli fix --reset
39+
nessuscli fetch --security-center
40+
41+
# start nessus
42+
systemctl start nessusd || true
43+
44+
}
45+
46+
function configure_networking(){
47+
# turn off firewalld
48+
systemctl disable --now firewalld || true
49+
50+
# install NetworkManager profiles
51+
cp "$INSTALL_TEMPDIR"/TenableCore/NetworkManager/*.nmconnection /etc/NetworkManager/system-connections/
52+
chmod 600 /etc/NetworkManager/system-connections/*.nmconnection
53+
chown root:root /etc/NetworkManager/system-connections/*.nmconnection
54+
55+
# install networkctl
56+
cp "$INSTALL_TEMPDIR/TenableCore/NetworkManager/networkctl.sh" /opt
57+
chmod 755 /opt/networkctl.sh
58+
systemctl restart NetworkManager || true
59+
}
60+
61+
function install_notes(){
62+
cp -r "$INSTALL_TEMPDIR/Notes" /opt/
63+
}
64+
65+
function install_api(){
66+
# install pip packages (includes pyinstaller)
67+
su acasuser bash -c 'python -m ensurepip'
68+
sudo -Eu acasuser bash -c '/home/acasuser/.local/bin/pip3 install --no-index --find-links "$INSTALL_TEMPDIR/install/python/oracle/" -r "$INSTALL_TEMPDIR/NessusAPI/requirements.txt"'
69+
70+
# install nessus-configure src and configs
71+
mkdir -p /opt/NessusAPI/{bin,src}
72+
cp -r "$INSTALL_TEMPDIR"/NessusAPI/configs /opt/NessusAPI
73+
cp "$INSTALL_TEMPDIR"/NessusAPI/*.py /opt/NessusAPI/src/
74+
75+
ln -s /opt/NessusAPI/src/nessus-configure.py /usr/bin/nessus-configure || true
76+
ln -s /opt/NessusAPI/src/nessus-update-policy.py /usr/bin/nessus-update-policy || true
77+
}
78+
79+
function install_utility_scripts(){
80+
cp -r "$INSTALL_TEMPDIR"/TenableCore/scripts /opt/
81+
# force ownership and permissions
82+
chmod 755 /opt/scripts/*
83+
chown -R root:root /opt/scripts/*
84+
# symlink only bins so all users can see it
85+
ln -s /opt/scripts/bin/* /usr/bin/
86+
# other scripts get stored here
87+
88+
}
89+
90+
####################### Main #######################
91+
92+
# ensure required file is present first
93+
if [ ! -f "TenableCore-Builder.tar.gz" ]; then
94+
echo -n "ERROR: TenableCore-Builder.tar.gz not in current directory"
95+
usage
96+
exit 1
97+
fi
98+
99+
# Parse arguments
100+
while [[ "$#" -gt 0 ]]; do
101+
case $1 in
102+
--noclean)
103+
NO_CLEAN=true ;;
104+
--temp-dir)
105+
INSTALL_TEMPDIR="$2"
106+
shift
107+
;;
108+
--help)
109+
usage
110+
;;
111+
*)
112+
echo "ERROR: Unknown parameter passed: $1";
113+
usage
114+
exit 1
115+
;;
116+
esac
117+
shift
118+
done
119+
120+
mkdir -p "$INSTALL_TEMPDIR"
121+
122+
install_rpms
123+
124+
tar -xzvf TenableCore-Builder.tar.gz -C "$INSTALL_TEMPDIR"
125+
126+
configure_nessus
127+
configure_networking
128+
install_notes
129+
install_api
130+
131+
echo "Nessus Install Completed"
132+
133+
if [ -z "$NO_CLEAN" ]; then
134+
rm -rf "$INSTALL_TEMPDIR" TenableCore-Builder.tar.gz build_tenablecore.sh build_tenablecore_oracle7.sh
135+
fi

0 commit comments

Comments
 (0)