Skip to content

Commit 3d68cd6

Browse files
committed
Added Wordfence CLI Remediate
1 parent eb59bca commit 3d68cd6

10 files changed

Lines changed: 94 additions & 2 deletions

enginescript-variables.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-#-
88

99
# EngineScript Version
10-
VARIABLES_DATE="JANUARY 26TH 2024"
10+
VARIABLES_DATE="JANUARY 30TH 2024"
1111

1212
# Software Versions
1313
MARIADB_VER="10.11"
@@ -22,6 +22,9 @@ PNGOUT_VER="20200115"
2222
WORDFENCE_CLI_VER="3.0.1"
2323
ZLIB_VER="1.3"
2424

25+
# No Longer Used
26+
WORDFENCE_CLI_VER="3.0.1"
27+
2528
# Old Software Versions
2629
OLDPHP="8.0"
2730
OLDPCRE="8.45"

scripts/functions/cron/daily-database-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ NOW=$(date +%m-%d-%Y-%H)
3535

3636
# Filenames
3737
DATABASE_FILE="${NOW}-database.sql";
38+
FULLWPFILES="${NOW}-wordpress-files.gz";
3839
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3940
PHP_FILE="${NOW}-php.tar.gz";
4041
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/functions/cron/hourly-database-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ NOW=$(date +%m-%d-%Y-%H)
3535

3636
# Filenames
3737
DATABASE_FILE="${NOW}-database.sql";
38+
FULLWPFILES="${NOW}-wordpress-files.gz";
3839
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3940
PHP_FILE="${NOW}-php.tar.gz";
4041
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/functions/cron/nginx-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ NOW=$(date +%m-%d-%Y-%H)
2929

3030
# Filenames
3131
DATABASE_FILE="${NOW}-database.sql";
32+
FULLWPFILES="${NOW}-wordpress-files.gz";
3233
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3334
PHP_FILE="${NOW}-php.tar.gz";
3435
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/functions/cron/php-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ NOW=$(date +%m-%d-%Y-%H)
2929

3030
# Filenames
3131
DATABASE_FILE="${NOW}-database.sql";
32+
FULLWPFILES="${NOW}-wordpress-files.gz";
3233
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3334
PHP_FILE="${NOW}-php.tar.gz";
3435
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/functions/cron/weekly-wp-content-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ NOW=$(date +%m-%d-%Y-%H)
3535

3636
# Filenames
3737
DATABASE_FILE="${NOW}-database.sql";
38+
FULLWPFILES="${NOW}-wordpress-files.gz";
3839
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3940
PHP_FILE="${NOW}-php.tar.gz";
4041
SSL_FILE="${NOW}-ssl-keys.gz";
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
#!/usr/bin/env bash
2+
#----------------------------------------------------------------------------
3+
# EngineScript - A High-Performance WordPress Server Built on Ubuntu and Cloudflare
4+
#----------------------------------------------------------------------------
5+
# Website: https://EngineScript.com
6+
# GitHub: https://github.com/Enginescript/EngineScript
7+
# Company: VisiStruct / EngineScript
8+
# License: GPL v3.0
9+
# OS: Ubuntu 22.04 (jammy)
10+
#----------------------------------------------------------------------------
11+
12+
# EngineScript Variables
13+
source /usr/local/bin/enginescript/enginescript-variables.txt
14+
source /home/EngineScript/enginescript-install-options.txt
15+
16+
# Check current user's ID. If user is not 0 (root), exit.
17+
if [ "${EUID}" != 0 ];
18+
then
19+
echo "${BOLD}ALERT:${NORMAL}"
20+
echo "EngineScript should be executed as the root user."
21+
exit
22+
fi
23+
24+
#----------------------------------------------------------------------------
25+
# Start Main Script
26+
27+
# Date
28+
NOW=$(date +%m-%d-%Y-%H)
29+
30+
# Filenames
31+
DATABASE_FILE="${NOW}-database.sql";
32+
FULLWPFILES="${NOW}-wordpress-files.gz";
33+
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
34+
PHP_FILE="${NOW}-php.tar.gz";
35+
SSL_FILE="${NOW}-ssl-keys.gz";
36+
UPLOADS_FILE="${NOW}-uploads.tar.gz";
37+
VHOST_FILE="${NOW}-nginx-vhost.conf.gz";
38+
WPCONFIG_FILE="${NOW}-wp-config.php.gz";
39+
WPCONTENT_FILE="${NOW}-wp-content.gz";
40+
41+
# Select site
42+
cd /var/www/sites
43+
printf "Please select the site you want to remove infected files on:\n"
44+
select d in *; do test -n "$d" && break; echo ">>> Invalid Selection"; done
45+
cd "$d" && echo "Wordfence CLI will attempt to remediate infections of known files by reverting them back to their original version."
46+
echo -e "\nEngineScript will now create a new database and full file backup for your site.
47+
\n\nIf something goes wrong, the backup files can be found in in:
48+
\n/home/EngineScript/site-backups/${d}/wordfence-cli-remediate-backup/${NOW}\n\n"
49+
50+
# Make backup directory
51+
mkdir -p /home/EngineScript/site-backups/${d}/wordfence-cli-remediate-backup/${NOW}
52+
53+
# Export database
54+
wp db export --path=/var/www/sites/${d}/html "/home/EngineScript/site-backups/${d}/wordfence-cli-remediate-backup/${NOW}/${DATABASE_FILE}" --add-drop-table --allow-root
55+
56+
# Export files locally
57+
#cd /var/www/sites/${d}/html
58+
tar -zcvf "/home/EngineScript/site-backups/${d}/wordfence-cli-remediate-backup/${NOW}/${FULLWPFILES}" html
59+
60+
echo -e "\nBackup completed.
61+
\n\nIf something goes wrong, the backup files can be found in in:
62+
\n/home/EngineScript/site-backups/${d}/wordfence-cli-remediate-backup/${NOW}\n\n"
63+
64+
# Remediate
65+
echo -e "\nStarting the remediate process...
66+
\n\nThis will take a while.\n\n"
67+
sleep 3
68+
69+
wordfence remediate /var/www/sites/${d}/html
70+
71+
# Ask user to acknowledge that the scan has completed before moving on
72+
echo ""
73+
echo ""
74+
echo "The remediate process has been completed."
75+
echo ""
76+
read -n 1 -s -r -p "Press any key to continue"
77+
echo ""
78+
echo ""

