Systemd and blocking connections to localhost, including via 'any'
I recently discovered a surprising path to accessing localhostURLs and services , whereinstead of connecting to 127.0.0.1 or the IPv6 equivalent, youconnected to 0.0.0.0 (or the IPv6 equivalent). In that entry Imentioned that I didn't know if systemd's IPAddressDeny would block this. I've now tested this, and the answer is thatsystemd's restrictions do block this. If you set'IPAddressDeny=localhost',
The original vi is a product of its time (and its time has passed)
Recently I saw another discussion of how some people are veryattached to the original, classical vi and its behaviors ( cf ).I'm quite sympathetic to this view, since I too am very attachedto the idiosyncratic behavior of various programs I've gotten usedto (such as xterm's very specific behavior in various areas), butat the same time I had a hot take over on the Fediverse :
Hot take: basic vim (without plugins) is mostly what vi should havebeen in the
How we failed to notice a power failure
Over on the Fediverse, I mentioned that we once missed noticingthat there had been a power failure . Naturally thereis a story there (and this is the expanded version of what I saidin the Fediverse thread). A necessary disclaimer is that this wasall some time ago and I may be mangling or mis-remembering some ofthe details.
My department is spread acrossmultiple buildings, one of which has my group's offices and our ancient machine room (which Ibelieve has been there since the building
A surprising path to accessing localhost URLs and HTTP services
One of the classic challenges in web security is DNS rebinding . The simple versionis that you put some web service on localhost in order to keepoutside people from accessing it, and then some joker out in theworld makes 'evil.example.org' resolve to 127.0.0.1 and arrangesto get you to make requests to it. Sometimes this is throughJavaScript in a browser, and sometimes this is by getting you tofetch things from URLs they supply (because you're
The meaning of connecting to INADDR_ANY in TCP and UDP
An interesting change to IP behavior landed in FreeBSD 15, as Idiscovered by accident .To quote from the general networking section of the FreeBSD 15release notes :
Making a connection to
INADDR_ANY, i.e., usingit as an alias forlocalhost, is now disabled bydefault. This functionality can be re-enabled by setting thenet.inet.ip.connect_inaddr_wild sysctlto 1. cd240957d7ba
I prefer to pass secrets between programs through standard input
There are a variety of ways to pass secrets from one program toanother on Unix, and many of them may expose your secrets undersome circumstances. A secret passed on the command line is visiblein process listings; a secret passed in the environment can be foundin the process's environment (which can usually be inspected byoutside parties). When I've had to deal with this in administrativeprograms in our environment , Ihave reached for an old Unix standby: pass the secret betweenprograms through file
The consoles of UEFI, serial and otherwise, and their discontents
UEFI is the modern firmwarestandard for x86 PCs and other systems; sometimes the actualimplementation is called a UEFI BIOS ,but the whole area is a bit confusing. I recently wrote about getting FreeBSD to use a serial console on a UEFI system and mentioned that someUEFI BIOSes could echo console output to a serial port, which caused Greg A. Woods to ask a goodquestion in a comment:
So, how does one get a typical UEFI-supporting system to use a serialconsole right from the firmware
Estimating where your Prometheus Blackbox TCP query-response check failed
As covered recently , the normalway to check simple services from outside in a Prometheus environmentis with Prometheus Blackbox , which is somewhatcomplicated to understand . One of itsabstractions is a prober , a generic way of checking some serviceusing HTTP, DNS queries, a TCP connection, and so on. The TCP probersupports conducting a query-response dialog once you connect , but currently (as of Blackbox0.28.0) it doesn't directly expose metrics that tell you where yourTCP probe with
Early Linux package manager history and patching upstream source releases
One of the important roles of Linux system package managers likedpkg and RPM is providing a singleinterface to building programs from source even though the programsmay use a wide assortment of build processes. One of the sourcebuilding features that both dpkg and RPM included (I believe fromthe start) is patching the upstream source code, as well as providingadditional files along with it. My impression is that today this isconsidered much less important in package managers, and some may makeit at least somewhat awkward to patch the
Making a FreeBSD system have a serial console on its second serial port
Over on the Fediverse I said :
Today's other work achievement: getting a UEFI booted FreeBSD 15machine to use a serial console on its second serial port, not itsfirst one. Why? Because the BMC's Serial over Lan stuff appears to behardwired to the second serial port, and life is too short to wire upphysical serial cables to test servers.
The basics of serial console support for your FreeBSD machine arecovered in the loader.conf manual page,under the ' console ' setting