|
|
Log in / Subscribe / Register

Network support for Landlock

From:  Konstantin Meskhidze <konstantin.meskhidze-AT-huawei.com>
To:  <mic-AT-digikod.net>
Subject:  [PATCH v7 00/18] Network support for Landlock
Date:  Tue, 30 Aug 2022 01:03:43 +0800
Message-ID:  <20220829170401.834298-1-konstantin.meskhidze@huawei.com>
Cc:  <willemdebruijn.kernel-AT-gmail.com>, <gnoack3000-AT-gmail.com>, <linux-security-module-AT-vger.kernel.org>, <netdev-AT-vger.kernel.org>, <netfilter-devel-AT-vger.kernel.org>, <yusongping-AT-huawei.com>, <hukeping-AT-huawei.com>, <anton.sirazetdinov-AT-huawei.com>
Archive-link:  Article

Hi,
This is a new V7 patch related to Landlock LSM network confinement.
It is based on the landlock's -next branch on top of v5.19 kernel version:
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux...

It brings refactoring of previous patch version V6 and based on
Mickaёl's two commits in -tmp-net branch:
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux...
https://git.kernel.org/pub/scm/linux/kernel/git/mic/linux...

All test were run in QEMU evironment and compiled with
 -static flag.
 1. network_test: 18/18 tests passed.
 2. base_test: 7/7 tests passed.
 3. fs_test: 61/61 tests passed.
 4. ptrace_test: 8/8 tests passed.

LCOV - code coverage report:
            Hit  Total  Coverage
Lines:      952  1010    94.2 %
Functions:  79   82      96.3 %

Previous versions:
v6: https://lore.kernel.org/linux-security-module/20220621082...
v5: https://lore.kernel.org/linux-security-module/20220516152...
v4: https://lore.kernel.org/linux-security-module/20220309134...
v3: https://lore.kernel.org/linux-security-module/20220124080...
v2: https://lore.kernel.org/linux-security-module/20211228115...
v1: https://lore.kernel.org/linux-security-module/20211210072...

Konstantin Meskhidze (18):
  landlock: rename access mask
  landlock: refactor landlock_find_rule/insert_rule
  landlock: refactor merge/inherit_ruleset functions
  landlock: move helper functions
  landlock: refactor helper functions
  landlock: refactor landlock_add_rule syscall
  landlock: user space API network support
  landlock: add network rules support
  landlock: implement TCP network hooks
  seltests/landlock: move helper function
  seltests/landlock: add tests for bind() hooks
  seltests/landlock: add tests for connect() hooks
  seltests/landlock: add AF_UNSPEC family test
  seltests/landlock: add rules overlapping test
  seltests/landlock: add ruleset expanding test
  seltests/landlock: add invalid input data test
  samples/landlock: add network demo
  landlock: Document Landlock's network support

 Documentation/userspace-api/landlock.rst    |  84 ++-
 include/uapi/linux/landlock.h               |  49 ++
 samples/landlock/sandboxer.c                | 123 ++-
 security/landlock/Kconfig                   |   1 +
 security/landlock/Makefile                  |   2 +
 security/landlock/fs.c                      | 144 +---
 security/landlock/limits.h                  |   7 +-
 security/landlock/net.c                     | 161 ++++
 security/landlock/net.h                     |  26 +
 security/landlock/ruleset.c                 | 369 +++++++--
 security/landlock/ruleset.h                 | 136 +++-
 security/landlock/setup.c                   |   2 +
 security/landlock/syscalls.c                | 168 +++--
 tools/testing/selftests/landlock/common.h   |  10 +
 tools/testing/selftests/landlock/config     |   4 +
 tools/testing/selftests/landlock/fs_test.c  |  10 -
 tools/testing/selftests/landlock/net_test.c | 786 ++++++++++++++++++++
 17 files changed, 1796 insertions(+), 286 deletions(-)
 create mode 100644 security/landlock/net.c
 create mode 100644 security/landlock/net.h
 create mode 100644 tools/testing/selftests/landlock/net_test.c

--
2.25.1



Copyright © 2022, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds