-
Notifications
You must be signed in to change notification settings - Fork 710
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
50 additions
and
15 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
15 changes: 10 additions & 5 deletions
15
linux_os/guide/system/bootloader-grub2/grub2_vsyscall_argument/policy/stig/shared.yml
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 |
---|---|---|
@@ -1,31 +1,36 @@ | ||
srg_requirement: |- | ||
{{{ full_name }}} must disable virtual syscalls. | ||
{{{ full_name }}} must disable virtual system calls. | ||
vuldiscussion: |- | ||
Syscalls are special routines in the Linux kernel, which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task and switch context to kernel mode and then back to userspace after the system call completes. Virtual Syscalls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense. | ||
Virtual Syscalls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling vsyscalls help to prevent return oriented programming (ROP) attacks via buffer overflows and overruns. If the system intends to run containers based on RHEL 6 components, then virtual syscalls will need enabled so the components function properly. | ||
checktext: |- | ||
Verify the current GRUB 2 configuration disables vsyscalls with the following command: | ||
Verify the current GRUB 2 configuration disables virtual system calls with the following command: | ||
$ sudo grubby --info=ALL | grep args | grep -v 'vsyscall=none' | ||
If any output is returned, this is a finding. | ||
Check that vsyscalls are disabled by default to persist in kernel updates with the following command: | ||
Check that virtual system calls are disabled by default to persist in kernel updates with the following command: | ||
$ sudo grep vsyscall /etc/default/grub | ||
GRUB_CMDLINE_LINUX="vsyscall=none" | ||
If "vsyscall" is not set to "none", is missing or commented out and is not documented with the Information System Security Officer (ISSO) as an operational requirement, this is a finding. | ||
If "vsyscall" is not set to "none", is missing or commented out, and is not documented with the information system security officer (ISSO) as an operational requirement, this is a finding. | ||
fixtext: |- | ||
Document the use of vsyscalls with the ISSO as an operational requirement or disable them with the following command: | ||
Document the use of virtual system calls with the ISSO as an operational requirement or disable them with the following command: | ||
$ sudo grubby --update-kernel=ALL --args="vsyscall=none" | ||
Add or modify the following line in "/etc/default/grub" to ensure the configuration survives kernel updates: | ||
GRUB_CMDLINE_LINUX="vsyscall=none" | ||
vuln_discussion: |- | ||
System calls are special routines in the Linux kernel, which userspace applications ask to do privileged tasks. Invoking a system call is an expensive operation because the processor must interrupt the currently executing task and switch context to kernel mode and then back to userspace after the system call completes. Virtual system calls map into user space a page that contains some variables and the implementation of some system calls. This allows the system calls to be executed in userspace to alleviate the context switching expense. | ||
Virtual system calls provide an opportunity of attack for a user who has control of the return instruction pointer. Disabling virtual system calls help to prevent return oriented programming (ROP) attacks via buffer overflows and overruns. If the system intends to run containers based on RHEL 6 components, then virtual system calls will need enabled so the components function properly. |
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
19 changes: 19 additions & 0 deletions
19
linux_os/guide/system/bootloader-grub2/non-uefi/file_owner_grub2_cfg/policy/stig/shared.yml
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,19 @@ | ||
srg_requirement: |- | ||
{{{ full_name }}} /boot/grub2/grub.cfg file must be owned by root. | ||
fixtext: |- | ||
Change the owner of the file /boot/grub2/grub.cfg to root by running the following command: | ||
$ sudo chown root /boot/grub2/grub.cfg | ||
checktext: |- | ||
Verify the ownership of the "/boot/grub2/grub.cfg" file with the following command: | ||
$ sudo stat -c "%U %n" /boot/grub2/grub.cfg | ||
root /boot/grub2/grub.cfg | ||
If "/boot/grub2/grub.cfg" file does not have an owner of "root", this is a finding. | ||
vuln_discussion: |- | ||
The " /boot/grub2/grub.cfg" file stores sensitive system configuration. Protection of this file is critical for system security. |
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