<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8616610987649128333</id><updated>2012-01-31T14:23:21.761+01:00</updated><category term='ethics'/><category term='logging'/><category term='email scams'/><category term='packet filter'/><category term='Clickrate'/><category term='trademark protection scam'/><category term='malware'/><category term='challenge-response'/><category term='regulatory compliance'/><category term='PF book'/><category term='Windows'/><category term='routers'/><category term='Ottawa'/><category term='November 2008'/><category term='VPN'/><category term='NORDISK DOMÄNHANTERING'/><category term='antidemokratisk politikk'/><category term='Practical Packet Analysis'/><category term='inefficiency'/><category term='coordinated bruteforcers'/><category term='spam'/><category term='OpenBSD development process'/><category term='Search Engine Optimization'/><category term='FreeCode'/><category term='email'/><category term='Hamada Kirkegaard'/><category term='carrier pigeons'/><category term='IPv6'/><category term='false positives'/><category term='botnets'/><category term='deduplication'/><category term='spammerfeller'/><category term='FOSS'/><category term='credibility'/><category term='Hail Mary Cloud'/><category term='time wasted'/><category term='bruteforcers'/><category term='networking'/><category term='grålisting'/><category term='politistat'/><category term='reliable software'/><category term='traplist'/><category term='cybercrime'/><category term='UKUUG Spring 2008'/><category term='blacklists'/><category term='totalovervåking'/><category term='address harvesting'/><category term='cluelessness'/><category term='EuroBSDCon'/><category term='overvåking'/><category term='politisk overvåking'/><category term='No Starch Press'/><category term='Sumol Przygocki'/><category term='summary'/><category term='spamdb'/><category term='conferences'/><category term='Netherlands'/><category term='spamd junkies'/><category term='data integrity'/><category term='stuttering'/><category term='OpenBSD 5.0'/><category term='Data Retention Directive'/><category term='SANE'/><category term='arbeiderpartiet'/><category term='domain name scam'/><category term='PF news'/><category term='boot sector exploits'/><category term='host txt query'/><category term='100000 visitors'/><category term='London'/><category term='spam countermeasures'/><category term='Document formats'/><category term='incompetence'/><category term='May'/><category term='greylisting vs multiple outgoing SMTP hosts'/><category term='netizenship'/><category term='GREY state'/><category term='bot herders'/><category term='PF overhaul'/><category term='PF'/><category term='firewall'/><category term='spramtrapping'/><category term='dld'/><category term='bruteforce'/><category term='good net citizenship'/><category term='name and shame'/><category term='good citizenship'/><category term='The Book of PF'/><category term='proprietary drivers'/><category term='packet capture'/><category term='nice danes'/><category term='binary blobs'/><category term='multiverse'/><category term='BSDCan'/><category term='greylisting'/><category term='OpenBSD news'/><category term='Riga'/><category term='Linux'/><category term='joejob'/><category term='standards'/><category term='Name and shame robot'/><category term='Ubuntu'/><category term='net citizenship'/><category term='Chris Sanders'/><category term='priority queueing'/><category term='SPF'/><category term='DNS'/><category term='geek anger'/><category term='Hampe Ivancevic'/><category term='gråfanging'/><category term='log data'/><category term='proprietary handshakes'/><category term='open source'/><category term='spammer methods'/><category term='spambait'/><category term='IPSEC'/><category term='travel'/><category term='PF tutorial'/><category term='disks dying'/><category term='in-flight Internet'/><category term='Delft'/><category term='installer'/><category term='Canada'/><category term='intrusion detection'/><category term='dkim'/><category term='guessable passwords'/><category term='security appliances'/><category term='tjærehull'/><category term='UKUUG'/><category term='free tutorial'/><category term='BSD is dying'/><category term='mindless pasting'/><category term='xml'/><category term='SSH Mastery'/><category term='avian carriers'/><category term='ease of use'/><category term='windows is scary'/><category term='prio'/><category term='security'/><category term='FreeBSD'/><category term='universe'/><category term='RFC1149'/><category term='blocklists'/><category term='Bitte Kutschinski'/><category term='book review'/><category term='email archiving'/><category term='compartmentalization'/><category term='AsiaBSDCon 2011'/><category term='OOXML'/><category term='FOSS Aalborg'/><category term='OpenSSH'/><category term='BSD Magazine'/><category term='OpenBSD'/><category term='4.3'/><category term='network analysis'/><category term='HOWTOs'/><category term='spamd'/><category term='tarpit'/><category term='greytrapping'/><category term='passwords'/><category term='slow brutes'/><category term='Latvia'/><category term='demokrati'/><category term='TCP/IP'/><category term='nice geeks'/><category term='bsdly.net'/><category term='Datalagringsdirektivet'/><category term='IPv4'/><category term='spammers'/><category term='secure upgrades'/><category term='spammer baiting'/><category term='Caixia Kluge'/><category term='OpenBSD 4.4'/><category term='AsiaBSDCon'/><category term='OpenCon'/><category term='Copenhagen'/><category term='tutorial'/><category term='Clamav'/><category term='microsoft exchange'/><category term='SPF useful'/><category term='politikk'/><category term='salg av adferdsdata'/><category term='ssh attack'/><category term='Windows refund'/><category term='free software'/><category term='Anant Johaneson'/><category term='OpenBSD installer'/><category term='PageRank'/><category term='spamtrap'/><category term='user friendliness'/><category term='OpenOffice.org'/><category term='microsoft'/><category term='well poisoning'/><category term='system administration'/><title type='text'>That grumpy BSD guy</title><subtitle type='html'>Field notes and occasional musings by Peter on Stuff that happens, from a free software perspective, mainly OpenBSD, FreeBSD.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5447704591413350196</id><published>2012-01-22T18:30:00.005+01:00</published><updated>2012-01-22T19:18:59.447+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='SSH Mastery'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenSSH'/><title type='text'>SSH Mastery: A Very Welcome Addition to Any Unix User's Bookshelf</title><content type='html'>The first paragraph of this book's afterword reads: &lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;blockquote&gt;"You now know more about SSH, OpenSSH and Putty than the vast majority of IT professionals! Congratulations".&lt;/blockquote&gt;&lt;/span&gt;&lt;br /&gt;That claim will be true for any reader of SSH Mastery who has read the book up to that point and has incorporated at least some of the elements of the configurations it describes into their own environments.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;"But why a book dedicated to a single command?"&lt;/span&gt;, you might ask. Almost all Unixes and Unix-likes have incorporated &lt;a href="http://www.openssh.com"&gt;OpenSSH&lt;/a&gt;, the free SSH that is developed as part of the OpenBSD project, and OpenSSH comes with excellent documentation in the form of several extensive &lt;span style="font-weight:bold;"&gt;man&lt;/span&gt; pages.  &lt;br /&gt;&lt;br /&gt;Well, that question in itself justifies this title's existence (there are in fact several programs in the &lt;span style="font-style:italic;"&gt;OpenSSH&lt;/span&gt; suite), and readers familiar with Michael Lucas' work will appreciate hearing that his latest work is task-oriented and well written, covering anything from the basic secure shell access through to the peculiarities of setting up a virtual private network (VPN) using OpenSSH.  An enterprising reader would be able to find all the information in this book or close equivalents using the OpenSSH man pages or other online sources, but this book provides a very concise guide to both the basics and some rather advanced concepts and provides you with the vocabulary and understanding that you will need in order to successfully navigate the &lt;span style="font-weight:bold;"&gt;man&lt;/span&gt; pages.&lt;br /&gt;&lt;br /&gt;This book has several highlights, such as the very sensible and useful discussion of key based authentication and how to set things up for a passwordless existence, a number of suggestions on how to distribute and maintain both host keys and user keys as well as very readable and useful introductions to various kinds of tunneling, forwarding and proxying available using the OpenSSH tools.&lt;br /&gt;&lt;br /&gt;In particular I enjoyed reading the description of SSH-based virtual private networks (VPNs) in Chapter 13. This is one of the most clearly written and useful treatments I've seen of that subject, and for many readers this chapter alone will be worth the price of the book or even considerably more.&lt;br /&gt;&lt;br /&gt;The book very sensibly covers &lt;a href="http://www.openssh.com"&gt;OpenSSH&lt;/a&gt; on &lt;a href="http://www.openbsd.org"&gt;OpenBSD&lt;/a&gt;, &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; and &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu Linux&lt;/a&gt;, and users who are compelled to use Microsoft Windows desktops will be pleased to hear that configuration and use information for &lt;a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/"&gt;Putty&lt;/a&gt;, the most popular and free SSH client for their environment, is included too everywhere it's relevant to the task at hand.&lt;br /&gt;&lt;br /&gt;Before Michael W. Lucas' new title was released in January 2012, the most recent widely available book about the Secure Shell protocol (SSH) and applications that support it was an O'Reilly title dated 2005.  So even with high quality documentation available via the manual pages, it was time for a new title on the subject.&lt;br /&gt;&lt;br /&gt;This title conveniently grew out of one of Michael W. Lucas' other technical writing projects, the second edition of &lt;a href="http://nostarch.com/openbsd.htm"&gt;Absolute OpenBSD&lt;/a&gt;. The &lt;span style="font-style:italic;"&gt;SSH&lt;/span&gt; chapter of that manuscript simply kept growing until it made sense to branch the text off to a separate book.  This probably means that the treatment of SSH in the upcoming OpenBSD title will be slimmer again, but separating out the OpenSSH parts as a separate book with information for several different environments added makes sense because it makes high-quality information about important tools available to a larger audience.&lt;br /&gt;&lt;br /&gt;I am convinced &lt;a href="http://www.amazon.com/gp/product/B006ZO9ULK/"&gt;SSH Mastery&lt;/a&gt; is a title that Unix users and system administrators like myself will want to keep within reach on their Kindles or other ebook readers for a quick and convenient refresh of important concepts.  If you're a student or learning your Unix skills, you will certainly find this to be a very handy guide that helps you&lt;br /&gt;grasp both the basics of SSH and several advanced concepts that are hard to find well described elsewhere.&lt;br /&gt;&lt;br /&gt;The ebook is available in several formats via Amazon and other ebook outlets, a printed version is planned but was not yet available at the time of writing (January 22, 2012).&lt;br /&gt;&lt;br /&gt;Title: SSH Mastery: OpenSSH, PuTTY, Tunnels and Keys&lt;br /&gt;Author: Michael W. Lucas&lt;br /&gt;Publisher: Tilted Windmill Press (January 18, 2012)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5447704591413350196?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5447704591413350196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2012/01/ssh-mastery-very-welcome-addition-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5447704591413350196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5447704591413350196'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2012/01/ssh-mastery-very-welcome-addition-to.html' title='SSH Mastery: A Very Welcome Addition to Any Unix User&apos;s Bookshelf'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8580439570121855570</id><published>2011-10-29T16:02:00.009+02:00</published><updated>2011-11-20T13:38:03.106+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cluelessness'/><category scheme='http://www.blogger.com/atom/ns#' term='bot herders'/><category scheme='http://www.blogger.com/atom/ns#' term='logging'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Retention Directive'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh attack'/><category scheme='http://www.blogger.com/atom/ns#' term='Hail Mary Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='log data'/><title type='text'>You're Doing It Wrong, Returning Scoundrels</title><content type='html'>&lt;i&gt;The numbers are in. The slow dunces still don't get it.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;After five days of activity and no wins on my machines, the &lt;a href="http://linux.slashdot.org/story/09/11/15/1653228/the-hail-mary-cloud-is-growing"&gt;Hail Mary Cloud&lt;/a&gt; moved on.  That means we have yet another complete set of data to summarize and analyze. The numbers are:&lt;br /&gt;&lt;br /&gt;A total of &lt;i&gt;4773&lt;/i&gt; &lt;a href="http://www.bsdly.net/~peter/hailmary/2011-10-23/hail-marys-raw.txt"&gt;attempts&lt;/a&gt;, none of them successful, involving &lt;i&gt;338&lt;/i&gt; &lt;a href="http://www.bsdly.net/~peter/hailmary/2011-10-23/hail-marys-by-frequency.txt"&gt;distinctive source addresses&lt;/a&gt;, the most active host (&lt;tt&gt;109.237.210.147&lt;/tt&gt;, according to &lt;tt&gt;whois&lt;/tt&gt; located somewhere in the Netherlands, made &lt;i&gt;109&lt;/i&gt;, while at the other end of the scale 30 hosts made only a single attempt). The wannabe attackers attempted to access 944 different &lt;a href="http://www.bsdly.net/~peter/hailmary/2011-10-23/hail-mary-users-by-frequency.txt"&gt;user names&lt;/a&gt;, the most frequently attempted user name by far was &lt;tt&gt;root&lt;/tt&gt;, with several blocks of &lt;tt&gt;root&lt;/tt&gt;-only accesses even during the otherwise purely alphabetical stage.&lt;br /&gt;&lt;br /&gt;The current sample is too small to support any far reaching conclusions, but it is tempting to speculate that with only 338 hosts participating we are seeing an indication that their success rate is sinking (previous attempts counted a cople of thousand hosts), even though they may be at least partially succeeding in their secondary goal: avoiding detection.  That success is partial at best, this blog post and the earlier ones pluss varied commentary at &lt;a href="http://linux.slashdot.org/story/09/11/15/1653228/the-hail-mary-cloud-is-growing"&gt;Slashdot&lt;/a&gt; are indications that at least some of us are paying attention to our logs.&lt;br /&gt;&lt;br /&gt;Another few observations worth making: 1) I have still not seen any of these sequences aimed at my Internet-facing &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; systems, only Linux and FreeBSD ones.  2) It's likely that the miscreants are directing their attempts at several targets at the same time, so this sample is only a tiny fraction of the whole.  &lt;br /&gt;&lt;br /&gt;Reports of similar activity are surfacing from elsewhere, but very few people appear to be willing to share their data. It is of course even possible that the earlier episodes generated enough noise that better password policies (or preferably key logins only policies) are now in place, frustrating the random password guessers' attempts.  &lt;br /&gt;&lt;br /&gt;Whether or not you have been seeing these sequences in you authentication logs, please do yourself a favor and study your logs every now and then.  It might even be worth the trouble to set up some kind of log collection and analysis infrastructure.  Europeans may have to consider the legal implications of storing logs in light of the &lt;a href="http://en.wikipedia.org/wiki/Data_Retention_Directive"&gt;Data Retention Directive&lt;/a&gt;, denizens of the great elsewhere would do well to check if any similar legislation applies.&lt;br /&gt;&lt;br /&gt;Good night and good luck.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;Broken link fixed, sorry. Also, of course this has been discussed earlier, most recently in &lt;a href="http://bsdly.blogspot.com/2011/10/youre-doing-it-wrong-or-return-of-son.html"&gt;this post&lt;/a&gt;, also in &lt;a href="http://bsdly.blogspot.com/2009/11/rickrolled-get-ready-for-hail-mary.html"&gt;this one&lt;/a&gt; as well as &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;A low intensity, distributed bruteforce attempt&lt;/a&gt; (December 2, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html"&gt;A Small Update About The Slow Brutes&lt;/a&gt; (December 6, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html"&gt;Into a new year, slowly pounding the gates&lt;/a&gt; (December 21, 2008), &lt;a href="http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html"&gt;The slow brutes, a final roundup&lt;/a&gt; (January 22, 2009) and &lt;a href="http://bsdly.blogspot.com/2009/04/slow-brute-zombies-are-back.html"&gt; The slow brute zombies are back&lt;/a&gt; (April 12, 2009). Read those for further info.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;Update 2011-11-06&lt;/b&gt;: Another round of attempts has started, see the &lt;a href="http://www.bsdly.net/~peter/hailmary/"&gt;data aggregation page&lt;/a&gt; for the &lt;i&gt;November 2011&lt;/i&gt; entries. Of particular interest, perhaps is the &lt;a href="http://www.bsdly.net/~peter/hailmary/2011-11/hail-marys-by-frequency.txt"&gt;List of participating hosts&lt;/a&gt;, sorted by number of attempts.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-11-06 part 2&lt;/b&gt;: A note over at the ISC, "&lt;a href="https://isc.sans.edu/diary/New+odd+SSH+brute+force+behavior/11956"&gt;New, odd SSH brute force behavior&lt;/a&gt;" linked here, generating some additional traffic. Commenting over there requires a login and the confirmation email appears to be delayed by greylisting, so I'll comment here instead: I would not call this a particularly new approach. We've been seeing these attempts on and off since we started noticing them sometime in 2008, and it's entirely possible that there have been earlier attempts that &lt;i&gt;did&lt;/i&gt; slip in under our radars. Analyses based on data from other sites beside mine would be very welcome indeed.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-11-20&lt;/b&gt;: They keep coming back, now again after taking a 9 day breather (or possibly poking elsewhere in the meantime). Data accumulating again at the &lt;a href="http://www.bsdly.net/~peter/hailmary/"&gt;Hail Mary Cloud Data Page&lt;/a&gt;, with notes on the most recent activity at the very end. Please do play with the data, there's hope yet that some useful insights are to be found.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8580439570121855570?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8580439570121855570/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/10/youre-doing-it-wrong-returning.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8580439570121855570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8580439570121855570'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/10/youre-doing-it-wrong-returning.html' title='You&apos;re Doing It Wrong, Returning Scoundrels'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5995087690089351992</id><published>2011-10-23T22:36:00.006+02:00</published><updated>2011-10-27T06:54:01.112+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slow brutes'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh attack'/><category scheme='http://www.blogger.com/atom/ns#' term='Hail Mary Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='coordinated bruteforcers'/><title type='text'>You're Doing It Wrong, Or, The Return Of The Son Of The Hail Mary Cloud</title><content type='html'>&lt;i&gt;Do Linux system administrators still in this day and age run with &lt;tt&gt;PermitRootLogins yes&lt;/tt&gt; in their &lt;tt&gt;sshd&lt;/tt&gt; configurations? Do they also allow password logins? Do they ever attempt to keep their systems up to date and reasonably secure?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Apparently the answers are &lt;i&gt;yes&lt;/i&gt;, &lt;i&gt;yes&lt;/i&gt;, and &lt;i&gt;no&lt;/i&gt;, at least for some.  The evidence is slowly accumulating in the authentication logs on one of my servers, published via the &lt;a href="http://www.bsdly.net/~peter/hailmary/"&gt;The Hail Mary Cloud Data Page&lt;/a&gt;. There are several reasons why these attempts stand out, but it kind of helps that the number of users with &lt;i&gt;sensible&lt;/i&gt; or indeed &lt;i&gt;legitimate&lt;/i&gt; reasons for shell access to this particular server is quite limited. &lt;br /&gt;&lt;br /&gt;I've ranted about this before, famously but not exclusively in a series of slashdotted and much-syndicated blog posts such as &lt;a href="http://bsdly.blogspot.com/2009/11/rickrolled-get-ready-for-hail-mary.html"&gt;this one&lt;/a&gt;. For the TL;DR crowd, here's the summary:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If you're allowing &lt;tt&gt;root&lt;/tt&gt; logins from the great elsewhere, you're doing it wrong.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If you've been allowing &lt;tt&gt;root&lt;/tt&gt; logins from the great elsewhere, I wouldn't be surprised it's one or more of &lt;a href="http://www.bsdly.net/~peter/hailmary/2011-10-23/hail-marys-by-frequency.txt"&gt;your boxes&lt;/a&gt; doing the distributed password guessing.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If you can't remember the last time you checked that your system is up to date and properly configured, you're doing it wrong.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;So nothing really new to see here, it's only yours truly seeing his hope of never seeing this silliness repeated dashed, again.&lt;br /&gt; &lt;br /&gt;If you're interested in background information about the &lt;i&gt;Hail Mary Cloud&lt;/i&gt; phenomenon, please do read the previous posts (&lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;A low intensity, distributed bruteforce attempt&lt;/a&gt; (December 2, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html"&gt;A Small Update About The Slow Brutes&lt;/a&gt; (December 6, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html"&gt;Into a new year, slowly pounding the gates&lt;/a&gt; (December 21, 2008), &lt;a href="http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html"&gt;The slow brutes, a final roundup&lt;/a&gt; (January 22, 2009) and &lt;a href="http://bsdly.blogspot.com/2009/04/slow-brute-zombies-are-back.html"&gt; The slow brute zombies are back&lt;/a&gt; (April 12, 2009) as well as the one referenced earlier.&lt;br /&gt;&lt;br /&gt;Good night and good luck.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-10-27:&lt;/b&gt; The alphabetic stage has started, see refreshed data for details.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5995087690089351992?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5995087690089351992/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/10/youre-doing-it-wrong-or-return-of-son.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5995087690089351992'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5995087690089351992'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/10/youre-doing-it-wrong-or-return-of-son.html' title='You&apos;re Doing It Wrong, Or, The Return Of The Son Of The Hail Mary Cloud'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-628756736424265726</id><published>2011-08-03T23:07:00.006+02:00</published><updated>2011-08-04T14:00:15.635+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Chris Sanders'/><category scheme='http://www.blogger.com/atom/ns#' term='No Starch Press'/><category scheme='http://www.blogger.com/atom/ns#' term='book review'/><category scheme='http://www.blogger.com/atom/ns#' term='packet capture'/><category scheme='http://www.blogger.com/atom/ns#' term='Practical Packet Analysis'/><category scheme='http://www.blogger.com/atom/ns#' term='network analysis'/><title type='text'>Practical Packet Analysis Is Good Fun [Book Review]</title><content type='html'>&lt;i&gt;If you've wanted to take a peek at what network traffic &lt;b&gt;really&lt;/b&gt; looks like, but put it off because it sounded all too complicated, a new book may be just what you need to get started. &lt;/i&gt;Practical Packet Analysis&lt;i&gt; is an excellent network analysis introduction.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;When Chris Sanders' &lt;a href="http://nostarch.com/packet.htm"&gt;Practical Packet Analysis&lt;/a&gt; (with the subtitle &lt;i&gt;Using Wireshark to Solve Real-World Network Problems&lt;/i&gt;) was originally published in mid-2007, to generally very favorable reviews and quite respectable sales for a network book, the memory of &lt;b&gt;Wireshark&lt;/b&gt;'s predecessor &lt;b&gt;Ethereal&lt;/b&gt;'s &lt;a href="http://www.openbsd.org/cgi-bin/cvsweb/ports/net/ethereal/Attic/Makefile?hideattic=0&amp;amp;only_with_tag=HEAD"&gt;eviction&lt;/a&gt; from the &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; package system for too many unfixed security bugs in a short time was fresh enough that most of us in the OpenBSD contingent generally shrugged and moved on.  The criticism of &lt;b&gt;Ethereal&lt;/b&gt; centered on the fact that there was next to no separation between the packet capture part of the system (which needs to run with elevated privilege) and the analysis-related parts (that do not in fact need to).  At the time I was also rather busy working on a book of my own (full disclosure: also a &lt;a href="http://nostarch.com/"&gt;No Starch&lt;/a&gt; title), so I mentally filed &lt;b&gt;Wireshark&lt;/b&gt; under 'things to get back to', possibly to look into reviving the OpenBSD port.&lt;br /&gt;&lt;br /&gt;Nevertheless I was quite pleasantly surprised when No Starch Press contacted me a little while back and asked if I would like to have a review copy of &lt;a href="http://nostarch.com/packet2.htm"&gt;Practical Packet Analysis, &lt;i&gt;second edition&lt;/i&gt;&lt;/a&gt;.  The book is a pleasant read and good fun, and in fact the program compiles from source fine on &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;, but more about that later.&lt;br /&gt;&lt;br /&gt;After a brief introduction that contains summaries of the numbered chapters and practical information such as where to get the sample packet capture files, &lt;i&gt;Practical Packet Analysis&lt;/i&gt; leads in with a chapter called &lt;i&gt;Packet Analysis and Network Basics&lt;/i&gt;, which introduces the reader through an introduction to network protocols in general and how packet sniffers fit in the general picture. &lt;div&gt;&lt;br /&gt;&lt;div&gt;The chapter then goes on to present the classical ISO seven layer model and makes a credible attempt at mapping those to the slightly fewer layers of the TCP/IP stack before going through a discussion of common variants of networking hardware and touches briefly on classes of network traffic (multicast, broadcast and unicast).&lt;br /&gt;&lt;br /&gt;The second chapter, &lt;i&gt;Tapping into the Wire&lt;/i&gt; focuses mainly on how and where to position your network tap, introduces a couple of different hardware devices for the purpose and even touches on ARP spoofing as a tap technique before giving a first glimpse of how to display and interpret captured traffic using the Windows utility &lt;i&gt;Cain &amp;amp; Abel&lt;/i&gt;, and ends with a summary that includes a flowchart to help decide on the most useful tapping technique for the task at hand.&lt;br /&gt;&lt;br /&gt;The third chapter, &lt;i&gt;Introduction to Wireshark&lt;/i&gt;, introduces the book's main tool, with installation instructions for the more common operating systems and an initial walkthrough of the graphical user interface.  While the install instructions are not correct in all details (when installing from source, you do not actually need elevated privileges until you get to the concluding &lt;tt&gt;make install&lt;/tt&gt; step), they should be sufficient to get most readers started with minimal fuss. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finishing up the chapter with a section that moves quickly to &lt;i&gt;Your First Packet Capture&lt;/i&gt; is a nice touch that emphasizes the practical approach that's typical of this book.&lt;br /&gt;&lt;br /&gt;Chapter 4, &lt;i&gt;Working with Captured Packets&lt;/i&gt;, walks the user through some highlights of the filtering, analysis and presentation features that makes working with the likes of Wireshark fun. Much of this functionality would be available or at least fairly familiar to a seasoned &lt;tt&gt;tcpdump&lt;/tt&gt; user, but this walkthrough does illustrate that sometimes a graphical interface can be fun too. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The chapter also leads off with fairly weakly worded advice that packet capture and analysis are likely to be separate activities.  Considering that Chapter 3 introduced Wireshark's ability to choose interfaces by point and click in a dialog box (indicating that the program runs with elevated privileges), I for one would have found a stronger admonition very helpful.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An inexperienced reader will likely want to view the packet capture of her own network traffic animated and in full color, so at this point or earlier it would have been useful to include a note that on Unixish operating systems, either of these three commands&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;$ sudo tshark -w - | wireshark -k -i -&lt;br /&gt;$ sudo dumpcap -w - | wireshark -k -i -&lt;br /&gt;$ sudo tcpdump -e -s 65535 -i &amp;lt;interfacename&amp;gt; -w - | wireshark -k -i -&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;will at least buy token security in that only the packet capture runs with elevated privileges, the analysis tools run as your regular user (and yes, &lt;i&gt;&amp;lt;interfacename&amp;gt;&lt;/i&gt; is where the actual interface name goes).&lt;br /&gt;&lt;br /&gt;Fortunately, for the rest of the book, the activities are  firmly centered around the packet capture files collected by the author himself.  Chapters 5 through 11 present a variety of specific traffic scenarios that showcase the analysis and presentation features (including various graphing options) that make Wireshark a useful tool.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are several memorable moments to be found here, including a packet capture that demonstrates how a successful compromise of a Microsoft Windows system (getting a privileged command shell) could look like at the network level. There is a wide variety of examples, and most of them are clearly designed to nudge the reader into exploring further.  A good selection of protocols and protocol features are explained with a learning by doing approach, but there is enough that's only hinted at to let an interested reader look up the &lt;i&gt;Further Reading&lt;/i&gt; appendix to dive into the rest.&lt;br /&gt;&lt;br /&gt;All in all &lt;a href="http://nostarch.com/packet2.htm"&gt;Practical Packet Analysis, &lt;i&gt;second edition&lt;/i&gt;&lt;/a&gt; stands out as a book that's a very useful learning resource, and one that makes the learning process a lot of fun.  Seasoned network professionals will most likely not find much new material here, but the book is a good read for anyone with a networking interest and I'm pretty sure you'll enjoy the hours you spend leafing through it before you hand it over to your junior network admin or your students.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;b&gt;Title&lt;/b&gt;: Practical Packet Analysis, 2nd Edition - Using Wireshark to Solve Real-World Network Problems&lt;br /&gt;&lt;b&gt;Author&lt;/b&gt;: Chris Sanders&lt;br /&gt;&lt;b&gt;Publisher&lt;/b&gt;: No Starch Press, San Francisco&lt;br /&gt;&lt;b&gt;Published&lt;/b&gt;: July 2011&lt;br /&gt;&lt;b&gt;Pages&lt;/b&gt;: 280&lt;br /&gt;&lt;b&gt;ISBN&lt;/b&gt;: 978-1-59327-266-1&lt;br /&gt;&lt;b&gt;Price&lt;/b&gt;: USD 49.95 for print + ebook, USD 39.95 for ebook (PDF, Mobi, and ePub formats)&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-628756736424265726?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/628756736424265726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/08/practical-packet-analysis-is-good-fun.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/628756736424265726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/628756736424265726'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/08/practical-packet-analysis-is-good-fun.html' title='Practical Packet Analysis Is Good Fun [Book Review]'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8563150541108668029</id><published>2011-07-19T16:59:00.013+02:00</published><updated>2011-09-09T20:07:38.590+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD news'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD 5.0'/><category scheme='http://www.blogger.com/atom/ns#' term='reliable software'/><category scheme='http://www.blogger.com/atom/ns#' term='PF news'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD installer'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD development process'/><title type='text'>What to expect in OpenBSD 5.0 onwards</title><content type='html'>&lt;i&gt;With OpenBSD-current tagged as 5.0-beta it's time to take a closer look at the upcoming release and the processes that make the OpenBSD project work.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Before you start getting all worked up about an upcoming dot-zero release, I'll tell you right away: &lt;i&gt;Don't&lt;/i&gt;.  Or maybe just a little bit.  Release numbering in OpenBSD simply does not work the way most people expect. For this upcoming release, slated for general availability via FTP and other download methods on November 1, 2011 (and CD in pre-orderers' hands up to about two weeks earlier), 5.0 was simply the next available version number increment. OpenBSD releases every six months like clockwork, with the version number incremented by exactly &lt;tt&gt;0.1&lt;/tt&gt; each time.&lt;br /&gt;&lt;br /&gt;That does &lt;i&gt;not&lt;/i&gt; mean that there is nothing to be excited about this time around, only that the OpenBSD approach is about &lt;i&gt;guided and well planned evolution&lt;/i&gt; rather than revolutionary changes where large chunks of code are thrown away and replaced with new, untested code with bugs to be explored and exploited until a future dot-something-else release is finally considered stable.&lt;br /&gt;&lt;br /&gt;The snapshots, as always available from your friendly local &lt;a href="http://openbsd.org/ftp.html"&gt;mirror&lt;/a&gt;, turned 5.0-beta during the early hours of today (July 19th 2011) CEST, and upgraders will notice two significant improvements before they're done running the installer (which in most other respects is fairly identical to &lt;a href="http://bsdly.blogspot.com/2010/01/goodness-of-men-and-machinery.html"&gt;what I described in an earlier article&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;The most visible set of changes are near the end of the process:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/-wy-AsMMh6fo/TiWd7clHNMI/AAAAAAAAAGM/Neu3k5gqGPQ/s1600/openbsd50-sysmerge-firmware.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 161px;" src="http://4.bp.blogspot.com/-wy-AsMMh6fo/TiWd7clHNMI/AAAAAAAAAGM/Neu3k5gqGPQ/s400/openbsd50-sysmerge-firmware.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5631080553706370242" /&gt;&lt;/a&gt;&lt;br /&gt;As the illustration shows, once the install sets are in place, the upgrade program will offer to run &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=sysmerge&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;sysmerge(8)&lt;/a&gt;, the program that's specifically designed to help you merge any required changes into your configuration files with minimum fuss and disruption.  Once you have chosen to either run the merge or skip it, the upgrade program will offer to fetch updated versions of any non-free firmware detected on your system at first boot.&lt;br /&gt;&lt;br /&gt;When that first boot is finished, you will find a number of improvements are in place.  You can find an overview of the changes at on the &lt;a href="http://www.openbsd.org/plus.html"&gt;Daily changelog&lt;/a&gt; page over at the &lt;a href="http://www.blogger.com/post-create.g?blogID=8616610987649128333"&gt;OpenBSD&lt;/a&gt; web site. We'll get into some of the more significant ones in this article.&lt;br /&gt;&lt;br /&gt;But before we go into details of those changes, let's take a look at how the OpenBSD development process works.  The &lt;a href="http://www.openbsd.org/goals.html"&gt;Goals&lt;/a&gt; page on the project web site lays out the main project goals, while the &lt;a href="http://www.openbsd.org/security.html"&gt;Security&lt;/a&gt; page goes into somewhat more detail about the OpenBSD approach to security (including code audits and general all-tree bug sqashing), with a very worthwhile &lt;i&gt;Further reading&lt;/i&gt; section at the bottom of the page.  If you want to go into even more detail (short of reading source code and commit logs), the &lt;a href="http://www.openbsd.org/papers/"&gt;Papers&lt;/a&gt; page has a large selection of presentations and papers by various OpenBSD developers.&lt;br /&gt;&lt;br /&gt;There's a lot of good material linked from that page; among the more recent favorites are Damien Miller's &lt;a href="http://www.openbsd.org/papers/asiabsdcon2011_openssh_whats_new.pdf"&gt;Recent developments in OpenSSH&lt;/a&gt;, Henning Brauer and Sven Dehmlow's &lt;a href="http://bulabula.org/papers/2010/bsdcan/"&gt;Puffy At Work - getting code right and secure, the OpenBSD way&lt;/a&gt; and Theo de Raadt's &lt;a href="http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/"&gt;The OpenBSD release process: A success story&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The last one is Theo's own first-hand account of how the project has been able to consistently deliver high quality releases every six months since the project started more than a decade ago. It's well worth your time flipping through the entire presentation, but for an outsider the possibly most enlightening slides are the ones contrasting the &lt;a href="http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/mgp00013.html"&gt;traditional release process&lt;/a&gt; with &lt;a href="http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/mgp00017.html"&gt;the OpenBSD one&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In particular, pay attention to the two slides describing the OpenBSD release calendar, &lt;a href="http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/mgp00016.html"&gt;slide 16&lt;/a&gt; and &lt;a href="http://www.openbsd.org/papers/asiabsdcon2009-release_engineering/mgp00017.html"&gt;slide 17&lt;/a&gt;.  If you do the math, you see every six-month cycle is divided into roughly four months of intense development followed by roughly two months of stabilization before the release is cut.&lt;br /&gt;&lt;br /&gt;Anything that will not fit within four months of hacking &lt;i&gt;without breaking the tree&lt;/i&gt; (leaving the system in an unusable state) will not make it in. Any large changes need to be carefully planned and introduced via a number of substeps, some purely preparatory, others introducing user-visible changes.  One visible effect of this is that truly incompatible changes such as the NAT and redirection syntax change that occured in &lt;a href="http://www.openbsd.org/47.html"&gt;OpenBSD 4.7&lt;/a&gt; (prompting among other things an extensive rewrite of &lt;a href="http://nostarch.com/pf2.htm"&gt;a certain book&lt;/a&gt;) are exceedingly rare, and if you're capable of reading the commit logs, you will see that it took several years of preparation before the switch happened.&lt;br /&gt;&lt;br /&gt;It's all about clear thinking and proper planning, and changes will be introduced gradually and as they fit into the overall system.  With all this as the background, it makes sense that &lt;b&gt;5.0&lt;/b&gt; is just another number.  Now let's take a peek at what changed since &lt;a href="http://www.openbsd.org/49.html"&gt;OpenBSD 4.9&lt;/a&gt; and why it makes sense for both enthusiasts and others to start testing snapshots.&lt;br /&gt;&lt;br /&gt;The changes listed here are my particular favorites, what you yourself will consider important may be different, depending on your specific use case:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;BIGMEM on by default on amd64&lt;/i&gt; - this is literally a big one. The amd64 architecture has true 64-bit capability, but the ghosts of hardware designs past keep hauting us, with legacy devices that continue to require a lot of dark magic to be handled correctly and safely.  Excpect Ariane van der Steldt (ariane@) to be presenting at &lt;a href="http://2011.eurobsdcon.org/"&gt;EuroBSDCon&lt;/a&gt; with the gory details. This commit happened fairly early in the OpenBSD 5.0 cycle.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Disk UID (DUID) support&lt;/i&gt; in all storage related parts such as &lt;tt&gt;mount&lt;/tt&gt;, and by extension &lt;tt&gt;fstab&lt;/tt&gt; (and DUID-style &lt;tt&gt;fstab&lt;/tt&gt; enabled by default for new installs), so disk device renumbering will not be such a headache the next time you add or remove disks.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The proxies&lt;/i&gt; (&lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ftp-proxy&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;ftp-proxy(8)&lt;/a&gt;, &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=tftp-proxy&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;tftp-proxy(8)&lt;/a&gt;) now use &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=divert&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;divert(4)&lt;/a&gt; sockets for performance, meaning that your &lt;tt&gt;rdr-to&lt;/tt&gt; rules for those proxies need to be rewritten to &lt;tt&gt;divert-to&lt;/tt&gt; rules.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Rewrite of the old &lt;tt&gt;/etc/security&lt;/tt&gt;&lt;/i&gt; (a shell script) to the new &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=security&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;security(8)&lt;/a&gt; by Andrew Fresh and Ingo Schwartze, a much needed refresh of a crucial component.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Various IPv6-related improvements&lt;/i&gt; in PF and other parts of the networking code, meaning that traffic using the newer generation protocol is now a bit more manageable.  Just like everywhere else, the IPv6-related work is still in the early stages of seeing full scale use, and more likely than not future releases will have more news in this area.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;The beginning of the end for ALTQ&lt;/i&gt; signalled by the introduction of always-on priority queues available as PF per-rule options, as noted in &lt;a href="http://bsdly.blogspot.com/2011/07/anticipating-post-altq-world.html"&gt;a previous article&lt;/a&gt;.  This is an example of the longer term, incremental and well planned change like the ones I mentioned earlier.  The internals of queueing and traffic shaping in OpenBSD is about to change in the long run, an it's even conceivable that the current ALTQ grammar will at one point use the newer code, but existing ALTQ setups will continue to work in OpenBSD 5.0.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Further package system improvements&lt;/i&gt; Marc Espie (&lt;tt&gt;espie@&lt;/tt&gt;) continues his refinement of the package handling with an overhauled &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=pkg_delete&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;pkg_delete(8)&lt;/a&gt; that has several important improvements, including the &lt;b&gt;-a&lt;/b&gt; option (click the link to read the man page online).&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.openbsd.org/plus.html"&gt;Daily changelog&lt;/a&gt; page contains a lot more changes than the ones I've highlighted here. Among the things I've mostly skipped are added support for new hardware and a host of platform-specific fixes and enhancements. And of course it's likely that the list of changes will grow visibly over the next few weeks via commits caused by you testing and user feedback.&lt;br /&gt;&lt;br /&gt;The exact point in time when a release is cut and shipped off to production is never pre-announced.  The best indicator is to look for the commit message that changes the &lt;tt&gt;-current&lt;/tt&gt; version string back to &lt;tt&gt;N.m.-current&lt;/tt&gt; again after a brief period as &lt;tt&gt;N.m&lt;/tt&gt;.  A little later, the &lt;a href="http://www.openbsd.org/orders.html"&gt;OpenBSD Orders&lt;/a&gt; page will allow preorders, and if you get your order in soon enough, you'll have your CDs and other swag before the official release date.&lt;br /&gt;&lt;br /&gt;In about six months' time, you will see blog posts and other news items announcing the change to &lt;tt&gt;OpenBSD 5.1-beta&lt;/tt&gt;, and we will be gearing up for yet another OpenBSD release.  In any case, the best way to support the project (that produces, among other widely used software, &lt;a href="http://www.openssh.org/"&gt;OpenSSH&lt;/a&gt;, more likely than not by a wide margin, your remote login system) in addition to contributing code, testing and direct donations is to go to the &lt;a href="http://www.openbsd.org/orders.html"&gt;OpenBSD Orders&lt;/a&gt; page and order one or more items.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update&lt;/b&gt;: The &lt;tt&gt;sysmerge&lt;/tt&gt; run from &lt;tt&gt;upgrade&lt;/tt&gt; feature was &lt;a href=" http://marc.info/?l=openbsd-cvs&amp;m=131231771029475&amp;w=2"&gt;backed out&lt;/a&gt; in a last minute commit by &lt;tt&gt;deraadt@&lt;/tt&gt;, but it's possible it will return in time for the 5.0 to 5.1 upgrade cycle.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-09-09:&lt;/b&gt; &lt;a href="http://www.openbsd.org/orders.html"&gt;Pre-orders&lt;/a&gt; have started, the 5.0 release now has both a &lt;a href="http://www.openbsd.org/50.html"&gt;release page&lt;/a&gt; and a detailed &lt;a href="http://www.openbsd.org/plus50.html"&gt;list of changes&lt;/a&gt; since previous release. Expect more details to emerge over the coming days and weeks, and please &lt;b&gt;do&lt;/b&gt; go &lt;a href="http://www.openbsd.org/orders.html"&gt;order&lt;/a&gt; some items to help fund further OpenBSD development!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8563150541108668029?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8563150541108668029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/07/what-to-expect-in-openbsd-50-onwards.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8563150541108668029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8563150541108668029'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/07/what-to-expect-in-openbsd-50-onwards.html' title='What to expect in OpenBSD 5.0 onwards'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-wy-AsMMh6fo/TiWd7clHNMI/AAAAAAAAAGM/Neu3k5gqGPQ/s72-c/openbsd50-sysmerge-firmware.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8418256367455954766</id><published>2011-07-09T18:45:00.008+02:00</published><updated>2011-09-14T22:54:02.972+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='priority queueing'/><category scheme='http://www.blogger.com/atom/ns#' term='PF'/><category scheme='http://www.blogger.com/atom/ns#' term='prio'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><title type='text'>Anticipating the Post-ALTQ World</title><content type='html'>&lt;i&gt;A peek into exciting new features in the upcoming OpenBSD 5.0 release and beyond, plus how to teach our favorite operating system better?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;One of the more exciting pieces of news to come out of the Edmonton &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; hackathon this week was that the face of OpenBSD traffic shaping is about to change.&lt;br /&gt;&lt;br /&gt;This change is by no means the only news to come out of Edmonton (read &lt;tt&gt;source-changes@&lt;/tt&gt;, either by subscribing or via public archives such as &lt;a href="http://marc.info/?l=openbsd-cvs&amp;amp;r=1&amp;amp;w=2"&gt;marc.info&lt;/a&gt; and, if you're at all BSD geekish, feel your excitement levels rise), but the new &lt;tt&gt;prio&lt;/tt&gt; keyword that was added to PF grammar and announced via a message to the &lt;tt&gt;tech@&lt;/tt&gt; mailing list titled &lt;a href="http://marc.info/?t=131000473700001&amp;amp;r=1&amp;amp;w=2"&gt;new small, fast, always on priority queueing&lt;/a&gt; is both a major new feature and a prime example of how the OpenBSD project works, avoiding sudden "revolutionary" steps in favor of well planned evolutionary steps. The stepwise approach ensures, among other things, that changes are properly tested, and is visible in the fact that the OpenBSD source tree is as close as doesn't matter to always being in a buildable state, even during hackathons.&lt;br /&gt;&lt;br /&gt;ALTQ, the &lt;i&gt;ALTernate Queueing&lt;/i&gt; subsystem, was integrated into the PF codebase for &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; version 3.3 (mainly by the efforts of the very same Henning Brauer who posted the message linked in the previous paragraph), and from that release onward, managing your filtering and your traffic shaping via your &lt;tt&gt;pf.conf&lt;/tt&gt; file has been a highly appreciated feature of OpenBSD and other systems that have adopted the PF networking toolset.&lt;br /&gt;&lt;br /&gt;Although much appreciated by its users everywhere, the integration was never quite an easy fit and the developers have been privately discussing how the queuing should be rewritten to avoid the separateness of ALTQ compared to the rest of the PF features.&lt;br /&gt;&lt;br /&gt;There have been other concerns too. Not all of the features outlined in Cho's original &lt;a href="http://www.usenix.org/publications/library/proceedings/lisa97/failsafe/usenix98/full_papers/cho/cho_html/cho.html"&gt;USENIX paper&lt;/a&gt; were ever fully implemented, and the code had begun showing its age in several respects.  By amazing coincidence another mailing list thread appeared in the same week as the new queueing system was announced, pointing out that &lt;a href="http://marc.info/?t=130996607700001&amp;amp;r=1&amp;amp;w=2"&gt;ALTQ's total bandwidth parameter is a 32-bit value&lt;/a&gt;, meaning in practical terms that the maximum bandwidth ALTQ will be able to manage is in the 4Gbit range.  Just changing the relevant variables to a wider type apparently breaks the code in other interesting ways (if you're adventurous, you could try playing with &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; developer Ermal Luci's patch (available among other places &lt;a href="http://marc.info/?l=openbsd-misc&amp;amp;m=131004567300627&amp;amp;w=2"&gt;here&lt;/a&gt; and see what happens. The results could be hackishly interesting, but with the new queueing system set for gradual introduction, this may not be the optimal time to submit ALTQ patches.&lt;br /&gt;&lt;br /&gt;Once again, the 32 bit value is a sign of the code's age. At the time ALTQ was originally written, a 32-bit value for bandwidth, and by extension an absolute cap at four gigabits per second, was a no less reasonable choice than the choice of 32 bits as the length of IP addresses some years earlier.  And while we are still in the ALTQ world, the obvious workaround in settings where you have bandwidth that comes in increments of ten or forty gigabit is to do your filtering and traffic shaping at network locations where bandwidth is a bit more scarce.  In the post-ALTQ world, things may become significantly different.&lt;br /&gt;&lt;br /&gt;The early outline of the new world comes in the form of in-ruleset traffic classification, at the face of it not that different from ALTQ when seen from a user perspective. In the upcoming OpenBSD 5.0 release onwards, you will be able to skip the familiar ALTQ queue definitions, but still do traffic classification like this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;pass in proto tcp to port ssh prio 6&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;meaning that incoming &lt;tt&gt;ssh&lt;/tt&gt; traffic will pass with a relatively high priority (the range is 0 through 7), hopefully making it through earlier than the rest.&lt;br /&gt;&lt;br /&gt;The new scheme even lets you duplicate the old &lt;a href="http://home.nuug.no/~peter/pf/en/altqintro.html#ALTQACKPRI"&gt;speedup trick&lt;/a&gt; of setting aside a separate subqueue for ACKs and other lowdelay packets, like so:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;pass in proto tcp to port ssh prio (5, 6)&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;This has yet to reach downloadable binary snapshots, but if you have the required bits in place, you can get an early start by building your own OpenBSD-current. See the relevant pieces of &lt;a href="http://www.openbsd.org/faq/index.html"&gt;The FAQ&lt;/a&gt;, supplemented by &lt;tt&gt;man release&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;It is important to note that in the upcoming release, priority rules will coexist with the existing ALTQ infrastructure. Over time, however, the plan is to replace ALTQ with a largely rewritten system where the internal workings of the HFSC and CBQ queues, for example, are not all that different.  We are also likely to see the total bandwidth definition for an interface move out ouf your &lt;tt&gt;pf.conf&lt;/tt&gt;  and re-emerge as an &lt;tt&gt;ifconfig&lt;/tt&gt; option.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once a traffic shaping infrastructure that's functionally equivalent to ALTQ (or it is hoped, superior in all ways including performance) is in place, ALTQ will eventually be removed.  In the meantime, we have already seen commits that set default priority for certain traffic types, and reading &lt;tt&gt;source-changes@&lt;/tt&gt; along with testing snapshots will continue to be a fun and exciting experience in the weeks and months ahead. &lt;br /&gt;&lt;br /&gt;Over time, it might even become necessary to do more &lt;a href="http://nostarch.com/pf2.htm"&gt;book&lt;/a&gt; work, if so you will hear about it first here. &lt;br /&gt;&lt;br /&gt;Whatever happens on the book front, I'll more than likely get back to those new features in more detail in upcoming PF tutorial sessions (See &lt;a href="http://www.ukuug.org/events/pftutorial2011/"&gt;here&lt;/a&gt;, &lt;a href="http://2011.eurobsdcon.org/"&gt;here&lt;/a&gt; and &lt;a href="http://home.nuug.no/~peter/pf/"&gt;here&lt;/a&gt; for announcements about the ones scheduled so far), and I'm trying to figure out a way to improve the quality of the tutorial experiences.  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The lecture plus demonstrations format of the tutorial sessions has so far allowed for very limited interactivity with little or no hands-on experience for attendees during the sessions themselves.  I would be very happy to hear ideas for and input on practical implementation of changes that would improve the experience.  One possibility is setting up a set of virtual labs, hosted somewhere reachable from the conference locations. Suggestions are welcome via email or the comments field.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-07-10&lt;/b&gt;: The &lt;tt&gt;prio&lt;/tt&gt; code is in snapshots dated July 10, 2011 or newer. If you're upgrading from a previous version, the installer will now also offer to run &lt;tt&gt;sysmerge(8)&lt;/tt&gt; and it will even offer to upgrade any non-free firmware it finds installed on your system.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Update 2011-09-14&lt;/b&gt;: &lt;a href="http://www.nmedia.net/chris/"&gt;Chris Cappucio&lt;/a&gt; wrote in, adding some more useful detail to ALTQ's history. Chris writes:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I did the &lt;a href="http://www.sonycsl.co.jp/~kjc/altq-ml-2000/msg00159.html"&gt;initial altq port&lt;/a&gt; to OpenBSD and Kenjiro Cho (author of ALTQ) was invited to the next hackathon (I believe it was c2k2) along with myself to integrate it into the tree.  I declined to participate for personal reasons but Kenjiro did turn my patch into an in-tree implementation, one or two years later the PF guys replaced the ALTQ packet classifier and configuration utility with PF itself.  Now they are replacing the ALTQ scheduler framework completely with a simpler framework that still uses the PF classifier and configurator :)&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8418256367455954766?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8418256367455954766/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/07/anticipating-post-altq-world.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8418256367455954766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8418256367455954766'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/07/anticipating-post-altq-world.html' title='Anticipating the Post-ALTQ World'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-2577250287252962222</id><published>2011-07-08T14:46:00.003+02:00</published><updated>2011-07-08T15:19:54.243+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='NORDISK DOMÄNHANTERING'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='geek anger'/><category scheme='http://www.blogger.com/atom/ns#' term='domain name scam'/><category scheme='http://www.blogger.com/atom/ns#' term='trademark protection scam'/><title type='text'>SEK 1995 for six months' worth of trademark protection?</title><content type='html'>&lt;i&gt;In a fit of rage, I went out and did something I wouldn't have even remotely considered doing just a few moments before. I'm now the proud owner of the &lt;tt&gt;bsdly.se&lt;/tt&gt; domain.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Does somebody out there really want to register &lt;tt&gt;bsdly.se&lt;/tt&gt;? If they did, it's probably too late by now. &lt;br /&gt;&lt;br /&gt;My friends all know that I'm not too fond of talking on the phone, and trying to sell me anything by cold-calling is just never going to work.  So when somebody calling themselves "Nordic Domain Hosting", calling from +46 406660225 (a Swedish unlisted number as far as I can tell) did just that, it had to end badly.  &lt;br /&gt;&lt;br /&gt;The lady at the other end claimed that somebody was trying to register the &lt;tt&gt;bsdly.se&lt;/tt&gt; domain, and seeing that I was the owner of &lt;i&gt;doubleU-doubleU-doubleU-dot-bee-ess-dee-ell-why-dot-enn-ee-tee&lt;/i&gt;, would I be interested in blocking the attempt? It would just be a matter of 'trademark protection', and it would cost me the mere trifle of SEK 1995 (roughly USD 310 or EUR 218 at today's rate). &lt;br /&gt;&lt;br /&gt;I told them right off that I wasn't terribly interested in owning a Swedish domain, but the lady they tried to talk me through a series of yes/no answers I assume were designed to set up a legal-sounding agreement, all the better to bill me afterwards. More likely than not, she was reading it all off the whois info for &lt;tt&gt;bsdly.net&lt;/tt&gt;. &lt;br /&gt;&lt;br /&gt;They had the act pretty well rehearsed, except for one detail that irritated me immensely: they insisted on getting an oral confirmation that I was interested in their service.  Only after an oral confirmation was in place would they be sending me anything in writing. &lt;br /&gt;&lt;br /&gt;The conversation never progressed much beyond beyond the initial &lt;em&gt;"Is your name Peter [...]"&lt;/em&gt;, &lt;em&gt;"Are you duly authorized to act on &lt;tt&gt;$company_name&lt;/tt&gt;'s behalf"&lt;/em&gt;, which is where I broke it off.  For one thing the connection was terrible, and for another I was beginning to smell a rat. (Yes, I'm dense at times, I know.) At the end of too-many minutes, I thought I had finally got them to agree to send me their papers for me to review and hung up. Only to have the same lady call once more, continuing the script. &lt;br /&gt;&lt;br /&gt;The second conversation did not progress much either, and for the third call a male claiming to be a supervisor had taken over. He didn't actually clinch a sale either.&lt;br /&gt;&lt;br /&gt;So after three phone conversations, I used my regular registrar's web interface to register the &lt;tt&gt;bsdly.se&lt;/tt&gt; domain myself, setting me back a whopping NOK 140 (roughly EUR 18 or USD 26). While I was writing this note, the "Registration complete" message from my registrar arrived here in my inbox.&lt;br /&gt;&lt;br /&gt;So now I have another domain. I've expanded into Sweden.&lt;br /&gt;&lt;br /&gt;Or as they say in the trade, get a geek really riled up, he'll go right off and buy a domain. In Sweden.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-2577250287252962222?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/2577250287252962222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/07/sek-1995-for-six-months-worth-of.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2577250287252962222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2577250287252962222'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/07/sek-1995-for-six-months-worth-of.html' title='SEK 1995 for six months&apos; worth of trademark protection?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-7739451202882929443</id><published>2011-06-08T22:41:00.005+02:00</published><updated>2011-06-09T13:36:27.824+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='data integrity'/><category scheme='http://www.blogger.com/atom/ns#' term='dkim'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv6'/><category scheme='http://www.blogger.com/atom/ns#' term='IPv4'/><title type='text'>My First IPv6 Spam</title><content type='html'>&lt;i&gt;On the day of The Great Experiment, an anecdote on how much the world stays the same even with IPv6, security-wise. No reason to stay all dotty, this is when the fun starts.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Happy IPv6 Day, everyone! As I write this column, the 24 hour worldwide &lt;i&gt;Internet Protocol, version Six&lt;/i&gt; preparedness experiment is still in progress, with some hours to go before the summaries, no doubt penned by industry luminaries, will start appearing. In the meantime, I have a small IPv6 anecdote of my own to share.&lt;br /&gt;&lt;br /&gt;Like most network oriented techies, I've had IPv6 somewhere in my field of vision for some time, with a footnoted TODO list to match. I started nagging local ISPs for their IPv6 plans some years ago, and as you've probably guessed, up until very recently the answer at essentially all European ISPs has been &lt;i&gt;'non-existent'&lt;/i&gt;. Among European nations, most of them pretty early in the queue when the original IPv4 address allocations were made, Norway was quite fortunate, and with a total population of less than five million and enough NAT to go around we have a good enough IPv4 address to total population ratio that makes for no panic of us running out of IPv4 locally.&lt;br /&gt;&lt;br /&gt;So this left us early adopters to seek out the next generation connectivity via tunnel providers such as &lt;a href="http://tunnelbroker.net/"&gt;Hurricane Electric&lt;/a&gt; or &lt;a href="http://www.sixxs.net/"&gt;Sixxs&lt;/a&gt;, with the dancing turtle at the &lt;a href="http://www.kame.net/"&gt;Kame Project&lt;/a&gt; website as the early reward for venturing into 128-bit address territory.&lt;br /&gt;&lt;br /&gt;For the longest while, that would be pretty much it. Once you'd kept your tunnel stable for a while, you could generally have a /48 subnet for the asking. But finding any good content on IPv6 or large amounts of IPv6 traffic of any kind was not easy. At parties we'd even bitch about the famous lines in one IPv6 textbook that claimed that IPv6 routing tables were generally much smaller and more compact than their IPv4 counterparts -- &lt;i&gt;of course they're smaller, there are essentially no sites, and they produce next to no no traffic!&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Then, famously, the time came when the last /8 range allocations of IPv4 address space were made, and the IPv4 internet was officially full (&lt;i&gt;should we just start telling them to go away yet?&lt;/i&gt;), for some values of at least. Even if certain European organizations or nations are not in any danger of running out of IP addresses, sixteen years after the initial IPv6 RFCs entered the standards track (see &lt;a href="http://www.ietf.org/rfc/rfc1883.txt"&gt;RFC1883&lt;/a&gt; and friends), we found ourselves in a situation where any new large-scale implementations would likely be built exclusively with IPv6 or very nearly so, and the historical backdrop for today's experiment was complete.&lt;br /&gt;&lt;br /&gt;I expect the summaries to say mostly that modern operating systems, at least the free ones such as &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; came very well prepared for the task. The two protocols are in fact not compatible, but running both will work, and for the vast majority of services, the sysadmin's worksheet looks like this:&lt;br /&gt;&lt;br /&gt;1) Get hold of whatever number of IPv6 addresses your application requires&lt;br /&gt;&lt;br /&gt;2) Configure your network interfaces with IPv6 addresses (some systems come preconfigured to do their own autoconfiguration)&lt;br /&gt;&lt;br /&gt;3) Edit in the required IPv6 addresses into your services' configurations&lt;br /&gt;&lt;br /&gt;4) Add any AAAA records required to your domains' externally-visible zones.&lt;br /&gt;&lt;br /&gt;And you're done, at least for now. With quad-A entries in your externally-visible DNS, you will start seeing IPv6 traffic hitting your services from elsewhere, not just your own test traffic.&lt;br /&gt;&lt;br /&gt;Your logs and other monitoring will show you how your rig behaves. Most likely it all just works, and your users won't notice anything different, except perhaps a dancing turtle (or missing ads on IPv6 for some web sites, as noted by some early IP version six day reports).&lt;br /&gt;&lt;br /&gt;I did those things a little while back on my home network, and when the first few days did not show up anything I almost missed what could be an important event: &lt;i&gt;my first spam email delivered over IPv6&lt;/i&gt;. I only read message headers when the message stands out somehow, and in this case it was clearly spam, so I took a peek at the headers in case I it would be worth &lt;a href="http://www.bsdly.net/~peter/traplist_ethics.shtml"&gt;blacklisting manually&lt;/a&gt;:&lt;br /&gt;&lt;pre&gt;Received: from mo-p00-ob6.rzone.de ([2a01:238:20a:202:53f0::1])&lt;br /&gt;by skapet.bsdly.net with esmtp (Exim 4.73)&lt;br /&gt;(envelope-from &lt;edrenat@edrenat.es&gt;)&lt;br /&gt;id 1QFOdo-0001zq-E9&lt;br /&gt;for bsdly@bsdly.net; Thu, 28 Apr 2011 12:40:25 +0200&lt;br /&gt;DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; t=1303987210; l=2236144;&lt;br /&gt;s=domk; d=edrenat.es;&lt;br /&gt;h=Content-Type:Mime-Version:Subject:Reply-To:From:Date:X-RZG-CLASS-ID:&lt;br /&gt;X-RZG-AUTH;&lt;br /&gt;bh=CS67GJbTmE0wDhH/HieJqdndPSo=;&lt;br /&gt;b=pNIf0dK3KnFhj/7mcP8KGm70V9/XxlPa/ALQSKRh0nBgWsT0mdoUxi2unepDaMlZMPW&lt;br /&gt;cReoEgH/yMOF6T59Zf2X4fjrr358rU9hhxjQuV6lHwIpYoQWYwkxOqAB1iYL+SacIWspU&lt;br /&gt;MYMrgju1GQLZps7hIeunhV0pfto8o4JeqqM=&lt;br /&gt;X-RZG-AUTH: :KWgWcE6pb9/UNsdwkwZbgj6IM9/U3aYAugAbJE4rNBO+ejjApHAeOC4nD+Q=&lt;br /&gt;X-RZG-CLASS-ID: mo00&lt;br /&gt;Received: from PACO1 (cliente-98392.iberbanda.es [87.111.193.23])&lt;br /&gt;by post.strato.de (jimi mo42) (RZmta 25.17)&lt;br /&gt;with ESMTPA id J00252n3SABVBu ; Thu, 28 Apr 2011 12:29:29 +0200 (MEST)&lt;br /&gt;&lt;/EDRENAT@EDRENAT.ES&gt;&lt;/pre&gt;&lt;br /&gt;The full message is preserved here &lt;a href="http://www.bsdly.net/~peter/my-first-ipv6-spam.txt"&gt;with headers&lt;/a&gt; or as &lt;a href="http://www.bsdly.net/~peter/my-first-ipv6-spam-as-text.txt"&gt;mainly message body&lt;/a&gt; as text if you're so inclined.&lt;br /&gt;&lt;br /&gt;From the most recent &lt;tt&gt;Received:&lt;/tt&gt; header we see that the delivery happened over IPv6, while the second tells us that the originator most likely did not have IPv6 connectivity, or at least did not see fit to use it if they did.&lt;br /&gt;&lt;br /&gt;It's also worth noting that this message, like a surprising amount of spam in recent times, also comes with what appears to be a valid DKIM signature. So much for cryptograpic validation as an effective antispam measure.&lt;br /&gt;&lt;br /&gt;Now of course my next step was to find out if this particular sender had tried to darken my mail spool before:&lt;br /&gt;&lt;pre&gt;peter@skapet:~$ sudo grep edrenat@edrenat.es /var/spool/exim/logs/main.log&lt;br /&gt;2010-11-07 14:21:44 1PF5Bm-0006RI-KB &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=251712 id=201011071353082974379@edrenat.es&lt;br /&gt;2010-12-14 20:42:49 1PSaln-000255-PQ &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=759434 id=201012141954165325931@edrenat.es&lt;br /&gt;2011-01-30 21:13:30 1PjdeA-0001Nn-If &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.161] P=esmtp S=1905781 id=201101302042161777948@edrenat.es&lt;br /&gt;2011-02-22 21:59:05 1PrzIX-0006jv-7x &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=1227270 id=201102222041571040455@edrenat.es&lt;br /&gt;2011-04-28 12:40:26 1QFOdo-0001zq-E9 &amp;lt;= edrenat@edrenat.es H=mo-p00-ob6.rzone.de [2a01:238:20a:202:53f0::1] P=esmtp S=2210478 id=201104281225569454004@edrenat.es &lt;/pre&gt;Apparently they had, on more or less a monthly basis, so let's take a peek at the log entries for all of those messages:&lt;br /&gt;&lt;pre&gt;peter@skapet:~$ for foo in 1PF5Bm-0006RI-KB 1PSaln-000255-PQ 1PjdeA-0001Nn-If 1PrzIX-0006jv-7x 1QFOdo-0001zq-E9; do sudo grep $foo /var/spool/exim/logs/main.log ; done&lt;br /&gt;2010-11-07 14:21:43 1PF5Bm-0006RI-KB DKIM: d=edrenat.es s=domk c=relaxed/relaxed a=rsa-sha1 t=1289136101 l=251099 [verification failed - signature did not verify (headers probably modified in transit)]&lt;br /&gt;2010-11-07 14:21:44 1PF5Bm-0006RI-KB &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=251712 id=201011071353082974379@edrenat.es&lt;br /&gt;2010-11-07 14:21:44 1PF5Bm-0006RI-KB =&amp;gt; peter &amp;lt;bsdly@bsdly.net&amp;gt; R=localuser T=local_delivery&lt;br /&gt;2010-11-07 14:21:44 1PF5Bm-0006RI-KB Completed&lt;br /&gt;2010-12-14 20:42:46 1PSaln-000255-PQ DKIM: d=edrenat.es s=domk c=relaxed/relaxed a=rsa-sha1 t=1292355762 l=766689 [verification succeeded]&lt;br /&gt;2010-12-14 20:42:49 1PSaln-000255-PQ &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=759434 id=201012141954165325931@edrenat.es&lt;br /&gt;2010-12-14 20:42:49 1PSaln-000255-PQ =&amp;gt; peter &amp;lt;bsdly@bsdly.net&amp;gt; R=localuser T=local_delivery&lt;br /&gt;2010-12-14 20:42:49 1PSaln-000255-PQ Completed&lt;br /&gt;2011-01-30 21:13:26 1PjdeA-0001Nn-If DKIM: d=edrenat.es s=domk c=relaxed/relaxed a=rsa-sha1 t=1296418396 l=1927465 [verification succeeded]&lt;br /&gt;2011-01-30 21:13:30 1PjdeA-0001Nn-If &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.161] P=esmtp S=1905781 id=201101302042161777948@edrenat.es&lt;br /&gt;2011-01-30 21:13:30 1PjdeA-0001Nn-If =&amp;gt; peter &amp;lt;bsdly@bsdly.net&amp;gt; R=localuser T=local_delivery&lt;br /&gt;2011-01-30 21:13:30 1PjdeA-0001Nn-If Completed&lt;br /&gt;2011-02-22 21:59:03 1PrzIX-0006jv-7x DKIM: d=edrenat.es s=domk c=relaxed/relaxed a=rsa-sha1 t=1298408169 l=1240300 [verification succeeded]&lt;br /&gt;2011-02-22 21:59:05 1PrzIX-0006jv-7x &amp;lt;= edrenat@edrenat.es H=mo-p00-ob.rzone.de [81.169.146.162] P=esmtp S=1227270 id=201102222041571040455@edrenat.es&lt;br /&gt;2011-02-22 21:59:06 1PrzIX-0006jv-7x =&amp;gt; peter &amp;lt;bsdly@bsdly.net&amp;gt; R=localuser T=local_delivery&lt;br /&gt;2011-02-22 21:59:06 1PrzIX-0006jv-7x Completed&lt;br /&gt;2011-04-28 12:40:21 1QFOdo-0001zq-E9 DKIM: d=edrenat.es s=domk c=relaxed/relaxed a=rsa-sha1 t=1303987210 l=2236144 [verification succeeded]&lt;br /&gt;2011-04-28 12:40:26 1QFOdo-0001zq-E9 &amp;lt;= edrenat@edrenat.es H=mo-p00-ob6.rzone.de [2a01:238:20a:202:53f0::1] P=esmtp S=2210478 id=201104281225569454004@edrenat.es&lt;br /&gt;2011-04-28 12:40:26 1QFOdo-0001zq-E9 =&amp;gt; peter &amp;lt;bsdly@bsdly.net&amp;gt; R=localuser T=local_delivery&lt;br /&gt;2011-04-28 12:40:26 1QFOdo-0001zq-E9 Completed&lt;br /&gt;&lt;/pre&gt;This tells us that they've consistently sent to an address that features only on my website and has &lt;b&gt;never&lt;/b&gt; been used as a sender or return address and has never been signed up for any mailing list of any kind. We also see that all the messages bar one pass the initial DKIM validity test.&lt;br /&gt;&lt;br /&gt;There are several lessons to be learned here. One is that with a sensible choice of operating system and other software, the transition from classic IP version four only to a dual-stack configuration with both IP version four and IP version six running on your systems will likely be less dramatic than you have been lead to believe.&lt;br /&gt;&lt;br /&gt;Another is that at least in some respect the world stays very much the same with IPv6 as it was with IPv4, and content is likely to cross the protocol border. Or to put it slightly differently, the same caveats about ill-intentioned traffic still apply; any security measures you had inplace before you went dual stack most likely need to be tuned to handle traffic from the brave new world of IPv6.&lt;br /&gt;&lt;br /&gt;And of course, even if a number of implementation bugs have been found and fixed and a number of fundamental design flaws have been identified and worked around, only full scale testing like today's experiment (preferably sustained over longer periods) offer any hope of identifying and fixing the problems we haven't found yet. The looming IPv6 transition is likely to make and break careers, and some of us will have our share of both fun and nightmares while seeing to the confidentiality, integrity and general security of your data and your systems.&lt;br /&gt;&lt;br /&gt;Good night and good luck, while we're slowly going from dots to colons.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to Sevan Janiyan for tweeting &lt;a href="https://twitter.com/#%21/sevanjaniyan/status/78421374758162432"&gt;"Though the gmail website is reachable via IPv6, mail is still going via IPv4 :("&lt;/a&gt; earlier today and reminding me of the incident that was the inspiration for this column.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-7739451202882929443?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/7739451202882929443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/06/my-first-ipv6-spam.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7739451202882929443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7739451202882929443'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/06/my-first-ipv6-spam.html' title='My First IPv6 Spam'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-1550160519812270980</id><published>2011-06-05T21:20:00.007+02:00</published><updated>2011-06-05T23:54:08.666+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='100000 visitors'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><title type='text'>How Do We Appropriately Celebrate The Arrival Of The 100,000th PF Tutorial Visitor?</title><content type='html'>&lt;i&gt;A nice surprise may be in line for a new visitor, and you (yes, you) can help me pick the surprise.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;In late 2004, I started working on the text for a user group lecture for the &lt;a href="http://www.blug.linux.no/"&gt;BLUG&lt;/a&gt; meeting scheduled for the the following January.  &lt;br /&gt;&lt;br /&gt;The original manuscript was in Norwegian, but after a rather successful and surprisingly well attended user group meeting, I wrote up an English version and posted both &lt;a href="http://home.nuug.no/~peter/pf/"&gt;online&lt;/a&gt;.  With some encouragement from &lt;a href="http://www.lemis.com/grog/"&gt;Greg Lehey&lt;/a&gt; (I'd participated in the group of volunteer reviewers for his third edition of &lt;a href="http://oreilly.com/catalog/9780596005160/index.html"&gt;The Complete FreeBSD&lt;/a&gt;), I submitted a proposal to give a half day tutorial for the 2005 &lt;a href="http://auug.org.au/"&gt;AUUG&lt;/a&gt; conference in Sidney.  &lt;br /&gt;&lt;br /&gt;The proposal was accepted, as were several of the followup submissions to other conferences, and via a sequence of conferences and some private sessions, the document kept developing.  In early 2007 I started working on turning the manuscript into a usable book.  As regular readers will be aware, the much revised &lt;a href="http://nostarch.com/pf2.htm"&gt;second edition&lt;/a&gt; was completed during the second half of 2010, and even that version has recently been subjected to its &lt;a href="http://www.bsdly.net/bookofpf/bookofpf2nded-update01.txt"&gt;first update&lt;/a&gt; thanks to the ongoing development of the &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; operating system. &lt;br /&gt;&lt;br /&gt;The original &lt;a href="http://home.nuug.no/~peter/pf/"&gt;tutorial&lt;/a&gt; has kept attracting a relatively steady stream of new visitors from all over the world, even though I have not added any new material to the document since I started working on the book version. New material will, rather, find its way into slides for the next session (such as the most recent one at &lt;a href="http://www.bsdcan.org/2011"&gt;BSDCan 2011&lt;/a&gt;), or will be put in the queue for possible upcoming book material.  &lt;br /&gt;&lt;br /&gt;During periods when I have had little visible output to offer, it has been interesting to see that the documents attract visitors and the occasional comment or suggestion for improvement.  Then a little while back, I realized that in a not too distant future, the number of unique host names or IP addresses that have visited the tutorial tree will roll past a hundred thousand (100,000).&lt;br /&gt;&lt;br /&gt;That particular number is possibly only significant to me, I keep the count of unique hosts accessing mainly to get an idea how many people have looked at my work. The raw number of page hits for the same location (we don't have any numbers for the early days when it was hosted at a now-defunct ISP) is fairly close to one and a half million, but I feel that number is a rather pointless statistic.&lt;br /&gt;&lt;br /&gt;But when visitor number one hundred thousand arrives, how should we celebrate?  I'm inclined to try to identify and contact the lucky visitor and offer a prize of sorts, but I have not quite made up my mind what and how. I'll welcome suggestions sent to via email (to &lt;a href="mailto:peter@bsdly.net"&gt;peter@bsdly.net&lt;/a&gt;) with a recognizable subject.&lt;br /&gt;&lt;br /&gt;It is worth mentioning that neither the tutorial nor this blog directly generates any revenue for me. I did for a short time have Google-supplied ads running on both sites, but for reasons that have never been quite clear to me, Google chose to terminate my AdSense account a few days before my second USD 100 transfer was due.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-1550160519812270980?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/1550160519812270980/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/06/how-do-we-appropriately-celebrate.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1550160519812270980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1550160519812270980'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/06/how-do-we-appropriately-celebrate.html' title='How Do We Appropriately Celebrate The Arrival Of The 100,000th PF Tutorial Visitor?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-121027211502562260</id><published>2011-04-29T10:00:00.011+02:00</published><updated>2011-04-29T10:54:54.861+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='carrier pigeons'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='TCP/IP'/><category scheme='http://www.blogger.com/atom/ns#' term='avian carriers'/><category scheme='http://www.blogger.com/atom/ns#' term='in-flight Internet'/><category scheme='http://www.blogger.com/atom/ns#' term='RFC1149'/><title type='text'>RFC1149: Ten Years of In-Flight Internet</title><content type='html'>&lt;i&gt;It's been ten years since a small group of Bergen hackers implemented RFC1149, the Carrier Pigeon Internet Protocol, making in-flight Internet a reality well ahead of any airline.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;On April 28th, 2001, my laptop received four ping packets. That in itself, you might say, was not a particularly noteworthy event. &lt;br /&gt;&lt;br /&gt;However, on this occasion, the message was in the medium. The traffic my laptop received that day was transmitted via &lt;i&gt;avian carriers&lt;/i&gt;, more commonly known as carrier pigeons.&lt;br /&gt;&lt;br /&gt;The story of the hows and whys was rather quickly documented in main implementer Vegard Engen's &lt;a href="http://www.blug.linux.no/rfc1149/writeup.html"&gt;"preliminary writeup"&lt;/a&gt; (part of the &lt;a href="http://www.blug.linux.no/rfc1149/"&gt;CPIP Workgroup website&lt;/a&gt; (which was slashdotted and for a few days saw traffic in the million hits per day range). &lt;br /&gt;&lt;br /&gt;Why did we do it? Because the RFC was implementable, and it was fun. Very few people outside tech circles have ever clued in on this, with a few notable exceptions such as Peter Meyers, who wrote the &lt;a href="http://www.salon.com/"&gt;salon.com&lt;/a&gt; article &lt;a href="http://www.salon.com/technology/feature/2001/05/10/pigeons"&gt;The pigeon protocol&lt;/a&gt; that was published within a few days of the event.&lt;br /&gt;&lt;br /&gt;If you're interested in this kind of thing (if you're still reading, I suppose you are), other writeups such as my own &lt;a href="http://www.bsdly.net/~peter/alan-visit.html"&gt;The kernel hacker speaks to polite people and assists in the flight of network packets - a conspirator's view of Alan Cox' April 2001 Bergen visit&lt;/a&gt; may be worth reading too. &lt;br /&gt;&lt;br /&gt;After the event, Vegard made a presentation about the workgroup efforts at the next &lt;a href="http://www.ietf.org/"&gt;IETF&lt;/a&gt; conference, and was presented with a plaque (&lt;a href="http://home.nuug.no/~peter/RFC1149-plakett-liten.jpg"&gt;jpg, 76kB&lt;/a&gt;, &lt;a href="http://home.nuug.no/~peter/RFC1149-plakett-stor.jpg"&gt;jpg, 2.1MB&lt;/a&gt;) in return.&lt;br /&gt;&lt;br /&gt;The CPIP WG activities have proceeded at a more leisurely pace in recent years. In 2005 I went to the AUUG 2005 conference to do an early version of the &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt;, and en route I made a presentation in Adelaide about the project (&lt;a href="http://www.bsdly.net/~peter/rfc1149-talk/"&gt;slides&lt;/a&gt; and  &lt;a href="http://www.bsdly.net/~peter/rfc1149-talk/rfc1149-talk.txt"&gt;accompanying notes&lt;/a&gt; are still avaliable).&lt;br /&gt;&lt;br /&gt;We're still looking for independent, interoperable implementations, though. Preferably on other free operating systems besides Linux. If we can entice our old pigeon partners to participate, we're more than willing to arrange for interoperability tests. &lt;br /&gt;&lt;br /&gt;The world &lt;i&gt;needs&lt;/i&gt; this to be on the IETF Standards Track.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-121027211502562260?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/121027211502562260/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/04/rfc1149-ten-years-of-in-flight-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/121027211502562260'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/121027211502562260'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/04/rfc1149-ten-years-of-in-flight-internet.html' title='RFC1149: Ten Years of In-Flight Internet'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6837183480011503333</id><published>2011-02-27T23:03:00.008+01:00</published><updated>2011-02-27T23:48:53.751+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='time wasted'/><category scheme='http://www.blogger.com/atom/ns#' term='regulatory compliance'/><category scheme='http://www.blogger.com/atom/ns#' term='AsiaBSDCon 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='email archiving'/><category scheme='http://www.blogger.com/atom/ns#' term='inefficiency'/><category scheme='http://www.blogger.com/atom/ns#' term='email'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='deduplication'/><title type='text'>The Problem Isn't Email, It's Microsoft Exchange</title><content type='html'>&lt;i&gt;The takeaway: don't pretend your appointment book can handle your email. And don't blame the Internet for all the compatibility issues. The main problem is Microsoft Exchange.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I care about email. In fact, a large part of how I have made a living over the years has depended on a reliable email service.  I get a lot of email, and I send my fair share of it too - some of it is correspondence directly related to whatever I'm working on at the moment, some of it is personal, quite a bit comes from topic-oriented mailing lists such as &lt;a href="http://www.openbsd.org/"&gt;openbsd&lt;/a&gt;&lt;a href="http://marc.info/?l=openbsd-misc&amp;amp;r=1&amp;amp;w=2"&gt;-misc&lt;/a&gt;, and a large chunk of my mail archive consists of automatically generated mail sent by systems in my care.  I've also been known to treat email much the same as other correspondence, rarely if ever deleting messages. When the mailboxes became too unwieldy I would transfer some of the contents to archive storage.&lt;br /&gt;&lt;br /&gt;I've become convinced that a large part of the reason I don't mind dealing with large volumes of email is that I started doing it before Microsoft became an actor in the Internet email market. Way back in the late eighties and early nineties, email of the &lt;span style="font-style: italic;"&gt;Internet&lt;/span&gt;, &lt;span style="font-style: italic;"&gt;TCP/IP&lt;/span&gt;, kind would be handled by some sort of Unix box (a BSD or, by the mid-nineties, a Linux variant, perhaps) that would frequently offer shell command line access, but more likely than not also email reading via POP or IMAP interfaces.&lt;br /&gt;&lt;br /&gt;And it worked. Users who insisted on (or needed to be on) a Microsoft desktop could be persuaded to install a useful email client such as &lt;span style="font-style: italic;"&gt;Eudora&lt;/span&gt; (now defunct but fortunately Qualcomm donated the code base to Mozilla for integration in Thunderbird), and for mailboxes that became too unwieldy, the advice would be to just move content to mailboxes that Eudora wouldn't load into memory by default, such as the ubiquitous &lt;tt&gt;Inbox&lt;/tt&gt;. Over the years the volumes of and the nature of email changed gradually, so along the way we learned to deal with spam and mail-borne Microsoft worms by installing content filtering and setting up other tools. Still, everywhere I worked, apart from the unavoidable but infrequent freak incidents SMTP email was considered reliable, and your email archive was just that.&lt;br /&gt;&lt;br /&gt;From other parts of the world we would hear every now and then stories about the death of email, and recently even a largish IT company announced that they were planning to get rid of all email in the near future. Email, the story goes, is just too time consuming and disruptive. I never quite understood what they were on about.&lt;br /&gt;&lt;br /&gt;Then not too long ago I started working regularly in an environment where email is done the Microsoft way, via Exchange and Outlook. And it has struck me that they're right: &lt;span style="font-style: italic;"&gt;If your email experience is via Exchange and Outlook, the net effect is both time consuming and disruptive.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Forced to work with an all-Microsoft desktop for the first time in years (where my most frequently used application by far is &lt;tt&gt;putty.exe&lt;/tt&gt;, but that's beside the point here), I found Outlook's user interface clunky and with frankly insane default settings ("rich text" by default, newest messages on top and positively deranged quoting setups, more about that later) that were for the most part fortunately changeable, at least on a per mailbox basis.&lt;br /&gt;&lt;br /&gt;The first revelation came when I heard a co-worker praise newer Microsoft Office releases "because 2007 and newer has discussions". I was forced to imagine how life must have been like without &lt;i&gt;threading&lt;/i&gt; as we've tended to call it on the USENET and mailing lists since, well, the late 1980s. Outlook's predecessor Microsoft Mail of course did not support threading, but I suppose any plans to support threading via &lt;tt&gt;References:&lt;/tt&gt; headers and suchlike received a major blow when the translators of MSMail decided not to leave the RFC-dictated &lt;tt&gt;"Re:"&lt;/tt&gt; prefix alone, but rather translate it for local language versions and lead the way to the &lt;tt&gt;"Re: SV: Antw: VS:"&lt;/tt&gt; and so on cascades we see in the &lt;tt&gt;Subject:&lt;/tt&gt; fields for correspondence between users of Microsoft mail clients and others.&lt;br /&gt;&lt;br /&gt;No big surprise then, that when Microsoft decided to "invent" threading for their messaging products, they again ignored the RFC-compliant &lt;tt&gt;References:&lt;/tt&gt; header and chose to implement their very own version based on a set of &lt;tt&gt;X-&lt;/tt&gt;something headers that appears to make the threading a local-to-this-Exchange-server (and Outlook clients only) thing. Messages that do not retain the &lt;tt&gt;X-&lt;/tt&gt;something headers regularly show up as separate "discussions". All this is to a Unix-head much like the "Recall" functionality that always draws smiles on mailing lists.&lt;br /&gt;&lt;br /&gt;Being robbed of any easy way to track the relationships between messages in your mailboxes is bad enough, but there's more. Even with a limited sort of threading in place (even one that would break at the slightest interference from outside software), the damage had already been done by software that introduced counterproductive, confusing and time consuming response practices. &lt;br /&gt;&lt;br /&gt;For reasons that have never become entirely clear to me, the developers of Microsoft email client software decided that direct and limited quoting of text from previous messages was not a priority.  So rather than build on earlier work where we would have exchanges like&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;From: First Correspondent &amp;lt;first.correspondent@onecompany.nx&amp;gt;&lt;br /&gt;To: Second Emailer &amp;lt;second.emailer@otherplace.nx&amp;gt;&lt;br /&gt;Subject: A most enlightening message&lt;br /&gt;&lt;br /&gt;Dear Second,&lt;br /&gt;&lt;br /&gt;Here I offer an important insight that I would like to share.&lt;br /&gt;Followed with random commentary that may or may not be important.&lt;br /&gt;&lt;br /&gt;I hope you agree this was worth sharing.&lt;br /&gt;&lt;br /&gt;Yours,&lt;br /&gt;First&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;where a typical response from Second would typically be something like this,&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;From: Second Emailer &amp;lt;second.emailer@otherplace.nx&amp;gt;&lt;br /&gt;To: First Correspondent &amp;lt;first.correspondent@onecompany.nx&amp;gt;&lt;br /&gt;Subject: Re: A most enlightening message&lt;br /&gt;&lt;br /&gt;First Correspondent &amp;lt;first.correspondent@onecompany.nx&amp;gt; writes:&lt;br /&gt;&lt;br /&gt;&amp;gt; Here I offer an important insight that I would like to share.&lt;br /&gt;&lt;br /&gt;Thanks for sharing that!  The next bit was really about something else&lt;br /&gt;entirely, but is probably worth discussing over refreshments at an&lt;br /&gt;appropriate time.&lt;br /&gt;&lt;br /&gt;&amp;gt; I hope you agree this was worth sharing.&lt;br /&gt;&lt;br /&gt;Oh, definitely! We'll get plenty of good out of this as time goes by.&lt;br /&gt;&lt;br /&gt;Be seein' ya,&lt;br /&gt;Second, jr&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;they chose a different approach entirely.&lt;br /&gt;&lt;br /&gt;Keep in mind that other parts of the world that were already used to email and related forms of communication such as Usenet news, where exchanges like these were commonplace and gave a reasonable certainty as to who said what, when.&lt;br /&gt;&lt;br /&gt;What Microsoft did instead was to introduce a wholly new convention for email responses.  The details vary over the various versions, but the main parts were to wrap any text information in pseudo-html formatting and place the entire previous message after the present correspondent's signature, with the cursor for the user to input text at the top.  &lt;br /&gt;&lt;br /&gt;Inline quoting like in the exchange I quoted earlier was tricky bordering on impossible, and adventurous users would resort to tricks like "my parts are the ones in magenta", only to discover that the carefully hand-painted text would fail to render correctly on any other software than their own version, down to the minutest patch level. &lt;br /&gt;&lt;br /&gt;Thus was born the age of all-inclusive top-posting, where deciphering the true meaning of any of the paragraphs on top of the message could take more moments than you really have at your disposal, the time needed to decipher the cascade of earlier messages included.  Not only would the ever-expanding, all-inclusive (but actually rather unreliable and far from tamper-proof) discussion-in-a-message convention confuse all readers involved, it also meant that the text and any file attachments would be stored multiple times, many times over for long discussions. It would take only a minimally uncharitable view of the average &lt;i&gt;C?O&lt;/i&gt;'s intellectual capacity to suggest that this was a prime mover behind the intense rush to "data deduplication" in storage marketing literature a few years ago.&lt;br /&gt;&lt;br /&gt;Which takes us to the next item: &lt;i&gt;Storage&lt;/i&gt;.  Taken in semi-random order, the next hurdle for a Microsoft email user to overcome is storage. Outlook by default uses its own binary format for local message storage, know as PST files or Personal Storage Table files as the informative &lt;a href="http://en.wikipedia.org/wiki/Personal_Storage_Table"&gt;Wikipedia entry&lt;/a&gt; explains. In some configurations all mail is stored in a database of sorts on the Exchange server, and the user may or may not have the option to save messages to local PST files to work around space limitations on the server. &lt;br /&gt;&lt;br /&gt;It is not uncommon for Exchange admins to turn off users' ability to save messages to PST files. One major reason is that more likely than not any saved PST file will end up on the end user's computer, with the consequence that potentially important messages may end up being backed up infrequently, if at all. Other reasons to avoid PSTs are size limits (originally 2GB but larger in newer releases), but the thing that tends to scare people the most are horror stories of data corruption to the point of absolute unrecoverability. As in gigabytes of your business or personal life gone, due to a scrambled PST file. There is anecdotal evidence that missing or scrambled PST files are a big headache for those who for various reasons want to look into the inner life of the Bush 43 administration.&lt;br /&gt;&lt;br /&gt;So for records keeping involving your email, you're in a bind: Your mailbox size is likely to be limited -- every Exchange admin knows that large mailboxes will hurt performance, impacting all users of that server -- and the only way to save messages offline is a known-unsafe method.  As far as I have been able to find out, there is no easy way (other than extracting messages to a separate system, say via IMAP) to export mail from the Microsoft product combo to any text or non-microsoft mailbox format.  &lt;br /&gt;&lt;br /&gt;Now weigh those practical considerations against legislation that dictates all business related correspondence be kept on file for a matter of several years.  The exact number of years varies by location, but unless you've purchased one of the add-on solutions for archiving, you will be struggling to keep in line with requirements.&lt;br /&gt;&lt;br /&gt;It all comes down to the shortsightedness or intellectual shallowness of Microsoft Exchange's designers, way back then.  It does make sense that your appointment calendar application should be able to send and receive email, and it kind of makes sense that your appointments are within easy reach from your email client.  &lt;br /&gt;&lt;br /&gt;Those facts do not, however, dictate that the appointments calendar and your email archive should share a common storage backend.  In fact, it's likely that the decision to merge the email storage and appointments storage into one is the direct cause of many of the inefficiencies of Microsoft Exchange.&lt;br /&gt;&lt;br /&gt;In one recent incident involving a user mailbox of perhaps a couple of gigabytes, where the bulk of the data was made up of an estimated (since Outlook never managed to display totals before freezing) 1.5 million messages of about one kilobyte each, even deleting the messages using an  Outlook filtering rule (the content was not of a nature that required long term storage) literally took weeks, typically proceeding at a rate of one message per second early in the process, speeding up to somewhere in the five to ten messages per second rate near the end. Fortunately the user in question was able to access email functionality via the Outlook web access interface while deletion proceeded, but anecdotal evidence suggests that the workload had measurable performance impact on other hosts attached to the same SAN.&lt;br /&gt;&lt;br /&gt;Even if you tackle the storage hurdle, you more than likely will be tripped up by other inanities in the software design.  There are bound to be other pitfalls, but here is my personal list of things that continue to irritate me (in addition to the default "rich text" formatting), coming as I do from the outside world:&lt;br /&gt;&lt;br /&gt;Using Outlook it appears to be impossible to see what your &lt;tt&gt;From:&lt;/tt&gt; address will be before you send the message. The effect is sometimes quite bizarre, in my case since the site has several domains, I of course ended up signing up to several mailing lists with a wrong address, banishing my posts there to moderator queues until I was able to study the real mail headers on a non-Microsoft system. &lt;br /&gt;&lt;br /&gt;Also, Outlook is overly helpful in filling in adress fields such as &lt;tt&gt;To:&lt;/tt&gt; and &lt;tt&gt;Cc:&lt;/tt&gt; from common address books and Active Directory, leading in at least one case I know of to a supposed-to-be-private message to be sent to every mailbox in a largish corporation. That's when you learn that after the first reply, retracting the message won't actually work.&lt;br /&gt;&lt;br /&gt;And no rant about Exchange would be complete without mention of the largely information-free bounce messages the system generates for non-delivery.  A significant portion of the &lt;a href="http://www.bsdly.net/%7Epeter/traplist.shtml"&gt;spamtrap&lt;/a&gt; addresses I use have been fished out of bounce messages, and the Exchange ones stand out as the ones practically guaranteed to exclude any information about where the triggering message came from, or when.&lt;br /&gt;&lt;br /&gt;Summing up, if you're an executive who feels that your organization is saddled with inefficient email processing and dubious archiving, the likely culprit is not email as such, but rather the poorly constructed application some unscrupulous sales person inserted in your network for you. &lt;br /&gt;&lt;br /&gt;Changing to a standards compliant, preferably open source, alternative is likely to save your organization costs at all levels, including hardware and software acquisition and maintenance costs as well as significant personell time. At the same time a move to a standards compliant, open source solution will likely leave you in a better position with respect to security, information consistency and verification.  A full treatment of email as a business tool would have had at least one column of similar length as this one on each of these topics, and I may return to those in future columns. In the meantime, if inefficient emailing bothers you, you may need to realize that a large part of your problem is Microsoft Exchange.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;St. Patrick's Day PF tutorial in Tokyo: &lt;/span&gt;Returning readers may already be aware that I will be giving a PF tutorial at &lt;a href="http://asiabsdcon.org/"&gt;AsiaBSDCon 2011&lt;/a&gt;. My session will be on March 17th, known in some parts of the world as St Patrick's Day. You can register for my session and others &lt;a href="http://2011.asiabsdcon.org/registration.html"&gt;here&lt;/a&gt;, hope to see you there!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6837183480011503333?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6837183480011503333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/02/problem-isnt-email-its-microsoft.html#comment-form' title='17 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6837183480011503333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6837183480011503333'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/02/problem-isnt-email-its-microsoft.html' title='The Problem Isn&apos;t Email, It&apos;s Microsoft Exchange'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>17</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8257101964637567227</id><published>2011-01-31T22:24:00.005+01:00</published><updated>2011-01-31T23:25:35.694+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Datalagringsdirektivet'/><category scheme='http://www.blogger.com/atom/ns#' term='dld'/><category scheme='http://www.blogger.com/atom/ns#' term='salg av adferdsdata'/><category scheme='http://www.blogger.com/atom/ns#' term='politisk overvåking'/><title type='text'>La oss prise fruktbarheten, for den lar de snakkesalige slippe til [.NO #DLD]</title><content type='html'>&lt;i&gt;Eller: Det hjertet er fullt av, renner munnen over med. Her: Trafikkdata og grådighet.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;I dag har vi spesiell grunn til å være takknemlige for menneskelig fruktbarhet.  Spesielt må vi takke justisminister Storbergets ektefelle for å ha medvirket til at mannen fikk anledning til å ta pappaperm akkurat nå.  Uten en justisminister på pappaperm og med forsvarsministeren som vikar hadde vi nemlig ikke fått dagens oppslag i Aftenposten, med den betegnende tittelen "&lt;a href="http://www.aftenposten.no/nyheter/iriks/politikk/article4012306.ece"&gt;Faremo frykter hackere, men er samtidig ikke så bekymret&lt;/a&gt;".&lt;br /&gt;&lt;br /&gt;Det interessante kommer først i tredje siterte svar på spørsmål, der vår vikarierende justisminister etter de obligatoriske floskelavleveringene med marginal sannhetsgehalt ('dette er ikke overvåking', 'vi styrker personvernet', osv) avslutter med&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Det vil forbause meg mye om vi ikke også får en diskusjon om hvordan trafikkdata kan brukes kommersielt.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Vi skal huske på at Grete Faremo i sin forvisningstid fra politikken (hun forsvant fra justisministerposten i Torbjørn Jaglands regjering midt på nittitallet, etter bråket som oppstod da det viste seg at minst ett medlem av Lund-kommisjonen hadde vært under overvåking mens kommisjonens arbeid pågikk) var innom IT-bransjen, der hun antakelig må ha plukket opp tanken om adferdsdata som handelsvare.  Det skulle ikke forundre om akkurat Faremos tidligere arbeidsgiver Microsoft ville være svært takknemlig mottaker av detaljerte oppplysninger om hvem som snakker sammen og skriver til hverandre, med noe nær komplette adferdsdata for hele befolkningen.  Når kommersiell utnyttelse er bare en forsnakkelse unna, er det grunn til å spisse ørene.&lt;br /&gt;&lt;br /&gt;Men for all del, i det perspektivet -- at motivene bak iveren for elektronisk brev- og besøkskontroll for hele nasjonen ikke er rent politiske, men også klart kommersielle -- avslører merkelig nok tilhengerne av det uspiselige direktivet mer menneskelighet enn noen gang før.  Det handler kanskje helt enkelt om grådighet.  Så er de kanskje ikke primært ute etter å ha kontroll på politiske motstandere likevel. De ønsker å selge detaljerte opplysninger om ditt og mitt privatliv til høystbydende, gjerne flere ganger til forskjellige aktører til hver sin pris.  &lt;br /&gt;&lt;br /&gt;Men før dataene kan selges eller på annen måte overlates til kommersielle interesser, er det avgjørende at dataene faktisk blir samlet inn. I dag er innsamling og oppbevaring av detaljerte trafikkdata i virkelig kommersielt interessant skala (les: &lt;i&gt;Til:&lt;/i&gt; og &lt;i&gt;Fra:&lt;/i&gt; med nøyaktig &lt;i&gt;tidspunkt&lt;/i&gt; for all epost, samme for telefonsamtaler, men da supplert med posisjonsdata med brukbar oppløsning) ikke tillatt i Norge.  Det er de enkelte operatørene som står for innsamlingen, og hvilke data som blir samlet inn, er styrt av hver enkelt operatørs faktureringsrutiner og driftstekniske hensyn.  &lt;br /&gt;&lt;br /&gt;Det lovforslaget som Arbeiderpartiet for tiden er alene om å gå inn for, forutsetter at større mengder adferdsdata enn noengang før blir samlet inn og lagret, og sannsynligvis vil man også ende opp med ett sentralt og ytterst attraktivt lagringssted.  Lovforslaget legger riktignok opp til at utlevering av data fra det sentrale samlingsstedet skal være under domstolskontroll, men det er en smule påfallende hvor lite bekymret vår fungerende justisminister er for at brev- og besøkskontrolldataene skal komme på avveie.  &lt;br /&gt;&lt;br /&gt;Politiet har alltid hatt mulighet til å hente ut og reservere disse dataene når det er behov for det, sentral lagring vil gjøre det lettere  å hente ut virkelig verdifulle data om deg og meg for de som ikke har skrupler med å gå bakveier til dataene.  Samtidig vet vi fra de landene som har innarbeidet datalagringsdirektivet i nasjonal lov at direktivet helt klart &lt;i&gt;ikke&lt;/i&gt; bidrar til å bedre oppklaringsgrad eller forekomst av kriminalitet, og at flere EU-land har kjent direktivet eller innføringslovene grunnlovsstridige.  Men alt dette bekymrer tilsynelatende ikke vår fungerende justisminister.  Kanskje neste datalagringslov vil gjøre det lettere å selge data om ditt og mitt privatliv over bordet.&lt;br /&gt;&lt;br /&gt;Stortingsbehandlingen av datalagringsdirektivet innledes med høringer 7. og 9. februar.  Se &lt;a href="http://stortinget.no/no/Hva-skjer-pa-Stortinget/Nyhetsarkiv/Hva-skjer-nyheter/2010-2011/Datalagringsdirektivet-pa-Stortinget/"&gt;sakssidene&lt;/a&gt; på &lt;a href="http://stortinget.no/"&gt;stortinget.no&lt;/a&gt; (med informativ &lt;a href="http://www.stortinget.no/no/Saker-og-publikasjoner/Saker/Sak/?p=48717"&gt;samleside&lt;/a&gt;) for detaljer.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8257101964637567227?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8257101964637567227/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/01/la-oss-prise-fruktbarheten-for-den-lar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8257101964637567227'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8257101964637567227'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/01/la-oss-prise-fruktbarheten-for-den-lar.html' title='La oss prise fruktbarheten, for den lar de snakkesalige slippe til [.NO #DLD]'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-4697262359946350500</id><published>2011-01-30T15:40:00.004+01:00</published><updated>2011-01-30T22:22:42.607+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='mindless pasting'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='HOWTOs'/><category scheme='http://www.blogger.com/atom/ns#' term='AsiaBSDCon'/><title type='text'>I will not mindlessly paste from HOWTOs</title><content type='html'>&lt;i&gt;Even with proper discouragement, mindless pasting is rampant, it seems&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It had to happen sooner or later.&lt;br /&gt;&lt;br /&gt;My incoming mail this morning had one item about what I thought was a fairly trivial misconfiguration, and I answered it like this&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;From: peter@bsdly.net (Peter N. M. Hansteen)&lt;br /&gt;Subject: Re: interesting-traffic&lt;br /&gt;To: Name Withheld &amp;lt;Name.Withheld@gmail.com&amp;gt;&lt;br /&gt;Cc: peter@bsdly.net&lt;br /&gt;Date: Sun, 30 Jan 2011 12:44:35 +0100&lt;br /&gt;&lt;br /&gt;Name Withheld &amp;lt;Name.Withheld@gmail.com&amp;gt; writes:&lt;br /&gt;&lt;br /&gt;&gt; how should i handle the 'intersting-traffic macro not defined' error&lt;br /&gt;&gt; in pf.conf on obsd 4.8 reboot syntax error starting pf?&lt;br /&gt;&lt;br /&gt;either define the macro (remove a # comment perhaps) or remove any&lt;br /&gt;references to it.  Have you been pasting from a partial example&lt;br /&gt;floating around the web perhaps?&lt;br /&gt;&lt;br /&gt;- P&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then a few sips of coffee later, it dawned on me: the macro &lt;tt&gt;interstring-traffic&lt;/tt&gt; is more than likely one I made up for &lt;a href="http://home.nuug.no/~peter/pf/en/bridge.html"&gt;the bridge example&lt;/a&gt; in the short (and now rarely updated) version of my PF tutorial document. (I added the strongly worded note there as a reaction to this incident).&lt;br /&gt;&lt;br /&gt;So it's at least partly my fault.  I put an incomplete example out there, hoping that whoever stumbled upon the material would grasp the context and fill in any needed details.  The important bits are all there, but when pasted into a config without checking, the result will be just as Name Withheld experienced.  &lt;br /&gt;&lt;br /&gt;But then I can't really take the full blame: Had he bothered to read the rest of the document or even &lt;a href="http://nostarch.com/pf2.htm"&gt;the book&lt;/a&gt; that's a further development, he would have seen &lt;a href="http://home.nuug.no/~peter/pf/en/preface.html"&gt;this admonition&lt;/a&gt; which comes out even more clearly in the &lt;a href="http://home.nuug.no/~peter/pf/eurobsdcon2010/unhowto.html"&gt;slides version&lt;/a&gt;.  If for some reason the links are inoperative, here it is:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;The Pledge of the Network Admin&lt;br /&gt;&lt;br /&gt;This is my network. &lt;br /&gt;&lt;br /&gt;It is mine &lt;br /&gt;or technically my employer's, &lt;br /&gt;it is my responsibility &lt;br /&gt;and I care for it with all my heart&lt;br /&gt;&lt;br /&gt;there are many other networks a lot like mine,&lt;br /&gt;&lt;br /&gt;but none are just like it.&lt;br /&gt;&lt;br /&gt;I solemnly swear &lt;br /&gt;&lt;br /&gt;that I will not mindlessly paste from HOWTOs.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I actually recite that at the very beginning of &lt;i&gt;all&lt;/i&gt; my tutorial sessions, and while of course it's sometimes accompanied by giggles, the point remains: there is no substitute for actually understanding your configuration. Testing (if nothing else, a quick &lt;tt&gt;sudo pfctl -vnf /etc/pf.conf&lt;/tt&gt; and reading the output before rebooting) would have helped enormously too.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;For those hungry for fresh PF tutorials, I'll jump the gun and announce that there will be one by yours truly at &lt;a href="http://2011.asiabsdcon.org/"&gt;AsiaBSDCon 2011&lt;/a&gt;, final schedule to appear on that URL shortly.  A few other events are in the works too, more details here and at &lt;a href="http://home.nuug.no/~peter/pf/"&gt;the PF tutorial page&lt;/a&gt; when details are settled.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-4697262359946350500?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/4697262359946350500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4697262359946350500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4697262359946350500'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2011/01/i-will-not-mindlessly-paste-from-howtos.html' title='I will not mindlessly paste from HOWTOs'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-4732183249819421650</id><published>2010-12-29T14:40:00.005+01:00</published><updated>2011-03-18T14:40:43.479+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='overvåking'/><category scheme='http://www.blogger.com/atom/ns#' term='demokrati'/><category scheme='http://www.blogger.com/atom/ns#' term='politistat'/><category scheme='http://www.blogger.com/atom/ns#' term='Datalagringsdirektivet'/><category scheme='http://www.blogger.com/atom/ns#' term='dld'/><category scheme='http://www.blogger.com/atom/ns#' term='politikk'/><category scheme='http://www.blogger.com/atom/ns#' term='antidemokratisk politikk'/><title type='text'>Ikke styrket personvern, men brev- og besøkskontroll for hele folket [.NO]</title><content type='html'>&lt;i&gt;En ny dag og naturligvis enda et patetisk forsøk på nytale fra justisministeren.  Pluss en interessant invitt.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;[Another .no politics post, I'll be back with international-style geekery soonish]&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Les gjerne Knut Storbergets magnum opus &lt;i&gt;&lt;a href="http://www.regjeringen.no/nb/dep/jd/aktuelt/taler_og_artikler/ministeren/justisminister_knut_storberget/2010/Vi-styrker-personvernet.html?id=629739"&gt;Vi styrker personvernet&lt;/a&gt;&lt;/i&gt; nå, og husk på å lagre det, slik at det bevares for ettertiden.  &lt;br /&gt;&lt;br /&gt;Når vi pålegger operatører som Telenor, Netcom og andre å lagre trafikkdata, så &lt;i&gt;styrker&lt;/i&gt; dette personvernet, sies det. &lt;br /&gt;&lt;br /&gt;Trafikkdata handler i praksis om hvem du snakker med.  For de av oss som går rundt med mobiltelefon hele tiden, vil trafikkdataene også vise hvor vi har oppholdt oss på et gitt tidspunkt.  Vanligvis ikke med samme nøyaktighet som GPS-sporingen i mobiltelefonen, men nøyaktig nok til at posisjonsdata fra telenettet allerede har vært brukt som bevis i straffesaker.&lt;br /&gt;&lt;br /&gt;I dag logger og lagrer teleoperatører og internett-tilbydere de dataene som er interessante for faktureringsformål eller som gir saklig grunnlag for teknisk drift, vedlikehold og planlegging.  Og i alle sammenhenger jeg er involvert, så kaller vi dette for nettopp &lt;i&gt;overvåking&lt;/i&gt;.  Datamaskiner er nemlig uhyre godt egnet til å ta unna arbeid som mennesker ville blitt anstrengt av å utføre.  Og i sammenhenger som å sørge for at kunder blir fakturert for rett mengde trafikk, se utvikling over tid i for eksempel overført volum, teknisk diagnosearbeid på utstyr (for eksempel for å se hvordan det oppfører seg under stor last) og planlegging av endringer er slik overvåking faktisk både nødvendig og nyttig.  &lt;br /&gt;&lt;br /&gt;Men når fakturaene er betalt og analysene sluttført, er det ingen saklig grunn til å beholde dataene, og de blir slettet.  Summer i regnskap og samleverdier for teknisk tilstand er alt vi trenger.  Rådata overlates ikke til uvedkommende.&lt;br /&gt;&lt;br /&gt;Men justisministeren liker altså ikke at vi kaller dette for overvåking, og jeg er glad vi får denne invitten til å være behjelpelige med å finne et mer presist uttrykk.  Mitt forslag er, i all beskjedenhet:&lt;br /&gt;&lt;br /&gt;&lt;i&gt;brev- og besøkskontroll for hele folket&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Dette er betydelig mer presist enn det noe ulne "overvåking", og vi oppnår samtidig å ta livet av forestillingen om at &lt;i&gt;"Internett"&lt;/i&gt; er noe som eksisterer separat fra samfunnet.  Det har nemlig aldri vært slik at datamaskiner og kommunikasjonen mellom datamaskinbrukere var noe som eksisterte utenfor samfunnet eller utenfor lovene vi må forholde oss til.  I Norge har en helt dominerende del av befolkningen nettopp Internett som hovedkanal for kontakt med slekt, venner, kolleger og de fleste samfunnsfunksjoner.  &lt;br /&gt;&lt;br /&gt;Når alle våre trafikkdata blir registert og sammenholdt, blir vi i praksis utsatt for en grad av kontroll som ikke skiller seg vesentlig fra det vi ilegger vareteksfanger -- altså personer som holdes i forvaring på grunn av klar mistanke om straffbare forhold -- som &lt;i&gt;skjerpende&lt;/i&gt; tiltak når det er fare for bevisforspillelse under etterforskning.&lt;br /&gt;&lt;br /&gt;Jeg vil oppfordre justisministeren og andre debattanter til å ta fatt i dette terminologiskiftet. Først når vi diskuterer datalagringsdirektivet som innføring av &lt;i&gt;elektronisk brev- og besøkskontroll&lt;/i&gt; har vi tatt steget over i en edruelig debatt med virkelighetsbasert terminologi.&lt;br /&gt;&lt;br /&gt;Så får vi heller komme tilbake til de klart uttrykte ambisjonene om å lagre innholdet i kommunikasjonen senere, om historien faktisk gjentar seg som en tragedie.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;Oppdatering 1:&lt;/b&gt; Petter Reinholdtsen minte meg på et interessant datapunkt: I Danmark, der EUs datalagringsdirektiv allerede er innbakt i lovverket, blir det lagret gjennomsnittlig &lt;i&gt;mer enn åtti tusen&lt;/i&gt; dataelementer per danske per år som følge av datalagringsdirektivet.  En opplysende artikkel finnes i norske &lt;b&gt;Digi.no&lt;/b&gt;: &lt;i&gt;&lt;a href="http://www.digi.no/858801/lagrer-82-000-dld-poster-per-danske-i-aar"&gt;Lagrer 82 000 DLD-poster per danske i år&lt;/a&gt;&lt;/i&gt;. Vel verd å lese for interesserte.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-4732183249819421650?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/4732183249819421650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/12/ikke-styrket-personvern-men-brev-og.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4732183249819421650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4732183249819421650'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/12/ikke-styrket-personvern-men-brev-og.html' title='Ikke styrket personvern, men brev- og besøkskontroll for hele folket [.NO]'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-4685746834133593190</id><published>2010-12-23T21:08:00.006+01:00</published><updated>2010-12-23T22:53:28.640+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='demokrati'/><category scheme='http://www.blogger.com/atom/ns#' term='politistat'/><category scheme='http://www.blogger.com/atom/ns#' term='Datalagringsdirektivet'/><category scheme='http://www.blogger.com/atom/ns#' term='totalovervåking'/><category scheme='http://www.blogger.com/atom/ns#' term='arbeiderpartiet'/><title type='text'>Du er en forbryter eller et virus, så Arbeiderpartiet vil overvåke alle, hele tiden</title><content type='html'>&lt;i&gt;Er du ikke forbryter, kommer du til å bli det.  Og vi vet at du kommer til å begå overgrep mot barn, mener Arbeiderpartiet.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;[This post is in Norwegian only. I'll be back with the regular more-or-less-ordinary geekery for my international friends later.]&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;Hovedoppslaget på NRK1 Dagsrevyen 23. desember 2010 dreide seg i følge annonseringen om 'manglende tiltak mot spredning av overgrepsbilder på Internett'.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;"Både politiet og internettselskapene kjenner til metoden for å begrense flyten av overgrepsbilder på nett. Men de tar den ikke i bruk."&lt;/i&gt;&lt;font size="small"&gt;&lt;sup&gt;1)&lt;/font&gt;&lt;/sup&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Metoden de henviser til, er om vi tolker innslaget rett, å bruke samme metoder som man bruker i antivirus-systemer til å identifisere og stoppe overgrepsbilder.  Som politisk propaganda for totalovervåking og som reklame for Norman Antivirus fungerte dette reklameinnslaget kanskje bra, men det er verd å påpeke en del åpenbare tekniske og samfunnsmessige svakheter.&lt;br /&gt;&lt;br /&gt;Den teknologien som blir omtalt i innslaget, går enkelt sagt ut på å generere en 'signatur' for hvert virus. Dette gjør man typisk ved å utføre en serie beregninger på innholdet og dermed få en slags avansert tverrsum.  Denne tverrsummen eller signaturen kan sin tur med stor grad av sikkerhet (men aldri absolutt) kan brukes til å identifisere nye forekomster av de samme dataene.  Dersom en ny datamengde eller fil som blir utsatt for beregningene gir samme resultat som en tidligere kjent fil, så er det med overveiende sannynlighet snakk om identiske data, eller samme fil.&lt;br /&gt;&lt;br /&gt;Dette er teknikken som antivirusprodukter har brukt i mer enn 20 år, og et typisk antivirusprodukt i dag gjør stadige oppslag mot lister på flere hundre tusen signaturer.&lt;br /&gt;&lt;br /&gt;Så langt alt vel, dette er kjent teknologi.  Det reportasjen nokså beleilig unnlot å nevne, er at signatur-teknikken fungerer bare når det er tale om identiske data.  Virusfirmaer som Norman vet smertelig vel at det trengs bare en triviell endring, for eksempel å endre et enkelt tegn i en del av viruset som ikke har direkte innvirkning på hvordan det kjører, så slipper det nå 'muterte' viruset forbi filtreringen, siden innholdet skiller seg fra det som allerede er kjent.&lt;br /&gt;&lt;br /&gt;Resultatet er velkjent: Jo flere påfunn de slemme kommer med og jo flere nye varianter som dukker opp, jo flere signaturer må vi sjekke mot.  Et typisk antivirus-sysmem (&lt;a href="http://www.clamav.net/lang/en/"&gt;Clam Antivirus&lt;/a&gt;) har til sammen i sine databaser vel 1,25 millioner signaturer.&lt;br /&gt;&lt;br /&gt;Om man bruker den samme tilnærmingen på bilder, vil det være tilstrekkelig å justere fargepalett eller gjøre en enkel beskjæring slik at formen på bildeflaten endres, så vil bildet passere.  For video vil helt ubetydelige redigeringer som å fjerne eller flytte rundt på noen utvalgte øyeblikk i en sekvens være tilstrekkelig.  Og siden den nødvendige manipuleringen av et bilde er betydelig enklere å gjøre enn programmeringsgrepene som må til for å gjøre endringer i et virus, må vi anta at antallet signaturer vil vokse betydelig fortere enn det tilsvarende antallet signaturer for skadelig programvare.&lt;br /&gt;&lt;br /&gt;Så lenge dette dreier seg om filer man finner under beslag hos mistenkte, er antakelig dette likevel et håndterlig problem. Filer med ukjent innhold kan man sjekke manuelt. &lt;br /&gt;&lt;br /&gt;Noe mer interessant blir det når Inger-Marie Sunde argumenterer for at "politiet og internetttilbyderne med loven i hånden kan filtrere folks datatrafikk".  I klartekst betyr dette at Inger-Marie Sunde endelig sier offentlig og i klartekst det vi lenge har ant hun mente, nemlig at totalovervåking av oss alle, med fullstendig innholdsfiltrering av all datatrafikk er både ønskelig og nødvendig.  I innslaget brukte hun til overmål formuleringer som at 'staten har plikt til' kontrollere innholdet i internett-trafikk.&lt;br /&gt;&lt;br /&gt;Det bør heller ikke være noen stor overraskelse at vår justisminister Storberget avslutningsvis så ut til å omfavne dette påståtte behovet for innholdsfiltrering av all kommunikasjon i befolkningen som argument for sin aktuelle hjertesak: innføring av datalagringsdirektivet.&lt;br /&gt;&lt;br /&gt;Så om det noen gang har vært grunn til å tvile på det, er det nå helt klart:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;i&gt;Arbeiderpartiet mener du er forbryter eller kommer til å bli det.&lt;br /&gt;   Derfor skal du overvåkes, hele tiden.&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;At det også kan oppleves som plagsomt for et parti som regner seg som statsbærende å ikke ha fullt innsyn i hva opposisjonen holder på med, kan vi levende tenke oss.  For de av oss som har blitt satt under overvåking kun med bakgrunn i politiske standpunkter&lt;sup&gt;&lt;font size="small"&gt;2)&lt;/font&gt;&lt;/sup&gt; er det blitt stadig mer interessant å vite om det fortsatt finnes politikere som har et snev av demokratisk sinnelag.  Arbeiderpartiet er med dette varig diskvalifisert.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;b&gt;Noter&lt;/b&gt;:&lt;br /&gt;&lt;a name="note1"&gt;1)&lt;/a&gt; Tatt fra tekstutgaven av innslaget, &lt;a href="http://www.nrk.no/nyheter/norge/1.7438572"&gt;http://www.nrk.no/nyheter/norge/1.7438572&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="note2"&gt;2)&lt;/a&gt; Første halvår 1985 var jeg som nyvalgt tillitsmann for sivilarbeiderne i mitt fylke litt overrasket over at det som regel tok flere sekunder med spolelyder før summetonen dukket opp når jeg skulle ringe.  Og til de som kom med de litt pussige sidekommentarene: &lt;i&gt;vi hørte dere&lt;/i&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-4685746834133593190?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/4685746834133593190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/12/du-er-en-forbryter-eller-et-virus-sa.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4685746834133593190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4685746834133593190'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/12/du-er-en-forbryter-eller-et-virus-sa.html' title='Du er en forbryter eller et virus, så Arbeiderpartiet vil overvåke alle, hele tiden'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8583706431269200886</id><published>2010-11-09T17:11:00.007+01:00</published><updated>2010-11-10T17:14:10.047+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='PF'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><title type='text'>The Book of PF, 2nd ed: It's Here!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kOeLY9p2h0/TNlzrJBdUuI/AAAAAAAAAEQ/dolSXiL9444/s1600/peter_with_pf2_crop_wide.jpg"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 116px;" src="http://1.bp.blogspot.com/_7kOeLY9p2h0/TNlzrJBdUuI/AAAAAAAAAEQ/dolSXiL9444/s200/peter_with_pf2_crop_wide.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5537584401822339810" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Yes, it's that time of the year again -- we missed both Halloween and the &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; 4.8 release, but hot on the heels of both, here it is:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nostarch.com/pf2.htm"&gt;The Book of PF, 2nd Edition&lt;/a&gt; is here, a box of author's copies turned up here just after lunchtime, and were taken well care of by Nora and Birthe.&lt;br /&gt;&lt;br /&gt;This means, of course, that those of you who preordered will be receiving your copies shortly (mod the usual factors eloquently described by Michael Lucas &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=105723966516199&amp;w=2"&gt;here&lt;/a&gt;, the printer in my case is in Louiseville, Quebec), those who have reason to expect copies from my hoard here can rest assured that I'm taking them to the post office right after this. There's an illegible scrawl on some early pages, sorry 'bout that.&lt;br /&gt;&lt;br /&gt;Better bookstores online and elsewhere will have it, or you could make it part of a bundle by ordering from the &lt;a href="https://https.openbsd.org/cgi-bin/order"&gt;OpenBSD orders&lt;/a&gt; page. You &lt;span style="font-style:italic;"&gt;will&lt;/span&gt; be going there for your six monthly fix anyway, won't you?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Upcoming events&lt;/span&gt;: The plans are not fixed yet, but you should expect me to turn up at BSD-themed events over the next few months.  Look for announcements here, &lt;a href="http://twitter.com/pitrh"&gt;tweeted&lt;/a&gt;, or via the usual mailing lists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8583706431269200886?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8583706431269200886/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/11/book-of-pf-2nd-ed-its-here.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8583706431269200886'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8583706431269200886'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/11/book-of-pf-2nd-ed-its-here.html' title='The Book of PF, 2nd ed: It&apos;s Here!'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7kOeLY9p2h0/TNlzrJBdUuI/AAAAAAAAAEQ/dolSXiL9444/s72-c/peter_with_pf2_crop_wide.jpg' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-7309379485306981449</id><published>2010-10-24T22:58:00.003+02:00</published><updated>2010-10-24T23:21:37.046+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='secure upgrades'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD installer'/><category scheme='http://www.blogger.com/atom/ns#' term='boot sector exploits'/><title type='text'>If It Runs OpenBSD, It Has To Be Important</title><content type='html'>&lt;i&gt;If we are starting to see targeted attacks on &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; systems, the world has become more interesting.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A lazy Sunday turned a tad more interesting when Dragos Rui, a person usually involved in high-quality security work (or somebody with access to his twitter account) tweeted this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;i&gt;Analysis of recently deleted data on compromised server has turned up an OpenBSD boot sector trojan worm? Volunteer deconstuctors?&lt;/i&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;There have been no further updates as of this writing, and without access to the actual files in question, we can not offer any real meat on the actual payload, so any preliminary conclusions will be uncertain at best.  But it is possible to come up with a threat assessment based on general knowledge of what it would take for a boot sector based OpenBSD exploit to make it into the wild.&lt;br /&gt;&lt;br /&gt;OpenBSD is used in a wide range of environments (see the &lt;a href="http://www.openbsd.org/users.html"&gt;OpenBSD at work&lt;/a&gt; page for some examples, the list is by no means exhaustive), and since it is commonly perceived to be one of the most secure general-purpose operating systems available, it should be no surprise to find OpenBSD systems in mission critical roles.  &lt;br /&gt;&lt;br /&gt;So the motive for trying to forge a way in, past a system that is generally considered trustworthy, is obvious.  If you hit the right targets, the potential payoff could be huge. &lt;br /&gt;&lt;br /&gt;Then it becomes interesting to consider how you would go about to compromise a system running OpenBSD.  If we leave aside social engineering such as bribing the sysadmin or stealing the passwords database for the moment, the traditional, and obvious, way to compromise a system is to find an exploitable, unpatched bug and use that to take control of the system.  &lt;br /&gt;&lt;br /&gt;The OpenBSD source tree available to the world (in fact, OpenBSD was the first project to make its CVS repository available via anonymous read-only CVS), but writable only by small group of developers.  The developers tend to concentrate on the in-development &lt;tt&gt;-current&lt;/tt&gt; but they do produce a small number of patches to the released version that become available via the &lt;a href="http://www.openbsd.org/errata.html"&gt;patches&lt;/a&gt; page.  If you want to study the OpenBSD development process more closely, there are a number of good articles and presentationas available via &lt;a href="http://www.openbsd.org/papers/"&gt;this page&lt;/a&gt;, but the important message is that insisting on code &lt;i&gt;correctness&lt;/i&gt; and continuous code &lt;i&gt;audits&lt;/i&gt; have yielded quite solid results.  Exploiting any bugs you would be lucky enough to find in OpenBSD is harder than elsewhere.&lt;br /&gt;&lt;br /&gt;But apart from patches to &lt;tt&gt;-stable&lt;/tt&gt;, OpenBSD users usually do not update their systems by recompiling source.  Neither do we usually run automatic system upgrades via an upgrade service.  For packages, &lt;tt&gt;$ sudo pkg_add -u&lt;/tt&gt; (assuming your &lt;tt&gt;PKG_PATH&lt;/tt&gt; is set to something sensible) provides binary upgrades.  For base system upgrades (the only time the boot sector code is likely to be updated), we tend to run the installer in upgrade mode and point it to a set of known good file sets.  If the installer finds that a file set does not match the expected SHA256 checksum, it will warn you in no uncertain terms.  The same messages will turn up if you, like me, tend to install snapshots on at least some systems as they become available, but sometimes forget to copy the correct &lt;tt&gt;bsd.rd&lt;/tt&gt; into the right place.&lt;br /&gt;&lt;br /&gt;The lesson here is that to taint an OpenBSD system, your most likely way in would be to replace a full set of installation files on your likely target's usual mirror, complete with checksums that makes the installer report your modified file sets as genuine.  This has two obvious implications: one, you should never install anything on a mission critical system unless you find identical files on several different mirrors, and you should make sure that checksums from one mirror match the files on another.  Watching the errata page for the release you are running is a good idea, too, of course.&lt;br /&gt;&lt;br /&gt;This gives the proper context to the suspected exploit Dragos reported.  The suspect still has some interesting properties.  The boot sector code is very small and any changes would be relatively easy to spot once the system is running, but the code there runs early in the boot process and is there mainly to fetch other code that makes sure the system boots.  The only useful modification here for an attacker would be to modify the boot loader code to load something that replaces the OpenBSD kernel and performs actions whatever the attacker wants.&lt;br /&gt;&lt;br /&gt;The result of modifying the early stage boot code would more than likely be a trashed system unable to boot, but an appropriately skilled attacker who managed to insert code in the right places &lt;i&gt;might&lt;/i&gt; be able to pass off a subtly modified system as a genuine one and keep it running for long enough to matter.  That's why it will be very interesting to hear whatever real information becomes available about this suspected OpenBSD-targeting attempt.&lt;br /&gt;&lt;br /&gt;If we are starting to see attack attempts specifically targeting OpenBSD systems, it could be an indication that at least some criminals have achieved a level of skill, or at least reached a new level of ambition.  I have a strong feeling that the OpenBSD developers' efforts have paid off and creating a workable exploit will be very hard, but in the meantime, &lt;i&gt;now is not the time to be slacking, even if all you critical system run OpenBSD&lt;/i&gt;. But you have a head start.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;If you are curious about the status of the &lt;a href="http://nostarch.com/pf2.htm"&gt;The Book of PF, second edition&lt;/a&gt;, preorders have started, and a PDF version is available right away. Physical copies will start shipping as soon as they exist, likely around November 10th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-7309379485306981449?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/7309379485306981449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/10/if-it-runs-openbsd-it-has-to-be.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7309379485306981449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7309379485306981449'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/10/if-it-runs-openbsd-it-has-to-be.html' title='If It Runs OpenBSD, It Has To Be Important'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5004528339207922188</id><published>2010-10-10T20:52:00.006+02:00</published><updated>2010-10-10T23:43:03.435+02:00</updated><title type='text'>EuroBSDCon 2010: The Finest Software Tool Is Alive And Well</title><content type='html'>&lt;span style="font-style:italic;"&gt;From mainframe replacements to firewall appliances, the BSD family of systems is a toolbox flexible enough to baffle insiders and newbies alike. &lt;a href="http://2010.eurobsdcon.org/"&gt;EuroBSDCon 2010&lt;/a&gt; was good fun.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I arrived in Karlsruhe on Thursday night, and ran into Erwin Lansing, Mark Linimon and a few other FreeBSD devsummit attendees at the perfect moment to tag along to dinner at a sort-of-greek place. Forgettable food, but fortunately the dark beer was quite drinkable and the various FreeBSDers made for good company.&lt;br /&gt;&lt;br /&gt;Then up relatively early on the Friday. My own path through the conference started with the by now fairly familiar PF tutorial, which as you may be aware, is a close relative of &lt;a href="nostarch.com/pf2.htm"&gt;The Book of PF&lt;/a&gt;, really soon now out in its second edition. Off the top of my head I'm not sure how many times I've given some version of the PF tutorial, but &lt;a href="http://www.bsd-dk.dk/"&gt;BSD-DK&lt;/a&gt; members will find that this edition of the &lt;a href="http://home.nuug.no/~peter/pf/eurobsdcon2010/"&gt;slides&lt;/a&gt; borrows heavily from the somewhat swifter paced introduction they saw in Copenhagen this August.&lt;br /&gt;&lt;br /&gt;Among my seven attendees were several who had hoped to be able to catch early copies of The Book of PF, second edition, which I had strongly hinted in the tutorial description would be available by now.&lt;br /&gt;&lt;br /&gt;That did not happen, unfortunately, but it's getting very close -- last week entering final-really-final corrections to the index and the laid out book itself took up a good part of my non-office time, and the last word from my contact at No Starch was that the complete and final PDF would land in my inbox for final approval before going to the printers.  &lt;a href="http://www.amazon.com/Book-PF-No-Nonsense-OpenBSD-Firewall/dp/159327274X/"&gt;Amazon.com&lt;/a&gt; now lists a likely delivery date of November 15th, which I for one think is a rather realistic guesstimate.&lt;br /&gt;&lt;br /&gt;The tutorial went roughly as expected, unfortunately without live demos (demo equipment has a tendency to break badly during air transport or soon afterwards just in time muck up your presentation), and produced just enough good questions that it's likely useful to keep up the effort to maintain the tutorial. Slides are available from roughly where you would expect them.&lt;br /&gt;&lt;br /&gt;After the session I ran into Thordur Bjornson (thib@) in the bar-cum-waiting area downstairs at the hotel, waiting for various other OpenBSD developers to arrive.  This year's conference had a pleasantly larger than usual number of OpenBSD topics on the program, with some rather interesting talks scheduled for the first day. After a few beers we had reached critical mass with the arrival of among others Theo (deraadt@), Henning Brauer (henning@) and Felix Kronlage (fkr@) we found food and beer at a conveniently local eatery.  Then back to the hotel bar for (slightly better) beer and mingling with arriving conference attendees and organizers.&lt;br /&gt;&lt;br /&gt;The conference proper started on the Saturday with a "Software tools" themed keynote by Poul-Henning Kamp.  PHK is always witty and fun to listen to, and he took us through a number of fresh perspectives on how, even though the world has changed dramatically in several ways and the BSDs still manage to kick ass, we need to keep up the effort to stay relevant.&lt;br /&gt;&lt;br /&gt;FreeBSD jails have been a major attraction for quite a while, and I took in the two back to back jails talks by Bjoern A. Zeeb and james Britton.  Both talks were fun refreshers on jails, with each presenting a preview of what may turn up in FreeBSD 9 jails code, plus of course tidbits like Bjoern's anectdote about setting up a million jails on the same physical server.&lt;br /&gt;&lt;br /&gt;I was intending to attend thib@ and oga@'s OpenBSD on large memory systems talk, but was unfortunately diverted into a meeting that lead to me becoming slightly more involved in future EuroBSDCons. More details on that at a later time, the meeting ran for long enough that the next talk I &lt;i&gt;did&lt;/i&gt; catch was reyk@'s &lt;tt&gt;iked(8)&lt;/tt&gt; talk.&lt;br /&gt;&lt;br /&gt;If you're on OpenBSD 4.8 or newer, &lt;tt&gt;man iked&lt;/tt&gt; will give you the full story.  If you're not that fortunate, it's nice to know that OpenBSD 4.8 gives you a new key exchange daemon for IPsec, up to date with the latest versions of all relevant protocols and able to handle all the nasty little details for IPsec communication with operating systems this column would rather not mention.  A good talk about a very useful program, and during the questions part, Theo de Raadt pulled out OpenBSD 4.8 CD sets for attendees who had not already preordered to buy.  It's almost a month until the official release date, but the CDs do exist and are likely on their way to early preorderers.&lt;br /&gt;&lt;br /&gt;Henning's talk about the state of the OpenBSD networking code was good fun and to the point as always.  No shocking new revelations for those who have followed the subject closely like yours truly, but do look out for this talk's slides when it hits the &lt;a href="http://www.openbsd.org/papers/"&gt;openbsd.org papers section&lt;/a&gt; along with the other EuroBSDCon 2010 presentations, hopefully soon.&lt;br /&gt;&lt;br /&gt;The social event was conveniently placed in the hotel restaurant and bar area, where something called "Phönix Disco" had set up their equipment, including earth mover size speakers and a mirror ball hanging from the ceiling.  Inbetween the dining noises and music, techie talk (at my table, OpenBSD internals, with a helping of ACPI insanities) could be heard.  At some point they turned on their laser strobes, which made me queasy enough that I retired to my room soon enough to be in reasonable shape for the early Sunday morning sessions.&lt;br /&gt;&lt;br /&gt;The 09:15 sessions on the Sunday offered a choice between Dru Lavigne's BSD Certification talk (highly recommended for your next event if you haven't taken it in already, she not only writes well, she's a brilliant presenter as well), and "Hacking NanoBSD for fun and profit" by Patrick Hausen, who has twisted the NanoBSD setup (originally intended for tiny machines) to serve as a basis for maintaining a hosting environment consisting mainly of regular-sized and capable servers.  I'm already quite familiar with the bsdcertification.org efforts (and I recommend getting involved if you aren't already), so I decided to try Patrick's talk which turned out to be very enjoyable and presented some good ideas that could very well be carried over to other BSDs.&lt;br /&gt;&lt;br /&gt;One other interesting talk that morning was Hans-Martin Rasch's "From Mainframe to FreeBSD", chronicling the gradual and successful migration by a subscriptions and mass mailings company from their legacy mainframe based system to an all-FreeBSD setup, of course shedding costs in the pretty serious range along the way.&lt;br /&gt;&lt;br /&gt;The next time slots had a "Quo vadis ZFS" talk by Martin Matuska, that fortunately contained not the usual "see how great ZFS is" but rather focused on the challenges involved in using ZFS code, technical and legal as things stand today.  The FreeBSD project seems to have concluded that the way ZFS is included in their code base does not pose legal problems in itself, but there could be other submarine issues.  Apparently the NetApp vs Sun patent suit had ended with one patent invalidated and a settlement whose terms were not disclosed plus the remaining two patents under reexamination.  Two unresolved patent issues would be enough to scare &lt;i&gt;me&lt;/i&gt; off, but then again the ZFS feature set &lt;i&gt;is&lt;/i&gt; perhaps too tempting to not take a few risks for.&lt;br /&gt;&lt;br /&gt;Next up were espie@'s back to back talks about the *amazing* work he's been doing with OpenBSD packages.  Before lunch, "the long road to pkg_add -u ... and beyond" which took us through the background and the design choices and evolution that took us to the point where upgrading your packages with &lt;tt&gt;pkg_add -u&lt;/tt&gt; can be reliably expected to work.  All I can say is that it was an excellent presentation about top-notch work that has made the life of OpenBSD users everywhere a lot better.  The after lunch part, "efficient distributed package builds in OpenBSD" took us to the slightly more esoteric part of the world that contains the magic that makes sure the binary packages you expect to have at the other end of your &lt;tt&gt;pkg_add&lt;/tt&gt; command actually exist.  Another very enlightening talk, and this set of talks was certainly my favorite at this conference.&lt;br /&gt;&lt;br /&gt;For further information on the topics mentioned in this column, the EuroBSDCon web site is the natural place to start.  The OpenBSD developers' presentations will appear in the &lt;a href="http://www.openbsd.org/papers/"&gt;papers section&lt;/a&gt; of the OpenBSD web site, while &lt;a href="http://home.nuug.no/~peter/pf/eurobsdcon2010/"&gt;my slides&lt;/a&gt;, as usual are available from the &lt;a href="http://www.nuug.no/"&gt;NUUG&lt;/a&gt; site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5004528339207922188?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5004528339207922188/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/10/eurobsdcon-2010-finest-software-tool-is.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5004528339207922188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5004528339207922188'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/10/eurobsdcon-2010-finest-software-tool-is.html' title='EuroBSDCon 2010: The Finest Software Tool Is Alive And Well'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8854731145281564542</id><published>2010-01-03T20:30:00.019+01:00</published><updated>2010-01-03T23:18:22.550+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows refund'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD installer'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><title type='text'>The Goodness of Men and Machinery</title><content type='html'>&lt;i&gt;If you keep them to their promises, what will corporations and individuals do? Plus, the general goodness of &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; and its installer.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Happy new year, everyone!&lt;br /&gt;&lt;br /&gt;As I write this, 2010 is still quite new, and I'm writing this on a new laptop, running, of course, &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;.  I've been mostly quite happy with the ThinkPad R60 that has served me since late 2006, but a while back the fan started giving off ugly noises and the organization nominally in charge of doing Lenovo repairs in my area seemed quite uninterested in actually doing repairs on the unit.&lt;br /&gt;&lt;br /&gt;So after the usual browsing of web shops I ended up going for a simpler ThinkPad, the SL500 model.  From the looks of it, the machine would be a tad faster and support more physical memory than the one I had already, and most likely the newer Intel processor would support running in true 64-bit (amd64) mode.&lt;br /&gt;&lt;br /&gt;Click the buttons, whip out the credit card and away we go.  Of course, the next day the repair shop turned called in to say that they could in fact get that fan repair done after all.  So now I had a once-more-silent and oldish but working machine and a new one on the way.&lt;br /&gt;&lt;br /&gt;The new one would come with Microsoft Windows XP preinstalled, Vista Business recovery media and an option to upgrade to Windows 7.  I certainly did not want any of those.  I make my living in free software consulting, with a bit of promoting and training thrown in and could credibly be denoted part of the competition.  &lt;a href="http://www.microsoft.com/windowsxp/eula/home.mspx"&gt;Microsoft's End User License Agreement&lt;/a&gt; in most of its incarnations (there are several) promises a full refund if you find their licensing terms unacceptable.&lt;br /&gt;&lt;br /&gt;So with a minimal delay I fired off &lt;a href="http://www.bsdly.net/%7Epeter/microsoft-refusjon.txt"&gt;an email&lt;/a&gt; (sorry, Norwegian only) to what I thought was the right addresses at the retailer, saying essentially that I would want to arrange for the return of the software, in accordance with Microsoft's standard contract terms.&lt;br /&gt;&lt;br /&gt;After all, we had heard of successes such as &lt;a href="http://macslow.net/?p=148"&gt;MacSlow&lt;/a&gt; in Germany and Poul-Henning Kamp's (of FreeBSD fame) &lt;a href="http://phk.freebsd.dk/MicrosoftSkat/"&gt;slow but steady progress&lt;/a&gt;, also involving Lenovo hardware.&lt;br /&gt;&lt;br /&gt;I expected that the response would be either that they have a process set up to make a symbolic refund, or they would refuse, saying that the software and the hardware are inseparable parts of the product, no matter what the clickwrap screen says.&lt;br /&gt;&lt;br /&gt;Their actual response was mostly the latter, but with the twist that 'we do not get refunds for this from the manufacturer'.  Distinctly odd, if you ask me, but I suppose we will find out more once people with actual decision making power are back after the holidays.&lt;br /&gt;&lt;br /&gt;So no other alternative than start establishing the facts of the matter, that is, wait for the package to turn up and see what the clickwrap screen actually says.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Windows Refund Norway: The Fact Finding Mission&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;The package arrived this Saturday, and after the outer wrapping came off, sure enough there was a warning on the outside of the box:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0C899lPqjI/AAAAAAAAABg/4yN_3AXiUt8/s1600-h/00_box_sticker.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 149px;" src="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0C899lPqjI/AAAAAAAAABg/4yN_3AXiUt8/s400/00_box_sticker.png" alt="" id="BLOGGER_PHOTO_ID_5422541724042897970" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That was pretty much as expected, so I continued unpacking.&lt;br /&gt;&lt;br /&gt;Plugging in and turning on gave me this screen:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DCE5CSi0I/AAAAAAAAABo/kQXcStvp6QY/s1600-h/01_initial_screen_xp.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DCE5CSi0I/AAAAAAAAABo/kQXcStvp6QY/s400/01_initial_screen_xp.png" alt="" id="BLOGGER_PHOTO_ID_5422547340639767362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That eventually segued into&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DDbaXhjqI/AAAAAAAAABw/CxGhfEne4jk/s1600-h/02_waiting_preparing.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 300px;" src="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DDbaXhjqI/AAAAAAAAABw/CxGhfEne4jk/s400/02_waiting_preparing.jpg" alt="" id="BLOGGER_PHOTO_ID_5422548827055951522" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;('please wait while Windows is preparing for startup') and proceeded through a few more largely information-free screenfuls up to the the point where you choose your location.&lt;br /&gt;&lt;br /&gt;That choice likely serves several purposes. It's useful for choosing user interface languages as well as the legal terms for using the software or not, so I proceeded.&lt;br /&gt;&lt;br /&gt;Finally, the Microsoft End User Agreement, Norwegian version, started to appear, in a miniature text box that needed several scrolling motions to reveal much of anything:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DFaVz6XmI/AAAAAAAAAB4/xICkECwNJpE/s1600-h/06_eula00.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 129px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DFaVz6XmI/AAAAAAAAAB4/xICkECwNJpE/s400/06_eula00.jpg" alt="" id="BLOGGER_PHOTO_ID_5422551007676227170" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DFzuc6z-I/AAAAAAAAACA/3RLoUfaB16U/s1600-h/07_eula01.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 130px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DFzuc6z-I/AAAAAAAAACA/3RLoUfaB16U/s400/07_eula01.jpg" alt="" id="BLOGGER_PHOTO_ID_5422551443787403234" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DFzy2eulI/AAAAAAAAACI/wevatCPweIw/s1600-h/08_eula02.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 132px;" src="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DFzy2eulI/AAAAAAAAACI/wevatCPweIw/s400/08_eula02.jpg" alt="" id="BLOGGER_PHOTO_ID_5422551444968356434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;It would take only a minimal dose of negativity to suspect that these screens were in fact designed to make the user just click agreement without ever reading the full text.  But taken together, these screenfuls gave me all the information I needed. &lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;Microsoft promises a refund if you find their license terms unacceptable, but farms out the responsibility for the refund to the &lt;span style="font-weight: bold;"&gt;manufacturer&lt;/span&gt;, not the retailer.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;So I had been barking up the wrong tree after all.  Fortunately, in the meantime my friends at &lt;a href="http://www.nuug.no/"&gt;NUUG&lt;/a&gt; offered some good advice on how to proceed, and I will likely be offering updates on &lt;span style="font-style: italic;"&gt;"Windows Refund, Norwegian version"&lt;/span&gt; as the tale progresses.&lt;br /&gt;&lt;br /&gt;The promise of a refund has clearly been made. I suspect that with a sufficiently staffed legal team, playing a symbolic blame game over who should honor that promise is enough of a deterrent to the average end user, if they do not just go away after the initial rejection.&lt;br /&gt;&lt;br /&gt;The fact-finding mission complete, it was time to try installing &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;. If you are not at all interested in OpenBSD, you can scroll to the end of the article for more on the Windows refund and legalities part.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;The Further Adventures of the OpenBSD Installer&lt;/span&gt;&lt;br /&gt;The OpenBSD installer has a somewhat ugly reputation, as witnessed by &lt;a href="http://blogs.techrepublic.com.com/opensource/?p=1123"&gt;this recent article&lt;/a&gt; over at TechRepublic.  In all fairness, some years back one of the developers was quoted as saying about the installer, &lt;span style="font-style: italic;"&gt;"it was never released, it just kind of escaped"&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;But things have change since then, to the point that I was wondering just which version of OpenBSD Mr. Wallen had tried to get running on his hardware, nevermind that he seems totally unaware of the automatization features you can exploit by simply adding &lt;tt&gt;hostnameVv.tgz&lt;/tt&gt; or &lt;tt&gt;siteVv.tgz&lt;/tt&gt; (Vv being Major.minor version numbers) file sets to your install media.&lt;br /&gt;&lt;br /&gt;The following sequence shows you what it really looks like, with my most sincere apologies for my near-total lack of photography skills.&lt;br /&gt;&lt;br /&gt;Booting from the CD image from the latest amd64 snapshot, my first screenful was&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DKj0Y0e8I/AAAAAAAAACQ/3Bh63KW7Z2U/s1600-h/09_initial_openbsd.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 92px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DKj0Y0e8I/AAAAAAAAACQ/3Bh63KW7Z2U/s400/09_initial_openbsd.jpg" alt="" id="BLOGGER_PHOTO_ID_5422556668061055938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;This proceeds through what we 'greybacks' recognize as kernel messages that scroll of the screen rather rapidly (dmesg output of the installed system is available &lt;a href="http://www.bsdly.net/%7Epeter/dmesg-deeperthought.txt"&gt;here&lt;/a&gt;), ending with a menu of possible actions:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DLtfKSFOI/AAAAAAAAACY/4ZdlMkN7G9E/s1600-h/10_openbsd_installer_menu.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 249px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DLtfKSFOI/AAAAAAAAACY/4ZdlMkN7G9E/s400/10_openbsd_installer_menu.jpg" alt="" id="BLOGGER_PHOTO_ID_5422557933673256162" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Choosing &lt;tt&gt;(I)nstall&lt;/tt&gt; produces an encouraging message and a prompt to choose your preferred keyboard layout:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DML8drD1I/AAAAAAAAACg/F8u8nmW-mL0/s1600-h/11_openbsd_choose_kblayout.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 138px;" src="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DML8drD1I/AAAAAAAAACg/F8u8nmW-mL0/s400/11_openbsd_choose_kblayout.jpg" alt="" id="BLOGGER_PHOTO_ID_5422558456935288658" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next up, you get to choose a hostname&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DPPAKAD6I/AAAAAAAAACo/psK2Oc3mElE/s1600-h/12_openbsd_choose_hostname.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 41px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DPPAKAD6I/AAAAAAAAACo/psK2Oc3mElE/s400/12_openbsd_choose_hostname.jpg" alt="" id="BLOGGER_PHOTO_ID_5422561808001011618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;followed by a prompt which network interfaces you want to configure.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;This is where I hit my first and only snag.&lt;/span&gt;  I had tried to do the install with only wireless networking available, and for reasons known only to &lt;a href="http://www.intel.com/"&gt;Intel&lt;/a&gt;, they have not allowed the &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; project redistribution rights to the firmware files that turn the &lt;span style="font-style: italic;"&gt;Intel WiFi Link 5100&lt;/span&gt; circuitry into a working wireless networking component.&lt;br /&gt;&lt;br /&gt;Here's what it looks like when a manufacturer chooses not to play nice with free software:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DPlSgUNaI/AAAAAAAAACw/VOkeqzXyOjg/s1600-h/13_openbsd_iwn_missing_firmware.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 261px;" src="http://4.bp.blogspot.com/_7kOeLY9p2h0/S0DPlSgUNaI/AAAAAAAAACw/VOkeqzXyOjg/s400/13_openbsd_iwn_missing_firmware.jpg" alt="" id="BLOGGER_PHOTO_ID_5422562190883567010" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Fortunately, the OpenBSD man page for the &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=iwn&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenBSD+Current&amp;amp;arch=i386&amp;amp;format=html"&gt;iwn&lt;/a&gt; driver shows you just how to fetch and install the firware via the OpenBSD package tools.  Other manufacturers have granted the OpenBSD project redistribution rights to similar firmware files needed by their products, with the result that you can perform a network install of OpenBSD directly from a typical &lt;tt&gt;bsd.rd&lt;/tt&gt; over a Ralink wireless network card (using the &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=ral&amp;amp;apropos=0&amp;amp;sektion=0&amp;amp;manpath=OpenBSD+Current&amp;amp;arch=i386&amp;amp;format=html"&gt;ral&lt;/a&gt; driver), but not over most of the wireless network cards from Intel and some other manufacturers.&lt;br /&gt;&lt;br /&gt;I was in fact prepared that this exact thing would happen, and it was time to move up to the attic where the wired Ethernets live. (Our house is an 18th century wooden building, and my sweetheart wanted no more holes drilled, certainly not to accommodate Ethernet cabling for her and others to trip over).&lt;br /&gt;&lt;br /&gt;Restarting the install with a wired Ethernet got me through the entire sequence so far inside one screenful.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DRV0tlPyI/AAAAAAAAAC4/Czkb91PN5d8/s1600-h/14_openbsd_retry_with_re.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DRV0tlPyI/AAAAAAAAAC4/Czkb91PN5d8/s400/14_openbsd_retry_with_re.jpg" alt="" id="BLOGGER_PHOTO_ID_5422564124211363618" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Once I told the installer I was done with network configuration, it naturally used all the configuration information my DHCP server had supplied:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DRn2LQjBI/AAAAAAAAADA/XAYMez5Yge8/s1600-h/15_openbsd_dhcpresult.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 58px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DRn2LQjBI/AAAAAAAAADA/XAYMez5Yge8/s400/15_openbsd_dhcpresult.png" alt="" id="BLOGGER_PHOTO_ID_5422564433841916946" border="0" /&gt;&lt;/a&gt;You can go in with manual network configuration if you want, but in my case that was not needed.&lt;br /&gt;&lt;br /&gt;Next up, your &lt;tt&gt;root&lt;/tt&gt; account will need a password, you choose to run or not run some basic services such as &lt;tt&gt;sshd&lt;/tt&gt; and &lt;tt&gt;ntpd&lt;/tt&gt;, and you can choose to add a regular user too.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DTWYiH2tI/AAAAAAAAADI/wUS4zyyj86A/s1600-h/16_openbsd_root_sshd_dialog.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 125px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DTWYiH2tI/AAAAAAAAADI/wUS4zyyj86A/s400/16_openbsd_root_sshd_dialog.jpg" alt="" id="BLOGGER_PHOTO_ID_5422566332850232018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Notice the second part of the dialogue here, where the installer notices that I added a regular user and offers to disable &lt;tt&gt;root&lt;/tt&gt; logins over &lt;tt&gt;ssh&lt;/tt&gt;, adding the regular user to the &lt;tt&gt;wheel&lt;/tt&gt; group so it's easier to add the regular user to &lt;tt&gt;sudoers&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;The installer does not edit &lt;tt&gt;sudoers&lt;/tt&gt; for you, but it's the little things like these that warms the hearts of greybacks like me.&lt;br /&gt;&lt;br /&gt;And naturally, the installer correctly guesses my time zone but offers me a prompt to change it if the guess was not the correct one.&lt;br /&gt;&lt;br /&gt;Network setup done, the installer presents the choice of disks available and asks you to specify which device will contain the root file system.  In this case my new laptop had only one usable disk, so I proceeded directly to the dreaded partitioning part.&lt;br /&gt;&lt;br /&gt;The first part here shows the disk partitioning before the OpenBSD installer touched it, with an option to either use the whole disk or edit the Master Boot Record (MBR). I did not plan to run several operating systems on this machine, at least not natively, so I opted for using the whole disk for OpenBSD instead.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DVN-K8wPI/AAAAAAAAADQ/0ZP5OFTHSik/s1600-h/19_openbsd_disklayout.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 248px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DVN-K8wPI/AAAAAAAAADQ/0ZP5OFTHSik/s400/19_openbsd_disklayout.jpg" alt="" id="BLOGGER_PHOTO_ID_5422568387358015730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;That lead to the second part, where the installer suggests a disk partitioning scheme based on typical use, with the utterly sane choice of leaving the largest part (the &lt;tt&gt;k&lt;/tt&gt; partition in this case) for user files as the &lt;tt&gt;/home&lt;/tt&gt; partition.&lt;br /&gt;&lt;br /&gt;You can edit the setup or choose your own entirely, the main point here is that &lt;span style="font-style: italic;"&gt;the defaults are sane&lt;/span&gt; and unless you know a good reason to choose differently, the default choice is the safe and comfortable choice.&lt;br /&gt;&lt;br /&gt;The installer goes on to create and mount file systems,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DXTtak7sI/AAAAAAAAADY/9eTUjYGgDJ0/s1600-h/20_openbsd_diskformat_and_sets.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 255px;" src="http://1.bp.blogspot.com/_7kOeLY9p2h0/S0DXTtak7sI/AAAAAAAAADY/9eTUjYGgDJ0/s400/20_openbsd_diskformat_and_sets.jpg" alt="" id="BLOGGER_PHOTO_ID_5422570684962631362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and the informed reader will recognize that the default mount options make a lot of sense, too.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DYW8yg0hI/AAAAAAAAADg/ysdGajO2WxU/s1600-h/21_openbsd_get_sets.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0DYW8yg0hI/AAAAAAAAADg/ysdGajO2WxU/s400/21_openbsd_get_sets.jpg" alt="" id="BLOGGER_PHOTO_ID_5422571840140792338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;With file systems mounted, the actual installation can proceed once you have indicated where you want to fetch the file sets from.  Here I chose the &lt;tt&gt;http&lt;/tt&gt; install method, and the installer made a reasonable guess at what was my closest mirror.  I chose &lt;tt&gt;ftp.eu.openbsd.org&lt;/tt&gt; (based in Sweden) instead, and chose not to exclude any file sets.&lt;br /&gt;&lt;br /&gt;The next part is when you can go fetch your cup of coffee, get some other refreshment or simply a breath of fresh air.  Even on a very good link, the transfers will take a few minutes.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DZvZSfAmI/AAAAAAAAADo/kOgqr8A8194/s1600-h/22_openbsd_installer_done.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 256px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DZvZSfAmI/AAAAAAAAADo/kOgqr8A8194/s400/22_openbsd_installer_done.jpg" alt="" id="BLOGGER_PHOTO_ID_5422573359619572322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When you get back, the installer prompts for further install sets, and if you do not have any to offer, it will finish up the install, choose the right kernel for your hardware and offer some advice for how to proceed from here on.&lt;br /&gt;&lt;br /&gt;That is, enter &lt;tt&gt;reboot&lt;/tt&gt;, let the system boot, log in as your new user or &lt;tt&gt;root&lt;/tt&gt; if you did not create a user as prompted, read the (almost) personalized message from Theo de Raadt, and go on using the system as you please. Actually, you can skip reading the message if you like, but the time is likely well spent with the tips (or reminders if you like) it contains.&lt;br /&gt;&lt;br /&gt;Here is a photograph of the disk utilization of my newly installed OpenBSD laptop a few moments after I had started transferring my files over.  Notice the &lt;tt&gt;/home&lt;/tt&gt; file system is not quite empty, since I almost forgot to try to document the pristine state of the system, but I am reasonably sure this picture was taken before I added any packages.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DazbmjG_I/AAAAAAAAADw/-yXbWQBSHjw/s1600-h/23_diskspace_almost_clean.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 164px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/S0DazbmjG_I/AAAAAAAAADw/-yXbWQBSHjw/s400/23_diskspace_almost_clean.jpg" alt="" id="BLOGGER_PHOTO_ID_5422574528471702514" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;So please, Mr. Lenovo, may I have that Windows money refunded?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As the numbers add up, there is no space for your precious proprietary software on my system, and I would gladly offer to send those restore CDs and the license label back.&lt;br /&gt;&lt;br /&gt;It was indeed Microsoft that made that promise on your behalf, but then you must have been aware of these legal issues.&lt;br /&gt;&lt;br /&gt;I am not about to abuse your trust or your software. However I do like the hardware that I have bought, am sure we will come to a reasonable agreement.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-style: italic;"&gt;It's all about honesty in your business life.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Now back to the tech.  After installing a few packages, my desktop looks roughly like this,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0D0AFS7OXI/AAAAAAAAAD4/7f6UvH5BYjA/s1600-h/mydesktop.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 242px;" src="http://2.bp.blogspot.com/_7kOeLY9p2h0/S0D0AFS7OXI/AAAAAAAAAD4/7f6UvH5BYjA/s400/mydesktop.jpg" alt="" id="BLOGGER_PHOTO_ID_5422602233612810610" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and disk utilization is&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@deeperthought:~$ df -h&lt;br /&gt;Filesystem          Size       Used      Avail Capacity   Mounted on&lt;br /&gt;/dev/sd0a          1005M     49.8M        905M       5%     /&lt;br /&gt;/dev/sd0k            263G     44.5G        205G         18%     /home&lt;br /&gt;/dev/sd0d            3.9G     40.0K        3.7G           0%     /tmp&lt;br /&gt;/dev/sd0f            2.0G    1.3G        542M         72%     /usr&lt;br /&gt;/dev/sd0g          1005M       178M     776M         19%     /usr/X11R6&lt;br /&gt;/dev/sd0h            5.9G       2.1G        3.5G         38%     /usr/local&lt;br /&gt;/dev/sd0j            2.0G       2.0K        1.9G           0%     /usr/obj&lt;br /&gt;/dev/sd0i       2.0G       732M        1.2G         38%     /usr/src&lt;br /&gt;/dev/sd0e            9.8G     51.5M        9.2G           1%     /var&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;Yes, there's probably a lot of old data there I don'really need. But then, the time it takes to identify and remove old cruft is hard to come by.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Good night and good luck.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Raw size versions of the illustrations are available &lt;a href="http://home.nuug.no/%7Epeter/blogpix/20100103/"&gt;here&lt;/a&gt;, other updates after the footer.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;If you found this article useful, enjoyable or irritating, please drop me a line.  Material related to this article is available free via links from my web space.  Some additional material will be made available for reasonable research purposes.  If you want more extensive assistance, please contact &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; (via &lt;a href="mailto:salg@freecode.no"&gt;email&lt;/a&gt; or other means) to make arrangements.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Other updates:&lt;/span&gt; The password guessing &lt;a href="http://bsdly.blogspot.com/2009/11/rickrolled-get-ready-for-hail-mary.html"&gt;Hail Mary Cloud&lt;/a&gt; is still with us, and I occasionally update the data referenced in that article.  As to the antics of the various &lt;a href="http://bsdly.blogspot.com/2008/09/and-shame-or-socially-responsible-use.html"&gt;spammers&lt;/a&gt;, they haven't changed much &lt;a href="http://bsdly.blogspot.com/2007/07/hey-spammer-heres-list-for-you.html"&gt;either&lt;/a&gt;. They're still fun to watch from time to time, though.&lt;br /&gt;&lt;br /&gt;As should be fairly obvious from the above, this article was produced using only free software: &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; and various software available through the &lt;a href="http://www.openbsd.org/faq/faq15.html"&gt;OpenBSD packages system&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8854731145281564542?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8854731145281564542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2010/01/goodness-of-men-and-machinery.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8854731145281564542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8854731145281564542'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2010/01/goodness-of-men-and-machinery.html' title='The Goodness of Men and Machinery'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_7kOeLY9p2h0/S0C899lPqjI/AAAAAAAAABg/4yN_3AXiUt8/s72-c/00_box_sticker.png' height='72' width='72'/><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5708144511153497110</id><published>2009-11-15T14:21:00.005+01:00</published><updated>2009-11-15T16:50:19.314+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='passwords'/><category scheme='http://www.blogger.com/atom/ns#' term='slow brutes'/><category scheme='http://www.blogger.com/atom/ns#' term='incompetence'/><category scheme='http://www.blogger.com/atom/ns#' term='guessable passwords'/><category scheme='http://www.blogger.com/atom/ns#' term='Hail Mary Cloud'/><category scheme='http://www.blogger.com/atom/ns#' term='intrusion detection'/><title type='text'>Rickrolled? Get Ready for the Hail Mary Cloud!</title><content type='html'>&lt;i&gt;If you publish your user name and password, somebody who is &lt;b&gt;not you&lt;/b&gt; will use it, sooner or later.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;It's been a fun few weeks.  Over in Microsoft land, it must have been a big issue that according to malware hunters Sophos, the newly released Windows 7 with no extras is &lt;a href="http://www.sophos.com/blogs/chetw/g/2009/11/03/windows-7-vulnerable"&gt;roughly as vulnerable&lt;/a&gt; as its older siblings.  No great surprises there, I suppose.&lt;br /&gt;&lt;br /&gt;For those of us with a more Unixish leaning, the more interesting piece of news involved Apple iPhones.  These phones apparently run a version of MacOS that has enough Unix in it that with a bit of tinkering, it is possible to install a variety of Unix software, such as the ubiquitous secure shell daemon &lt;tt&gt;sshd&lt;/tt&gt;.  To some, there is a certain attraction in knowing that you have an SSH server in your pocket or handbag.  Too bad, then that enough of those adventurous iPhone owners never read up on the instructions and chose to run their toy with the &lt;i&gt;default password&lt;/i&gt; for the &lt;tt&gt;root&lt;/tt&gt; account and were vulnerable to a wonderful prank perpetrated by a programmer down under.&lt;br /&gt;&lt;br /&gt;The prank (described in the inimitable The Register style &lt;a href="http://www.theregister.co.uk/2009/11/08/iphone_worm_rickrolls_users/"&gt;here&lt;/a&gt;) demonstrated just how bad an idea it is to publish your user name and password.  If you followed the news around last weekend you would notice that a large segment of the Microsoft-attached instapunditry got their facts wrong as usual with the &lt;i&gt;this proves that Apple (and by extension any Unix and of course Linux) is just as vulnerable as Microsoft&lt;/i&gt; mantra repeated over and over.&lt;br /&gt;&lt;br /&gt;In fact, there are two historical incidents that point to Unix being no silver bullet: the 2002 &lt;a href="http://www.symantec.com/security_response/writeup.jsp?docid=2002-091311-5851-99"&gt;Linux Slapper Worm&lt;/a&gt; and the &lt;i&gt;original&lt;/i&gt; network-enabled worm, the 1988 &lt;a href="http://en.wikipedia.org/wiki/Morris_worm"&gt;Morris Worm&lt;/a&gt;.  Those two prove mainly that yes, some bugs are exploitable, and the way forward is to fix bugs and &lt;a href="http://www.openbsd.org/papers/ven05-deraadt/index.html"&gt;make them harder to exploit in the first place&lt;/a&gt; (alternates &lt;a href="http://openbsd.alphix.se/papers/ven05-deraadt/index.html"&gt;here&lt;/a&gt; and &lt;a href="http://openbsd.nuug.no/papers/ven05-deraadt/index.html"&gt;here&lt;/a&gt;). Now these two famous exploits is possibly to be joined by a third, the rickrolling prank.&lt;br /&gt;&lt;br /&gt;I beg to differ.  The rickroller is about bad passwords, no more, no less. I've spent considerable time ranting about passwords in earlier columns, and this incident only underscores what we've been repeating until your eardrums wear thin an my vocal cords swell from exhaustion:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-style: italic;"&gt;Publishing your username and password is a really bad idea.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  It's almost as bad as picking a guessable password.&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Add to this that the fact, as we've noted here earlier, there is a whole cloud of hijacked machines out there beavering away at guessing passwords right now, and they have been at it for quite a while.&lt;br /&gt;&lt;br /&gt;The most remarkable of these botnets is the one that tries to avoid detection by distributing the password guessing for any target across a large number of hosts, so each guesser never shows high enough rates of activity to trigger any of the traditional bruteforce detection mechanism.  The attempts look something like this in your authentication log:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Nov 13 21:10:14 rosalita sshd[50401]: error: PAM: authentication error for illegal user mars from 125.40.69.208&lt;br /&gt;Nov 13 21:10:14 rosalita sshd[50401]: Failed keyboard-interactive/pam for invalid user mars from 125.40.69.208 port 38052 ssh2&lt;br /&gt;Nov 13 21:11:20 rosalita sshd[50419]: reverse mapping checking getaddrinfo for 115-186-131-90.nayatel.pk [115.186.131.90] failed - POSSIBLE BREAK-IN ATTEMPT!&lt;br /&gt;Nov 13 21:11:20 rosalita sshd[50419]: Invalid user mars from 115.186.131.90&lt;br /&gt;Nov 13 21:11:21 rosalita sshd[50419]: error: PAM: authentication error for illegal user mars from 115.186.131.90&lt;br /&gt;Nov 13 21:11:21 rosalita sshd[50419]: Failed keyboard-interactive/pam for invalid user mars from 115.186.131.90 port 42235 ssh2&lt;br /&gt;Nov 13 21:13:43 rosalita sshd[50428]: Invalid user mars from 58.247.222.163&lt;br /&gt;Nov 13 21:13:43 rosalita sshd[50428]: error: PAM: authentication error for illegal user mars from 58.247.222.163&lt;br /&gt;Nov 13 21:13:43 rosalita sshd[50428]: Failed keyboard-interactive/pam for invalid user mars from 58.247.222.163 port 35134 ssh2&lt;br /&gt;Nov 13 21:15:59 rosalita sshd[50440]: Invalid user mars from 89.76.186.99&lt;br /&gt;Nov 13 21:16:00 rosalita sshd[50440]: error: PAM: authentication error for illegal user mars from chello089076186099.chello.pl&lt;br /&gt;Nov 13 21:16:00 rosalita sshd[50440]: Failed keyboard-interactive/pam for invalid user mars from 89.76.186.99 port 52156 ssh2&lt;br /&gt;Nov 13 21:17:16 rosalita sshd[50448]: Invalid user mars2 from 88.134.166.31&lt;br /&gt;Nov 13 21:17:16 rosalita sshd[50448]: error: PAM: authentication error for illegal user mars2 from 88-134-166-31-dynip.superkabel.de&lt;br /&gt;Nov 13 21:17:16 rosalita sshd[50448]: Failed keyboard-interactive/pam for invalid user mars2 from 88.134.166.31 port 39254 ssh2&lt;br /&gt;Nov 13 21:18:14 rosalita sshd[50452]: Invalid user room from 62.198.66.107&lt;br /&gt;Nov 13 21:18:14 rosalita sshd[50452]: error: PAM: authentication error for illegal user room from 62.198.66.107&lt;br /&gt;Nov 13 21:18:14 rosalita sshd[50452]: Failed keyboard-interactive/pam for invalid user room from 62.198.66.107 port 47557 ssh2&lt;br /&gt;Nov 13 21:19:27 rosalita sshd[50458]: Invalid user room from 61.74.75.43&lt;br /&gt;Nov 13 21:19:27 rosalita sshd[50458]: error: PAM: authentication error for illegal user room from 61.74.75.43&lt;br /&gt;Nov 13 21:19:27 rosalita sshd[50458]: Failed keyboard-interactive/pam for invalid user room from 61.74.75.43 port 57794 ssh2&lt;br /&gt;Nov 13 21:21:41 rosalita sshd[50472]: Invalid user room from 212.243.41.9&lt;br /&gt;Nov 13 21:21:41 rosalita sshd[50472]: error: PAM: authentication error for illegal user room from 212.243.41.9&lt;br /&gt;Nov 13 21:21:41 rosalita sshd[50472]: Failed keyboard-interactive/pam for invalid user room from 212.243.41.9 port 38396 ssh2&lt;br /&gt;Nov 13 21:22:58 rosalita sshd[50491]: reverse mapping checking getaddrinfo for static-ip-cr1901468058.cable.net.co [190.146.80.58] failed - POSSIBLE BREAK-IN ATTEMPT!&lt;br /&gt;Nov 13 21:22:58 rosalita sshd[50491]: Invalid user room from 190.146.80.58&lt;br /&gt;Nov 13 21:22:58 rosalita sshd[50491]: error: PAM: authentication error for illegal user room from 190.146.80.58&lt;br /&gt;Nov 13 21:22:58 rosalita sshd[50491]: Failed keyboard-interactive/pam for invalid user room from 190.146.80.58 port 4420 ssh2&lt;br /&gt;Nov 13 21:24:01 rosalita sshd[50509]: Invalid user room from 62.23.130.173&lt;br /&gt;Nov 13 21:24:01 rosalita sshd[50509]: error: PAM: authentication error for illegal user room from host.173.130.23.62.rev.coltfrance.com&lt;br /&gt;Nov 13 21:24:01 rosalita sshd[50509]: Failed keyboard-interactive/pam for invalid user room from 62.23.130.173 port 3904 ssh2&lt;br /&gt;Nov 13 21:25:21 rosalita sshd[50517]: reverse mapping checking getaddrinfo for hn.kd.ny.adsl [125.40.69.208] failed - POSSIBLE BREAK-IN ATTEMPT!&lt;br /&gt;Nov 13 21:25:21 rosalita sshd[50517]: Invalid user room from 125.40.69.208&lt;br /&gt;Nov 13 21:25:21 rosalita sshd[50517]: error: PAM: authentication error for illegal user room from 125.40.69.208&lt;br /&gt;Nov 13 21:25:21 rosalita sshd[50517]: Failed keyboard-interactive/pam for invalid user room from 125.40.69.208 port 3294 ssh2&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;and so on.&lt;br /&gt;&lt;br /&gt;I put it to you: &lt;span style="font-style: italic;"&gt;What you see here is the cybercrime equivalent of the &lt;/span&gt;&lt;a style="font-style: italic;" href="http://en.wikipedia.org/wiki/Hail_mary_pass"&gt;Hail Mary Pass&lt;/a&gt;&lt;span style="font-style: italic;"&gt;.  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Each attempt in theory has monumental odds against succeeding, but occasionally the guess will be right and they have scored a login. As far as we know, this is at least the third round of password guessing from the &lt;i&gt;Hail Mary Cloud&lt;/i&gt; (see the archives for earlier postings about &lt;i&gt;slow bruteforcers&lt;/i&gt;), but there could have been earlier rounds that escaped our attention.&lt;br /&gt;&lt;br /&gt;The fact that we see the Hail Mary Cloud keeping up the guessing is a strong indicator that there &lt;i&gt;are&lt;/i&gt; a lot of guessable passwords and possibly badly maintained systems out there, and that even against the very long odds they are succeeding often enough in their attempts to gain a foothold somewhere that it is worth keeping up the efforts.  For one thing, the cost of using other people's equipment is likely to be quite low.&lt;br /&gt;&lt;br /&gt;There are a lot of things about the Hail Mary Cloud and its overseers that we do not know.  People who responded to the earlier articles with reports of similar activity also reported pretty consistently something like a sixty to seventy percent match in hosts making the attempts.&lt;br /&gt;&lt;br /&gt;With 1767 hosts in the current sample it is likely that we have a cloud of at least several thousand, and most likely no single guessing host in the cloud ever gets around to contacting every host in the target list.  The busier your SSH deamon is with normal traffic, the harder it will be to detect the footprint of Hail Mary activity, and likely a lot of this goes undetected.&lt;br /&gt;&lt;br /&gt;The data, as I am sure you have been waiting for it, is available in these forms: &lt;a href="http://www.bsdly.net/%7Epeter/hail-marys-raw.txt"&gt;Raw log data, with 3-4 lines per attempt&lt;/a&gt; (as illustrated above and requested by some correspondents), &lt;a href="http://www.bsdly.net/%7Epeter/hail-mary-singles.txt"&gt;one line per attempt&lt;/a&gt; (shows the pattern a little more clearly), a &lt;a href="http://www.bsdly.net/%7Epeter/hail-marys-by-frequency.txt"&gt;list of the hosts participating in the Hail Mary Cloud&lt;/a&gt; sorted by number of attempts, and &lt;a href="http://www.bsdly.net/%7Epeter/hail-mary-users-by-frequency.txt"&gt;the user names attempted, sorted by number of attempts&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The pattern is fairly familiar by now, but this time the alphabetic cycles are shorter and at times the coordination seems to have broken down.  My guess is that the apparent breakdowns are due to silly factors like the guessing machines running without time synchronization or other signs of incompetence.&lt;br /&gt;&lt;br /&gt;And finally, some words of advice for those of you who want to avoid both rickrolling and getting cracked by other password guessing.&lt;br /&gt;&lt;br /&gt;You should at least consider setting a password policy and enforcing it with something like &lt;a href="http://www.openwall.com/john/"&gt;John the ripper&lt;/a&gt;, which more than likely is available at the cost of a few keystrokes from your package system.  And of course there is the fine art of &lt;tt&gt;sshd&lt;/tt&gt; configuration.  Some of the things you could do are, in no particular order:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;disable root logins over the network&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;use packet filtering or other means to restrict where users can log in from&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;disable password logins entirely allowing only key-based logins&lt;br /&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;set up your &lt;tt&gt;sshd&lt;/tt&gt; to listen on a non-standard port&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;whatever your users can bear to live with.&lt;br /&gt;&lt;br /&gt;If you see traces of the Hail Mary Cloud's activity in your logs and you want to share and study, I would very much like to hear from you. I will most likely be updating the log data and extracts at intervals.&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;If you found this article useful, enjoyable or irritating, please drop me a line.  Material related to this article is available free via links from my web space.  Some additional material will be made available for reasonable research purposes.  If you want more extensive assistance, please contact &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; to make arrangements.&lt;br /&gt;&lt;hr /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5708144511153497110?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5708144511153497110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/11/rickrolled-get-ready-for-hail-mary.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5708144511153497110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5708144511153497110'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/11/rickrolled-get-ready-for-hail-mary.html' title='Rickrolled? Get Ready for the Hail Mary Cloud!'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-1403751319312713272</id><published>2009-10-04T22:10:00.013+02:00</published><updated>2009-10-29T00:15:13.369+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='system administration'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforcers'/><category scheme='http://www.blogger.com/atom/ns#' term='botnets'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='coordinated bruteforcers'/><title type='text'>A Third Time, Uncharmed</title><content type='html'>&lt;i&gt;Spamwashers hijacked, a wake-up call for lazy sysadmins everywhere.  The slow bruteforcers are back for another round.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;A new round of slow, distributed bruteforce attacks is in progress. Just like the other times we know about (see references later), the initial target is &lt;tt&gt;root&lt;/tt&gt;.  This time around I see only one of my &lt;tt&gt;ssh&lt;/tt&gt;-contactable machines targeted, and the dribble started on September 30th.&lt;br /&gt;&lt;br /&gt;I've put the raw data so far up for study &lt;a href="http://www.bsdly.net/~peter/sept30-brutes-raw.txt"&gt;here&lt;/a&gt; (a total of 6067 attempts), and a list of hosts sorted by number of attempts (the first column) can be found &lt;a href="http://www.bsdly.net/~peter/sept30-brutes-by-frequency-2009-10-04.txt"&gt;here&lt;/a&gt; (770 hosts, with up to 32 attempts each).  Quite likely I'll be collecting more data and publishing updates when I have a few free moments.&lt;br /&gt;&lt;br /&gt;A number of people were kind enough to contact me in the followup of the earlier articles, and from one of my correspendents (who asked not to be named) I learned that the likely culprit is a piece of Linux malware known as &lt;i&gt;dt_ssh5&lt;/i&gt;.  If you type &lt;tt&gt;dt_ssh5&lt;/tt&gt; into your favorite search engine, it will turn up a few hits, but significantly fewer than the number of hosts in my sample.  A couple of those documents have some analysis of how a badly secured web application let the miscreants in.&lt;br /&gt;&lt;br /&gt;We should not be surprised that whoever is behind this has more than one takeover method in their arsenal.  Unfortunately it should not surprise anybody either that we're now seeing a third round of those attacks.  Most likely the perpetrators keep going because they occasionally succeed, and when they do, it's because every now and then they luck on a Linux machine with either &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;a maintenance regime that's disorganized enough that software with &lt;i&gt;known and exploitable bugs&lt;/i&gt; is left in place for long enough to open the doors to undesirables, &lt;i&gt;or&lt;/i&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;at least one user (whoever is manning &lt;tt&gt;root&lt;/tt&gt; or any of the other user IDs we know they will be sniffing out later) with a guessable password and a system administration regime that lets weak passwords exist in the first place.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;You see where this is heading?  Over the last few years we have seen Linux and other free systems take over ever more niches and even mission critical application areas in businesses and organizations all over the world.  I for one think this move to free systems with source code accessible is a good thing.  &lt;br /&gt;&lt;br /&gt;But there is a downside:  In our efforts to entice the suits into the wonderful new world of free software, we likely oversold the security part.  &lt;br /&gt;&lt;br /&gt;Yes, bugs are easier to find and fix when the source code is available, yes, the Unix security model or some variant thereof is vastly preferable to that disorienting hellhole system marketed from somewhere up Seattle way, and yes, there are a few hundred more good and valid reasons (technical and otherwise) why basing your business on free license software is generally a good idea.  Security-wise you have a better starting point, and with a little effort you will gain control and stay in control. But it does take some degree of effort by one or more qualified persons who are willing and able to take charge and make sensible decisions.&lt;br /&gt;&lt;br /&gt;Looking at the data earlier I can see that one of the hosts now trying to gain illegitimate access to one of my systems was originally set up as a "spam washer" (grep for &lt;tt&gt;spamvask&lt;/tt&gt; in the data).  Setting up a Linux box to filter spam is likely a good idea in many contexts, but please keep this in mind: &lt;i&gt;The fact that your rig runs Linux does not mean you're home free.&lt;/i&gt;  You need to keep paying attention.  When your spam washer has been hijacked and tries to break into other people's systems, you urgently need to get your act together, right now.&lt;br /&gt;&lt;br /&gt;We do not have self-propagating worms on Linux just yet (and in all fairness the likelihood of that ever happening is rather slim), but we certainly do not have a system that will stay secure if you ignore the basics of useful system administration.  This recurring episode of &lt;i&gt;dt_ssh5&lt;/i&gt; and the slow bruteforcers should serve as a wakeup call for system administrators everywhere:  Your system stays secure only as long as you pay proper attention to maintenance.  Out there in the real world there are at least 770 machines where the maintenance regime slipped, either through incompetence or work overload or a combination of the two with a dash of bad planning thrown in. &lt;br /&gt;&lt;br /&gt;The only way to make a fourth round of slow bruteforcers &lt;i&gt;not&lt;/i&gt; happen is to make the people responsible for the 770 hosts listed &lt;a href="http://www.bsdly.net/~peter/sept30-brutes-by-frequency-2009-10-04.txt"&gt;here&lt;/a&gt; do the right thing.  I suppose we will find out soon enough how many of those domains actually have the &lt;a href="http://www.ietf.org/rfc/rfc2142.txt"&gt;RFC2142&lt;/a&gt;-mandated mailboxes in place.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References:&lt;/span&gt; Previous posts on this topic include &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;A low intensity, distributed bruteforce attempt&lt;/a&gt; (December 2, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html"&gt;A Small Update About The Slow Brutes&lt;/a&gt; (December 6, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html"&gt;Into a new year, slowly pounding the gates&lt;/a&gt; (December 21, 2008), &lt;a href="http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html"&gt;The slow brutes, a final roundup&lt;/a&gt; (January 22, 2009) and &lt;a href="http://bsdly.blogspot.com/2009/04/slow-brute-zombies-are-back.html"&gt; The slow brute zombies are back&lt;/a&gt; (April 12, 2009).&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;If you found this article useful, enjoyable or irritating, please drop me a line.  Material related to this article is available free via links from my web space.  Some additional material will be made available for reasonable research purposes.  If you want more extensive assistance, please contact &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; to make arrangements.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;The reason for my rather long silence in the blogosphere can be summed up in two words: &lt;i&gt;Client Confidentiality&lt;/i&gt;.  Some of the projects I've been working on might have been material for interesting articles, but separating the generally useful bits from what the customer could reasonably expect to be kept confidential has proved difficult, at least in the short run.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update 2009-10-05 just before 10:00 CEST&lt;/span&gt;: Slightly newer log extracts uploaded, total attempts now 6590, from 775 hosts. I will likely upload fresher versions at intervals.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update 2009-10-14 19:30ish:&lt;/span&gt; After a couple of days with literally none to three or four attempts per hour, my afternoon log check turned up activity almost at start of run levels, so total numbers are now &lt;span style="font-style:italic;"&gt;9405&lt;/span&gt; attempts from a total of &lt;span style="font-style:italic;"&gt;946&lt;/span&gt; unique hosts.  I never bothered to change the file names, but the data have been updated a couple of times each day since I started publishing them.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Update 2009-10-29 00:10&lt;/span&gt;:  Because a file transfer took a little longer than expected, I was awake to see what may actually be the start of the alphabetic phase - &lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Oct 28 23:58:35 rosalita sshd[61664]: Invalid user anthony from 62.225.63.99&lt;br /&gt;Oct 28 23:58:35 rosalita sshd[61664]: error: PAM: authentication error for illegal user anthony from 62.225.63.99&lt;br /&gt;Oct 28 23:58:35 rosalita sshd[61664]: Failed keyboard-interactive/pam for invalid user anthony from 62.225.63.99 port 58683 ssh2&lt;br /&gt;Oct 28 23:59:43 rosalita sshd[61668]: Invalid user anthony from 217.136.253.239&lt;br /&gt;Oct 28 23:59:43 rosalita sshd[61668]: error: PAM: authentication error for illegal user anthony from 239.253-136-217.adsl-static.isp.belgacom.be&lt;br /&gt;Oct 28 23:59:43 rosalita sshd[61668]: Failed keyboard-interactive/pam for invalid user anthony from 217.136.253.239 port 54728 ssh2&lt;br /&gt;Oct 29 00:00:26 rosalita sshd[61695]: Invalid user barbara from 112.78.124.159&lt;br /&gt;Oct 29 00:00:27 rosalita sshd[61695]: error: PAM: authentication error for illegal user barbara from 112.78.124.159&lt;br /&gt;Oct 29 00:00:27 rosalita sshd[61695]: Failed keyboard-interactive/pam for invalid user barbara from 112.78.124.159 port 56990 ssh2&lt;br /&gt;Oct 29 00:03:42 rosalita sshd[61722]: Invalid user brian from 122.224.128.197&lt;br /&gt;Oct 29 00:03:42 rosalita sshd[61722]: error: PAM: authentication error for illegal user brian from 122.224.128.197&lt;br /&gt;Oct 29 00:03:42 rosalita sshd[61722]: Failed keyboard-interactive/pam for invalid user brian from 122.224.128.197 port 47058 ssh2&lt;br /&gt;Oct 29 00:04:21 rosalita sshd[61725]: Invalid user brian from 218.69.27.138&lt;br /&gt;Oct 29 00:04:21 rosalita sshd[61725]: error: PAM: authentication error for illegal user brian from 218.69.27.138&lt;br /&gt;Oct 29 00:04:21 rosalita sshd[61725]: Failed keyboard-interactive/pam for invalid user brian from 218.69.27.138 port 41622 ssh2&lt;br /&gt;Oct 29 00:05:00 rosalita sshd[61738]: Invalid user carol from 58.60.106.121&lt;br /&gt;Oct 29 00:05:01 rosalita sshd[61738]: error: PAM: authentication error for illegal user carol from 58.60.106.121&lt;br /&gt;Oct 29 00:05:01 rosalita sshd[61738]: Failed keyboard-interactive/pam for invalid user carol from 58.60.106.121 port 55916 ssh2&lt;br /&gt;Oct 29 00:05:51 rosalita sshd[61744]: Invalid user carol from 200.248.242.218&lt;br /&gt;Oct 29 00:05:52 rosalita sshd[61744]: error: PAM: authentication error for illegal user carol from 200.248.242.218&lt;br /&gt;Oct 29 00:05:52 rosalita sshd[61744]: Failed keyboard-interactive/pam for invalid user carol from 200.248.242.218 port 54547 ssh2&lt;br /&gt;Oct 29 00:07:24 rosalita sshd[61748]: Invalid user charles from 222.128.36.60&lt;br /&gt;Oct 29 00:07:24 rosalita sshd[61748]: error: PAM: authentication error for illegal user charles from 222.128.36.60&lt;br /&gt;Oct 29 00:07:24 rosalita sshd[61748]: Failed keyboard-interactive/pam for invalid user charles from 222.128.36.60 port 42322 ssh2&lt;br /&gt;Oct 29 00:08:09 rosalita sshd[61755]: Invalid user christopher from 72.148.242.188&lt;br /&gt;Oct 29 00:08:10 rosalita sshd[61755]: error: PAM: authentication error for illegal user christopher from adsl-072-148-242-188.sip.asm.bellsouth.net&lt;br /&gt;Oct 29 00:08:10 rosalita sshd[61755]: Failed keyboard-interactive/pam for invalid user christopher from 72.148.242.188 port 37157 ssh2&lt;br /&gt;Oct 29 00:09:06 rosalita sshd[61758]: Invalid user christopher from 58.223.251.232&lt;br /&gt;Oct 29 00:09:06 rosalita sshd[61758]: error: PAM: authentication error for illegal user christopher from 58.223.251.232&lt;br /&gt;Oct 29 00:09:06 rosalita sshd[61758]: Failed keyboard-interactive/pam for invalid user christopher from 58.223.251.232 port 46350 ssh2&lt;br /&gt;Oct 29 00:09:48 rosalita sshd[61762]: Invalid user daniel from 64.69.114.115&lt;br /&gt;Oct 29 00:09:49 rosalita sshd[61762]: error: PAM: authentication error for illegal user daniel from mulligan.softspike.org&lt;br /&gt;Oct 29 00:09:49 rosalita sshd[61762]: Failed keyboard-interactive/pam for invalid user daniel from 64.69.114.115 port 39960 ssh2&lt;br /&gt;Oct 29 00:11:29 rosalita sshd[61781]: Invalid user david from 80.255.179.150&lt;br /&gt;Oct 29 00:11:29 rosalita sshd[61781]: error: PAM: authentication error for illegal user david from ppp-vpdn-80.255.179.150.yarnet.ru&lt;br /&gt;Oct 29 00:11:29 rosalita sshd[61781]: Failed keyboard-interactive/pam for invalid user david from 80.255.179.150 port 49013 ssh2&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;More material later, for now I'd be happy to hear confirmation (reports of similar activity) if you see it in your logs.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-1403751319312713272?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/1403751319312713272/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/10/third-time-uncharmed.html#comment-form' title='34 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1403751319312713272'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1403751319312713272'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/10/third-time-uncharmed.html' title='A Third Time, Uncharmed'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>34</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-3451660423808514241</id><published>2009-04-12T22:17:00.005+02:00</published><updated>2009-04-13T17:45:42.159+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='bot herders'/><category scheme='http://www.blogger.com/atom/ns#' term='botnets'/><category scheme='http://www.blogger.com/atom/ns#' term='BSDCan'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforce'/><title type='text'>The slow brute zombies are back</title><content type='html'>&lt;span style="font-style:italic;"&gt;Real-life zombies feed off weak passwords.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Regular readers will remember that late last year we saw a peculiar form of distributed bruteforce attack on certain &lt;tt&gt;ssh&lt;/tt&gt; servers.  What made this particular batch of failed login attempts stand out was that unlike the traditional rapid-fire bruteforce attempts we were quite adept at heading off with state tracking tricks (such as the &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; PF method described &lt;a href="http://home.nuug.no/~peter/pf/en/bruteforce.html"&gt;here&lt;/a&gt; or a slightly different &lt;a href="http://www.debian-administration.org/articles/187"&gt;Linux-specific method&lt;/a&gt;), the technique seemed to be specifically designed to slip past such defenses.&lt;br /&gt;&lt;br /&gt;I described the method and the evidence at some length in a series of colums, &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;A low intensity, distributed bruteforce attempt&lt;/a&gt; (December 2, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html"&gt;A Small Update About The Slow Brutes&lt;/a&gt; (December 6, 2008), &lt;a href="http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html"&gt;Into a new year, slowly pounding the gates&lt;/a&gt; (December 21, 2008) and finally &lt;a href="http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html"&gt;The slow brutes, a final roundup&lt;/a&gt; (January 22, 2009).&lt;br /&gt;&lt;br /&gt;If you do not want to read through all of that, &lt;span style="font-style:italic;"&gt;I'll recap&lt;/span&gt;:  The traditional bruteforce attack is characterized by somebody trying again and again to find a combination of logon credentials (typically sets of user names and passwords) that will let them gain access to the system.  The basic idea is that given enough tries, you will sooner or later find a user who has set a guessable password, and you have access.  &lt;br /&gt;&lt;br /&gt;One of the important weaknesses of the method is that the typical attacker would have gained access to only one or a few systems, and the attacker would then typically try to connect a lot more often than a typical user, and sysadmins learned to adapt their firewalls and other systems to lock out activity that fit the bruteforcer profile.&lt;br /&gt;&lt;br /&gt;If you run a &lt;tt&gt;ssh&lt;/tt&gt; service anywhere Internet-facing, you will be used to seeing a steady stream of failed logons for both existing and non-existing users.  There's nothing new in seeing failed logons in your log files.  However, what happened late last year was that we started seeing large numbers of failed &lt;tt&gt;ssh&lt;/tt&gt; logon attempts, with the new twist that the same user would be trying to log on a large number of times, but never from the same place twice in rapid succession.  This &lt;a href="http://www.bsdly.net/~peter/slowbrutes.all.txt"&gt;log data sample&lt;/a&gt; will give you an idea.  The data will show you the pattern, as will the &lt;a href="http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html"&gt;summary article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Back then in January, my conclusion was that we had seen the conclusion of a largely failed experiment.  After all, proceeding at a truly glacial pace and decreasing the number of attempts per user name as they went along hardly seemed like a recipe for success even if they could sneak past packet filtering based defenses.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;It turns out I was wrong&lt;/span&gt;.  Returning to my log summaries after taking a few days off from log data (yes, &lt;a href="http://en.wikipedia.org/wiki/Easter"&gt;easter&lt;/a&gt; is big &lt;a href="http://en.wikipedia.org/wiki/Bergen"&gt;here&lt;/a&gt;, even moves geeks sometimes to take time off) I find data with almost exactly the same profile as last December's series.  &lt;br /&gt;&lt;br /&gt;This can only mean that there were enough successful attempts at guessing people's weak passwords in the last round that our unknown perpetrators found it worthwhile to start another round.  For all I know they may have been at it all along, probing other parts of the Internet far from my unfasionable backwaters.  &lt;br /&gt;&lt;br /&gt;Anyway, they are most certainly back.  A summary of the data so far follows in the concluding section. &lt;i&gt;Please note&lt;/i&gt; that I would be very interested in communicating with other parties who see similar activity in their logs, and if you are responsible for one or more of the systems identified or you know who is, I urge you to &lt;i&gt;take appropriate action&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Data So Far&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;First, We Take &lt;tt&gt;root&lt;/tt&gt;&lt;/i&gt;&lt;br /&gt;The &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/april-brutes.txt"&gt;full log data&lt;/a&gt; reveal that they started rubbing up against my listening posts during the early hours of April 7th 2009 (as measured in CEST), concentrating first on the user &lt;tt&gt;root&lt;/tt&gt; (attempts sorted by hostname &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/april-root-brutes-sorted.txt"&gt;here&lt;/a&gt;, hostnames &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/roothosts.txt"&gt;here&lt;/a&gt;.  Not terribly surprising that they tried to take on this one, as most Unix(ish) systems tend to at least &lt;i&gt;have&lt;/i&gt; a &lt;tt&gt;root&lt;/tt&gt; account.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Then We Take &lt;tt&gt;admin&lt;/tt&gt;&lt;/i&gt;&lt;br /&gt;After about twenty-four hours, the zombies in the cloud tired of &lt;tt&gt;root&lt;/tt&gt; and turned their collective attention to &lt;tt&gt;admin&lt;/tt&gt; (attempts sorted by hostname &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/april-admin-brutes-sorted.txt"&gt;here&lt;/a&gt;, hostnames &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/adminhosts.txt"&gt;here&lt;/a&gt;.  This is a user name I would not expect to be on a Unix syste by default.  In my limited experience Microsoft systems tend to use this one more often, but then there may be enough of those systems out there with a SSH service and weak passwords out there to try.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;And &lt;tt&gt;james&lt;/tt&gt; Will Make Us Famous&lt;/i&gt;&lt;br /&gt;Well into civilized lunchtime (CEST) on April 9th, our would-be guests turned their attention to &lt;tt&gt;james&lt;/tt&gt; (attempts sorted by hostname &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/april-james-brutes-sorted.txt"&gt;here&lt;/a&gt;, hostnames &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/jameshosts.txt"&gt;here&lt;/a&gt;.  Why this user name received so much attention is a complete mystery to me.  They did tire in the end, though.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Before We Turn To &lt;tt&gt;123456&lt;/tt&gt;, &lt;tt&gt;aadi&lt;/tt&gt; And The Rest Of The Rabble&lt;/i&gt;&lt;br /&gt;As if to confirm that we are indeed seeing a rerun of last November and December's sequence of events, the robots started on their regular alphabetic attempts on April 11th:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Apr 11 17:44:15 rosalita sshd[51241]: error: PAM: authentication error for illegal user james from 221.130.177.154&lt;br /&gt;Apr 11 17:50:47 rosalita sshd[51258]: error: PAM: authentication error for illegal user 123456 from 220.194.54.41&lt;br /&gt;Apr 11 17:53:24 rosalita sshd[51262]: error: PAM: authentication error for illegal user 123456 from webmail.sistemafieg.org.br&lt;br /&gt;Apr 11 17:58:25 rosalita sshd[51285]: error: PAM: authentication error for illegal user 123456 from 202.82.25.161&lt;br /&gt;Apr 11 18:00:59 rosalita sshd[51307]: error: PAM: authentication error for illegal user aadi from mail.cgconsultoriacontabil.com.br&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;The various comments to my earlier columns tended to point out the near-futility of low-intensity bruteforcing, and I took the fact that the last series of attempts did not run to the end of the alphabet as an indication that the perpetrators themselves had reached the same conclusion.&lt;br /&gt;&lt;br /&gt;Now we know that they just moved on, went elsewhere for a while and now they're back.  In the meantime, they must have hit on enough weak minds and associated weak passwords that they were able to take over and zombiefy enough systems to be worth their while.  &lt;br /&gt;&lt;br /&gt;The data so far (collected up to April 12, 2009, roughly 21:00 CEST) indicates that the total number of hosts involved in the attempts at my listening posts is just over a thousand (a list of hosts available &lt;a href="http://www.bsdly.net/~peter/aprilbrutes/allhosts.txt"&gt;here&lt;/a&gt;).  &lt;br /&gt;&lt;br /&gt;It is probably worth repeating that in real life, zombies feed on both weak minds and weak passwords.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;If you found this article useful, enjoyable or irritating, please drop me a line.  Material related to this article is available for free via links from my web space.  Some additional material will be made available for reasonable research purposes.  If you want more extensive assistance, please contact &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; to make arrangements.&lt;br /&gt;&lt;br /&gt;Also worth noting, I will be doing a &lt;a href="http://www.bsdcan.org/2009/schedule/track/Tutorial/114.en.html"&gt;PF tutorial&lt;/a&gt; at &lt;a href="http://www.bsdcan.org/2009/"&gt;BSDCan 2009&lt;/a&gt; in May, and I will be staying around for the rest of the conference.  I look forward to seeing you there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-3451660423808514241?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/3451660423808514241/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/04/slow-brute-zombies-are-back.html#comment-form' title='23 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3451660423808514241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3451660423808514241'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/04/slow-brute-zombies-are-back.html' title='The slow brute zombies are back'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>23</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-3998055330591057112</id><published>2009-03-21T19:41:00.004+01:00</published><updated>2009-03-22T22:28:12.631+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='email scams'/><category scheme='http://www.blogger.com/atom/ns#' term='well poisoning'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='spam countermeasures'/><title type='text'>Oh yes, you signed up for this.  You did.  Honest.</title><content type='html'>&lt;span style="font-style:italic;"&gt;Honesty in marketing.  You may have heard of it.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It may come as a surprise to some, but I generally do not spend much time on spam related matters.  Occasionally I need to do some &lt;a href="http://bsdly.blogspot.com/2007/07/hey-spammer-heres-list-for-you.html"&gt;manual labor&lt;/a&gt; to keep &lt;tt&gt;spamd&lt;/tt&gt; and &lt;tt&gt;spamassasin&lt;/tt&gt; in trim, but at most times my little robot helpers just keep running, leaving my desktop essentially spam free.&lt;br /&gt;&lt;br /&gt;That changed slightly late last month.  Messages hawking the oddest wares started arriving, with a largish number of messages claiming that I had actually signed up to receive them:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;You are receiving this message because on 2/26/2009 at 3:57 PM peter@bsdly.net 64.12.116.10 registered to receive messages from e-researchcouncil.com and its partners. To change your preferences with e-researchcouncil.com, go to the website and select "Contact Us" to review your options. &lt;br /&gt;&lt;/tt&gt;                                                                                                                                  &lt;br /&gt;To give you an idea how likely that statement is to be true, consider this:  The &lt;tt&gt;64.12.116.10&lt;/tt&gt; address resolves back to somewhere in &lt;a href="http://www.aol.com"&gt;America Online&lt;/a&gt;'s network, pretty much an ocean and then some away from where I'm usually located.  &lt;br /&gt;&lt;br /&gt;I assume entering my address into a few web forms is somebody's idea of a joke, and the net effect was that a number of spammy messages started appearing in my mailbox, starting on February 27th.  Only about third of the messages contained that particular claim, and a typical message would contain headers like these:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;X-From-Line: eHarmonyDating@BranchSprint.com  Fri Feb 27 16:30:36 2009&lt;br /&gt;Return-path: &amp;lt;3f5.4.73479158-21937306@BranchSprint.com&amp;gt;&lt;br /&gt;Envelope-to: peter@bsdly.net&lt;br /&gt;Delivery-date: Fri, 27 Feb 2009 19:15:13 +0100&lt;br /&gt;Received: from [99.198.152.161] (helo=dns7-cronomagic-biz.BranchSprint.com)&lt;br /&gt;        by skapet.bsdly.net with esmtp (Exim 4.69)&lt;br /&gt;        (envelope-from &amp;lt;3f5.4.73479158-21937306@BranchSprint.com&amp;gt;)&lt;br /&gt;        id 1Ld7Eu-00074N-NF&lt;br /&gt;        for peter@bsdly.net; Fri, 27 Feb 2009 19:15:13 +0100&lt;br /&gt;X-Gnus-Mail-Source: pop:peter@bsdly.net&lt;br /&gt;Message-Id: &amp;lt;KKcbjdhdagmcfbVN@BranchSprint.com&amp;gt;&lt;br /&gt;Reply-To: &amp;lt;eHarmonyDating@BranchSprint.com&amp;lt;&lt;br /&gt;From: eHarmonyDating &amp;lt;eHarmonyDating@BranchSprint.com&amp;gt;&lt;br /&gt;Subject: eHarmony could match you with the right singles&lt;br /&gt;Date: Fri, 27 Feb 2009 16:30:36 GMT&lt;br /&gt;X-Information: 73479158_21937306 ListZA251&lt;br /&gt;X-Complaints-To: &amp;lt;complaints@BranchSprint.com&amp;gt;&lt;br /&gt;To: &amp;lt;peter@bsdly.net&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;My first impulse was, in case this is an honest mistake somewhere, let's try and play nice at first.  That meant sending messages to the &lt;tt&gt;X-Complaints-To:&lt;/tt&gt; addresses and waiting to see what would happen.  &lt;br /&gt;&lt;br /&gt;You should not be terribly surprised to hear that those addresses all turned out to be invalid, the messages undeliverable.&lt;br /&gt;&lt;br /&gt;In the meantime, I went on collecting &lt;a href="http://www.bsdly.net/~peter/youreg.data/subjects.html"&gt;messages&lt;/a&gt;, and the amount of data I had accumulated was large enough that I could reach some preliminary conclusions.  &lt;br /&gt;&lt;br /&gt;It's obvious that in order to reach me, the messages would need to clear &lt;a href="http://home.nuug.no/~peter/pf/en/spamd.tarandgrey.html"&gt;greylisting&lt;/a&gt; and avoid triggering too many of my &lt;a href=http://spamassassin.apache.org/""&gt;spamassassin&lt;/a&gt; rules.  That meant in turn that the messages were sent using real mail servers.  So I started &lt;a href="http://www.bsdly.net/~peter/youreg.data/subjects.html"&gt;collecting&lt;/a&gt; the messages with that claim for further study.  The messages were almost all sent from a few distinct subnets, all of them apparently fairly well stocked with real mailservers.&lt;br /&gt;&lt;br /&gt;Based on data from the spam messages and &lt;tt&gt;whois&lt;/tt&gt; lookups and the larger groupings of messages, the professional spammers are, for your convenience in case you want to visit them:&lt;br /&gt;&lt;br /&gt;NN, LLC&lt;br /&gt;4001 Kennett Pike&lt;br /&gt;Suite 134-910&lt;br /&gt;Greenville, DE 19807&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;Spiesigma PLC &lt;br /&gt;P.O. BOX 243, 2221 S Webster Ave&lt;br /&gt;Green Bay, WI 54301&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;GreenButtonMedia.com&lt;br /&gt;5580 La Jolla Blvd # 73&lt;br /&gt;La Jolla, CA 92037&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;AdSelectMedia.com&lt;br /&gt;5482 Wilshire Blvd. #302&lt;br /&gt;Los Angeles, CA 90036&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;BestOnlineGreetings.com&lt;br /&gt;5482 Wilshire Blvd. #302&lt;br /&gt;Los Angeles, CA 90036&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;MyPromotionNetwork.com&lt;br /&gt;970 West Valley Parkway&lt;br /&gt;Suite 604&lt;br /&gt;Escondido, CA 92025&lt;br /&gt;&lt;br /&gt;GreatTechsOnline.com&lt;br /&gt;5580 La Jolla Blvd # 73&lt;br /&gt;La Jolla, CA 92037&lt;br /&gt;US&lt;br /&gt;&lt;br /&gt;CrownVenturesMedia.com&lt;br /&gt;7127 Hollister Ave., Suite 25A, #145&lt;br /&gt;Goleta, CA 93117&lt;br /&gt;&lt;br /&gt;Top Notch Media, Inc.&lt;br /&gt;1735 Market Street · Suite A · PMB 429&lt;br /&gt;Philadelphia, PA 19103-7588&lt;br /&gt;&lt;br /&gt;In addition, some of the domain names used in the spam messages were registered via an anonymizing service whose whois data comes out as:&lt;br /&gt;&lt;br /&gt;Dynamic Dolphin Privacy Protect&lt;br /&gt;5023 W 120th Ave #233&lt;br /&gt;Broomfield&lt;br /&gt;null,80020&lt;br /&gt;&lt;br /&gt;The spam volume from all of them swelled at roughly the same time, so it is likely that they cooperate on keeping their lists up to date.  &lt;br /&gt;&lt;br /&gt;So we see spammers evolving:  They buy or rent real mail servers now and they have even started coordinating.  Using greylisting has actually increased the cost of becoming a successful spammer.&lt;br /&gt;&lt;br /&gt;At our end of the game, we stay ahead of their game thanks to tools like &lt;tt&gt;spamd&lt;/tt&gt;, and several of us dump and share our greytrap lists.  It is even possible to collect IP addresses and feed a large number at the time to &lt;tt&gt;spamdb&lt;/tt&gt;, but after a little while I grew tired of the increased manual work decided it was time for a &lt;span style="font-style:italic;"&gt;counterprank&lt;/span&gt;.  Cleaning up after spammers is no fun, unless you can have little robot helpers do the heavy lifting.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The Counterprank: A Feedback Loop&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;Regular readers will remember that I have a &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;collection&lt;/a&gt; of known bad addresses in my domains that I use for my greytrapping, all generated elsewhere, that has &lt;a href="http://bsdly.blogspot.com/2008/09/and-shame-or-socially-responsible-use.html"&gt;come in handy&lt;/a&gt; at times.  Run of the mill spam operators tend to just suck in anything that looks like email addresses, and keeping the list available on the web has served us extremely well here.  &lt;br /&gt;&lt;br /&gt;The professional spammers are apparently not quite that stupid, so the problem became a little different.  They were able to sneak past greylisting and conventional content filtering. Also, they were apparently oblivious to email communication and as far as I can tell their &lt;a href="http://slowventures.com/unsubscribe.asp"&gt;Unsubscribe&lt;/a&gt; pages are not entirely believeable. &lt;br /&gt;&lt;br /&gt;So it was a relief to find that places such as &lt;a href="http://e-researchcouncil.com/"&gt;http://e-researchcouncil.com/&lt;/a&gt; are very happy to accept any email addresss you can come up with.  Time to enlist a few of our imaginary friends, drawn from &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;the obvious source&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I did ponder the ethics for a few moments.  After all, the forms included sentences such as "I certify that I am a US citizen", which was about as true as the assertion that I had signed up via an AOL proxy.  But I did not ponder that matter for long.  Moments later, most of the spam operators found themselves with new neighbors with odd names and foreign email addresses.  &lt;br /&gt;&lt;br /&gt;The net result is that the hosts start appearing automagically in the hourly dump of my list of &lt;a href="http://www.bsdly.net/~peter/bsdly.net.traplist"&gt;greytrapped addresses&lt;/a&gt; and in the daily &lt;a href="http://home.nuug.no/~peter/spamd-report.txt"&gt;spamd activity report&lt;/a&gt;.  With a little luck, we have succeeded in increasing the cost of spamming one tiny increment.  &lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;If you found this article useful, enjoyable or irritating, please drop me a line.  Material related to this article is available via links from my web space.  Some additional material will be made available for reasonable research purposes.  If you want more extensive or non-trivial assistance, please contact &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; to make arrangements.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Note&lt;/b&gt; that the list of &lt;a href="http://www.bsdly.net/~peter/bsdly.net.traplist"&gt;greytrapped addresses&lt;/a&gt; is updated &lt;i&gt;ten past every full hour&lt;/i&gt;, fetching it every minute like some Americans have started doing is not a good use of your resources.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-3998055330591057112?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/3998055330591057112/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/03/oh-yes-you-signed-up-for-this-you-did.html#comment-form' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3998055330591057112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3998055330591057112'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/03/oh-yes-you-signed-up-for-this-you-did.html' title='Oh yes, you signed up for this.  You did.  Honest.'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5802848218231958386</id><published>2009-03-14T21:00:00.002+01:00</published><updated>2009-03-14T21:07:10.262+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeCode'/><category scheme='http://www.blogger.com/atom/ns#' term='malware'/><category scheme='http://www.blogger.com/atom/ns#' term='compartmentalization'/><category scheme='http://www.blogger.com/atom/ns#' term='cybercrime'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>What have the black boxes wrought</title><content type='html'>&lt;span style="font-style:italic;"&gt;How compartmentalization turned into a security disaster. Greed, incompetence and dishonesty was involved.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;IT security or the lack of any such thing has grabbed headlines lately here in Norway.  A series of high profile public institutions have seen large scale worm infections on their Microsoft based networks.  Late last year the regional government agency responsible for essentially all health care in the western part of the country had a worm infection so bad they essentially shut down their network as a preventive measure.  During the last few weeks, the national &lt;a href="http://www.politi.no/"&gt;police force,&lt;/a&gt; of all thinkable organizations, has seen not one, but &lt;span style="font-style:italic;"&gt;two &lt;/span&gt;large-scale incidents. &lt;br /&gt;&lt;br /&gt;Use of Microsoft products and sloppy system maintenance are both pervasive enough that similar incidents are likely happening right now elsewhere, somewhere near you too.  The news reports about the Norwegian police force's IT problems contained one item that was particularly shocking to IT types like me:  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Apparently large parts of the bureaucracy that is responsible for the confidential and correct processing of criminal matters and all sorts of sensitive personal information associated with the crimes runs essential services on Microsoft Windows NT 4.0. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;That version of the Microsoft product is so old it is officially &lt;a href="http://www.microsoft.com/windows/lifecycle/servicepacks.mspx"&gt;abandonware&lt;/a&gt;, and early reports of the police network problems included the oldish news that even the antiware vendors have stopped supporting the system.  Later reports had police IT department officials claim that the worm infections were not that much of a security problem, since at this point &lt;span style="font-style:italic;"&gt;all the worm actually did was spread&lt;/span&gt;.  &lt;br /&gt;&lt;br /&gt;Break out the popcorn, boys and girls: In an upcoming episode, we will see how the worm infected Windows machines the Royal Norwegian Police did not find or couldn't clean well enough are used in the perpetration of some cybercrime or other.&lt;br /&gt;&lt;br /&gt;It's all pretty sickening, and at this point it would be rather tempting to spend the rest of the column ranting about the general stupidity of Windows users.  But a smarter approach is to see if there is a lesson to be learned.  To do that, we need to backtrack quite a bit and look at the cult of the little black boxes.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The cult of the little black boxes, and Microsoft the 1980s corporation&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;We need to go back and take in what the world was like in the nineteen-eighties.  This was back when the world was divided into real computers (from the likes of IBM, Digital, and regional quasi-monopolies like our own Norsk Data) and those annoying toys called 'personal' microcomputers, where the 'IBM PC compatibles' had emerged as the surprise leader of the pack.  Computer networks were usually private, corporate things and rarely interconnected much, with the rare exception of those institutions that were part of the US Department of Defense science experiment that was becoming known variously as ARPANET or 'the Internet'.&lt;br /&gt;&lt;br /&gt;If you took your programming classes back in the nineteen-eighties, you likely know that we were taught that black boxes were good.  Compartmentalization was the order of the day, meaning that as a developer you were supposed to create code with a well defined inteface, so anybody interacting with your code would be presented with a cleanly predictable result to any given input.  Your code should be a black box and for any particular specificiation there could be written several interchangeable modules to fit the bill.&lt;br /&gt;&lt;br /&gt;So far so good, predictability is nice and with compartmentalization comes, we hope at least, clear chains of responsibility.  But several factors combined to take the cult of the black boxes and turn it into a corporate culture at a corporation that was growing from a handful of furry hackers into a corporation at the time, namely Microsoft.  Microsoft' early successes all came from writing software for single-user systems that were so limited that working around the limitations of the hardware became much of a lifestyle.  At the start of the decade, networking on microcomputers in Microsoft's range was pretty much out of the question, and by the end of the eighties any sort of connectivity (even dial-up) was still an expensive optional extra that was still too hard to configure for most people.  On the storage side, we progressed from 128 kilobyte floppies to hard drives of just over a hundred megabytes for personal systems, with the 32 megabyte partition size still a very present limiting factor.  &lt;br /&gt;&lt;br /&gt;Amazing developments all, but both the applications and the organization grew faster than the hardware could keep up with.  The organization now had several levels of management, and each one demanded maximum productivity from their underlings.  Keeping in mind that each programmer or team would be writing little black boxes anyway, it made perfect sense to set up the software production line so each developer only had access to those parts of the system he or she was supposed to be working on.  That way developers would be concentrating on their main task and minimize time spent waiting for compiles to finish.  At predetermined times the developers would then upload the source code for their little black boxes to a central build system.  The only people who had all the parts of the projects were in fact the custodians of the build system.  Source code version control systems were made part of the process, but there is anecdotal evidence that the transition from standalone hacking to a version control regime was a rough one for many early Microsoft developers.&lt;br /&gt;&lt;br /&gt;Only a few days ago I offered pretty much the content of the last paragraph to a table of youngish free software developers over beer. The reaction was quick an unanimous: "That way, nobody really knows what's going on in the software".  That is a very valid point, and it proves how far we've come with free software.  At the same time there is every reason to believe that the extreme compartmentalization that Microsoft established for its product development in the 1980s was the way things were done there until very recently, if indeed it has changed at all. &lt;br /&gt;&lt;br /&gt;By the mid-1990s when Microsoft had been dragged kicking and screaming into modern-day network environments, and the ongoing saga of internet-enabled malware started in earnest (I've written a summary in a &lt;a href="http://home.nuug.no/~peter/foss-aalborg2008/effective-countermeasures.pdf"&gt;malware paper&lt;/a&gt;), with the company moving from early denial of any bugs whatsoever through a near-constant barrage of emergency hotfixes to today's monthly megapatch regime.  With the source code still a closely guarded (if occasionally leaked) secret, there is really no way for us to know if they've learned any lessons at all.  One indication that they still have some way to go is this &lt;a href="http://www.infoworld.com/article/09/01/22/Bugs_in_Microsoft_tech_documentation_continue_to_rise_1.html"&gt;Infoworld article&lt;/a&gt; about the state of their protocol documentation (summary: it's not to be trusted at all).  As for the state of the source code, all we can do is to study the flow of urgent patches.&lt;br /&gt;&lt;br /&gt;Much better then to learn how it should be done - Say from &lt;a href="http://openbsd.org/papers/asiabsdcon2009-release_engineering/"&gt;Theo de Raadt's AsiaBSDCon 2009 presentation&lt;/a&gt; about how &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;'s release process works, and if you want more of the gory details, do check his classic &lt;a href="http://openbsd.org/papers/ven05-deraadt/index.html"&gt;exploit mitigation&lt;/a&gt; presentation.  Also, most likely you could do worse than read Damien Miller's &lt;a href="http://openbsd.org/papers/openssh-measures-asiabsdcon2007-slides.pdf"&gt;OpenSSH security presentation&lt;/a&gt; (full text &lt;a href="http://openbsd.org/papers/openssh-measures-asiabsdcon2007.pdf"&gt;here&lt;/a&gt;).  It's all those little things we do, at &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; and in free software in general.&lt;br /&gt;&lt;br /&gt;If you found this column useful, entertaining or irritating, please drop me a line.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5802848218231958386?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5802848218231958386/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/03/what-have-black-boxes-wrought.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5802848218231958386'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5802848218231958386'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/03/what-have-black-boxes-wrought.html' title='What have the black boxes wrought'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-9167088512004987725</id><published>2009-01-22T17:57:00.007+01:00</published><updated>2009-01-23T09:41:39.777+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='slow brutes'/><category scheme='http://www.blogger.com/atom/ns#' term='ssh attack'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforce'/><category scheme='http://www.blogger.com/atom/ns#' term='intrusion detection'/><category scheme='http://www.blogger.com/atom/ns#' term='coordinated bruteforcers'/><title type='text'>The slow brutes, a final roundup</title><content type='html'>&lt;span style="font-style:italic;"&gt;The slow brutes stopped their churning.  Their last call was for &lt;tt&gt;sophia&lt;/tt&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Over the last few columns, we have followed the progress of what appears to be a botnet cloud's attempt at gaining access to a couple of FreeBSD machines I have in my care.  One of my predictions about the distributed, slow ssh bruteforce attempts we started seeing in November of 2008 was that at the rate they were going at the time, it would be well into the new year before we would see the end of their alphabetic progression.  As it turns out, they stopped just before year end, before even reaching the 'T's.  The last attempt recorded was this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Dec 30 11:09:03 filehut sshd[54981]: error: PAM: authentication error for illegal user sophia from static-98-119-110-139.lsanca.dsl-w.verizon.net&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;The full collection of raw data is available &lt;a href="http://www.bsdly.net/~peter/slowbrutes.all.txt"&gt;here&lt;/a&gt;, with a .csv summarising number of attempts, user names and hosts per day &lt;a href="http://www.bsdly.net/~peter/datasheet.csv"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;With the incident apparently over, we can sit back and study the data and see what patterns emerge.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The anatomy of the attack&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;There are a number of ways to slice and dice the data.  One useful way to view the collection is to do day to day statistics, such as the ones in &lt;a href="http://www.bsdly.net/~peter/datasheet.csv"&gt;this&lt;/a&gt; .csv file, numbers extracted by some simple &lt;tt&gt;grep&lt;/tt&gt;ing and &lt;tt&gt;awk&lt;/tt&gt;ery.  Based on the day to day data, I made this graph to illustrate the progression.  &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7kOeLY9p2h0/SXituCpYbhI/AAAAAAAAABE/ILwTr_pl6Gk/s1600-h/slowbrutes-graph.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 259px;" src="http://3.bp.blogspot.com/_7kOeLY9p2h0/SXituCpYbhI/AAAAAAAAABE/ILwTr_pl6Gk/s400/slowbrutes-graph.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5294172368470044178" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then for your data overload cravings, I turned the same data to a log scale for enhancement and added number of attempts -&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7kOeLY9p2h0/SXivOX5YD4I/AAAAAAAAABM/i5w9GlfpGqA/s1600-h/slowbrutes-graph-log.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 350px;" src="http://4.bp.blogspot.com/_7kOeLY9p2h0/SXivOX5YD4I/AAAAAAAAABM/i5w9GlfpGqA/s400/slowbrutes-graph-log.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5294174023441715074" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;hopefully adding some insight into just what happened when and maybe supporting some guessing about what they were indeed trying to achieve.&lt;br /&gt;&lt;br /&gt;It is possible that we missed the actual start of those coordinated attempts, but the data we do have show a few interesting points.&lt;br /&gt;&lt;br /&gt;The earliest preserved data from November 19th shows the most attempts per user name (average 13.29), with 7 unique user names tried and a relatively low number of hosts (76).&lt;br /&gt;&lt;br /&gt;On November 20th, the cloud turned its attention to one user, &lt;tt&gt;root&lt;/tt&gt;, trying only that user name a total of 1697 times from 566 different hosts. It would be well into November 21st before the cloud moved on to &lt;tt&gt;admin&lt;/tt&gt; (128 attempts, 107 different hosts) and an apparently coordinated alphabetic progression.&lt;br /&gt;&lt;br /&gt;The absolute number of attempts and hosts involved per day fell quickly, with average number of attempts per user name stabilizing at a fairly low number after a few days.  The exception is the peak on December 27th, which could perhaps be explained by owners of compromised computers returning from holiday celebrations and turning their computers back on.  The sharp decline in all numbers over the next few days before the attempts stop seems consistent with what we assumed:  That the botnet masters were allocating resources according to likelihood of success.  &lt;br /&gt;&lt;br /&gt;So why is this incident important, or even interesting?  After all, attempts to gain access to services by brute force or dictionary based attacks are nothing new.  I was rather intrigued to see clear evidence that miscreants were trying to find the way under the radar of intrusion detectors by distributing the intrusion task over a large number of hosts.  If their success rate at my sites is anything to go by, this may be just a weird anomaly and an idea that did not lead anywhere.  I haven't heard from anybody who was actually compromised by this particular set of clouds, but then again anybody who got bitten would likely be rather shy about telling the world at large or even fairly obscure researchers about the fact.  &lt;br /&gt;&lt;br /&gt;Always looking for patterns I even went to the trouble of extracting some data from the logs about the individual hosts that participated in the attack.  After some basic shell gymnastics I ended up with a .csv of hostnames, number of attempts from the host as well as the date of first and last contact (available &lt;a href="http://www.bsdly.net/~peter/chunked.data.stripped.csv"&gt;here&lt;/a&gt;). Next I tried (and failed - gnuplot gurus, here's your chance) to graph the data usefully in OpenOffice, but ended up with a &lt;a href="http://www.bsdly.net/~peter/chunked.data.stripped.sorted.csv"&gt;sorted version&lt;/a&gt; (sorted by attempts, start and end date) that at least shows us that a surprising number of hosts actually hung on for most of the time the coordinated attepts went on.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The lessons learned: security the old-fashioned way&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The general lesson of this incident is rather predictably that miscreants will occasionally try new and original ways to try to crack their way into your system.  The slow method was a refreshing variation, and for all we know they may have succeeded in places where the people in charge remain blissfully unaware.  Trying to catalogue and detect all kinds of variations on the theme of "attempts at unauthorized access" is the kind of activity that has kept "antivirus" people in beer money for quite a while, and if there is a lesson to be learned here, it is that trying to &lt;span style="font-style:italic;"&gt;enumerate badness&lt;/span&gt; (Yes, do look it up using your favorite search) is a losing game.  Make sure whatever system you run is sanely constructed, any bugs that do turn up are fixable within a reasonable time frame, and so on.  I suppose I will come back later with a rant about how much damage the "black boxes" school of thinking about software has done, especially after it got elevated to practically religious dogma by certain major players. And yes, you can usefully look that up as well.&lt;br /&gt;&lt;br /&gt;For those of you who are interested in the data, here are the now complete extracts for your perusal:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.bsdly.net/~peter/slowbrutes.all.txt"&gt;The full set of log data&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.bsdly.net/~peter/datasheet.csv"&gt;The per day .csv file&lt;/a&gt; - and &lt;a href="http://www.bsdly.net/~peter/datasheet-with-graph.ods"&gt;the same in an .ods sheet with some graphing attempts&lt;/a&gt;&lt;br /&gt;Per host data in the &lt;a href="http://www.bsdly.net/~peter/chunked.data.stripped.csv"&gt;"Host,Attempts,StartDate,EndDate"&lt;/a&gt; format and &lt;a href="http://www.bsdly.net/~peter/chunked.data.stripped.sorted.csv"&gt;sorted by attempts, start and end&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For those of you interested in learning about &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; and related delights like PF, &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; is set to start offering courses featuring among others yours truly as well as the usual support and consulting offerings.  Contact the good front end people at &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt; for further details.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;International readers are at liberty to ignore the following, but Norwegian online IT magazine &lt;a href="http://digi.no/"&gt;digi.no&lt;/a&gt; are apparently in the process of setting up a sort of census of Norwegian bloggers. The following is there to make this blog show up in their listing.  You can read &lt;a href="http://php.digi.no/phpf/redir/?u=http://digi.no/php/art.php?id=801899&amp;pid=&amp;r=http://digi.no/"&gt;their article&lt;/a&gt; about the initiative (Norwegian only, unfortunately).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-9167088512004987725?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/9167088512004987725/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/9167088512004987725'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/9167088512004987725'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2009/01/slow-brutes-findal-roundup.html' title='The slow brutes, a final roundup'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7kOeLY9p2h0/SXituCpYbhI/AAAAAAAAABE/ILwTr_pl6Gk/s72-c/slowbrutes-graph.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8520686719379178510</id><published>2008-12-21T23:29:00.003+01:00</published><updated>2008-12-22T00:05:09.100+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='PF'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforcers'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='coordinated bruteforcers'/><title type='text'>Into a new year, slowly pounding the gates</title><content type='html'>&lt;span style="font-style:italic;"&gt;The distributed but clearly coordinated bruteforcers are still at it.  How long until they reach the end of the alphabet? And why are they staying away from my &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; machines? Are we seeing the contours of a controlling intelligence?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;As large parts of the Western world prepares for the holidays, the swarm of little robots that started trying to pry open the doors to my machines some weeks back are still at it.  As far as we can tell, the coordinated attempts started some time in early November or perhaps late October (we don't keep logs around for long enough to be sure), with an alphabetic progression that has now progressed to somewere into the &lt;span style="font-style:italic;"&gt;o&lt;/span&gt;s.  The complete listing from the time I started noticing up to the time I started writing this column can be found &lt;a href="http://www.bsdly.net/~peter/slowbrutes-2008-12-21.txt"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I've written about this &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;before&lt;/a&gt;, and in fact one of those columns was &lt;a href="http://it.slashdot.org/article.pl?sid=08/12/02/2124244"&gt;slashdotted&lt;/a&gt;, a pleasant surprise to me and a cause of some excitement among my colleagues at &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After writing that article, I did some further research and found out that a precursor to what we are seeing now was observed as early as May 2008, as described in an &lt;a href="http://arstechnica.com/news.ars/post/20080515-strong-passwords-no-panacea-as-ssh-brute-force-attacks-rise.html"&gt;Ars Technica&lt;/a&gt; article published at the time. That article also reveals, via Linuxtoday, that yours truly was among the many who failed to understand &lt;a href="http://commercial.linuxtoday.com/news_story.php3?ltsn=2008-05-16-007-26-SC-HL-SW-0005"&gt;the problem&lt;/a&gt;, at least for a while.  Then again, maybe actual log excerpts would have helped.&lt;br /&gt;&lt;br /&gt;The problem, such as it is, seems to be that a somebody who herds a botnet has decided that the laws of big numbers favors those who keep trying for long enough.  User names and passwords are far generally far enough from random that if you are allowed to go on for long enough, you will sooner or later manage to guess a correct combination of username and password and get access to a machine somewhere.&lt;br /&gt;&lt;br /&gt;Sysadmins have been seeing bruteforce attacks for years.  The traditional brute force attack would be a rapid succession of login attempts from one host, and usable countermeasures were devised in short order.  My favorite of course involves &lt;a href="http://www.openbsd.org/faq/pf/"&gt;PF&lt;/a&gt;, and the &lt;a href="http://home.nuug.no/~peter/pf/en/bruteforce.html"&gt;description&lt;/a&gt; of how to thwart traditional bruteforcers is one of the more popular pages in my &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The distributed, slow bruteforcers are different.  For one, the login attempts from each host out in the cloud are spaced far enough apart in time that intrusion attmpt detectors will not trigger.  Next, it takes a keen eye to spot the common thread in the attempts spaced up to a number of minutes apart:  a monotonously alphabetic progression of user names, with attempts coming in from different hosts.  Some number of attemtps at a specific user name, before the cloud moves on the next one, in alphabetic order.&lt;br /&gt;&lt;br /&gt;During the period we have been observing the slow brute activity, a total of 695 hosts have been involved.  A total of 665 hosts made unsuccessful attempts at authenticating at the hosts we are observing during November, while the number for December so far is 346.  The typical number of attempts per user name has decreased, too, from a typical ten do fifteen during the early days down to between one and four during the last couple of weeks.&lt;br /&gt;&lt;br /&gt;I thought at first that the decrease in activity was just an indicator that compromised hosts were getting cleaned up, but my colleague Egil Möller was the first to suggest that since we know the attempts are coordinated, it is not too far fetched to assume that the controlling system measures the rates of success for each of the chosen targets and allocates resources accordingly.&lt;br /&gt;&lt;br /&gt;If Egil's assumption is right, we are seeing the bad guys adapting.  My systems do not run any services they do not need to, and apparently all attempts at gaining access have been futile so far.  So, the controlling system shifts resources to elsewhere, even if the access attempts do not stop entirely.  Come to think of it, I'm not seeing any attempts at all on my &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; systems, so it is possible to speculate that whoever is behind this phenomenon has decided that OpenBSD systems are hardened enough to begin with and usually run by compentent paranoids as to be useless as targets.  That would be a comforting thought at the end of a long and sometimes trying year.&lt;br /&gt;&lt;br /&gt;Speaking of the new year, look for exciting announcements coming from &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt;.  We're working on some cool things.  And with a bit of luck, I might run into you at one conference or the other during the coming year.&lt;br /&gt;&lt;br /&gt;Happy holidays to everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8520686719379178510?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8520686719379178510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8520686719379178510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8520686719379178510'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/12/into-new-year-slowly-pounding-gates.html' title='Into a new year, slowly pounding the gates'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-7280868924948693159</id><published>2008-12-06T22:41:00.003+01:00</published><updated>2008-12-06T22:52:01.081+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='PF'/><category scheme='http://www.blogger.com/atom/ns#' term='packet filter'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='firewall'/><category scheme='http://www.blogger.com/atom/ns#' term='bot herders'/><category scheme='http://www.blogger.com/atom/ns#' term='botnets'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforce'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><title type='text'>A Small Update About The Slow Brutes</title><content type='html'>&lt;i&gt;Slow and steady might actually do it, eventually.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The reactions to my &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;December 2nd column&lt;/a&gt; hit me with a bit of surprise.  The column was taken on by &lt;a href="http://it.slashdot.org/article.pl?sid=08/12/02/2124244"&gt;slashdot&lt;/a&gt; and &lt;a href="http://www.linuxtoday.com/security/2008120203435NWBDNT"&gt;Linux Today&lt;/a&gt; both, producing a largish number of page views, but only two clicks on my featured ads.  But while my clickthrough rate is not particularly interesting to others, the comments to the columns sometimes are.&lt;br /&gt;&lt;br /&gt;If you look at the comments at &lt;a href="http://it.slashdot.org/article.pl?sid=08/12/02/2124244"&gt;slashdot&lt;/a&gt; and elsewhere, most of the commenters most likely did not actually read the column in full or did not take the time to digest what it actually said, with some &lt;a href="http://it.slashdot.org/comments.pl?sid=1048609&amp;cid=25970231"&gt;notable exception&lt;/a&gt;s.  And yes, there were others, some also wrote in via email with informed comment - thanks!  &lt;br /&gt;&lt;br /&gt;For the benefit of those who did not get the point the first time around, I'll try once more to explain what the observations are and what they may in fact mean.&lt;br /&gt;&lt;br /&gt;A number of commenters offered well meant advice to use packages like &lt;a href="http://www.fail2ban.org/"&gt;fail2ban&lt;/a&gt;, &lt;a href="http://denyhosts.sourceforge.net/"&gt;denyhosts&lt;/a&gt; or a few others.  &lt;br /&gt;&lt;br /&gt;The common denominator for all of them is that they track single hosts that make a larger than usual number of connections or are the source of a number of failed logins higher than a certain threshold value over a set time period.  I appreciate your concerns, but the subject of &lt;a href="http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html"&gt;the column&lt;/a&gt; did not fit well with the way those the packages work.&lt;br /&gt;&lt;br /&gt;In fact, a similar scheme was already in place at the site that provided the data.  The machines that provided the &lt;tt&gt;ssh&lt;/tt&gt; logs are &lt;a href="http://www.freebsd.org/"&gt;FreeBSD&lt;/a&gt; ones (as the sharper ones have observed already, and the reasons may possibly be revealed over beer sometime), but any gateway under my control will run &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;, and by extension, &lt;a href="http://www.openbsd.org/faq/pf/"&gt;PF&lt;/a&gt; (and yes, there is a book you might want to order from &lt;a href="https://https.openbsd.org/cgi-bin/order?B07=1&amp;B07%2b=Add"&gt;one&lt;/a&gt; (North America) or the &lt;a href="https://https.openbsd.org/cgi-bin/order.eu?B07=1&amp;B07%2b=Add"&gt;other&lt;/a&gt; (Europe and elsewhere) of the OpenBSD project's sites).  For a quick fix of background, the &lt;a href="http://home.nuug.no/~peter/pf/en/bruteforce.html"&gt;online PF tutorial&lt;/a&gt; may be worth a look.&lt;br /&gt;&lt;br /&gt;Anyway, the &lt;tt&gt;/etc/pf.conf&lt;/tt&gt; at that site's gateway contains the lines&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;table &amp;lt;abusive_hosts&amp;gt; persist&lt;br /&gt;block log quick from &amp;lt;abusive_hosts&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;and&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;pass log (all) quick proto { tcp, udp } from any to any port ssh flags S/SA keep state \&lt;br /&gt;        (max-src-conn 15, max-src-conn-rate 7/3, overload &amp;lt;abusive_hosts&amp;gt; flush global) &lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;Those lines provide a variation on the logic that those posters recommended.  Essentially, any host that tries 15 or more simultaneous &lt;tt&gt;ssh&lt;/tt&gt; connections, or come in at a rate of more than seven over the span of three seconds, will be added to the table &lt;tt&gt;&amp;lt;abusive_hosts&amp;gt;&lt;/tt&gt;, and the &lt;tt&gt;block quick&lt;/tt&gt; rule blocks any further access from those hosts.  Yes, &lt;tt&gt;flush global&lt;/tt&gt; means what you think it does.&lt;br /&gt;&lt;br /&gt;This works at the network level.  For a gateway with a potentially large number of hosts on either side, the success or otherwise of eventual authentication may not be relevant and may be better dealt with elsewhere.  Anyway, at the time I started working on this column, the table &lt;tt&gt;&amp;lt;abusive_hosts&amp;gt;&lt;/tt&gt; on the gateway contained only two hosts:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;:~$ sudo pfctl -t abusive_hosts -v show&lt;br /&gt;   194.204.37.93&lt;br /&gt;   201.57.187.114&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;I keep offenders in that table for 24 hours only, I do not believe in the permanent bans that some commenters advocate.  After all, there is such a thing as DHCP, and entire netblocks are reallocated with amazingly short intervals.&lt;br /&gt;&lt;br /&gt;Anyway, looking at the authentication log on the gateway reveals how those hosts got added to the the table in the first place:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;:~$ grep 194.204.37.93 /var/log/authlog&lt;br /&gt;Dec  5 22:50:30 delilah sshd[15266]: Did not receive identification string from 194.204.37.93&lt;br /&gt;Dec  5 22:50:37 delilah sshd[6106]: Did not receive identification string from 194.204.37.93&lt;br /&gt;Dec  6 01:29:58 delilah sshd[30359]: Failed password for root from 194.204.37.93 port 47071 ssh2&lt;br /&gt;Dec  6 01:29:58 delilah sshd[7293]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:29:59 delilah sshd[4395]: Failed password for root from 194.204.37.93 port 47296 ssh2&lt;br /&gt;Dec  6 01:29:59 delilah sshd[27615]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:00 delilah sshd[12248]: Failed password for root from 194.204.37.93 port 47330 ssh2&lt;br /&gt;Dec  6 01:30:00 delilah sshd[24579]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:01 delilah sshd[3434]: Failed password for root from 194.204.37.93 port 47380 ssh2&lt;br /&gt;Dec  6 01:30:01 delilah sshd[32737]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:02 delilah sshd[11984]: Failed password for root from 194.204.37.93 port 47425 ssh2&lt;br /&gt;Dec  6 01:30:02 delilah sshd[27059]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:03 delilah sshd[13345]: Failed password for root from 194.204.37.93 port 47459 ssh2&lt;br /&gt;Dec  6 01:30:03 delilah sshd[1858]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:04 delilah sshd[12739]: Failed password for root from 194.204.37.93 port 47516 ssh2&lt;br /&gt;Dec  6 01:30:04 delilah sshd[16843]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:05 delilah sshd[13796]: Failed password for root from 194.204.37.93 port 47564 ssh2&lt;br /&gt;Dec  6 01:30:05 delilah sshd[16789]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:06 delilah sshd[628]: Failed password for root from 194.204.37.93 port 47602 ssh2&lt;br /&gt;Dec  6 01:30:06 delilah sshd[6162]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:07 delilah sshd[2579]: Failed password for root from 194.204.37.93 port 47646 ssh2&lt;br /&gt;Dec  6 01:30:07 delilah sshd[12461]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:08 delilah sshd[12725]: Failed password for root from 194.204.37.93 port 47685 ssh2&lt;br /&gt;Dec  6 01:30:08 delilah sshd[29909]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:09 delilah sshd[16560]: Failed password for root from 194.204.37.93 port 47724 ssh2&lt;br /&gt;Dec  6 01:30:09 delilah sshd[1690]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:09 delilah sshd[1600]: Failed password for root from 194.204.37.93 port 47771 ssh2&lt;br /&gt;Dec  6 01:30:09 delilah sshd[28882]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:10 delilah sshd[29953]: Failed password for root from 194.204.37.93 port 47807 ssh2&lt;br /&gt;Dec  6 01:30:10 delilah sshd[15349]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;Dec  6 01:30:11 delilah sshd[2962]: Failed password for root from 194.204.37.93 port 47845 ssh2&lt;br /&gt;Dec  6 01:30:11 delilah sshd[27557]: Received disconnect from 194.204.37.93: 11: Bye Bye&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;and&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;:~$ grep 201.57.187.114 /var/log/authlog&lt;br /&gt;Dec  5 23:55:30 delilah sshd[24338]: Did not receive identification string from 201.57.187.114&lt;br /&gt;Dec  5 23:55:35 delilah sshd[23570]: Did not receive identification string from 201.57.187.114&lt;br /&gt;Dec  5 23:59:58 delilah sshd[10216]: Invalid user raimundo from 201.57.187.114&lt;br /&gt;Dec  5 23:59:58 delilah sshd[10216]: Failed password for invalid user raimundo from 201.57.187.114 port 35776 ssh2&lt;br /&gt;Dec  5 23:59:58 delilah sshd[18515]: Received disconnect from 201.57.187.114: 11: Bye Bye&lt;br /&gt;Dec  6 00:00:01 delilah sshd[17353]: Invalid user joan from 201.57.187.114&lt;br /&gt;Dec  6 00:00:01 delilah sshd[17353]: Failed password for invalid user joan from 201.57.187.114 port 37570 ssh2&lt;br /&gt;Dec  6 00:00:02 delilah sshd[30314]: Received disconnect from 201.57.187.114: 11: Bye Bye&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;which again shows that these were the old-fashioned, rapid-fire kind of bots.  Looking a bit closer even reveals that they kept trying after they were put in the doghouse:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;:~$ sudo pfctl -t abusive_hosts -vT show&lt;br /&gt;   194.204.37.93&lt;br /&gt;        Cleared:     Sat Dec  6 01:30:11 2008&lt;br /&gt;        In/Block:    [ Packets: 18985              Bytes: 835336             ]&lt;br /&gt;        In/Pass:     [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;        Out/Block:   [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;        Out/Pass:    [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;   201.57.187.114&lt;br /&gt;        Cleared:     Sat Dec  6 00:00:02 2008&lt;br /&gt;        In/Block:    [ Packets: 800                Bytes: 48268              ]&lt;br /&gt;        In/Pass:     [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;        Out/Block:   [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;        Out/Pass:    [ Packets: 0                  Bytes: 0                  ]&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;And of course there were no traces of those IP addresses or corresponding host names in the authentication logs in the machines where I have collected the data about slow bots.  My best guess at why is that the gateway's IP address is at the low end of the routable range for that site.  Note to bruteforcers: try working the Internet in reverse next time. (Not that it would help much here, but that's another story.)  &lt;br /&gt;&lt;br /&gt;The reason why I don't see much activity for other services is simply that those machines do not run all that many services, and only the services they actually run for the world's benefit are in fact available to the outside.  &lt;br /&gt;&lt;br /&gt;My log data shows a definite pattern, and the alphabetic progression points to a degree of coordination.  The slow bots are, I theorize, operated by a botnet herder who has a large pool of compromised hosts available and who also believes that given enough time, sooner or later you &lt;b&gt;will&lt;/b&gt; find a correct combination of user names and passwords for a given host.  Statisticians tell me that assumption is in fact valid, at least to some extent.&lt;br /&gt;&lt;br /&gt;By setting up the necessarily large number of attempts to come from a sizable number of hosts in either round-robin or pseudo-random order and intervals for each individual host's attempts in the several minutes to hours range, there is a very real possibility that the slow but determined campaign for control of any single system will drown in the noise.&lt;br /&gt;&lt;br /&gt;It is useful to keep in mind that malware moved out of the hands of pranksters and vandals years ago.  Mass destruction of systems or data might still make the occasional headline, but staying out of the limelight is likely to be a lot more profitable.  Modern malware masters want their creations and charges to stay undetected.  What we may be seeing right at this moment is that they have realized the herd may only be sustainable if they grow it slowly.&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;If you are interested in researching the phenomena I've blogged about, you're welcome to contact me directly for more information or raw data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-7280868924948693159?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/7280868924948693159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7280868924948693159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/7280868924948693159'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/12/small-update-about-slow-brutes.html' title='A Small Update About The Slow Brutes'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-1258573916222041368</id><published>2008-12-02T19:50:00.010+01:00</published><updated>2008-12-06T12:52:39.343+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='malware'/><category scheme='http://www.blogger.com/atom/ns#' term='bot herders'/><category scheme='http://www.blogger.com/atom/ns#' term='cybercrime'/><category scheme='http://www.blogger.com/atom/ns#' term='botnets'/><category scheme='http://www.blogger.com/atom/ns#' term='bruteforce'/><title type='text'>A low intensity, distributed bruteforce attempt</title><content type='html'>&lt;i&gt;We have seen the future of botnets, and it is a distributed, low-key affair.  Are sites running free software finally becoming malware targets?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase 1: &amp;ldquo;That's odd &amp;hellip;&amp;rdquo;&lt;/b&gt;&lt;br /&gt;During the last few weeks, I noticed an anomaly in the authentication logs on one of my listening posts.  There were a larger than usual number of &lt;tt&gt;ssh&lt;/tt&gt; login attempts overall, a higher than usual number of attempts for non-existent user names as well as some failures for a few that actually exist as well.  &lt;br /&gt;&lt;br /&gt;Looking at the log directly a typical progression would look like this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Nov 19 15:04:22 rosalita sshd[40232]: error: PAM: authentication error for illegal user alias from s514.nxs.nl&lt;br /&gt;Nov 19 15:07:32 rosalita sshd[40239]: error: PAM: authentication error for illegal user alias from c90678d3.static.spo.virtua.com.br&lt;br /&gt;Nov 19 15:10:20 rosalita sshd[40247]: error: PAM: authentication error for illegal user alias from 207-47-162-126.prna.static.sasknet.sk.ca&lt;br /&gt;Nov 19 15:13:46 rosalita sshd[40268]: error: PAM: authentication error for illegal user alias from 125-236-218-109.adsl.xtra.co.nz&lt;br /&gt;Nov 19 15:16:29 rosalita sshd[40275]: error: PAM: authentication error for illegal user alias from 200.93.147.114&lt;br /&gt;Nov 19 15:19:12 rosalita sshd[40279]: error: PAM: authentication error for illegal user alias from 62.225.15.82&lt;br /&gt;Nov 19 15:22:29 rosalita sshd[40298]: error: PAM: authentication error for illegal user alias from 121.33.199.39&lt;br /&gt;Nov 19 15:25:14 rosalita sshd[40305]: error: PAM: authentication error for illegal user alias from 130.red-80-37-213.staticip.rima-tde.net&lt;br /&gt;Nov 19 15:28:23 rosalita sshd[40309]: error: PAM: authentication error for illegal user alias from 70-46-140-187.orl.fdn.com&lt;br /&gt;Nov 19 15:31:17 rosalita sshd[40316]: error: PAM: authentication error for illegal user alias from gate-dialog-simet.jgora.dialog.net.pl&lt;br /&gt;Nov 19 15:34:18 rosalita sshd[40334]: error: PAM: authentication error for illegal user alias from 80.51.31.84&lt;br /&gt;Nov 19 15:37:23 rosalita sshd[40342]: error: PAM: authentication error for illegal user alias from 82.207.104.34&lt;br /&gt;Nov 19 15:40:20 rosalita sshd[40350]: error: PAM: authentication error for illegal user alias from 70-46-140-187.orl.fdn.com&lt;br /&gt;Nov 19 15:43:39 rosalita sshd[40354]: error: PAM: authentication error for illegal user alias from 200.20.187.222&lt;br /&gt;Nov 19 15:46:41 rosalita sshd[40374]: error: PAM: authentication error for illegal user amanda from 58.196.4.2&lt;br /&gt;Nov 19 15:49:31 rosalita sshd[40378]: error: PAM: authentication error for illegal user amanda from host116-164.dissent.birch.net&lt;br /&gt;Nov 19 15:55:47 rosalita sshd[40408]: error: PAM: authentication error for illegal user amanda from robert71.lnk.telstra.net&lt;br /&gt;Nov 19 15:59:08 rosalita sshd[40412]: error: PAM: authentication error for illegal user amanda from static-71-166-159-177.washdc.east.verizon.net&lt;br /&gt;Nov 19 16:02:06 rosalita sshd[40455]: error: PAM: authentication error for illegal user amanda from host87-163-static.30-87-b.business.telecomitalia.it&lt;br /&gt;Nov 19 16:05:08 rosalita sshd[40459]: error: PAM: authentication error for illegal user amanda from 213.150.184.70&lt;br /&gt;Nov 19 16:08:16 rosalita sshd[40465]: error: PAM: authentication error for illegal user amanda from mail.pddsl.de&lt;br /&gt;Nov 19 16:11:24 rosalita sshd[40486]: error: PAM: authentication error for illegal user amanda from abu66.internetdsl.tpnet.pl&lt;br /&gt;Nov 19 16:15:00 rosalita sshd[40491]: error: PAM: authentication error for illegal user amanda from 125.77.106.246&lt;br /&gt;Nov 19 16:17:43 rosalita sshd[40497]: error: PAM: authentication error for illegal user amanda from 217.76.34.230&lt;br /&gt;Nov 19 16:20:54 rosalita sshd[40506]: error: PAM: authentication error for illegal user amanda from robert71.lnk.telstra.net&lt;br /&gt;Nov 19 16:24:09 rosalita sshd[40529]: error: PAM: authentication error for illegal user amanda from p578b4f0b.dip0.t-ipconnect.de&lt;br /&gt;Nov 19 16:28:11 rosalita sshd[40538]: error: PAM: authentication error for illegal user amanda from mail.carena-ci.com&lt;br /&gt;Nov 19 16:30:15 rosalita sshd[40551]: error: PAM: authentication error for illegal user amavis from 87.229.3.89&lt;br /&gt;Nov 19 16:34:31 rosalita sshd[40567]: error: PAM: authentication error for illegal user amavis from 218.248.79.251&lt;br /&gt;Nov 19 16:36:40 rosalita sshd[40574]: error: PAM: authentication error for illegal user amavis from 83-103-70-170.ip.fastwebnet.it&lt;br /&gt;Nov 19 16:40:05 rosalita sshd[40596]: error: PAM: authentication error for illegal user amavis from 75-49-251-71.lightspeed.snjsca.sbcglobal.net&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;- and so on, with a striking regularity.  See for example the attempts to log on as the &lt;tt&gt;alias&lt;/tt&gt; user, 14 attempts are made from 13 different hosts, with only &lt;tt&gt;70-46-140-187.orl.fdn.com&lt;/tt&gt; trying more than once.  Then thirteen attempts are made for the &lt;tt&gt;amanda&lt;/tt&gt; user, from 13 other hosts.  The pattern repeats again for users &lt;tt&gt;amavis&lt;/tt&gt;, &lt;tt&gt;apache&lt;/tt&gt;, &lt;tt&gt;at&lt;/tt&gt;, and goes on with others, apparently trying users in an alphabetic sequence.  &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase 2: Not your run of the mill screwup, the data say&lt;/b&gt;&lt;br /&gt;Repeated login attempts for non-existing users are nothing new (in fact the &lt;a href="http://home.nuug.no/~peter/pf/en/bruteforce.html"&gt;bruteforce avoidance&lt;/a&gt; section is one of the more popular parts of the &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt;), but I was a bit surprised to see the attempts actually reaching this machine, which is on a local network behind a PF gateway with a configuration that is in fact closely related to the one in the tutorial (and the &lt;a href="http://nostarch.com/pf.htm"&gt;book&lt;/a&gt; for that matter).  Then looking at the log entries, I noticed a few more things:  The attempts are never less than a minute apart, and the attempts from a single host are separated by much longer intervals.  The full data set I extracted from the point I started noticing those anomalies sum up to these figures can be found &lt;a href="http://www.bsdly.net/~peter/slowbrutes.txt"&gt;here&lt;/a&gt;, in case you want to look at it and draw you own conclusions&lt;br /&gt;&lt;br /&gt;Some one-liners give us illustrative numbers:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@thingy:~$ wc -l slowbrutes.txt &lt;br /&gt;    16727 slowbrutes.txt&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;That is, over this period there were 16727 failed &lt;tt&gt;ssh&lt;/tt&gt; login attempts at this host.  A large number for this particular machine, but not enough to raise eyebrows by itself at larger or busier sites.&lt;br /&gt;&lt;br /&gt;More than sixteen thousand attempts, but for how many invalid user names?&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@thingy:~$ grep illegal slowbrutes.txt | awk '{print $13}' | sort -u | wc -l&lt;br /&gt;    2962&lt;br /&gt;peter@thingy:~$ grep illegal slowbrutes.txt | awk '{print $15}' | sort -u | wc -l&lt;br /&gt;     671&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;That is, approaching three thousand unlucky guesses, coming from 671 different hosts.  &lt;br /&gt;&lt;br /&gt;How many valid user names did they stumble upon?&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@thingy:~$ grep -v illegal slowbrutes.txt | awk '{print $11}' | sort -u | wc -l&lt;br /&gt;       2&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;A grand total of two, one of them the rather obvious &lt;tt&gt;root&lt;/tt&gt;, for a total of&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@thingy:~$ grep -vc illegal slowbrutes.txt&lt;br /&gt;1698&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;1698 attempts, coming from &lt;br /&gt;&lt;tt&gt;&lt;br /&gt;peter@thingy:~$ grep -v illegal slowbrutes.txt | awk '{print $13}' | sort -u | wc -l&lt;br /&gt;     566&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;566 different hosts.&lt;br /&gt;&lt;br /&gt;The patterns that emerge from the data, with the alphabetical ordering and apparent coordination, point to a botnet herder trying out new methods.  Intrusion detection systems and adaptive firewalls are generally tuned to detecting things like large numbers of simultaneous connecions or a high rate of new connections from a host.  Distributing the task of bruteforcing passwords to several hosts could seem like an inspired way to come in under the radar wherever relatively smart systems are in place.  Setting the herd to attempt at a low frequency would likely mean that those failed attempts simply drown in the noise at higher volume sites, and will not be noticed. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase 3: Are you one of their guinea pigs, too?&lt;/b&gt;&lt;br /&gt;There are indications that the method has not been quite perfected yet.  At the start of this run, the bots would make at least ten attempts before moving on down the alphabet.  Now it seems enough bots have been taken out of circulation that the typical number of attempts per user name is closer to three, with some tried only once:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Dec  2 11:45:59 rosalita sshd[55775]: error: PAM: authentication error for illegal user heaven from cpe001217e403b3-cm000f9fa6157c.cpe.net.cable.rogers.com&lt;br /&gt;Dec  2 11:48:16 rosalita sshd[55778]: error: PAM: authentication error for illegal user heaven from 90.190.96.46&lt;br /&gt;Dec  2 11:50:39 rosalita sshd[55791]: error: PAM: authentication error for illegal user heaven from static-71-117-126-102.snloca.dsl-w.verizon.net&lt;br /&gt;Dec  2 11:55:26 rosalita sshd[55811]: error: PAM: authentication error for illegal user heavynne from dsl-217-155-184-54.zen.co.uk&lt;br /&gt;Dec  2 11:57:57 rosalita sshd[55814]: error: PAM: authentication error for illegal user heavynne from pd907ee1e.dip0.t-ipconnect.de&lt;br /&gt;Dec  2 12:00:20 rosalita sshd[55836]: error: PAM: authentication error for illegal user heba from 201-26-172-213.dial-up.telesp.net.br&lt;br /&gt;Dec  2 12:07:37 rosalita sshd[55879]: error: PAM: authentication error for illegal user hector from 75.145.16.83&lt;br /&gt;Dec  2 12:09:58 rosalita sshd[55882]: error: PAM: authentication error for illegal user hector from ppp-69-217-30-214.dsl.applwi.ameritech.net&lt;br /&gt;Dec  2 12:12:33 rosalita sshd[55901]: error: PAM: authentication error for illegal user hector from 75-49-251-71.lightspeed.snjsca.sbcglobal.net&lt;br /&gt;Dec  2 12:14:51 rosalita sshd[55905]: error: PAM: authentication error for illegal user hedda from 201.218.231.142&lt;br /&gt;Dec  2 12:17:21 rosalita sshd[55911]: error: PAM: authentication error for illegal user hedda from 75.147.27.85&lt;br /&gt;Dec  2 12:19:48 rosalita sshd[55914]: error: PAM: authentication error for illegal user hedda from 203.70.179.113&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;From where I'm sitting it's hard to tell whether the lower number of attempts means that the machines have cleaned up by their legal owners or whether they have simply taken out of rotation by their herders.  Even with the initial 14 attempts per user name the chance of actually finding a valid combination of user names and passwords would be slim but not non-existent, but decreasing the number of attempts per time unit will necessarily make the chance of eventually finding a valid pair even smaller.&lt;br /&gt;&lt;br /&gt;Apparently I'm not the only one seeing the slow brutes, as &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=122797329307572&amp;w=2"&gt;this post&lt;/a&gt; to openbsd-misc indicates.  The sensible countermeasure could be to disallow &lt;tt&gt;shh&lt;/tt&gt; password logins and allow only key logins, probably easier to set up and enforce than network-level measures.  With the slow rate of attempts and the relatively large number of hosts involved, the undesirable traffic here is relatively hard to distinguish automatically from innocent errors unless you make have any attempt to log in with an invalid user name a sufficent reason for blocking traffic from that host.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Phase N: The shape of things to come&lt;/b&gt;&lt;br /&gt;In the longer term view, this may very well be the shape of botnets to come.  With a large enough pool of compromised hosts under their control, future botnet herders can afford to organize their activity so any one host only participates in undesirable activity at intervals long enough that malware detectors do not trigger (and thinking further ahead, &lt;i&gt;if&lt;/i&gt; the world ever does go IPv6 wholesale and you can expect any one network interface to have dozens of IP addresses, think again how much more interesting detecting botnets becomes).  &lt;br /&gt;&lt;br /&gt;Antiware vendors will likely put their spin on this too when their marketing departments start noticing columns (Hey! It's Linux they're targeting!), but then as regular readers know, the more productive approach is always to reduce malware masters' target area by using systems that are less vulnerable because they have been extensively &lt;a href="http://www.openbsd.org/security.html"&gt;audited&lt;/a&gt; and whose makers are unafraid to make source code available for public inspection and experimentation.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;As people who ran into me at the recent &lt;a href="http://www.ukuug.org/events/pftutorial/"&gt;PF tutorial in London&lt;/a&gt; or at &lt;a href="http://2008.opencon.org/2008/about/"&gt;OpenCON&lt;/a&gt; will already know, have I joined &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt;, the Norwegian free software consultancy.  We expect to keep doing fun and useful things with free software for customers and friends, and some of it may be interesting enough to be the topics of future columns.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-1258573916222041368?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/1258573916222041368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html#comment-form' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1258573916222041368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1258573916222041368'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/12/low-intensity-distributed-bruteforce.html' title='A low intensity, distributed bruteforce attempt'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6776736922580709418</id><published>2008-10-20T15:17:00.002+02:00</published><updated>2008-10-20T15:26:42.439+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='greylisting'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='greylisting vs multiple outgoing SMTP hosts'/><category scheme='http://www.blogger.com/atom/ns#' term='standards'/><title type='text'>IETF failed to account for greylisting</title><content type='html'>&lt;i&gt;The potential for conflict between greylisting and sites with large pools of outgoing SMTP senders is well known and in need of resolution.  Why does the SMTP RFC moving along the standards track fail to address this?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Standardization efforts rarely grab headlines.  Except in rather exceptional circumstances (think Microsoft's recent ISO buyout), standards are formulated in response to specific technical needs, or as frequently happens, standards documents are written to codify existing and well known best practices.&lt;br /&gt;&lt;br /&gt;As regular readers of this column will be aware, I tend to argue that in the email domain, greylisting is one such 'best practice' that would deserve to be included in a standards or best practice document. In a way it already is, but it was never actually referred to in any standard or standards draft, and its main claim to standards compliance relied on extrapolating some crucial points in &lt;a href="http://www.ietf.org/rfc/rfc2821.txt"&gt;RFC2821&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The technical alibi for claiming that greylisting is a valid, RFC-compliant technique comes from reading section 4.5.4.1, &lt;i&gt;Sending Strategy&lt;/i&gt;.  It's really quite straightforward: An SMTP sender that receives a temporary error (451) when it tries to deliver is required to try again later, after a reasonable time.  The RFC gives a few more details such as recommended retry intervals and time to give up trying, but does not explicitly say where those repeated attempts should come from.  At the time RFC2821 was written in early 2001, it was almost certainly implicit in the formulation used that the retries would come from the same hosts, and specifying that as an explicit requirement most likely seemed more than a little redundant.&lt;br /&gt;&lt;br /&gt;The MUST requirement in RFC2821 is what cleared the way for greylisting (see &lt;a href="http://www.greylisting.org"&gt;greylisting.org&lt;/a&gt; and the &lt;a href="http://home.nuug.no/~peter/pf/en/spamd.tarandgrey.html"&gt;relevant&lt;/a&gt; parts of my &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt; (or &lt;a href="http://www.nostarch.com/pf_hansteen.htm"&gt;the book&lt;/a&gt;)), and the earliest implementations started appearing from 2003 onwards.&lt;br /&gt;&lt;br /&gt;Fast-forward a few years, and you have a situation where several large operators have set up their networks with large pools of outgoing SMTP servers and no guarantee which machine in the pool will be the next to handle a message queued for a delivery retry.  Some greylisting implementations use a modified algorithm that stores or at least acts upon the subnet a greylistes message came from instead of the specific IP address, while others such as &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt;'s &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=spamd&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;spamd&lt;/a&gt; operate strictly on individual IP addresses.&lt;br /&gt;&lt;br /&gt;It does not exactly take a rocket scientist to figure out that here is a potential problem, at least when it comes to the stricter implementations.  Sites that do not retry from the same IP address can claim to be RFC2821 compliant, since the RFC does not contain a specific requirement that the delivery retries have to be from the same IP address. Again quoting my tutorial, the solution so far has been to &lt;a href="http://home.nuug.no/~peter/pf/en/spamd.greytrapping.html#DOWNSIDE-WHITELISTING"&gt;whitelist&lt;/A&gt; those sites, extracting their &lt;a href="http://www.openspf.org/"&gt;SPF&lt;/a&gt; info for whitelisting purposes if necessary.&lt;br /&gt;&lt;br /&gt;The large number of outgoing SMTP hosts per site problem has been widely discussed, and anybody even marginally interested in mail and spam avoidance should be aware if this.  Then here's a surprise for you: &lt;i&gt;Apparently the writers of RFCs are actually unaware of this, or chose not to care.&lt;/i&gt; On October 1, 2008, I found in my IETF mailbox &lt;a href="http://www.ietf.org/rfc/rfc5321.txt"&gt;RFC5321&lt;/a&gt;, which obsoletes RFC2821.  The new RFC contains a number of things, but section 4.5.4.1, "Sending Strategy" (yes, they even kept the numbering) is unchanged.&lt;br /&gt;&lt;br /&gt;That means that the working group were either unaware of the problem or chose not to resolve the conflict at this time.  It would have been a very sensible thing to explicitly state that retries MUST come from the same IP address.  The only halfway sane reason not to resolve the conflict that way would be that this would have made greylisting powerful enough to possibly go a long way towards eliminating the need for SPF and other more convoluted schemes.&lt;br /&gt;&lt;br /&gt;I can not bring myself to believe that the working group does not have at least one member who is aware of what greylisting is and knows about that sole remaining problem that needs to be addressed.  RFC5321 has almost everything else covered, so I hope the working group will listen to reason and move resolve this problem before the standard is finalized.&lt;br /&gt;&lt;br /&gt;&lt;hr&gt; &lt;br /&gt;In other news, this year's &lt;a href="http://www.EuroBSDCon.org/"&gt;EuroBSDCon&lt;/a&gt; in Strasbourg went smoothly with a lot of good content if a somewhat smaller number of participants than the previous one.  The next chance to catch my PF tutorial live will be in &lt;a href="http://www.ukuug.org/events/pftutorial/"&gt;London on November 26th, 2008&lt;/a&gt;.  Contact the UKUUG for details and booking.&lt;br /&gt;&lt;hr&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6776736922580709418?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6776736922580709418/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/10/ietf-failed-to-account-for-greylisting.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6776736922580709418'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6776736922580709418'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/10/ietf-failed-to-account-for-greylisting.html' title='IETF failed to account for greylisting'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8239277349403263906</id><published>2008-09-22T19:32:00.007+02:00</published><updated>2009-02-08T19:38:01.218+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tarpit'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='greylisting'/><category scheme='http://www.blogger.com/atom/ns#' term='bsdly.net'/><category scheme='http://www.blogger.com/atom/ns#' term='spramtrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='spambait'/><title type='text'>“Name and Shame”, or socially responsible use of your log data</title><content type='html'>&lt;span style="font-style:italic;"&gt;Your logs contain an ever-growing mass of data on spammers.  How about making an effort to make that data useful to others?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Those of us who run email services know, from sometimes painful experience, what it takes to ensure that the minimum possible amount of unwanted advertising and scams that may turn out to be security hazards reaches our users' inboxes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Email: This should have been very simple&lt;/span&gt;&lt;br /&gt;Handling email should really be quite simple: The server is configured to know what domains it receives mail for and what users actually exist in those domains.  When a machine makes contact and indicates that it intends to deliver email, the server check if the recipient is a valid user.  If the recipient is valid, the message is received and put in the relevant user's mailbox.  Otherwise, a message about a failed delivery and optionally the reason for the failure is sent to the user specified as the sender.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;If they were all honest people&lt;/span&gt;&lt;br /&gt;In each part of the process, the underlying premise is that the communicating parners offer each other correct information.  Frequently that is the case, and we have legitimate communications between partners with a valid reason for contacting each other.  Unfortunately there are other cases where the implicit trust is abused, such as when email messages are sent with a sender address other than the real one, quite likely a made-up one in a domain that belongs to other people.  Some of us occasionally receive delivery failure messages for messages we verfiably did not send[&lt;a href="#note1"&gt;1&lt;/a&gt;].  If we take the time to study the contents of those messages, in almost all cases we will find that the messages are spam, sometimes the scamming kind and perhaps part of an attempt to take control of the recipient's computer or steal sensitive data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;What do the ones in charge do, then?&lt;/span&gt;&lt;br /&gt;If you ask a typical system administrator what measures are in effect to thwart attempts at delivering unwanted or malicious messages to their users, you will most likely get a description that says, essentially, the messages are filtered through systems that inspect message contents.  If the message does not contain anything known to be bad (known spam or malware) or something sufficiently similar to a known bad, the message is delivered to the user's mailbox.  If the system determines that the message contents indicates it should not be delivered, the messages is thrown away undelivered, and some system administrators will tell you that the system also sends a message about the decision not to deliver the message to the stated sender address.&lt;br /&gt;&lt;br /&gt;Large parts or this is likely part of moderately educated users' passive knowledge, and most of us are likely to accept that content filtering is all we can do to keep dubious or downright criminal elements out of our working environment.  For the individual end user, only minor adjustments to this are likely to be possible.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Measures based on observed behavior&lt;/span&gt;&lt;br /&gt;But those of us who actually run the service also have the opportunity to study the automatically generated log data from our systems and use spammers' (that is, senders of all types of unwanted mail, including malware) behavior patterns to remove most of the unwanted traffic before actual message content is known.  In order to do that, it is necessary to go to a more basic level of network traffic and study sender behavior on the network level.&lt;br /&gt;&lt;br /&gt;One of the simpler forms of behavior based measures emerged in the form of a technique called &lt;span style="font-style:italic;"&gt;greylisting&lt;/span&gt; in 2003.  The technique is based on a slightly pedantic and rather creative interpretation of established standards.  The Internet protocol for email transfer, SMTP (the Simple Mail Transfer Protocol) allows servers that experience temporary problems that make it impossible to receive mail to report a specific 'temporary local problem' status code to correspondents trying to deliver mail.  Correctly configured senders will interpret and act on the status code and delay delivery for a short time.  In most circumstances, the delivery will succeed within a short time.  It is worth noting that this part of the standard was formulated to help the mail service's reliability.  At most times, the retries happen without alerting the person who wrote and sent the message.  The messages generally reach their destination eventually.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Lists of grey and black, little white lies&lt;/span&gt;&lt;br /&gt;Greylisting works like this: the server reports a temporary local problem to all attempts at delivery from machines the server has not exchanged mail with earlier.  Experience shows that the pre-experiment hypothesis was mainly correct: Essentially all machines that try to deliver valid email are configured to check return codes and act on them, while almost all spam senders dump as many messages as possible, and never check any return codes.  This means that somewhere in the eighty to high nineties percentage of all spam volume is discarded at the first delivery attempt (before any content filtering), while legitimate email reaches its intended recipients, occasionally with delayed delivery of the initial message from a new correspondent.&lt;br /&gt;&lt;br /&gt;One other behavior based technique that predates greylisting is the use of 'blacklists' - lists of machines that have been classified as spam senders - and rejecting mail from machines on such lists.  Some groups eventually started experimenting with 'tarpits', a technique that essentially means your end of the communication moves along very slowly.  A much cited example is the &lt;tt&gt;spamd&lt;/tt&gt; program, released as a part of the free operating system OpenBSD in May of 2003.  The program's main purpose at the time was to answer email traffic from blacklisted hosts one byte per second, never leaving a blacklisted host any real chance of delivering messages.&lt;br /&gt;&lt;br /&gt;The combination of blacklists and greylisting proved to work very well, but the quest for even more effective measures continued.  Yet again, the next logical step grew out of observing spammer behavior.  We saw earlier that spammers do not bother to check whether individual messages are in fact delivered.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Laying traps and bait&lt;/span&gt;&lt;br /&gt;By early 2005, these observations lead to a theory that was soon proved useful: If we have one or more addresses in our own domains the are certain to never receive any valid mail, we can be almost a hundred percent certain that any mail addressed to those addresses is spam.  The addresses are spamtraps.  Any machines that try to deliver spam to those addresses are placed in a local blacklist, and we keep them busy by answering their traffic at a rate of one byte per second. The machines stay on the blacklist for 24 hours unless otherwise specified.&lt;br /&gt;&lt;br /&gt;The new technique, dubbed &lt;span style="font-style:italic;"&gt;greytrapping&lt;/span&gt; was launched as part of the improved &lt;tt&gt;spamd&lt;/tt&gt; in OpenBSD 3.8, released May 2005.  In early 2006, Bob Beck, one of the main spamd developers announced that his greytrapping hosts at the University of Alberta generates a downloadable blacklist based on the greyptrap data, updated once per hour, ready for inclusion in spamd setups elsewhere.  This is obviously useful.  Machines that try to deliver mail to addresses that were never deliverable most likely do not have any valid mail to deliver, and it we are doing society at large a favor by delaying their deliveries and wasting their time to the maximum extent possible.&lt;br /&gt;&lt;br /&gt;It is worth mentioning that during the period we have used the University of Alberta blacklist at our site, it has contained a minimum of twenty-some thousand IP addresses, and during some busy periods have reached almost two hundred thousand.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;You can help, too&lt;/span&gt;&lt;br /&gt;Fortunately you do not need to be a core developer to be able to contribute.  The exact same tools Bob Beck uses to generate his blacklist is available to everybody else as part of OpenBSD, and they are actually not very hard to use productively.&lt;br /&gt;&lt;br /&gt;Here at &lt;tt&gt;BSDdly.net&lt;/tt&gt; and associated domains we saw during the (Northern hemisphere) summer of 2007 a marked increase in email sent to addresses that have never actually existed in our domains.  This was clearly a case of somebody, one or more groups, making up or generating sender addresses to avoid seeing any reactions to the spam they were sending.  This in turn lead to us starting an experiment that is still ongoing.  We record invalid addresses in our own domains as they turn up in our logs.  From these addresses we pick the really improbable ones, put them in our local spamtrap list and publish the list on a specific &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;web page&lt;/a&gt; on our server[&lt;a href="note2"&gt;2&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;Experience shows that it it takes a very short time for the addresses we put on the web page to turn up as target addresses for spam.  This means that we have succeeded in feeding the spammers data that makes it easier for us to stop their attempts, and frequently we make spam senders use significant amounts of time communicating with our machines with no chance of actually achieving anything.  The number of spamtrap addresses has reached fifteen thousand, and we have at times observed groups of machines that spend weeks working through the whole list, with average time spent per unsuccessful delivery attempt clocked at roughly seven minutes.&lt;br /&gt;&lt;br /&gt;As a byproduct of the active spammer trapping we started exporting our own list of machines that had been trapped via the spamtrap addresses during the last 24 hours and making the list available for download. This list's existence has only been announced via the spamtrap addresses web page and a few blog posts, but we see that it's retrieved, most likely automatically, at intervals and is apparently used by other sites in their systems.&lt;br /&gt;&lt;br /&gt;At this point we have established that it is possible to create a system that makes it very unlikely that spam actually makes it through to users, while at the same time it is quite unlikely that legitimate mail is adversely affected.  In other words, we have the cyberspace equivalent of good fences around our property, but spammers are still out there and may create serious probles for those who are without adequate protection.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Collecting evidence, or at least seek clarity&lt;/span&gt;&lt;br /&gt;We would have loved to see law enforcement take the spammer problem seriously.  This is not just because the spam that reaches its targets is irritating, but rather because almost all spam is sent via equipment that spammers use without the legal owners' consent.  We would have liked to see resources allocated in proportion to the criminal activity the spam represents.  We would have liked to help, but it might seem that we would not have usable evidence available due to the fact that we do not actually receive the messages the spammers try to deliver.  On the other hand, we have at all times a list of machines that have tried to deliver spam, identified with an almost hundred percent certainty based on the spammer trapping addresses.  In addition, our systems routinely produce logs of all activity, with the level of detail we set ourselves.  This means that it is possible to search our logs for the IP addresses that have tried to deliver spam to our systems during the last 24 hours, and get a summary of what those machines have done.&lt;br /&gt;&lt;br /&gt;A search of this kind typically yields a result like this:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Aug 10 02:34:29 skapet spamd[13548]: 190.20.132.16: connected (4/3)&lt;br /&gt;Aug 10 02:34:41 skapet spamd[13548]: (GREY) 190.20.132.16: &amp;lt;kristie@iland.net&amp;gt; -&amp;gt; &amp;lt;asasaskosmicki@bsdly.net&amp;gt;&lt;br /&gt;Aug 10 02:34:41 skapet spamd[13548]: 190.20.132.16: disconnected after 12 seconds.&lt;br /&gt;Aug 10 03:41:42 skapet spamd[13548]: 190.20.132.16: connected (14/13), lists: spamd-greytrap&lt;br /&gt;Aug 10 03:42:23 skapet spamd[13548]: 190.20.132.16: disconnected after 41 seconds. lists: spamd-greytrap&lt;br /&gt;Aug 10 06:30:35 skapet spamd[13548]: 190.20.132.16: connected (23/22), lists: spamd-greytrap becks&lt;br /&gt;Aug 10 06:31:16 skapet spamd[13548]: 190.20.132.16: disconnected after 41 seconds. lists: spamd-greytrap becks&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;The first line here states that &lt;tt&gt;190.20.132.16&lt;/tt&gt; contacts our system at 02:34:29 AM on August tenth, as the fourth active SMTP connection, three blacklisted.  A few seconds later it appears that this is an attempt at delivering a message to the address &lt;tt&gt;asasaskosmicki@bsdly.net&lt;/tt&gt;.  That address was already one of our spamtraps, most likely one that was harvested from our logs and was originally made up somewhere else.  After 12 seconds, the machine disconnects.  The attempted delivery to a spamtrap address means that the machine is added to our local &lt;tt&gt;spamd-greytrap&lt;/tt&gt; blacklist, as indicated in the entry for the next attempt about one hour later.  This second attempt lasts for 41 seconds.  The third try in our log material happens just after 06:30, and the addition of the list name &lt;tt&gt;becks&lt;/tt&gt; indicates that in the meantime has tried to deliver to one of Bob Beck's spammer trap addresses and has entered that blacklist, too.&lt;br /&gt;&lt;br /&gt;Unfortunately, it is unlikely that logs of this kind are sufficient as evidence for criminal prosecution purposes, but the data may be of some use to those who have an interest in keeping machines in their care from sending spam.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&amp;ldquo;Name And Shame&amp;ldquo;, or just being neighborly?&lt;/span&gt;&lt;br /&gt;After some discussions with colleagues I decided in early August 2008 to generate daily reports of the activities of machines that had made it into the local blacklist on bsdly.net and publish the results.  If all we have is the fact that a machine has entered a blacklist as an IP address (such as 24.165.4.190), and there is no supporting material, it is fairly easy for whoever is in charge of that address range to just ignore the entry as an unsupported allegation.  We hope that when whoever is responsible for the network containing 24.165.4.190 sees a sequence like this,&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Host 24.165.4.190: &lt;br /&gt;Aug 10 02:57:40 skapet spamd[13548]: 24.165.4.190: connected (9/8)&lt;br /&gt;Aug 10 02:57:54 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;hand@itnmiami.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:57:55 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;hand@itnmiami.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:57:56 skapet spamd[13548]: 24.165.4.190: disconnected after 16 seconds.&lt;br /&gt;Aug 10 02:58:16 skapet spamd[13548]: 24.165.4.190: connected (8/6)&lt;br /&gt;Aug 10 02:58:30 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;brunson@jebconet.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:58:31 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;brunson@jebconet.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:58:32 skapet spamd[13548]: 24.165.4.190: disconnected after 16 seconds.&lt;br /&gt;Aug 10 02:58:39 skapet spamd[13548]: 24.165.4.190: connected (7/6), lists: spamd-greytrap&lt;br /&gt;Aug 10 03:02:24 skapet spamd[13548]: (BLACK) 24.165.4.190: &amp;lt;aarnq@abtinc.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 03:03:17 skapet spamd[13548]: (BLACK) 24.165.4.190: &amp;lt;aarnq@abtinc.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: From:        "Preston Amos" &amp;lt;aarnq@abtinc.com&amp;gt;&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: To: kimberlee.ledet@ehtrib.org&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: Subject: Wonderful enhancing effect on your manhood.&lt;br /&gt;Aug 10 03:06:04 skapet spamd[13548]: 24.165.4.190: disconnected after 445 seconds. lists: spamd-greytrap&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;they will find that to be a sufficient for action of some kind.  The material we generate is available via the &lt;a href="http://www.bsdly.net/~peter/nameandshame.html"&gt;&amp;ldquo;The Name And Shame Robot&amp;rdquo;&lt;/a&gt; web page.  The latest complete report of log excerpts is available via links at that page. Previous versions are archived offline, but will be made available on request to parties with valid reasons to request the data.&lt;br /&gt;&lt;br /&gt;&amp;ldquo;The Name And Shame Robot&amp;rdquo;" is rather new, and it is too early to say what effect, if any, the publication has had.  We hope that others will do similar things based on their local log data or even synchronize their data with ours.  If you are interested in participating, please make contact.&lt;br /&gt;&lt;br /&gt;Regardless of other factors, we hope that the data can be useful as indicators of potential for improvement in the networks that appear regularly in the reports as well as material for studies that will produce even better techniques for spam avoidance.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;A shorter version of this article in Norwegian was published in Computerworld's Norwegian edition on August 22, 2008; the longer Norwegian version is available as &lt;a href="http://bsdly.blogspot.com/2008/08/no-and-shame-eller-samfunnsnyttig-bruk.html"&gt;an earlier blog post&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a name="note1"&gt;&lt;/a&gt;[1] A collection of such failure messages collected earlier this year is available at &lt;a href="http://www.bsdly.net/~peter/joejob-archive.2008-07-28.txt"&gt;http://www.bsdly.net/~peter/joejob-archive.2008-07-28.txt&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a name="note2"&gt;&lt;/a&gt;[2] See &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;http://www.bsdly.net/~peter/traplist.shtml&lt;/a&gt;, references at that page lead to my blog, which consists of public field notes, as well as other relevant material.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&lt;span style="font-style:italic;"&gt;About the author&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Peter N. M. Hansteen (peter@bsdly.net) is a consultant, system administrator and writer, based in Bergen, Norway.  In October 2008, he joined &lt;a href="http://www.freecode.no/"&gt;FreeCode&lt;/a&gt;, the Norwegian free software consultancy. He has written various articles as well as "The Book of PF", published by No Starch Press in 2007, and lectures on Unix- and network-related topics.  He is a main organizer of BLUG (Bergen (BSD and) Linux User Group), vice president of NUUG (Norwegian Unix User Group) and an occasional activist for EFF's Norwegian sister organization EFN (Elektronisk Forpost Norge).&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8239277349403263906?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8239277349403263906/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/09/and-shame-or-socially-responsible-use.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8239277349403263906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8239277349403263906'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/09/and-shame-or-socially-responsible-use.html' title='&amp;ldquo;Name and Shame&amp;rdquo;, or socially responsible use of your log data'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-454098947980323471</id><published>2008-08-31T17:51:00.007+02:00</published><updated>2008-08-31T18:33:00.617+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='tarpit'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='grålisting'/><category scheme='http://www.blogger.com/atom/ns#' term='greylisting'/><category scheme='http://www.blogger.com/atom/ns#' term='bsdly.net'/><category scheme='http://www.blogger.com/atom/ns#' term='tjærehull'/><category scheme='http://www.blogger.com/atom/ns#' term='gråfanging'/><category scheme='http://www.blogger.com/atom/ns#' term='spramtrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='spammerfeller'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><title type='text'>[.NO] “Name and Shame” eller samfunnsnyttig bruk av loggdata om spammere</title><content type='html'>&lt;tt&gt;Today's post is in Norwegian - I'll be back in English later&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Vi sitter med stadig voksende mengder med data om spammere.  Kan vi bruke dette på en måte som er nyttig for andre?&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Vi som selv står for driften av eposttjenester vet av tidvis smertelig erfaring hva som skal til for at minimalt med uønsket reklame og lureri som kan være direkte trusler mot sikkerheten faktisk havner i innboksene til brukerne våre.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Epost: Dette burde vært enkelt&lt;/span&gt;&lt;br /&gt;I utgangspunktet burde det være en enkel sak å håndtere epost: Serveren er satt opp slik at den vet hvilke domener den skal ta imot post for, og hvilke brukere som eksisterer i domenene.  Når en maskin tar kontakt og signaliserer at den ønsker å levere epost, sjekker serveren om meldingen er adressert til en gyldig bruker.  Er det snakk om en gyldig bruker, blir meldingen mottatt og lagt i innboksen til den aktuelle brukeren, i motsatt fall får den som er oppgitt som avsender beskjed om at meldingen ikke lot seg levere, og hvorfor.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hvis bare alle var ærlige&lt;/span&gt;&lt;br /&gt;I hvert enkelt ledd av denne prosessen er det en underliggende forutsetning at kommunikasjonspartnerne oppgir korrekt informasjon.  I mange tilfeller er det slik, og det dreier seg om legitim kommunikasjon mellom parter som har grunn til å ønske kontakt. Dessverre finnes det også tilfeller der denne grunnleggende tilliten blir brutt eller misbrukt, for eksempel når epostmeldinger blir sendt med annen avsenderadresse enn den reelle, gjerne noe oppdiktet i et domene som tilhører andre.  En del av oss har også opplevd å få returmeldinger om at levering ikke var mulig på grunnlag av meldinger som vi vitterlig ikke har sendt[&lt;a href="#note1"&gt;1&lt;/a&gt;].  Når vi ser nøyere på innholdet i disse meldingene, vil vi i nesten alle tilfeller se at dette er søppelpost, tidvis med innslag av svindel og kanskje ledd i førsøk på å overta mottakerens maskin eller stjele sensitive data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Hva gjør de ansvarlige?&lt;/span&gt;&lt;br /&gt;Hvis du spør en typisk systemadministrator om hvilke tiltak som er satt i verk for å hindre at uønskede eller skadelige meldinger faktisk kommer frem til brukerne, vil du antakelig få høre en beskrivelse som stort sett kan kokes ned til at posten blir filtrert gjennom systemer som studerer innholdet i meldingene.  Hvis meldingen ikke inneholder noe som er kjent som uønsket (kjent spam eller skadelig programvare) eller noe som likner på noe som kunne være det, blir meldingen levert til brukeren den er adressert til.  Hvis systemet avgjør at meldingen har innhold som gjør at den ikke skal leveres til mottaker, blir meldingen i mange tilfeller kastet uten å bli levert, og noen systemadministratorer vil nok også fortelle deg at systemet sender melding om avgjørelsen tilbake til adressen som er oppgitt som avsender.&lt;br /&gt;&lt;br /&gt;Mye av dette hører antakelig til den passive kunnskapen hos mange, og de fleste slår seg til ro med at innholdsfiltrering er det eneste vi kan gjøre for å holde tvilsomme eller direkte kriminelle elementer unna arbeidsmiljøet.  For en enkelt sluttbruker er det sannsynligvis bare mindre justeringer ut fra dette som er mulig.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tiltak basert på observert adferd&lt;/span&gt;&lt;br /&gt;Men for oss som håndterer driften av selve tjenesten er det mulig å studere dataene som registreres automatisk i loggene våre og bruke spammernes (her brukt om avsendere av alle typer uønsket epost, inkludert skadevare) adferd til å fjerne mesteparten av den uønskede trafikken før innholdet i meldingene er kjent.  Det er nødvendig å gå ned på et noe mer grunnleggende nivå i nettverkstrafikken og studere adferden på nettverksnivå.&lt;br /&gt;&lt;br /&gt;En av de enkleste formene av slike adferdsbaserte tiltak dukket opp i form av en teknikk som fikk navnet grålisting (greylisting) i 2003. Teknikken bygger på en litt pedantisk og ganske kreativ tolkning av allerede vedtatte standarder.  Protokollen som brukes for epost-overføring på Internett, SMTP (Simple Mail Transfer Protocol) inneholder en mulighet for at en server som har antatt forbigående problemer med å ta imot epost kan rapportere om tilstanden ved å svare med en spesiell feilkode når andre maskiner prøver å levere.  Hvis avsendermaskinen er korrekt konfigurert, vil den vente en viss tid før den gjør et nytt forsøk på levering, og etter all sannsynlighet vil den lykkes etter kort tid.  Det er verd å merke seg at dette er en del av standarden som først og fremst skulle sørge for at eposttjenesten skulle være så pålitelig som mulig, og i de fleste tilfeller skjer alt dette uten at personen som skrev og sendte meldingen merker noe til det.  Meldingene kommer frem, og alle er fornøyde.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Grå og svarte lister, små hvite løgner&lt;/span&gt;&lt;br /&gt;Grålisting går ut på at serveren gir melding om midlertidig feil til alle forsøk på epostlevering fra maskiner den ikke har hatt kontakt med før.  Erfaringene viste at antakelsene fra før eksperimentet i hovedsak var korrekte: De aller fleste maskiner som sender legitim epost er satt opp til å sjekke returkoder og handle etter dem, mens de aller fleste avsendere av spam bare pøser på så mange meldinger som mulig, uten å sjekke returkoder.  Resultatet er at et sted mellom åtti og noenognitti prosent av spam-mengden blir stoppet på første forsøk (før eventuell innholdsfiltrering), mens legitim post kommer frem, i noen tilfeller med en viss forsinkelse ved første kontakt.&lt;br /&gt;&lt;br /&gt;En annen adferdsbasert teknikk, som faktisk var i bruk før grålisting ble utbredt, er å bruke såkalte &lt;span style="font-style:italic;"&gt;svartlister&lt;/span&gt; - lister over maskiner som er blitt klassifisert som spam-avsendere - og avvise post fra maskiner som var med i listen.  Noen grupper begynte etterhvert å eksperimentere med såkalte &lt;span style="font-style:italic;"&gt;tjærehull&lt;/span&gt; (&lt;span style="font-style:italic;"&gt;tarpit&lt;/span&gt;), der teknikken går ut på å forsinke trafikk fra maskiner som er med i en svartliste ved å la sin del av kommunikasjonen gå svært sakte.  Et eksempel som ofte nevnes er programmet &lt;tt&gt;spamd&lt;/tt&gt;, som det frie operativsystemet &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; lanserte i mai 2003.  Programmet hadde da som sin hovedoppgave å svare på eposttrafikk fra svartlistede maskiner med ett tegn i sekundet, uten at avsendere som var med i en svartliste hadde noen reell mulighet til å få levert meldingene.&lt;br /&gt;&lt;br /&gt;Kombinasjonen av svartlister og grålisting har vist seg å fungere utmerket.  Likevel fortsetter praktikere og utviklere forsøkene på å få til enda mer effektive teknikker.  Enda en gang kom neste logiske steg som resultat av observert adferd.  Vi så tidligere at spammere ikke bryr seg om å sjekke om hver enkelt melding faktisk kommer frem.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Legge ut snarer og agn&lt;/span&gt;&lt;br /&gt;Tidlig i 2005 førte dette til at det ble det formulert en teori som det viste seg å være hold i: Hvis vi så lager en eller flere adresser i vårt eget domene som vi vet aldri vil ha noen grunn til å få legitim post, så kan vi med nesten hundre prosent sikkerhet vite at post som blir forsøkt levert til disse adressene er spam.  Adressene er spammerfeller.  Maskiner som prøver å levere spam til disse adressene, kan vi legge i en lokal svartliste som vi så oppholder med ett tegn i sekundet.  Maskinene blir liggende i svartlisten i 24 timer dersom ikke annet tilsier det.&lt;br /&gt;&lt;br /&gt;Den nye teknikken fikk navnet &lt;span style="font-style:italic;"&gt;greytrapping&lt;/span&gt;, og ble lansert som del av en forbedret &lt;tt&gt;spamd&lt;/tt&gt; i OpenBSD 3.8 i mai 2005.  Bob Beck, som var sentral deltaker i utviklingen av &lt;tt&gt;spamd&lt;/tt&gt;, annonserte tidlig i 2006 at han brukte greytrapping på sentralt plasserte maskiner ved University of Alberta, og gjorde svartlistene som er resultat av fangsten, med oppdateringer hver time, tilgjengelig for nedlasting slik at andre kan bruke listene i sine oppsett.  Dette er åpenbart nyttig, maskiner som sender til adresser som aldri har vært leverbare, har etter all sannsynlighet ikke legitim epost å levere, og vi gjør samfunnet en tjeneste ved å hindre dem i leveringen og å få dem til å kaste bort så mye tid som mulig.&lt;br /&gt;&lt;br /&gt;Det er kanskje verd å nevne at svartlisten fra University of Alberta så lenge undertegnede har fulgt den har inneholdt minst noenogtyvetusen IP-adresser, og har i travle perioder vært oppe i nesten tohundretusen maskiner.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Også du kan bidra&lt;/span&gt;&lt;br /&gt;Likevel er det ikke nødvendig å være sentralt plassert programvareutvikler for å kunne bidra positivt.  De samme verktøyene som Beck bruker til å generere sin svartliste er tilgjengelige for alle som del av OpenBSD, og er ikke så vanskelig å bruke som man kunne frykte.  &lt;br /&gt;&lt;br /&gt;Her på &lt;a href="http://www.bsdly.net/"&gt;bsdly.net&lt;/a&gt; og beslektede domener observerte vi sommeren 2007 en markert økning i meldinger om ikke leverbar epost til epostadresser som aldri har eksistert i noen av våre domener.  Her var det helt klart snakk om at noen, en eller flere grupper, genererte eller fant på avsenderadresser for å unngå å få reaksjoner på spammen sin tilbake til seg.  Dette førte i sin tur til et eksperiment som vi fortsatt har gående.  Vi registrerer ugyldige adresser i våre egne domener som dukker opp i loggene våre.  Av disse adressene velger vi ut de helt usannsynlige, legger dem inn i vår lokale spammerfelle-liste og legger ut listen på en egen side på webserveren vår[&lt;a href="#note2"&gt;2&lt;/a&gt;].&lt;br /&gt;&lt;br /&gt;Erfaringene viser at det tar svært kort tid før adressene vi fører opp på denne siden dukker opp som mottakeradresser.  Kort og godt har vi klart å fore spammere med data som gjør det enklere for oss å stoppe dem, og i mange tilfeller får vi i tillegg spamsenderne til å bruke betydelige mengder tid på å kommunisere med våre maskiner uten å oppnå noe som helst.  Antallet spammerfelle-adresser i vår liste er nå oppe i rundt femtentusen, og vi har tidvis observert grupper av maskiner som bruker noen uker på å arbeide seg gjennom hele listen, med gjennomsnittlig noe under syv minutter brukt per mislykkede leveringsforsøk.&lt;br /&gt;&lt;br /&gt;Som et biprodukt av denne aktive spammerfangingen begynte vi å eksportere vår egen liste over maskiner som har blitt fanget via spammerfelle-adressene de siste 24 timer og legge den ut tilgjengelig for nedlasting.  At denne listen finnes, er kun annonsert via siden med spammerfelle-adressene og noen bloggposter, men vi ser at den blir hentet regelmessig og antakelig automatisk av andre som bruker den i sine systemer.&lt;br /&gt;&lt;br /&gt;Så langt har vi etablert at det er mulig å lage et system som gjør at sannsynligheten for at spam kommer gjennom til brukere er svært liten, samtidig som det er nesten helt usannsynlig at legitim post blir merkbart hindret.  Dermed har vi det som tilsvarer gode gjerder rundt egen eiendom, men spammerne finnes fortsatt der ute og er et potensielt alvorlig problem for de som ikke har tilstrekkelig beskyttelse mot dem.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Samle bevis, eller i det minste skape klarhet&lt;/span&gt;&lt;br /&gt;Aller helst hadde vi ønsket at politi og påtalemyndigheter hadde tatt spammerproblemet alvorlig.  Dette ikke bare fordi den spammen som kommer frem er irriterende å se, men fordi nesten all spam sendes via utstyr som spammerne bruker uten eiernes samtykke.  Kort og godt ønsker vi at det blir satt inn ressurser som står i forhold til den kriminelle virksomheten spammen representerer.  Vi ville gjerne hjelpe til, men i utgangspunktet kan det virke som vi kan ha problem med å skaffe til veie brukbart bevismateriale siden vi ikke mottar meldingene som spammerne forsøker å levere.  På den annen side har vi til enhver tid en liste over maskiner som har prøvd å levere spam, noe nær hundre prosent sikkert identifisert på grunnlag av spammerfelle-adressene.  I tillegg produserer systemene våre rutinemessig logger over all aktivitet, med det detaljnivået vi selv velger.  Dermed går det an å søke i loggene etter IP-adressene som har forsøkt å levere spam til oss siste 24 timer, og få oversikt over hva maskinene har foretatt seg.&lt;br /&gt;&lt;br /&gt;Resultatet av et typisk søk av denne typen ser slik ut:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Aug 10 02:34:29 skapet spamd[13548]: 190.20.132.16: connected (4/3)&lt;br /&gt;Aug 10 02:34:41 skapet spamd[13548]: (GREY) 190.20.132.16: &amp;lt;kristie@iland.net&amp;gt; -&amp;gt; &amp;lt;asasaskosmicki@bsdly.net&amp;gt;&lt;br /&gt;Aug 10 02:34:41 skapet spamd[13548]: 190.20.132.16: disconnected after 12 seconds.&lt;br /&gt;Aug 10 03:41:42 skapet spamd[13548]: 190.20.132.16: connected (14/13), lists: spamd-greytrap&lt;br /&gt;Aug 10 03:42:23 skapet spamd[13548]: 190.20.132.16: disconnected after 41 seconds. lists: spamd-greytrap&lt;br /&gt;Aug 10 06:30:35 skapet spamd[13548]: 190.20.132.16: connected (23/22), lists: spamd-greytrap becks&lt;br /&gt;Aug 10 06:31:16 skapet spamd[13548]: 190.20.132.16: disconnected after 41 seconds. lists: spamd-greytrap becks&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;Den første linjen angir at &lt;tt&gt;190.20.132.16&lt;/tt&gt; tar kontakt med vårt system klokken 02.34.29 om morgenen tiende august, som fjerde aktive forbindelse, derav tre svartlistede.  Noen sekunder senere blir det klart at dette er et forsøk på å levere en melding til adressen &lt;tt&gt;asasaskosmicki@bsdly.net&lt;/tt&gt;, som er blant de vi har som spammerfelle, sannsynligvis høstet fra logger og diktet opp et annet sted i verden. Etter 12 sekunder kobler denne maskinen fra.  Forsøket på å levere til en spammerfelle gjør at maskinen blir oppført i vår lokale svartliste, &lt;tt&gt;spamd-greytrap&lt;/tt&gt;, noe som vises klart når maskinen prøver igjen litt mer enn en time senere.  På dette forsøket blir den oppholdt i 41 sekunder.  Det tredje forsøket i vårt loggmateriale skjer like etter 06.30, og at listenavnet &lt;tt&gt;becks&lt;/tt&gt; har kommet til, viser at maskinen i mellomtiden har forsøkt å levere til en av Bob Becks spammerfelle-adresser og nå er med i også den svartlisten.&lt;br /&gt;&lt;br /&gt;Det er dessverre lite sannsynlig at slike logger er tilstrekkelige som bevismateriale i straffesaker, men for de som har interesse av enten å sørge for at maskinene de administrerer i så liten grad som mulig brukes til spamutsendelse eller de som har interesse av spammeradferd er dette nyttige data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;&amp;ldquo;Name And Shame&amp;rdquo;, eller kanskje bare godt naboskap?&lt;/span&gt;&lt;br /&gt;Etter noen diskusjoner med kolleger bestemte jeg meg tidlig i august 2008 for å generere daglige oversikter over aktivitetene til maskiner som har kommet inn i vår lokale svartliste på bsdly.net og legge dem ut offentlig.  Når en maskin er oppført i en svartliste med bare IP-adresse (for eksempel &lt;tt&gt;24.165.4.190&lt;/tt&gt;), uten annet materiale om oppføringen, er oppføringen mest en påstand som de ansvarlige godt kan velge å ikke tro på.  Vårt håp er at om den som er ansvarlig for nettverket der &lt;tt&gt;24.165.4.190&lt;/tt&gt; hører hjemme ser en sekvens som denne,&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Host 24.165.4.190: &lt;br /&gt;Aug 10 02:57:40 skapet spamd[13548]: 24.165.4.190: connected (9/8)&lt;br /&gt;Aug 10 02:57:54 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;hand@itnmiami.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:57:55 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;hand@itnmiami.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:57:56 skapet spamd[13548]: 24.165.4.190: disconnected after 16 seconds.&lt;br /&gt;Aug 10 02:58:16 skapet spamd[13548]: 24.165.4.190: connected (8/6)&lt;br /&gt;Aug 10 02:58:30 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;brunson@jebconet.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:58:31 skapet spamd[13548]: (GREY) 24.165.4.190: &amp;lt;brunson@jebconet.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 02:58:32 skapet spamd[13548]: 24.165.4.190: disconnected after 16 seconds.&lt;br /&gt;Aug 10 02:58:39 skapet spamd[13548]: 24.165.4.190: connected (7/6), lists: spamd-greytrap&lt;br /&gt;Aug 10 03:02:24 skapet spamd[13548]: (BLACK) 24.165.4.190: &amp;lt;aarnq@abtinc.com&amp;gt; -&amp;gt; &amp;lt;kimberlee.ledet@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 03:03:17 skapet spamd[13548]: (BLACK) 24.165.4.190: &amp;lt;aarnq@abtinc.com&amp;gt; -&amp;gt; &amp;lt;kimberliereffett@ehtrib.org&amp;gt;&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: From:        "Preston Amos" &amp;lt;aarnq@abtinc.com&amp;gt;&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: To: kimberlee.ledet@ehtrib.org&lt;br /&gt;Aug 10 03:05:01 skapet spamd[13548]: 24.165.4.190: Subject: Wonderful enhancing effect on your manhood.&lt;br /&gt;Aug 10 03:06:04 skapet spamd[13548]: 24.165.4.190: disconnected after 445 seconds. lists: spamd-greytrap&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;så er det tilstrekkelig grunnlag for å gjøre noe aktivt.  Materialet er tilgjengelig via &lt;span style="font-style:italic;"&gt;The Name And Shame Robot&lt;/span&gt;-siden på &lt;a href="http://www.bsdly.net/~peter/nameandshame.html"&gt;http://www.bsdly.net/~peter/nameandshame.html&lt;/a&gt;.  Siste genererte loggoversikt er tilgjengelig via referanser på den siden, tidligere utgaver blir arkivert, men vil være tilgjengelige ved godt begrunnet forespørsel.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The Name and Shame Robot&lt;/span&gt; er såpass ny at vi ikke kan si spesielt mye om effekten av offentliggjøringen.  Det er lov å håpe på at andre vil gjøre noe tilsvarende ut fra sine lokale loggdata eller kanskje til og med synkronisere sine data med våre.  Ta gjerne kontakt hvis du er interessert i dette arbeidet.&lt;br /&gt;&lt;br /&gt;Uavhengig av alt annet håper vi at dataene kan være nyttige, både som påpeking av forbedringspotensiale for de nettverkene som opptrer jevnlig i oversiktene og som materiale for studier som kan gi oss enda bedre spambekjempelse.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Noter&lt;/span&gt;&lt;br /&gt;&lt;a name="note1"&gt;&lt;/a&gt;&lt;br /&gt;[1] En samling av slike returmeldinger fra tidligere i år kan beskues på &lt;a href="http://www.bsdly.net/~peter/joejob-archive.2008-07-28.txt"&gt;http://www.bsdly.net/~peter/joejob-archive.2008-07-28.txt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a name="note2"&gt;&lt;/a&gt;&lt;br /&gt;[2] &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;http://www.bsdly.net/~peter/traplist.shtml&lt;/a&gt;, referanser på den siden fører videre til bloggen min som jeg bruker til offentlige notater, og annet relevant materiale.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;En forkortet utgave av denne artikkelen ble trykt i Computerworld Norge 22. august 2008.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-454098947980323471?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/454098947980323471/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/08/no-and-shame-eller-samfunnsnyttig-bruk.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/454098947980323471'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/454098947980323471'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/08/no-and-shame-eller-samfunnsnyttig-bruk.html' title='[.NO] &amp;ldquo;Name and Shame&amp;rdquo; eller samfunnsnyttig bruk av loggdata om spammere'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8609018059767971380</id><published>2008-08-27T14:14:00.005+02:00</published><updated>2008-08-27T14:29:54.477+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Search Engine Optimization'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='November 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='PageRank'/><category scheme='http://www.blogger.com/atom/ns#' term='UKUUG'/><category scheme='http://www.blogger.com/atom/ns#' term='Name and shame robot'/><category scheme='http://www.blogger.com/atom/ns#' term='London'/><category scheme='http://www.blogger.com/atom/ns#' term='Clickrate'/><title type='text'>Logfiles in the buff</title><content type='html'>&lt;span style="font-style:italic;"&gt;Search engine optimization, deflowered.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Logs are important.  Depending on the specific kind of log, the data may shape lives and generate fortunes (how many times were those ads displayed, your clickthrough rate), reveal suspicious behavior and trigger actions (such as shutting the door to that &lt;a href="http://home.nuug.no/~peter/pf/en/bruteforce.html"&gt;bruteforcer&lt;/a&gt;) or provide sysadmins such as yours truly a general idea of what works and not or anything inbetween.&lt;br /&gt;&lt;br /&gt;If you're a sysadmin, log data or log data derivatives such as a monitoring tool's graphical status display is more likely than not an important underlying factor to determine how you spend your day.&lt;br /&gt;&lt;br /&gt;Then of course most of the material for these columns comes from log files, too.  Depending on the specific log file, I tend to either just peek at the data my monitoring scripts offer me or do some manual &lt;tt&gt;grep&lt;/tt&gt;ing for any patterns that interest me.&lt;br /&gt;&lt;br /&gt;One such pattern matches the filename for &lt;a href="http://www.bsdly.net/~peter/PNMH-cv.html"&gt;my resume&lt;/a&gt;.  I put that online for job hunting purposes, and now that I'm basically a gun for hire, it's slightly interesting to see any activity involving that file.&lt;br /&gt;&lt;br /&gt;So at semi-random intervals, I check the apache log for references to my resume.  Today, the &lt;tt&gt;grep&lt;/tt&gt;ery turned up this nugget&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;92.48.107.33 - - [27/Aug/2008:04:41:12 +0200] "GET /%7Epeter/PNMH-cv.html HTTP/1.0" 200 12318 "http://afmfokuv.fcpages.com/hot-anime-lesbians.html" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705; .NET CLR 1.1.4322)"&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;and I count myself lucky that I had thoroughly swallowed my last mouthful of coffee before reading that.  &lt;br /&gt;&lt;br /&gt;In the Era of PageRank, the Age Search Engine Optimization Consultant, Season of the Clickthrough rage, I suppose we should not be entirely surprised to see such things.  Just what the two documents have in common, perhaps other than targeting a very specific market, is left as an excercise for the terminally curious.  I would advise some caution in choice of browser and operating system if your research takes you to the referring URL.  One of the lessons of the day is, it doesn't always take a spamd log to crack you up.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;PF tutorial in London, November 26&lt;/span&gt;&lt;br /&gt;In other news, the UKUUG are hosting a full day &lt;a href="http://www.ukuug.org/events/pftutorial/"&gt;PF tutorial&lt;/a&gt; featuring yours truly in London on November 26th, 2008.  See the &lt;a href="http://www.ukuug.org/events/pftutorial/"&gt;UKUUG&lt;/a&gt; web site for details.  &lt;a href="http://www.opencon.org"&gt;OpenCON&lt;/a&gt; is the following weekend in Venice, and I hope to make it there too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The Name and Shame Robot&lt;/span&gt;&lt;br /&gt;Last week the Norwegian edition of Computerworld published an article about the &lt;a href="http://www.bsdly.net/~peter/nameandshame.html"&gt;Name and Shame Robot&lt;/a&gt;, unfortunately in the paper edition only (yes, I've got an English article in process too).  The article did spur some &lt;tt&gt;nameandshame.html&lt;/tt&gt; traffic from unexpected places, but no offers of cooperation or &lt;tt&gt;spamd&lt;/tt&gt; synchronization so far.  In the meantime, I'm running into odd &lt;tt&gt;cron&lt;/tt&gt; behavior differences when trying to run the generator script I wrote on my &lt;a href="http://www.openbsd.org"&gt;OpenBSD&lt;/a&gt; machines on a few &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; hosts.  More than likely there is a lesson to be learned there too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8609018059767971380?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8609018059767971380/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/08/logfiles-in-buff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8609018059767971380'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8609018059767971380'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/08/logfiles-in-buff.html' title='Logfiles in the buff'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-2096996198952355900</id><published>2008-08-09T13:27:00.007+02:00</published><updated>2008-08-09T17:34:17.850+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd junkies'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='blacklists'/><category scheme='http://www.blogger.com/atom/ns#' term='spamtrap'/><title type='text'>Is one of your machines secretly a spambot?</title><content type='html'>&lt;span style="font-style:italic;"&gt;Some times we just need facts on the table, automated.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In my previous blog post, I wondered aloud about publishing data about the machines that verifiably tried to spam us. The response was other than overwhelming, and with the script running once per day anyway, I now publish the results via the &lt;a href="http://www.bsdly.net/%7Epeter/nameandshame.html"&gt;Name And Shame Robot&lt;/a&gt; page.&lt;br /&gt;&lt;br /&gt;The annoucement below is very close to the text there, so by way of explanation, here is a gift to all my fellow &lt;tt&gt;spamd&lt;/tt&gt; junkies out there:&lt;br /&gt;&lt;br /&gt;We started actively greytrapping and publishing our list of greytrap addresses (almost exclusively addresses generated or made up elsewhere and harvested from our logs) during July 2007.  The list of greytrap addresses is published on the &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;Traplist page&lt;/a&gt; along with some commentary. You can find related comments in &lt;a href="http://bsdly.blogspot.com/2007/07/hey-spammer-heres-list-for-you.html"&gt;this blog post&lt;/a&gt; and its followups.&lt;br /&gt;&lt;br /&gt;One byproduct of the greytrapping is a list of IP addresses that has tried to deliver mail to one or more of our greytrap addresses during the last 24 hours.  The reasoning is, none of these addresses are valid, and any attempts at delivering to those addresses is more likely than not spam.  You can download that list &lt;a href="http://www.bsdly.net/~peter/bsdly.net.traplist"&gt;here&lt;/a&gt; as a raw list of IP addresses, or as a DNS zone file intended as a DNS blacklist &lt;a href="http://www.bsdly.net/~peter/blacklist.bsdly.net"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In early August 2008, I wrote a small script that copies (&lt;tt&gt;rsync&lt;/tt&gt;s, actually) the current list of trapped IP addresses as well as the &lt;tt&gt;spamd&lt;/tt&gt; log off the firewall and for each IP address collects all log entries from the &lt;tt&gt;spamd&lt;/tt&gt; log.  The resulting file is &lt;tt&gt;rsync&lt;/tt&gt;ed back to the webserver, and you can view the latest version &lt;a href="http://www.bsdly.net/~peter/spamd-report.txt"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The material here is useful mainly to the system administrators responsible for the machines that appear in it, or people who are interested in studying spammer or spambot behavior.  Times are given according to the &lt;tt&gt;Europe/Oslo&lt;/tt&gt; time zone (CET or CEST according to season), and if a date appears several times for an IP address entry, the reason is simply that the log data spans several years. The default &lt;tt&gt;syslog&lt;/tt&gt; settings do not record the year. &lt;br /&gt;&lt;br /&gt;In the data you will find several kinds of entries, most of them are pretty obvious and straightforward, others less so.  The likely FAQ is, &lt;i&gt;"what are the entries with no log data?"&lt;/i&gt;.  The answer is, the &lt;tt&gt;spamd&lt;/tt&gt; here synchronizes with a &lt;tt&gt;spamd&lt;/tt&gt;s at other sites.  The entries without log data entered our traplist through a sync operation, but the host did not attempt direct contact here.  &lt;br /&gt;&lt;br /&gt;The other likely question is, "what is that &lt;tt&gt;becks&lt;/tt&gt; list?". It's what the rest of the world refers to as &lt;tt&gt;uatraps&lt;/tt&gt;.  I copied the data for that list into my config from Bob Beck's &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=113864073614787&amp;w=2"&gt;message&lt;/a&gt; on OpenBSD-misc and didn't notice that the list had an official name until much later.&lt;br /&gt;&lt;br /&gt;Please note that this is not an up-to-the minute list.  Depending on the number of hosts currently in the list of trapped addresses, the script's run time could be anything up to several hours.  For that reason, the script starts at the time stated at the beginning of the report file and runs until it finishes generating.  The last thing the script does is to rsync the report file to the webserver.  For the time being, I archive older versions off-line.&lt;br /&gt;&lt;br /&gt;This is now a totally hands-off, automated operation.  The report is currently generated on a Pentium IV-class computer with few and only occasional other duties.  If you have any comments or concerns, the address in the next sentence is the one I use for day to day email. If you find this data useful, donations of faster hardware or money (paypal to &lt;tt&gt;peter@bsdly.net&lt;/tt&gt; or contact me for bank information) is of course welcome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-2096996198952355900?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/2096996198952355900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/08/is-one-of-your-machines-secretly.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2096996198952355900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2096996198952355900'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/08/is-one-of-your-machines-secretly.html' title='Is one of your machines secretly a spambot?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5229454205165205483</id><published>2008-08-07T14:57:00.003+02:00</published><updated>2008-08-07T16:52:35.876+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ethics'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='name and shame'/><category scheme='http://www.blogger.com/atom/ns#' term='spamtrap'/><category scheme='http://www.blogger.com/atom/ns#' term='spammers'/><title type='text'>Now that we have their addresses, do we name and shame?</title><content type='html'>&lt;span style="font-style: italic;"&gt;The legal owners of botnet-controlled spam senders are quite likely unaware what their machines are doing. Do they deserve to be outed, named and shamed?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Earlier this week a friendly Australian who I think had been reading my blog sent me a few questions about spam, spammers and what to do with them.  &lt;span style="font-style: italic;"&gt;Would it for example be useful to forward the IP addresses in the local traplist to law enforcement?&lt;/span&gt;  After all, I &lt;a href="http://www.bsdly.net/%7Epeter/bsdly.net.traplist"&gt;publish&lt;/a&gt; a dump of IP addresses from my &lt;tt&gt;local-greytrap&lt;/tt&gt; once per hour, and apparently at least some people are fetching and using that as a valid blacklist on a regular basis.&lt;br /&gt;&lt;br /&gt;(&lt;span style="font-style: italic;"&gt;On a side note&lt;/span&gt;: if you do fetch that list regularly, keep in mind that the data is dumped ten past every hour, that's when the data is fresh.  If you fetch at every full hour, the data is already fifty minutes old).&lt;br /&gt;&lt;br /&gt;Anyway, my initial reaction to the question about forwarding the list of IP addresses to law enforcement was, along the lines of &lt;span style="font-style: italic;"&gt;"Well, a raw list of IP addresses doesn't really add up to a lot of evidence, but if you can extract the log entries for each one, you may have something"&lt;/span&gt;.  My actual answer was phrased a little differently, but even while I was writing my reply I started fiddling with a script to read my list of trapped IP addresses and &lt;tt&gt;grep&lt;/tt&gt; the &lt;tt&gt;spamd&lt;/tt&gt; log for all entries for each IP address.&lt;br /&gt;&lt;br /&gt;My complete collection of &lt;tt&gt;spamd&lt;/tt&gt; logs goes back a few years, so searching for a complete history does take a while.  (&lt;span style="font-style: italic;"&gt;For techies&lt;/span&gt;: for each IP address, a &lt;tt&gt;grep&lt;/tt&gt; of the entire log takes at least a few seconds (&lt;i&gt;s&lt;/i&gt;) , total time is &lt;i&gt;s&lt;/i&gt; is times number of entries (&lt;i&gt;N&lt;/i&gt;), typically a few thousand, and &lt;tt&gt;grep&lt;/tt&gt;ping in parallel is difficult, because you want the output per IP address, not interlaced like in the raw log data).&lt;br /&gt;&lt;br /&gt;After a while, you can see output roughly like this:&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Host 81.183.80.187:&lt;br /&gt;Aug  7 07:24:16 skapet spamd[13548]: 81.183.80.187: connected (12/9)&lt;br /&gt;Aug  7 07:24:30 skapet spamd[13548]: (GREY) 81.183.80.187:&lt;br /&gt;&amp;lt;akstcabrushwithafricamnsdgs@abrushwithafrica.com&amp;gt; -&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:24:31 skapet spamd[13548]: 81.183.80.187: disconnected after 15 seconds.&lt;br /&gt;Aug  7 07:24:44 skapet spamd[13548]: 81.183.80.187: connected (9/7)&lt;br /&gt;Aug  7 07:25:06 skapet spamd[13548]: (GREY) 81.183.80.187:&lt;br /&gt;&amp;lt;akstcamplepleasuremnsdgs@amplepleasure.net&amp;gt; -&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:25:07 skapet spamd[13548]: 81.183.80.187: disconnected after 23 seconds.&lt;br /&gt;Aug  7 07:25:08 skapet spamd[13548]: 81.183.80.187: connected (11/9)&lt;br /&gt;Aug  7 07:25:23 skapet spamd[13548]: (GREY) 81.183.80.187:&lt;br /&gt;&amp;lt;akstcaesamnsdgs@aesa.ch&amp;gt; -&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:25:24 skapet spamd[13548]: 81.183.80.187: disconnected after 16 seconds.&lt;br /&gt;Aug  7 07:26:16 skapet spamd[13548]: 81.183.80.187: connected (11/9), lists: spamd-greytrap&lt;br /&gt;Aug  7 07:30:00 skapet spamd[13548]: (BLACK) 81.183.80.187:&lt;br /&gt;-&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt; -&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:31:43 skapet spamd[13548]: 81.183.80.187: From: "Frances Ballard"&lt;br /&gt;-&amp;gt; &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:31:43 skapet spamd[13548]: 81.183.80.187: To: &amp;lt;bennett-gauvin@ehtrib.org&amp;gt;&lt;br /&gt;Aug  7 07:31:43 skapet spamd[13548]: 81.183.80.187: Subject: Extraordinary Narcotic Deals&lt;br /&gt;Aug  7 07:32:47 skapet spamd[13548]: 81.183.80.187: disconnected after 391 seconds.&lt;br /&gt;lists: spamd-greytrap&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;That's rougly what I would have expected to see: A host tries to send obvious spam to one of the trap addresses (one I harvested from incoming noise earlier), is added to &lt;tt&gt;spamd-greytrap&lt;/tt&gt; and on the next attempts gets stuck for a few minutes. (Notice that this spammer has another version of &lt;tt&gt;grep&lt;/tt&gt;able &lt;tt&gt;From:&lt;/tt&gt; addresses - prepend &lt;i&gt;akstc&lt;/i&gt; and append &lt;i&gt;mnsdgs&lt;/i&gt; to the basename so &lt;tt&gt;abrushwithafrica.com&lt;/tt&gt; becomes the junk address &lt;tt&gt;akstcabrushwithafricamnsdgs@abrushwithafrica.com&lt;/tt&gt;. Content and header filterers, please take note.) I thought that this would be the typical behavior, but browsing the output from my script, entries of this kind seems to be more of the norm:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Host 81.192.185.9:&lt;br /&gt;Aug  6 12:47:15 skapet spamd[13548]: 81.192.185.9: connected (12/8)&lt;br /&gt;Aug  6 12:47:27 skapet spamd[13548]: (GREY) 81.192.185.9:&lt;br /&gt;&amp;lt;jacowen@teaneckschools.org&amp;gt; -&amp;gt; &amp;lt;hevadcouture@bsdly.net&amp;gt;&lt;br /&gt;Aug  6 12:47:27 skapet spamd[13548]: 81.192.185.9: disconnected after 12 seconds.&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;Here, the spambot tries exactly once, never to return.  It's possible they detect the stuttering (our side answers one byte per second for the first ten seconds) and give up for that reason, but it could equally well be that it's classic fire-and-forget, the reason why greylisting &lt;i&gt;still&lt;/i&gt; works.  Or both, for that matter.&lt;br /&gt;&lt;br /&gt;But back to the real question:  &lt;span style="font-style: italic;"&gt;Now that we have the data, what do we do with it?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;With the script I have now, extracting the history for each of several thousand IP addresses takes some hours. The output is enlightening, but by the time the run is complete, it could be significantly more than twenty-four hours since the machines listed tried to send spam.&lt;br /&gt;&lt;br /&gt;Should we &lt;i&gt;name and shame&lt;/i&gt; anyway? If we forward the data to law enforcement, &lt;span style="font-style: italic;"&gt;would they care?&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For the time being, I'll try to think of a quicker way to extract the data.  Any input on how to make the process more efficient is welcome, as is considered (learned or otherwise) opinion on the &lt;span style="font-style: italic;"&gt;ethical&lt;/span&gt; up- or downside of publishing &lt;tt&gt;spamd&lt;/tt&gt; log data.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5229454205165205483?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5229454205165205483/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/08/now-that-we-have-their-addresses-do-we.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5229454205165205483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5229454205165205483'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/08/now-that-we-have-their-addresses-do-we.html' title='Now that we have their addresses, do we name and shame?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-8538416538159812798</id><published>2008-07-02T13:08:00.005+02:00</published><updated>2008-07-02T23:28:52.130+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='routers'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD 4.4'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='PF overhaul'/><title type='text'>Is there really a market for an open source router?</title><content type='html'>&lt;span style="font-style:italic;"&gt;Open source goodness.  Coming soon to a router near you (if it isn't there already).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I have a confession to make.  Today's headline isn't mine.  I snatched it from Dana Blankenhorn's &lt;a href="http://blogs.zdnet.com/open-source/?p=2612"&gt;June 30th piece&lt;/a&gt; over at ZDNet.  It almost made me utter a Simpsonian grunt and start ranting about &lt;a href="http://bsdly.blogspot.com/2008/06/more-than-40000-served.html"&gt;my more than 40,000 visitors&lt;/a&gt; again.  Maybe my readers don't constitute a market, and in a consumerland context, a mere forty thousand (they've been coming in at a rate of about five hundre new uniques a week for a little while now) is possibly small potatoes indeed.&lt;br /&gt;&lt;br /&gt;On the other hand, there are good indications that significant parts of the Internet actually runs on open source in some form, regardless of sundry punditry or for that matter how many people have found my online or printed work.  And then again, if even a small subset of those who have downloaded my work actually do some of the things I write about, there is reason to believe that they have achieved a degree of insulation between any local stupidity and the Internet at large.&lt;br /&gt;&lt;br /&gt;But back to the ZDNet piece.  The interesting news there is that &lt;a href="http://www.netgear.com/"&gt;Netgear&lt;/a&gt; are apparently coming around to support open source via the &lt;a href="http://www.myopenrouter.com/"&gt;MyOpenRouter&lt;/a&gt; web site and at least one wireless router appliance with firmware source code available.  It will be kind of interesting to see if they've actually made their code and specifications open enough that we have a reasonable chance of seeing non-Linux open source systems such as &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; run on the platform. &lt;br /&gt;&lt;br /&gt;If you read the OpenBSD source-changes list you probably know this already, but even if you don't, OpenBSD just turned -current into 4.4-beta (see Theo's &lt;a href="http://marc.info/?l=openbsd-cvs&amp;m=121495780011785&amp;w=2"&gt;commit message&lt;/a&gt;).  I take that to mean that the various significant changes such as the overhaul of the PF code will be thoroughly tested in time for the 4.4 release.  That change hasn't made it into snapshots just yet (but likely will witin the next few hours), but you can take a peek at the &lt;a href="http://openbsd.org/plus.html"&gt;OpenBSD change log&lt;/a&gt; for a preview of the goodies that will be officially released on November 1st.  I for one am looking forward to that date.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-8538416538159812798?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/8538416538159812798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/07/is-there-really-market-for-open-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8538416538159812798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/8538416538159812798'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/07/is-there-really-market-for-open-source.html' title='Is there really a market for an open source router?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6801971819312561755</id><published>2008-06-25T16:23:00.004+02:00</published><updated>2008-06-25T16:32:01.744+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='good net citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='good citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='botnets'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><category scheme='http://www.blogger.com/atom/ns#' term='net citizenship'/><category scheme='http://www.blogger.com/atom/ns#' term='netizenship'/><title type='text'>Yes, we can! Make a difference, that is</title><content type='html'>&lt;i&gt;Good netizenship sometimes comes with a green tinge.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Taking in my daily &lt;a href="http://www.linuxtoday.com/"&gt;Linuxtoday&lt;/a&gt; dose this morning, there was one item grabbed that my attention, with the headline "&lt;a href="http://www.linuxtoday.com/infrastructure/2008062500626OPDTHL"&gt;Botnets and You: Save the World--Install Linux&lt;/a&gt;", and the Linuxtoday entry in turn points to &lt;a href="http://opsamericas.com/?p=646"&gt;Ross Brunson's blog post&lt;/a&gt; with the same title.  Do click the link to Ross' blog, it's well worth reading.&lt;br /&gt;&lt;br /&gt;What I particularly like about the piece is that he makes the point that &lt;i&gt;you&lt;/i&gt; can actually make a difference.  More specifically, if you run Linux (being a Novellian, he naturally recommends &lt;a href="http://www.novell.com/products/server/eval.html"&gt;SLES&lt;/a&gt; or &lt;a href="http://www.novell.com/products/desktop/eval.html"&gt;SLED&lt;/a&gt;) and eliminate Microsoft from your system, you are not only gaining for yourself a safer and more reliable platform, you are also helping everybody else by making the probability of your machine ever joining a botnet a lot smaller.&lt;br /&gt;&lt;br /&gt;As regular readers here will recognize, I rate &lt;i&gt;being a good netizen&lt;/i&gt; (aka net citizen) as extremely important.  Let others get on with their business while we tend to our own tasks, not interfering unless we really have to.  If you opt to run your day to day business on the same software your machine most likely came with, the likelihood that somebody else will be taking control of your machine and using it for less than desirable purposes is in fact anything but negligible.  I could have used stronger words ("reckless endangerment" comes to mind), but then Redmondians would have just shut off all remnants of rationality.  I have &lt;a href="http://efn.no/brukeraktsomhet.html"&gt;argued earlier&lt;/a&gt; (article in Norwegian only, sorry) that a computer owner's responsibility should be roughly on par with a dog owner's, but it's possible I should return to that in a future column. And besides, any Linux I've touched for the last ten years is &lt;a href="http://bsdly.blogspot.com/2007/07/linux-is-easier-than-windows-hands-down.html"&gt;easier to install&lt;/a&gt; and operate than the Microsoft offering.&lt;br /&gt;&lt;br /&gt;If you followed the Linuxtoday link earlier, you know that I could not resist making the suggestion there that it is in fact possible to be an even better netizen.  As outlined in &lt;a href="http://bsdly.blogspot.com/2007/07/hey-spammer-heres-list-for-you.html"&gt;an earlier column&lt;/a&gt; (and its followups), if you do your greytrapping properly, you can keep the bad guys occupied and have fun at the same time, consuming next to no resources locally.  How's that for green computing.&lt;br /&gt;&lt;br /&gt;For example, the crew who started sending messages with headers like &lt;br /&gt;&lt;br /&gt;&lt;tt&gt;From: "Mrs Maria Jose" &amp;lt;cordinator@euros-ukolympics.com&amp;gt;&lt;/tt&gt; &lt;br /&gt;&lt;tt&gt;Subject: Immediate Response Required.(Euro Award)&lt;/tt&gt; &lt;br /&gt;&lt;br /&gt;to various &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;spamtrap addresses&lt;/a&gt; on May 15th are still patiently trying to deliver.  A very superficial log analysis shows that there were originally four hosts sending those messages from the &lt;tt&gt;217.70.178.0/24&lt;/tt&gt; network.  There appears to be only one left now, but collectively these machines have so far made 476,787 attempts at delivery to my data collection points.  Judging from a sample of some 21,000 connections from one of the hosts, the average connection time was 389.68 seconds, which in turn means that we've had those spam senders waste approximately 185792441 seconds, or time equal to 5.89 years.  &lt;br /&gt;&lt;br /&gt;Not bad in a little more than a month.  On the downside, the predictions that spambots would sooner or later learn to do things in parallel have been proved true.  My logs indicate that the current crop is able to handle at least sixty simultaneous delivery attempts.  Even bogged down by a suboptimal operating system at the sending end, modern desktop computers are in fact powerful beasts.  In my book it's just good netizenry to set up a machine to keep the garbage they send off your own network, and by extension off others since they don't get around to try delivering to others.  By the way, &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;that list&lt;/a&gt; is now almost 15,000 addresses long, all non-deliverable garbage.  You could be excused for thinking it a twisted art project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6801971819312561755?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6801971819312561755/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/06/yes-we-can-make-difference-that-is.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6801971819312561755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6801971819312561755'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/06/yes-we-can-make-difference-that-is.html' title='Yes, we can! Make a difference, that is'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-317105137193150828</id><published>2008-06-17T15:36:00.009+02:00</published><updated>2008-06-17T16:03:54.712+02:00</updated><title type='text'>BSD Unix? That's purely historical</title><content type='html'>&lt;span style="font-style:italic;"&gt;If you've ever bought something that ended up disappointing you to the point where you wanted to yell at somebody, you will recognize the frame of mind I was in after reading the book I ended up reviewing. With perfect hindsight I should of course have smelled the rat - anything written in this century about "BSD UNIX" is either a retrospective or ill informed.  If you don't fancy a book review, tune in next time for something completely different instead.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Book Review: BSD Unix Toolbox&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I came across this title while browsing an online bookstore for possible supporting literature for a course I'm planning.  The teaser text boasts &lt;span style="font-style:italic;"&gt;"1000+ Commands for FreeBSD, OpenBSD and NetBSD"&lt;/span&gt;, and with a 2008 publication date I thought this one was definitely worth checking out.&lt;br /&gt;&lt;br /&gt;At roughly 300 pages, covering 3-4 commands per page usefully would be a tall order for anyone, so I was a little surprised to find that the book sets aside two chapters to preliminaries, first &lt;span style="font-style:italic;"&gt;"Starting with BSD systems"&lt;/span&gt; with a brief and not very complete overview of BSDish systems and some pointers to online resources, before moving on to an entire chapter on installing FreeBSD.&lt;br /&gt;&lt;br /&gt;In a book that's supposedly about more than a thousand useful commands on FreeBSD, OpenBSD and NetBSD, setting aside an entire chapter to a rather superficial description of how to install one of the systems seems to me a very odd choice.  Odder still, how to install either OpenBSD or NetBSD is not covered at all.  Now installing any of those systems is not in fact too difficult, and I for one do not think the world needs yet another walkthrough of FreeBSD's or the other systems' install process.  In my view, it would have been better if the authors had concentrated on getting around to describing those 1000+ commands, the sooner the better.&lt;br /&gt;&lt;br /&gt;In the installation chapter, which also covers the ports and packages system, the authors seem to be unaware that each system has its own variety, and that on NetBSD the system goes under a different name. As the chapter title implies, this chapter is clearly FreeBSD specific, and would have been a lot more useful if the authors had noted at least some of the significant differences that exist between the systems the book sets out to cover.&lt;br /&gt;&lt;br /&gt;Probably the most useful chapters in the book are chapters 3 through 6, where essentially all information is likely to be portable to all covered systems.  However, Chapter 3, &lt;span style="font-style:italic;"&gt;"Using the shell"&lt;/span&gt;, is not without its oddities: The authors seem to assume that the user has installed Gnome as the preferred desktop environment and covers mainly using &lt;span style="font-style:italic;"&gt;Bash&lt;/span&gt; as the shell.  That is a slightly odd choice since to my knowledge Bash is not the default shell on any of the BSDs, but available as an optional extra through the package system.&lt;br /&gt;&lt;br /&gt;Chapter 4, &lt;span style="font-style:italic;"&gt;"Working with Files"&lt;/span&gt;, walks through the basics of file types, file permissions, file system operations and commands such as &lt;tt&gt;cp&lt;/tt&gt;, &lt;tt&gt;file&lt;/tt&gt;, &lt;tt&gt;mount&lt;/tt&gt; and a few others.  After reading the chapter, you will be aware that these commands exist, if not much else.&lt;br /&gt;&lt;br /&gt;Chapter 5, &lt;span style="font-style:italic;"&gt;"Manipulating Text"&lt;/span&gt;, offers the briefest treatment I've ever seen of regular expressions, mentions in passing vi and emacs as possible tools and then moves on to describing what appears to be the authors' favorite text editors (joe, nano and pico, neither of those are in the base system anywhere) and a brief mention of some graphical tools.  The chapter then offers samples of using &lt;tt&gt;cat&lt;/tt&gt;, &lt;tt&gt;head&lt;/tt&gt;, &lt;tt&gt;tail&lt;/tt&gt;, &lt;tt&gt;more&lt;/tt&gt;, &lt;tt&gt;less&lt;/tt&gt;, &lt;tt&gt;pr&lt;/tt&gt;, &lt;tt&gt;grep&lt;/tt&gt;, &lt;tt&gt;wc&lt;/tt&gt;, &lt;tt&gt;sort&lt;/tt&gt;, &lt;tt&gt;strings&lt;/tt&gt;, &lt;tt&gt;sed&lt;/tt&gt;, &lt;tt&gt;tr&lt;/tt&gt;, &lt;tt&gt;diff&lt;/tt&gt;, &lt;tt&gt;sdiff&lt;/tt&gt;, &lt;tt&gt;awk&lt;/tt&gt;, &lt;tt&gt;cut&lt;/tt&gt;, &lt;tt&gt;od&lt;/tt&gt; and finally &lt;tt&gt;unix2dos&lt;/tt&gt;.  Again, after reading the chapter you will be aware that the commands exist, but you will be looking elsewhere for detailed information.  &lt;br /&gt;&lt;br /&gt;Large chunks of Chapter 6, &lt;span style="font-style:italic;"&gt;"Playing with Multimedia"&lt;/span&gt; would be useful on most unixlike systems (oggenc and convert likely perform much the same anywhere), but once again what little is offered as tips for getting sound or other functionality to work on your system is strictly FreeBSD-specific.&lt;br /&gt;&lt;br /&gt;In Chapter 7, &lt;span style="font-style:italic;"&gt;"Administering File Systems"&lt;/span&gt; the perspective is again distinctively FreeBSD-centric with little or no note of even potential differences across systems.  For a FreeBSD user it may offer a useful if very brief and shallow walkthrough, though.&lt;br /&gt;&lt;br /&gt;Chapter 8, &lt;span style="font-style:italic;"&gt;"Backups and Removable Media"&lt;/span&gt;, shows some examples of &lt;tt&gt;tar&lt;/tt&gt;, &lt;tt&gt;gzip&lt;/tt&gt; and &lt;tt&gt;rsync&lt;/tt&gt; use, sometimes in combination, supplemented with brief mention of some common and less common file compression tools.  The removable media section covers CD burning with &lt;span style="font-style:italic;"&gt;cdrtools&lt;/span&gt; in more detail than most other software mentioned in this book, but fail to mention useful tidbits such as how to use OpenBSD's &lt;tt&gt;cdio&lt;/tt&gt; command (which is in base) for similar tasks.  In a book that claims to be up to date as of 2008, I find that a very curious omission.&lt;br /&gt;&lt;br /&gt;Chapter 9, &lt;span style="font-style:italic;"&gt;"Checking and Managing Running Processes"&lt;/span&gt; does little more than mention the names of some process management relevant commands such as &lt;tt&gt;nice&lt;/tt&gt;, &lt;tt&gt;renice&lt;/tt&gt;, &lt;tt&gt;fg&lt;/tt&gt;, &lt;tt&gt;bg&lt;/tt&gt;, &lt;tt&gt;kill&lt;/tt&gt; and &lt;tt&gt;killall&lt;/tt&gt; in passing before delving into a surprisingly detailed walkthrough of &lt;tt&gt;ps&lt;/tt&gt;.  It proceeds to describing &lt;tt&gt;top&lt;/tt&gt;, &lt;tt&gt;pgrep&lt;/tt&gt;, &lt;tt&gt;fuser&lt;/tt&gt; (which the user is instructed to install via &lt;tt&gt;pkg_add&lt;/tt&gt;), then returns to &lt;tt&gt;nice&lt;/tt&gt; and &lt;tt&gt;renice&lt;/tt&gt; and offering a couple of examples of &lt;tt&gt;fg&lt;/tt&gt; and &lt;tt&gt;bg&lt;/tt&gt; use before really picking up speed with &lt;tt&gt;kill&lt;/tt&gt; and &lt;tt&gt;killall&lt;/tt&gt; (fortunately with a list of signals), background processes started via either &lt;tt&gt;nohup&lt;/tt&gt; or by appending an &lt;tt&gt;&amp;amp;&lt;/tt&gt; character, and spending a couple of sentences each on &lt;tt&gt;at&lt;/tt&gt;, &lt;tt&gt;gatch&lt;/tt&gt;, &lt;tt&gt;atq&lt;/tt&gt;, &lt;tt&gt;atrm&lt;/tt&gt; and &lt;tt&gt;crontab&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;Chapter 10, &lt;span style="font-style:italic;"&gt;"Managing the System"&lt;/span&gt;, weighs in at a little more than 20 pages, and characteristically slips back into FreeBSD-centric mode where it offers much detail at all.  For some reason this is where the instructions about setting up your system for booting several operating systems turns up, along with a description of using &lt;span style="font-style:italic;"&gt;GRUB&lt;/span&gt; as your boot loader.&lt;br /&gt;&lt;br /&gt;Chapter 11, &lt;span style="font-style:italic;"&gt;"Managing Network Connections"&lt;/span&gt; is again quite FreeBSD centric even if it does rattle off the names of the others at apparently random intervals.  The information is as far as I can tell mostly correct for FreeBSD and some, if not all, commands will work elsewhere, but superficial enough that a user will have to turn elsewhere for help in resolving any problems that turn up.&lt;br /&gt;&lt;br /&gt;Chapter 12, &lt;span style="font-style:italic;"&gt;"Accessing Network Resources"&lt;/span&gt; covers anything from browsing the web (the authors state confidently that &lt;tt&gt;lynx&lt;/tt&gt; &lt;span style="font-style:italic;"&gt;'has been supplanted [...] by the &lt;tt&gt;links&lt;/tt&gt; browser, which was later replaced by &lt;tt&gt;elinks&lt;/tt&gt;'&lt;/span&gt;, apparently unaware that in OpenBSD at least, &lt;tt&gt;lynx&lt;/tt&gt; is in fact part of the base system), fetching files with &lt;tt&gt;wget&lt;/tt&gt;, &lt;tt&gt;curl&lt;/tt&gt;, &lt;tt&gt;lftp&lt;/tt&gt; (curiously recommending &lt;tt&gt;lftp&lt;/tt&gt; even though in at least OpenBSD the base system's &lt;tt&gt;ftp&lt;/tt&gt; client offers essentially all the required functionality), before spending four pages doing some handwaving about how to set up &lt;span style="font-style:italic;"&gt;samba&lt;/span&gt;. IRC and mail clients are also mentioned, but I was a bit surprised that &lt;span style="font-style:italic;"&gt;'managing mail'&lt;/span&gt; apparently does not even touch on running a mail service.&lt;br /&gt;&lt;br /&gt;Chapter 13, &lt;span style="font-style:italic;"&gt;"Doing Remote System Administration"&lt;/span&gt;, covers &lt;tt&gt;ssh&lt;/tt&gt;, &lt;tt&gt;screen&lt;/tt&gt;, &lt;tt&gt;tsclient&lt;/tt&gt; (Gnome's windows remote desktop client), xhost, vnc and vino (another Gnome applet, this one for sharing your Gnome desktop) in that order, none of them in any great detail, bringing to mind the mantra 'now at least you know the commands exist'.&lt;br /&gt;&lt;br /&gt;Chapter 14, &lt;span style="font-style:italic;"&gt;"Locking Down Security"&lt;/span&gt;, sprints through the basics of user and groups administration on FreeBSD, moves on to some tips about running services in general and via &lt;tt&gt;inetd&lt;/tt&gt;, and also mentions firewalls.&lt;br /&gt;&lt;br /&gt;The section &lt;span style="font-style:italic;"&gt;"Configuring the Built-In Firewall"&lt;/span&gt; has me really baffled. The authors claim not only that ipfw has been ported to NetBSD and OpenBSD (where PF, mentioned here only as &lt;span style="font-style:italic;"&gt;PacketFilter&lt;/span&gt;, has been the only packet filter since 2001), but the online reference they give (&lt;a href="http://www.phildev.net/ipf"&gt;http://www.phildev.net/ipf&lt;/a&gt;) actually points to information about Darren Reed's &lt;span style="font-style:italic;"&gt;IPFilter&lt;/span&gt;, also known as &lt;span style="font-style:italic;"&gt;IPF&lt;/span&gt;.  &lt;br /&gt;&lt;br /&gt;It is unclear which firewall the authors think they have configured, but the actual rule sets they offer are &lt;tt&gt;ipfw&lt;/tt&gt; scripts.  It is likely that a user trying to run with the &lt;tt&gt;rc.conf&lt;/tt&gt; snippet supplied and the rule set would in fact end up with both &lt;tt&gt;ipf&lt;/tt&gt; and &lt;tt&gt;ipfw&lt;/tt&gt; enabled, but likely with no working packet filtering (and depending on how the kernel with &lt;tt&gt;ipf&lt;/tt&gt; and &lt;tt&gt;ipfw&lt;/tt&gt; was compiled, the configuration would be either completely open or completely shut, another point apparently unknown or considered irrelevant by the authors).  After a few examples of &lt;tt&gt;ipfw&lt;/tt&gt; operations, the chapter then moves on to mention that yes, you can actually input your own information into the system logs, before recommending that you set up a centralized syslog server and instructing you to look into the third-party tools &lt;span style="font-style:italic;"&gt;tripwire&lt;/span&gt; and &lt;span style="font-style:italic;"&gt;chkrootkit&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The three appendixes have reference-style information (finally!) about using &lt;tt&gt;vi&lt;/tt&gt; or &lt;tt&gt;vim&lt;/tt&gt;, shell special characters and variables, and 'personal configuration files', aka dotfiles.  All very brief, of course.&lt;br /&gt;&lt;br /&gt;Unfortunately, this is a book I can not recommend.  Large chunks of it or something very similar is available elsewhere, some of it for free and reasonably well written.  If you're a FreeBSD user you will find yourself looking up the topics in the Handbook anyway, if you are a NetBSD or OpenBSD user, the relatively platform independent parts are addressed equally well in several 'Linux' books and other online resources.&lt;br /&gt;&lt;br /&gt;There may in fact be more than a thousand monospace type '&lt;tt&gt;command&lt;/tt&gt;' examples in the book (I never counted), but other than that this title fails to live up to the expectations set up by the cover and other marketing.  The book goes to some length to give the impression that it's current, with all dates I could see in examples set somewhere in the second half of 2008, but the authors appear to have been working with FreeBSD 6.3 as their current version.&lt;br /&gt;&lt;br /&gt;The relatively frequent mention of &lt;span style="font-style:italic;"&gt;'BSD distributions'&lt;/span&gt; - a term that never entered the BSD vocabulary, mainly because the BSDs are maintained as separate systems - and various odd details such as the plainly wrong firewalls examples makes me suspect strongly that much of the material is in fact warmed over from a Linux book, slightly edited where the authors thought it was necessary.  Unfortunately, they missed more than a few spots and for whatever reason the fact checking and testing did not get all the attention it should have. The result is a book that is very superficial where it's right and has enough spots that are anything from misleading to downright wrong that it gets rather irritating to an experienced reader.  I can only imagine how frustrating it would be to use this as a resource for learning.&lt;br /&gt;&lt;br /&gt;For a long time *BSD user (yes, all three), it seemed like a nice surprise that Wiley had discovered that there is such a thing as a BSD market.  After a few hours looking at this entry, I hope they take the task a little more seriously the next time they try offering to sell us BSD literature.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;Book info:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Title:&lt;/span&gt; &lt;span style="font-style:italic;"&gt;BSD UNIX Toolbox: 1000+ Commands for FreeBSD, OpenBSD and NetBSD&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Authors: &lt;/span&gt;Christopher Negus and Francois Caen&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Publisher:&lt;/span&gt; Wiley Publishing, Inc. (Indianapolis)&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Copyright: &lt;/span&gt;2008&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;ISBN:&lt;/span&gt; 978-0-470-37603-4&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-317105137193150828?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/317105137193150828/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/06/bsd-unix-thats-purely-historical.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/317105137193150828'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/317105137193150828'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/06/bsd-unix-thats-purely-historical.html' title='BSD Unix? That&apos;s purely historical'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-2226419887725221464</id><published>2008-06-04T15:16:00.004+02:00</published><updated>2008-06-04T23:34:50.077+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='FOSS Aalborg'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><title type='text'>More than 40,000 served</title><content type='html'>Today's blog comes to you from sunny Aalborg in northern Denmark, where our Danish friends had the good sense to put together a one-day conference.  Go to the web site at &lt;a href="http://www.foss-aalborg.dk/"&gt;http://www.foss-aalborg.dk/&lt;/a&gt; for details of the programme, I certainly hope the organizers will start a tradition and put on another conference soon.&lt;br /&gt;&lt;br /&gt;For my own part, the &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt; (the free predecessor to &lt;a href="http://www.bsdly.net/bookofpf/"&gt;the book&lt;/a&gt;), saw its confirmed unique visitor number forty thousand today, apparently a user somewhere in Ukraine:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;$ ./mystats.sh&lt;br /&gt;Wed Jun  4 14:57:26 CEST 2008&lt;br /&gt;Total PF tutorial visitors :   40000&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;I promise I won't bother you with updates of the number of visitors again until we reach fifty thousand.  I'll do my very best to have produced some other interesting material before then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-2226419887725221464?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/2226419887725221464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/06/more-than-40000-served.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2226419887725221464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2226419887725221464'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/06/more-than-40000-served.html' title='More than 40,000 served'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6040580670657115103</id><published>2008-05-25T21:02:00.004+02:00</published><updated>2008-05-25T21:22:42.220+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hampe Ivancevic'/><category scheme='http://www.blogger.com/atom/ns#' term='Hamada Kirkegaard'/><category scheme='http://www.blogger.com/atom/ns#' term='Sumol Przygocki'/><category scheme='http://www.blogger.com/atom/ns#' term='Caixia Kluge'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='Bitte Kutschinski'/><category scheme='http://www.blogger.com/atom/ns#' term='challenge-response'/><category scheme='http://www.blogger.com/atom/ns#' term='Anant Johaneson'/><category scheme='http://www.blogger.com/atom/ns#' term='joejob'/><title type='text'>I challenge your response, backscatterer</title><content type='html'>A few weeks before I left Datadok, some real user accounts there, including mine, were joejobbed.  That is, somebody, somewhere started sending spam with the &lt;tt&gt;From:&lt;/tt&gt; or return address set to a real, live mail account in one of our domains.  There were several incidents, the backscatter output of one of the more recent ones is preserved &lt;a href="http://www.bsdly.net/~peter/joejob-archive.2008-04-26.txt"&gt;here&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;Of course there were a handful of the &lt;span style="font-style:italic;"&gt;"please prove to me that you are a human"&lt;/span&gt; messages from challenge-response systems too, but more about that later.&lt;br /&gt;&lt;br /&gt;I normally keep the composed, sceptical attitude you will have come to expect from system administrators, but at fairly random intervals I turn into a regular Goody Two-Shoes.  So faced with a collection of bounces for messages I certainly did not send, I decided to take some time to contact the people responsible for the machines that sent the spam.  Owners of spam sending machines (as distinct from their &lt;span style="font-style:italic;"&gt;Pwners&lt;/span&gt;) generally are not aware what the machines are doing, and at times I turn into that soft-hearted guy who just wants to help.&lt;br /&gt;&lt;br /&gt;As you will see from the collection, not all bounces contain enough of the original message to track down where the spam was actually sent from.  Then there were others where it was possible to dechipher where the message came from, and I made a canned message and sent it off to whatever addresses seemed likely from the whois output.&lt;br /&gt;&lt;br /&gt;You should not be surprised to hear that quite a handful of those produced regular bounces (yes, &lt;tt&gt;postmaster@&lt;/tt&gt; and several other &lt;a href="http://www.ietf.org/rfc/rfc2142.txt"&gt;RFC2142&lt;/a&gt; mandated mailboxes are non-existent at several sites), but what struck me was that of those that did not bounce there were several that instead produced &lt;tt&gt;"Hi, I'm the challenge/response robot at site.nx, please follow my instructions to prove you are human"&lt;/tt&gt; responses.&lt;br /&gt;&lt;br /&gt;Seriously, folks, does anybody in this day and age actually believe that these systems work?  It's possible that challenge-response adherents' claims that their system stops all incoming spam are true, but seen from the outside, the only guaranteed effect is that your site will produce backscatter, and lots of it.  It would perhaps have been interesting to know just how many of the undeliverables I've squirted into my spammer bait list were actually produced by challenge-response systems, but unfortunately, we have no way of knowing.  &lt;br /&gt;&lt;br /&gt;There are a few other things that challenge-response systems do not protect you against, such as plain old stupidity and malicious clicking by those who receive your challenge-response backscatter.  I take the spam bounces in my collection as proof of that.&lt;br /&gt;&lt;br /&gt;So challenge-response people, yes, I agree that you had no way of knowing whether Hampe Ivancevic, Hamada Kirkegaard, Caixia Kluge, Bitte Kutschinski, Anant Johaneson, Sumol Przygocki or a few others actually worked for me at the time you sent your challenge.  I will however promise those fine people that if they exist, if they have the right qualifications and I am in a position to offer them employment, I will consider their applications in all seriousness.&lt;br /&gt;&lt;br /&gt;The rant about certain blacklists and certain unwise ways to use them will have to wait until later.  There are other deadlines to keep, the house still needs the odd splash of paint, but I'll catch up with you all later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6040580670657115103?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6040580670657115103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/05/i-challenge-your-response-backscatterer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6040580670657115103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6040580670657115103'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/05/i-challenge-your-response-backscatterer.html' title='I challenge your response, backscatterer'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-787894530541478719</id><published>2008-05-21T21:08:00.003+02:00</published><updated>2008-05-21T21:19:18.780+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='traplist'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><category scheme='http://www.blogger.com/atom/ns#' term='spambait'/><title type='text'>Fake Address Round Trip Time: 13 days</title><content type='html'>&lt;i&gt;The results are in. Our adversaries really are mindless automata.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Regular readers will have noticed that I've been running a small scale experiment over the last few months, feeding one spammer byproduct back to them via a reasonably accessible &lt;a href="http://www.bsdly.net/~peter/traplist.shtml"&gt;web page&lt;/a&gt;. The hope was that I would learn a few things about spammer behavior in the process.&lt;br /&gt;&lt;br /&gt;After collecting fake addresses in my domains generated elsewhere for a while, I started noticing that a short time after I'd put addresses on the traplist page, they would start appearing as &lt;tt&gt;To:&lt;/tt&gt; addresses on what appeared to be spam message entries in my logs.  After a while more, I was certain that the round trip time was down to a few days, but my notes did not include exact dates for when each individual harvested address made it into my spamtrap list.  Meaning, of course, I had no way of telling just how fast the process is. &lt;br /&gt;&lt;br /&gt;Time to cheat slightly, or, as they say in the trade, perform a controlled experiment.  Instead of sticking to the original plan of strictly collecting addresses generated elsewhere and feed them back to the harvesters via the web page, I decided to deviate slightly and &lt;i&gt;plant&lt;/i&gt; an address at a specified date, and maybe add another few for data points later.  I did the obvious thing and on October 11th, 2007, I slipped &lt;tt&gt;put-here-2007-10-11@datadok.no&lt;/tt&gt; into one of that day's batches of collected addresses.&lt;br /&gt;&lt;br /&gt;Needless to say, my attention wandered from the project in the meantime.  After all, in October there was still &lt;a href="http://www.nostarch.com/pf.htm"&gt;that book&lt;/a&gt; to finish, and after the book was done, other developments had my attention or at least drained my energy for quite a while. So it was only last Sunday it struck me that by now I should have at least some data on what actually happened.  One other reason it was suddenly quite appropriate to sum up the data was that the &lt;tt&gt;datadok.no&lt;/tt&gt; domain had been turned over to new owners, and it will likely move out of my sphere of responsibility in the near future.&lt;br /&gt;&lt;br /&gt;So here's the result, the fake address round trip time:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;$ grep put-here-2007-10-11@datadok.no /var/log/spamd &lt;br /&gt;Oct 24 03:40:40 skapet spamd[20795]: (BLACK) 60.50.174.129: &lt;br /&gt;&amp;lt;pepgyoygq@boisdelan.com&amp;gt; -&amp;gt; &amp;lt;put-here-2007-10-11@datadok.no&amp;gt;&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;That is, the first time my artificially inserted address was used as a spam target was thirteen days after I put it on the traplist page.  Since then, something, somewhere, has tried &lt;br /&gt;&lt;tt&gt;&lt;br /&gt;$ grep -c put-here-2007-10-11@datadok.no /var/log/spamd &lt;br /&gt;300&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;to deliver email to our imaginary friend a total of 300 times.  Data taken from the spamd in front of that domain's secondary mail exchanger, of course.  As always, I would love to hear from you about any related experiences.&lt;br /&gt;&lt;br /&gt;In upcoming columns we will see, er, actually I find myself with such a selection of tempting topics to choose from, it is really hard to decide what to cover next.  But the next one will appear here shortly.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-787894530541478719?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/787894530541478719/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/05/fake-address-round-trip-time-13-days.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/787894530541478719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/787894530541478719'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/05/fake-address-round-trip-time-13-days.html' title='Fake Address Round Trip Time: 13 days'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-1731451996942629489</id><published>2008-05-14T10:55:00.003+02:00</published><updated>2008-05-14T11:21:52.757+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VPN'/><category scheme='http://www.blogger.com/atom/ns#' term='proprietary handshakes'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='IPSEC'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS Aalborg'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><category scheme='http://www.blogger.com/atom/ns#' term='security appliances'/><title type='text'>Network devices that lie</title><content type='html'>&lt;span style="font-style:italic;"&gt;Do some network devices lie about their config, or are they just talking past each other?&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;One of my tasks recently has been to start integrating the networks of two companies, because one of the companies bought the other.&lt;br /&gt;&lt;br /&gt;At my end you would have guessed already that anything exposed to the Internet would be running OpenBSD, while at the other end they were strangely attached to products from a certain software marketer based in the north-western part of the USA.  But for the IPSEC part, they had decided that a certain proprietary "Internet Security Appliance" would fill their needs, and at each of their locations they had identical appliances running for "VPN" purposes.&lt;br /&gt;&lt;br /&gt;Therein lies a story.  After a few working days of debugging my way to an almost working configuration, my main conclusion is, that it is quite likely that proprietary security appliance lies.  That is, it will let its administrator choose a wide range of very specific configuation options, but will actually override them, at least if the device at the other end does not do the "I'm one of your kind" secret handshake.&lt;br /&gt;&lt;br /&gt;Here's what it looks like in the logs on the OpenBSD end, the part that is supposed to be a negotiation but actually isn't and the options on the OpenBSD side matched the options given in the screendumps of the other side's GUI that I had to work with:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;May 13 14:00:28 delilah isakmpd[13547]: attribute_unacceptable: &lt;br /&gt;ENCRYPTION_ALGORITHM: got DES_CBC, expected 3DES_CBC&lt;br /&gt;May 13 14:00:28 delilah isakmpd[13547]: attribute_unacceptable: &lt;br /&gt;HASH_ALGORITHM: got MD5, expected SHA&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;and so on, through the various options, each time expecting what matched the screendumps, getting something else entirely, up until the inevitable&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;May 13 14:00:28 delilah isakmpd[13547]: &lt;br /&gt;message_negotiate_sa: no compatible proposal found&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;or as they say elsewhere, &lt;i&gt;Do not pass GO.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Moving on from there to actual tunnel setup reveals troublesome vendor IDs and other strangeness.  This could very well be an attempt at vendor lock-in, but then the conventional wisdom anyway seems to be that the only way to set up a VPN is to have identical devices at every endpoint.  There is no good reason why it should be like that, but I may be discovering the less good ones.  &lt;br /&gt;&lt;br /&gt;The main reason I'm not naming names or stating flat-out that "this device lies about its configuration" is that my analysis is not complete yet.  If you have data you want to share with me on this or similar experiences, I would love to hear from you, at &lt;a href="mailto:peter@bsdly.net?subject=Network devices that lie"&gt;peter@bsdly.net&lt;/a&gt;.  It's likely I'll write a followup based on what I hear and what happens.&lt;br /&gt;&lt;br /&gt;During my silent period blogging wise, some notable events did occur, and I may return to them in later posts.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;UKUUG Spring 2008&lt;/span&gt;&lt;br /&gt;In late March I went to Birmingham to attend the &lt;a href="http://spring2008.ukuug.org/"&gt;UKUUG Sping 2008 &lt;/a&gt;conference - with a &lt;a href="http://home.nuug.no/~peter/pf-ukuug2008/"&gt;PF tutorial&lt;/a&gt; much like the one in Riga in February and a refreshed &lt;a href="http://home.nuug.no/~peter/malware-ukuug2008/effective-countermeasures.pdf"&gt;malware talk&lt;/a&gt;.  A number of very good talks, and a number of Perl Mongers there, notably &lt;a href="http://barbie.missbarbell.co.uk"&gt;Barbie&lt;/a&gt;, who told me about his "&lt;a href="http://birmingham.pm.org/talks/barbie/malware/"&gt;Understanding Malware&lt;/a&gt;" talk that actually overlaps quite a bit with my paper.  The social parts were good too, and yes, in Birmingham it is possible to find Real Ale.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;BSD Magazine #1 is out&lt;/span&gt;&lt;br /&gt;Not too long after the UKUUG Spring Conference, the first issue of &lt;a href="http://bsdmag.org/"&gt;BSD Magazine&lt;/a&gt; was published.  Readers of this blog may find one article to be slightly familiar, but there's a nice selection of articles and reviews, covering all the BSD systems and a wide range of topics.  And I should mention, they are &lt;a href="http://bsdmag.org/prt/view/become-an-author.html"&gt;looking for articles&lt;/a&gt; for upcoming issues.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;OpenBSD 4.3 is out&lt;/span&gt;&lt;br /&gt;&lt;a href="http://openbsd.org/43.html"&gt;OpenBSD 4.3&lt;/a&gt; was released on schedule on May 1st, and as usual those who pre-ordered got their copies early.  As always, exciting new stuff as well as a number of incremental improvements.  There's interesting stuff happening post-4.3 as well, watch &lt;a href="http://undeadly.org/"&gt;undeadly&lt;/a&gt; for updates.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Next up: FOSS Aalborg, June 4th&lt;/span&gt;&lt;br /&gt;Our Danish friends are kind enough to give us yet another excuse to come visit.  A group of BSD and Linux people have been hosting good conferences in Copenhagen for years, last year's EuroBSDCon being one. &lt;br /&gt;&lt;br /&gt;This time it's Aalborg's turn, with a &lt;a href="http://www.foss-aalborg.dk/"&gt;one day conference&lt;/a&gt; on June 4th. Yours truly will be on the speaker list.  I hope to see you there, I will be bringing a small stack of books.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-1731451996942629489?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/1731451996942629489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/05/network-devices-that-lie.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1731451996942629489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/1731451996942629489'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/05/network-devices-that-lie.html' title='Network devices that lie'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-2649815609927724002</id><published>2008-04-13T21:11:00.009+02:00</published><updated>2008-06-04T15:54:52.180+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Document formats'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenOffice.org'/><category scheme='http://www.blogger.com/atom/ns#' term='OOXML'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>Does anybody here remember Artie Eff?</title><content type='html'>That's what you thought you heard, right?  Actually, this is not Uncle BSDly's nostalgia for a backstreet hoodlum he might have known way back when. It's Uncle BSDly trying to point out what happened the last time a standard was entrusted to that little Seattle company called Microsoft. R-T-F. The Rich Text format. &lt;br /&gt;&lt;br /&gt;So the question is, &lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;   &lt;span style="font-style:italic;"&gt;Does anybody here remember RTF?&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;It's been a long, long time, so you probably do not remember. But take my word for it, way back when OS/2 was to be the Next Operating System, the Rich Text Format was generally hailed as a Very Good Thing.  It was a document and data format which came with a published specification, and the plan was that this was to be the vendor neutral data exchange format for all applications which would talk RTF compatibly and henceforth data destruction due to inane incompatibilities and fuzzy interpretations would be a thing of the past.&lt;br /&gt;&lt;br /&gt;The original RTF 1.0 specification has been preserved at sourceforge as &lt;a href="http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt"&gt;http://latex2rtf.sourceforge.net/RTF-Spec-1.0.txt&lt;/a&gt;, and our friends at WikiPedia have a short but nice article at &lt;a href="http://en.wikipedia.org/wiki/Rich_Text_Format"&gt;http://en.wikipedia.org/wiki/Rich_Text_Format&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I originally started writing that piece at the end of July 2007, before the ISO voting process over Microsofts "Office Open XML" specification had started.  I was working on &lt;a href="http://www.bsdly.net/bookofpf/"&gt;a book&lt;/a&gt; at the time, and never got very far with my planned overview with a very personal slant on that file format.  The RTF format was actually useful in its time, and how it is constructed and how it was maintained can show us a lot of useful things.  Now that it's clear that Microsoft succeeded in getting ISO approval for its specification, it's time to return to that subject.&lt;br /&gt;&lt;br /&gt;What a process it has been.  Microsoft has succeeded in buying itself an ISO standard.  Piece by piece, in a process that included ballot-stuffing, bribes, and the administrative overruling of the relevant technical committee's decision by a national standards body (right here in Norway), Microsoft bought itself or is very close to getting its wholly-owned ISO standard.  Nevermind that there is at least one formal investigation by the EU into the process and that the chairman of one national body's technical committee (once again, in Norway) has lodged a formal protest over procedure with ISO.&lt;br /&gt;&lt;br /&gt;Microsoft won, and we will all have to learn to live with the consequences. &lt;br /&gt;&lt;br /&gt;One of the very effective tactics was to have Microsoft partners sign up as voting members of national standards bodies, with clear instructions on how to vote.  This lead to an influx of new voting members in various parts of the standards organization so large that other standardization efforts where Microsoft has no interest at the moment have reportedly ground to a halt.  The reason is that what remains of formal procedure in ISO dictates that if enough members of a national body fail to vote on a proposed standard, the standard is not approved and fails by default.  So the first victim of Microsoft's ISO takeover is no new standards.  Who would want more ISO standards anyway?&lt;br /&gt;&lt;br /&gt;And oh yes, Microsoft's main OOXML propagandist in Norway has offered up &lt;a href="http://sharan67.files.wordpress.com/2008/04/ligning-equation-3.doc"&gt;this document&lt;/a&gt; as proof that OOXML has been implemented and is in fact useable in OpenOffice too.  It did not open at all in my OpenOffice 2.3 running on OpenBSD 4.3-current, (see &lt;a href="http://www.bsdly.net/~peter/rana-ooxml-ooo-filteropt-00.jpg"&gt;here&lt;/a&gt; and &lt;a href="http://www.bsdly.net/~peter/rana-ooxml-ooo-filteropt-01.jpg"&gt;here&lt;/a&gt; for the two stages of the results), and informed sources tell me that the much-ballyhooed formula is not editable when the document is imported into other applications such as Microsoft's own Office 2003 plus the compatibility pack.  &lt;br /&gt;&lt;br /&gt;And as if to emphasize the fact that all you can guarantee when you call something "XML" is that the data will start with a &amp;lt; and end with a &amp;gt;, this XML document in fact handles the equation part as an embedded binary object, intimately tied to Microsoft's equation editor.  I suppose this means that even at 9,000 pages and counting, the spanking new ISO standard does not cover handling equations in a satisfactory manner.  All in all, just how much more weirdness this will lead to is hard to predict.&lt;br /&gt;&lt;br /&gt;But I digress.  As I said earlier, RTF was thought to be a very good thing.  The specification was a lot less ambitious and a lot slimmer than the XML based one, and since RTF was the source format for the Microsoft Windows Help file format, recommended for all apps to run on Windows, there were even usable examples documented in one of the several manuals you would get with the Microsoft programming tools.&lt;br /&gt;&lt;br /&gt;As you would expect, word processors and other applications were rewritten to be able RTF.  I worked in documentation and localization at the time, and over the years I had a fair amount of exposure to the format and the tools.  Basically, any Windows application worth documenting would require an online help system and the source format would be RTF.  &lt;br /&gt;&lt;br /&gt;Just like an XML file has to start with a &amp;lt; and end with &amp;gt;, RTF files are made up of elements that are delimited by matching { and } curly braces.  In principle, you could write valid RTF using any text editor, and the Microsoft documentation would show you how.  That fact came in handy a few times when Word managed to mangle some other document with its 'fast save' feature or as punishment for sending the document to be edited at one machine too many during a technical review.  The solution to essentially any problem, as long as the .DOC file was possible to open at all, would be to save the document as .RTF, count the number of {s and }s and see if the numbers were equal. If they were not, you would add one of the missing kind at either the top or the bottom, using any straight text editor.  The magic would work, or at least put you in a position where you could extract useful data.&lt;br /&gt;&lt;br /&gt;Over time you would upgrade to newer tools, and Microsoft's development discipline (amply documentend in the OOXML tomes) would show up at every Word upgrade if you had not been paying attention.&lt;br /&gt;&lt;br /&gt;It would go like this: You get the fresh Word version with all the new bells and whistles, and do another revision of the help system for an app.  The help compile would break horribly, and after some hair-pulling and tabletop-thumping you would eventually remember that this had in fact happened before.  &lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;The definition of RTF had changed.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;After a while you would discover that hidden somewhere deep in the new Word's online help or &lt;tt&gt;README&lt;/tt&gt; you would find Microsoft noting that application developers would need to install a newer version of the help compiler to get their RTF to compile.  Or to put it slightly differently, the operative definition of what "RTF" is would always be &lt;span style="font-style:italic;"&gt;"whatever Word produces when you save as RTF"&lt;/span&gt;.  To their credit, the RTF people at Microsoft would usually publish a new version of the specification some time after a new Word release.&lt;br /&gt;&lt;br /&gt;So, we've been there before.  &lt;span style="font-style:italic;"&gt;"Whatever Microsoft {Word,Excel,PowerPoint} produces"&lt;/span&gt; is likely to be the operative definition of what OOXML is, even if the 9,000 pages and counting specification says something subtly different.&lt;br /&gt;&lt;br /&gt;With a specification that lets dates be represented in radically different ways depending on context, say if you're saving from a word processor, a spreadsheet or a presentation program, we're in for a lot of entertainment, I'm sure.&lt;br /&gt;&lt;br /&gt;The other things I'm sure about are that there will never be an implementation of OOXML as currently written (even if the &lt;a href="http://www.openoffice.org/"&gt;OpenOffice.org&lt;/a&gt; people have made noises that they might try), and that a full implementation of anything vaguely similar will have to come from Microsoft.&lt;br /&gt;&lt;br /&gt;Real gluttons for punishment could try the new hobby (or profession, if you can get a sponsor) of tracking the the day to day development in the set of differences between OOXML-as-published and&lt;br /&gt;OOXML-as-implemented.&lt;br /&gt;&lt;br /&gt;Stuff I'll be getting back to: OpenBSD 4.3 is about to hit a mirror near you and hopefully your mailbox very soon, and more spam follies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-2649815609927724002?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/2649815609927724002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/04/does-anybody-here-remember-artie-eff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2649815609927724002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2649815609927724002'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/04/does-anybody-here-remember-artie-eff.html' title='Does anybody here remember Artie Eff?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-3730663723787939305</id><published>2008-02-16T10:30:00.005+01:00</published><updated>2008-02-16T11:27:37.937+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='UKUUG Spring 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='Latvia'/><category scheme='http://www.blogger.com/atom/ns#' term='free tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='4.3'/><category scheme='http://www.blogger.com/atom/ns#' term='Riga'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><category scheme='http://www.blogger.com/atom/ns#' term='BSD Magazine'/><title type='text'>Riga, here we come, OpenBSD 4.3 on the horizon</title><content type='html'>&lt;i&gt;On Wednesday, Riga is the place to be&lt;/i&gt;, if attending a PF tutorial session for free is how you want to spend a day.  You may have missed the &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=120094083630122&amp;w=2"&gt;announcement&lt;/a&gt; (and the &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=120281774308000&amp;w=2"&gt;update&lt;/a&gt;), but no matter - on Wednesday, February 20th I will be giving a full day tutorial in &lt;a href="http://en.wikipedia.org/wiki/Riga"&gt;Riga&lt;/a&gt;, Latvia.  &lt;a href="http://www.bsdly.net/"&gt;bsdly.net&lt;/a&gt; has a &lt;a href="http://www.bsdly.net/riga2008/"&gt;Riga event page&lt;/a&gt; which is the space to watch for updates about the event.&lt;br /&gt;&lt;br /&gt;A few things about the event is settled, though: The content will have quite a bit in common with &lt;a href="http://www.nostarch.com/pf.htm"&gt;the book&lt;/a&gt;, and I will be bringing a some copies of  in case you need to pick up one (and promo postcards if you just want a souvenir).   And time allowing, we will be previewing some of the things we can expect to see in the upcoming &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; 4.3 release.  &lt;br /&gt;&lt;br /&gt;OpenBSD 4.3-RELEASE is likely to be cut in a few weeks' time (with a likely release date May 1st), so if you want to get an idea what it is going to look like or even want to help track down and squash any remaining bugs, now is the time to grab a snapshot and start putting it through the paces.  If you're a little bit like me and can spare some capacity for testing, you will enjoy the process.&lt;br /&gt;&lt;br /&gt;The next chance to catch a PF tutorial by me will be at the &lt;a href="http://spring2008.ukuug.org/"&gt;UKUUG Spring 2008&lt;/a&gt; conference (not a free as in beer event), unless you &lt;a href="http://www.bsdly.net/~peter/rentageek.html"&gt;arrange&lt;/a&gt; something yourself.  This year's events look like they'll be a lot more ad hoc than earlier, so there may be other events announced later.  Keep an eye on the &lt;a href="http://www.openbsd.org/events.html"&gt;OpenBSD Events&lt;/a&gt; page and any updates here.&lt;br /&gt;&lt;br /&gt;Also keep an eye out for the upcoming premiere issue of &lt;a href="http://www.bsdmag.org/"&gt;BSD magazine&lt;/a&gt;.  It promises to have about 60 pages of BSD related material in the first issue. I have an article in there that I hope you will enjoy.&lt;br /&gt;&lt;br /&gt;See you in Riga or some other time,&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-3730663723787939305?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/3730663723787939305/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2008/02/riga-here-we-come-openbsd-43-on-horizon.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3730663723787939305'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3730663723787939305'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2008/02/riga-here-we-come-openbsd-43-on-horizon.html' title='Riga, here we come, OpenBSD 4.3 on the horizon'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-5219167372362229817</id><published>2007-12-27T07:47:00.000+01:00</published><updated>2007-12-27T08:08:52.448+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='credibility'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='summary'/><category scheme='http://www.blogger.com/atom/ns#' term='greylisting'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='FOSS'/><category scheme='http://www.blogger.com/atom/ns#' term='The Book of PF'/><title type='text'>A year ends; what to do next?</title><content type='html'>&lt;span style="font-weight:bold;"&gt;It's the end of a year already.&lt;/span&gt;  The end of the year is among other things the traditional time for tallying up totals to see what the year brought and looking forward to the fresh year ahead.  Now at this point the inner geek in me and probably you too rebels with &lt;i&gt;Why should any arbitrarily chosen point in time be assigned that much significance, huh?&lt;/i&gt;, but let's face it, it's one convention we will just have to live with.&lt;br /&gt;&lt;br /&gt;The past year included a number of events, some entirely expected like the formal &lt;a href="http://bsdly.blogspot.com/2007/09/great-sco-swindle-winding-down-but-will.html"&gt;beginning of the end&lt;/a&gt; of the corporation once known as Caldera (yes, I know, it's not quite over yet, and I've written about that earlier), some rather surprising like the recent EU brokered &lt;a href="http://www.groklaw.net/article.php?story=20071220124013919"&gt;patents and specifications deal&lt;/a&gt; which apparently means that the Samba team and other interested parties will not only be given access to usable protocol specs, they will even be furnished with a list of what Microsoft believes to be their relevant patents.  That at least puts a serious dent in that corporation's patent FUD capability.  &lt;br /&gt;&lt;br /&gt;Any pundit in the Microsoft/Linux/FOSS "watcher" crowd who left that one out of their year end summary pieces should consider themselves cautioned: You were not paying attention to what could be this year's most important single piece of news in our field.&lt;br /&gt;&lt;br /&gt;The general picture of the IT field is rather one of vast crowds of users who simply want to get on with their lives. The typical user is weary of the seventeen and a half times a week ritual Microsoft malware scare, and doesn't really see any benefit in getting a new computer with Vista to slow it down, now that they've finally weeded out or gotten used to all the annoyances of Windows XP and the background noise of unwanted popups and spam.&lt;br /&gt;&lt;br /&gt;Rather more depressingly for us in the FOSS field, the typical user wants to just get on with his or her life and is weary, too, of the constantly overhyped "solutions" IT types are peddling.  Faced with &amp;lt; &lt;i&gt;insert your favorite product selling point here&lt;/i&gt; &amp;gt; , the stock answer now is, "gimme a break, that's what the last one said too".&lt;br /&gt;&lt;br /&gt;This goes for almost any selling point, including vastly improved security along any measurable axis, efficient spam killing (including avoidance techniques like greylisting), the lightweight while useable desktop, and during the past year Microsoft even made a credible attempt at taking "open standards" prisoner.  There is clearly a lot of work to be done, and we need to find ways to do that work better and present it in ways that actually add to FOSS people's credibility.&lt;br /&gt;&lt;br /&gt;That includes, in my view, finding better ways to handle the periodic squabbles over licenses such as the GPL vs BSD shouting matches.  It is likely that I will return to that topic in a future column, if and when I find the time to write it properly.&lt;br /&gt;&lt;br /&gt;In my own little corner of the world, the publication of &lt;a href="http://www.nostarch.com/pf.htm"&gt;The Book of PF&lt;/a&gt;, marked here by the &lt;a href="http://marc.info/?l=openbsd-misc&amp;m=119807359516239&amp;w=2"&gt;arrival&lt;/a&gt; of the author copies, marked the end of a long process that consumed rather more time and resources than I had anticipated.  Before those copies arrived I had some copies made for &lt;a href="http://www.opencon.org"&gt;OpenCon&lt;/a&gt; which were auctioned off for amazing sums that were subsequently donated to the OpenBSD project (see &lt;a href="http://undeadly.org"&gt;undeadly.org&lt;/a&gt; for details). Even though &lt;a href="http://www.amazon.com/Book-PF-No-Nonsense-Guide-Firewall/dp/1593271654"&gt;Amazon.com&lt;/a&gt; now lists the book as due for release January 11th, I have confirmation that &lt;a href="http://www.nostarch.com/"&gt;No Starch&lt;/a&gt; shipped all preorders before they closed for the holidays, and I know at least one correspondent who got a message from the UK arm of Amazon that his copy was on its way.  I'm interested in hearing from you about the book, of course, even reports that it has arrived safely in your mailbox. &lt;br /&gt;&lt;br /&gt;Now other opportunities beckon, and I promise that in the coming year I will be writing about developments, confidentiality agreements allowing.  If there is anything specific you want me to write about, please let me know.&lt;br /&gt;&lt;br /&gt;I give you all my best wishes for the new year.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;PS&lt;/span&gt; I almost neglected to mention that the &lt;a href="http://home.nuug.no/~peter/pf/"&gt;PF tutorial&lt;/a&gt; (the forerunner of the Book of PF) saw its visitor (unique IP address or host name) number 27,000 for the period we have log data for on December 24th.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-5219167372362229817?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/5219167372362229817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/12/year-ends-what-to-do-next.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5219167372362229817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/5219167372362229817'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/12/year-ends-what-to-do-next.html' title='A year ends; what to do next?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6171545759231159097</id><published>2007-11-25T10:23:00.000+01:00</published><updated>2007-11-27T13:37:05.077+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><title type='text'>I Must Be Living in a Parallel Universe, Then</title><content type='html'>It's Sunday morning, and I'm having my morning coffee while getting ready for a long session of editing my &lt;a href="http://www.opencon.org/"&gt;OpenCON&lt;/a&gt; presentation.  By working on adapting the presentation tailored to &lt;a href="http://home.nuug.no/%7Epeter/pf/"&gt;the tutorial&lt;/a&gt; I've been rediscovering just how much work went into making &lt;a href="http://www.nostarch.com/pf.htm"&gt;the book&lt;/a&gt;, so a long Sunday session is needed, if not more.&lt;br /&gt;&lt;br /&gt;Then courtesy of &lt;a href="http://groklaw.net/"&gt;Groklaw&lt;/a&gt;'s news picks comes the USA today piece called &lt;a href="http://www.usatoday.com/money/industries/technology/2007-11-22-spam_N.htm?csp=N008"&gt;Despite filters, tidal wave of spam bears down on e-mailers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;A tidal wave of spam, no less.  Well, we're seeing a lot of attempts at sending, like the sequence &lt;a href="http://www.bsdly.net/%7Epeter/things_i_like_to_see.txt"&gt;here&lt;/a&gt; (text link, formatting it would take too long)  that I captured from the xterm running a &lt;tt&gt;tail -f&lt;/tt&gt; on my spamd log a little while back.  That sequence tells me, for one thing, that the naive spambot thinks my &lt;tt&gt;spamd&lt;/tt&gt; looks like an open relay.&lt;br /&gt;&lt;br /&gt;The other interesting thing about the sequence there is the pattern you can see in the &lt;tt&gt;From:&lt;/tt&gt; addresses.  It may have dawned on some of the spammers that generating random addresses in other people's domains might end up poisoning their own well, so they started introducing patterns to be able to weed out their own made up addresses from their lists.  I take that as a confirmation that our harvesting and republishing efforts here and elsewhere have been working rather well.&lt;br /&gt;&lt;br /&gt;Here the method seems to be that they take the victim domain name, prepend "dw" and append "m" to make up the local part and then append the domain, so starting from &lt;tt&gt;sia.com&lt;/tt&gt; we get &lt;tt&gt;dwsiam@sia.com&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;There is one other common variation on that theme, where the prepend string is "lin" and the append string is "met", producing addresses like &lt;tt&gt;linhrimet@hri.de&lt;/tt&gt;, used just a few minutes ago to try to spam &lt;tt&gt;malseeinvmk@bsdly.net&lt;/tt&gt; from the apparently Polish adress &lt;tt&gt;89.228.40.80&lt;/tt&gt;.  This is of course very interesting, as is the fact that right now about two and a half thousand machines are in my &lt;tt&gt;spamd-greytrap&lt;/tt&gt; list .  That's where they end up, making no waves at all.&lt;br /&gt;&lt;br /&gt;On the subject of patterns, earlier this month the address&lt;tt&gt; capitalgain02@gmail.com&lt;/tt&gt; started appearing frequently enough that it caught my attention in my greylist dumps and log files.&lt;br /&gt;&lt;br /&gt;The earliest contact as far as I can see was at &lt;tt&gt;Nov 10 14:30:57&lt;/tt&gt;, trying to spam &lt;span style="font-family:monospace;"&gt;&lt;/span&gt;&lt;tt&gt; wkzp0jq0n6.fsf@datadok.no&lt;/tt&gt; from&lt;tt&gt; 193.252.22.241&lt;/tt&gt; (apparently a France Telecom customer). The last attempt seems to have been ten days later, at &lt;tt&gt;Nov 20 15:20:31&lt;/tt&gt;, from the Swedish machine &lt;tt&gt;217.10.96.36&lt;/tt&gt;.&lt;br /&gt;&lt;br /&gt;My logs show me that during that period 6531 attempts had been made to deliver mail from &lt;tt&gt;capitalgain02@gmail.com&lt;/tt&gt; via&lt;tt&gt; bsdly.net&lt;/tt&gt;, from 35 different IP addresses, to 131 different recipients in our domains.  Those recipients included three deliverable addresses, mine or aliases I receive mail for.  None of those attempts actually succeeded, of course.  With a little more time on my hands I'm sure I could have made a good regular expression to calculate to the second how much time those spam senders wasted here, too.&lt;br /&gt;&lt;br /&gt;So where's the tidal wave?  Back when PDF spam was the new horror, it actually took three weeks for one to reach me, and then only via an alias on a machine I really don't have much control over anymore.  The number of spam sending machines does seem to be increasing, though.&lt;br /&gt;&lt;br /&gt;Bob Beck's &lt;tt&gt;uatraps&lt;/tt&gt; list is a good indicator, and the tendency is clear from the &lt;a href="http://home.nuug.no/%7Epeter/malware-talk/spamd.greytrapping.practice.html"&gt;graph&lt;/a&gt; in my malware paper. The number did dip just below 100,000 addresses earlier this month, and it now seems to have stabilized in the 110,000 to 120,000 range.&lt;br /&gt;&lt;br /&gt;From my perspective, it looks like a reasonably configured&lt;tt&gt; spamd&lt;/tt&gt; is really all we need to observe the tidal wave at a safe distance and have fun all the while.&lt;br /&gt;&lt;br /&gt;It's almost like living in a parallel universe.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6171545759231159097?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6171545759231159097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/11/i-must-be-living-in-parallel-universe.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6171545759231159097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6171545759231159097'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/11/i-must-be-living-in-parallel-universe.html' title='I Must Be Living in a Parallel Universe, Then'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-276243291167595226</id><published>2007-10-28T19:55:00.000+01:00</published><updated>2007-10-29T12:58:51.967+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='spammer baiting'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><title type='text'>Of Course, It Had To Be A Webshield</title><content type='html'>In an earlier &lt;a href="http://bsdly.blogspot.com/2007/09/wanna-help-science-study-your-greylists.html"&gt;blog post&lt;/a&gt;, I mentioned that I would buy a round of drinks the first time I saw an attempt to deliver a message with both the &lt;tt&gt;From:&lt;/tt&gt; and &lt;tt&gt;To:&lt;/tt&gt; addresses already on my &lt;a href="http://www.bsdly.net/%7Epeter/traplist.shtml"&gt;spammer baiting list&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;In fact it happened very soon afterwards, and as luck, misfortune or just plain old incompetence would have it, that message apparently came from a WebShield appliance not too far from here:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Oct 17 23:03:52 skapet spamd[20795]: 194.54.96.18: connected (6/4)&lt;br /&gt;Oct 17 23:04:03 skapet spamd[20795]: (GREY) 194.54.96.18:&lt;br /&gt;&amp;lt;capitulations7@datadok.no&amp;gt; -&amp;gt; &amp;lt;capitulations7@datadok.no&amp;gt;&lt;br /&gt;Oct 17 23:04:03 skapet spamd[20795]: 194.54.96.18: disconnected&lt;br /&gt;after 11 seconds.&lt;br /&gt;Oct 17 23:19:21 skapet spamd[20795]: 194.54.96.18: connected (4/3)&lt;br /&gt;Oct 17 23:19:32 skapet spamd[20795]: (GREY) 194.54.96.18:&lt;br /&gt;&amp;lt;capitulations7@datadok.no&amp;gt; -&amp;gt; &amp;lt;capitulations7@datadok.no&amp;gt;&lt;br /&gt;Oct 17 23:19:32 skapet spamd[20795]: 194.54.96.18: disconnected&lt;br /&gt;after 11 seconds.&lt;br /&gt;Oct 17 23:30:30 skapet spamd[20795]: 194.54.96.18: connected (4/4),&lt;br /&gt;lists: spamd-greytrap&lt;br /&gt;Oct 17 23:34:14 skapet spamd[20795]: (BLACK) 194.54.96.18:&lt;br /&gt;&amp;lt;capitulations7@datadok.no&amp;gt; -&amp;gt; &amp;lt;capitulations7@datadok.no&amp;gt;&lt;br /&gt;Oct 17 23:35:58 skapet spamd[20795]: 194.54.96.18: From:&lt;br /&gt;Webshield.SMTP.V4.5.MR1a.Mail.Service@vs4.bgnett.no&lt;br /&gt;Oct 17 23:35:58 skapet spamd[20795]: 194.54.96.18:&lt;br /&gt;To: &amp;lt;capitulations7@datadok.no&amp;gt;&lt;br /&gt;Oct 17 23:35:58 skapet spamd[20795]: 194.54.96.18:&lt;br /&gt;Subject: Returned Mail: Error During Delivery&lt;br /&gt;Oct 17 23:37:00 skapet spamd[20795]: 194.54.96.18:&lt;br /&gt;disconnected after 390 seconds. lists: spamd-greytrap&lt;br /&gt;Oct 17 23:57:18 skapet spamd[20795]: 194.54.96.18:&lt;br /&gt;connected (6/6), lists: spamd-greytrap&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;I sent the operators at that site a polite message right away, pointing out the misconfiguration.  Two weeks later I have seen no response other than the automatic acknowledgement, but it looks like the machine has managed to get itself automatically whitelisted in the meantime. So perhaps they found the button that actually does something.&lt;br /&gt;&lt;br /&gt;Since my last blog post I have completed &lt;a href="http://nostarch.com/pf.htm"&gt;the book&lt;/a&gt;, and I  expect the last bit of proofing to be done during the coming week.  Then a few other  necessary processes, and physical copies available for mid December if all goes well.  With the cover in place, it looks like it's become attractive and popular over at &lt;a href="http://www.amazon.com/Book-PF-No-Nonsense-Guide-Firewall/dp/1593271654"&gt;amazon.com&lt;/a&gt; in its various categories.  The &lt;a href="http://www.amazon.com/gp/bestsellers/books/3781/ref=pd_zg_hrsr_b_1_4_last/002-3601179-5705627"&gt;BSD&lt;/a&gt; category there looks pretty No Starch dominated at the moment.&lt;br /&gt;&lt;br /&gt;That can not be a bad thing.  It's been a real pleasure working with the people at &lt;a href="http://www.nostarch.com/"&gt;No Starch Press&lt;/a&gt;.  If you think you want write a tech book, they should be on the list of publishers to contact with your proposal.&lt;br /&gt;&lt;br /&gt;While all this was happening, the spammer baiting operation seems to have reached a critical mass of sorts.  With roughly 7,200 addresses in the spamtrap list there are several hundred bait addresses for each real one in those domains taken together, so it's extremely unlikely that the spammers will ever get a chance to try delivery to a real address before they hit the tar pit.  Over the last couple of weeks, my gateways have had anywhere between 2,500 and 4,000 hosts in the local spamd-greytrap, and anywhere from 0 to about 300 spambots pushing bytes into the tar pits at any time.  It's fun to watch (some of the bots labor through the bait list from top to bottom), and the net effect is, well, we're not seeing much spam.&lt;br /&gt;&lt;br /&gt;I think I've mentioned it before, but it bears repeating: To naive spammers and the tools they use, &lt;i&gt;spamd looks like an open relay&lt;/i&gt;.  Spamd never actually delivers any messages,  but this&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;GREY|201.250.57.147|sofia|&amp;lt;vdaegkoxgk@bonana.com&amp;gt;|&lt;br /&gt;&amp;lt;brad.james.anderson@jhg.com.au&amp;gt;|1193105605|1193127205|1193127205|1|0&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;says that whoever operates 201.250.57.147 (according to whois, likely located in or near Buenos Aires, Argentina), is unable to tell the difference between an open relay and spamd's 451 and subsequent "this is going to hurt you more than it hurts me" messages.&lt;br /&gt;&lt;br /&gt;Another variation on that theme is what I think is some sort of amateurish relay testing, which typically produces anywhere from five hundred to a thousand greylist entries of the type&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;GREY|59.35.4.51|UATIM-F7E7949C7|&amp;lt;adgjnq@194.54.103.104&amp;gt;|&lt;br /&gt;&amp;lt;ariel5268@yahoo.com.tw&amp;gt;|1193084672|1193113472|1193113472|2|0&lt;br /&gt;GREY|59.35.4.51|UATIM-F7E7949C7|&amp;lt;xaehkn@rosalita.datadok.no&amp;gt;|&lt;br /&gt;&amp;lt;ariel5268@yahoo.com.tw&amp;gt;|1193084675|1193113475|1193113475|2|0&lt;br /&gt;GREY|59.35.4.51|UATIM-F7E7949C7|&amp;lt;qswyd@brutha.datadok.no&amp;gt;|&lt;br /&gt;&amp;lt;ariel5268@yahoo.com.tw&amp;gt;|1193084691|1193113491|1193113491|2|0&lt;br /&gt;GREY|59.35.4.51|UATIM-F7E7949C7|&amp;lt;nqtw@monalisa.datadok.no&amp;gt;|&lt;br /&gt;&amp;lt;ariel5268@yahoo.com.tw&amp;gt;|1193084733|1193113533|1193113533|2|0&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;where the &lt;tt&gt;From&lt;/tt&gt; parts are made up of host names and IP addresses in our local net, including in this case, the host name for one of our laser printers.  Those floods have tended to swell the bait list a bit, even if I strip out the invalid &lt;i&gt;@&amp;lt;IP address&amp;gt;&lt;/i&gt; ones.&lt;br /&gt;&lt;br /&gt;Spamd makes the naive relay testers think we have a whole network of open relays, and we harvest the noise they generate to lead the spambots to the tarpit.  That's pretty close to a hands-off spammer repellent for us, and a serious auto-LART for the spammers.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.opencon.org/"&gt;OpenCON&lt;/a&gt; is sneaking up on us in a month's time, and we're heading for Venice with a refreshed tutorial session.  See you there!&lt;br /&gt;&lt;br /&gt;PS - [non-IT PS coming up] Bergen's football (soccer) team &lt;a href="http://www.brann.no/"&gt;SK Brann&lt;/a&gt; has just won the national league for the first time in 44 years. With one game to go before end of season they are so far ahead in points there is no way any other team will be able to catch up.  The town is predictably going gaga over the event, and we joined the thousands at the central Festplassen square for the city sponsored celebration tonight.  I'm surprised how many songs have been written about that team and how everybody around me seened to know every last word of the lyrics. Good fun, ending with fireworks.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-276243291167595226?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/276243291167595226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/10/of-course-it-had-to-be-webshield.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/276243291167595226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/276243291167595226'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/10/of-course-it-had-to-be-webshield.html' title='Of Course, It Had To Be A Webshield'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-2842342183564359625</id><published>2007-09-29T19:09:00.000+02:00</published><updated>2007-09-29T20:11:43.043+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='spammer baiting'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><title type='text'>Always a pleasure to be wasting your time, guv</title><content type='html'>This week has been a little unusual around the BSDly household.  So far I've generally been doing my regular job in the daytime (with longish office hours), only working on the &lt;a href="http://www.nostarch.com/pf.htm"&gt;book&lt;/a&gt; evenings and weekends. That the arrangement would lead to "Exhaustion is my middle name" status was obvious to everyone except me, but I finally saw where it could be going.  So for a little more than the past week I've been working on the book full time.&lt;br /&gt;&lt;br /&gt;The state of perpetual exhaustion has had some not too happy consequences.  Of course the general progress on the book suffered, but it also lead to me missing the monthly &lt;a href="http://www.blug.linux.no/"&gt;BLUG&lt;/a&gt; meeting in August.  Of course much of that particular day I had spent persuading somebody not too bright that it indeed had to be a reconfiguration they said had never happend at their end which ended up breaking things at our end, and I was just too tired and missed what I assume was a well executed lecture on networking basics by Vegard Engen (of &lt;a href="http://www.blug.linux.no/rfc1149"&gt;RFC1149 implementation&lt;/a&gt; fame).&lt;br /&gt;&lt;br /&gt;This week with only one job I needed to tackle, I was there for an enjoyable one and a half hours of &lt;a href="http://www.bacula.org"&gt;Bacula,&lt;/a&gt; well presented by Bård Aase (aka &lt;a href="http://blog.elzapp.com/"&gt;elzapp&lt;/a&gt;).  Off to Henrik (the regular BLUG pub) for a few beers afterwards, and with Johan Riise volunteering to put together a 'Unix and time' lecture for next month, the BLUG calender seems to be in order after all, with &lt;a href="http://jilltxt.net/"&gt;Jill Walker&lt;/a&gt; doing the end of semester talk in November, on whatever interesting stuff she has been up to lately.  Unfortunately it looks like the last Thursday of November is close enough to &lt;a href="http://www.opencon.org"&gt;OpenCON&lt;/a&gt; that I'll likely miss Jill's session.&lt;br /&gt;&lt;br /&gt;In the meantime, there are signs that the greytrapping and my &lt;a href="http://www.bsdly.net/%7Epeter/traplist.shtml"&gt;bait list&lt;/a&gt; is working.  Looking over the spamd logs today I found quite a few entries like these:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Sep 29 15:29:23 skapet spamd[20795]: (BLACK) 84.76.177.159: &lt;br /&gt;&amp;lt;royaleuromillion2007@yahoo.es&amp;gt; -&amp;gt; &amp;lt;211hgsreliart7@datadok.no&amp;gt;&lt;br /&gt;Sep 29 15:29:32 skapet spamd[20795]: (BLACK) 84.76.177.159: &lt;br /&gt;&amp;lt;royaleuromillion2007@yahoo.es&amp;gt; -&amp;gt; &amp;lt;00b27f18@datadok.no&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;which looks strikingly like the Spanish lottery scam spammers patiently and methodically working their way through my list of bait addresses, all the way from top to bottom, at roughly 3000 addresses it's going be a while.  All I can say is, &lt;span style="font-style:italic;"&gt;we are extremely pleased to be wasting your time, senor&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Also while the girls were off to the &lt;a href="http://www.raptus.no/"&gt;Raptus&lt;/a&gt; comics festival (an annual event, and one of the big things here in Bergen), I found enough trash backscatter to non-existent &lt;tt&gt;bsdly.net&lt;/tt&gt; addresses that it's likely that the same weekend spambot operators who spewed their spam with &lt;tt&gt;@ehtrib.org&lt;/tt&gt; and &lt;tt&gt;@skapet.datadok.no&lt;/tt&gt; addresses earlier (both times at weekends) have now discovered &lt;tt&gt;bsdly.net&lt;/tt&gt; and are doing their damnedest.&lt;br /&gt;&lt;br /&gt;Why they prefer to generate a few hundred fake addresses and use them all in one go is beyond me.  The other groups seem to generate only a handful of new addresses each every day, and for good measure at least one of them sort of reuse the generated addresses by using a forward and a reverse (such as in this morning's preserved greylist dumps, there was a &lt;tt&gt;potterv76@datadok.no&lt;/tt&gt; as well as the reverse &lt;tt&gt;67VRETTOP3@datadok.no&lt;/tt&gt;). This lot just dumps all they have in one go, mainly contributing to swelling that file in my home directory with the totally unprintable file name which is the temporary storage before they go to into the traplist and on to the bait page.&lt;br /&gt;&lt;br /&gt;Distractions of that kind from my main task is never entirely welcome, but with a larger influx of new addresses to be added to the bait list I made some small changes to make the maintenance of that page a bit more sane, rediscovering server-side includes and redirects along the&lt;br /&gt;way.  And the data I keep collecting may become the basis for other projects later.&lt;br /&gt;&lt;br /&gt;Anyway, it is increasingly clear that the spammers are including the generated fake addresses in their "known good" lists.  Consider the spambot at 210.111.190.216 (apparently in Korea), which insists on delivering to an address somebody generated in early July:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;peter@skapet:~/www_sider$ grep  210.111.190.216 /var/log/spamd&lt;br /&gt;Sep 29 15:58:07 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;connected (5/4)&lt;br /&gt;Sep 29 15:58:21 skapet spamd[20795]: (GREY) 210.111.190.216: &lt;br /&gt;&amp;lt;jim.vance@presentsmadeeasy.com&amp;gt; -&amp;gt; &lt;br /&gt;&amp;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;Sep 29 15:58:22 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;disconnected after 15 seconds.&lt;br /&gt;Sep 29 15:58:35 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;onnected (4/3)&lt;br /&gt;Sep 29 15:58:49 skapet spamd[20795]: (GREY) 210.111.190.216: &lt;br /&gt;&amp;lt;tbaker@groupecdb.com&amp;gt; -&amp;gt; &lt;br /&gt;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;Sep 29 15:58:50 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;disconnected after 15 seconds.&lt;br /&gt;Sep 29 15:59:03 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;connected (5/3)&lt;br /&gt;Sep 29 15:59:17 skapet spamd[20795]: (GREY) 210.111.190.216: &lt;br /&gt;&amp;lt;wotan@4vsi.com&amp;gt; -&amp;gt; &amp;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;Sep 29 15:59:18 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;disconnected after 15 seconds.&lt;br /&gt;Sep 29 15:59:30 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;connected (6/5), lists: spamd-greytrap&lt;br /&gt;Sep 29 16:03:14 skapet spamd[20795]: (BLACK) 210.111.190.216: &lt;br /&gt;&amp;lt;sylviacastleman@alltypecalligraphy.com&amp;gt; -&amp;gt; &lt;br /&gt;&amp;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;Sep 29 16:04:59 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;From: "Marguerite Casey" &amp;lt;sylviacastleman@alltypecalligraphy.com&amp;gt;&lt;br /&gt;Sep 29 16:04:59 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;To: &amp;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;Sep 29 16:04:59 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;Subject: 100mg x 60 pills US $ 129.95 buy now&lt;br /&gt;Sep 29 16:06:04 skapet spamd[20795]: 210.111.190.216: &lt;br /&gt;disconnected after 394 seconds. lists: spamd-greytrap&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I have no real opinion on the validity of the &lt;tt&gt;From:&lt;/tt&gt; addresses, but the address they are trying their best to deliver spam to here never actually existed, of course. The first record of it at &lt;tt&gt;datadok.no&lt;/tt&gt; was this bounce from a Russian site:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Jul 12 23:38:52 delilah spamd[29851]: (GREY) 81.177.34.190: &lt;br /&gt;&amp;lt;&amp;gt; -&amp;gt; &amp;lt;careersogt2083@datadok.no&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Dumping their trash back at them is good for a laugh, and I am quite amazed how shortsighted the spambot operators appear to be.  They get yelled at for spamming, so to avoid detection, they start using fake addresses.  This in turn means they have no feedback whatsoever on the quality of their address lists, and with well pissers like me in action, they are getting less effectitive each day, reducing themselves to background noise in the network.&lt;br /&gt;&lt;br /&gt;Now with this blog post done I will go back and finish the edits on the logs chapter.  With the early parts of the book about to enter the layout phase while the last bits get written over the next few days, there is a chance that there will be a physical copies of the book to pass around at &lt;a href="http://www.opencon.org/"&gt;OpenCON&lt;/a&gt;.  Not quite there yet, but the fulltime push is certainly helping.  The preface with a list of thanks is part of what is entering layout; I think a few people who did not expect to be in there will soon have a pleasant surprise.&lt;br /&gt;&lt;br /&gt;Also this week, the &lt;a href="http://www.bsdly.net/~peter/pf.html"&gt;PF tutorial&lt;/a&gt; saw its unique visitor number 19,000 since EuroBSDCon 2006 on Thursday morning (September 27th). We certainly hope at least some of them will come back for the book.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-2842342183564359625?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/2842342183564359625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/09/always-pleasure-to-be-wasting-your-time.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2842342183564359625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/2842342183564359625'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/09/always-pleasure-to-be-wasting-your-time.html' title='Always a pleasure to be wasting your time, guv'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-6400544227022998461</id><published>2007-09-21T12:03:00.000+02:00</published><updated>2007-09-25T19:45:20.751+02:00</updated><title type='text'>The Great SCO Swindle Winding Down, But Will They All Get Away With It?</title><content type='html'>&lt;span style="font-style: italic;"&gt;Poor Dan Lyons.  He thought like a bookmaker and wrote what he thought was right.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;You see, a few years back, when Caldera was still Caldera, that company had successfully sued a large corporation and won.  Then Caldera changed its name to SCO and sued another huge corporation. Dan the bookie thought it was a sure bet, and started cheering them on.  Four years on, the sure bet went south on a technicality.  They did not actually own the code they had accused others of stealing.  At least that's the way I read his &lt;a href="http://www.forbes.com/2007/09/19/software-linux-lawsuits-tech-oped-cx_dl_0919lyons.html"&gt;Snowed by SCO&lt;/a&gt; article over at Forbes.&lt;br /&gt;&lt;br /&gt;My take on this is, Dan, you only had to look at the facts. Knowing a bit of IT history is also a plus.  When the SCOX matter came up, I like most people thought that you can never rule out the possibility that some code might have been copied.  After all, Unix source code was never particularly hard to get you hands on and was widely used as classroom examples all over the world.&lt;br /&gt;&lt;br /&gt;Then if that code was just identified, it would be ripped out and replaced.  It's happened before.  In the free software world, whole subsystems get replaced when there's a good reason to, and if the reason is copyright violation it gets somewhat urgent.  The problem is, in the SCO matter, no code was ever identified.&lt;br /&gt;&lt;br /&gt;Some journalists went through an elaborate procedure involving non-disclosure agreements and were, we are told, showed code from Linux and somewhere else which showed remarkable similarity.  When Darl McBride used the SCOForum 2003 conference to show something he passed off as ripped off code, it took only hours to identify the exact chunks through the obfuscation (yep, formatting comments in the Symbol font) and the code proved to be irrelevant.&lt;br /&gt;&lt;br /&gt;None of these events helped convince techies of their claims, but for me the tipping point was when they claimed to have a reason to &lt;a href="http://www.newsforge.com/business/03/11/18/1742216.shtml?tid=2&amp;amp;tid=82&amp;amp;tid=85&amp;amp;tid=94"&gt;sue the BSDs&lt;/a&gt; as well.  Anyone who had been paying any attention at all to Unix history knew that the ATT vs BSD lawsuit was finally settled in 1994, with most of the terms sealed, but one of the few things that was made public was that the parties had forfeited any right to sue each other over the Unix code base.  To me and quite a few others, this was proof positive that they were 'misguided or dishonest', as a commentator put it at the time.&lt;br /&gt;&lt;br /&gt;One of my favorite summaries of the facts of the case was written by Greg Lehey (of The Complete FreeBSD fame), who looked at the various announcements from the technical side.  He stopped maintaining it after a while, but it's &lt;a href="http://www.lemis.com/grog/sco.html"&gt;still there&lt;/a&gt; at his website, with as far as I tested with all links intact.&lt;br /&gt;&lt;br /&gt;Most people seem to be relieved that the matter seems to be over.  I beg to differ.&lt;br /&gt;&lt;br /&gt;For one thing, the main characteristic of this matter has been the amazing ability of the SCO crowd to drag out the proceedings over irrelevant, mainly procedural matters.  They will have more tricks up their sleeves, for certain.&lt;br /&gt;&lt;br /&gt;The other thing is, with Dan's friends out on the technicality that they did in fact not have the legal standing to sue, we will never get that detailed walkthrough of the code where Darl and his covert experts are supposed to point out the infringing code.  I, for one would have looked forward to that.  Then we would have had a chance of getting to know their real motivation too, and possibly some solid leads on the planning and funding.  Now that will just not happen.&lt;br /&gt;&lt;br /&gt;Then of course there's the stockholder lawsuits and possibly the FTC. If you were one of those chumps who bought SCOX stock at roughly twenty dollars a share based on Dan Lyons' recommendations, wouldn't you feel a little sore now that your investment is about a cent to your original dollar? That is, if you can unload it before SCOX are finally kicked out of NASDAQ for good?&lt;br /&gt;&lt;br /&gt;So poor Dan Lyons for not seeing this coming.  And damn the technicalities for cancelling the main event.&lt;br /&gt;&lt;br /&gt;For those of you eager for news of the &lt;a href="http://nostarch.com/pf.htm"&gt;book&lt;/a&gt;, we're working hard to get it out there.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update 2007-09-25:&lt;/span&gt; &lt;span style="font-style: italic;"&gt;Another non-apology, this one from Rob Enderle.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;According to &lt;a href="http://www.linuxtoday.com/news_story.php3?ltsn=2007-09-25-027-26-OP-CD-MS"&gt;linuxtoday&lt;/a&gt;, Rob Enderle claims he was tricked by (wait for it) &lt;span style="font-weight: bold;"&gt;both&lt;/span&gt; SCOX and those ever-bullying Linux people.&lt;br /&gt;&lt;br /&gt;Actually, there's not much to see there, You can read it as just another non-apologizing apology, with some tall tales about death threats and DOS attacks thrown in (yes, really).&lt;br /&gt;&lt;br /&gt;As I've said a few times earlier, enough facts were on the table right from the start of this timewasting story to show that more than likely the SCOX crowd did in fact not have a case.&lt;br /&gt;&lt;br /&gt;Now I wonder what, if anything we will be hearing from&lt;br /&gt;John Parkinson, who wrote in &lt;a href="http://www.cio.com/archive/070103/et_pundit.html%20"&gt;CIO&lt;/a&gt;:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"a lot of the intellectual property in Linux is actually owned by companies that never officially agreed to make it available under an open-source license."&lt;/blockquote&gt;&lt;br /&gt;Interestingly enough, that came without any qualification at all.&lt;br /&gt;&lt;br /&gt;That irritated me enough at the time that I wrote to them (pasted into some inane feedback form):&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Alleged intellectual property theft&lt;br /&gt;&lt;br /&gt;In the article called "The End of Idealism" (http://www.cio.com/archive/070103/et_pundit.html), John Parkinson writes, "a lot of the intellectual property in Linux is actually owned by companies that never officially agreed to make it available under an open-source license."&lt;br /&gt;&lt;br /&gt;Please take a moment to consider the seriousness of this allegation. What Parkinson actually says here is, "large parts of Linux consist of stolen property".&lt;br /&gt;&lt;br /&gt;Reading such allegations in an article written by a senior executive of Cap Gemini Ernst &amp;amp; Young is quite shocking in itself.&lt;br /&gt;&lt;br /&gt;It is only reasonable that Mr Parkinson or Cap Gemini Ernst &amp;amp; Young specify which parts of the Linux kernel they consider to consist of stolen property.&lt;br /&gt;&lt;br /&gt;All versions of the Linux kernel, along with detailed change logs and archives of the developer mailing lists are available to the public. Using these resources, all parts of the code base can be traced to the individual who submitted them for inclusion.&lt;br /&gt;&lt;br /&gt;In other words, it is quite easy to pinpoint who did what, and Mr Parkinson and Cap Gemini Ernst &amp;amp; Young would be doing the public a great disservice by refusing to help point out code which was illegally included in the open source operating system.&lt;br /&gt;&lt;br /&gt;Quite a few articles, well informed and otherwise, have been written about the SCO vs IBM lawsuit and SCO's allegations. I suggest interested readers browse FreeBSD Core member Greg Lehey's overview at http://www.lemis.com/grog/SCO/index.html while we wait for more details from Mr Parkinson or Cap Gemini Ernst &amp;amp; Young.&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;digg_url = 'http://bsdly.blogspot.com/2007/09/great-sco-swindle-winding-down-but-will.html';&lt;br /&gt;digg_title = 'The Great SCO Swindle Winding Down, But Will They All Get Away With It?';&lt;br /&gt;digg_bodytext = 'Poor Dan Lyons.  He thought like a bookmaker and wrote what he thought&lt;br /&gt;was right.  Four years on, the sure bet went south on a technicality.  They&lt;br /&gt;did not actually own the code they had accused others of stealing.';&lt;br /&gt;digg_topic = 'linux_unix';&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://digg.com/tools/diggthis.js" type="text/javascript"&gt;&lt;/script&gt;&lt;br /&gt;&lt;!-- Start Slashdot It link --&gt; &lt;a href="javascript:location.href='http://slashdot.org/bookmark.pl?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title)"&gt; &lt;img src="http://images.slashdot.org/favicon.gif" alt="Slashdot" border="0" height="16" width="16" /&gt;&lt;/a&gt;   &lt;a href="javascript:location.href='http://slashdot.org/bookmark.pl?url='+encodeURIComponent(location.href)+'&amp;title='+encodeURIComponent(document.title)"&gt;Slashdot It! &lt;!-- End Slashdot It link --&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-6400544227022998461?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/6400544227022998461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/09/great-sco-swindle-winding-down-but-will.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6400544227022998461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/6400544227022998461'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/09/great-sco-swindle-winding-down-but-will.html' title='The Great SCO Swindle Winding Down, But Will They All Get Away With It?'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-4504082851785832209</id><published>2007-09-17T22:36:00.000+02:00</published><updated>2007-09-19T12:58:42.102+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='nice geeks'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenCon'/><category scheme='http://www.blogger.com/atom/ns#' term='Copenhagen'/><category scheme='http://www.blogger.com/atom/ns#' term='disks dying'/><category scheme='http://www.blogger.com/atom/ns#' term='windows is scary'/><category scheme='http://www.blogger.com/atom/ns#' term='EuroBSDCon'/><category scheme='http://www.blogger.com/atom/ns#' term='nice danes'/><category scheme='http://www.blogger.com/atom/ns#' term='AsiaBSDCon'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>EuroBSDCon was great, disks dying and some scary Windows stuff</title><content type='html'>This Monday finds me safely back from EuroBSDCon and trying to do useful things while the file server gets restored.&lt;br /&gt;&lt;br /&gt;Of course it had to be that way.  With me off to &lt;a href="http://2007.eurobsdcon.org/"&gt;EuroBSDCon&lt;/a&gt; to do &lt;a href="http://www.bsdly.net/~peter/pf.html"&gt;the tutorial&lt;/a&gt; and other refreshing geekiness, in the first batch of mail I retrieved after arriving in Copenhagen was a log summary from the machine which holds pretty much everything &lt;a href="http://www.datadok.no/"&gt;datadok&lt;/a&gt; is working on at any time, with these nuggets:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=410884031&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=410912703&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=410884575&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=410905887&lt;br /&gt;&gt; &gt; ad6: FAILURE - READ_DMA status=51&lt;READY,DSC,ERROR&gt; error=40&lt;UNCORRECTABLE&gt; LBA=410857151&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=446104667&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (1 retry left) LBA=446104667&lt;br /&gt;&gt; &gt; ad6: TIMEOUT - READ_DMA retrying (2 retries left) LBA=522840603&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;ouch. &lt;br /&gt;&lt;br /&gt;This is what disks say when they've run out of space to map bad sectors into.  The disk wasn't quite dead yet, but definitely time to plan a replacement.  Not much to be done about that right away except alert the colleagues that there would be file server downtime on the Monday afternoon. Disks will die, and sysadmins end up with the task of replacing them.&lt;br /&gt;&lt;br /&gt;My brief summary of EuroBSDCon is that it was an excellent conference, lots of good talks, interesting people to see and in a good, clean location with a network connectivity which worked,  most of the time. &lt;span style="font-weight:bold;"&gt;update:&lt;/span&gt; finally my &lt;a href="http://www.flickr.com/photos/13801854@N02/sets/72157602081330565/"&gt;eurobsdcon pictures are on flickr&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For my own part the PF tutorial went reasonably well, with 24 people signed up and I think one or two sit-ins.  People were paying attention and there were a few good questions which made the session more interesting with a little more improv than the last few times I did this tutorial.  Answers were had, though, and I believe a good time with useful info for the people who had signed up for the session. Not too many hours after we were done, the number of unique visitors (aka host names or addresses) to the tutorial tree since last EuroBSDCon rolled past 18,000.&lt;br /&gt;&lt;br /&gt;After lunch Marco Zec's session about virtualizing the FreeBSD network stack was really interesting.  Unfortunately none of the Thinkpads present were able to boot from the FreeBSD-current image Marco had prepared and supplied on USB thumbdrives, actually producing pretty much the same crash (illustrated &lt;a href="http://www.flickr.com/photos/13801854@N02/1406742996/in/set-72157602081330565/"&gt;here&lt;/a&gt;).  But a very interesting topic and session. I'm glad I stuck around for it.&lt;br /&gt;&lt;br /&gt;The Wednesday I had the choice of sightseeing, sitting in on Kirk's session and holing up in the hostel basement's hacker room to get some writing done, and I ended up going for the latter option, getting significant parts of the logging chapter done.  There is of course a limit to how long you will avoid interruption in a semi-public area, but that session was certainly useful. &lt;br /&gt;&lt;br /&gt;The EuroBSDCon hacker area with both wired and wireless networks was available to conference attendees all conference and tutorial days. Naturally it took on a social function in addition to being a convenient way to surf and fetch your email.&lt;br /&gt;&lt;br /&gt;For the conference itself, it was sometimes hard to choose which talks to go to.  I still think &lt;a href="http://2007.eurobsdcon.org/talk-jail-overview.html"&gt;Ike's jails  talk&lt;/a&gt; (pix &lt;a href="http://www.flickr.com/photos/13801854@N02/1405955471/in/set-72157602081330565/"&gt;here&lt;/a&gt;, &lt;a href="http://www.flickr.com/photos/13801854@N02/1405955483/in/set-72157602081330565/"&gt;here&lt;/a&gt;, &lt;a href="http://www.flickr.com/photos/13801854@N02/1405955493/in/set-72157602081330565/"&gt;here&lt;/a&gt;) was my favorite (similar but not identical to the one he gave at AsiaBSDCon in Tokyo), but there were a lot of good ones.  I ended up managing to miss Pierre-Yves Ritschard's Load Balancing talk since they'd switched the schedule around. I hope there's a chance to pick up the essentials at some later date.&lt;br /&gt;&lt;br /&gt;Fortunately Wim and Machtelt turned up to organize the OpenBSD booth (convenient for restocking your clothes cupboard) and some news about OpenCON - there will be an OpenCon 2007, but there's still some organizing to do.  I hope to be seeing you there, Venice November 30th through December 2nd.&lt;br /&gt;&lt;br /&gt;From the &lt;span style="font-style:italic;"&gt;Windows Is Scary&lt;/span&gt; department, one episode from a few weeks back which I suddenly remembered when I realized the guy quietly hacking to the left of me was FreeBSD USB guru Hans Petter Selasky:&lt;br /&gt;&lt;br /&gt;When I saw 4GB USB thumb drives priced at just under NOK 300 (USD 55), I decided I needed one.  The drive mounted with no trouble at all in in OpenBSD (&lt;tt&gt;mount /dev/sd1i&lt;/tt&gt; at the location of your choice), and I thought good, I'll just delete those &lt;tt&gt;.exe&lt;/tt&gt; files to make room.  A few days later I needed to retrieve som files which turned out were most easily accessible from my Windows machine at work.  So I plugged in the new 4GB thumb drive.  &lt;br /&gt;&lt;br /&gt;Windows machines always do strange things and take a while to recognize new hardware, but this time it claimed to have found a new CD drive. A few confusing minutes later, with various message boxes flashing across the screen, the machine begged for a reboot.  I let it have that, slightly puzzled but not entirely surprised that Windows wanted the user to jump through a few extra hoops to make something work.&lt;br /&gt;&lt;br /&gt;I was able to retrieve the files eventually, while trying to avoid yet another quirky Windows application which wanted to handle my files. As it turns out, the device actually emulates a CD drive as well as USB mass storage. Here's what it looks like in &lt;tt&gt;/var/log/messages&lt;/tt&gt; on my OpenBSD laptop:&lt;br /&gt;&lt;tt&gt;&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: umass0: SanDisk Corporation U3 &lt;br /&gt;Cruzer Micro, rev 2.00/0.10, addr 2&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: umass0: using SCSI over Bulk-Only&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: scsibus2 at umass0: 2 targets&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: sd1 at scsibus2 targ 1 lun 0: &lt;br /&gt;&lt;SanDisk, U3 Cruzer Micro, 3.27&gt; SCSI2 0/direct removable&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: sd1: 3913MB, 498 cyl, 255 head, &lt;br /&gt;63 sec, 512 bytes/sec, 8015502 sec total&lt;br /&gt;Sep 17 22:23:23 thingy /bsd: cd1 at scsibus2 targ 1 lun 1: &lt;br /&gt;&lt;SanDisk, U3 Cruzer Micro, 3.27&gt; SCSI2 5/cdrom removable&lt;br /&gt;&lt;/tt&gt;&lt;br /&gt;The reason all the strange and scary things happened with the Windows machine is that the emulated CD contains Windows &lt;span style="font-style:italic;"&gt;Autorun&lt;/span&gt; files, which it seems there is no easy way to turn off or is at least enabled by default in that operating system.  What I find slightly disturbing is that, as Hans Petter explained, this behavior is part of the device's firmware and you can't get rid of that five or six megabytes of useless software in these devices.  The best you can do is use a system which ignores such silliness.&lt;br /&gt;&lt;br /&gt;Returning to the file server, the box is a few years old and has by now probably had most of the original components replaced.  The last time we replaced the motherboard, we were still thinking that SCSI was the only way to go for storage, disks and tape both. Not too long after that, we decided that actually SATA was OK for that little office of ours, but when the time came to replace that disk, I discovered that actually the motherboard had only two SATA ports on it, one for the system disk and one for the dying data disk.  So copying across from one SATA disk to another had to be done via Ethernet instead.  Fortunately installing a useful operating system takes only about twenty minutes, and the some tens of gigabytes transferred while I was writing this article. Far faster than restoring the same data via rsync from our offline backup, though.&lt;br /&gt;&lt;br /&gt;Among the things announced in Copenhagen were that there will be an AsiaBSDCon in March 2008, NYCBSDCon will maybe be next year in the fall, and the next EuroBSDCon will be in Strasbourg.  I hope to be at several of those, time and money allowing.  But now on to finish &lt;a href="http://nostarch.com/pf.htm"&gt;that book&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-4504082851785832209?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/4504082851785832209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/09/eurobsdcon-was-great-disks-dying-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4504082851785832209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/4504082851785832209'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/09/eurobsdcon-was-great-disks-dying-and.html' title='EuroBSDCon was great, disks dying and some scary Windows stuff'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-947687710371014123</id><published>2007-09-08T15:13:00.000+02:00</published><updated>2007-09-09T13:37:47.121+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EuroBSDCon'/><category scheme='http://www.blogger.com/atom/ns#' term='spam'/><category scheme='http://www.blogger.com/atom/ns#' term='PF book'/><category scheme='http://www.blogger.com/atom/ns#' term='spamtrap'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><title type='text'>Wanna help science? Study your greylists' innards!</title><content type='html'>&lt;span style="font-style:italic;"&gt;If somebody, say five years ago, had told me that I would be spending a little time, every day, studying data about what invalid addresses some unknown miscreants are making up in my domains, I would have thought them to be slighly off their rockers. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Yet here I am, actually maintaining a publicly available list of addresses which do not stand a chance of becoming valid, ever.  It all started with a log data anomaly - I noticed an increase in the number of failed delivery messages to non-existent addresses in our domains. I had expected that the bounces to invalid addresses would appear for a short period only, but for one reason or the other it looks like it's here to stay, with some dips and peaks like &lt;a href="http://bsdly.blogspot.com/2007/08/lady-in-distress-or-then-again-maybe.html"&gt;the &lt;tt&gt;ehtrib.org&lt;/tt&gt; flood&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.bsdly.net/~peter/traplist.html"&gt;list&lt;/a&gt; is apparently working as intended too. These addresses are on my local greytrap list, and I have started seeing addresses I put in there as all uppercase turn up in my logs in all lowercase variants. Fun to watch, sort of.&lt;br /&gt;&lt;br /&gt;Anyway, the supply of new bogus addresses proved to be larger than I had expected.  So to get a handle on just what is happening I ended up doing periodic dumps of the live greylist data. This is really easy to do if you're using &lt;a href="http://www.openbsd.org/cgi-bin/man.cgi?query=spamd&amp;apropos=0&amp;sektion=0&amp;manpath=OpenBSD+Current&amp;arch=i386&amp;format=html"&gt;spamd&lt;/a&gt; as your greylister, your basic command is&lt;br /&gt;&lt;br /&gt;&lt;tt&gt;$ sudo spamdb | grep GREY&lt;/tt&gt;&lt;br /&gt;&lt;br /&gt;and you redirect to a file, pipe to mail, or whatever you like.  &lt;br /&gt;&lt;br /&gt;Now if you're a bit like me, looking for patterns in the noise like this makes you feel a little weirder than usual and possibly lead you to think of a Clive Barker novel (specifically the bits about the dead letter file in &lt;a href="http://en.wikipedia.org/wiki/The_Great_and_Secret_Show"&gt;The Great and Secret Show&lt;/a&gt;) and you wonder why this is worth doing at all.  After all there is precious little spam that actuall reaches my users, so like I said earlier, for us &lt;span style="font-weight:bold;"&gt;spamd&lt;/span&gt; users it really looks like &lt;a href="http://bsdly.blogspot.com/2007/07/spam-is-solved-problem.html"&gt;spam is a solved problem&lt;/a&gt;.  I guess I'm just a bit fascinated by the pure irrationality of the spammers' behavior.&lt;br /&gt;&lt;br /&gt;From the data I collect here in my tiny corner of the world to browse when time allows there may be useful information lurking somewhere.&lt;br /&gt;&lt;br /&gt;Typical entries show things like the host &lt;tt&gt;202.152.33.43&lt;/tt&gt; tried to send with a &lt;tt&gt;From:&lt;/tt&gt; address &lt;tt&gt;jcejft@charter.com&lt;/tt&gt; to &lt;tt&gt;dkqvujfn@datadok.no&lt;/tt&gt; and &lt;tt&gt;sdenuuu@datadok.no&lt;/tt&gt;.  Using a few common networking commands we see that there is no reason why &lt;a href="http://www.charter.com/"&gt;charter.com&lt;/a&gt; email should come from the IP range belonging to &lt;a href="http://www.idola.net.id"&gt;idola.net.id&lt;/a&gt;, and as the admin of &lt;a href="http://www.datadok.no/"&gt;datadok.no&lt;/a&gt; I know these two addresses have never been deliverable.  Most likely the admin at &lt;a href="http://www.charter.com/"&gt;charter.com&lt;/a&gt; can tell you if that from address is deliverable, but I keep wondering how much of the spam out there is stuffed into the pipe with bogus &lt;tt&gt;From:&lt;/tt&gt; and &lt;tt&gt;To:&lt;/tt&gt; addresses both.  Or in other words, &lt;span style="font-style:italic;"&gt;purely useless noise&lt;/span&gt;, never to be delivered anywhere.&lt;br /&gt;&lt;br /&gt;On a side note, with one or more of the spammer operations trying to sneak through using sender and recipient addresses in the target domain, I assume it is just a matter of time before I see a tuple with both sender and recipient addresses already in my spamtraps list. When that happens, I think I will feel inclined to let my friends have a round of refreshments on my tab.&lt;br /&gt;&lt;br /&gt;It's obvious that there are a handful of spammer operations that have decided to use &lt;span style="font-weight:bold;"&gt;datadok.no&lt;/span&gt; (and to a lesser extent, &lt;span style="font-weight:bold;"&gt;dataped.no&lt;/span&gt; and &lt;span style="font-weight:bold;"&gt;ehtrib.org&lt;/span&gt;) &lt;tt&gt;From:&lt;/tt&gt; addresses on the spam they send, apparently in an attempt to cover their tracks.  I will probably never know why they decided to do that, but I wonder why they keep it up and for that matter how many other domains are seeing this, with bounces from strange places, directed at non-existent, fairly obviously generated bogus addresses.&lt;br /&gt;&lt;br /&gt;So if you are seeing similar stupidity in your logs and if you are running a sensible greylister such as &lt;span style="font-weight:bold;"&gt;spamd&lt;/span&gt;, I would be interested in hearing from you so we can compare notes.&lt;br /&gt;&lt;br /&gt;Out there in meatspace, &lt;a href="http://2007.eurobsdcon.org/"&gt;EuroBSDCon 2007&lt;/a&gt; is coming up. I'll be there with the &lt;a href="http://2007.eurobsdcon.org/tutorial-firewalling-with-pf.html"&gt;PF tutorial&lt;/a&gt; on Wednesday.  This Friday's deadline for an updated manuscript had totally slipped my mind (I blame &lt;a href="http://nostarch.com/pf.htm"&gt;the book&lt;/a&gt; and a few other, less rational, factors), but hopefully the 24 who signed up for the session will find it useful anyhow - there will be new bits and as much interesting stuff as I can manage.  I'll be around for the rest of the conference too, but unfortunately I'll have to give the &lt;a href="http://2007.eurobsdcon.org/legoland.html"&gt;Legonland trip&lt;/a&gt; a miss.&lt;br /&gt;&lt;br /&gt;Be seeing you in Copenhagen!  The book is getting closer to finished, I promise!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-947687710371014123?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/947687710371014123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/09/wanna-help-science-study-your-greylists.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/947687710371014123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/947687710371014123'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/09/wanna-help-science-study-your-greylists.html' title='Wanna help science? Study your greylists&apos; innards!'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-3167419323030162760</id><published>2007-08-19T14:42:00.000+02:00</published><updated>2007-08-20T10:04:11.951+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cluelessness'/><category scheme='http://www.blogger.com/atom/ns#' term='spamd'/><category scheme='http://www.blogger.com/atom/ns#' term='EuroBSDCon'/><category scheme='http://www.blogger.com/atom/ns#' term='PF tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='greytrapping'/><title type='text'>A Lady in Distress; or Then Again, Maybe Not</title><content type='html'>&lt;i&gt;A two user domain gets bounces for seven hundred, &lt;tt&gt;grep&lt;/tt&gt; and &lt;tt&gt;sed&lt;/tt&gt; to the rescue, &lt;tt&gt;spamd&lt;/tt&gt; saves the day&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The past week moved along with only minor disturbances on the keep-systems-running front.  The time consuming frustrations were generated elsewhere, and (un?)fortunately I am not at liberty to discuss the details.  Incompetence was involved, next week it's somebody else's problem.&lt;br /&gt;&lt;br /&gt;All the while, the &lt;a href="http://bsdly.blogspot.com/2007/07/hey-spammer-heres-list-for-you.html"&gt;spammer trapping experiment&lt;/a&gt; has been moving along at a leisurely pace.&lt;br /&gt;&lt;br /&gt;Generally keeping the lists (both the web version and the live one) updated would cost me a few minutes' browsing of greylist dumps two or three times a day or whenever I felt like it, with a typical catch of maybe fifteen new bogus addresses to feed to the trap list each day.&lt;br /&gt;&lt;br /&gt;For the last three or four days the haul has been smaller, with essentially no new captures yesterday, for example.  Now I've found out why. They have moved on, alpabetically. &lt;br /&gt;&lt;br /&gt;Done with &lt;a href="http://www.bsdly.net/"&gt;bsdly.net&lt;/a&gt;, the dominant group of spammers moved on to generating addresses in the &lt;span style="font-weight: bold;"&gt;D&lt;/span&gt; domains including &lt;a href="http://www.datadok.no/"&gt;datadok.no&lt;/a&gt; and &lt;a href="http://www.dataped.no"&gt;dataped.no&lt;/a&gt;.  I'm bound to have missed a few, since the grand total by this morning had yet to reach a full thousand.  By now, they seem to have reached the &lt;span style="font-weight: bold;"&gt;E&lt;/span&gt;s.  This morning I noticed the overnight greylist dumps were bigger than usual.&lt;br /&gt;&lt;br /&gt;The reason: &lt;tt&gt;ehtrib.org&lt;/tt&gt;, the domain we set up mainly for my wife's use (read: her email), appears to be the current home of made up &lt;tt&gt;From:&lt;/tt&gt; addresses, with roughly seven hundred accumulated by the time I was done with morning routines of breakfast with coffee and browsing the overnight incoming mail.&lt;br /&gt;&lt;br /&gt;That is by far the largest addition to the flypaper list ever.&lt;br /&gt;&lt;br /&gt;Fortunately, with only two active addresses in the domain (I'm not telling what either other one is) it's fairly trivial to extract the bogus ones.&lt;br /&gt;&lt;br /&gt;Up to now I've been integrating the noise into the &lt;a href="http://www.bsdly.net/%7Epeter/traplist.html"&gt;traplist page&lt;/a&gt; manually, for now I've put this batch up at &lt;a href="http://www.bsdly.net/%7Epeter/ehtrib-1stbatch"&gt;http://www.bsdly.net/~peter/ehtrib-1stbatch&lt;/a&gt;. &lt;br /&gt;&lt;br /&gt;They're all in the active traplist at the gateways, of course.  It's the editing into the page the spammers will slurp via unattended robot I'm putting off for a little more while I'm doing some other writing. &lt;span style="font-style:italic;"&gt;[not any more. all there now, but the original list is preserved too]&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Just why this time we are seeing this number of addresses over a short period of time, and not a handful each day over several months is an open question.  One likely explanation is that one of the chickenboners fell asleep at the wheel and let the junk generator run longer than they actually intended.  Time will show if this means they move on more quickly. &lt;br /&gt;&lt;br /&gt;When I have more time, I will probably analyse the data I am accumulating at the moment and tell the tales of the silly lamer tricks the spammers try to pull.&lt;br /&gt;&lt;br /&gt;In the meantime, following up on &lt;a href="http://bsdly.blogspot.com/2007/07/spam-is-solved-problem.html"&gt;earlier posts&lt;/a&gt;, there are still a few people who Just Don't Get It:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;Aug 19 13:28:03 delilah spamd[3712]: 217.159.231.230: connected &lt;br /&gt;(9/9), lists: spamd-greytrap&lt;br /&gt;Aug 19 13:31:49 delilah spamd[3712]: (BLACK) 217.159.231.230:&lt;br /&gt;&amp;lt;&amp;gt; -&amp;gt; &amp;lt;armrest10@datadok.no&amp;gt;&lt;br /&gt;Aug 19 13:33:32 delilah spamd[3712]: 217.159.231.230: Subject:&lt;br /&gt;Considered UNSOLICITED BULK EMAIL, apparently from you&lt;br /&gt;Aug 19 13:33:32 delilah spamd[3712]: 217.159.231.230: From:&lt;br /&gt;"Content-filter at linux.byroomaailm.ee" &lt;br /&gt;&amp;lt;postmaster@linux.byroomaailm.ee&amp;gt;&lt;br /&gt;Aug 19 13:33:32 delilah spamd[3712]: 217.159.231.230: To: &lt;br /&gt;&amp;lt;armrest10@datadok.no&amp;gt;&lt;br /&gt;Aug 19 13:34:38 delilah spamd[3712]: 217.159.231.230: disconnected &lt;br /&gt;after 395 seconds. lists: spamd-greytrap&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;And it looks like the published list is having the effect I was hoping for.  I keep seeing quite a few of the addresses in ALLCAPS (with numbers tacked on) I put on the web page a few weeks back beginning to appear in lowercase but otherwise identical in my greylist dumps.&lt;br /&gt;&lt;br /&gt;In other news, the &lt;a href="http://2007.eurobsdcon.org/tutorial-firewalling-with-pf.html"&gt;PF tutorial session&lt;/a&gt; at &lt;a href="http://2007.eurobsdcon.org/index.html"&gt;EuroBSDCon&lt;/a&gt; is now a definite.&lt;br /&gt;&lt;br /&gt;See you in Copenhagen, if not before!&lt;br /&gt;&lt;br /&gt;Now for that other bit of writing. The &lt;a href="http://www.nostarch.com/pf.htm"&gt;Book of PF page &lt;/a&gt;now refers to the &lt;a href="http://www.bsdly.net/~peter/pf.html"&gt;tutorial page at bsdly.net&lt;/a&gt;. Now let's get that baby done.&lt;br /&gt;&lt;br /&gt;The lady is, in fact, not too distressed.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;And in case you were wondering&lt;/span&gt; - &lt;span style="font-weight:bold;"&gt;Yes&lt;/span&gt;, you can use my auto-generated &lt;a href="http://www.bsdly.net/~peter/bsdly.net.traplist"&gt;list of trapped hosts&lt;/a&gt; for your own blacklisting purposes if you like. Here it's just a supplement to &lt;a href="http://www.openbsd.org/spamd/traplist.gz"&gt;Bob Beck's traplist&lt;/a&gt;, and most likely you're better off using the Beck/UofA list along with your own greytrapping, but if you really want to use mine, be my guest. It gets updated ten past every hour.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8616610987649128333-3167419323030162760?l=bsdly.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://bsdly.blogspot.com/feeds/3167419323030162760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://bsdly.blogspot.com/2007/08/lady-in-distress-or-then-again-maybe.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3167419323030162760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8616610987649128333/posts/default/3167419323030162760'/><link rel='alternate' type='text/html' href='http://bsdly.blogspot.com/2007/08/lady-in-distress-or-then-again-maybe.html' title='A Lady in Distress; or Then Again, Maybe Not'/><author><name>Peter N. M. Hansteen</name><uri>http://www.blogger.com/profile/12852746787621165833</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.bsdly.net/~peter/portrait/Peter_Hansteen_150dpi.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8616610987649128333.post-4146579361842402220</id><published>2007-08-10T12:48:00.000+02:00</published><updated>2007-08-14T09:09:44.633+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='Clamav'/><category scheme='http://www.blogger.com/atom/ns#' term='FreeBSD'/><category scheme='http://www.blogger.com/atom/ns#' term='BSDCan'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><category scheme='http://www.blogger.com/atom/ns#' term='BSD is dying'/><category scheme='http://www.blogger.com/atom/ns#' term='microsoft'/><title type='text'>BSD is dying, security shot to hell, clamav wins and other tales of depravity and greed</title><content type='html'>It's been an interesting week, in several ways.  &lt;br /&gt;&lt;br /&gt;Yesterday's big item was the slashdotted &lt;a href="http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/"&gt;report&lt;/a&gt;  that &lt;a href="http://talks.dixongroup.net/nycbsdcon2006/"&gt;BSD is dying&lt;/a&gt;, or rather, that some important security related software in among others &lt;a href="http://www.openbsd.org/"&gt;OpenBSD&lt;/a&gt; may, according to a paper by University of Cambridge researcher (and &lt;a href="http://www.freebsd.org"&gt;FreeBSD&lt;/a&gt; core member) &lt;a href="http://www.watson.org/~robert/"&gt;Robert Watson&lt;/a&gt;, be vulnerable to a previously unresearched class of vulnerabilities.  This time we're talking about a really hard problem which I think hits a lot more than the ones they picked for the tests.  Local privilege escalation only, so &lt;b&gt;not&lt;/b&gt; the third remote hole in OpenBSD after all. The &lt;a href="http://www.watson.org/~robert/2007woot/2007usenixwoot-exploitingconcurrency.pdf"&gt;paper&lt;/a&gt; is well worth reading, and if you're a little short of time, the &lt;a hr
