Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added support for dynamic trust records #106

Merged
merged 1 commit into from Jan 4, 2021

Conversation

radosroka
Copy link
Member

  • one can write record/s to pipe in following format
    • "%s %ul %64s\n"
    • it contains full path, size and sha256 hash
    • each record has to be terminated with new line character
    • size of the record is limited by size of the buffer which is 4096
  • one can write "2" to the pipe and daemon will flush all cache
  • it is recommended to refresh the caches after some addition

Signed-off-by: Radovan Sroka rsroka@redhat.com

- one can write record/s to pipe in following format
  - "%s %ul %64s\n"
  - it contains full path, size and sha256 hash
  - each record has to be terminated with new line character
  - size of the record is limited by size of the buffer which is 4096
- one can write "2" to the pipe and daemon will flush all cache
- it is recommended to refresh the caches after some addition

Signed-off-by: Radovan Sroka <rsroka@redhat.com>
@stevegrubb stevegrubb merged commit 4c99330 into linux-application-whitelisting:master Jan 4, 2021
radosroka added a commit to radosroka/rpm that referenced this pull request Jan 28, 2021
Fapolicyd (File Access Policy Daemon) implements application whitelisting
to decide file access rights. Applications that are known via a reputation
source are allowed access while unknown applications are not.

The rpm plugin allows us to use rpm database as a source of trust.
We used dnf plugin since the beggining but it only provides notification
when transaction ends. With "integrity checking" requirement we need
a continual addition of files which are installed during the system
update. With fapolicyd rpm plugin we can allow using of recently
added/updated files in scriptlets during rpm transaction.

The fapolicyd plugin gathers metadata of currently installed files.
It sends the information about files and about ongoing rpm transaction
to the fapolicyd daemon. The information is written to Linux pipe which
is placed in /var/run/fapolicyd/fapolicyd.fifo.

The data format is "%s %lu %64s\n". [path, size, sha256]

The fapolicyd rpm plugin can be enabled with "--with-fapolicyd"
configure option.

Related PRs:
linux-application-whitelisting/fapolicyd#105
linux-application-whitelisting/fapolicyd#106

Signed-off-by: Radovan Sroka <rsroka@redhat.com>
pmatilai pushed a commit to rpm-software-management/rpm that referenced this pull request Jan 28, 2021
Fapolicyd (File Access Policy Daemon) implements application whitelisting
to decide file access rights. Applications that are known via a reputation
source are allowed access while unknown applications are not.

The rpm plugin allows us to use rpm database as a source of trust.
We used dnf plugin since the beggining but it only provides notification
when transaction ends. With "integrity checking" requirement we need
a continual addition of files which are installed during the system
update. With fapolicyd rpm plugin we can allow using of recently
added/updated files in scriptlets during rpm transaction.

The fapolicyd plugin gathers metadata of currently installed files.
It sends the information about files and about ongoing rpm transaction
to the fapolicyd daemon. The information is written to Linux pipe which
is placed in /var/run/fapolicyd/fapolicyd.fifo.

The data format is "%s %lu %64s\n". [path, size, sha256]

The fapolicyd rpm plugin can be enabled with "--with-fapolicyd"
configure option.

Related PRs:
linux-application-whitelisting/fapolicyd#105
linux-application-whitelisting/fapolicyd#106

Signed-off-by: Radovan Sroka <rsroka@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants