On Thu, 2 Apr 2015 11:47:04 -0400 Jiri B <ji...@devio.us> wrote:
> On Thu, Apr 02, 2015 at 12:33:25AM -0400, Eric Furman wrote:
> > I sometimes have to deal with PDF files (ugh) and all
> > I need is the ability to view and print them, nothing
> > fancy. With security in mind I would like to get opinions
> > on the best one to use.
> > Thanks.

hardly any existing software is written with security in mind, so...
mitigation is the word. and since sometimes even the best coders may
slip up...

> 
> Run it chrooted under non-default (0) routing domain
> and you should be in 99 % fine.

and running under it's own user as well.

some of these mitigation techniques and more have been discussed
recently:
https://marc.info/?l=openbsd-misc&m=142703553113760&w=2
https://marc.info/?l=openbsd-misc&m=142637712203350&w=2
https://marc.info/?l=openbsd-misc&m=142676615612510&w=2

the last thread is my experiments with ssh chroot jailing. if you
decide to go the chroot route, you need to read that. you would
have to do some additional work (eg set up a device) to get a
printer working. there is also some info on using Xephyr. i use
a jailed xpdf myself just as in the examples.

and instead of routing, i use a pf rule:

  block out log
  pass out log quick on $intif proto tcp user { root, browse, 1000 }
  pass out log quick on $intif proto udp user { root, browse, 1000 }

but you could just block the one user:

  block out log quick on $intif proto tcp user pdf
  block out log quick on $intif proto udp user pdf
  pass out

at the very least, you want to run it under it's own user, using
'ssh -X' and Xephyr.

> 
> (I still can't figure out how to make apps in Xephyr
> maximalized without help of a WM.)

many programs have command line options to control some of this.
eg 'xpdf -fullscreen'. although that doesn't always give me the
interface i want. but 'xpdf -geometry xXy' works too. i have
scripts that syncronize the Xephyr geometry and the app's.

> 
> j.
> 

in sum, a dedicated unpriviledged user, using ssh -X and Xephyr, with
a pf rule (as above), and maybe chroot. about the best you can do for
any program. one of those threads is about systrace, but that might
be more complicated to set up (haven't looked into it too much myself).

Reply via email to