scripts/install/vhost/vhost-backup.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ NOW=$(date +%m-%d-%Y-%H)
3232

3333
# Filenames
3434
DATABASE_FILE="${NOW}-database.sql";
35+
FULLWPFILES="${NOW}-wordpress-files.gz";
3536
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
3637
PHP_FILE="${NOW}-php.tar.gz";
3738
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/install/vhost/vhost-install.sh

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -386,6 +386,7 @@ NOW=$(date +%m-%d-%Y-%H)
386386

387387
# Filenames
388388
DATABASE_FILE="${NOW}-database.sql";
389+
FULLWPFILES="${NOW}-wordpress-files.gz";
389390
NGINX_FILE="${NOW}-nginx-vhost.conf.gz";
390391
PHP_FILE="${NOW}-php.tar.gz";
391392
SSL_FILE="${NOW}-ssl-keys.gz";

scripts/menu/security-tools-menu.sh

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ while true
3232
echo ""
3333
echo ""
3434
PS3='Please enter your choice: '
35-
secoptions=("10up WP-CLI Vulnerability Scan" "Find PHP Files in Uploads Directory" "PHP Malware Finder" "Wordfence CLI Malware Scan" "Wordfence CLI Vulnerability Scan" "WP-CLI Doctor" "WPScan Vulnerability Scan" "Exit Security Tools")
35+
secoptions=("10up WP-CLI Vulnerability Scan" "Find PHP Files in Uploads Directory" "PHP Malware Finder" "Wordfence CLI Malware Scan" "Wordfence CLI Remediate Infected Files (After Malware Scan)" "Wordfence CLI Vulnerability Scan" "WP-CLI Doctor" "WPScan Vulnerability Scan" "Exit Security Tools")
3636
select secopt in "${secoptions[@]}"
3737
do
3838
case $secopt in
@@ -52,6 +52,10 @@ while true
5252
/usr/local/bin/enginescript/scripts/functions/security/wordfence-cli-malware-scan.sh
5353
break
5454
;;
55+
"Wordfence CLI Remediate Infected Files (After Malware Scan)")
56+
/usr/local/bin/enginescript/scripts/functions/security/wordfence-cli-remediate.sh
57+
break
58+
;;
5559
"Wordfence CLI Vulnerability Scan")
5660
/usr/local/bin/enginescript/scripts/functions/security/wordfence-cli-vuln-scan.sh
5761
break

0 commit comments

Comments
 (0)