Reboot előtt Linux parancsok

Elő-elő fordul, hogy egy szerver évek óta megy, pl. 2008-ban installálta valaki pl. egy rendszergazda állami intézménynél. A rendszergazda már régen Londonban vagy Stockholmban dolgozik, és a gépet azóta nem indította újra senki. Azt sem lehet tudni, hogy azóta mit állított vagy milyen szolgáltatást indított el manuálisan bárki, ezért az újraindítás után kétséges, hogy működik-e a szerver úgy, ahogy előtte tette. Ahhoz hogy reprodukálható legyen a korábbi állapot, összeírtunk pár parancsot, amit érdemes kiadni:

 

#modulok
lsmod

#routok
route -n

#file system, partition, sw raid
echo “—————————————————————” && \
echo “—— File system ———-” && df -h &&\
echo “—— Partitions ———–” && cat /proc/partitions && \
echo “—— mount ———–” && mount && \
echo “—— mdadm ———–” && mdadm –detail –scan && \
echo “—— mdstat ———–” && cat /proc/mdstat

#ip, mac
echo “—————————————————————” && \
echo “—— ip addr ———-” && ip addr show | grep inet | sed ‘s/inet6//’ | sed ‘s/inet//’ | sed ‘s/^ *//’ | grep -v ‘^127*’ | grep -v ‘^::*’ | grep -v ‘fe80*’ | awk ‘{ print $6″ “$1}’ && \
echo “—— mac addr———” && ifconfig | grep ‘Hwaddr\|HWaddr’ | awk ‘{ print $1″ “$5}’

#firewall
iptables -S

#running processes
ps auxw | awk ‘{print $11” “$12” “$13}’ | egrep ‘^(/|[a-z]).*’ | sort | uniq

#kapcsolatok
netstat -tupan

#minden ami cron-ban van
echo “—————————————————————” && \
echo “—— cron.d ——–” && ls /etc/cron.d/ && \
echo “—— cron.daily —–” && ls /etc/cron.daily/ && \
echo “—— cron.hourly —-” && ls /etc/cron.hourly/ && \
echo “—— cron.monthly –” && ls /etc/cron.monthly/ && \
echo “—— cron.weekly —” && ls /etc/cron.weekly/ && \
echo “—— user cron —–” && ls /var/spool/cron/crontabs/ && \
echo “—— crontab ——” && cat /etc/crontab | grep “^[^#;]”

#OS adatok
echo “—————————————————————” && \
echo “—— issue ———” && cat /etc/issue && \
echo “—— OS info ——–” && uname -a && \
echo “—— OS verzio ——-” && cat /proc/version && \
echo “—— lang ———–” && locale | grep LANG= | cut -d’=’ -f 2 && \
echo “—— service level —–” && who -r | sed ‘s/^ *//’

#startup services, if run on 2. service level
ls /etc/rc2.d

#hostname
hostname -f

################### audit scriptek ###################
//userek shellel
string=””
for j in `cat /etc/passwd | grep ‘bash\|sh\|zsh\ksh’ | awk -F: ‘{ print $1}’`
do
jj=$(echo $j | tr -d ‘ ‘ | tr -d ‘\n’ | tr -d ‘\t’ | tr -d ‘\r’)
echo $jj
for i in $jj
do
string+=`printf “$i “`
done
done
echo $string

//authorized_keys file a home-ban, adott usernel
string=””
for j in `cat /etc/passwd | grep ‘bash\|sh\|zsh\ksh’ | awk -F: ‘{ print $6}’`
do
jj=$(echo $j | tr -d ‘ ‘ | tr -d ‘\n’ | tr -d ‘\t’ | tr -d ‘\r’)
if [ -f “$jj/.ssh/authorized_keys” ]; then
string+=`printf “$jj ” | sed ‘s/\/home\///’`
fi
done
echo $string

//kiknek van jelszavuk a shadow-ban
string=””
for j in `awk -F”:” ‘($2 != “!” && $2 != “*”) {print $1}’ /etc/shadow`
do
string+=`printf “$j “`
done
echo $string

#sshd beallitasa
sshd -T

#Server hw parameters
echo “—————————————————————” && \
echo “—— system information ——” && dmidecode -t system | grep ‘Manufact\|Product\|UUID\|Version\|Serial\|SKU\|Family’ | sed ‘s/^\t*//’ && \
echo “—— CPU ——————” && grep “model name” /proc/cpuinfo | sort | uniq | awk ‘{ $1=$2=$3=””; print $0}’ | sed ‘s/^ *//’ && \
echo “—— CPU freq ————–“&& cat /proc/cpuinfo | grep “MHz” | awk ‘{ print $4}’ && \
echo “—— CPU core count ———” && grep -c ^processor /proc/cpuinfo && \
echo “—— Memory size ———–” && awk ‘/MemTotal/ {printf( “%.2fGB\n”, $2 / 1024 / 1024 )}’ /proc/meminfo && \
echo “—— Memory slot info ——–” && dmidecode -t memory | grep ‘Capacity\|Size\|Form\|Speed\|Locator’ | sed ‘s/^\t*//’ | sed ‘s/Size/\nSize/’ && \
echo “—— BIOS info ————–” && dmidecode -t bios | grep ‘Vendor\|Version\|Release Date’ | sed ‘s/^\t*//’ | sed ‘s/Vendor/\nVendor/’ && \
echo “—— Baseboard info ———-” && dmidecode -t baseboard | grep ‘Manufacturer\|Version\|Product Name\|Serial Number\|Release Date’ | sed ‘s/^\t*//’ | sed ‘s/Vendor/\nVendor/’

#hdd
ls /dev/sd*
ls /dev/hd*
ls /dev/vd*

hdparm -i /dev/sda | grep -i model
hdparm -I /dev/sda | grep ‘Model Number\|Serial Number\|Transport:’| sed ‘s/^\t*//’

#a telepitett szoftverek lekérdezése pl. mysql
dpkg -l | grep mysql | awk ‘{$2=$2}1’ | sed ‘s/^ii //’