Why Some Security Experts Use Mutt
motherboard.vice.com
motherboard.vice.com
Thunderbird is pretty bad.
Side note: I use mutt with gmail imap and have no problem whatsoever. http://wiki.linuxwall.info/doku.php/en:ressources:astuces:mu...
Composing HTML emails need to be disabled for every account. Never had a problem with it.
In the end, mutt vs. Thunderbird is pretty much like vim vs. gedit. gedit is far easier to use out of the box, but vim allows you to define your own (complex) commands, allowing you to basically make your own editor.
E.g. I like GMail shortcuts, so I added macros like the following to my muttrc[1]:
macro index,pager gl "<change-vfolder>?/"
macro index,pager gi "<change-vfolder>inbox<enter>" "go to the inbox"
macro index,pager ga "<change-vfolder>archive<enter>" "go to the archive"
For instance, gl immediately gives me a list of vfolders and does the keystrokes to start a search. So, like GMail, I can immediately start typing a name of a folder.[1] Note: I use mutt-kz
- install Nostalgy addon
- press "g"
- type/select folder name
- profit$
Try the Nostalgy add-on.
But just using mutt is giving up much usability and features with little benefit in security. They're better off using good config and sandboxing with a client that gets more audits and bug fixes.
/s :)
For me, the advantages are: works all over (e.g., i can find out my buddy's apartment address from an email in 2008 even if i'm nowhere near wifi), it's snappy, keyboard-driven (like, really -- Google Mail with their cute mnemonics or Thunderbird with shortcuts don't count), text-only (because i'm a nerd, and perhaps you could argue vague hand-wavey security stuff here), and because i can Elisp my way out of sticky situations. Especially the Elisp.
On that last point, you might well contend that if i used an email client to your liking i wouldn't need to Elisp my way out of anything, but i think that's beside the point. For the first time in years (i've been using mu4e for a year now, and before that mutt, starting 2006) i've actually been able to make my client do exactly what i want using a real programming language -- certain formatting hacks, PGP to certain people in certain circumstances, email address completion the way i want it, etc.
But anyway, it's probably not for everyone :). There's also no such thing as a "best" email client, probably -- i'm just partial to the create-your-own-MUA kit that i've found in mu4e :).
This is waaaay off-topic though, i'm not even talking about mutt any more. Sorry, i got a little carried away :).
I use mutt because it's very very fast, and quite customizable (I maintain a kind of 0-inbox through a set of hotkeys, + spamassin + procmail). To handle numerous mailing-lists with medium volume, it's so far the best I've seen.
I tried many email clients (on Windows, OSX and Linux), but I always come back to mutt, because it's the fastest to handle the high-volume of email I have...
That, plus excellent PGP support, just makes mutt a much better email client that any other existing ones, local or web.
The other reason I like mutt is because it still conforms to the UNIX principle: One thing and one thing well. True, you could use mutt for SMTP/IMAP, but there are better tools for that. I use mutt with offlineimap, msmtp and mu (for searching).
In large implementations (such as Exchange Online in Office365) they may not support some of those services. IMAP can be very resource intensive and bog down a CAS or storage server.
you can send email using external programs (local smtp server and openxchange for exchange).
Mutt is not a traditional mail client, it is more of a glue between multiple programs so you can have one interface for all of your emails need.
I read my mail with less. That's a nontraditional mail client.
rm -rf *
Disclaimer: For the Unix impaired, this is an "expert only" utility. I am not responsible for the loss of all the files in your home directory should you attempt to use it.
How? Sounds like you just grep your way through the mailbox?
My presumption, based on your defensiveness/evasiveness, is that the answer is "yes."
It's a funny trick of the english language that when we say someone uses an email client, it comes across as an exclusive use. We need an explicit patch.
Those blood magic spells seem to be wearing off hard in the last year or so. I've been seeing a huge number of our customers migrate from the Lotus stack to Office365. Of course, IBM has already put their software divisions out in the back yard, and are popping the cartridges into their rifle to put the old girl down.
> [...] just as alcohol, drug use and smoking is more common in Doctors than any other diploma based profession out there [...]
What I could find with a quick search pointed in the other direction. Do you have some evidence?
So who cares if you write your email in text mode but browse the web with Chrome/Firefox? No offense against Mutt... I can understand that some terminal pros like it but I cannot understand using it for security sake. So what happens if you want to view a html email? What about mail on a mobile phone (I guess security experts do not use them)?
And mutt has other attack surface because it is using the terminal. Look here for a Ubuntu security notice about mutt: http://www.ubuntu.com/usn/usn-2440-1/ Now I smile because gmail is not affected by that!
This is all not practical for 99,9% of normal users out there.
If you care about security do not let the paranoia control you. We need to improve security for the normal users out there. Just my opinion.
See: https://www.debian-administration.org/article/75/Reading_HTM...
I don't do this because i'm a security expert (i'm not), i just love speed (so AJAX and fancypants websites are out for me, i'll use the terminal or Emacs where possible) and the keyboard.
EDIT: Oh yeah, and i'd never trust my web browser with my PGP key...
The trouble is that most people who say this end up doing 6 things that take 200 ms each (with the keyboard) instead of 1 thing that takes 1 second (with the mouse), and feel like they're zooming along in hyperspace. You feel like a leet hacker, but are you really getting anything done more efficiently?
Maybe not, but is that 200ms improvement when using the mouse really worth it if i get all warm and fuzzy-feeling by being able to type something? :p Intangible benefits, yo.
More seriously though, i also feel (personally -- maybe i'm an outlier) like switching from keyboard to mouse and back is a bit of a performance hit, so i tend to concentrate my workflow around the keyboard as much as possible. And yeah, maybe (99% certainly!) i'm not the leetest or fastest h4x0r out there, but at least i'm enjoying myself :).
(i would be curious about an actual test case though -- maybe someone could design a few common tasks to complete using one's favourite HID and compare!)
Just to note that I'm not a security expert, but I never check email on my phone. Just don't need to.
Whilst I realise mobile devices are very popular, there are a lot of people who don't require checking email when they're not at a desk.
On a server owned by somebody else, which the US government can fully spy on, seize and lock down at a whim.
Now try that with a privately owned and administered server.
If the government is on your list of threats you need a lot more than "private mail server".
If I were to live in the US, I would know when my server went missing. With Google or other cloud-providers they can do it behind your back.
> If it's located outside the US it's a valid target for all the TLAs.
And then can't seize it. It's physically secure. It may not be bullet-proof security-wise (what is?) but they can't rubber-stamp their way into it.
And for some people that's quite an important aspect.
We can, and we definitely should.
I mean, if you have a remote server- it's lawful for them to snoop (by their own law), but it certainly makes it harder, to gain access and maintain access- as these systems may be wildly different and hosts will be varying degrees of paranoid.
As far as Linus' statements go, saying that security is imperfect by design isn't a new take on it, and I'm in complete agreement with you that it needs to be something that regular users can benefit from.
But for writing email, I still tend to jump over to Apple Mail. msmtp[3] handles outbound messages on those occasions when I choose to fire off a message from within mu4e.
[1] http://www.djcbsoftware.nl/code/mu/mu4e.html
[&] https://github.com/djcb/mu
Speaking to your not using mu4e to compose mail, I compose mail in org-mode (I often make lists in emails) then copy them into an mu4e buffer. Funny to see someone using uncommon software the same way I do.
I did give mu4e a go, i.e. for writing emails, and I never got to a point where it really appealed to me. I do love it, though, for reading and managing my tens of thousands of email messages. It's also nice that I can easily create links to messages in mu4e, which I can include in my org-mode files.
http://git.notmuchmail.org/git/notmuch/blob_plain/HEAD:/cont...
However, in my experience mutt-kz is much faster. Plus, you get tagging everywhere (if you use it) and threads can be reconstructed across folders (helpful when your own mails are in a 'Sent' folder).
I ended up having a script running out of cron that would kill and restart the daemon process every 30 minutes so that I could get reasonably fast incrememntal updates but still have it continue to work properly.
And then it started losing track of what the server looks like. If you delete a label on the Gmail side, then of course offlineimap wants to recreate it. For a little while, it was tolerable to stop offlineimap, delete all the local metadata for a folder, go delete the folder from Gmail, and then restart offlineimap, but eventually that stopped working too, and it was recreating deleted folders on the server that I never managed to find a reason for.
isync just worked exactly how I wanted to after spending a bit of time setting it up, and it's been pretty solid since then.
Do you have an example? Sounds like a pretty awesome setup that you should share.
The wonderful Nostalgy add-on provides a very responsive keyboard interface.
https://addons.mozilla.org/en-US/thunderbird/addon/nostalgy/
I don't know if current Thunderbird versions include all that, however.
> I use Thunderbird and keep it set as text only for sending
Is that an option for viewing messages? That's where the security risk mostly exists.
Loading of external images is fully disabled by default. You can enable it per-email by clicking as well as per-sender (which I don't personally do or recommend).
Showing as text is mostly unnecessary, though, as Thunderbird does not allow Javascript or any plugins within messages. As a result, the attack surface is significantly reduced compared to a browser as most browser-based attacks are via Flash, PDF, Java, Javascript, etc in decreasing order of popularity. That wipes out the vulnerabilities used in the vast majority of attacks right off the bat. Thunderbird uses the Gecko engine underneath which is up to date and version tied to Firefox ESR, so the engine gets security updates basically same-day as Firefox itself, which is another big point in its favor.
"Let's switch from an email client written in a safe high level language that's also running inside multiple sandboxes and which has a full time security team (e.g. gmail) to ...... a mail client written in C"
Doesn't seem like a great approach.
Isn't the general premise here that one can choose to package up any program in as many deeply nested (virtual or physical) sandboxes as one would like, but there's an inherent benefit to the piece of software inside all those boxes exposing to one's adversary as few avenues as possible to attempt to escape them (specifically as it pertains to people in the business of painting targets on their backs e.g. Soghoian)?
Put another way, of course Gmail and Chrome have dedicated security teams, but they won't ever have prevent $GIVEN_INFOSEC_RESEARCHER's box from getting owned teams.
The best vector is probably taking control of the IMAP/POP server Mutt is connecting to and finding a vuln that will leak an address back to the server and another vuln that will take control over the instruction pointer.
Or alternatively hope there is some broken shell command injection lurking in Mutt.
https://addons.mozilla.org/en-us/firefox/addon/its-all-text/
Same goes for vimperator, of which Pentadactyl is a fork.
As a bonus, I can start toying with GPG for real now (for all of my friends and family that will never use GPG?).
I totally agree that usability is damn important. One reason I stopped using Ubuntu Desktop version is exactly the poor usability of Unity, and I now prefer headless (and if I ever need browser I'd use X-windows).
For email client I either use Thunderbird, or Outlook 2013, simply because graphical interface is easier to work with. I code using VIM and I do a lot of work from terminal, but I can't image myself learning all the tricks like dragging image, setting up a meeting, viewing people's availability the next day all via terminal screen. Doable but I still think graphical interface has advantage. The thing I dislike about email clients like Outlook is their WYSIWYG editor as sometimes the editor is limited, or too aggressive. But since my job involves a lot of communication, I do need the convenience of WYSIWYG and COPY-PASTE. What a struggle.
But in a sens you are right, it's like I composed my own minimal desktop environment :).
A common workflow for me is to hit print screen paste into the message compose window, crop the image and super impose annotations onto it using the office drawing tools (circle, arrows, text box etc).
I also like the integration with Communicator and calendar, Having notification about when people are online in meetings and which building they are in (my work has multiple sites) is handy. I don't usually like Microsoft products but Outlook is pretty solid in my opinion. The only alternative I've really seen is Lotus Notes.
Genuine question.
Most people use some form of flourish even in handwriting - an underline, all-caps, increased letter size or spacing, a personally preferred colour; isn't it weird to not have the facility for that in email?
I just wonder why documents that need rich text formatting can't be sent as an attachment instead.
I think there is a tendency for minimalists to feel that others should conform to[wards] their ideal, whilst there are many aesthetics and there doesn't appear to be a logical reason to choose one above another [in the general case] - one man's cluttered is another's functional, or whatever.
Way back in KDE3 days I was looking for a MUA to move to from Opera Mail and was auditioning KMail, the devs insisted that the display should not be allowed to handle sending HTML emails as a matter of principle. Since then it's been a bit of a touchy subject for me ...
I don't remember if Gmail's integration with Google Docs actually suppose to make links available during reply/forward...
It's more of a spiritual similarity. About as faint as vim / nethack.
http://www.lucianofiandesio.com/getting-started-with-mutt-on...
Now that people are not as fixated on having colour screens, being primed to now accept e-ink style displays, is there a chance we could get a similar device with more modern specs? I think I'd still rather work from a palmtop than a laptop or phone when not at a 'workstation'.
I used an N900 for a long time (relatively speaking) and found its keyboard to be solid, but not in a way that could make writing or emailing tasks more productive.
The lead in seems incorrect. Pine wasn't publicly released until 1992. By the early 90s many college and university environments were thin clients or unix workstations connecting to unix servers.
I would be shocked if Cygwin's mutt port didn't run just as well on Windows as it did on Linux. Remember that UNIX software that you compile with Cygwin becomes a native Windows executable.
Software you compile with Mingw(-w64)'s GCC becomes a native Windows executable.
It also understands Windows environment variables. [1]
Cygwin is aware of Windows processes. [2]
Cygwin is aware of the Windows registry. [3]
The executables that are created by the default Cygwin build process are PE executables that have a dependency on the Cygwin DLLs and run on any Windows system. They are native Windows software, with a dependency on a third-party DLL.
If you build open-source software against the Cygwin libraries, that software can be distributed under its original license. If you modify the Cygwin build process to produce executables that do not depend on the Cygwin libraries, then you can distribute that software under any licence you like. Regardless, if you have cash you can always reach alternative licensing terms if you reach out to Red Hat. [4]
Cygwin symlinks don't make use of NTFS junction points, but I imagine that that is for two reasons:
1) Cygwin might be run on a FAT32 system.
2) There are many, many, many pieces of Windows software (some of it is big name software!) out there that blow up spectacularly when they encounter a Junction Point. (Indeed, it was my direct experience that Windows Explorer behaved very poorly when asked to recursively delete a folder containing a couple of Junction Points in -I think- pre-SP1 Windows 7. I haven't tried JPs in AGES, so I can't speak to whether or not MSFTs own tooling has gotten better.)
At a minimum, software compiled against Cygwin meets the most basic definition of Windows software (A PE executable that runs on Windows systems). I hope that I have made it clear that the Cygwin libraries also provide a large amount of interoperability between Unix software and software originally written for Windows.
[0] Try it out. Fire up a Cygwin Bash shell and do the following (assuming that you're running on an English-language Windows):
echo "hello there" > "$USERPROFILE\Desktop\helloThere.txt"
then check the new file on your desktop. rm works just fine, too. Forward slashes work in paths, also!
[1] Try this out in a Cygwin bash shell:
echo $APPDATA ; echo $LOCALAPPDATA ; echo $SYSTEMROOT
[2] Again, in a cygwin bash shell do:
ps -W
[3] Do (in a Cygwin bash shell):
ls /proc/registry/
To be honest, I never thought about the possible weakness of the html rendering in most clients. But then I am more concerned about my privacy than security.
(There are lots of things mutt does that gmail doesn't, of course.)
I'm not an expert on Gmail's keyboard interface. How, for example, can I see all the messages from Joe Zwanizol that are more than 15 days but less than 60 days old, using only the keyboard, in five seconds?
The two things mentioned: quickly-customized inboxes (via search) and handling lots of emails.
> How, for example, can I see all the messages from Joe Zwanizol that are more than 15 days but less than 60 days old, using only the keyboard, in five seconds?
There's a search syntax for that. Not sure whether you'll type it out in five seconds.
A browser extension to bring mutt keyboard interface to gmail might be useful for some folk.