HN user

jamieweb

689 karma

Security Engineer

Email me: blog [at] (my HN username) [dot] net

Read my stuff: https://jamieweb.net/blog

My projects: https://jamieweb.net/projects

[ my public key: https://keybase.io/jamieweb; my proof: https://keybase.io/jamieweb/sigs/3Z1Yj4UoT3Wh1aHF-usg2CGzRzZriqrT-vGRsS5A5FM ]

Posts32
Comments218
View on HN
news.ycombinator.com 5y ago

Tell HN: YouTube have discontinued email notifications

jamieweb
6pts4
en.wikipedia.org 5y ago

Self-Surgery

jamieweb
1pts0
www.jamieweb.net 5y ago

Using Tor as a SysAdmin Tool

jamieweb
4pts0
azure.github.io 6y ago

SONiC – An Open Source Network Operating System

jamieweb
116pts43
www.jamieweb.net 6y ago

Using SPF Macros to Solve the Operational Challenges of SPF

jamieweb
1pts0
pop.system76.com 6y ago

Pop OS 20.04 LTS

jamieweb
269pts170
www.jamieweb.net 6y ago

Connecting to Decentralized Network 42

jamieweb
2pts0
www.jamieweb.net 6y ago

DNS CAA Records

jamieweb
2pts0
www.jamieweb.net 6y ago

Show HN: How good are you at spotting lookalike domains?

jamieweb
18pts10
www.jamieweb.net 6y ago

Show HN: Test how good you are at spotting potential phishing domains

jamieweb
2pts0
www.jamieweb.net 6y ago

MTA-STS and Starttls-Everywhere – HSTS and HSTS Preload for Email

jamieweb
2pts0
www.jamieweb.net 6y ago

A Look at PureDarwin – An OS Based on the Open Source Core of macOS

jamieweb
244pts104
news.ycombinator.com 6y ago

Ask HN: How can I ethically reach out to potential blog sponsors?

jamieweb
7pts3
news.ycombinator.com 7y ago

Ask HN: How do you handle your local machine OS build?

jamieweb
3pts2
tools.ietf.org 7y ago

Security.txt draft v.05 adds the Canonical and Preferred-Languages directives

jamieweb
1pts0
news.ycombinator.com 7y ago

Ask HN: A service where newsletter operators can advertise their newsletter?

jamieweb
6pts3
news.ycombinator.com 7y ago

Ask HN: How can individuals or small businesses acquire IP addresses?

jamieweb
10pts15
gitlab.com 7y ago

Show HN: Anonymize web server access logs using a Bloom filter

jamieweb
3pts0
news.ycombinator.com 7y ago

Ask HN: Privacy-centric and ethical analytics solutions?

jamieweb
1pts7
news.ycombinator.com 7y ago

How do you, personally, receive notifications when people blog?

jamieweb
6pts13
news.ycombinator.com 7y ago

Ask HN: Do you like to see “Back to top” buttons on websites?

jamieweb
17pts32
news.ycombinator.com 7y ago

Ask HN: Is it feasible to run your own DNS name servers nowadays?

jamieweb
5pts8
www.chromestatus.com 7y ago

Sec-Metadata

jamieweb
2pts0
news.ycombinator.com 7y ago

What's the deal with sites that require JavaScript to render any content at all?

jamieweb
8pts8
www.jamieweb.net 7y ago

Booting a physical Windows 10 disk on Linux using VirtualBox

jamieweb
25pts15
news.ycombinator.com 7y ago

Ask HN: Task list/to-do tools like Trello, but with checkboxes?

jamieweb
15pts29
news.ycombinator.com 7y ago

Ask HN: What's the best solution for GeoDNS that supports failover?

jamieweb
1pts4
news.ycombinator.com 7y ago

Ask HN: How do you notify your readers when you blog?

jamieweb
1pts3
news.ycombinator.com 7y ago

Ask HN: How can I increase discoverability on my blog without it looking spammy?

jamieweb
5pts1
github.com 7y ago

Onion Name System – .tor Domains for Tor Hidden Services

jamieweb
6pts0

I looked into this a few years ago[1]. The solution I came to involves putting the hash of the most recent Bitcoin block in your document, and then signing the hash of your document into the Bitcoin blockchain.

This cryptographically proves that the document was created/published within those two time bounds.

This of course doesn't help in all cases, i.e. you could edit an old document to make it look newer, but I'm not aware of any way to properly solve that particular problem without a trusted third-party.

[1] https://www.jamieweb.net/blog/proof-of-timestamp/

I use Cloudflare Workers for:

* Serving a standard security.txt file for all websites within my account

* Automatically rewriting the case of URLs for a CMS that doesn't support case-insensitivity

* Adding security headers to sites that don't support adding them locally (e.g. third-party hosting)

* Proxying requests elsewhere directly from the 'edge', rather than having to run my own proxy

* Serving static config files, e.g. mta-sts.txt, proxy.pac

Feedly lets you 'subscribe' to YT channels, so you can see all of the uploads in your Feedly feed.

Just search for a channel when adding a source. If it doesn't come up, paste in a direct link to the channel homepage and it'll find it.

My main reason for disliking Snap is the fact that it allows anybody in the world to publish a package with minimal moderation. This completely undermines the inherent trust that system package managers should have.

When installing critical system packages, I want to be absolutely certain that these are legitimate/official, and that even if I make a minor error in typing a command, I won't inadvertently install some sort of typosquatted fake version of the package.

When using Apt with the default repositories, this isn't a problem at all, as only known, trusted packages are available. In other words, there's no chance of someone publishing a fierfox or apahce2 package to try to typosquat someone.

I don't even want to talk about the forced automatic updates either... these make it essentially impossible to have a stable/reliable system for specialist use cases, e.g. browser testing, bastion host, build environment, where control over updates is very important.

On the sandboxing - it's good in principle, but rarely seems to be implemented in a truly meaningful way, as ultimately once you have home drive access, you don't even need to worry about escalating privileges as everything valuable is probably in your home area! There's an xkcd about this somewhere...

Allow developers/engineers to use an OS and tooling that they're comfortable with. There must be choice between text editors, IDEs, browsers, shells, etc.

Also don't try to control this centrally. Once developers have proven themselves to be competent at operating a computer, they shouldn't be forced to use a locked-down corporate machine.

You can transfer a domain with no downtime. The name servers will remain during the transfer, so as long as your DNS isn't dependent on the domain registrar, you'll be fine.

If you are using the registrar's built-in DNS hosting, move away from this first, which can also be done with no downtime.

I love your service, I use it every day. :)

