source: apps/apparmor/home.i2p.i2prouter @ bb9cef1

Last change on this file since bb9cef1 was bb9cef1, checked in by kytv <kytv@…>, 6 years ago

Add example apparmor profile (ticket #1092)

  • Property mode set to 100644
File size: 4.9 KB
Line 
1# Last Modified: Mon, 16 Feb 2015
2# vim:syntax=apparmor et ts=8 sw=4
3
4#include <tunables/global>
5
6$INSTALL_PATH/{i2prouter,runplain.sh} flags=(complain) {
7  #include <abstractions/base>
8  #include <abstractions/fonts>
9  #include <abstractions/nameservice>
10  #include <abstractions/ssl_certs>
11
12  capability sys_ptrace,
13  network inet stream,
14  network inet6 stream,
15
16  $INSTALL_PATH/                                          r,
17  $INSTALL_PATH/{i2psvc,wrapper}                          rmix,
18  owner $INSTALL_PATH/**                                  rwklm,
19
20  # Needed for Java
21  @{PROC}                                                 r,
22  @{PROC}/[0-9]*/net/if_inet6                             r,
23  @{PROC}/[0-9]*/net/ipv6_route                           r,
24  @{PROC}/[0-9]*/status                                   r,
25  @{PROC}/[0-9]*/stat                                     r,
26  @{PROC}/[0-9]*/cmdline                                  r,
27  @{PROC}/1/comm                                          r,
28  @{PROC}/uptime                                          r,
29  @{PROC}/sys/kernel/pid_max                              r,
30  /sys/devices/system/cpu/                                r,
31  /sys/devices/system/cpu/**                              r,
32  /dev/random                                             r,
33  /dev/urandom                                            r,
34
35
36  /etc/ssl/certs/java/**                                  r,
37  /etc/timezone                                           r,
38  /usr/share/javazi/**                                    r,
39
40  # Debian
41  /etc/java-{6,7,8}-openjdk/**                            r,
42  /usr/lib/jvm/default-java/jre/bin/java                  rix,
43
44  # Debian, Ubuntu, openSUSE
45  /usr/lib{,32,64}/jvm/java-*-openjdk-*/jre/bin/java      rix,
46  /usr/lib{,32,64}/jvm/java-*-openjdk-*/jre/bin/keytool   rix,
47
48  # Raspbian
49  /usr/lib/jvm/jdk-*-oracle-*/jre/bin/java                rix,
50  /usr/lib/jvm/jdk-*-oracle-*/jre/bin/keytool             rix,
51
52
53  # Fonts are needed for I2P's graphs
54  /etc/fonts/**                                           r,
55  /usr/share/fontconfig/                                  r,
56  /usr/share/fontconfig/**                                r,
57  /usr/share/fonts/                                       r,
58  /usr/share/fonts/**                                     r,
59  /usr/share/fonts/truetype/                              r,
60  /usr/share/fonts/truetype/**                            r,
61  /usr/share/java/java-atk-wrapper.jar                    r,
62  /var/cache/fontconfig/                                  r,
63  /var/cache/fontconfig/**                                r,
64
65  # Used by some plugins
66  /usr/share/java/eclipse-ecj-*.jar                       r,
67
68  /{,var/}tmp/                                            rwm,
69  owner /{,var/}tmp/**                                    rwklm,
70
71  /{,usr/}bin/{,b,d}ash                                   rix,
72  /{,usr/}bin/cat                                         rix,
73  /{,usr/}bin/cut                                         rix,
74  /{,usr/}bin/dirname                                     rix,
75  /{,usr/}bin/expr                                        rix,
76  /{,usr/}bin/{,g,m}awk                                   rix,
77  /{,usr/}bin/grep                                        rix,
78  /{,usr/}bin/id                                          rix,
79  /{,usr/}bin/ldd                                         rix,
80  /{,usr/}bin/ls                                          rix,
81  /{,usr/}bin/mkdir                                       rix,
82  /{,usr/}bin/nohup                                       rix,
83  /{,usr/}bin/ps                                          rix,
84  /{,usr/}bin/rm                                          rix,
85  /{,usr/}bin/sed                                         rix,
86  /{,usr/}bin/sleep                                       rix,
87  /{,usr/}bin/tail                                        rix,
88  /{,usr/}bin/tr                                          rix,
89  /{,usr/}bin/uname                                       rix,
90  /{,usr/}bin/which                                       rix,
91
92  @{HOME}/.java/fonts/**                                  r,
93  owner  @{HOME}/.i2p/                                    rw,
94  owner  @{HOME}/.i2p/**                                  rwk,
95
96  # Prevent spamming the logs
97  deny owner @{HOME}/.java/                               wk,
98  deny @{HOME}/.fontconfig/                               wk,
99  deny @{HOME}/.java/fonts/**                             w,
100  deny /dev/tty                                           rw,
101  deny /dev/pts/[0-9]*                                    rw,
102  deny @{PROC}/[0-9]*/fd/                                 r,
103  deny /usr/local/share/fonts/                            r,
104  deny /var/cache/fontconfig/                             wk,
105  # Used by some versions of the Tanuki wrapper but never used by I2P
106  deny /usr/share/java/hamcrest*.jar                      r,
107  deny /usr/share/java/junit*.jar                         r,
108}
Note: See TracBrowser for help on using the repository browser.