mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-08 10:12:53 +01:00
Merge pull request #9635 from Security-Onion-Solutions/mkr24
Ubuntu support changes
This commit is contained in:
@@ -909,10 +909,9 @@ detect_os() {
|
||||
|
||||
elif [ -f /etc/os-release ]; then
|
||||
OS=ubuntu
|
||||
if grep -q "UBUNTU_CODENAME=bionic" /etc/os-release; then
|
||||
OSVER=bionic
|
||||
elif grep -q "UBUNTU_CODENAME=focal" /etc/os-release; then
|
||||
if grep -q "UBUNTU_CODENAME=focal" /etc/os-release; then
|
||||
OSVER=focal
|
||||
is_ubuntu=true
|
||||
else
|
||||
info "We do not support your current version of Ubuntu."
|
||||
exit 1
|
||||
@@ -1992,6 +1991,43 @@ repo_sync_local() {
|
||||
}
|
||||
|
||||
saltify() {
|
||||
if [[ $is_ubuntu ]]; then
|
||||
|
||||
DEBIAN_FRONTEND=noninteractive retry 150 20 "apt-get -y -o Dpkg::Options::=\"--force-confdef\" -o Dpkg::Options::=\"--force-confold\" upgrade" >> "$setup_log" 2>&1 || exit 1
|
||||
update-alternatives --install /usr/bin/python python /usr/bin/python3.8 10
|
||||
local pkg_arr=(
|
||||
'apache2-utils'
|
||||
'ca-certificates'
|
||||
'curl'
|
||||
'software-properties-common'
|
||||
'apt-transport-https'
|
||||
'openssl'
|
||||
'netcat'
|
||||
'jq'
|
||||
)
|
||||
retry 150 20 "apt-get -y install ${pkg_arr[*]}" || exit 1
|
||||
|
||||
logCmd "mkdir -vp /opt/so/gpg"
|
||||
logCmd "wget -q --inet4-only -O /opt/so/gpg/SALTSTACK-GPG-KEY.pub https://repo.securityonion.net/file/securityonion-repo/ubuntu/20.04/amd64/salt/SALTSTACK-GPG-KEY.pub"
|
||||
logCmd "wget -q --inet4-only -O /opt/so/gpg/docker.pub https://download.docker.com/linux/ubuntu/gpg"
|
||||
logCmd "apt-key add /opt/so/gpg/SALTSTACK-GPG-KEY.pub"
|
||||
logCmd "apt-key add /opt/so/gpg/docker.pub"
|
||||
|
||||
# Add SO Saltstack Repo
|
||||
echo "deb https://repo.securityonion.net/file/securityonion-repo/ubuntu/20.04/amd64/salt3004.2/ focal main" > /etc/apt/sources.list.d/saltstack.list
|
||||
|
||||
# Add Docker Repo
|
||||
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
|
||||
|
||||
# Ain't nothing but a GPG
|
||||
|
||||
retry 150 20 "apt-get update" "" "Err:" || exit 1
|
||||
retry 150 20 "apt-get -y install salt-minion=3004.2+ds-1 salt-common=3004.2+ds-1" || exit 1
|
||||
retry 150 20 "apt-mark hold salt-minion salt-common" || exit 1
|
||||
retry 150 20 "apt-get -y install python3-pip python3-dateutil python3-m2crypto python3-mysqldb python3-packaging python3-influxdb python3-lxml" || exit 1
|
||||
|
||||
fi
|
||||
|
||||
if [[ $is_centos ]]; then
|
||||
RUSALTY=$(rpm -qa | grep salt-minion | wc -l)
|
||||
if [[ "$RUSALTY" -gt 0 ]]; then
|
||||
@@ -2305,6 +2341,22 @@ so_add_user() {
|
||||
fi
|
||||
}
|
||||
|
||||
ubuntu_check() {
|
||||
if [[ $OS == "ubuntu" ]]; then
|
||||
if [[ $waitforstate ]]; then
|
||||
whiptail_ubuntu_notsupported
|
||||
exit 1
|
||||
else
|
||||
if [[ $UBUNTUINSTALL == "needtoupgrade" ]]; then
|
||||
whiptail_ubuntu_warning
|
||||
else
|
||||
whiptail_ubuntu_notsupported
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
update_sudoers_for_testing() {
|
||||
if [ -n "$TESTING" ]; then
|
||||
info "Ensuring $INSTALLUSERNAME has password-less sudo access for automated testing purposes."
|
||||
|
||||
@@ -314,6 +314,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
# If you are a manager ask ALL the manager things here. I know there is code re-use but this makes it easier to add new roles.
|
||||
if [[ $is_eval ]]; then
|
||||
waitforstate=true
|
||||
ubuntu_check
|
||||
monints=true
|
||||
check_elastic_license
|
||||
check_requirements "manager"
|
||||
@@ -336,6 +337,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
elif [[ $is_standalone ]]; then
|
||||
waitforstate=true
|
||||
ubuntu_check
|
||||
monints=true
|
||||
check_elastic_license
|
||||
check_requirements "manager"
|
||||
@@ -359,6 +361,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
elif [[ $is_manager ]]; then
|
||||
check_elastic_license
|
||||
waitforstate=true
|
||||
ubuntu_check
|
||||
check_requirements "manager"
|
||||
networking_needful
|
||||
collect_dockernet
|
||||
@@ -378,6 +381,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
elif [[ $is_managersearch ]]; then
|
||||
check_elastic_license
|
||||
waitforstate=true
|
||||
ubuntu_check
|
||||
check_requirements "manager"
|
||||
networking_needful
|
||||
collect_dockernet
|
||||
@@ -395,6 +399,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
collect_so_allow
|
||||
whiptail_end_settings
|
||||
elif [[ $is_sensor ]]; then
|
||||
ubuntu_check
|
||||
monints=true
|
||||
check_requirements "sensor"
|
||||
calculate_useable_cores
|
||||
@@ -410,6 +415,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
|
||||
elif [[ $is_searchnode ]]; then
|
||||
ubuntu_check
|
||||
check_requirements "elasticsearch"
|
||||
networking_needful
|
||||
check_network_manager_conf
|
||||
@@ -422,6 +428,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
|
||||
elif [[ $is_heavynode ]]; then
|
||||
ubuntu_check
|
||||
monints=true
|
||||
check_requirements "heavynode"
|
||||
calculate_useable_cores
|
||||
@@ -432,6 +439,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
|
||||
elif [[ $is_idh ]]; then
|
||||
ubuntu_check
|
||||
check_requirements "idh"
|
||||
networking_needful
|
||||
collect_mngr_hostname
|
||||
@@ -440,6 +448,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
|
||||
elif [[ $is_import ]]; then
|
||||
ubuntu_check
|
||||
waitforstate=true
|
||||
monints=true
|
||||
check_elastic_license
|
||||
@@ -461,6 +470,7 @@ if ! [[ -f $install_opt_file ]]; then
|
||||
whiptail_end_settings
|
||||
|
||||
elif [[ $is_receiver ]]; then
|
||||
ubuntu_check
|
||||
check_requirements "receiver"
|
||||
networking_needful
|
||||
collect_mngr_hostname
|
||||
|
||||
@@ -1327,6 +1327,28 @@ whiptail_storage_requirements() {
|
||||
whiptail_check_exitstatus $exitstatus
|
||||
}
|
||||
|
||||
whiptail_ubuntu_notsupported() {
|
||||
[ -n "$TESTING" ] && return
|
||||
|
||||
read -r -d '' message <<- EOM
|
||||
Ubuntu is not supported for this node type.
|
||||
|
||||
Please use a supported OS or install via ISO.
|
||||
EOM
|
||||
whiptail --title "$whiptail_title" --msgbox "$message" 14 75
|
||||
}
|
||||
|
||||
whiptail_ubuntu_warning() {
|
||||
[ -n "$TESTING" ] && return
|
||||
|
||||
read -r -d '' message <<- EOM
|
||||
Ubuntu support for this node type is limited.
|
||||
|
||||
Please consider using a fully supported OS or install via ISO.
|
||||
EOM
|
||||
whiptail --title "$whiptail_title" --msgbox "$message" 14 75
|
||||
|
||||
}
|
||||
whiptail_uppercase_warning() {
|
||||
|
||||
[ -n "$TESTING" ] && return
|
||||
|
||||
Reference in New Issue
Block a user