AppArmor security module overview
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest47 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/47 | Pass struct vfsmount to the inode_create LSM hookfs/ include/ security/ +2 more | +13 | 0 replies | |
| 2/47 | Pass struct path down to remove_suid and childrenfs/ fs/ fs/ +5 more | +17 | 0 replies | |
| 3/47 | Add a vfsmount parameter to notify_change()fs/ fs/ fs/ +16 more | +85 | 0 replies | |
| 4/47 | Pass struct vfsmount to the inode_setattr LSM hookfs/ include/ security/ +2 more | +16 | 0 replies | |
| 5/47 | Add struct vfsmount parameter to vfs_mkdir()fs/ fs/ fs/ +6 more | +24 | 0 replies | |
| 6/47 | Pass struct vfsmount to the inode_mkdir LSM hookfs/ include/ security/ +2 more | +13 | 0 replies | |
| 7/47 | Add a struct vfsmount parameter to vfs_mknod()fs/ fs/ fs/ +6 more | +20 | 0 replies | |
| 8/47 | Pass struct vfsmount to the inode_mknod LSM hookfs/ include/ security/ +2 more | +13 | 0 replies | |
| 9/47 | Add a struct vfsmount parameter to vfs_symlink()fs/ fs/ fs/ +5 more | +24 | 0 replies | |
| 10/47 | Pass struct vfsmount to the inode_symlink LSM hookfs/ include/ security/ +2 more | +11 | 0 replies | |
| 11/47 | Pass struct vfsmount to the inode_readlink LSM hookfs/ include/ security/ +2 more | +11 | 0 replies | |
| 12/47 | Add struct vfsmount parameters to vfs_link()fs/ fs/ fs/ +2 more | +24 | 0 replies | |
| 13/47 | Pass the struct vfsmounts to the inode_link LSM hookfs/ include/ security/ +2 more | +29 | 0 replies | |
| 14/47 | Add a struct vfsmount parameter to vfs_rmdir()fs/ fs/ fs/ +4 more | +17 | 0 replies | |
| 15/47 | Pass struct vfsmount to the inode_rmdir LSM hookfs/ include/ security/ +2 more | +15 | 0 replies | |
| 16/47 | Call lsm hook before unhashing dentry in vfs_rmdir()fs/ | +7 | 0 replies | |
| 17/47 | Add a struct vfsmount parameter to vfs_unlink()fs/ fs/ fs/ +11 more | +46 | 0 replies | |
| 18/47 | Pass struct vfsmount to the inode_unlink LSM hookfs/ include/ security/ +2 more | +16 | 0 replies | |
| 19/47 | Add struct vfsmount parameters to vfs_rename()fs/ fs/ fs/ +2 more | +26 | 0 replies | |
| 20/47 | Pass struct vfsmount to the inode_rename LSM hookfs/ include/ security/ +2 more | +27 | 0 replies | |
| 21/47 | Add a struct vfsmount parameter to vfs_setxattr()fs/ fs/ fs/ +2 more | +38 | 0 replies | |
| 22/47 | Pass struct vfsmount to the inode_setxattr LSM hookfs/ include/ security/ +3 more | +45 | 0 replies | |
| 23/47 | Add a struct vfsmount parameter to vfs_getxattr()fs/ fs/ fs/ +4 more | +28 | 0 replies | |
| 24/47 | Pass struct vfsmount to the inode_getxattr LSM hookfs/ include/ security/ +2 more | +15 | 0 replies | |
| 25/47 | Add a struct vfsmount parameter to vfs_listxattr()fs/ fs/ fs/ +1 more | +21 | 0 replies | |
| 26/47 | Pass struct vfsmount to the inode_listxattr LSM hookfs/ include/ security/ +2 more | +10 | 0 replies | |
| 27/47 | Add a struct vfsmount parameter to vfs_removexattr()fs/ fs/ fs/ +1 more | +14 | 0 replies | |
| 28/47 | Pass struct vfsmount to the inode_removexattr LSM hookfs/ include/ security/ +3 more | +18 | 0 replies | |
| 29/47 | Fix __d_path() for lazy unmounts and make it unambiguousfs/ | +96 | 0 replies | |
| 30/47 | Make d_path() consistent across mount operationsfs/ | +8 | 0 replies | |
| 31/47 | Add d_namespace_path() to compute namespace relative pathnamesfs/ fs/ include/ +1 more | +32 | 0 replies | |
| 32/47 | From: Miklos Szeredi <[email protected]>fs/ fs/ include/ | +42 | 0 replies | |
| 33/47 | VFS: new fsetattr() file operationfs/ fs/ fs/ +14 more | +114 | 0 replies | |
| 34/47 | Pass struct file down the inode_*xattr security LSM hooksfs/ fs/ fs/ +7 more | +107 | 0 replies | |
| 35/47 | Factor out sysctl pathname codeinclude/ kernel/ security/ | +34 | 0 replies | |
| 36/47 | Allow permission functions to tell between parent and leaf checksfs/ | +2 | 0 replies | |
| 37/47 | Switch to vfs_permission() in do_path_lookup()fs/ | +3 | 0 replies | |
| 38/47 | Switch to vfs_permission() in sys_fchdir()fs/ | +6 | 0 replies | |
| 39/47 | Fix file_permission()fs/ | +7 | 0 replies | |
| 40/47 | Export audit subsystem for use by modulesinclude/ kernel/ | +15 | 0 replies | |
| 41/47 | AppArmor: Main Partsecurity/ | +1357 | 0 replies | |
| 42/47 | AppArmor: Module and LSM hookssecurity/ | +815 | 0 replies | |
| 43/47 | AppArmor: Profile loading and manipulation, pathname matchingsecurity/ security/ security/ | +1189 | 0 replies | |
| 44/47 | AppArmor: all the restsecurity/ security/ security/ +5 more | +1255 | 0 replies | |
| 45/47 | Add AppArmor LSM to security/Makefilesecurity/ security/ security/ | +22 | 0 replies | |
| 46/47 | add simple network toggles to apparmorsecurity/ security/ security/ +2 more | +255 | 0 replies | |
| 47/47 | --- Documentation/lsm/AppArmor-Security-Goal.txt | 134 +++++++++++++++++++++++++++ 1 file changed, 134 insertions(+)Documentation/ | +134 | 0 replies |
Reviews trailers per patch
2 of 47 patches have a Reviewed-by or Acked-by.
| Patch | Alan Cox | James Morris |
|---|---|---|
| 1/47 | ||
| 2/47 | ||
| 3/47 | ||
| 4/47 | ||
| 5/47 | ||
| 6/47 | ||
| 7/47 | ||
| 8/47 | ||
| 9/47 | ||
| 10/47 | ||
| 11/47 | ||
| 12/47 | ||
| 13/47 | ||
| 14/47 | ||
| 15/47 | ||
| 16/47 | ||
| 17/47 | ||
| 18/47 | ||
| 19/47 | ||
| 20/47 | ||
| 21/47 | ||
| 22/47 | ||
| 23/47 | ||
| 24/47 | ||
| 25/47 | ||
| 26/47 | ||
| 27/47 | ||
| 28/47 | ||
| 29/47 | A-b | |
| 30/47 | ||
| 31/47 | ||
| 32/47 | ||
| 33/47 | ||
| 34/47 | ||
| 35/47 | R-b | |
| 36/47 | ||
| 37/47 | ||
| 38/47 | ||
| 39/47 | ||
| 40/47 | ||
| 41/47 | ||
| 42/47 | ||
| 43/47 | ||
| 44/47 | ||
| 45/47 | ||
| 46/47 | ||
| 47/47 |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [AppArmor 00/47] AppArmor security module overview
Signature · 88 lines
This submission of the AppArmor security module is based against 2.6.24-rc4-mm. Any comments and feedback to improve implementation are appreciated. Changes since previous submission - added apparmor security goal document. Documentation/lsm/AppArmor-Security-Goal.txt - removed DAC style permissions in favor of a simpler file owner permissions specification - include the fgetattr and fsetattr patches by Miklos Szeredi <[email protected]>, and update them to use ATTR_FILE to enable LSMs to distinguish file descriptor operations - fix error where a NULL sock passed to socket_getsocket_getpeersec_dgram() was not correctly handled. - fix error in link permission subset test Outstanding Issues - use of d_namespace_path and buffer allocation to obtain a pathname for mediation. - conditional passing of the vfsmnt. This can be addressed by rebasing on the lookup intent patches but that has not been done for this submission. - ipc and signal mediation are a wip and not included. - fine grained network mediation - system confinement from boot is a wip and not included. - documentation needs to be updated to include newest features The patch series consists of five areas: (1) Pass struct vfsmount through to LSM hooks. (2) Fixes and improvements to __d_path(): (a) make it unambiguous and exclude unreachable paths from /proc/mounts, (b) make its result consistent in the face of remounts, (c) introduce d_namespace_path(), a variant of d_path that goes up to the namespace root instead of the chroot. (d) the behavior of d_path() and getcwd() remain unchanged, and there is no hidding of unreachable paths in /proc/mounts. The patches addressing these have been seperated from the AppArmor submission and will be introduced at a later date. Part (a) has been in the -mm tree for a while; this series includes an updated copy of the -mm patch. Parts (b) and (c) shouldn't be too controversial. (3) Be able to distinguish file descriptor access from access by name in LSM hooks. Applications expect different behavior from file descriptor accesses and accesses by name in some cases. We need to pass this information down the LSM hooks to allow AppArmor to tell which is which. (4) Convert the selinux sysctl pathname computation code into a standalone function. (5) The AppArmor LSM itself. (See below.) A tarball of the kernel patches, base user-space utilities, example profiles, and technical documentation (including a walk-through) are available at: http://forgeftp.novell.com/apparmor/LKML_Submission-Dec-07/ Only the most recent features are covered in brief here for a more complete explaination please refere to the technical documentation. File ownership permissions The DAC style permissions mask allowing the specification of permission for each of user, group, and other have been removed, after further feed back and discussion, in favor of a simpler permission set that allows specifying permissions for file ownership as determined by fsuid. Traditional AppArmor rules map to specifying permissions for files all files, to reduce the permissions grant the owner keyword can be added to a rule. /foo rw, # allow access to file /foo owner /foo rw, # allow access to file /foo only if its uid == fsuid