I find that a lot of phishing sites these days are hosted on legitimate sites that have been backdoored, but are continuing to operate as normal.

The phishing page is hidden away in the /.well-known/ directory or another similar one, so the website owner is non-the-wiser.

As a side note, I was very impressed/delighted by the message on the site when JavaScript is disabled:

Sorry pal, but this won't work without a JavaScript. You are probably doing that for privacy reasons, and I do respect that. I tried to handle the noscript case gracefully, but there is only so much I could do. You can download this website, inspect the source code, and run it locally. Or, if you think this website is trustworthy enough, you can whitelist it in your browser or a script blocker. I don't have any third-party trackers on this website (only a CDN), so you will be safe here.

I'm interested to know whether the SHA256 hashes are just done on a TOFU basis, or whether they actually verify the Authenticode/GPG signatures of the EXE files to get an 'authoritative' or 'trusted' hash.

Most users will click straight through the approval though, like when they granted it full permissions at install.

And is the signing actually effective anyway? There's very little mention of it online, and as far as I can see it isn't covered in the official guide for publishing extensions.

Is it even possible to have proper signing keys stored locally or air-gapped?

To be honest that problem exists for essentially any software that auto-updates.

You just have to hope that the built-in integrity checking (if any) works and is effective.

That's why I like software distribution methodologies that rely purely on signing to verify authenticity, rather than simply the location that it was downloaded from. I can technically use any old dodgy Apt mirror that I want, as long as I only accept packages signed by trusted keys.

As a side note, it's shocking how many software providers say that their downloads are 'integrity checked' just because they're served over HTTPS.

A pair of $5 cloud servers and a Cloudflare load balancer for resiliency.

Ansible is used to build and maintain both servers, and the actual web content is in Git.

I use `receive.denyCurrentBranch=updateInstead` in the repo config on the servers, so I just do a push to each and the new content goes live instantly.

The reason for doing it this way is that I want to fully own my platform. I have fine-grain control over all of the web server headers, PHP configuration, etc.

https://www.jamieweb.net/