-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #11 from abhishekmj303/new-branch
Update In File System Hardening
- Loading branch information
Showing
8 changed files
with
157 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import subprocess | ||
from harden import config_file | ||
|
||
def get_script(config): | ||
file_systems_config = config["file-systems"] | ||
# Start with an empty script and build it up | ||
script = "" | ||
|
||
if file_systems_config['enable_aide']: | ||
# Each file system gets its own set of commands | ||
script += f""" | ||
apt install aide aide-common | ||
aideinit | ||
mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db | ||
""" | ||
return script | ||
|
||
if __name__ == "__main__": | ||
config = config_file.read() | ||
print(get_script(config)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import subprocess | ||
from harden import config_file | ||
|
||
def get_script(config): | ||
file_systems_config = config["file-systems"] | ||
# Start with an empty script and build it up | ||
script = "" | ||
|
||
if file_systems_config['config_fs']['dev_shm']: | ||
# Each file system gets its own set of commands | ||
script += f""" | ||
""" | ||
return script | ||
|
||
if __name__ == "__main__": | ||
config = config_file.read() | ||
print(get_script(config)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
import subprocess | ||
from harden import config_file | ||
|
||
def get_script(config): | ||
file_systems_config = config["file-systems"] | ||
# Start with an empty script and build it up | ||
script = "" | ||
|
||
if file_systems_config['config_fs']['tmp']: | ||
# Each file system gets its own set of commands | ||
script += f""" | ||
""" | ||
return script | ||
|
||
if __name__ == "__main__": | ||
config = config_file.read() | ||
print(get_script(config)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
import subprocess | ||
from harden import config_file | ||
|
||
def get_script(config): | ||
file_systems_config = config["processes"] | ||
|
||
# Start with an empty script and build it up | ||
script = "" | ||
|
||
if file_systems_config['remove_prelink']: | ||
# Each file system gets its own set of commands | ||
script += f""" | ||
prelink -ua | ||
apt purge prelink | ||
""" | ||
return script | ||
|
||
if __name__ == "__main__": | ||
config = config_file.read() | ||
print(get_script(config)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,32 @@ | ||
#!/bin/bash | ||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" | ||
PYTHON_SCRIPT="$SCRIPT_DIR/../harden/file_systems/aide.py" | ||
echo "Python script path: $PYTHON_SCRIPT" | ||
|
||
# Check if the Python script exists | ||
if [ ! -f "$PYTHON_SCRIPT" ]; then | ||
echo "Error: Python script not found." | ||
exit 1 | ||
fi | ||
|
||
# Run the Python script and capture its output | ||
echo "Running the Python script..." | ||
script_output=$(python3 "$PYTHON_SCRIPT") | ||
|
||
# Check the exit status of the Python script | ||
if [ $? -ne 0 ]; then | ||
echo "Python script execution failed." | ||
exit 1 | ||
fi | ||
|
||
# Optionally, print the output for verification | ||
echo "Python script output:" | ||
echo "$script_output" | ||
|
||
# Execute the output as a Bash script | ||
# WARNING: Executing scripts directly can be risky, especially with sudo commands. | ||
# Ensure you thoroughly understand and trust the script before executing. | ||
echo "Executing the generated Bash script..." | ||
bash -c "$script_output" | ||
|
||
echo "Script executed successfully." |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,43 @@ | ||
#!/bin/bash | ||
SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )" | ||
PYTHON_SCRIPT="$SCRIPT_DIR/../harden/process_hardening/remove_prelink.py" | ||
echo "Python script path: $PYTHON_SCRIPT" | ||
|
||
# Check if the Python script exists | ||
if [ ! -f "$PYTHON_SCRIPT" ]; then | ||
echo "Error: Python script not found." | ||
exit 1 | ||
fi | ||
|
||
# Run the Python script and capture its output | ||
echo "Running the Python script..." | ||
script_output=$(python3 "$PYTHON_SCRIPT") | ||
|
||
# Check the exit status of the Python script | ||
if [ $? -ne 0 ]; then | ||
echo "Python script execution failed." | ||
exit 1 | ||
fi | ||
|
||
# Optionally, print the output for verification | ||
echo "Python script output:" | ||
echo "$script_output" | ||
|
||
# Execute the output as a Bash script | ||
# WARNING: Executing scripts directly can be risky, especially with sudo commands. | ||
# Ensure you thoroughly understand and trust the script before executing. | ||
echo "Executing the generated Bash script..." | ||
bash -c "$script_output" | ||
|
||
# Execute dpkg-query command and check the output | ||
echo "Executing dpkg-query..." | ||
dpkg_output=$(dpkg-query -W -f='${binary:Package}\t${Status}\t${db:Status-Status}\n') | ||
|
||
# Check if dpkg-query output contains the specific line | ||
if echo "$dpkg_output" | grep -q "prelink unknown ok not-installed not-installed"; then | ||
echo "pre-link is not installed." | ||
else | ||
echo "pre-link may be installed." | ||
fi | ||
|
||
echo "Script executed successfully." |