Vytvorenie šablóny operačného systému UBUNTU pre systém vmware automation musí spĺňať určité požiadavky či už zabezpečenia prípadne implementovanie bezpečnostných politík danej organizácie alebo špecifických nastavení. Medzi hlavné nastavenia, ktoré je potrebné urobiť je zamedzenia vykonávania operačného systému periodických operácií ktoré vyťažujú systémové zdroje. Pri klonovaných VM by dochádzalo napríklad k vytvoreniu rovnakých serverov s rovnakými machine-ID čo by spôsobovalo chybovosť pri prideľovaní IP adries alebo kolíziám v sieti.
Inštalácia a nastavnie vmware VM
Ubuntu servr alebo desktop je potrebné nainštalovať ako virtuál so zvoleným operačným systémom UBUNTU. Pre optimalizáciu nastavení je odporúčane deaktivácia SWAP File ktorý sa automatický vytvára. Deaktivovanie SWAP File sa vykonáva za predpokladu, že systém disponuje dostatočnou kapacitou RAM prípadne v systémoch kde je večšia fluktuácia vytváraných virtuálov.
Deaktivácia VSWAP spočíva vo vytvorení Custom atributes v nastavení Virtuálnéh stroja:
sched.swap.vmxSwapEnabled false

Úprava nastavení UBUNTU
Nainštalovaný systém ubuntu je v predvolenej inštalácií neoptímalne nastavený pre potreby automatického vytvárania virtuálov.
Pre správnu funkcionality je potrebné vytvorit heslo pre účet ROOT
passwd root
1. Inštalácia dodatočného SW
apt update
apt upgrade -y
apt autoremove -y
apt install mc htop xinetd ssh net-tools ifupdown ntp
systemctl enable ssh ntp
2. Úprava machine-ID parametra
rm /var/lib/dbus/machine-id
ln -s /etc/machine-id /var/lib/dbus/machine-id
echo "" > /etc/machine-id
3. Zrušenie Cloud-init a network-manager
sudo apt purge cloud-init network-manager -y
sudo apt autoremove -y
4. Zrušenie NetPlan, nastavenie siete a DNS
rm -rf /etc/netplan/*
unlink /etc/resolv.conf
tee /etc/resolv.conf >/dev/null <<EOL
nameserver 192.168.3.2
nameserver 192.168.16.16
nameserver 8.8.8.8
EOL
sudo systemctl disable systemd-resolved
sudo systemctl stop systemd-resolved
5. Optimalizácia OpenVMtools
sudo sed -i 's/Before=cloud-init-local.service/After=dbus.service/g' /lib/systemd/system/open-vm-tools.service
sudo sed -i 's/D /tmp 1777 root root -/#D /tmp 1777 root root -/g' /usr/lib/tmpfiles.d/tmp.conf
6. Nastavenie SSH, aktivácia rc.local
sudo tee /etc/rc.local >/dev/null <<EOL
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
test -f /etc/ssh/ssh_host_dsa_key || dpkg-reconfigure openssh-server
exit 0
EOL
sudo chmod +x /etc/rc.local
tee /etc/systemd/system/rc-local.service >/dev/null <<EOL
[Unit]
Description=/etc/rc.local Compatibility
ConditionPathExists=/etc/rc.local
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
StandardOutput=tty
RemainAfterExit=yes
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
EOL
systemctl enable rc-local
rm -rf /etc/ssh/ssh_host_*
Pri verzií server je potrebné povolit na strane SSH root pripojenie a deaktivovať predvytvorený účet vmware
sed -i '/^#PermitRootLogin prohibit-password/a PermitRootLogin yes' /etc/ssh/sshd_config
sed -i '/^PermitRootLogin yes/a DenyUsers vmware' /etc/ssh/sshd_config
7. Nastavnie času a NTP servera
timedatectl set-timezone Europe/Bratislava
timedatectl set-ntp no
sed -i '/^[^#]/ s/\(^.*pool.*$\)/#\ \1/' /etc/ntp.conf
echo "pool ntp.local.sk iburst" >> /etc/ntp.conf
systemctl restart ntp
ntpq -p
8. Nastavenie RDP
cd /tmp
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.2.3.zip
unzip xrdp-installer-1.2.3.zip
chmod +x xrdp-installer-1.2.3.sh
./xrdp-installer-1.2.3.sh -s -l
9. Nastavenie multipathd
nano /etc/multipath.conf
Do konfiguračného súboru je potrebné pridať parameter:
blacklist {
devnode "^(ram|raw|loop|fd|md|dm-|sr|scd|st|sda)[0-9]*"
}
10. Zmazanie dočasných súborov a zakazanie SWAP partície
sudo swapoff --all
sudo sed -ri '/\sswap\s/s/^#?/#/' /etc/fstab
echo "Acquire::ForceIPv4 "true";" > /etc/apt/apt.conf.d/99force-ipv4
if [ -f /var/log/audit/audit.log ]; then
cat /dev/null > /var/log/audit/audit.log
fi
if [ -f /var/log/wtmp ]; then
cat /dev/null > /var/log/wtmp
fi
if [ -f /var/log/lastlog ]; then
cat /dev/null > /var/log/lastlog
fi
if [ -f /etc/udev/rules.d/70-persistent-net.rules ]; then
rm /etc/udev/rules.d/70-persistent-net.rules
fi
rm -rf /tmp/*
rm -rf /var/tmp/*
rm -f /etc/ssh/ssh_host_*
echo "" > /etc/machine-id
apt clean
history -w
history -c
PhD študent zaoberajúci sa počítačovou bezpečnosťou pracujúci s technológiami VMware, docker, kubernetes, checkpoint, checkMK, freeradius, Cisco WLC, cisco Switches.