Thanks for the replies and ideas.

I was introduced to OpenBSD after an acquaintance had their home router 
compromised in 2016 and I started looking into network 
hardening/security. In my research trying to find the best firewall that 
didn't require purchasing commercial hardware/licensing I found PF and 
OpenBSD so I started learning.

My reasoning behind NOT installing the X, Comp and Game sets have little 
to do with saving space, although I am using an 8GB SSD. I learned in my 
research that one of the most fundamental ways to improve network/system 
security is to minimize the attack surface by not installing unneeded 
software. If it isn't installed, any potential vulnerabilities, known or 
not, are irrelevant.

My router is headless. I have never run into an issue where I have 
needed anything from the X sets, and don't compile anything from source 
so I don't need that, and I certainly don't play games on it so I don't 
need that either. Therefore it seems like sound logic to not have those 
bits and bytes present on the system so any 
mis-configurations/bugs/vulnerabilities cannot impact my network security.

I am running a couple of OpenVPN servers which some friends and family 
rely on, using DNSCrypt-Proxy, experimenting with Wireguard, playing 
around with certificates and authentication, and since I use a variety 
of automation/embedded devices which have dubious or no security of 
their own I rely on my firewall to prevent them from "phoning home" if 
they come or become compromised. I've slowly built my pf.conf, tables 
and anchors to a point I'm pretty happy with. I also have experimented 
with running OpenBSD with a read-only filesystem as just another layer 
of defense and annoyance for any potential invader although I'm not 
currently doing so. I'm sure with my limited although always expanding 
knowledge that there are still many ways my network could be compromised 
but I'm doing my best to at least plug the easily filled holes and 
adding any unused stuff feels like a step backwards.

My router is not unbootable but I am not sure how secure it is anymore 
because on boot I get several failures related to being "Out of space" 
and also the kernel relink fails, which I understand is a significant 
part of what makes OpenBSD more secure.

All of my partitions have at least 75% free space, except /usr which 
after the sysupgrade is listed by df as being filled to 104% capacity. 
I'm not even sure how that's possible.

This is just a personal system and if I screw it up no one is harmed 
except me and my users, and anyone else who might be attacked by my 
compromised system I guess, but it took me a long time to get it set up 
this way and I don't particularly look forward to having to rebuild it 
from scratch or how long it will be before I find the time to do so.

That being said, I realize there is plenty I do not know, and as a rule 
I experiment with making changes on a VM and observing the results until 
I feel like I have a solid grasp on what will occur before pushing 
anything to my live system, which sometimes takes months due to life, 
work and family, but reading the sysupgrade manpage there is nothing 
which even hints that any software which was explicitly rejected during 
the original install will be installed anyway by this tool. In the 
interest of protecting others from the same mistake I hope that a simple 
sentence explaining that it also installs any previously rejected sets 
could be added there.


It looks like my best chance to be certain I have the router in the 
state I think I do will be to do a fresh install and then use sysupgrade 
using a variation of the script Leo mentioned in his email on 7/9/19:

#!/bin/sh
sysupgrade -n
rm /home/_sysupgrade/x*
rm /home/_sysupgrade/game*
reboot


Thanks again,
Judah

> Marcus MERIGHI writes:
>> please do *not* copy/paste/run this command!
>> something along these lines for the sets you did not want:
>>
>> $ ftp -MVo- $(</etc/installurl)/snapshots/amd64/xserv66.tgz | tar \
>>      tzf - | xargs rm
>>
>> you are aware that it is recommended to run with all sets?
> Despite previous posts requesting assistance with not doing so, I second
> this recommendation to anyone not able to construct that ftp/tar/rm
> command from first principles (and with a clear need to do so).
>
> Patronisation aside, your computer's storage is a lot cheaper than the
> mental effort required to deal with a system that's non-standard but
> only by having a few bits wasted by their _complete lack of use_.
>
>      Filesystem    Used    Mounted on
>
> The system proper is tiny:
>
>      /dev/sd0a     148M    /
>      /dev/sd0e     860M    /usr
>      /dev/sd0h     203M    /usr/X11R6
>      /dev/sd0g    70.9M    /var
>
> The user/development environment is little bigger:
>
>      /dev/sd0i     4.7G    /usr/local
>      /dev/sd0m     1.1G    /usr/obj
>      /dev/sd0l     685M    /usr/ports
>      /dev/sd0j     1.0G    /usr/src
>      /dev/sd0k     688M    /usr/xenocara
>      /dev/sd0n     2.0K    /usr/xobj
>
> Putting part-built binaries and /usr/local aside, that's only
> 1.2GB. 4.7GB is large for /usr/local but that's because this is my
> "throw everything at it" system. Even with this fully-packed system and
> the full source code the total is just a shade over 8GB. Despite space
> earmarked for growth it's difficult to stretch the base system to 16GB.
>
> I don't know about anyone else but I can't even find storage media that
> small any more. I'm all for minimising waste but effort where it's due.
>
> But see also https://twitter.com/rob_pike/status/966896123548872705
>
> Matthew
>
> ps. FWIW where my systems were concerned I was looking at minimising
> waste through repetition of many VMs but there are other, in ways
> better, methods of doing that. Any which involve me thinking about it
> have a priori failed.
>
> pps. Reinstalling is not actually that big a deal. Partition, install
> boot sector, extract sets, install packages and finally site-specific
> files to /etc, /home, /var and possibly /srv or something. The installer
> can be easily configured to do all of this without human interaction
> prior to the first live boot.
>

Reply via email to