snowflake-proxy doesn't write any files
=> run in read-only rootfs environment
the process needs to read SSL certs but no other files
=> only exposed path is /etc/ssl/certificates (read-only)
running as unpriviledged user with no additional capabilities
=> set no-new-privs bit
By default procd-ujail also isolates the process by executing it in
a separate new IPC and PID namespace.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
(cherry picked from commit
0f3d48a3784fb495ffdfe4a83f540ad42fab89df)
Signed-off-by: Nick Hainke <vincent@systemli.org>
PKG_NAME:=snowflake
PKG_VERSION:=2.3.0
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL=https://git.torproject.org/pluggable-transports/snowflake.git
procd_set_param user snowflake
procd_set_param group snowflake
procd_set_param respawn
+ [ -x /sbin/ujail ] && {
+ procd_add_jail snowflake-proxy ronly
+ procd_add_jail_mount /etc/ssl/certs
+ procd_set_param no_new_privs 1
+ }
procd_close_instance
}