<?xml version="1.0"?>
<rss version="2.0">

<channel>
	<title>Planet SysAdmin</title>
	<link>http://planetsysadmin.com/</link>
	<language>en</language>
	<description>Planet SysAdmin - http://planetsysadmin.com/</description>

<item>
	<title>Chris Siebenmann: A general point about SSH personal keys</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/sysadmin/SshIdentitiesTradeoff</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/sysadmin/SshIdentitiesTradeoff</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;A general point about SSH personal keys&lt;/h2&gt;

&lt;p&gt;Recently I've seen a number of articles on suggested good ways to use
SSH securely and other SSH tricks (unfortunately I can't find URLs to
all of them, so I'm not going to try to put any here). As it happens I
have a few modest suggestions on this, but before I started I wanted
to make a broad meta-point about the use of personal SSH keys, aka SSH
identities.&lt;/p&gt;

&lt;p&gt;The big thing to understand about all advice about SSH personal keys is
that when you choose to use personal keys for your own logins, you are
deciding to &lt;em&gt;balance&lt;/em&gt; convenience with security.  After all, if security
was your primary concern you would not use personal keys at all; you
would use one time passwords with two-factor authentication.&lt;/p&gt;

&lt;p&gt;(Things are different for cron'd scripts and the like, when there is no
human there to interact with the system. I'm purely talking about using
SSH identities to avoid typing passwords.)&lt;/p&gt;

&lt;p&gt;Now, everyone has different views of the amount of security that
they need and the convenience that they want. People fall along a
spectrum between the two poles and where you wind up is not necessarily
where I do. Thus, &lt;strong&gt;people's security advice about personal keys
is not necessarily right for you even if it's correct&lt;/strong&gt; (in some
sense). The trick is to understand your particular tradeoffs and
circumstances, to figure out what irritates you and what you need, and
then to pick what works for you rather than blindly following someone
else's suggestions and being either frustrated or dangerously insecure
(in your environment) or both.&lt;/p&gt;

