4 ms·
> The first part of that may be true, but the second part is definitely false. It is very hard to write your own secure anything-connected-to-a-network. No, it
by zAy0LfpBZLC8mAC 10y ago
> The first part of that may be true, but the second part is definitely false. It is very hard to write your own secure anything-connected-to-a-network.
No, it's not. Where did you get that idea?
- sanderjd 10y agoFrom years of using, writing, and reading about network software. I'm not sure if you're being obstinate or naive, or if you actually have some silver bullet for writing secure network software, but if it's the latter, I'm sure lots of people would love to pick your brain!
- zAy0LfpBZLC8mAC 10y agoThere is no silver bullet, but one very helpful principle: Avoid complexity. But let me ask you: What are the big security problems that you see with a personal email server that you think are difficult to get right/to avoid?
- sanderjd 10y agoAll the same things that are difficult to get right in any other chunk of code that handles arbitrary input from across the internet. I have a couple tomes on this subject: "The Art of Software Security Assessment" is 1200 pages long, "The Web Application Hacker's Handbook" is another 900 pages. Nobody has solved all the issues discussed in those (and many other) books in such a way that makes this no longer "hard". Note that I'm not at all claiming this stuff is impossible or a total lost cause, just that I think it easily passes the bar for "hard", and is certainly tricky enough to get right that I personally don't think it's worth the effort to run network-connected services unless they're for a business that I'm hoping will pay for my time and effort somehow.
- zAy0LfpBZLC8mAC 10y ago> All the same things that are difficult to get right in any other chunk of code that handles arbitrary input from across the internet. That's about as unspecific as you can be, isn't it? So, let me give the equally uninformative answer: All of those are either easy to prevent, or they lead to a DoS, which isn't a big concern for a personal email server. > "The Art of Software Security Assessment" is 1200 pages long Haven't read it, but by its TOC, it's mostly irrelevant to the given problem (except maybe that it teaches you to not write you personal mail server in C, who would have thought ...). > "The Web Application Hacker's Handbook" is another 900 pages. Didn't I say something about avoiding complexity? No, you should not build your mail server as a web application, in case that wasn't clear. > Nobody has solved all the issues discussed in those (and many other) books in such a way that makes this no longer "hard". Well, how about you give an example of one problem that you think is still hard enough to be a major obstacle to implementing you own secure personal mail server? > [...] that I personally don't think it's worth the effort to run network-connected services unless they're for a business that I'm hoping will pay for my time and effort somehow. How is it that you suddenly switched to "services"? I thought we were talking about "network software"? Am I supposed to believe that you are not running a web browser unless it's for a business that you're hoping will pay for your time and effort somehow? How about web applications? Or what is your justification for a distinction between "services" and "network software", as far as possible security impact is concerned?
- sanderjd 10y agoAs for your final paragraph about word choice: I'm not sure what you mean, I'm just talking about any software that is running somewhere and accessible across a network. As for the rest of it... there was a time when I would have bothered trying to delineate some specifics for you, thinking I was providing some educational service or something, or that maybe I'd learn something from you in the discussion, but I'm getting the sense that if I did that, you would just be dismissive of all those things as "not a big concern", "because of complexity", "because of C", etc., and I would be wasting my time. There are plenty of places you can go read about this stuff if you want to, but I don't think you do, I think you're just looking for an argument. Good luck to you!