yast / yast-security

YaST module security
http://en.opensuse.org/Portal:YaST
GNU General Public License v2.0
2 stars 11 forks source link

Add a security policy validation mechanism #128

Closed imobachgs closed 2 years ago

imobachgs commented 2 years ago

This PR adds security policy validation to the installer (see https://www.open-scap.org/security-policies/choosing-policy/).

Related PRs:

How it works

See the screenshots below to get an idea of how it works. Once the user enables a security profile (at this point only DISA STIG), YaST:

Installation settings including a 'Security Policy' section ![stig-installation-settings](https://user-images.githubusercontent.com/15836/199683671-97b386ee-f686-4beb-bcb8-9068c87a5930.png)
Storage proposal showing found problems with the current configuration ![stig-installation-summary](https://user-images.githubusercontent.com/15836/199683432-e7fdb88a-47f1-4196-b4e2-bb73e6e2cc1f.png)
YaST warning about an issue in the expert partitioner ![stig-partitioner](https://user-images.githubusercontent.com/15836/190117560-b320eae7-5125-4c40-aa86-0c6e164d93c4.png)
AutoYaST confirmation mode when some rule failed ![stig-autoyast-confirm-mode](https://user-images.githubusercontent.com/15836/190127107-48667680-ba70-4646-8fa6-395601405ae5.png)
Do not allow installing the system until all problems are solved ![stig-enabled-blocked](https://user-images.githubusercontent.com/15836/183658629-9589104f-c7c4-4012-ba21-53c1b511df16.png)

Enabling security policy validation

There are three different ways to enable policy checks:

What is missing?

Write the name of the enabled policies and disabled rules to the file system, so ssg-apply can take that information into account.

Implementation details

kobliha commented 2 years ago

Looks nice, I'd maybe put those errors under the "STIG is enabled (disable)" similarly as we list, e.g. forwarding details in network-routing. In such case, it would clearly connect that message with the fact that it's caused by that STIG thing.

mvidner commented 2 years ago

Not so stupid question: who is STIG and what are they doing in YaST?!

mvidner commented 2 years ago

I guess it is a Security Technical Implementation Guide but the Wikipedia article is quite vague. I assume we have openSUSE/SLE specific pointers, please add them.

dgdavid commented 2 years ago

Looks nice, I'd maybe put those errors under the "STIG is enabled (disable)" similarly as we list, e.g. forwarding details in network-routing. In such case, it would clearly connect that message with the fact that it's caused by that STIG thing.

I told them the same... but I think it's not possible/straight forward right now.

yast-bot commented 2 years ago

:heavy_check_mark: Internal Jenkins job #5 successfully finished :heavy_check_mark: Created IBS submit request #283897