&lt;p&gt;Yes, some things will make you less secure than others but they can
also be more convenient (and vice versa). Sometimes this is the right
tradeoff &lt;em&gt;for you&lt;/em&gt; and sometimes it is not (even if it's the right
tradeoff for me or whoever you're reading). And yes, there are some SSH
tricks that usually increase both security and convenience. These are
excellent things to know when you can find them.&lt;/p&gt;

&lt;p&gt;(Sadly, my suggestions to come are not of this nature.)&lt;/p&gt;

&lt;p&gt;PS: as always when you consider security related issues, you want to
think about not just security in the abstract but security in the
concrete in your environment with your risks.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Thu, 09 Feb 2012 05:19:29 +0000</pubDate>
</item>
<item>
	<title>USENIX Update: Cascadia IT Conference 2012</title>
	<guid>http://blogs.usenix.org/?p=16542</guid>
	<link>http://blogs.usenix.org/2012/02/08/cascadia-it-conference-2012/</link>
	<description>The second Cascadia IT Conference will be held March 23-24 in Seattle, Washington. LISA&amp;#8217;11 co-chair, Tom Limoncelli, will be one of the speakers at the event. He&amp;#8217;ll be giving talks on Time Management for System Administrators, The Limoncelli Test, and Ganeti virtual cluster management software. Other talks at the 2012 Cascadia IT Conference include: Essential [...]</description>
	<pubDate>Wed, 08 Feb 2012 17:25:28 +0000</pubDate>
</item>
<item>
	<title>CiscoZine: Nmap for IOS? No, IOSMap</title>
	<guid>http://www.ciscozine.com/?p=933</guid>
	<link>http://www.ciscozine.com/2012/02/08/nmap-for-ios-no-iosmap/</link>
	<description>The Tcl shell can be used to run Cisco IOS CLI EXEC commands within a Tcl script. Using the Tcl shell to run CLI commands allows customers to build menus to guide novice users through tasks, to automate repetitive tasks, and to create custom output for show commands. Not everyone knows that it is possible to implement a port scanning tool like a light Nmap. Surfing the web I have found a tool named IOSMap, a Cisco port scanning tool. It is not mandatory know Tcl to use this script; the only thing you need to know is how execute a [...]</description>
	<pubDate>Wed, 08 Feb 2012 09:24:44 +0000</pubDate>
</item>
<item>
	<title>SysAdmin1138: Looking to the future person</title>
	<guid>tag:sysadmin1138.net,2012:/mt/blog//5.2620</guid>
	<link>http://feedproxy.google.com/~r/Sysadmin1138/~3/_tBayFQ2YhA/looking-to-the-future-person.shtml</link>
	<description>It is becoming increasingly clear that we'll be hiring a second full-time IT-type person some time this year. What's more, they're likely to be directly reporting to me. That would turn me into a straight up Manager, something I haven't been before. This is somewhat scary! The closest I've been was two jobs ago when I was providing &lt;i&gt;work direction&lt;/i&gt; to two other people, but the actual time-card signoffs and vacation approvals was handled by someone else.&lt;br /&gt;&lt;br /&gt;Which means I'm giving thought on what we'll need in terms of skillset for this nebulous person. As I see it, there are five primary knowledge domains that we're interested in:&lt;br /&gt;&lt;br /&gt;&lt;img alt=&quot;SA-Domains.png&quot; src=&quot;http://sysadmin1138.net/mt/blog/2012/02/07/SA-Domains.png&quot; class=&quot;mt-image-none&quot; height=&quot;400&quot; width=&quot;600&quot; /&gt;&lt;br /&gt; &lt;div&gt;The &quot;buying things&quot; one is new to this chart, in the past I've always had either a purchasing department to handle things like chasing down late orders, or have had single-source contracts that take a lot of the choice out of what we can buy. When you get to the senior levels and get 'recommend' powers (if not straight up purchasing authority) this kind of thing is actually pretty key. In fact, right now I have a specific order that I need in my hands by next Thursday OR ELSE, and I'm having to apply mallet to a supplier to get it. I never had to do this kind of thing before.&lt;br /&gt;&lt;br /&gt;Anyway.&lt;br /&gt;&lt;br /&gt;The tricky part is, what weight do we assign to each knowledge domain? Based on my workload right now, I'd have to say &quot;automation coding&quot; is primary. However, come August the pain we're feeling may be somewhere else entirely. Come August, our product should have been released for several months and we'll then have a lot of operational experience, and what we may need most of all is someone to share the midnight callout duties more than anything else.&lt;br /&gt;&lt;br /&gt;And then there is the whole, &quot;Now that I'm a manager-type person, what work is most suited to that?&quot; question. &lt;br /&gt;&lt;br /&gt;For me, of those five domains the Automation Coding portion is the domain with the highest interrupt costs; it takes me a good while to get back on track after someone asks me something random. Considering it's my job to be interrupted (&lt;a href=&quot;http://everythingsysadmin.com/the-test.html#3policy&quot;&gt;even though that's a bad thing for systems administrators&lt;/a&gt;), this suggests having Someone Else do the automation coding part is a good idea. On the other hand, for large web-scale and highly homogeneous infrastructures &lt;i&gt;automation coding is the majority of the systems engineering work needed to make it all function&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;Right this moment, it's looking like my #2 will have to be someone with some years under their belt, which runs against our company's proven track-record of hiring promising people right out of college. Automation coding is that curious mix of a lot of Software Engineering crossed with the domain specific knowledges of OS lore, management frameworks, and application-specific functioning. Of these, it's the OS lore that's the hardest to train for. &lt;br /&gt;&lt;br /&gt;However...&lt;br /&gt;&lt;br /&gt;If I've done my job right, by the time we release the automation framework should be largely completed and should be good enough to handle at least half a year's worth of scale. If we release, and the industry loves us like a loving thing, we'll be scaling out madly. At that point, having another set of hands well versed in the Network Configuration and Server Hardware parts will be more important than a systems programmer. THAT is someone who could be a fresh-from-college person, much like our summer intern IT last year.&lt;br /&gt;&lt;br /&gt;Won't know until we get there.&lt;br /&gt;&lt;/div&gt;
    &lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=_tBayFQ2YhA:JNrZx3Cy6kQ:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=_tBayFQ2YhA:JNrZx3Cy6kQ:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=_tBayFQ2YhA:JNrZx3Cy6kQ:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=_tBayFQ2YhA:JNrZx3Cy6kQ:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=_tBayFQ2YhA:JNrZx3Cy6kQ:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=_tBayFQ2YhA:JNrZx3Cy6kQ:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=_tBayFQ2YhA:JNrZx3Cy6kQ:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=_tBayFQ2YhA:JNrZx3Cy6kQ:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Sysadmin1138/~4/_tBayFQ2YhA&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 08 Feb 2012 08:01:58 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: Choosing the superblock format for Linux's software RAID</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/linux/SoftwareRaidSuperblockFormats</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/linux/SoftwareRaidSuperblockFormats</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Choosing the superblock format for Linux's software RAID&lt;/h2&gt;

&lt;p&gt;Linux's software RAID implementation stores metadata about the RAID
device in each physical device involved in the RAID, in what &lt;code&gt;mdadm&lt;/code&gt;
calls 'RAID superblocks' by analogy to the filesystem superblocks that
describe filesystems. In modern versions of software RAID there are a
number of different formats for these RAID superblocks with different
tradeoffs involved in each one, and one of the decisions you need to
make when you create a software RAID array is what format you want to
use.&lt;/p&gt;

&lt;p&gt;(Even if you don't actively make a decision, &lt;code&gt;mdadm&lt;/code&gt; will pick a format
for you. Sometimes it will whine irritatingly at you about the situation,
which is how I discovered the whole issue.)&lt;/p&gt;

&lt;p&gt;In my opinion, at the moment there are three sensible options to choose
from: the 0.90 format and then two variants of the 'version-1' metadata
format.&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;0.90 is the original metadata format, which is widely understood
and used.  For most people, the most potentially important
limitation of 0.90 metadata is that component devices can't be
larger than 2 TB.&lt;p&gt;
The 0.90 superblock goes at the end of the underlying partition.&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;1.0 puts the superblock at the end of the underlying partition.&lt;/li&gt;
&lt;li&gt;1.2 puts the superblock 4 Kb from the start of the underlying partition
It's the sort of default for modern versions of &lt;code&gt;mdadm&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(You can see what format your current RAID arrays are using by looking
at &lt;code&gt;/proc/mdstat&lt;/code&gt;. If an array doesn't say '&lt;code&gt;super &amp;lt;something&gt;&lt;/code&gt;' it's
using 0.90 format metadata; otherwise, it's using whatever version it
says it is. Many relatively modern systems, such as Ubuntu 10.04, either
don't support anything past 0.90 or default to 0.90 in system setup.)&lt;/p&gt;

&lt;p&gt;Where the superblock goes is potentially important for RAID-1 arrays.
A RAID-1 array with the superblock at the end can relatively easily
have whatever filesystem it contains mounted read-only without the
RAID running, because the filesystem will start at the start of
the underlying raw partitions; &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/BootingWithoutMirror&quot;&gt;this can be important sometimes&lt;/a&gt;. A RAID-1 array with the superblock at or near
the start of the underlying partitions can't have the raw partitions
used this way, because you have to look somewhat beyond the start of the
raw partition to see the filesystem.&lt;/p&gt;

&lt;p&gt;(Some versions of &lt;code&gt;mdadm&lt;/code&gt; will explicitly warn you about this or even
quiz you about it if you don't specify a format explicitly.)&lt;/p&gt;

&lt;p&gt;If you want to use a modern format and are going to directly use the
RAID-1 array for a filesystem, I would use 1.0 format (this is what
I've done for my new &lt;code&gt;/&lt;/code&gt; and &lt;code&gt;/boot&lt;/code&gt;). For swap areas you might as well
use 1.2 format; if you ever need to use swap without software RAID, you
can just destroy the 1.2 superblocks with &lt;code&gt;mkswap&lt;/code&gt;. For LVM physical
volumes you can argue back and forth either way; right now I've chosen
1.2 format because I really don't want to think about what it would take
to safely bring up an LVM physical volume without software RAID running.&lt;/p&gt;

&lt;p&gt;(LVM physical volumes have their own metadata, which normally goes at
the start of the 'raw' partition that LVM is using but which can be
replicated to the end as well. See &lt;code&gt;pvcreate&lt;/code&gt;'s manpage.)&lt;/p&gt;

&lt;p&gt;As far as I know you can't change the superblock format of an array
after it has been created, at least not without destroying it and
recreating it. You can sort of do this without an extra disk with
sufficient work, but really you want to get it right at creation time.&lt;/p&gt;

&lt;p&gt;PS: note that in theory you can use &lt;code&gt;dmsetup&lt;/code&gt; to gain access to
filesystems or other sorts of data that doesn't begin at the start of
a raw partition, so you can get at a filesystem embedded inside the
raw partition of a RAID-1 array with 1.2 format metadata. However this
requires user level intervention, which means that you're going to need
a rescue environment or rescue disk of some sort.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 08 Feb 2012 06:20:38 +0000</pubDate>
</item>
<item>
	<title>Ben's Practical Admin Blog: iLO PS Library &amp; Script Updates</title>
	<guid>http://practicaladmin.wordpress.com/?p=240</guid>
	<link></link>
	<description>The iLO PS Library has been updated to version 1.1.2. This release has minor bugfixes and a new function for parsing RIBCL output to obtain the CSR that is created. Latest version of the script can be downloaded of the iLO PS Page. I have completely re-written the iLO SSL Signing Script in the last [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=practicaladmin.wordpress.com&amp;blog=8992369&amp;post=240&amp;subd=practicaladmin&amp;ref=&amp;feed=1&quot; width=&quot;1&quot; height=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 07 Feb 2012 22:39:19 +0000</pubDate>
</item>
<item>
	<title>MDLog:/sysadmin: HowTo completely remove a file from Git history</title>
	<guid>http://www.ducea.com/?p=1415</guid>
	<link>http://feedproxy.google.com/~r/Mdlog/~3/mTzM8KrXii0/</link>
	<description>&lt;p&gt;I just started working on a new project and as you would expect one of the first things I did was to download its git repository from &lt;strong&gt;github&lt;/strong&gt;. These were just some scripts and should have been very small ~5M, but the clone from gitbhub took about one hour as the full repo folder was 1.5G… (with the biggest size under &lt;strong&gt;.git/objects/pack&lt;/strong&gt;) Crazy… &lt;em&gt;What was in the git repository history that would cause something like this?&lt;/em&gt; I assumed that at some point in time the repository was much bigger (probably from some file/s that don&amp;#8217;t exist anymore), but how could I find out what were those files? And more important howto remove them from history? Well if you came here from a &lt;em&gt;google search&lt;/em&gt; on &amp;#8220;how to remove a file from git history&amp;#8221; then you probably know there are plenty of docs and howtos on how to achieve this but from my experience none of them really worked. This is why I decided to document the steps needed to identify the file from the git repo history that is using all that space and to have it removed fully and bring the repository to a manageable size.&lt;/p&gt;&lt;p&gt;First we need to identify the file that is causing this issue; and for this we will verify all the packed objects and look for the biggest ones:&lt;br /&gt; &lt;code&gt;git verify-pack -v .git/objects/pack/*.idx | sort -k 3 -n | tail -5&lt;/code&gt;&lt;br /&gt; (and grab the revisions with the biggest files). Then find the name of the files in those revisions:&lt;br /&gt; &lt;code&gt;git rev-list --objects --all | grep &amp;lt;revision_id&amp;gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Next, remove the file from all revisions:&lt;br /&gt; &lt;code&gt;git filter-branch --index-filter 'git rm --cached --ignore-unmatch &amp;lt;filename&amp;gt;'&lt;br /&gt; rm -rf .git/refs/original/&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Edit .git/packed-refs and remove/comment any external pack-refs. Without this the cleanup might not work. I my case I had refs/remotes/origin/master and some others branches.&lt;br /&gt; &lt;code&gt;vim .git/packed-refs&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Finally repack and cleanup and remove those objects:&lt;br /&gt; &lt;code&gt;git reflog expire --all --expire-unreachable=0&lt;br /&gt; git repack -A -d&lt;br /&gt; git prune&lt;/code&gt;&lt;/p&gt;&lt;p&gt;Hopefully these steps will help you completely remove those un-wanted files from your git history. Let me know if you have any problems after following these simple steps.&lt;/p&gt;&lt;p&gt;&lt;span id=&quot;more-1415&quot;&gt;&lt;/span&gt;Note: if you want to test these steps here is how to quickly create a test repo:&lt;br /&gt; &lt;code&gt;# Make a small repo&lt;br /&gt; mkdir test&lt;br /&gt; cd test&lt;br /&gt; git init&lt;br /&gt; echo hi &amp;gt; there&lt;br /&gt; git add there&lt;br /&gt; git commit -m 'Small repo'&lt;br /&gt; # Add a random 10M binary file&lt;br /&gt; dd if=/dev/urandom of=testme.txt count=10 bs=1M&lt;br /&gt; git add testme.txt&lt;br /&gt; git commit -m 'Add big binary file'&lt;br /&gt; # Remove the 10M binary file&lt;br /&gt; git rm testme.txt&lt;br /&gt; git commit -m 'Remove big binary file'&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://www.thycotic.com/zSS_Ducea.html?utm_source=ducea&amp;utm_medium=banner&amp;utm_content=iquit&amp;utm_campaign=SSDucea&quot;&gt;&lt;img src=&quot;http://www.ducea.com/images/SS468by60.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:D7DqB2pKExk&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:D7DqB2pKExk&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Mdlog?a=mTzM8KrXii0:dGUKsvxQ-F0:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Mdlog?i=mTzM8KrXii0:dGUKsvxQ-F0:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 07 Feb 2012 19:40:06 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: How SAS, Near Line (NL) SAS, and SATA disks compare</title>
	<guid>http://www.techrepublic.com/blog/networking/how-sas-near-line-nl-sas-and-sata-disks-compare/5323</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/eFIH5zAyLpU/5323</link>
	<description>Scott Lowe breaks down the differences in reliability and performance between SAS, Near-Line SAS, and SATA drives.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/eFIH5zAyLpU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 07 Feb 2012 18:20:44 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: VeriSign repeatedly hacked in 2010</title>
	<guid>http://www.techrepublic.com/blog/security/verisign-repeatedly-hacked-in-2010/7379</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/lFkId47ftbI/7379</link>
	<description>Verisign was repeatedly attacked in 2010 but the extent of what was stolen is unknown, and the company didn't even own up to it until late 2011.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/lFkId47ftbI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 07 Feb 2012 14:39:25 +0000</pubDate>
</item>
<item>
	<title>Racker Hacker: Using OpenSSL's s_client command with web servers using Server Name Indication (SNI)</title>
	<guid>http://rackerhacker.com/?p=2998</guid>
	<link>http://rackerhacker.com/2012/02/07/using-openssls-s_client-command-with-web-servers-using-server-name-indication-sni/</link>
	<description>&lt;p&gt;One of the handiest tools in the OpenSSL toolbox is &lt;code&gt;s_client&lt;/code&gt;.  You can quickly view lots of details about the SSL certificates installed on a particular server and diagnose problems.  For example, use this command to look at Google's SSL certificates:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;openssl s_client -connect encrypted.google.com:443&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You'll see the chain of certificates back to the original certificate authority where Google bought its certificate at the top, a copy of their SSL certificate in plain text in the middle, and a bunch of session-related information at the bottom.&lt;/p&gt;
&lt;p&gt;This works really well when a site has one SSL certificate installed per IP address (this used to be a hard requirement).  With &lt;a href=&quot;http://en.wikipedia.org/wiki/Server_Name_Indication&quot;&gt;Server Name Indication&lt;/a&gt; (SNI), a web server can have multiple SSL certificates installed on the same IP address.  SNI-capable browsers will specify the hostname of the server they're trying to reach during the initial handshake process.  This allows the web server to determine the correct SSL certificate to use for the connection.&lt;/p&gt;
&lt;p&gt;If you try to connect to rackerhacker.com with &lt;code&gt;s_client&lt;/code&gt;, you'll find that you receive the default SSL certificate installed on my server and not the one for this site:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;$ openssl s_client -connect rackerhacker.com:443
Certificate chain
 0 s:/C=US/ST=Texas/L=San Antonio/O=MHTX Enterprises/CN=*.mhtx.net
   i:/C=US/O=SecureTrust Corporation/CN=SecureTrust CA
 1 s:/C=US/O=SecureTrust Corporation/CN=SecureTrust CA
   i:/C=US/O=Entrust.net/OU=www.entrust.net/CPS incorp. by ref. (limits liab.)/OU=(c) 1999 Entrust.net Limited/CN=Entrust.net Secure Server Certification Authority&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Add on the &lt;code&gt;-servername&lt;/code&gt; argument and &lt;code&gt;s_client&lt;/code&gt; will do the additional SNI negotiation step for you:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;$ openssl s_client -connect rackerhacker.com:443 -servername rackerhacker.com
Certificate chain
 0 s:/OU=Domain Control Validated/OU=PositiveSSL/CN=rackerhacker.com
   i:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=PositiveSSL CA
 1 s:/C=GB/ST=Greater Manchester/L=Salford/O=Comodo CA Limited/CN=PositiveSSL CA
   i:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
 2 s:/C=US/ST=UT/L=Salt Lake City/O=The USERTRUST Network/OU=http://www.usertrust.com/CN=UTN-USERFirst-Hardware
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
 3 s:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root
   i:/C=SE/O=AddTrust AB/OU=AddTrust External TTP Network/CN=AddTrust External CA Root&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You may be asking yourself this question:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;Why doesn't the web server just use the &lt;code&gt;Host:&lt;/code&gt; header that my browser sends already to figure out which SSL certificate to use?&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Keep in mind that the SSL negotiation must occur &lt;b&gt;prior&lt;/b&gt; to sending the HTTP request through to the remote server.  That means that the browser and the server have to do the certificate exchange earlier in the process and the browser wouldn't get the opportunity to specify which site it's trying to reach.  SNI fixes that by allowing a &lt;code&gt;Host:&lt;/code&gt; header type of exchange during the SSL negotiation process.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/02/07/using-openssls-s_client-command-with-web-servers-using-server-name-indication-sni/&quot;&gt;Using OpenSSL's s_client command with web servers using Server Name Indication (SNI)&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 07 Feb 2012 14:07:41 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: Juvenile cyber-delinquency: Laws that are turning kids into criminals</title>
	<guid>http://www.techrepublic.com/blog/security/juvenile-cyber-delinquency-laws-that-are-turning-kids-into-criminals/7355</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/prnwI_-9-jI/7355</link>
	<description>Deb Shinder considers the problem of juvenile delinquency when it concerns kids and computers. Do we need a better strategy for dealing with juvenile cybercrime? Take the opinion poll.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/prnwI_-9-jI&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 07 Feb 2012 14:00:50 +0000</pubDate>
</item>
<item>
	<title>Anton Chuvakin - Security Warrior: Links for 2012-02-06 [del.icio.us]</title>
	<guid>http://del.icio.us/anton18#2012-02-06</guid>
	<link>http://feedproxy.google.com/~r/AntonChuvakinPersonalBlog/~3/FhVEfp0lGdQ/anton18</link>
	<description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.gartner.com/rob-addy/2012/02/06/prediction-provides-questions-not-answers/&quot;&gt;Prediction Provides Questions; Not Answers&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/FhVEfp0lGdQ&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 07 Feb 2012 08:00:00 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: The advantage of HDMI for dual displays</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/tech/HDMIDualDisplays</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/tech/HDMIDualDisplays</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;The advantage of HDMI for dual displays&lt;/h2&gt;

&lt;p&gt;One of the interesting things that happened during &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/HomeMachine2011&quot;&gt;my five years of
hardware hibernation&lt;/a&gt; is that when I woke up,
even low end (aka passively cooled) graphics cards could suddenly drive
two digital outputs. Back in 2006 it was common for cards to have one
analog and one digital out (eg, the ATI X300 in my work machine had VGA
plus DVI), but getting dual digital out required an expensive card with
an often noisy fan.&lt;/p&gt;

&lt;p&gt;(I actually went through two such cards at work, each time deciding that
I couldn't see enough advantage to driving my second display digitally
instead of via analog VGA to be worth putting up with the noise. Possibly
I wasn't sensitized enough to VGA artifacts and issues.)&lt;/p&gt;

&lt;p&gt;What I have to thank for this is &lt;a href=&quot;http://en.wikipedia.org/wiki/HDMI&quot;&gt;HDMI&lt;/a&gt;. Now, I'm aware that there's a lot
to dislike about HDMI (see eg HDCP), but from my perspective the great
thing about it is that it's given even low end cards a second digital
output; it seems to be common for cards to have both DVI and HDMI.  Some
modern displays can be directly driven over HDMI and for the others, a
simple cable will go from HDMI to DVI. And so my 2011 low end, passively
cooled graphics card will now drive both my displays at work digitally,
one directly with DVI and one with an HDMI to DVI cable, which is
something that I never managed nicely before now.&lt;/p&gt;

&lt;p&gt;(I believe that this has resolution limits. I don't use really big LCDs,
so these haven't affected me.)&lt;/p&gt;

&lt;p&gt;One of the interesting questions for me is why this happened. Why did
graphics card vendors start putting HDMI on everything, where they only
rarely did dual DVI? I think that part of the reason is that &lt;strong&gt;HDMI uses
a physically small connector&lt;/strong&gt;. DVI uses a relatively big connector
and if you look at the back of a graphics card (especially a dual-DVI
graphics card), there just isn't all that much physical space there;
it's hard to get two DVI connectors and anything else in. By contrast,
HDMI connectors are much smaller (I can't find the exact dimensions, but
some sources say a third of the size). This makes it much easier to find
the physical room for a HDMI connector on a card edge and on a circuit
board.&lt;/p&gt;

&lt;p&gt;(For example, my current graphics card just fits in VGA, DVI, and HDMI
connectors with basically no spare room.)&lt;/p&gt;

&lt;p&gt;PS: I don't think it's a coincidence that &lt;a href=&quot;http://en.wikipedia.org/wiki/DisplayPort&quot;&gt;DisplayPort&lt;/a&gt;, the theoretical next
generation replacement for DVI, also has a small connector. I suspect
that the graphics card layout designers had a few words with people.&lt;/p&gt;

&lt;p&gt;(Of course pretty much everything seems to be going to small connectors,
with large ones proving awkward. Consider SATA versus IDE, for example.
Someone who knew more about electronics than I do could probably
write a fascinating article about all of the developments that made
narrow-connector interfaces feasible and preferable to the old wide
connector ones.)&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt; (&lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/HDMIDualDisplays?showcomments#comments&quot;&gt;2 comments&lt;/a&gt;.) &lt;/div&gt;</description>
	<pubDate>Tue, 07 Feb 2012 04:25:00 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: Why are websites getting your mobile-phone number?</title>
	<guid>http://www.techrepublic.com/blog/security/why-are-websites-getting-your-mobile-phone-number/7360</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/nbCuwyfMgvU/7360</link>
	<description>Are mobile-service providers leaking data into traffic destined for web servers? That's what a research analyst set out to prove.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/nbCuwyfMgvU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 06 Feb 2012 16:24:13 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: Virtualize everything (except in these four scenarios)</title>
	<guid>http://www.techrepublic.com/blog/networking/virtualize-everything-except-in-these-four-scenarios/5314</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/gRIeCROHuD0/5314</link>
	<description>Virtualization should be the de facto standard in deploying workloads today. However, there are valid exceptions. Rick Vanover lists four of them in this blog post.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/gRIeCROHuD0&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 06 Feb 2012 15:08:42 +0000</pubDate>
</item>
<item>
	<title>The Nubby Admin: Iomega Jaz Disks – Why Didn’t They Take Off?</title>
	<guid>http://thenubbyadmin.com/?p=2066</guid>
	<link>http://feedproxy.google.com/~r/TheNubbyAdmin/~3/i5cz014xddQ/</link>
	<description>&lt;p&gt;I&amp;#8217;ve cleaned many a back room computer closet and found quite a number of artifacts that belie how far technology has come in just slightly more than a decade. One such item is the Iomega Jaz drive. I found a package of Jaz disks at a client and, instead of throwing them out, I dissected them and &lt;em&gt;then&lt;/em&gt; threw them out.&lt;/p&gt;
&lt;p&gt;I really didn&amp;#8217;t know what to expect while cracking the cases open, but what I encountered made me stagger. When I opened up the case, I saw what amounted to a hard drive platter sitting loose on a plastic spindle:&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; title=&quot;Jaz Disk Innards&quot; src=&quot;http://farm8.staticflickr.com/7159/6819643061_0acfaa49e2.jpg&quot; alt=&quot;&quot; width=&quot;350&quot; height=&quot;263&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The precious platters were protected by the mighty power of&amp;#8230; bendy aluminium.&lt;/p&gt;
&lt;p&gt;&lt;img class=&quot;aligncenter&quot; title=&quot;Behold the power of bendy alluminium&quot; src=&quot;http://farm8.staticflickr.com/7151/6819638123_f9825a50f6.jpg&quot; alt=&quot;&quot; width=&quot;350&quot; height=&quot;263&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The bendy aluminium was held in place and allowed the freedom to move by a paper clip. &lt;a href=&quot;http://www.flickr.com/photos/26148816@N04/6819650781/in/set-72157629176504647&quot;&gt;Paperclips make the world go &amp;#8217;round&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;I took a few more picture of the dissection and posted them on my Flickr account. &lt;a href=&quot;http://www.flickr.com/photos/26148816@N04/sets/72157629176504647/&quot;&gt;Take a look at the ignominy here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;So how about it? Are you as appalled as I am that such a product made it to the consumer? Spew your ire in the comments below.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.thycotic.com/zSS_TheNubbyAdmin.html?utm_source=TheNubbyAdmin&amp;utm_medium=banner&amp;utm_content=rss&amp;utm_campaign=SSTheNubbyAdmin&quot;&gt;&lt;img src=&quot;http://thenubbyadmin.com/wp-content/wpads/SS468by60.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/TheNubbyAdmin/~4/i5cz014xddQ&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 06 Feb 2012 14:51:14 +0000</pubDate>
</item>
<item>
	<title>Slaptijack: Cisco IPS Inline Bypass Mode</title>
	<guid>http://slaptijack.com/?p=5816</guid>
	<link>http://feedproxy.google.com/~r/slaptijack/~3/SZzGjG7aT9A/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://slaptijack.com/tag/cisco&quot;&gt;&lt;img alt=&quot;Old Cisco Systems Logo&quot; src=&quot;http://lh5.ggpht.com/_LF9bAucktRs/TNuFajUvICI/AAAAAAAACSw/Bxkme6-aKgE/s288/cisco_logo.jpg&quot; title=&quot;Old Cisco Systems Logo&quot; class=&quot;alignright&quot; width=&quot;288&quot; height=&quot;156&quot; /&gt;&lt;/a&gt;On occasion, you may need to put your Cisco IPS into bypass mode. Bypass mode allows the IPS to pass traffic without inspecting it. This may be useful if you suspect the IPS is causing a problem, if you are going to run a one-time scan that would set the IPS off, or you need to update some part of the IPS software.&lt;/p&gt;
&lt;h3&gt;Inline Bypass Modes&lt;/h3&gt;
&lt;p&gt;There are three inline bypass modes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Auto:&lt;/strong&gt; In this mode, the sensor determines whether or not it should be in inline bypass mode. If the monitoring process is down, the sensor automatically shifts into inline bypass mode until the monitoring process returns.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Off:&lt;/strong&gt; Inline bypass mode is disabled. Traffic will be forwarded to and is inspected by the Analysis Engine.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;On:&lt;/strong&gt; Inline bypass mode is disabled. Traffic flows but is not inspected.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;There are two methods for putting the IPS into bypass mode.&lt;/p&gt;
&lt;h3&gt;Command-Line Interface (CLI)&lt;/h3&gt;
&lt;p&gt;This is really straightforward:&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;block&quot;&gt;sensor# configure terminal
sensor(config)# service interface
sensor(config-int)# bypass-mode on
sensor(config-int)# exit
Apply Changes:?[yes]:&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;IPS Device Manager (IDM)&lt;/h3&gt;
&lt;p&gt;The IDM has a dedicated Bypass Mode Pane. Simply select &quot;On&quot; and save your configuration.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/MQ9nOobyzlE26zkOPhr5rzPVpTo/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/MQ9nOobyzlE26zkOPhr5rzPVpTo/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/MQ9nOobyzlE26zkOPhr5rzPVpTo/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/MQ9nOobyzlE26zkOPhr5rzPVpTo/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/slaptijack?a=SZzGjG7aT9A:kCgELxGBa4M:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/slaptijack?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/slaptijack?a=SZzGjG7aT9A:kCgELxGBa4M:dnMXMwOfBR0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/slaptijack?d=dnMXMwOfBR0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/slaptijack?a=SZzGjG7aT9A:kCgELxGBa4M:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/slaptijack?i=SZzGjG7aT9A:kCgELxGBa4M:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/slaptijack?a=SZzGjG7aT9A:kCgELxGBa4M:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/slaptijack?i=SZzGjG7aT9A:kCgELxGBa4M:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/slaptijack?a=SZzGjG7aT9A:kCgELxGBa4M:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/slaptijack?i=SZzGjG7aT9A:kCgELxGBa4M:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 06 Feb 2012 14:00:37 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: The three types of online attackers</title>
	<guid>http://www.techrepublic.com/blog/security/the-three-types-of-online-attackers/7349</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/9oYY8nczdZY/7349</link>
	<description>Patrick Lambert describes the three main groups of attackers that security specialists are guarding against.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/9oYY8nczdZY&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 06 Feb 2012 14:00:34 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: My view on what will kill 'traditional' system administration</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/sysadmin/WhatWillKillSysadmin</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/sysadmin/WhatWillKillSysadmin</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;My view on what will kill 'traditional' system administration&lt;/h2&gt;

&lt;p&gt;Phil Hollenback recently wrote &lt;a href=&quot;http://www.hollenback.net/index.php/DevopsIsHereWhetherYouLikeItOrNot&quot;&gt;DevOps Is Here Whether You Like
It Or Not&lt;/a&gt;, in
which he writes that traditional system administration is dying.
While I sort of agree with him about the death, I don't think it's
necessarily for the reasons that Phil points to.&lt;/p&gt;

&lt;p&gt;Fundamentally, there has always been a divide between small systems
and large systems. Large systems have had to automate and when that
automation involved applications, it involved the developers; small
systems did not have to automate, and often do not automate because
the costs of automation are larger than the costs of doing everything
by hand. Moving to virtualization doesn't change that (at least for my
sort of system administration, which has always had very little to do
with shoving actual physical hardware around); if you have only a few
virtualized servers and services, you can perfectly well keep running
them by hand and it will probably be easier than learning Chef, Puppet,
or CFEngine and then setting up an install.&lt;/p&gt;

&lt;p&gt;(If you're future-proofing your career you want to learn Chef or Puppet
anyways, so go ahead and use them even in a small environment.)&lt;/p&gt;

&lt;p&gt;There are two things that I think will change that, and Phil points to
one of them. Heroku is not just a virtualization provider; they are what
I'll call a &lt;em&gt;deployment&lt;/em&gt; provider, where if you write your application
to their API you can simply push it to them without having to configure
servers directly. We've seen deployment providers before (eg Google App
Engine), but what distinguishes Heroku is how unconstrained and garden
variety your API choices are. You don't need to write to special APIs
to build a Heroku-ready application; in many cases, if you build an
application in a sensible way it's automatically Heroku-ready. This
is very enticing to developers because (among other things) it avoids
lockin; if Heroku sucks for you, you can easily take your application
elsewhere.&lt;/p&gt;

&lt;p&gt;(This has historically not been true of other deployment providers,
which makes writing things to, say, the Google AppEngine API a very big
decision that you have to commit to very early on.)&lt;/p&gt;

&lt;p&gt;Deployment providers like Heroku remove traditional system
administration entirely. There's no systems or services to configure,
and the developers are deeply involved in deployment because a
non-developer can't really take a random application and deploy it for
the developers. If there is an operations group, it's one that worries
about higher level issues such as production environment performance and
how to control the movement of code from development to production.&lt;/p&gt;

&lt;p&gt;The other thing is general work to reduce the amount of knowledge you
need to set up a Chef or Puppet-based environment with certain canned
configurations. Right now my impression is that we're still at the
stage where someone with experience has to write the initial recipe to
configure all N of your servers correctly, and you might as well call
that person a sysadmin (ie, they understand Apache config files, package
installation on Ubuntu, etc). However it's quite possible that this is
going to change over time to the point where we'll see programs shipped
with Chef or Puppet recipes to install them in standard setups. At that
point you won't need any special knowledge to go from, say, writing
a Django-based application to installing it on the virtualization
environment of your choice. This really will be the end of developers
needing conventional sysadmins in order to get stuff done.&lt;/p&gt;

&lt;p&gt;The general issue of the amount of hardware in a small business (and
virtualizing the hardware) ties into a larger question of how much
hardware the business of the future is going to need or want, but that's
a different entry. I will just observe that the amount of servers that
you need for a given amount of functionality has been steadily shrinking
for years.&lt;/p&gt;

&lt;h3&gt;Sidebar: what virtualization does change now&lt;/h3&gt;

&lt;p&gt;I think that plain virtualization does mark a sea change today in one
way: it moves sysadmins away from a model of upgrading OSes to a
model of recreating their customizations on top of a new version of the
OS.  Possibly it moves away from upgrading software versions in general
to 'build new install with new software versions from scratch, then
configure'.&lt;/p&gt;

&lt;p&gt;This is partly because the common virtualization model is 'provide base
OS version X image, you customize from there' and partly because most
virtualization makes it easy to build new server instances. It's much
easier to start a new Ubuntu 12.04 image than it is to find a spare
server to use as your 12.04 version of whatever.&lt;/p&gt;

&lt;p&gt;(Note that virtualization may not make it any easier to replace your
Ubuntu 10.04 server with a new 12.04 server; there are a host of low
level practical issues that you can still run into unless you already
have a sophisticated management environment built up.)&lt;/p&gt;

&lt;p&gt;I don't think that this is a huge change for system administration,
partly because this is pretty how much we've been doing things here for
years. We basically never upgrade servers in place; we always build new
servers from scratch. Among other things, it's much cleaner and more
reproduceable that way.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 06 Feb 2012 04:56:12 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: Link: Filenames.WTF</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/links/OnFileExtentsions</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/links/OnFileExtentsions</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Link: Filenames.WTF&lt;/h2&gt;

&lt;p&gt;In &lt;a href=&quot;http://www.dansdata.com/gz125.htm&quot;&gt;Filenames.WTF&lt;/a&gt;, Daniel Rutter
runs down the reasons first why paying attention to file extensions
is ridiculous, and then the reasons why it's still the best solution
to the problem that we have. Spoiler: it's because people have spent
decades creating file formats that suck.&lt;/p&gt;

&lt;p&gt;(&lt;a href=&quot;https://twitter.com/philiph/status/166280047731294208&quot;&gt;Via philliph on Twitter&lt;/a&gt;.)&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 06 Feb 2012 00:28:08 +0000</pubDate>
</item>
<item>
	<title>Racker Hacker: The Kerberos-hater's guide to installing Kerberos</title>
	<guid>http://rackerhacker.com/?p=2949</guid>
	<link>http://rackerhacker.com/2012/02/05/the-kerberos-haters-guide-to-installing-kerberos/</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://cdn.rackerhacker.com/wp-content/uploads/2012/02/haters_gonna_hate_elephhant.jpg&quot;&gt;&lt;img src=&quot;http://cdn.rackerhacker.com/wp-content/uploads/2012/02/haters_gonna_hate_elephhant-238x300.jpg&quot; alt=&quot;Haters gonna hate - elephant&quot; title=&quot;Haters gonna hate - elephant&quot; width=&quot;171&quot; height=&quot;216&quot; class=&quot;alignright size-medium wp-image-2953&quot; /&gt;&lt;/a&gt;As promised in my earlier post entitled &lt;a href=&quot;http://rackerhacker.com/2012/02/02/kerberos-for-haters/&quot;&gt;Kerberos for haters&lt;/a&gt;, I've assembled the simplest possible guide to get Kerberos up an running on two CentOS 5 servers.&lt;/p&gt;
&lt;p&gt;Also, I don't really &lt;em&gt;hate&lt;/em&gt; Kerberos.  It's a bit of an inside joke with my coworkers who are studying for some of the &lt;a href=&quot;http://www.redhat.com/training/certifications/rhca/&quot;&gt;RHCA&lt;/a&gt; exams at Rackspace.  The additional security provided by Kerberos is quite good but the setup involves a lot of small steps.  If you miss one of the steps or if you get something done out of order, you may have to scrap the whole setup and start over unless you can make sense of the errors in the log files.  A lot of my dislikes for Kerberos comes from the number of steps required in the setup process and the difficulty in tracking down issues when they crop up.&lt;/p&gt;
&lt;p&gt;To complete this guide, you'll need the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;two CentOS, Red Hat Enterprise Linux or Scientific Linux 5 servers or VM's&lt;/li&gt;
&lt;li&gt;some patience&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Here's how I plan to name my servers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;kdc.example.com&lt;/strong&gt; - the Kerberos KDC server at 192.168.250.2&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;client.example.com&lt;/strong&gt; - the Kerberos client at 192.168.250.3&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;CRITICAL STEP:&lt;/strong&gt; Before getting started, ensure that both systems have their hostnames properly set and both systems have the hostnames and IP addresses of both systems in &lt;code&gt;/etc/hosts&lt;/code&gt;.  Your server and client must be able to know the IP and hostname of the other system as well as themselves.&lt;/p&gt;
&lt;p&gt;First off, we will need &lt;a href=&quot;http://en.wikipedia.org/wiki/Network_Information_Service&quot;&gt;NIS&lt;/a&gt; working to serve up the user information for our client.  Install the NIS server components on the KDC server:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# yum install ypserv&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Set the NIS domain and set a static port for &lt;code&gt;ypserv&lt;/code&gt; to make it easier to firewall off.  Edit &lt;code&gt;/etc/sysconfig/network&lt;/code&gt; on the KDC server:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;NISDOMAINNAME=EXAMPLE.COM
YPSERV_ARGS=&amp;quot;-p 808&amp;quot;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Manually set the NIS domain on the KDC server and add it to &lt;code&gt;/etc/yp.conf&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# nisdomain EXAMPLE.COM
[root@kdc ~]# echo &amp;quot;domain EXAMPLE.COM server kdc.example.com&amp;quot; &amp;gt;&amp;gt; /etc/yp.conf&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Adjust &lt;code&gt;/var/yp/securenets&lt;/code&gt; on the KDC server for additional security:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# echo &amp;quot;255.0.0.0 127.0.0.0&amp;quot; &amp;gt;&amp;gt; /var/yp/securenets
[root@kdc ~]# echo &amp;quot;255.255.255.0 192.168.250.0&amp;quot; &amp;gt;&amp;gt; /var/yp/securenets&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Start the NIS server and generate the NIS maps:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# /etc/init.d/ypserv start; chkconfig ypserv on
[root@kdc ~]# make -C /var/yp&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I usually like to prepare my iptables rules ahead of time so I ensure that it doesn't derail me later on.  Paste this into the KDC's terminal:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;iptables -N SERVICES
iptables -I INPUT -j SERVICES
iptables -A SERVICES -p tcp --dport 111 -j ACCEPT -m comment --comment &amp;quot;rpc&amp;quot;
iptables -A SERVICES -p udp --dport 111 -j ACCEPT -m comment --comment &amp;quot;rpc&amp;quot;
iptables -A SERVICES -p tcp --dport 808 -j ACCEPT -m comment --comment &amp;quot;nis&amp;quot;
iptables -A SERVICES -p udp --dport 808 -j ACCEPT -m comment --comment &amp;quot;nis&amp;quot;
iptables -A SERVICES -p tcp --dport 88 -j ACCEPT -m comment --comment &amp;quot;kerberos&amp;quot;
iptables -A SERVICES -p udp --dport 88 -j ACCEPT -m comment --comment &amp;quot;kerberos&amp;quot;
iptables -A SERVICES -p udp --dport 464 -j ACCEPT -m comment --comment &amp;quot;kerberos&amp;quot;
iptables -A SERVICES -p tcp --dport 749 -j ACCEPT -m comment --comment &amp;quot;kerberos&amp;quot;
/etc/init.d/iptables save&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We need our time in sync for Kerberos to work properly.  Install NTP on both nodes, start it, and ensure it comes up at boot time:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# yum -y install ntp &amp;amp;&amp;amp; chkconfig ntpd on &amp;amp;&amp;amp; /etc/init.d/ntpd start
[root@client ~]# yum -y install ntp &amp;amp;&amp;amp; chkconfig ntpd on &amp;amp;&amp;amp; /etc/init.d/ntpd start&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now we're ready to set up Kerberos.  Start by installing some packages on the KDC:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# yum install krb5-server krb5-workstation&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We will need to make some edits to &lt;code&gt;/etc/krb5.conf&lt;/code&gt; on the KDC to set up our KDC realm.  Ensure that the &lt;code&gt;default_realm&lt;/code&gt; is set:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;default_realm = EXAMPLE.COM&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;[realms]&lt;/code&gt; section should look like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[realms]
EXAMPLE.COM = {
	kdc = 192.168.250.2:88
	admin_server = 192.168.250.2:749
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The &lt;code&gt;[domain_realm]&lt;/code&gt; section should look like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[domain_realm]
kdc.example.com = EXAMPLE.COM
client.example.com = EXAMPLE.COM&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Add &lt;code&gt;validate = true&lt;/code&gt; within the &lt;code&gt;pam { }&lt;/code&gt; block of the &lt;code&gt;[appdefaults]&lt;/code&gt; section:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[appdefaults]
 pam = {
   validate = true&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Adjust &lt;code&gt;/var/kerberos/krb5kdc/kdc.conf&lt;/code&gt; on the KDC:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[realms]
EXAMPLE.COM = {
	master_key_type = des-hmac-sha1
	default_principal_flags = +preauth
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There's one last configuration file to edit on the KDC!  Ensure that &lt;code&gt;/var/kerberos/krb5kdc/kadm5.acl&lt;/code&gt; looks like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;*/admin@EXAMPLE.COM	    *&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;We're now ready to make a KDC database to hold our sensitive Kerberos data.  Create the database and set a good password which you can remember.  This command also stashes your password on the KDC so you don't have to enter it each time you start the KDC:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;kdb5_util create -r EXAMPLE.COM -s&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On the KDC, create a principal for the admin user as well as user1 (which we'll create shortly).  Also, export the admin details to the kadmind key tab.  You'll get some extra output after each one of these commands but I've snipped it to reduce the length of the post.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# kadmin.local
kadmin.local:  addprinc root/admin
kadmin.local:  addprinc user1
kadmin.local:  ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/admin
kadmin.local:  ktadd -k /var/kerberos/krb5kdc/kadm5.keytab kadmin/changepw
kadmin.local:  exit&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Let's start the Kerberos KDC and kadmin daemons:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# /etc/init.d/krb5kdc start; /etc/init.d/kadmin start
[root@kdc ~]# chkconfig krb5kdc on; chkconfig kadmin on&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Now that the administration work is done, let's create a principal for our KDC server and stick it in it's keytab:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# kadmin.local
kadmin.local:  addprinc -randkey host/kdc.example.com
kadmin.local:  ktadd host/kdc.example.com&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Transfer your &lt;code&gt;/etc/krb5.conf&lt;/code&gt; from the KDC server to the client.  Hop onto the client server, install the Kerberos client package and add some host principals:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@client ~]# yum install krb5-workstation
[root@client ~]# kadmin.local
kadmin.local:  addpinc --randkey host/client.example.com
kadmin.local:  ktadd host/kdc.example.com&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;There aren't any daemons on the client side, so the configuration is pretty much wrapped up there for Kerberos.  However, we now need to tell both servers to use Kerberos for auth and your client servers needs to use NIS to get user data.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;On the KDC:
&lt;ul&gt;
&lt;li&gt;run &lt;code&gt;authconfig-tui&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;choose &lt;b&gt;Use Kerberos&lt;/b&gt; from the second column&lt;/li&gt;
&lt;li&gt;press &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;don't edit the configuration (authconfig got the data from &lt;code&gt;/etc/krb.conf&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;press &lt;b&gt;OK&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;On the client:
&lt;ul&gt;
&lt;li&gt;run &lt;code&gt;authconfig-tui&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;choose &lt;b&gt;Use NIS&lt;/b&gt; and &lt;b&gt;Use Kerberos&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;press &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;enter your NIS domain (EXAMPLE.COM) and NIS server (kdc.example.com or 192.168.250.2)&lt;/li&gt;
&lt;li&gt;press &lt;b&gt;Next&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;don't edit the Kerberos configuration (authconfig got the data from &lt;code&gt;/etc/krb.conf&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;press &lt;b&gt;OK&lt;/b&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;b&gt;Got NIS problems?&lt;/b&gt;  If the NIS connection stalls on the client, ensure that you have the iptables rules present on the KDC that we added near the beginning of this guide.  Also, if you forgot to add &lt;b&gt;both&lt;/b&gt; hosts to &lt;b&gt;both&lt;/b&gt; servers' &lt;code&gt;/etc/hosts&lt;/code&gt;, go do that now.&lt;/p&gt;
&lt;p&gt;Let's make our test user on the KDC.  &lt;b&gt;Don't add this user to the client&lt;/b&gt; -- we'll get the user information via NIS and authenticate via Kerberos shortly.  We'll also rebuild our NIS maps after adding the user:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@kdc ~]# useradd user1
[root@kdc ~]# passwd user1
[root@kdc ~]# make -C /var/yp/&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On the client, see if you can get the password hash for the user1 account via NIS:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@client ~]# ypcat -d EXAMPLE.COM -h kdc.example.com passwd | grep user1
user1:$1$sUlSTlCv$riK5El3z8N4y.mi5Fe3Q60:500:500::/home/user1:/bin/bash&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;You can see why NIS isn't a good way to authenticate users.  Someone could easily pull the hash for any account and brute force the hash on their own server.  Go back to the KDC and lock out the user account:&lt;/p&gt;
&lt;pre&gt;
[root@kdc ~]# usermod -p '!!' user1
&lt;/pre&gt;
&lt;p&gt;Go back to the client and try to pull the password hash now:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@client ~]# ypcat -d EXAMPLE.COM -h kdc.example.com passwd | grep user1
user1:!!:500:500::/home/user1:/bin/bash&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;On the plus side, the user's password hash is now gone.  On the negative side, you've just prevented this user from logging in locally or via NIS. Don't worry, the user can log in via Kerberos now.  Let's prepare a home directory on the client for the user:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@client ~]# mkdir /home/user1
[root@client ~]# cp -av /etc/skel/.bash* /home/user1/
[root@client ~]# chown -R user1:user1 /home/user1/&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Note: In a real-world scenario, you'd probably want to export this user's home directory via NFS so they didn't get a different home directory on every server.&lt;/p&gt;
&lt;p&gt;While you're still on the client, try to log into the client via the user.  Use the password that you used when you created the user1 principal on the KDC.&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[root@client ~]# ssh user1@localhost
user1@localhost's password:
[user1@client ~]$ whoami
user1&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;List your Kerberos tickets and you should see one for your user principal:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[user1@client ~]$ klist
Ticket cache: FILE:/tmp/krb5cc_500_fCKPnZ
Default principal: user1@EXAMPLE.COM
&amp;nbsp;
Valid starting     Expires            Service principal
02/05/12 14:18:53  02/06/12 00:18:53  krbtgt/EXAMPLE.COM@EXAMPLE.COM
	renew until 02/05/12 14:18:53&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Your KDC should have a couple of lines in its &lt;code&gt;/var/log/krb5kdc.log&lt;/code&gt; showing the authentication:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;Feb 05 14:18:53 kdc.example.com krb5kdc[4694](info): AS_REQ (12 etypes {18 17 16 23 1 3 2 11 10 15 12 13}) 192.168.250.3: ISSUE: authtime 1328473133, etypes {rep=16 tkt=16 ses=16}, user1@EXAMPLE.COM for krbtgt/EXAMPLE.COM@EXAMPLE.COM
Feb 05 14:18:53 kdc.example.com krb5kdc[4694](info): TGS_REQ (7 etypes {18 17 16 23 1 3 2}) 192.168.250.3: ISSUE: authtime 1328473133, etypes {rep=16 tkt=18 ses=18}, user1@EXAMPLE.COM for host/client.example.com@EXAMPLE.COM&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The first line shows that the client asked for a Authentication Server Request (AS_REQ) and the second line shows that the client then asked for a Ticket Granting Server Request (TGS_REQ).  In layman's terms, the client first asked for a ticket-granting ticket (TGT) so it could authenticate to other services.  When it actually tried to log in via &lt;code&gt;ssh&lt;/code&gt; it asked for a ticket (and received it).&lt;/p&gt;
&lt;p&gt;&lt;b&gt;YOU JUST CONFIGURED KERBEROS!&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;From here, the sky's the limit.  Another popular implementation of Kerberos is encrypted NFSv4.  You can even go crazy and use &lt;a href=&quot;http://wiki.centos.org/HowTos/HttpKerberosAuth&quot;&gt;Kerberos with apache&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Let me know if you have any questions about this post or if you spot any errors.  With this many steps, there's bound to be a typo or two in this guide.  Keep in mind that there are some obvious spots for network-level and service-level security improvements.  This guide was intended to give you the basics and it doesn't cover all of the security implications involved with a Kerberos implementation.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/02/05/the-kerberos-haters-guide-to-installing-kerberos/&quot;&gt;The Kerberos-hater's guide to installing Kerberos&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 05 Feb 2012 21:03:52 +0000</pubDate>
</item>
<item>
	<title>Steve Kemp's Blog: Some domains just don't learn</title>
	<guid>http://blog.steve.org.uk/some_domains_just_don_t_learn.html</guid>
	<link>http://blog.steve.org.uk/some_domains_just_don_t_learn.html</link>
	<description>&lt;p&gt;For the past few years the &lt;a href=&quot;http://www.steve.org.uk/Software/ms-lite/&quot;&gt;anti-spam system I run&lt;/a&gt; has been based on a simplified version of something I previously ran commercially.&lt;/p&gt;
&lt;p&gt;Although the code is similar in intent there were both explicit feature removals, and simplifications made.&lt;/p&gt;
&lt;p&gt;Last month I &lt;a href=&quot;http://repository.steve.org.uk/cgi-bin/hgwebdir.cgi/ms-lite/rev/d8f232f37d88&quot;&gt;re-implimented domain-blacklisting&lt;/a&gt; - because a single company keeps ignoring requests to remove me.&lt;/p&gt;
&lt;p&gt;So LinkedIn.com if you're reading this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;I've never had an account on your servers.&lt;/li&gt;
&lt;li&gt;I find your junk mail annoying.&lt;/li&gt;
&lt;li&gt;I suspect I'll join your site/service when hell freezes over.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I've also implemented TLD-blacklisting which has been useful.&lt;/p&gt;
&lt;blockquote&gt;
 &lt;p&gt;TLD-blacklisting in my world is not about blocking mail from foo@bar.ph (whether in the envelope sender, or the from: header), instead it is about matching the reverse DNS of the connecting client.&lt;/p&gt;
 &lt;p&gt;If I recieve a connection from 1.2.3.4 and the reverse DNS of that IP address matches, say, /\.sa$/i then I default to denying it.&lt;/p&gt;
 &lt;p&gt;My real list is longer, and handled via files:&lt;/p&gt;
&lt;pre&gt;
steve@steve:~$ ls /srv/_global_/blacklisted/tld/ -C
ar  br  cn  eg  hr  in  kr  lv  mn  np  ph  ro  sg  tg  ua  ve  zw
aw  cc  cy  gm  hu  is  kz  ma  my  nu  pk  rs  sk  th  ug  vn
be  ch  cz  gr  id  it  lk  md  mz  nz  pl  ru  su  tr  uy  ws
bg  cl  ec  hk  il  ke  lt  mk  no  om  pt  sa  sy  tw  uz  za
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;On average I'm rejecting about 2500 messagse a day at SMTP-time, and 30 messages, or so, hit my SPAM folder after being filtered with CRM114 after being accepted for delivery.  (They are largely from @hotmail and @yahoo, along with random compromised machines.  The amount of times I see a single mail from a host with RDNS mysql.example.org is staggering.).&lt;/p&gt;
&lt;p&gt;(Still looking forward to the development of &lt;a href=&quot;https://github.com/baudehlo/Haraka&quot;&gt;Haraka&lt;/a&gt;, a node.js version of qpsmtpd.)&lt;/p&gt;
&lt;p&gt;ObQuote: &quot;Mr. Mystery Guest? Are you still there? &quot; - Die Hard&lt;/p&gt;</description>
	<pubDate>Sun, 05 Feb 2012 13:24:44 +0000</pubDate>
</item>
<item>
	<title>Anton Chuvakin - Security Warrior: Links for 2012-02-04 [del.icio.us]</title>
	<guid>http://del.icio.us/anton18#2012-02-04</guid>
	<link>http://feedproxy.google.com/~r/AntonChuvakinPersonalBlog/~3/7ZwEv7Xa_fc/anton18</link>
	<description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.infosecisland.com/blogview/19919-The-Valley-of-Death-Between-IT-and-Security.html&quot;&gt;The Valley of Death Between IT and Security&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/7ZwEv7Xa_fc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 05 Feb 2012 08:00:00 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: What five years of PC technology changed for me</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/tech/FiveYearsPCChanges</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/tech/FiveYearsPCChanges</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;What five years of PC technology changed for me&lt;/h2&gt;

&lt;p&gt;This fall I got &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/HomeMachine2011&quot;&gt;a new home machine&lt;/a&gt;, just
a bit over exactly five years after I got &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/PowerConsumptionII&quot;&gt;my previous home machine&lt;/a&gt;. It happens that I saved the invoice
for my five year old machine, so I dug it out today in order to do a
comparison about what five years of progress in PC technology did and
didn't change for me.&lt;/p&gt;

&lt;p&gt;First off, the progress of five years got me much better prices. My
recent home machine cost me only about 60% of what my old home machine
did. By itself, this is pretty impressive. Apart from that, running
down the major components:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;&lt;strong&gt;CPU&lt;/strong&gt;: AMD dual core versus much faster Intel quad core. The Intel CPU
was cheaper but not by a substantial amount; I think the AMD was
probably closer to the high end at the time. I don't know what
the benchmark results are, but &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/ChangingComputerPerformance&quot;&gt;I got a substantial performance
improvement&lt;/a&gt;.&lt;p&gt;
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;RAM&lt;/strong&gt;: This is perhaps the most striking change on a purely
numerical level; in 2006 I got 2GB of RAM for more than twice as
much as what 16 GB of RAM cost me in 2011. Even in 2006, 2 GB was
clearly economizing (I remember debating with myself over 2 GB
versus the extra money for 4 GB and deciding that 2 GB should be
good enough). In 2011, 16 GB is as much as the motherboard will
take with current DIMM densities.&lt;p&gt;
In short, &lt;strong&gt;desktop RAM has become stupid cheap&lt;/strong&gt;.&lt;p&gt;
(One index of the change is that in 2006, the 2 GB of RAM cost more
than the CPU and was the most expensive single component. In 2011, the
16 GB cost only a bit over half of the CPU.)&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;motherboard: the modern era features more SATA, less IDE, more USB,
and not even one external serial port. Motherboards are unexciting.
Even in 2006 the motherboard had onboard sound and gigabit Ethernet.
The 2011 motherboard probably has better onboard sound, but in practice
this doesn't matter to me; my sound needs are modest.&lt;p&gt;
(The 2006 motherboard was a bit cheaper than the 2011 motherboard,
but neither were particularly expensive or advanced ones.)&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Hard drives changed only moderately at one level; in 2006 I got
320 GB drives for somewhat over twice what 2011's 500 GB drives
cost me. In 2011, 500 GB drives are nowhere near state of the
art; in 2006, 320 GB drives were not that far out of it.&lt;p&gt;
(This was before the floods in Thailand.)&lt;p&gt;
On another level, they changed a lot. The 320 GB hard drives of 2006
were my only storage. The 500 GB drives of 2011 are only for the
operating system; my data lives on a pair of 1.5 TB drives (that I
had upgraded to some time ago). 500 GB is way overkill for the OS,
but there's no real point in using drives that are any smaller; it's
not like I'd have saved any significant amount of money.&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Video card: ATI X800 GT versus ATI HD 5450 with double the memory
for less than a third of the price. &lt;a href=&quot;http://www.tomshardware.com/reviews/fastest-graphics-card-radeon-geforce,3085-7.html&quot;&gt;Toms Hardware&lt;/a&gt;
theoretically puts these two cards in almost the same performance
category, although I'm not sure that's really true. In practice, what
happened between 2006 and 2011 is that graphics cards shifted to the
point where a basic passively cooled card was clearly more than good
enough for what I was doing, even for driving dual displays digitally.&lt;p&gt;
(I don't yet have dual displays at home, but I do at work and my work
machine uses the same card. In fact, my work machine is now a clone of
my home machine, just as it was in 2006.)&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;optical drives: in 2006 a DVD burner cost about four times what it
did in 2011, and I thought I would listen to CDs enough to justify
having a separate CD/DVD reader (rather than put wear and tear on an
expensive burner).&lt;p&gt;
(I was wrong; my CD listening had already dropped off a cliff in early
2006 and never recovered. I still kind of miss that sometimes.)&lt;p&gt;
&lt;/p&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;Power supply: in 2006 I didn't trust the power supply that came with
the case to really be a good solid one that delivered enough power
so I bought a separate one as well. In 2011 I couldn't find any
reason to worry about it so I didn't; the power supply you get
with a decent quiet case these days is going to be quite good,
more than you need (for a PC like the kind I build), and efficient.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In 2006, the most expensive components were the RAM, the CPU, the
two hard drives together, and then the video card. In 2011, the most
expensive components were the CPU, the motherboard, and the case (more
or less tying with the RAM).  Another way to put it is that in 2011, the
video card, the DVD burner, the hard drives, and pretty much the RAM
were all what I considered trivial expenses in the overall machine.&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt; (&lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/FiveYearsPCChanges?showcomments#comments&quot;&gt;One comment&lt;/a&gt;.) &lt;/div&gt;</description>
	<pubDate>Sun, 05 Feb 2012 07:28:44 +0000</pubDate>
</item>
<item>
	<title>My SysAd Blog: How to Exclude a Directory for TAR</title>
	<guid>tag:blogger.com,1999:blog-34516211.post-7375784220863064073</guid>
	<link>http://feedproxy.google.com/~r/MySysadBlog--Unix/~3/oYKM6l87XBU/how-to-exclude-directory-for-tar.html</link>
	<description>&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/e3ZEnlDsc8f_GfIav1m_93M63vg/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/e3ZEnlDsc8f_GfIav1m_93M63vg/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/e3ZEnlDsc8f_GfIav1m_93M63vg/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/e3ZEnlDsc8f_GfIav1m_93M63vg/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;I am doing a few aesthetic upgrades, so naturally I want to backup some of my website files. However, I do not want everything, i.e. transient files such images. I  tarred up the website's primary directory but excluded its images sub-directory. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Frankly speaking, I did not want to waste time and bandwidth downloading images.  Here is the syntax to exclude a directory.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;# tar cvfp mytarball.tar  /mypath/Example.com_DIR  --exclude=/mypath/Example.com_DIR/images&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Tar everything in the current directory but exclude two files&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;# tar cvpf mytar.tar  * --exclude=index.html --exclude=myimage.png&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/34516211-7375784220863064073?l=www.mysysad.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/MySysadBlog--Unix/~4/oYKM6l87XBU&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Sun, 05 Feb 2012 04:35:41 +0000</pubDate>
	<author>noreply@blogger.com (esofthub)</author>
</item>
<item>
	<title>Racker Hacker: Get notifications instead of automatic updates in Scientific Linux</title>
	<guid>http://rackerhacker.com/?p=2928</guid>
	<link>http://rackerhacker.com/2012/02/04/get-notifications-instead-of-automatic-updates-in-scientific-linux/</link>
	<description>&lt;p&gt;Scientific Linux installations have a package called &lt;code&gt;yum-autoupdate&lt;/code&gt; by default and the package contains two files:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;# rpm -ql yum-autoupdate
/etc/cron.daily/yum-autoupdate
/etc/sysconfig/yum-autoupdate&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The cron job contains the entire script to run automatic updates once a day and the configuration file controls its behavior.  However, you can't get the same functionality as Fedora's &lt;code&gt;yum-updatesd&lt;/code&gt; package where you can receive notifications for updates rather than automatically updating the packages.&lt;/p&gt;
&lt;p&gt;To get those notifications in Scientific Linux, just make two small edits to this portion of &lt;code&gt;/etc/cron.daily/yum-autoupdate&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;173&lt;/span&gt;           &lt;span&gt;echo&lt;/span&gt; &lt;span&gt;&amp;quot;    Starting Yum with command&amp;quot;&lt;/span&gt;
&lt;span&gt;174&lt;/span&gt;           &lt;span&gt;echo&lt;/span&gt; &lt;span&gt;&amp;quot;     /usr/bin/yum -c &lt;span&gt;$TEMPCONFIGFILE&lt;/span&gt; -e 0 -d 1 -y update&amp;quot;&lt;/span&gt;         
&lt;span&gt;175&lt;/span&gt;   &lt;span&gt;fi&lt;/span&gt;
&lt;span&gt;176&lt;/span&gt;   &lt;span&gt;/&lt;/span&gt;usr&lt;span&gt;/&lt;/span&gt;bin&lt;span&gt;/&lt;/span&gt;yum &lt;span&gt;-c&lt;/span&gt; &lt;span&gt;$TEMPCONFIGFILE&lt;/span&gt; &lt;span&gt;-e&lt;/span&gt; &lt;span&gt;0&lt;/span&gt; &lt;span&gt;-d&lt;/span&gt; &lt;span&gt;1&lt;/span&gt; &lt;span&gt;-y&lt;/span&gt; update &lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;$TEMPFILE&lt;/span&gt; &lt;span&gt;2&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;
&lt;span&gt;177&lt;/span&gt;   &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#91;&lt;/span&gt; &lt;span&gt;-s&lt;/span&gt; &lt;span&gt;$TEMPFILE&lt;/span&gt; &lt;span&gt;&amp;#93;&lt;/span&gt; ; &lt;span&gt;then&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Adjust the &lt;code&gt;update&lt;/code&gt; commands to look like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;bash&quot;&gt;&lt;span&gt;173&lt;/span&gt;           &lt;span&gt;echo&lt;/span&gt; &lt;span&gt;&amp;quot;    Starting Yum with command&amp;quot;&lt;/span&gt;
&lt;span&gt;174&lt;/span&gt;           &lt;span&gt;echo&lt;/span&gt; &lt;span&gt;&amp;quot;     /usr/bin/yum -c &lt;span&gt;$TEMPCONFIGFILE&lt;/span&gt; -e 0 -d 1 -y check-update&amp;quot;&lt;/span&gt;         
&lt;span&gt;175&lt;/span&gt;   &lt;span&gt;fi&lt;/span&gt;
&lt;span&gt;176&lt;/span&gt;   &lt;span&gt;/&lt;/span&gt;usr&lt;span&gt;/&lt;/span&gt;bin&lt;span&gt;/&lt;/span&gt;yum &lt;span&gt;-c&lt;/span&gt; &lt;span&gt;$TEMPCONFIGFILE&lt;/span&gt; &lt;span&gt;-e&lt;/span&gt; &lt;span&gt;0&lt;/span&gt; &lt;span&gt;-d&lt;/span&gt; &lt;span&gt;1&lt;/span&gt; &lt;span&gt;-y&lt;/span&gt; check-update &lt;span&gt;&amp;gt;&lt;/span&gt; &lt;span&gt;$TEMPFILE&lt;/span&gt; &lt;span&gt;2&lt;/span&gt;&lt;span&gt;&amp;gt;&amp;amp;&lt;/span&gt;&lt;span&gt;1&lt;/span&gt;
&lt;span&gt;177&lt;/span&gt;   &lt;span&gt;if&lt;/span&gt; &lt;span&gt;&amp;#91;&lt;/span&gt; &lt;span&gt;-s&lt;/span&gt; &lt;span&gt;$TEMPFILE&lt;/span&gt; &lt;span&gt;&amp;#93;&lt;/span&gt; ; &lt;span&gt;then&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Since you won't be auto-updating with this script any longer, you may want to comment out the &lt;code&gt;EXCLUDE=&lt;/code&gt; line in &lt;code&gt;/etc/sysconfig/yum-autoupdate&lt;/code&gt; so that you'll receive notifications for all packages with updates.  Also, to avoid having your changes updated with a newer &lt;code&gt;yum-autoupdate&lt;/code&gt; package later, add the package to your list of excluded packages in &lt;code&gt;/etc/yum.conf&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/02/04/get-notifications-instead-of-automatic-updates-in-scientific-linux/&quot;&gt;Get notifications instead of automatic updates in Scientific Linux&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 19:01:54 +0000</pubDate>
</item>
<item>
	<title>TaoSecurity: Impressions: Network Warrior, 2nd Ed</title>
	<guid>tag:blogger.com,1999:blog-4088979.post-5058946238126313348</guid>
	<link>http://taosecurity.blogspot.com/2012/02/impressions-network-warrior-2nd-ed.html</link>
	<description>&lt;img src=&quot;http://ecx.images-amazon.com/images/I/51l1XTmaUkL._AA200.jpg&quot; align=&quot;left&quot; /&gt;Five years ago I reviewed the first edition of &lt;a href=&quot;http://taosecurity.blogspot.com/2007/07/another-review-another-pre-review_17.html&quot;&gt;Network Warrior&lt;/a&gt; by Gary A. Donahue.  Thank to O'Reilly I can post my &quot;impressions&quot; of the second edition of this great book.  Although I read almost all of it, I am unable to post another review because Amazon.com has my previous review attached to the new edition.&lt;p&gt;In brief, Network Warrior, 2nd Ed is the book to read if you are a network administrator trying to get to the next level.  All of my praise from the previous review apply to the new book.  The book is really that good, primarily because it combines very clear explanations with healthy doses of real-world experience.  Thanks to Mr Donahue for taking the time to update his book!&lt;p&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot;&gt;Tweet&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2011 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4088979-5058946238126313348?l=taosecurity.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 15:18:01 +0000</pubDate>
	<author>noreply@blogger.com (Richard Bejtlich)</author>
</item>
<item>
	<title>TaoSecurity: Impressions: Windows Sysinternals Administrator's Reference</title>
	<guid>tag:blogger.com,1999:blog-4088979.post-6924512416289179389</guid>
	<link>http://taosecurity.blogspot.com/2012/02/impressions-windows-sysinternals.html</link>
	<description>&lt;img src=&quot;http://ecx.images-amazon.com/images/I/513QZ7WzvNL._AA200.jpg&quot; align=&quot;left&quot; /&gt;Mark Russinovich and Aaron Margosis have written another awesome addition to the Microsoft Press catalog, &lt;a href=&quot;http://technet.microsoft.com/en-us/sysinternals/hh290819&quot;&gt;Windows Sysinternals Administrator's Reference&lt;/a&gt;.  Per my policy, because I did not read the whole book I am only posting &quot;impressions&quot; here and not a full &lt;a href=&quot;http://www.amazon.com/gp/cdp/member-reviews/A2ZVOU9X5W2S47/&quot;&gt;Amazon.com review&lt;/a&gt;.&lt;p&gt;In brief this book will tell you more about the awesome Sysinternals tools than you might have thought possible.  One topic that caught my attention was using Process Monitor to summarize network activity (p 139). This reminded me of &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/bb968803%28v=vs.85%29.aspx&quot;&gt;Event Tracing for Windows&lt;/a&gt; and &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/dd569136%28v=vs.85%29.aspx&quot;&gt;Network Tracing in Windows 7&lt;/a&gt;.  I remain interested in this capability because it can be handy for incident responders to collect network traffic on endpoints without installing new software, relying instead on native OS capabilities.&lt;p&gt;I suggest keeping a copy of this book in your team library if you run a CIRT. Thorough knowledge of the Sysinternals tools is a great benefit to anyone trying to identify compromised Windows computers.&lt;p&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot;&gt;Tweet&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2011 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4088979-6924512416289179389?l=taosecurity.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 15:01:12 +0000</pubDate>
	<author>noreply@blogger.com (Richard Bejtlich)</author>
</item>
<item>
	<title>TaoSecurity: Impressions: The Tangled Web</title>
	<guid>tag:blogger.com,1999:blog-4088979.post-3119771784646940772</guid>
	<link>http://taosecurity.blogspot.com/2012/02/impressions-tangled-web.html</link>
	<description>&lt;img src=&quot;http://ecx.images-amazon.com/images/I/5114yPBpo3L._AA200.jpg&quot; align=&quot;left&quot; /&gt;Six years ago I reviewed Michal Zalewski's first book, &lt;a href=&quot;http://taosecurity.blogspot.com/2006/03/review-of-silence-on-wire-posted.html&quot;&gt;Silence on the Wire&lt;/a&gt;.  Michal is a security researcher who has consistently created high-quality content for a very long time, so I was pleased to receive a review copy of his newest book &lt;a href=&quot;http://www.nostarch.com/tangledweb.htm&quot;&gt;The Tangled Web&lt;/a&gt;.&lt;p&gt;I did not read the whole book, hence I'm posting only my &quot;impressions&quot; here.  I recommend reading this book if you want to know a lot, and I mean &lt;b&gt;a lot&lt;/b&gt;, about how screwed up Web browsers, protocols, and related technologies truly are.  Because many points of the book are tied to specific browser versions, I suspect its shelf life to degrade a little more rapidly than some other technical titles.  Still, I am shocked by the amount of research and documentation Michal performed to create The Tangled Web. &lt;p&gt;As always, Michal's content is highly readable, very detailed, and well-sourced.  It's a great example for other technical authors.  Great work Michal!&lt;p&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot;&gt;Tweet&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2011 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4088979-3119771784646940772?l=taosecurity.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 14:23:43 +0000</pubDate>
	<author>noreply@blogger.com (Richard Bejtlich)</author>
</item>
<item>
	<title>TaoSecurity: The Toughest Question in Digital Security</title>
	<guid>tag:blogger.com,1999:blog-4088979.post-1224029774803222461</guid>
	<link>http://taosecurity.blogspot.com/2012/02/toughest-question-in-digital-security.html</link>
	<description>&lt;img src=&quot;http://1.bp.blogspot.com/_Z-tqVTd9fPI/S1KHYGoUtnI/AAAAAAAABsw/fTl0YajolQk/s200/Chinese_draak.jpg&quot; align=&quot;left&quot; /&gt;The toughest question in digital security is &quot;who cares?&quot; &lt;p&gt;The recent &lt;a href=&quot;https://twitter.com/#!/4n6ir/status/165657525599993857&quot;&gt;Tweet by hogfly (@4n6ir)&lt;/a&gt; made me ponder this question.  He points to an Aviation Week story by David Fulghum, Bill Sweetman, and Amy Butler titled &lt;a href=&quot;http://www.aviationweek.com/aw/generic/story_generic.jsp?channel=awst&amp;id=news/awst/2012/02/06/AW_02_06_2012_p30-419987.xml&amp;headline=China%27s%20Role%20In%20JSF%27s%20Spiraling%20Costs&quot;&gt;China's Role In JSF's Spiraling Costs&lt;/a&gt;.  It says in part:&lt;p&gt;&lt;i&gt;&lt;b&gt;How much of the F-35 Joint Strike Fighter’s spiraling cost in recent years can be traced to China’s cybertheft of technology and the subsequent need to reduce the fifth-generation aircraft’s vulnerability to detection and electronic attack?&lt;/b&gt;&lt;p&gt;That is a central question that budget planners are asking, and their queries appear to have validity. Moreover, senior Pentagon and industry officials say other classified weapon programs are suffering from the same problem. Before the intrusions were discovered nearly three years ago, Chinese hackers actually sat in on what were supposed to have been secure, online program-progress conferences, the officials say.&lt;p&gt;The full extent of the connection is still being assessed, but there is consensus that &lt;b&gt;escalating costs, reduced annual purchases and production stretch-outs are a reflection to some degree of the need for redesign of critical equipment.&lt;/b&gt; Examples include specialized communications and antenna arrays for stealth aircraft, as well as significant rewriting of software to protect systems vulnerable to hacking.&lt;p&gt;&lt;b&gt;It is only recently that U.S. officials have started talking openly about how data losses are driving up the cost of military programs and creating operational vulnerabilities&lt;/b&gt;, although claims of a large impact on the Lockheed Martin JSF are drawing mixed responses from senior leaders. All the same, no one is saying there has been no impact.&lt;p&gt;While claiming ignorance of details about effects on the stealth strike aircraft program, James Clapper, director of national intelligence, says that Internet technology has “led to &lt;b&gt;egregious pilfering of intellectual capital and property&lt;/b&gt;. The F-35 was clearly a target,” he confirms.&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/i&gt;&lt;p&gt;The point of this article is to question the &lt;b&gt;impact&lt;/b&gt;, in business and operational terms, of the cyberwar China continues to prosecute against the West.&lt;p&gt;The toughest question in digital security is &quot;who cares&quot; because it is usually extremely difficult to determine the impact of an intrusion.  Consider the steps required to define the business and operational impact of the theft of intellectual property (as one example -- there are many others).&lt;p&gt;&lt;ol&gt;&lt;li&gt;The victim must learn that an intrusion occurred.&lt;/li&gt;&lt;li&gt;The victim must determine exactly what IP was stolen.&lt;/li&gt;&lt;li&gt;The victim must understand the adversary's capability and intention to exploit the stolen IP.&lt;/li&gt;&lt;li&gt;The victim must recognize when the adversary exploits the stolen IP by using it in an operational context.&lt;/li&gt;&lt;li&gt;The victim must determine what countermeasures or changes in courses of actions are possible to mitigate the adversary's exploitation of the stolen IP.&lt;/li&gt;&lt;li&gt;The victim must synthesize most or all of the previous points into an assessment of the business and operational cost of the IP theft.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Steps 1 and 2 are largely technical, but 3-6 are more business-focused.  From what I have seen, everyone who is a victim in the ongoing cyberwar struggles to conduct &quot;battle damage assessment&quot; (BDA) for digital intrusions.  Articles like the one I cited are examples showing how difficult it is to determine if anyone should care about China's exploitation of Western IP.&lt;p&gt;&lt;a href=&quot;http://twitter.com/share&quot; class=&quot;twitter-share-button&quot;&gt;Tweet&lt;/a&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;Copyright 2003-2011 Richard Bejtlich and TaoSecurity (taosecurity.blogspot.com and www.taosecurity.com)&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/4088979-1224029774803222461?l=taosecurity.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 04 Feb 2012 13:35:30 +0000</pubDate>
	<author>noreply@blogger.com (Richard Bejtlich)</author>
</item>
<item>
	<title>Chris Siebenmann: Understanding a subtle Twitter feature</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/tech/TwitterVolumeLimit</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/tech/TwitterVolumeLimit</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Understanding a subtle Twitter feature&lt;/h2&gt;

&lt;p&gt;One part of getting on Twitter has been following people, which led me
to discover that when you follow someone Twitter doesn't show you all
of their public tweets. To summarize what I think is the rule, Twitter
excludes any conversations they're having that purely involve other
people you don't also follow. Their tweets in the conversation will
appear in their public timeline, but not in your view of their tweets.&lt;/p&gt;

&lt;p&gt;(This may only apply to relatively new Twitter accounts, or even only to
some of them. I've seen Twitter give two different interfaces to two new
accounts.)&lt;/p&gt;

&lt;p&gt;On the one hand, when I discovered this I was infuriated. If you really
did want to see everything (for example, so you could find other people
to follow based on who your initial people had interesting conversations
with), this made having a Twitter account worse than just perusing the
Twitter pages of interesting people.&lt;/p&gt;

&lt;p&gt;On the other hand, once I thought about it more I've come to reluctantly
admire Twitter's trick with this feature. What it is, from my
perspective, is a clever way to reduce the volume impact of following
someone and thus make doing so less risky. Without it, following someone
would immediately expose you to both their general remarks and to the
full flow of whatever conversations they have. With Twitter's way, you
are only initially exposed to people's general remarks; you ramp up your
exposure to their conversations by following more people, and ramp it
down by the reverse.&lt;/p&gt;

&lt;p&gt;My feeling is that exposure to an overwhelming firehose of updates is
the general problem of social networking. Social networks usually want
you to be active and to follow lots of people. But if those people
are themselves active, the more people you follow the more volume
descends on you, and it's especially bad when you follow very socially
active users, the ones having a lot of conversations. This creates a
disincentive to follow people and pushes you to scale back. Twitter has
this especially badly because it has no separate 'comment' mechanism
(&lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/CommentVolumeControl&quot;&gt;comments are important for reducing volume&lt;/a&gt;).
Twitter's trick here is thus a clever way to reduce the firehose in a
natural way that doesn't require user intervention and tuning; you could
see it as a way of recreating something like comments in a system that
doesn't naturally have them.&lt;/p&gt;

&lt;p&gt;Once I realized this, it's certainly been working the way that Twitter
probably intended. When I'm considering whether or not to follow someone
I don't really look at the volume of their tweets in general; I mostly
look just at the volume of their non-conversation tweets, because those
are the only ones that I'm going to see. Often this makes me more
willing to follow people (and thereby furthers Twitter's overall goal of
getting me more engaged with their service).&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt; (&lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/TwitterVolumeLimit?showcomments#comments&quot;&gt;4 comments&lt;/a&gt;.) &lt;/div&gt;</description>
	<pubDate>Sat, 04 Feb 2012 03:49:10 +0000</pubDate>
</item>
<item>
	<title>USENIX Update: LISA’12: First Peek</title>
	<guid>http://blogs.usenix.org/?p=16192</guid>
	<link>http://blogs.usenix.org/2012/02/03/lisa12-first-peek/</link>
	<description>Now that the LISA&amp;#8217;12 Call for Papers is officially open, it&amp;#8217;s time to start getting officially excited about our 2012 event, which will be held in San Diego from December 9-14. In this interview, I asked LISA&amp;#8217;12 program chair Carolyn Rowland to give us a super early look at what&amp;#8217;s in store for LISA attendees [...]</description>
	<pubDate>Fri, 03 Feb 2012 18:34:05 +0000</pubDate>
</item>
<item>
	<title>HolisticInfoSec.org: toolsmith: Splunk app - Windows Security Operation Center</title>
	<guid>tag:blogger.com,1999:blog-20011960.post-7902102781283349443</guid>
	<link>http://holisticinfosec.blogspot.com/2012/02/toolsmith-splunk-app-windows-security.html</link>
	<description>&lt;br /&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Prerequisites&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Windows 2003, 2008, 7 &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Splunk (&lt;a href=&quot;http://www.splunk.com/download?r=header&quot; target=&quot;_blank&quot;&gt;Free or Enterprise&lt;/a&gt;)&lt;b&gt;&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNormal&quot;&gt;&lt;b&gt;Introduction&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;As a volunteer handler for the SANS Internet StormCenter, I am privileged to work with some incredibly bright, highly capableinformation security &lt;a href=&quot;http://isc.sans.edu/handler_list.html&quot; target=&quot;_blank&quot;&gt;professionals&lt;/a&gt;.&amp;nbsp;As saidindividuals create new tools or update those they maintain I have the advantageof early awareness and access. Bojan Zdrnja’s Splunk app, Windows Security OperationsCenter (referred to as WSOC hereafter) is a perfect example. By the time youread this a new version should be available on&lt;a href=&quot;http://splunk-base.splunk.com/apps/&quot; target=&quot;_blank&quot;&gt; Splunkbase&lt;/a&gt;.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Bojan bought me up to speed on his latest effort viaemail.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;The latest version of WSOC contains bug fixes (mainlyminor search tweaks) along with a couple of new dashboards: &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;1.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;Adashboard for up-to-date servers with patches&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;2.&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;!--[endif]--&gt;DirectoryServices dashboards&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;The Directory Services dashboards are very useful as theyshow changes to objects in AD including creations, deletions, and modifications.These views are excellent for auditors.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;In the future Bojan plans to add support for otherproducts normally found in Microsoft environments, including infrastructureelements such as DNS/DHCP, IIS, SQL server, and perhaps TMG. WSOC’s primarypurpose is to cover all potential security views an auditor or informationsecurity personnel might want purview of; there’ll be no run-of-the-mill operationalmonitoring here ;-).&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Bojan offered many favorite use cases. People are not alwaysaware of what's going on in their Windows environments. In almost everyimplementation he’s encountered he found automated tools/services filling logs inabundance. As an example, when the tool tries to access a resourceautomatically, it generates an AD authentication failure event and then itsuccessfully authenticates through NTLM. This causes logs to growsubstantially. The same dashboards can be used to easily spot infected machinesor brute force attacks on the network, thanks to Splunk's excellent visualizationcapabilities. WSOC includes a table that shows a distinct count of failed loginattempts per username per machine, so if a machine is brute forcing, even ifit's slow, you'll be able to see it.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Auditors are particularly fond of the user/group managementdashboards. They produce ready evidence, in one view, of which users were addedto which group. When coupled with change requests, yours becomes anorganization that is then better prepared for audits.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;The dashboard showing installed services supports this welltoo as any installed service should have an accompanied change request (seefurther discussion below). &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Bojan wanted to stress the missing patches dashboard asextremely valuable. This information is collected from the local Windows Updateagent on every server. Of course, in order for it to be accurate, the WindowsUpdate agent must be able to connect to WSUS or Microsoft's update server, butassuming it can, results will populate nicely showing servers that have missingpatches and those that are all up to date.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;b&gt;Windows SecurityOperation Center installation&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;You’ll need a Splunk installation to make use of WinSOC.I’ll assume you have some familiarity with Splunk and its installation. If not,ping me via russ at holisticinfosec dot org and I’ll send you copy of adetailed Splunk article I wrote for Admin magazine in June 2010. You can alsomake use of the extensive online Splunk documentation &lt;a href=&quot;http://docs.splunk.com/Documentation&quot; target=&quot;_blank&quot;&gt;resources&lt;/a&gt;. &amp;nbsp;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;A panoply of Splunk application goodness is available onthe Splunkbase site, WSOC &lt;a href=&quot;http://splunk-base.splunk.com/apps/24435/windows-security-operations-center&quot; target=&quot;_blank&quot;&gt;included&lt;/a&gt;.&amp;nbsp;For the easiestinstallation method, from the Splunk UI, click &lt;span&gt;App&lt;/span&gt;| &lt;span&gt;Find More Apps…&lt;/span&gt;, then searchWindows Security Operations Center followed by clicking the Install Freebutton.&amp;nbsp; &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Alternatively if you’ve acquired the .tar.gz for the appyou can, again via the Slunk UI navigate to &lt;span&gt;App&lt;/span&gt;| &lt;span&gt;Manage Apps…&lt;/span&gt; | &lt;span&gt;Install app from file&lt;/span&gt; and select theapp from the location you’ve downloaded it to. Installation is also possiblefrom the Splunk CLI.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Once installed WSOC will present itself from the Splunkmenu under &lt;span&gt;App&lt;/span&gt; as WindowsSecurity Operations Center. Once you’ve navigated to the WSOC app, options willinclude:&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;About&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Includestop sending servers, top source types, and contributing Domain Controllers (ifapplicable)&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Login Events&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;IncludesActive Directory, NTLM, and RDP successful and failed attempts&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Directory services&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Accessand changes&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;User management&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;UserAccount and Group Management&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Change Control&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;AdvancedActivity Monitor&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;WindowsInstallations and Patch Status Overviews&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;ProcessTracking&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;TimeSynchronization&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Windows firewall&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Configurationchanges&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Allowedand blocked connections&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Allowedand blocked binds&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Saved Searches&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Preconfiguredqueries, too plentiful to list&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;·&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;Search&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span&gt;o&lt;span&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;StandardSplunk search UI&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;You’ve got to remember to set your audit and loggingpolicies to be sure they capture the appropriate level of success and failure inorder to be properly indexed by Splunk from the security event &lt;a href=&quot;http://splunk-base.splunk.com/answers/26958/what-to-log-for-security&quot; target=&quot;_blank&quot;&gt;log&lt;/a&gt;.&amp;nbsp;Recognize the profound differences between Window Server 2003 and 2008 withspecial attention to Event IDs. WSOC is largely optimized for Windows 2008/7event types but can be tuned for older versions if you know how to manageSplunk app configurations and query parameters.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Remember too that you can configure Splunk as a lightforwarder (CLI only) on target Windows servers and send all events to a coreSplunk collector running WSOC, thus aggregating all events in one index and UI.Note the 500MB a day limitation on the free version of Splunk.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;b&gt;Using WindowsSecurity Operations Center&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;I ran WSOC through its paceson a Windows Server 2003 virtual machine image that I literally had not touchedin two years (prior snapshot: 9/11/09). With WSOC and Splunk installed Ipatched the VM and generated a number of different logon events via RDP andlocally. I also made changes to users and groups as well as updated browsers,Flash, and Java.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;WSOC smartly reported on allrelated activity.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Under &lt;span&gt;Change Control | Windows Installation Overview&lt;/span&gt; I notedall installations that wrote to the security event log (the default WSOCmonitored log source) as seen in &lt;b&gt;Figure 1&lt;/b&gt;. &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-LLuOQvclf14/TywGNqChCFI/AAAAAAAAAoI/h5oXXQJQujw/s1600/installation.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;151&quot; src=&quot;http://1.bp.blogspot.com/-LLuOQvclf14/TywGNqChCFI/AAAAAAAAAoI/h5oXXQJQujw/s400/installation.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;&lt;b&gt;Figure 1:&lt;/b&gt;&lt;span&gt;WSOC Windows installation details&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;As configured out of the box,if an event is not written to the security event log WSOC will not pick it up.As Bojan said, this app is intended as a security auditor’s tool as opposed toan operational health tool.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;The default search covers thelast 7 days from query time but the chronology drop down menu offers a rangefrom &lt;span&gt;15 minutes&lt;/span&gt; to &lt;span&gt;All time&lt;/span&gt;. &amp;nbsp;Licensed versions of Splunk can also leveragereal time reporting.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;span&gt;Process Tracking&lt;/span&gt; is also great view to monitor oncritical servers. Unwelcome or unfamiliar processes may jump out at youparticularly if you’ve baselined normal expectations for your systems.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;I am currently not runningActive Directory or a domain controller in my lab which left a lot of WSOCfunctionality testing off the table (Directory Services, etc.) but that shouldnot preclude you from doing so. Via Local Users and Groups I added an eviluser, deleted some users created during testing on the VM in 2009, and deleteda couple of non-essential groups. Evidence of the activity immediatelypresented itself via &lt;span&gt;User management | UserAccount Management&lt;/span&gt; and &lt;span&gt;GroupManagement&lt;/span&gt; as seen in &lt;b&gt;Figure 2&lt;/b&gt;.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-bVpm5QLX3mk/TywGq5BjEXI/AAAAAAAAAoQ/kRI9VZFsMvE/s1600/users.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;132&quot; src=&quot;http://1.bp.blogspot.com/-bVpm5QLX3mk/TywGq5BjEXI/AAAAAAAAAoQ/kRI9VZFsMvE/s400/users.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;&lt;b&gt;Figure 2:&lt;/b&gt; WSOC user account monitoring&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;It’s a tad unseemly for WSOCto label UI panes as &lt;span&gt;Added WindowsDomain accounts&lt;/span&gt; and &lt;span&gt;DeletedWindows Domain accounts&lt;/span&gt; given that the activity was local accountspecific, but you get the idea.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;If you drill into &lt;span&gt;View results&lt;/span&gt; you’ll receive all thedetail not immediately available in the preliminary app pane.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;b&gt;Figure 3 &lt;/b&gt;shows WSOC nabbingme for having created the user Ima, short for Ima Hacker. &lt;span&gt;J&lt;/span&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-QerzfuApJco/TywHHnXbHKI/AAAAAAAAAoY/7ekpfV9anHs/s1600/ima.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;292&quot; src=&quot;http://4.bp.blogspot.com/-QerzfuApJco/TywHHnXbHKI/AAAAAAAAAoY/7ekpfV9anHs/s400/ima.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;&lt;b&gt;Figure 3:&lt;/b&gt; Ima Hacker bagged and tagged&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;I love the &lt;span&gt;Saved Search&lt;/span&gt; feature and ran &lt;span&gt;Windows – Server restarts&lt;/span&gt; for you asan example knowing I’d intentionally triggered one of those events.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Results are noted in &lt;b&gt;Figure 4&lt;/b&gt;where you can see the fact that the reboot was spawned by Internet Explorer(Windows Update).&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://4.bp.blogspot.com/-P-Iac0-VFms/TywHbGZlyXI/AAAAAAAAAog/GSrDtulxu_Q/s1600/restart.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;166&quot; src=&quot;http://4.bp.blogspot.com/-P-Iac0-VFms/TywHbGZlyXI/AAAAAAAAAog/GSrDtulxu_Q/s400/restart.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;&lt;b&gt;Figure 4:&lt;/b&gt;&lt;span&gt; WSOC&amp;nbsp;captures system restarts&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Lastly, the &lt;span&gt;Advanced Activity Monitor&lt;/span&gt;, under &lt;span&gt;Change control&lt;/span&gt;, offers search capacityvia unique identifiers. In &lt;b&gt;Figure 5&lt;/b&gt;, you’ll see all the &lt;span&gt;New added services&lt;/span&gt; attributed to my user account.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align=&quot;center&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot;&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;a href=&quot;http://2.bp.blogspot.com/-GeeXeGG3MXs/TywJ1CjZh2I/AAAAAAAAAoo/XcDDnckp85U/s1600/services.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;100&quot; src=&quot;http://2.bp.blogspot.com/-GeeXeGG3MXs/TywJ1CjZh2I/AAAAAAAAAoo/XcDDnckp85U/s400/services.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class=&quot;tr-caption&quot;&gt;&lt;span&gt;&lt;span&gt;&lt;b&gt;Figure 5:&lt;/b&gt;&amp;nbsp;WSOC shows added services&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;I did some customization ofthe app to capture Windows Server 2003 Windows Firewall-related events but beaware that by default the app checks events 4946, 4947, 4948, 5156, 5157, 5158,and 5159 (Windows Server 2008 Event IDs). Enable Audit &lt;a href=&quot;http://technet.microsoft.com/en-us/library/dd772750(WS.10).aspx&quot; target=&quot;_blank&quot;&gt;MPSSVC Rule-Level PolicyChange&lt;/a&gt;&amp;nbsp;onWindows 7 and 2008 for this to capture Window Firewall events correctly.Windows 2003 Event IDs are a different event code hierarchy that is not coveredby WSOC but is east enough to customize for if you’re still running 2003.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;I imagine you can see thevalue in WSOC, particularly from an audit and awareness perspective. The nicething about Splunk apps is they can be enhanced and built upon with relativeease. Bojan and team also offer a supported, licensed version so that’s anoption for you as well.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;b&gt;In Conclusion&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;WSOC is slick, particularly for teams already making useof Splunk. Once (or if) you’re comfortable with Splunk, you’ll find that appssuch as WSOC and others make it invaluable for centralized, correlated data.&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Again, if you want to read deeper dives into the power ofSplunk and apps, ping me via email if you have questions (russ atholisticinfosec dot org).&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;Cheers…until next month. &lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;b&gt;Acknowledgements&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;MsoNoSpacing&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;span&gt;&lt;span&gt;BojanZdrnja, project lead, INFIGO IS&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;br /&gt;&lt;div id=&quot;edn7&quot;&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20011960-7902102781283349443?l=holisticinfosec.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Fri, 03 Feb 2012 16:24:00 +0000</pubDate>
	<author>noreply@blogger.com (Russ McRee)</author>
</item>
<item>
	<title>Chris Siebenmann: Understanding Resident Set Size and the RSS problem on modern Unixes</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/unix/UnderstandingRSS</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/unix/UnderstandingRSS</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Understanding Resident Set Size and the RSS problem on modern Unixes&lt;/h2&gt;

&lt;p&gt;On a modern Unix system with all sorts of memory sharing between
processes, Resident Set Size is a hard thing to explain; I resorted
to a very technical description in &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/LinuxMemoryStats&quot;&gt;my entry on Linux memory stats&lt;/a&gt;. To actually understand RSS, let's back up
and imagine a hypothetical old system that has no memory sharing between
processes at all; each page of RAM is either free or in use by exactly
one process.&lt;/p&gt;

&lt;p&gt;(We'll ignore the RAM the operating system itself uses. In old Unixes,
this was an acceptable simplification; memory was statically divided
between memory used by the OS and memory used by user programs.)&lt;/p&gt;

&lt;p&gt;In this system, processes acquire new pages of RAM by trying to
access them and then either having them allocated or having them
paged (back) in from disk. Meanwhile, the kernel is running around
trying to free up memory, generally using &lt;a href=&quot;http://en.wikipedia.org/wiki/Page_replacement_algorithm#Page_replacement_algorithms&quot;&gt;some approximation&lt;/a&gt;
of finding the least recently used page of RAM. How aggressively
the operating system tries to reclaim pages depends on how much
free memory it has; the less free memory, the faster the OS tries
to grab pages back. In this environment, the resident set size
of a process is how many pages of RAM it has. If the system is not
thrashing, ie if there's enough memory to go around, a process's
RSS is how much RAM it actually needs in order to work at its current
pace.&lt;/p&gt;

&lt;p&gt;(All of this is standard material from an operating system course.)&lt;/p&gt;

&lt;p&gt;The problem of RSS on modern Unix systems is how to adopt this model to
an environment where processes share significant amounts of memory with
each other. In the face of a lot of sharing, what does it mean for a
process to have a resident set size and how do you find the right pages
to free up?&lt;/p&gt;

&lt;p&gt;There are at least two approaches the kernel can take to reclaiming
pages, which we can call the 'physical' and 'process' approaches. In
the physical approach the kernel continues to scan over physical RAM to
identify candidate pages to be freed up; when it finds one, it takes it
away from all of the processes using it at once (this is the 'global'
removal of &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/unix/BasicMemoryManagement&quot;&gt;my earlier entry&lt;/a&gt;). In the process
approach the kernel scans each process more or less independently,
finding candidate pages and removing them only from the process (a
'local' removal); only once a candidate page has been removed from all
processes using it is it actually freed up.&lt;/p&gt;

&lt;p&gt;(Scanning each 'process' is a simplification. Really the kernel scans
each separate set of page tables; there are situations where multiple
processes share a single set of page tables.)&lt;/p&gt;

&lt;p&gt;The problem with the process approach is that the kernel can spend a
great deal of time removing pages from processes when the pages will
never actually be reclaimed for real. Imagine two processes with a
shared memory area; one process uses it actively and one process only
uses it slowly.  The kernel can spend all the time it wants removing
pages of the shared area from the less active process without ever
actually getting any RAM back, because the active process is keeping all
of those pages in RAM anyways.&lt;/p&gt;

&lt;p&gt;So, why doesn't everyone use the physical approach? My understanding
is that the problem with the physical approach is that it is often not
necessarily a good fit for how the hardware manages virtual memory
activity information. &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/unix/BasicMemoryManagement&quot;&gt;Per my earlier entry&lt;/a&gt;,
every process mapping a shared page of RAM can have a different page
table entry for it. To find out if the page of RAM has been accessed
recently you may have to find and look at all of those PTEs (with
locking), and do so for every page of physical RAM you look at.&lt;/p&gt;

&lt;p&gt;My impression is that most current Unixes normally use per-process
scanning, perhaps falling back on physical scanning if memory pressure
gets sufficiently severe.&lt;/p&gt;

&lt;p&gt;(I suspect and hope that virtual memory management in the face of
shared pages have been studied academically, just as the older and
simpler model of virtual memory has been, but I'm out of contact with OS
research.)&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 03 Feb 2012 07:11:21 +0000</pubDate>
</item>
<item>
	<title>Racker Hacker: Kerberos for haters</title>
	<guid>http://rackerhacker.com/?p=2906</guid>
	<link>http://rackerhacker.com/2012/02/02/kerberos-for-haters/</link>
	<description>&lt;p&gt;I'll be the first one to admit that Kerberos drives me a little insane.  It's a requirement for two of the exams in &lt;a href=&quot;http://www.redhat.com/training/certifications/rhca/&quot;&gt;Red Hat's RHCA certification track&lt;/a&gt; and I've been forced to learn it.  It provides some pretty nice security features for large server environments.  You get central single sign ons, encrypted authentication, and bidirectional validation.  However, getting it configured can be a real pain due to some rather archaic commands and shells.&lt;/p&gt;
&lt;p&gt;Here's Kerberos in a nutshell within a two-server environment:  One server is a Kerberos key distribution center (KDC) and the other is a Kerberos client.  The KDC has the list of users and their passwords.  Consider a situation where a user tries to ssh into the Kerberos client:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;sshd calls to pam to authenticate the user&lt;/li&gt;
&lt;li&gt;pam calls to the KDC for a ticket granting ticket (TGT) to see if the user can authenticate&lt;/li&gt;
&lt;li&gt;the KDC replies to the client with a TGT encrypted with the user's password&lt;/li&gt;
&lt;li&gt;pam (on the client) tries to decrypt the TGT with the password that the user provided via ssh&lt;/li&gt;
&lt;li&gt;if pam can decrypt the TGT, it knows the user is providing the right password&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Now that the client has a a TGT for that user, it can ask for tickets to access other network services.  What if the user who just logged in wants to access another Kerberized service in the environment?&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;client calls the KDC and asks for a ticket to grant access to the other service&lt;/li&gt;
&lt;li&gt;KDC replies with two copies of the ticket:
&lt;ul&gt;
&lt;li&gt;one copy is encrypted with the user's current TGT&lt;/li&gt;
&lt;li&gt;a second copy is encrypted with the password of the network service the user wants to access&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;the client can decrypt the ticket which was encrypted with the current TGT since it has the TGT already&lt;/li&gt;
&lt;li&gt;client makes an authenticator by taking the decrypted ticket and encrypting it with a timestamp&lt;/li&gt;
&lt;li&gt;client passes the authenticator and the second copy of the ticket it received from the KDC&lt;/li&gt;
&lt;li&gt;the other network service decrypts the second copy of the ticket and verifies the password&lt;/li&gt;
&lt;li&gt;the other network service uses the decrypted ticket to decrypt the authenticator it received from the client&lt;/li&gt;
&lt;li&gt;if the timestamp looks good, the other network service allows the user access&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Okay, that's confusing.  Let's take it one step further.  Enabling pre-authentication requires that clients send a request containing a timestamp encrypted with the user's password prior to asking for a TGT.  Without this requirement, an attacker can ask for a TGT one time and then brute force the TGT offline.  Pre-authentication forces the client to send a timestamped request encrypted with the user's password back to the KDC before they can ask for a KDC.  This means the attacker is forced to try different passwords when encrypting the timestamp in the hopes that they'll get a TGT to work with eventually.  One would hope that you have something configured on the KDC to set off an alarm for multiple failed pre-authentication attempts.&lt;/p&gt;
&lt;p&gt;Oh, but we can totally kick it up another notch.  What if an attacker is able to give a bad password to a client but they're also able to impersonate the KDC?  They could reply to the TGT request (as the KDC) with a TGT encrypted with whichever password they choose and get access to the client system.  Enabling mutual authentication stops this attack since it forces the client to ask the KDC for the client's own host principal password (this password is set when the client is configured to talk to the KDC).  The attacker shouldn't have any clue what that password is and the attack will be thwarted.&lt;/p&gt;
&lt;p&gt;By this point, you're either saying &quot;Oh man, I don't ever want to do this.&quot; or &quot;How do I set up Kerberos?&quot;.  Stay tuned if you're in the second group.  I'll have a dead simple (or as close to dead simple as one can get with Kerberos) how-to on the blog shortly.&lt;/p&gt;
&lt;p&gt;In the meantime, here are a few links for extra Kerberos bedtime reading:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Kerberos_(protocol)&quot;&gt;Kerberos on Wikipedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.kerberos.org/software/whykerberos.pdf&quot;&gt;MIT's &quot;Why Kerberos&quot;&lt;/a&gt; [PDF]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://learn-networking.com/network-security/how-kerberos-authentication-works&quot;&gt;How Kerberos Authentication Works&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/02/02/kerberos-for-haters/&quot;&gt;Kerberos for haters&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 03 Feb 2012 04:29:32 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: Foxit Reader for PDFs in the enterprise</title>
	<guid>http://www.techrepublic.com/blog/networking/foxit-reader-for-pdfs-in-the-enterprise/5305</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/f7iAblbCkYQ/5305</link>
	<description>Derek Schauland discovered a PDF replacement program for Adobe Reader in his office. Here are his thoughts on the Foxit Enterprise Reader.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/f7iAblbCkYQ&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Thu, 02 Feb 2012 14:00:14 +0000</pubDate>
</item>
<item>
	<title>CiscoZine: How to monitor devices with Cacti</title>
	<guid>http://www.ciscozine.com/?p=928</guid>
	<link>http://www.ciscozine.com/2012/02/02/how-to-monitor-devices-with-cacti/</link>
	<description>There are many ways to monitor devices: netflow, span port, switchport and so on. Today I will explain how to monitor bandwith, CPU, &amp;#8230; of routers and switches using SNMP and Cacti. Simple Network Management Protocol (SNMP) is an &amp;#8220;Internet-standard protocol for managing devices on IP networks. Devices that typically support SNMP include routers, switches, servers, workstations, printers, modem racks, and more.&amp;#8221; It is used mostly in network management systems to monitor network-attached devices for conditions that warrant administrative attention. SNMP is a component of the Internet Protocol Suite as defined by the Internet Engineering Task Force (IETF). It consists [...]</description>
	<pubDate>Thu, 02 Feb 2012 08:50:21 +0000</pubDate>
</item>
<item>
	<title>Geek and Artist - Tech: WAT</title>
	<guid>http://paperairoplane.net/?p=357</guid>
	<link>http://paperairoplane.net/?p=357</link>
	<description>&lt;p&gt;I&amp;#8217;ve been spreading &lt;a href=&quot;https://www.destroyallsoftware.com/talks/wat&quot; title=&quot;this excellent talk&quot;&gt;this excellent talk&lt;/a&gt; by Gary Bernhardt around my co-workers and friends who universally love it. I&amp;#8217;m also proud to say the &amp;#8220;WAT&amp;#8221; meme has (hopefully permanently) entered my team&amp;#8217;s culture as we find it adequately sums up our feelings towards various bits of software that we either have to work with or maintain.&lt;/p&gt;
&lt;p&gt;Half my team is away on business trips or sick leave at the moment so it was a relatively quiet day, which the rest of us spent squashing bugs. Unfortunately for us, most of our codebase is in Ruby and we have started cultivating a reasonable collection of Javascript in some of our web-oriented interfaces so you can imagine that Gary&amp;#8217;s talk was particularly poignant.&lt;/p&gt;
&lt;p&gt;A co-worker had submitted a review request this afternoon (yes, code reviews are awesome) and I was talking a brief look through it as I was not that familiar with this piece of code. He&amp;#8217;d admirably refactored some quite nasty stuff but I was a bit perplexed as to some of the logic. An example might be similar to this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;def check_vm_state(vm, vmstate)
  if vmstate[vm][:host]
    return vmstate[vm][:host]
  end
  raise InvalidHypervisorError
end
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;OK, it wasn&amp;#8217;t nearly as bad as this but you get the point. We&amp;#8217;re meant to pass in some kind of hash which contains status information, pull out something relevant to the VM in question and return it; if not, throw an error. What threw me was the test for this which was clearly just some fudged parameters but I couldn&amp;#8217;t figure out what was going on:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;assert_equals some_valid_value check_vm_state(1,2)
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Again, for your sanity&amp;#8217;s sake it was a little more than this. I wondered how this could possibly work, and my co-worker did the same. &amp;#8220;But clearly the tests are passing!&amp;#8221; someone exclaimed. Let&amp;#8217;s take a look:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;1.8.7 :001 &gt; 2[1]
 =&gt; 1
1.8.7 :002 &gt; 2[1][:host]
 =&gt; 0
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;WAT.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Apparently the [] operator on a Fixnum will retrieve the binary digit value at that index. OK, not too unreasonable. But what about the index off the :host symbol?!? Well, easy &amp;#8211; it is cast to its unique identifier which is an integer value &amp;#8211; in this case 16473 but this changes every time you run Ruby. This bit index clearly can&amp;#8217;t exist for the number 2 so the return value is 0. WAT.&lt;/p&gt;
&lt;p&gt;Here&amp;#8217;s another cool one. We had some awful code that was a bunch of if statements testing for equality to various things &amp;#8211; which in most instances you would just replace with a case/switch statement and be done with it. So we tried, and failed (initially):&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; foo = 'hello'
 =&gt; &quot;hello&quot;
&gt; case foo
&gt;   when 'hello'
&gt;   puts 'hello'
&gt;   when 'goodbye'
&gt;   puts 'goodbye'
&gt;   else
&gt;     puts 'something else'
&gt;   end
hello
 =&gt; nil
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Absolutely no surprises there. Except in this case we&amp;#8217;re more interested in the type of the object we are dealing with since our particular piece of code is making use of Ruby&amp;#8217;s duck-typing to do some smart manipulation of various objects in similar ways. So now:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&gt; foo.class
 =&gt; String
&gt; case foo.class
&gt;   when String
&gt;   puts 'string'
&gt;   when Fixnum
&gt;   puts 'fixnum'
&gt;   else
&gt;     puts 'something else'
&gt;   end
something else
 =&gt; nil
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Er&amp;#8230; WAT? Obviously we failed to take into account that the case statement calls the === method on the operand in each when statement and it behaves completely differently depending on whether it is used with an Object or a Module (which Class inherits from as do String, Fixnum etc). For Module it will only return true if the thing being compared to is an instance or descendent of the thing being operated on, whereas Objects just compare equality (and not identity).&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m sure this behaviour is also overridden in other types to &amp;#8220;make sense&amp;#8221; under the circumstances, but unfortunately just serves to confuse by its inconsistency. I realise this represents something like a raised middle finger to dyed-in-the-wool Rubyists but it really isn&amp;#8217;t following any principle of least surprise that I know about.&lt;/p&gt;
&lt;p&gt;Anyway, after all of us said WAT about nine-thousand times I came to the conclusion that duck-typing is only cool if not &lt;em&gt;every single basic type in the language responds to most method calls, usually in completely different and unexpected ways.&lt;/em&gt; If it swims like a duck, looks like a duck and quacks like a duck, it could be a duck. &lt;strong&gt;Or some kind of shapeshifting, organism impersonating cyborg warrior from the future intent on the destruction of our minds and all we hold dear to us.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On a slightly less inflammatory note, Ruby is actually still quite nice to use once you know all it&amp;#8217;s little quirks. I went to my first Clojure meetup in Berlin tonight and was introduced to some pretty awesome concepts. I&amp;#8217;m not sure I&amp;#8217;m completely sold but it may actually be time to broaden my horizons somewhat but I guess I&amp;#8217;m stuck with Ruby for a while yet &lt;img src=&quot;http://paperairoplane.net/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 23:32:02 +0000</pubDate>
</item>
<item>
	<title>Anton Chuvakin - Security Warrior: Monthly Blog Round-Up – January 2012</title>
	<guid>tag:blogger.com,1999:blog-19553129.post-5561808584679202970</guid>
	<link>http://feedproxy.google.com/~r/AntonChuvakinPersonalBlog/~3/7wfztbLYkpo/monthly-blog-round-up-january-2012.html</link>
	<description>&lt;div dir=&quot;ltr&quot;&gt;
Here is my next &lt;strong&gt;monthly &lt;a href=&quot;http://www.blogger.com/chuvakin.blogspot.com/&quot;&gt;&quot;Security Warrior&quot; blog&lt;/a&gt; &lt;/strong&gt;round-up of top 5 popular posts/topics this month:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;“&lt;a href=&quot;http://chuvakin.blogspot.com/2010/09/on-free-log-management-tools.html&quot;&gt;On Free Log Management Tools&lt;/a&gt;” is a companion to the checklist below (&lt;a href=&quot;http://chuvakin.blogspot.com/2011/03/updated-free-log-management-tools.html&quot;&gt;updated version&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;“&lt;a href=&quot;http://chuvakin.blogspot.com/2010/03/simple-log-review-checklist-released.html&quot;&gt;Simple Log Review Checklist Released!&lt;/a&gt;” is often at the top – the checklist is still a very useful tool for many people  &lt;/li&gt;
&lt;li&gt;“&lt;a href=&quot;http://chuvakin.blogspot.com/2010/08/updated-with-community-feedback-sans_06.html&quot;&gt;Updated With Community Feedback SANS Top 7 Essential Log Reports DRAFT2&lt;/a&gt;”, “&lt;a href=&quot;http://chuvakin.blogspot.com/2010/07/sans-top-5-essential-log-reports-update.html&quot;&gt;SANS Top 5 Essential Log Reports Update!&lt;/a&gt;” and their predecessor&amp;nbsp; &lt;a href=&quot;http://chuvakin.blogspot.com/2010/07/sans-top-5-essential-log-reports-update.html&quot;&gt;“Top5 SANS Log Reports Update DRAFT”&lt;/a&gt; also show up close to the top. &lt;b&gt;&lt;i&gt;IF YOU WANT TO VOLUNTEER TO&amp;nbsp;FINISH&amp;nbsp;THIS DOCUMENT- PLEASE EMAIL ME!&lt;/i&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;“&lt;a href=&quot;http://chuvakin.blogspot.com/2010/04/on-choosing-siem.html&quot;&gt;On Choosing SIEM&lt;/a&gt;” is about &lt;em&gt;the least wrong way&lt;/em&gt; of choosing a SIEM tool – as well as why the right way is so unpopular.  &lt;/li&gt;
&lt;li&gt;My classic PCI DSS log review series is last on my Top 5: “&lt;a href=&quot;http://chuvakin.blogspot.com/search/label/PCI_Log_Review&quot;&gt;Complete PCI DSS Log Review Procedures&lt;/a&gt;.”&lt;/li&gt;
&lt;/ol&gt;
In addition, I’d like to draw your attention to a few posts from &lt;a href=&quot;http://blogs.gartner.com/anton-chuvakin&quot;&gt;my Gartner blog&lt;/a&gt;:&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;“&lt;a href=&quot;http://blogs.gartner.com/anton-chuvakin/2012/01/21/cloud-security-monitoring-for-iaas-paas-saas/&quot;&gt;Cloud Security Monitoring for IaaS, PaaS, SaaS&lt;/a&gt;”&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.gartner.com/anton-chuvakin/2012/01/14/more-on-security-monitoring-of-public-cloud-assets/&quot;&gt;More On Security Monitoring of Public Cloud Assets&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blogs.gartner.com/anton-chuvakin/2012/01/09/cloud-security-monitoring/&quot;&gt;Cloud Security Monitoring!&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
Also see my past &lt;a href=&quot;http://chuvakin.blogspot.com/search/label/Monthly&quot;&gt;monthly&lt;/a&gt; and &lt;a href=&quot;http://chuvakin.blogspot.com/search/label/Annual&quot;&gt;annual&lt;/a&gt; “Top Posts” – &lt;a href=&quot;http://chuvakin.blogspot.com/2008/01/annual-blog-round-up-2007.html&quot;&gt;2007&lt;/a&gt;, &lt;a href=&quot;http://chuvakin.blogspot.com/2009/01/annual-blog-round-up-2008.html&quot;&gt;2008&lt;/a&gt;, &lt;a href=&quot;http://chuvakin.blogspot.com/2010/01/annual-blog-round-up-2009.html&quot;&gt;2009&lt;/a&gt;, &lt;a href=&quot;http://chuvakin.blogspot.com/2010/01/annual-blog-round-up-2010.html&quot;&gt;2010&lt;/a&gt;, &lt;a href=&quot;http://chuvakin.blogspot.com/2012/01/annual-blog-round-up-2011.html&quot;&gt;2011&lt;/a&gt;. &lt;br /&gt;
&lt;strong&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;
&lt;strong&gt;Disclaimer&lt;/strong&gt;: all this content was written before I&amp;nbsp;&lt;a href=&quot;http://chuvakin.blogspot.com/2011/07/last-blog-post.html&quot;&gt;joined Gartner&lt;/a&gt;&amp;nbsp;on Aug 1, 2011 and is solely my personal view&amp;nbsp;&lt;strong&gt;&lt;u&gt;&lt;em&gt;at the time of writing&lt;/em&gt;&lt;/u&gt;&lt;/strong&gt;. For my current security blogging, go&amp;nbsp;&lt;a href=&quot;http://blogs.gartner.com/anton-chuvakin&quot;&gt;here&lt;/a&gt;.
&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://chuvakin.blogspot.com/2012/01/monthly-blog-round-up-december-2011.html&quot;&gt;Monthly Blog Round-Up – December 2011&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;About me: http://www.chuvakin.org&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/19553129-5561808584679202970?l=chuvakin.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/6ZHq4YLrtk7vCDIoHXpY-qJsa18/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/6ZHq4YLrtk7vCDIoHXpY-qJsa18/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/6ZHq4YLrtk7vCDIoHXpY-qJsa18/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/6ZHq4YLrtk7vCDIoHXpY-qJsa18/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?a=7wfztbLYkpo:uYpx2ozj7Es:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?a=7wfztbLYkpo:uYpx2ozj7Es:63t7Ie-LG7Y&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?d=63t7Ie-LG7Y&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?a=7wfztbLYkpo:uYpx2ozj7Es:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/AntonChuvakinPersonalBlog?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/AntonChuvakinPersonalBlog/~4/7wfztbLYkpo&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Wed, 01 Feb 2012 22:37:25 +0000</pubDate>
	<author>anton@chuvakin.org (Anton Chuvakin)</author>
</item>
<item>
	<title>HolisticInfoSec.org: 2011 Toolsmith Tool of the Year: OWASP ZAP</title>
	<guid>tag:blogger.com,1999:blog-20011960.post-3776218873865835664</guid>
	<link>http://holisticinfosec.blogspot.com/2012/02/2011-toolsmith-tool-of-year-owasp-zap.html</link>
	<description>&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://code.google.com/p/zaproxy/logo?cct=1327760188&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://code.google.com/p/zaproxy/logo?cct=1327760188&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Congratulations to the OWASP ZAP team!&lt;br /&gt;&lt;b&gt;The Zed Attack Proxy is the 2011 Toolsmith Tool of the Year.&lt;/b&gt;&lt;br /&gt;ZAP finished with 338 votes (36.5% of the total), slightly edging out Security Onion.&lt;br /&gt;SO finished a strong second place with 328 votes (35.4%).&lt;br /&gt;Volatility came in third with 152 (16.4%) and Armitage right on their heels in fourth with 148 votes (16%).&lt;br /&gt;&lt;br /&gt;I am donating $50 to the OWASP ZAP project to honor this win.&lt;br /&gt;I ask that those of you with the&amp;nbsp;wherewithal&amp;nbsp;and resources to do so please visit the project &lt;a href=&quot;https://www.owasp.org/index.php/OWASP_Zed_Attack_Proxy_Project&quot; target=&quot;_blank&quot;&gt;page&lt;/a&gt; and donate in any capacity you can.&lt;br /&gt;&lt;br /&gt;Congratulations and thank you to all participants this year and I look forward to a strong 2012.&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://1.bp.blogspot.com/-fyYCa0Bk3kI/Tymmp370jRI/AAAAAAAAAn4/Pcku9-GXuko/s1600/TTOYchart.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;271&quot; src=&quot;http://1.bp.blogspot.com/-fyYCa0Bk3kI/Tymmp370jRI/AAAAAAAAAn4/Pcku9-GXuko/s400/TTOYchart.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;a href=&quot;http://3.bp.blogspot.com/-mSYoFPJ3xuk/TymmqJU3cSI/AAAAAAAAAn8/tOvoXzzE2rI/s1600/TTOYtotals.png&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;373&quot; src=&quot;http://3.bp.blogspot.com/-mSYoFPJ3xuk/TymmqJU3cSI/AAAAAAAAAn8/tOvoXzzE2rI/s400/TTOYtotals.png&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;separator&quot;&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class=&quot;blogger-post-footer&quot;&gt;&lt;img width=&quot;1&quot; height=&quot;1&quot; src=&quot;https://blogger.googleusercontent.com/tracker/20011960-3776218873865835664?l=holisticinfosec.blogspot.com&quot; alt=&quot;&quot; /&gt;&lt;/div&gt;</description>
	<pubDate>Wed, 01 Feb 2012 20:58:00 +0000</pubDate>
	<author>noreply@blogger.com (Russ McRee)</author>
</item>
<item>
	<title>Chris Siebenmann: A ZFS pool scrub wish: suspending scrubs</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/solaris/ZFSScrubWish</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/solaris/ZFSScrubWish</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;A ZFS pool scrub wish: suspending scrubs&lt;/h2&gt;

&lt;p&gt;Like sensible people, we scrub our pools periodically in order to
turn up latent problems. Because pool scrubs have a visible impact on
responsiveness (at least in the lightly patched Solaris 10 update 8 that
we're running), we only run scrubs on weekends (and only scrub one pool
per fileserver). However, we've recently started running into problems
where pool scrubs slow the fileservers down enough that backups have
started failing.&lt;/p&gt;

&lt;p&gt;The obvious way around this is to switch things to only doing scrubs
when backups aren't running. Except there's a problem: we run backups
every day, they run for a fairly long time every day, and some of our
pools take up to fifteen hours to scrub. If we only scrub when backups
aren't running, there just isn't a fifteen hour gap that our biggest
pools need.&lt;/p&gt;

&lt;p&gt;(It's possible that they would scrub somewhat faster if they never
overlapped with backups, but that's only a vague possibility. And as the
pools get more data, they'll take longer and longer to scrub.)&lt;/p&gt;

&lt;p&gt;Which brings me to my wish: I wish you could suspend ZFS pool scrubs.
Not stop them and start them again from the start, but just put one to
sleep by telling the pool to remember where the scrub was but do no
further scrub IO for now, then later resume the scrub from where it
left off. This would allow us to do even big scrubs around the backups,
and in fact we could schedule scrubs much more liberally than we do
right now. For example, we might have a couple of hours in a weekday
early morning after backups have finished that we could use to get some
scrubbing in.&lt;/p&gt;

&lt;p&gt;(I'd be perfectly happy if this was only an in-memory pause, so that if
you rebooted your system or exported the pool you lost it and had to
start from scratch. As an in-memory pause it ought to be relatively simple
to implement.)&lt;/p&gt;

&lt;p&gt;PS: I checked and this doesn't seem to be in Illumos, at least based
on the current Illumos zpool manpage.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 01 Feb 2012 16:38:21 +0000</pubDate>
</item>
<item>
	<title>Racker Hacker: OpenStack bleeding-edge Python packages are now available</title>
	<guid>http://rackerhacker.com/?p=2890</guid>
	<link>http://rackerhacker.com/2012/02/01/openstack-bleeding-edge-python-packages-are-now-available/</link>
	<description>&lt;p&gt;I sometimes enjoy living on the edge occasionally and that sometimes means I keep up with OpenStack changes commit by commit.  If you're in the same boat as I am, you may save some time by using my repository of bleeding-edge Python packages from the OpenStack projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://pypi.mhtx.net/&quot;&gt;pypi.mhtx.net&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Python packages are updated moments after the commit is merged into the repositories under &lt;a href=&quot;http://github.com/openstack&quot;&gt;OpenStack's github account&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;Although the packages will contain the latest code available, rest assured that the code has passed an initial code review (by humans), unit tests, and varying levels of functional or integrated testing.  There may still be a bug or two cropping up after that, so be aware of that as you utilize these packages.&lt;/p&gt;
&lt;p&gt;The package versions utilize a standard format:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[package]-[version]-[git commit count]-[short commit hash]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you need to check the git log up to that particular commit, just run &lt;code&gt;git log&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;git log [short commit hash]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Instructions for configuring &lt;code&gt;pip&lt;/code&gt; or &lt;code&gt;easy_install&lt;/code&gt; are provided &lt;a href=&quot;http://pypi.mhtx.net/&quot;&gt;within the repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In addition, the repository is accessible via IPv4 and IPv6.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/02/01/openstack-bleeding-edge-python-packages-are-now-available/&quot;&gt;OpenStack bleeding-edge Python packages are now available&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 15:05:16 +0000</pubDate>
</item>
<item>
	<title>CiscoZine: January 2012: three Cisco vulnerabilities</title>
	<guid>http://www.ciscozine.com/?p=930</guid>
	<link>http://www.ciscozine.com/2012/02/01/january-2012-three-cisco-vulnerabilities/</link>
	<description>The Cisco Product Security Incident Response Team (PSIRT) has published three important vulnerability advisories: Cisco IronPort Appliances Telnet Remote Code Execution Vulnerability Cisco IP Video Phone E20 Default Root Account Cisco Digital Media Manager Privilege Escalation Vulnerability Cisco IronPort Appliances Telnet Remote Code Execution Vulnerability Cisco IronPort Email Security Appliances (ESA) and Cisco IronPort Security Management Appliances (SMA) contain a vulnerability that may allow a remote, unauthenticated attacker to execute arbitrary code with elevated privileges. Vulnerable Products The following Cisco IronPort Email Security Appliances (ESA) and Cisco IronPort Security Management Appliances (SMA) are affected by this vulnerability: Cisco IronPort Email [...]</description>
	<pubDate>Wed, 01 Feb 2012 13:19:21 +0000</pubDate>
</item>
<item>
	<title>Racker Hacker: Create a local PyPi repository using only mod_rewrite</title>
	<guid>http://rackerhacker.com/?p=2861</guid>
	<link>http://rackerhacker.com/2012/01/31/create-a-local-pypi-repository-using-only-mod_rewrite/</link>
	<description>&lt;p&gt;Regular users of Python's package tools like &lt;a href=&quot;http://pypi.python.org/pypi/pip&quot;&gt;pip&lt;/a&gt; or &lt;a href=&quot;http://pypi.python.org/pypi/setuptools&quot;&gt;easy_install&lt;/a&gt; are probably familiar with the &lt;a href=&quot;http://pypi.python.org/pypi&quot;&gt;PyPi&lt;/a&gt; repository.  It's a one-stop-shop to learn more about available Python packages and get them installed on your server.&lt;/p&gt;
&lt;p&gt;However, certain folks may find the need to host a local PyPi repository for their own packages.  You may need it to store Python code which you don't plan to release publicly or you may need to add proprietary patches to upstream Python packages.  Regardless of the reason to have it, a local PyPi repository is relatively easy to configure.&lt;/p&gt;
&lt;p&gt;You'll need to start with a base directory for your PyPi repository.  For this example, I chose &lt;code&gt;/var/pypi&lt;/code&gt;.  The directory structure should look something like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;/var/pypi/simple/[package_name]/[package_tarball]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;For a package like &lt;code&gt;pip&lt;/code&gt;, you'd make a structure like this:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;/var/pypi/simple/pip/pip-1.0.2.tar.gz&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Once you have at least one package stored locally, it's time to configure apache.  Here's a snippet from the virtual host I configured:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;DocumentRoot /var/pypi/
ServerName pypi.example.com
&amp;nbsp;
Options +Indexes
&amp;nbsp;
RewriteEngine On
RewriteRule ^/robots.txt - [L]
RewriteRule ^/icons/.* - [L]
RewriteRule ^/index\..* - [L]
&amp;nbsp;
RewriteCond /var/pypi/$1 !-f
RewriteCond /var/pypi/$1 !-d
RewriteRule ^/(.*)/?$ http://pypi.python.org/$1 [R,L]&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;The last set of rewrite directives check to see if the request refers to an existing file or directory under your document root.  If it does, your server will reply with a directory listing or with the actual file to download.  If the directory or file doesn't exist, apache will send the client a redirection to the main PyPi site.&lt;/p&gt;
&lt;p&gt;Reload your apache configuration to bring in your new changes.  Let's try to download the &lt;code&gt;pip&lt;/code&gt; tarball from our local server in the example I mentioned above:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;$ curl -I http://pypi.example.com/simple/pip/
HTTP/1.1 200 OK
&amp;nbsp;
$ curl -I http://pypi.example.com/simple/pip/pip-1.0.2.tar.gz
HTTP/1.1 200 OK&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;I've obviously snipped a bit of the response above, but you can see that apache is responding with 200's since it has the directories and files that I was trying to retrieve via curl.  Let's try to get something we don't have locally, like &lt;code&gt;kombu&lt;/code&gt;:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;$ curl -I http://pypi.example.com/simple/kombu/
HTTP/1.1 302 Found
Location: http://pypi.python.org/simple/kombu/&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Our local PyPi repository doesn't have &lt;code&gt;kombu&lt;/code&gt; so it will refer our Python tools over to the official PyPi repository to get the listing of available package versions for &lt;code&gt;kombu&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;Now we need to tell &lt;code&gt;pip&lt;/code&gt; to use our local repository.  Edit &lt;code&gt;~/.pip/pip.conf&lt;/code&gt; and add:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[global]
index-url = http://pypi.example.com/simple/&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;If you'd rather use &lt;code&gt;easy_install&lt;/code&gt;, edit &lt;code&gt;~/.pydistutils.cfg&lt;/code&gt; and add:&lt;/p&gt;

&lt;div class=&quot;wp_syntax&quot;&gt;&lt;div class=&quot;code&quot;&gt;&lt;pre class=&quot;html&quot;&gt;[easy_install]
index_url = http://pypi.example.com/simple/&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Once your tools are configured, try installing a package you have locally and try to install one that you know you won't have locally.  You can add &lt;code&gt;-v&lt;/code&gt; to &lt;code&gt;pip install&lt;/code&gt; to watch it retrieve different URL's to get the packages it needs.  If you spot any peculiar behavior or unexpected redirections, double-check your mod_rewrite rules in your apache configuration and check the spelling of your directories under your document root.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rackerhacker.com/2012/01/31/create-a-local-pypi-repository-using-only-mod_rewrite/&quot;&gt;Create a local PyPi repository using only mod_rewrite&lt;/a&gt; is a post from: Major Hayden's &lt;a href=&quot;http://rackerhacker.com&quot;&gt;Racker Hacker&lt;/a&gt; blog. 
&lt;p&gt;Thanks for following the blog via the RSS feed. Please don't copy my posts or quote portions of them without attribution.&lt;/p&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 01 Feb 2012 04:02:49 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: The solution to the modern X font handling mystery</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/linux/ModernXFontDrawbackIII</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/linux/ModernXFontDrawbackIII</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;The solution to the modern X font handling mystery&lt;/h2&gt;

&lt;p&gt;I wrote &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/ModernXFontDrawbackII&quot;&gt;last time&lt;/a&gt; about my attempts to work
out just why &lt;code&gt;xterm&lt;/code&gt; was rendering the same font differently on Ubuntu
and Fedora. Thanks to comments from &lt;a href=&quot;http://offog.org/&quot;&gt;Adam Sampson&lt;/a&gt;
and some additional digging, I now have an answer and some theories.
As it happens, the answer illuminates yet more issues with modern X
font handling.&lt;/p&gt;

&lt;p&gt;In the modern Xft/FreeType/Fontconfig world, fonts are specified
more or less as a font name and a size. With most programs that
allow explicit specification of the font name you can augment the
name with additional attributes, partly to modify the exact font
that gets matched and partly to control how it's rendered. All of
this is sort of covered in &lt;a href=&quot;http://www.freedesktop.org/software/fontconfig/fontconfig-user.html&quot;&gt;the fontconfig user documentation&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;(An example could be 'DejaVu Sans
Mono:style=bold:hintstyle=hintslight'. This shows both a modification of
the font selection process and a rendering instruction. A similar
sort of syntax can be used if you want to find, eg, all of the monospace
fonts on the system.)&lt;/p&gt;

&lt;p&gt;Fontconfig also has system-wide configuration files, found in
&lt;code&gt;/etc/fonts/conf.d/&lt;/code&gt;. In most packages that I'm familiar with, the
global configuration is a default and explicit specification of things
override them. However, this is not the case for fontconfig; at least
for some settings, &lt;strong&gt;fontconfig's global settings silently override
anything you specify explicitly&lt;/strong&gt;. The only way to override these
settings yourself is to have a &lt;code&gt;$HOME/.fonts.conf&lt;/code&gt; file (and you can't
unset the settings so that you can pick them on the fly, only set them
to whatever personal global value you want).&lt;/p&gt;

&lt;p&gt;You can probably guess the rest of the story. As spotted by &lt;a href=&quot;http://offog.org/&quot;&gt;Adam
Sampson&lt;/a&gt;, Ubuntu's fontconfig package has a global config file that is
explicitly forces hinting to be set to &lt;code&gt;hintslight&lt;/code&gt;, while Fedora has
no config file and is defaulting to &lt;code&gt;hintfull&lt;/code&gt;. Because this is set in
a global config file you can't override it on the &lt;code&gt;xterm&lt;/code&gt; command line,
which fooled me into thinking that this setting wasn't the culprit.&lt;/p&gt;

&lt;p&gt;(You can include ':hintstyle=hint&amp;lt;whatever&gt;' in a &lt;code&gt;-fa&lt;/code&gt; argument all you
want, but it is silently ignored.)&lt;/p&gt;

&lt;p&gt;Overriding that (with a personal &lt;code&gt;.fonts.conf&lt;/code&gt; file that forces
&lt;code&gt;hintfull&lt;/code&gt; hinting) got Ubuntu rendering to be almost the same as
Fedora rendering. The remaining difference turns out to be due to the
specific versions and compilation options of &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/linux/NiceTrueTypeFonts&quot;&gt;my version of FreeType&lt;/a&gt;. Interestingly, this is not just a small visual
difference; at least under some circumstances the Ubuntu FreeType
library renders DejaVu Sans Mono characters a pixel or so taller than
my Fedora FreeType library does, meaning that an 80x50 xterm on Ubuntu
is visibly taller than a Fedora 80x50 xterm. (They are both the same
width.)&lt;/p&gt;

&lt;p&gt;I don't know for sure why gnome-terminal, Firefox, and TK applications
were unaffected by this, but my theory is that all of them use the Gnome
preferences system. Gnome has its own preferences settings for how to
render fonts and these appear to completely override fontconfig's views
on the subject, so Gnome applications were using the 'right' hinting
style for my tastes. I would have probably seen the same rendering of
DejaVu Sans Mono in any other Gnome application that used it as the
monospace font (a good example is probably gedit).&lt;/p&gt;

&lt;p&gt;(Why this happened for some fonts and not for others presumably has to
do with how the fonts were hinted, or maybe some fonts specify that they
can only be hinted at some levels. I don't know if this means that the
fonts that weren't affected are less hinted than DejaVu Sans Mono and so
on, or just hinted differently.)&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Wed, 01 Feb 2012 02:53:11 +0000</pubDate>
</item>
<item>
	<title>Security Monkey: Why I Love Routerpwn? Simplicity!</title>
	<guid>http://rss.ittoolbox.com/rss/50252@http://it.toolbox.com/blogs/securitymonkey</guid>
	<link>http://it.toolbox.com/blogs/securitymonkey/why-i-love-routerpwn-simplicity-50252?rss=1</link>
	<description>One HTML file.
138 web exploits.
3 unique generators.
Remote exploits (some 0-day).
Copied to nearly any device.
Connect to any open WiFi network.
Own the router.
Profit.
Behold, one of my favorite tools: routerpwn!
Watch routerpwn's creator Pedro Jo...</description>
	<pubDate>Tue, 31 Jan 2012 21:56:47 +0000</pubDate>
</item>
<item>
	<title>Security Monkey: The F-BOMB: Backdoor Device For Under $100 That Drops From The Sky!</title>
	<guid>http://rss.ittoolbox.com/rss/50250@http://it.toolbox.com/blogs/securitymonkey</guid>
	<link>http://it.toolbox.com/blogs/securitymonkey/the-fbomb-backdoor-device-for-under-100-that-drops-from-the-sky-50250?rss=1</link>
	<description>There is some insane stuff coming out of ShmooCon this year. Stuff that is so cool that I wish I could go back in time and use some of these devices during my investigative work.
For example: The F-BOMB! It's a Falling/Ballistically Launched Object t...</description>
	<pubDate>Tue, 31 Jan 2012 21:26:57 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: Infographic: Kim Dotcom and the Megaupload story</title>
	<guid>http://www.techrepublic.com/blog/security/infographic-kim-dotcom-and-the-megaupload-story/7345</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/0gdyV3h1Kzc/7345</link>
	<description>While Megaupload's attorney tries to negotiate a deal with the government to preserve users' legitimate hosted files, check out this snapshot of Kim Dotcom fun facts and figures.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/0gdyV3h1Kzc&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 19:33:11 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: System Center 2012 licensing primer</title>
	<guid>http://www.techrepublic.com/blog/networking/system-center-2012-licensing-primer/5310</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/5SolqdG8rzE/5310</link>
	<description>Scott Lowe breaks down the changes in the licensing structure for Microsoft System Center 2012. Here are some of the basics.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/5SolqdG8rzE&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 18:42:38 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: World IPv6 launch day set: Security pitfalls to look out for</title>
	<guid>http://www.techrepublic.com/blog/security/world-ipv6-launch-day-set-security-pitfalls-to-look-out-for/7328</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/PRdlpZHbBYw/7328</link>
	<description>Patrick Lambert warns that when the IPv6 launch date officially arrives this June 6, it will be prudent to watch out for some security gaps in the initial days. Here are some issues to think about.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/PRdlpZHbBYw&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 14:00:15 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: Storage vMotion virtual disk format options with vSphere 5</title>
	<guid>http://www.techrepublic.com/blog/networking/storage-vmotion-virtual-disk-format-options-with-vsphere-5/5292</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/2btM4nnVOwk/5292</link>
	<description>New disk options make Storage vMotion tasks give vSphere administrators more control over virtual machine disk formats. Rickatron shows how in this blog post.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/2btM4nnVOwk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 14:00:05 +0000</pubDate>
</item>
<item>
	<title>Everything Sysadmin: Who to trust?</title>
	<guid>http://everythingsysadmin.com/2012/01/who-to-trust.html</guid>
	<link>http://feeds.everythingsysadmin.com/~r/EverythingSysadmin/~3/rPIv_Hvdshk/who-to-trust.html</link>
	<description>&lt;p&gt;We are two people.  The person that calmly makes plans and the person that executes them.  The first person is calm and thoughtful and has the right amount of doubt to make sure a plan will work.  The second person rushes to judgement and is full of hubris. &quot;What was I thinking!  I can do it more/better/differently.&quot; is what the second person says.  The second person often forgets how much work went into the planning or the rationale for why things were set in a particular order.&lt;/p&gt;

&lt;p&gt;If an outside knows of the plan, it can confuse things if the second person &quot;optimizes&quot; the plan leaving those other people out of the loop.  The second person often thinks they're the only one that knows the plan, but often they are forgetting someone.&lt;/p&gt;

&lt;p&gt;I've had to learn that if someone in my todo list is marked as being in a specific order, I should &quot;trust the plan&quot; and follow it... against the recommendation of that second person.&lt;/p&gt;

&lt;p&gt;A friend of mine recently said her plan in the morning involved seeing her son off on a trip then getting 4 things done at home. What happened was she made a last-minute decision to drive him to the event personally, which meant a series of problems including some delays that prevented those 4 things from getting done.&lt;/p&gt;

&lt;p&gt;Why didn't she listen to that person that, the night before, carefully constructed a good plan?&lt;/p&gt;

&lt;p&gt;I do a lot of volunteer work and often we spend a lot of time working on a plan and later when executing the plan people will start to make changes.  This brings up all the &quot;second person&quot; problems but at an even bigger scale.  You'll often hear me saying, &quot;Trust the process&quot; over and over.&lt;/p&gt;

&lt;p&gt;Once we were stuffing envelopes for a big mailing.  It was a rather complicated project creating 3000 pieces to be mailed.  Previously we had ended up in a situation where we ended up with 2000 properly stuffed, labeled, and stamped envelopes plus 1000 envelopes that just had stamps, and a different 1000 envelopes that were stuffed and had address labels stuck on them. We stuff the envelopes; only stuffed envelopes get labels, and only labeled envelopes get stamps.  Three assembly lines, one that feeds the next.  If you notice, the order also reflects the cost-of-replacement: stamps are expensive so you don't want to put them on until you know the envelope is otherwise prepared.  When you run out of contents, no more stamps are consumed.&lt;/p&gt;

&lt;p&gt;Sometimes the labeling process was the bottleneck and someone outside the planning process would &quot;help&quot; by labeling empty envelopes.  They don't realize the potential problem they are causing, or the confusion.&lt;/p&gt;

&lt;p&gt;Every morning I do my &quot;5 minutes of planning&quot;.  I look at my calendar then check my todo list for the day.  I re-arrange my todo list, often pushing things around to be in priority order.  I do this on the train so it is ready when I get to work.  By the time I get working on stuff I've often forgotten the rationale for the order things are in, so I've had to train myself to &quot;trust the process&quot; and do the tasks in the order &quot;the other me&quot; proscribed.&lt;/p&gt;

&lt;p&gt;Because if I don't do that, I end up spending the morning writing a blog post instead of working on my todo list.  And that can disorient my entire day.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/RbSnDoeCZwKpGosfb-z_qDw9KFE/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/RbSnDoeCZwKpGosfb-z_qDw9KFE/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/RbSnDoeCZwKpGosfb-z_qDw9KFE/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/RbSnDoeCZwKpGosfb-z_qDw9KFE/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?i=rPIv_Hvdshk:rC6wg7SwYVY:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?d=7Q72WNTAKBA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:l6gmwiTKsz0&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?d=l6gmwiTKsz0&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.everythingsysadmin.com/~ff/EverythingSysadmin?a=rPIv_Hvdshk:rC6wg7SwYVY:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/EverythingSysadmin?i=rPIv_Hvdshk:rC6wg7SwYVY:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/EverythingSysadmin/~4/rPIv_Hvdshk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 14:00:02 +0000</pubDate>
</item>
<item>
	<title>Standalone Sysadmin: Manhattan World Tour – 1 Night Only! Wednesday 2/1/2012!</title>
	<guid>http://www.standalone-sysadmin.com/blog/?p=2668</guid>
	<link>http://feedproxy.google.com/~r/standalone-sysadmin/rWoU/~3/2qxfBypD6h4/</link>
	<description>&lt;p&gt;Just a note&amp;#8230;I&amp;#8217;m back in NYC this week doing some contracting work. I&amp;#8217;ve got Wednesday (tomorrow) night open for dinner, if anyone wants to hang out. I&amp;#8217;m meeting some friends who are sysadmin-types at &lt;a href=&quot;http://www.brotherjimmys.com/&quot;&gt;Brother Jimmy&amp;#8217;s BBQ&lt;/a&gt; in &lt;a href=&quot;http://maps.google.com/maps?q=Brother+Jimmy's,+116+East+16th+Street,+New+York,+NY&amp;hl=en&amp;sll=40.735318,-73.988473&amp;sspn=0.008617,0.019269&amp;hq=Brother+Jimmy's,+116+East+16th+Street,+New+York,+NY&amp;t=m&amp;z=15&quot;&gt;Union Square&lt;/a&gt; at 7pm, so you&amp;#8217;re welcome to come by! See you there! &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/Q9emC5nfN5Eu8YDLq7k5ZAv9H2c/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/Q9emC5nfN5Eu8YDLq7k5ZAv9H2c/0/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://feedads.g.doubleclick.net/~a/Q9emC5nfN5Eu8YDLq7k5ZAv9H2c/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~a/Q9emC5nfN5Eu8YDLq7k5ZAv9H2c/1/di&quot; border=&quot;0&quot; ismap=&quot;true&quot; /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/standalone-sysadmin/rWoU?a=2qxfBypD6h4:2bKyWFUpXmI:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/standalone-sysadmin/rWoU?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/standalone-sysadmin/rWoU/~4/2qxfBypD6h4&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Tue, 31 Jan 2012 12:27:46 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: Where is Oracle going with Solaris?</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/solaris/OracleSolarisFuture</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/solaris/OracleSolarisFuture</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Where is Oracle going with Solaris?&lt;/h2&gt;

&lt;p&gt;(Disclaimer: rambling ahead.)&lt;/p&gt;

&lt;p&gt;Once upon a time, back when Sun was still Sun, it was possible to kind
of see what they thought the future market for Solaris was. Solaris
wasn't Linux, but they could load it with attractive features (ZFS,
DTrace, arguably Zones, etc) to make up for being not-Linux and then
sell it for a relatively low price to hook the low end of the market.
Arguably Sun skipped the bit where they upsold to more lucrative
services later.&lt;/p&gt;

&lt;p&gt;(In this view, the free Linux distributions serve as a valuable initial
hook for higher end commercial Linuxes like Red Hat Enterprise.  A
small company is unlikely to buy RHEL right away; instead they can
progressively move closer, first with Debian or Ubuntu, then with
CentOS, and finally they start paying Red Hat when they get tired of the
alternatives. Since very few people were going to jump from a Linux to
Solaris, Solaris needed a similar entry-level hook.)&lt;/p&gt;

&lt;p&gt;Then Oracle took over Solaris and now I don't understand how they see
its future. The initial moves were straightforward: Oracle &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/solaris/SupportPricingProblem&quot;&gt;drastically
raised prices&lt;/a&gt; and effectively drastically
reduced hardware availability.  Then of course they killed off other
features that made Solaris attractive, like &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/solaris/ClosedSourceSolaris&quot;&gt;source availability&lt;/a&gt;. As far as I can see this took out the bottom end
of the Solaris market entirely.&lt;/p&gt;

&lt;p&gt;(It's hard to find current pricing for Solaris on non-Oracle
hardware. The best I could find on Oracle's own website was $1k per core
per year; it's not clear if you can get a better deal through either
Dell or HP, which were at one point theoretically reselling Solaris on
their own hardware. I couldn't configure a low-end 1U Dell server with
Solaris, for what that's worth.)&lt;/p&gt;

&lt;p&gt;One possible answer is that Oracle has no real plans for Solaris's
future. In this view, they're treating it as a declining asset and
milking it to get as much money as possible from those people who have
to have Solaris. As the ranks of those people dwindle, Solaris itself
will dwindle away with them. Eventually Oracle will politely sunset it
and no one will really care. In this view, the relatively high prices
for Solaris (and the outrageously high ones for non-Oracle hardware) are
somewhat deliberately designed to discourage new customers; the last
thing Oracle wants is for Solaris to actually get popular, because then
Oracle would have to start spending real money on it.&lt;/p&gt;

&lt;p&gt;Another possible answer is that Oracle thinks that Solaris has a viable
future on big iron but not on low end hardware. I'm a professional
skeptic about big iron in general, so I'm not well placed to evaluate
how realistic this is. I think you can make a case that big iron
customers are mostly insensitive to both the exact operating system
(they care about the apps, which are often layered on top of a database
to start with) and the licensing costs, but will value various
(theoretical) Solaris virtues like resilience and inspectability with
DTrace (especially if Oracle integrates DTrace support into their
database products). On the other hand they do care about TCO (and there
can be a lot of money involved in that TCO with big iron and Solaris
licensing) and I'm not sure Oracle has a good sales pitch for Solaris
against the relentless march of cheaper Linuxes.&lt;/p&gt;

&lt;p&gt;(I'm not persuaded by the variant of this where Solaris is supposed to
be the true home of Oracle's database software, because it requires
customers to either like or be neutral to Solaris and its increased
costs. If everyone wants to run Oracle on RHEL, it's hard to make
Solaris Oracle's true home.)&lt;/p&gt;

&lt;p&gt;All of this is mostly but not entirely academic to me, since it seems
clear that we have too little money to interest Oracle. Still, I just
can't stop wondering; there was a time when Solaris looked like it had a
place in the general Unix future.&lt;/p&gt;

&lt;p&gt;(You can argue that Solaris still does, in the form of Illumos and
distributions using it. Especially as apparently a whole lot of the Sun
technical people have left Oracle and settled at various other places
that are working on Illumos; this makes Illumos the technical future of
Solaris, and the technical future is the interesting one.)&lt;/p&gt;

&lt;p&gt;PS: I would probably be better informed about the speculation on this
if I actually followed Solaris news. I don't, because it seems very
unlikely that anything Solaris news is going to affect us; Oracle would
have to perform one of the world's most spectacular sudden reverses in
order to be relevant to us again.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Tue, 31 Jan 2012 05:17:09 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: HTML is not a SGML dialect and never really has been</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/web/HTMLAndSGML</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/web/HTMLAndSGML</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;HTML is not a SGML dialect and never really has been&lt;/h2&gt;

&lt;p&gt;There is a persistent story that makes the rounds among the web
specification world (for example, &lt;a href=&quot;http://www.webdevout.net/articles/beware-of-xhtml&quot;&gt;in this otherwise realistic article
on XHTML&lt;/a&gt;) that HTML
is a SGML dialect but web browsers persistently mishandle and mis-parse
certain SGML features such as &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/web/ShortTagsMeanings&quot;&gt;minimization&lt;/a&gt;.
Although I have pandered to this belief &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/web/ShortTagsMeanings&quot;&gt;before&lt;/a&gt;,
&lt;strong&gt;it is false in practice and in reality&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;HTML is really a &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/tech/WaysToStandards&quot;&gt;documentation standard&lt;/a&gt;;
the standard followed behind existing practice, not preceded it. In
the very beginning, people just created browsers and a vague format
that the browsers understood. This format was inspired by SGML, but it
was never an SGML dialect and as such it never had various obscure SGML
features. At some point, when people in the W3C were writing down the
HTML standard of the time (or perhaps evolving it), they decided to
'fix' this obvious omission by writing into the new version of the HTML
specification that it was a SGML dialect.&lt;/p&gt;

&lt;p&gt;(Looking at &lt;a href=&quot;http://en.wikipedia.org/wiki/HTML&quot;&gt;the historical specifications via wikipedia&lt;/a&gt;, this appears to go as far
back as &lt;a href=&quot;http://tools.ietf.org/html/rfc1866&quot;&gt;HTML 2.0&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;You can guess what happened next. All of the browsers of the time
promptly ignored this new bit of the standard, and pretty much every
browser written since then has as well; none of them ever parsed HTML
as SGML, supporting all of the little odd SGML features that that
implies. HTML may be an SGML dialect as far as the W3 standards and
their validator are concerned, but it is not in real life and anyone who
writes HTML believing otherwise is going to have problems.&lt;/p&gt;

&lt;p&gt;As you might expect, HTML5 very firmly puts a stake in this particular
issue; &lt;a href=&quot;http://dev.w3.org/html5/spec/infrastructure.html&quot;&gt;the current spec draft&lt;/a&gt; says explicitly
(emphasis mine):&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;For compatibility with existing content and prior specifications,
this specification describes two authoring formats: one based on XML
(referred to as the XHTML syntax), and one using &lt;strong&gt;a custom format
inspired by SGML&lt;/strong&gt; (referred to as the HTML syntax).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Perhaps someday all of the common HTML validators will be updated to
understand HTML as it really is.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 30 Jan 2012 20:33:44 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: Insidious insiders: Psychology provides clues in handling invisible threats</title>
	<guid>http://www.techrepublic.com/blog/security/insidious-insiders-psychology-provides-clues-in-handling-invisible-threats/7324</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/lKiCQSovkN8/7324</link>
	<description>Dominic Vogel considers the insider threat risk in organizations and suggests that cross-departmental collaboration could help shore up data loss prevention methods.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/lKiCQSovkN8&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 30 Jan 2012 17:00:28 +0000</pubDate>
</item>
<item>
	<title>TechRepublic IT Security: Repurposed software: Apps gone rogue</title>
	<guid>http://www.techrepublic.com/blog/security/repurposed-software-apps-gone-rogue/7331</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/security/~3/S_uMez2VBbM/7331</link>
	<description>You come up with a dynamite app. Companies are thrilled with it. Next thing you know, your app is used to deny visitors access to a website. Michael Kassner considers repurposed software.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/security/~4/S_uMez2VBbM&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 30 Jan 2012 15:50:41 +0000</pubDate>
</item>
<item>
	<title>TechRepublic Network Administrator: Eight steps to restore an individual Exchange 2010 mailbox with System Center Data Protection Manager</title>
	<guid>http://www.techrepublic.com/blog/networking/eight-steps-to-restore-an-individual-exchange-2010-mailbox-with-system-center-data-protection-manager/5298</guid>
	<link>http://feedproxy.google.com/~r/techrepublic/networking/~3/sUYpK1txK2o/5298</link>
	<description>Exchange admins often have to restore an individual mailbox rather than an entire database. John Joyner shows you eight steps to do this using PowerShell commands and Microsoft System Center DPM.&lt;img src=&quot;http://feeds.feedburner.com/~r/techrepublic/networking/~4/sUYpK1txK2o&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 30 Jan 2012 14:00:11 +0000</pubDate>
</item>
<item>
	<title>SysAdmin1138: Judicial rubber-hoses</title>
	<guid>tag:sysadmin1138.net,2012:/mt/blog//5.2619</guid>
	<link>http://feedproxy.google.com/~r/Sysadmin1138/~3/znCJtwqu0Wk/judicial-rubber-hoses.shtml</link>
	<description>The other day a Colorado court ordered a defendant to produce the unencrypted contents of their own laptop. This is what I called &quot;&lt;a href=&quot;http://sysadmin1138.net/mt/blog/2007/10/the-weakness-of-crypto.shtml&quot;&gt;rubber hose cryptography&lt;/a&gt;&quot;, and previously we've heard of &lt;a href=&quot;http://sysadmin1138.net/mt/blog/2009/08/legal-key-recovery.shtml&quot;&gt;efforts in the UK&lt;/a&gt; to compel decryption. It has now happened here, and not at the US border. Unlike the UK, this decryption demand in Colorado is not based on a law that specifically says that courts can demand this.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://www.wired.com/threatlevel/2012/01/judge-orders-laptop-decryption/&quot;&gt;Wired article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The counter-argument is quite clearly the 5th amendment right guaranteeing the ability to not self-incriminate. If that decryption key only exists in your head, and disclosing it would incriminate you, then you don't have to yield the key. &lt;br /&gt;&lt;br /&gt;This judge disagreed. I'm not a lawyer, so I can't tell what legal hairs were split to come to this decision. But the fact remains that this judgment stands. The only concession he appears to have made for the defendant is to preclude the prosecution from using the act of disclosure as a 'confession', but the data yielded by the disclosure is still admissible. &lt;br /&gt;
    &lt;div class=&quot;feedflare&quot;&gt;
&lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=znCJtwqu0Wk:tuqSoC44mko:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?d=yIl2AUoC8zA&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=znCJtwqu0Wk:tuqSoC44mko:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=znCJtwqu0Wk:tuqSoC44mko:V_sGLiPBpWU&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=znCJtwqu0Wk:tuqSoC44mko:F7zBnMyn0Lo&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=znCJtwqu0Wk:tuqSoC44mko:F7zBnMyn0Lo&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=znCJtwqu0Wk:tuqSoC44mko:gIN9vFwOqvQ&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?i=znCJtwqu0Wk:tuqSoC44mko:gIN9vFwOqvQ&quot; border=&quot;0&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?a=znCJtwqu0Wk:tuqSoC44mko:qj6IDK7rITs&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/Sysadmin1138?d=qj6IDK7rITs&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/Sysadmin1138/~4/znCJtwqu0Wk&quot; height=&quot;1&quot; width=&quot;1&quot; /&gt;</description>
	<pubDate>Mon, 30 Jan 2012 08:29:53 +0000</pubDate>
</item>
<item>
	<title>Chris Siebenmann: Dealing with Fitts' Law on widescreen displays</title>
	<guid>tag:cspace@cks.mef.org,2009-03-24:/blog/sysadmin/WidescreensAndFittsLaw</guid>
	<link>http://utcc.utoronto.ca/~cks/space/blog/sysadmin/WidescreensAndFittsLaw</link>
	<description>&lt;div class=&quot;wikitext&quot;&gt;&lt;h2&gt;Dealing with Fitts' Law on widescreen displays&lt;/h2&gt;

&lt;p&gt;One of the &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/unix/FittsAndEdgeFlipping&quot;&gt;usual sayings&lt;/a&gt; derived from
&lt;a href=&quot;http://en.wikipedia.org/wiki/Fitts%27_law&quot;&gt;Fitts' Law&lt;/a&gt; is that four of
the five easiest locations to reach with the mouse are the four corners
of the screen, because they require very little precision (the edges
trap the mouse and guide it into the corner). Over the years I've made
&lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/unix/FittsAndEdgeFlipping&quot;&gt;some modifications&lt;/a&gt; to &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/MyDesktopTour&quot;&gt;my desktop
environment&lt;/a&gt; to make better use of this principle. The
most important one is &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/XtermZiconbeep&quot;&gt;how I use the top left corner&lt;/a&gt;;
I have &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/HowIUseFvwmIconMan&quot;&gt;my taskbar equivalent&lt;/a&gt; arranged so that
when an iconified terminal window gets output, I can just zoom my mouse
to that corner and click in order to reveal the terminal window.&lt;/p&gt;

&lt;p&gt;Zooming to a corner is a fast operation in most setups; it works
fine on a single monitor, even a single widescreen monitor, and on a
normal dual-monitor setup such as &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/MyDesktopTour&quot;&gt;my work desktop&lt;/a&gt;. But
recently (for reasons beyond the scope of this blog) my work setup got
updated to dual widescreen monitors, which revealed two problems with
my application of Fitts' Law in this environment.&lt;/p&gt;

&lt;p&gt;The first problem is that the sheer number of side to side pixels in a
pair of 1920x1200 LCD panels seems to be a bit too many to easily zoom
a mouse across. My mouse pointer generally winds up in the middle of
the right hand display; getting it to the top left corner of the left
display was no longer anything like a little flick of the wrist. The
second problem is that the top left corner was sufficiently physically
far off to the side that it was no longer an easy casual action to
glance at it to see if there was anything with new output that I needed
to deiconify; I was less glancing off a bit and more peering off into
the distance.&lt;/p&gt;

&lt;p&gt;(I had my old dual displays relatively flat against each other, but I
think that I probably need to move the new displays into a much more
pronounced V shape.)&lt;/p&gt;

&lt;p&gt;My current solution to this issue exploits Fitts' Law once again.  The
often-overlooked fifth easy to reach location is 'where the mouse is
right now', or failing that 'some large area very near where the mouse
is'. So I've created a new &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/MyFvwmButtonBindings&quot;&gt;mouse button binding&lt;/a&gt;
for my window manager; if the mouse is over the root window, hitting the
left button with Shift+Control now de-iconifies the (alphabetically)
first terminal window.  My mouse is frequently parked over the root
window and when it's not there's generally an exposed patch of the root
window close to it.&lt;/p&gt;

&lt;p&gt;(Technically the binding toggles the window's iconified state, which
means that I can flip the first window back and forth from iconified to
not. This is a great way to fidget.)&lt;/p&gt;

&lt;p&gt;To deal with the 'too far to look' issue and to make things in &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/HowIUseFvwmIconMan&quot;&gt;my
terminal windows taskbar&lt;/a&gt; easier to reach in general,
I've repositioned it so that it's at the top left corner of my second
(right) display; this puts it more or less in the center of my overall
workspace and makes it easier to both reach and look at.  I don't think
this move away from a screen corner is a loss for Fitts' Law because
everything except the first window already had to be targeted carefully.&lt;/p&gt;

&lt;p&gt;Of course, now I just have to train myself out of a many years habit
of reflexively looking and going to the top left of the left display.
This shouldn't take too long, right?&lt;/p&gt;

&lt;p&gt;(What I'd really like to do is duplicate &lt;a href=&quot;http://utcc.utoronto.ca/~cks/space/blog/sysadmin/HowIUseFvwmIconMan&quot;&gt;my taskbar equivalent&lt;/a&gt; in the top left of both displays. Unfortunately
this isn't possible right now with my window manager.)&lt;/p&gt;

&lt;p&gt;PS: I experimented briefly with increasing the mouse acceleration (which
would make everything effectively closer) but didn't like the effects
it had on my ability to target things with the mouse in general; I kept
overshooting and missing stuff.  Possibly I would have acclimatized with
time and I just gave up too soon.&lt;/p&gt;
&lt;/div&gt;</description>
	<pubDate>Mon, 30 Jan 2012 02:13:49 +0000</pubDate>
</item>

</channel>
</rss>

