parent
ec244aa739
commit
2f4b55048b
@ -0,0 +1,81 @@ |
||||
<?php |
||||
|
||||
Configure::set('display', true); |
||||
Configure::set('logfile', true); |
||||
|
||||
$options = cgetopt(["updates"]); |
||||
$updates = $options['updates'] ?? "no"; |
||||
|
||||
Configure::set('remove_users', [ |
||||
'shutdown', 'halt', 'games', 'operator', |
||||
'ftp', 'news', 'gopher', |
||||
]); |
||||
|
||||
force_root(); |
||||
|
||||
display(getTermColors("Deleteing unused user accounts", ['color'=>'blue'])); |
||||
$remove_users = Configure::get('remove_users'); |
||||
foreach($remove_users as $del_user) { |
||||
do_command('userdel', $del_user); |
||||
} |
||||
|
||||
display(getTermColors("Removing old un-needed programs", ['color'=>'blue'])); |
||||
do_command('purge', "xinetd nis yp-tools tftpd atftpd tftpd-hpa telnetd rsh-server rsh-redone-server"); |
||||
|
||||
if ($updates === "yes") { |
||||
display("Full updates and unattended-upgrades"); |
||||
do_command('full_update'); |
||||
do_command('install', "unattended-upgrades"); |
||||
do_command('systemctl', "unattended-upgrades", "start"); |
||||
do_command('systemctl', "unattended-upgrades", "enable"); |
||||
} |
||||
|
||||
display(getTermColors("List services", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'systemctl list-unit-files --type=service', $output, $exit_code); |
||||
display($output); |
||||
unset($output); |
||||
|
||||
display(getTermColors("Verify no Accounts have Empty passwords", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'awk -F: \'($2 == "") {print}\' /etc/shadow', $output, $exit_code); |
||||
if (count($output) > 0) { |
||||
display(getTermColors($output, ['color'=>'red'])); |
||||
} else { |
||||
display(getTermColors("All accounts have passwords.", ['color'=>'green'])); |
||||
} |
||||
unset($output); |
||||
|
||||
display(getTermColors("Make sure No Non-Root accounts have UID set to 0", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'awk -F: \'($3 == "0") {print}\' /etc/passwd', $output, $exit_code); |
||||
if (count($output) > 1) { |
||||
display(getTermColors($output, ['color'=>'red'])); |
||||
} else { |
||||
display(getTermColors("All accounts are normal.", ['color'=>'green'])); |
||||
} |
||||
unset($output); |
||||
|
||||
display(getTermColors("World Writable files", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'find / -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print', $output, $exit_code); |
||||
if (count($output) > 0) { |
||||
display(getTermColors($output, ['color'=>'red'])); |
||||
} else { |
||||
display(getTermColors("No world writable files exists.", ['color'=>'green'])); |
||||
} |
||||
unset($output); |
||||
|
||||
display(getTermColors("Unwanted SUID and SGID bins", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'find / \( -perm -4000 -o -perm -2000 \) -print', $output, $exit_code); |
||||
if (count($output) > 0) { |
||||
display(getTermColors($output, ['color'=>'red'])); |
||||
} else { |
||||
display(getTermColors("No sticky bits found.", ['color'=>'green'])); |
||||
} |
||||
unset($output); |
||||
|
||||
display(getTermColors("No-owner Files", ['color'=>'blue'])); |
||||
exec(neato::get_bin . 'find / -xdev \( -nouser -o -nogroup \) -print', $output, $exit_code); |
||||
if (count($output) > 0) { |
||||
display(getTermColors($output, ['color'=>'red'])); |
||||
} else { |
||||
display(getTermColors("All files have owner-ship.", ['color'=>'green'])); |
||||
} |
||||
unset($output); |
||||
Loading…
Reference in new issue