<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>O&apos;Reilly Sysadmin</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/" />
    <link rel="self" type="application/atom+xml" href="http://www.oreillynet.com/sysadmin/blog/atom.xml" />
   <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7</id>
    <updated>2008-05-08T22:29:03Z</updated>
    <subtitle>O&apos;Reilly Sysadmin Blog</subtitle>    <generator uri="http://www.sixapart.com/movabletype/">Movable Type 3.21</generator>
 
<entry>
    <title>Anton Logging Tip of the Week #15: Fear and Loathing in Event 560 (and 562 and 567)</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/05/anton_logging_tip_of_the_week.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23693</id>
    
    <published>2008-05-08T22:29:03Z</published>
    <updated>2008-05-08T22:29:03Z</updated>
    
    <summary>Following the new &quot;tradition&quot; of posting a security tip of the week (mentioned here, here ; SANS jumped in as well), I decided to follow along and join the initiative. One of the bloggers called it &quot;pay it forward&quot; to...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
        <content type="html">
&lt;p&gt;Following the new &amp;#8220;tradition&amp;#8221; of posting a security tip of the week (mentioned &lt;a href="http://www.stillsecureafteralltheseyears.com/ashimmy/2006/08/pay_it_forward__1.html"&gt;here&lt;/a&gt;, &lt;a href="http://mcwresearch.com/archives/265"&gt;here &lt;/a&gt;; &lt;a href="http://isc.sans.org/diary.php?storyid=1530&amp;#38;rss"&gt;SANS jumped in as well&lt;/a&gt;), I decided to follow along and join the initiative. One of the bloggers called it &lt;a href="http://mcwresearch.com/archives/255"&gt;&amp;#8220;pay it forward&lt;/a&gt;&amp;#8221; to the community.&lt;/p&gt;
&lt;p&gt;So, Anton Logging Tip of the Day #15: &lt;strong&gt;Fear and Loathing in Event 567&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;This tip digs into a seemingly simple, but really &lt;strong&gt;VERY&lt;/strong&gt; esoteric subject: monitoring file access and modification via a Windows event log. Now, some people - who never studied this subject - tend to have a very simplistic view of this: just enable Object Access auditing, then right-click on a file or directory, click Security-&amp;#62;Advanced-&amp;#62;Auditing and then pick what types of events will be logged and by what accessing entities (i.e. users or computers). OK, so this will produce some logs, that is for sure. But are they useful?&lt;/p&gt;
&lt;p&gt;First, why are we doing this? We typically need to know the following when we audit file access in Windows (or any other OS for that matter) for security (monitoring and investigation) or compliance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Time/date  &lt;/li&gt;
&lt;li&gt;Computer where it happened  &lt;/li&gt;
&lt;li&gt;User who touched the file  &lt;/li&gt;
&lt;li&gt;Application he used to access the file  &lt;/li&gt;
&lt;li&gt;File name + location (directory, share, etc) &lt;/li&gt;
&lt;li&gt;Type of access (read, write, create, delete, etc)  &lt;/li&gt;
&lt;li&gt;Status (i.e. success or failure)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Can we get this from the above logs? &lt;strong&gt;No.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;What? No!?! Really? &lt;/p&gt;
&lt;p&gt;Yes, really. We can get some of the above, some of the time, not all of the above, all of the time. Here is an example, we are looking at event ID 560 (picture) and then at an extract from its description field.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Event:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://lh3.ggpht.com/anton.chuvakin/SCNkpVJituI/AAAAAAAADsE/q69WO589Oi4/s1600-h/event_log-560_1%5B2%5D.jpg"&gt;&lt;img style="border: 0px none ;" alt="event_log-560_1" src="http://lh4.ggpht.com/anton.chuvakin/SCNkplJitvI/AAAAAAAADsQ/XLlhnpafFgM/event_log-560_1_thumb.jpg?imgmax=800" border="0" height="244" width="235" /&gt;&lt;/a&gt; &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Description (selected field):&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Object Server&lt;/em&gt;: Security &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Object Type&lt;/em&gt;: File &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Object Name&lt;/em&gt;: C:\0\TestBed\simple_text_file.txt &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Image File Name&lt;/em&gt;: C:\WINDOWS\system32\notepad.exe &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Primary User Name&lt;/em&gt;: Anton &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Primary Domain&lt;/em&gt;: XXXXXX &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Accesses&lt;/em&gt;: READ_CONTROL  &lt;/p&gt;
&lt;p&gt;SYNCHRONIZE  &lt;/p&gt;
&lt;p&gt;ReadData (or ListDirectory)  &lt;/p&gt;
&lt;p&gt;WriteData (or AddFile)  &lt;/p&gt;
&lt;p&gt;AppendData (or AddSubdirectory or CreatePipeInstance)  &lt;/p&gt;
&lt;p&gt;ReadEA  &lt;/p&gt;
&lt;p&gt;WriteEA  &lt;/p&gt;
&lt;p&gt;ReadAttributes  &lt;/p&gt;
&lt;p&gt;WriteAttributes &lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;WTH is that? Well, we know that the user  &amp;#8216;Anton&amp;#8217; has successfully read? wrote? changed attributes? did something? with a file named &amp;#8220;C:\0\TestBed\simple_text_file.txt&amp;#8221; using a program named &amp;#8220;C:\WINDOWS\system32\notepad.exe.&amp;#8221; &lt;strong&gt;That&amp;#8217;s the best we can get, in this case!&lt;/strong&gt; We may try to look at event IDs 562 and 567, but this missing information (i.e. the exact action performed) will not be added. &lt;/p&gt;
&lt;p&gt;BTW, there will be  a few more dozen (sometime hundreds!) of the 560s, 562s and 567s  produced - all from just opening the text file in a notepad. The above event is notable for having BOTH &amp;#8220;notepad&amp;#8221; and &amp;#8220;simple_text_file.txt&amp;#8221; in the same event; others will have either of the two. &lt;/p&gt;
&lt;p&gt;Anything else gets in the way? Yes, lots! MS Office will write to all files, even just opened for reading (with no user modifications to the content whatsoever), which will screw up your log monitoring efforts. If the file is on a share, more information will be missing (e.g. username might be).&lt;/p&gt;
&lt;p&gt;So, how to use Windows event logs for file access tracking?&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Enable logging (as described above)&lt;/li&gt;
&lt;li&gt;Pick events 560 (most useful) and 562, 567 (useful too)&lt;/li&gt;
&lt;li&gt;Look for fun filenames that might be touched by the users (have a list of files and users handy)&lt;/li&gt;
&lt;li&gt;Figure out what programs were used to access them (this is called &amp;#8220;Image File Name&amp;#8221; in &amp;#8220;WinLogSpeak&amp;#8221;)&lt;/li&gt;
&lt;li&gt;Ponder the &lt;em&gt;&amp;#8216;Accesses&amp;#8217;&lt;/em&gt; section of each event until your brain turns blue :-) or until you decide whether such access is authorized or not&amp;#8230;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Overall, this is still very useful for file access monitoring, but the process is paaaaaainful.&lt;/p&gt;
&lt;p&gt;BTW, I am tagging all the tips on &lt;a href="http://del.icio.us/anton18"&gt;my del.icio.us feed&lt;/a&gt;. Here is the link: &lt;a href="http://del.icio.us/anton18/security+tips"&gt;All Security Tips of the Day&lt;/a&gt;.&lt;/p&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:54499c21-dd11-4ff7-9221-4cf2ec0c95fe" style="margin: 0px; padding: 0px; display: inline;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tips" rel="tag"&gt;tips&lt;/a&gt;, &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;&lt;/div&gt;
&lt;/p&gt;
&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");&lt;br /&gt;
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
var pageTracker = _gat._getTracker("UA-101395-8");&lt;br /&gt;
pageTracker._initData();&lt;br /&gt;
pageTracker._trackPageview();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Poll #8: What additional information is most useful for log analysis?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/05/post_1.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23648</id>
    
    <published>2008-05-05T22:02:39Z</published>
    <updated>2008-05-05T22:03:07Z</updated>
    
    <summary>So, my next poll is up - and it is fun: Which of the types of information are most useful when trying to make sense of a log entry? Vote here! Past polls: Poll #7 &quot;What tools do you use...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
        <content type="html">
&lt;p&gt;So,&lt;a href="http://www.misterpoll.com/polls/337525"&gt; my next poll is up&lt;/a&gt; - and it is fun: &lt;span style="font-weight: bold;"&gt;Which of the types of information are most useful when trying to make sense of a log entry? &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.misterpoll.com/polls/337525"&gt;Vote here!&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-weight: bold;"&gt;Past polls:&lt;/span&gt;&lt;/p&gt;
&lt;div class="post-body"&gt;
&lt;li&gt;Poll #7 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2008/03/poll-7-what-tools-do-you-use-for.html"&gt;What tools do you use for Windows Event Log collection?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/04/windows-log-collection-poll-analysis.html"&gt;analysis&lt;/a&gt;)
&lt;/li&gt;
&lt;li&gt;Poll #6 &lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;&amp;#8220;Which logs do you LOOK at?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #5 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;What are your top challenges with logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #4 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/12/poll-who-looks-at-logs-in-your.html"&gt;Who looks at logs in your organization?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/01/logging-poll-4-looks-at-logs-analysis.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #3 &lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;&amp;#8220;What do you do with logs?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #2 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-why-do-you-collect-logs.html"&gt;Why collect logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/11/logging-poll-2-analysis.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #1 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-which-logs-do-you-collect.html"&gt;Which logs do you collect&lt;/a&gt;?&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;analysis&lt;/a&gt;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;/div&gt;
&lt;p&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");&lt;br /&gt;
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
var pageTracker = _gat._getTracker("UA-101395-8");&lt;br /&gt;
pageTracker._initData();&lt;br /&gt;
pageTracker._trackPageview();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Filesystem Monitoring:  You&apos;re Doing It Wrong</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/05/filesystem_monitoring_youre_do.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.22496</id>
    
    <published>2008-05-02T15:05:46Z</published>
    <updated>2008-05-02T15:05:47Z</updated>
    
    <summary>This doesn&apos;t look good, right? Most open source monitoring tools do filesystem health checking by comparing the current percentage of used space against a set value. If it&apos;s is 90% full, send out a warning page; if it&apos;s 89%, send...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Opinion" />
        <content type="html">
&lt;p&gt;This doesn&amp;#8217;t look good, right?&lt;/p&gt;
&lt;p&gt;&lt;img alt="home2-vol.gif" src="http://www.oreillynet.com/sysadmin/blog/images/home2-vol.gif" width="560" height="320" /&gt;&lt;/p&gt;
&lt;p&gt;Most open source monitoring tools do filesystem health checking by comparing the current percentage of used space against a set value.  If it&amp;#8217;s is 90% full, send out a warning page; if it&amp;#8217;s 89%, send the all clear.&lt;/p&gt;
&lt;p&gt;Notice that I said filesystem, and not actual disk.  A single disk that&amp;#8217;s 90% full can be a bad thing, because there are fewer free blocks available for writing, which leads to longer write times and file fragmentation.  Not all filesystems are restricted to a single disk:  there may be a back-end RAID solution, or the filesystem may be a shared filesystem served over NFS.  &lt;/p&gt;
&lt;p&gt;Unfortunately, you could be the receiver of flapping alert pages where a filesystem sits between 90% and 89%, but it still performs fine.  Unlike a broken Ethernet cable, the resolution for a filesystem threshold may not be so easy.  Sometimes there are files that can&amp;#8217;t be deleted, or there may not be any additional storage to allocate.  You may have a filesystem that sits at 91% full for months simply because a new disk shelf won&amp;#8217;t arrive until the next budget cycle.  &lt;/p&gt;
&lt;p&gt;Everything comes down to disk blocks, even SAN and NAS solutions.  That brings back the concern regarding fragmentation and performance.  But what if your filesystem is a read-only OS image?  Or what if it turns out 10% equates to 500 gigabytes on a huge disk appliance?  If the filesystem is never being written to, or if the amount of writes equates to 0.001% of the entire filesystem, then where&amp;#8217;s the fire?&lt;/p&gt;
&lt;p&gt;What about the inverse?  What if your filesystem never reaches 90% full?  Can there still be problems?&lt;/p&gt;
&lt;p&gt;In the above graph, nobody would have been paged by Nagios or other tools, because the filesystem never reached 90%.  For the past few months it averaged 40% full, shot up to 75%, and then went back down.  A newly released application was behaving incorrectly, and the issue was caught by the programmer.  The next morning he stealthily re-released the application and corrected the issue.  Nobody in systems administration noticed until the graph was checked in relation to another issue.  If the programming error was never discovered, the filesystem would have filled up, probably at the most inconvenient time possible for a systems administrator.&lt;/p&gt;
&lt;p&gt;I would like to recommend to people developing filesystem or disk monitoring solutions change their way of thinking about filesystem health.  Hard limits on allocated space may still be required, but those warnings should be optional.  Measuring fullness makes assumptions about block structure  that may not be correct.&lt;/p&gt;
&lt;p&gt;At the same time, the monitoring system should compare the standard deviation for the filesystem percentage over the past 24 hours, and compare it to the standard deviation for the past hour.  Actually, you&amp;#8217;d probably want to compare the first 23 hours out of 24, grab that standard deviation, and compare it to the deviation of the last hour.&lt;/p&gt;
&lt;p&gt;If those two deviations aren&amp;#8217;t close, then there could be radical changes made to your filesystem that need to be addressed.  Maybe files are being added or deleted, either way, it may warrant an investigation.  For large filesystems in the terrabyte/petabyte range, using the percentage value may not be granular enough, so you will need to work with the actual value of free kilobytes or blocks.&lt;/p&gt;
&lt;p&gt;I take it back.  This isn&amp;#8217;t a recommendation to monitoring developers, this is a &lt;em&gt;challenge&lt;/em&gt;.  The first major open source monitoring guy that puts this solution together will have my undivided attention.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>LVM and software raid, a powerful combination</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/04/lvm_and_software_raid_a_powerf.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23511</id>
    
    <published>2008-04-21T23:13:33Z</published>
    <updated>2008-04-21T23:13:33Z</updated>
    
    <summary>This is just one case in a million where knowledge and use of lvm has proved immensely powerful.  Another case (and the topic of this article) is a situation where the combination of lvm and software raid will allow me to convert a raid1 array into a raid5 array without any downtime on my critical apps.  And for those of you that think you&apos;ll take a performance hit when using software raid over hardware raid, I ask &quot;which can calculate parody faster.  a 486 processor in the card or one of the xeon processors in your box that isn&apos;t on the card&quot;.  Go ahead, run the test yourself.</summary>
    <author>
        <name>Mike McGrath</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;When I first started using LVM I got bit by a few bugs.  It&amp;#8217;s all part of being an early adopter.  As a result I never really used it on production hardware.  It wasn&amp;#8217;t until about 2 years ago that I gave it another look.  In a similar manner I never really thought much of software raid beyond a novelty.  Much of that has changed now and I use them both on a regular basis for a number of reasons.&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m in one situation right now where I have a filesystem that I did stupid things to and fsck.ext3 segfaults on it.  Normally this would be a really bad thing (and it is) but because I&amp;#8217;m using LVM, I can run many tests on the filesystem, in a snapshot, without harming the master filesystem (which has around 2.5T of data on it).  In this case the bad blocks have already been written to and likely won&amp;#8217;t be changing.  So I can continue to use the share in production, while working with the fsck devs to figure out what is segfaulting.  I can also take two snapshots at the same time.  Run fsck.ext3 on one of them, and then compare the actual files to see which (if any) of them have changed or gotten corrupt.&lt;/p&gt;
&lt;p&gt;This is just one case in a million where knowledge and use of lvm has proved immensely powerful.  Another case (and the topic of this article) is a situation where the combination of lvm and software raid will allow me to convert a raid1 array into a raid5 array without any downtime on my critical apps.  And for those of you that think you&amp;#8217;ll take a performance hit when using software raid over hardware raid, I ask &amp;#8220;which can calculate parody faster.  a 486 processor in the card or one of the xeon processors in your box that isn&amp;#8217;t on the card&amp;#8221;.  Go ahead, run the test yourself.&lt;/p&gt;
&lt;p&gt;Anyway, to get started: in our environment we use virtualization heavily.  One of our xen dom0&amp;#8217;s has two raid1 arrays on it, it was a while ago when this machine was built and we can only assume that those two arrays were for two dedicated machines.  But now we want to merge the arrays and just have one raid5.  So the basic layout of our setup:&lt;/p&gt;
&lt;p&gt;2 raid 0 arrays.&lt;br /&gt;
2 physical volumes.&lt;br /&gt;
2 volume groups.&lt;/p&gt;
&lt;p&gt;At the end we want:&lt;/p&gt;
&lt;p&gt;1 raid5 array&lt;br /&gt;
1 physical volume&lt;br /&gt;
1 volume group.&lt;/p&gt;
&lt;p&gt;I should warn you that in prep for this we moved all critical apps to one of the volumegroups so essentially the other volume group is now empty so I&amp;#8217;m treating it that way during my test, I&amp;#8217;ll only be creating one volumegroup and array.  To test this at home (as I&amp;#8217;ll be doing in the examples) I assume you have a volume group with 400M free.  I&amp;#8217;ll be creating a logical volume as an analog for the &amp;#8220;disks&amp;#8221; in our production server. &lt;/p&gt;
&lt;p&gt;First: create the &amp;#8220;disks&amp;#8221; (100M each)&lt;/p&gt;
&lt;p&gt;# lvcreate -L 100M -n 1 VolGroup00&lt;br /&gt;
  Logical volume &amp;#8220;1&amp;#8243; created&lt;/p&gt;
&lt;p&gt;# lvcreate -L 100M -n 2 VolGroup00&lt;br /&gt;
  Logical volume &amp;#8220;2&amp;#8243; create&lt;/p&gt;
&lt;p&gt;# lvcreate -L 100M -n 3 VolGroup00&lt;br /&gt;
  Logical volume &amp;#8220;3&amp;#8243; created&lt;/p&gt;
&lt;p&gt;# lvcreate -L 100M -n 4 VolGroup00&lt;br /&gt;
  Logical volume &amp;#8220;4&amp;#8243; created&lt;/p&gt;
&lt;p&gt;Then create your raid array:&lt;br /&gt;
# mdadm -C /dev/md0 -a yes &amp;#8211;level=1 &amp;#8211;raid-devices=2 /dev/VolGroup00/1 /dev/VolGroup00/2&lt;br /&gt;
mdadm: array /dev/md0 started.&lt;/p&gt;
&lt;p&gt;Next convert the array to a physical volume&lt;br /&gt;
# pvcreate /dev/md0&lt;br /&gt;
  Physical volume &amp;#8220;/dev/md0&amp;#8243; successfully created&lt;/p&gt;
&lt;p&gt;Then create your group&lt;br /&gt;
# vgcreate testVG /dev/md0&lt;br /&gt;
  Volume group &amp;#8220;testVG&amp;#8221; successfully created&lt;/p&gt;
&lt;p&gt;# vgs&lt;br /&gt;
  LV           VG         Attr   LSize   Origin       Snap%  Move Log Copy%&lt;br /&gt;
  testFS       testVG     -wi-a-  96.00M&lt;/p&gt;
&lt;p&gt;We&amp;#8217;ve got a volume group with 96M free.&lt;/p&gt;
&lt;p&gt;Then create your logical volume&lt;/p&gt;
&lt;p&gt;# lvcreate -n testFS -L 96M testVG&lt;/p&gt;
&lt;p&gt;# lvs&lt;br /&gt;
  LV           VG         Attr   LSize   Origin       Snap%  Move Log Copy%&lt;br /&gt;
  testFS       testVG     -wi-a-  96.00M&lt;/p&gt;
&lt;p&gt;Next create a filesystem and stick some information on it:&lt;/p&gt;
&lt;p&gt;# mkfs.ext3 /dev/testVG/testFS&lt;br /&gt;
mke2fs 1.40.4 (31-Dec-2007)&lt;br /&gt;
Filesystem label=&lt;br /&gt;
OS type: Linux&lt;br /&gt;
Block size=1024 (log=0)&lt;br /&gt;
Fragment size=1024 (log=0)&lt;br /&gt;
24576 inodes, 98304 blocks&lt;br /&gt;
4915 blocks (5.00%) reserved for the super user&lt;br /&gt;
First data block=1&lt;br /&gt;
Maximum filesystem blocks=67371008&lt;br /&gt;
12 block groups&lt;br /&gt;
8192 blocks per group, 8192 fragments per group&lt;br /&gt;
2048 inodes per group&lt;br /&gt;
Superblock backups stored on blocks:&lt;br /&gt;
        8193, 24577, 40961, 57345, 73729&lt;/p&gt;
&lt;p&gt;Writing inode tables: done&lt;br /&gt;
Creating journal (4096 blocks): done&lt;br /&gt;
Writing superblocks and filesystem accounting information: done&lt;/p&gt;
&lt;p&gt;This filesystem will be automatically checked every 24 mounts or&lt;br /&gt;
180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;/p&gt;
&lt;p&gt;# mount /dev/testVG/testFS /mnt&lt;br /&gt;
# echo &amp;#8220;Critical Data&amp;#8221; &gt; /mnt/ThisIsVaulable&lt;/p&gt;
&lt;p&gt;At this point we&amp;#8217;re in an analog to where I am in production.  As I mentioned I moved everything critical off of one volumegroup already so I&amp;#8217;ve essentially got a logical volume on top of a raid1 array with 2 free disks.  At this point we can start moving stuff around:&lt;/p&gt;
&lt;p&gt;# mdadm -C /dev/md1 &amp;#8211;level=5 &amp;#8211;raid-devices=2 /dev/VolGroup00/3 /dev/VolGroup00/4&lt;br /&gt;
# mdadm: array /dev/md1 started.&lt;/p&gt;
&lt;p&gt;You can always check the status of your array in /proc/mdstat:&lt;/p&gt;
&lt;p&gt;# cat /proc/mdstat&lt;br /&gt;
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]&lt;br /&gt;
md1 : active raid5 dm-11[2] dm-10[0]&lt;br /&gt;
      102336 blocks level 5, 64k chunk, algorithm 2 [2/1] [U_]&lt;br /&gt;
      [====&gt;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;.]  recovery = 21.0% (22408/102336) finish=0.0min speed=22408K/sec&lt;/p&gt;
&lt;p&gt;md0 : active raid1 dm-9[1] dm-8[0]&lt;br /&gt;
      102336 blocks [2/2] [UU]&lt;/p&gt;
&lt;p&gt;Smarties will note that you have to have 3 disks to create a raid5 array.  Technically you only need 2, but you don&amp;#8217;t have redundancy.  I&amp;#8217;m basically running this array in a degraded mode.&lt;/p&gt;
&lt;p&gt;After that finishes I&amp;#8217;m going to steal one disk from the raid1 array.  At this point I feel the need to mention that I have a solid backup of all of the data left on our soon to be gone raid1 array.  If the disk it is on fails during the migration.  The data is likely toast.  The only way to protect against this is to add more disks to the machine which just isn&amp;#8217;t feasible in my use case.&lt;/p&gt;
&lt;p&gt;So lets fail a disk in the raid1 array and add it to the raid5 array:&lt;/p&gt;
&lt;p&gt;# mdadm /dev/md0 &amp;#8211;fail /dev/VolGroup00/2&lt;br /&gt;
mdadm: set /dev/VolGroup00/2 faulty in /dev/md0&lt;br /&gt;
# cat /proc/mdstat&lt;br /&gt;
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]&lt;br /&gt;
md1 : active raid5 dm-11[1] dm-10[0]&lt;br /&gt;
      102336 blocks level 5, 64k chunk, algorithm 2 [2/2] [UU]&lt;/p&gt;
&lt;p&gt;md0 : active raid1 dm-9[2](F) dm-8[0]&lt;br /&gt;
      102336 blocks [2/1] [U_]&lt;/p&gt;
&lt;p&gt;Note the (F), its failed.&lt;/p&gt;
&lt;p&gt;# mdadm /dev/md0 &amp;#8211;remove /dev/VolGroup00/2&lt;br /&gt;
mdadm: hot removed /dev/VolGroup00/2&lt;/p&gt;
&lt;p&gt;# cat /mnt/ThisIsVaulable&lt;br /&gt;
Critical Data&lt;/p&gt;
&lt;p&gt;note we have not unmounted /mnt and will not do so.&lt;/p&gt;
&lt;p&gt;# mdadm -G /dev/md1 &amp;#8211;raid-devices=3 &amp;#8211;backup-file=/tmp/backup&lt;br /&gt;
mdadm: Need to backup 128K of critical section..&lt;br /&gt;
mdadm: &amp;#8230; critical section passed.&lt;br /&gt;
# mdadm /dev/md1 &amp;#8211;add /dev/VolGroup00/2&lt;br /&gt;
mdadm: added /dev/VolGroup00/2&lt;/p&gt;
&lt;p&gt;# cat /proc/mdstat&lt;br /&gt;
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]&lt;br /&gt;
md1 : active raid5 dm-9[3](S) dm-11[1] dm-10[0]&lt;br /&gt;
      102336 blocks super 0.91 level 5, 64k chunk, algorithm 2 [3/2] [UU_]&lt;br /&gt;
      [====&gt;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;.]  reshape = 24.0% (25088/102336) finish=0.4min speed=2787K/sec&lt;/p&gt;
&lt;p&gt;md0 : active raid1 dm-8[0]&lt;br /&gt;
      102336 blocks [2/1] [U_]&lt;/p&gt;
&lt;p&gt;At this time it is reshaping the raid5 array and ultimately will add my new disk and rebuild the array.  The array is online at that time and could be used.&lt;/p&gt;
&lt;p&gt;So now we have two arrays, its time to add our raid5 array to the testVG volume group:&lt;/p&gt;
&lt;p&gt;# pvcreate /dev/md1&lt;br /&gt;
  Physical volume &amp;#8220;/dev/md1&amp;#8243; successfully created&lt;/p&gt;
&lt;p&gt;# vgs&lt;br /&gt;
  VG         #PV #LV #SN Attr   VSize   VFree&lt;br /&gt;
  testVG       1   1   0 wz&amp;#8211;n-  96.00M     0&lt;/p&gt;
&lt;p&gt;# vgextend testVG /dev/md1&lt;br /&gt;
  Volume group &amp;#8220;testVG&amp;#8221; successfully extended&lt;/p&gt;
&lt;p&gt;# vgs&lt;br /&gt;
  VG         #PV #LV #SN Attr   VSize   VFree&lt;br /&gt;
  testVG       2   1   0 wz&amp;#8211;n- 292.00M 196.00M&lt;/p&gt;
&lt;p&gt;notice the size of our volumegroup has changed.  Now comes the magic.  All of our valuable data is still on the raid1 (/dev/md0) raid array.  To move it off of that disk, onto the new disk we use the pvmove command:&lt;/p&gt;
&lt;p&gt;# pvmove -i 1 /dev/md0&lt;br /&gt;
  /dev/md0: Moved: 4.2%&lt;br /&gt;
  /dev/md0: Moved: 37.5%&lt;br /&gt;
  /dev/md0: Moved: 70.8%&lt;br /&gt;
  /dev/md0: Moved: 100.0%&lt;/p&gt;
&lt;p&gt;Then to remove the disks from the testVG, use vgreduce:&lt;/p&gt;
&lt;p&gt;# vgreduce testVG /dev/md0&lt;br /&gt;
  Removed &amp;#8220;/dev/md0&amp;#8243; from volume group &amp;#8220;testVG&amp;#8221;&lt;/p&gt;
&lt;p&gt;At that point, the hard part is over, but we&amp;#8217;re not done.  Now we&amp;#8217;re going to disable the /dev/md0 array and add the only remaining disk to /dev/md1.&lt;/p&gt;
&lt;p&gt;# mdadm -S /dev/md0&lt;br /&gt;
mdadm: stopped /dev/md0&lt;/p&gt;
&lt;p&gt;# mdadm -G /dev/md1 &amp;#8211;raid-devices=4 &amp;#8211;backup-file=/tmp/backup&lt;br /&gt;
mdadm: Need to backup 384K of critical section..&lt;br /&gt;
mdadm: &amp;#8230; critical section passed.&lt;/p&gt;
&lt;p&gt;# mdadm /dev/md1 &amp;#8211;add /dev/VolGroup00/1&lt;br /&gt;
mdadm: added /dev/VolGroup00/1&lt;/p&gt;
&lt;p&gt;# cat /proc/mdstat&lt;br /&gt;
Personalities : [raid0] [raid1] [raid6] [raid5] [raid4]&lt;br /&gt;
md1 : active raid5 dm-9[2] dm-11[1] dm-10[0]&lt;br /&gt;
      204672 blocks super 0.91 level 5, 64k chunk, algorithm 2 [4/3] [UUU_]&lt;br /&gt;
      [==&gt;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;&amp;#8230;]  reshape = 14.0% (15172/102336) finish=0.4min speed=3034K/sec&lt;/p&gt;
&lt;p&gt;Again we&amp;#8217;re reshaping then rebuilding the array, notice md0 is gone.&lt;/p&gt;
&lt;p&gt;# pvs&lt;br /&gt;
  PV         VG         Fmt  Attr PSize   PFree&lt;br /&gt;
  /dev/md1   testVG     lvm2 a-   196.00M 100.00M&lt;/p&gt;
&lt;p&gt;# pvresize /dev/md1&lt;br /&gt;
  Physical volume &amp;#8220;/dev/md1&amp;#8243; changed&lt;/p&gt;
&lt;p&gt;# pvs&lt;br /&gt;
  PV         VG         Fmt  Attr PSize   PFree&lt;br /&gt;
  /dev/md1   testVG     lvm2 a-   296.00M 200.00M&lt;/p&gt;
&lt;p&gt;# vgs&lt;br /&gt;
  VG         #PV #LV #SN Attr   VSize   VFree&lt;br /&gt;
  testVG       1   1   0 wz&amp;#8211;n- 296.00M 200.00M&lt;/p&gt;
&lt;p&gt;Now we&amp;#8217;ve got that additional 100M to use.  remember, you lose a drive of usage when using raid0, so our total storage is only 3 of our 100M disks (for 300M of usable space)  The 96M is already taken by the filesystem.&lt;/p&gt;
&lt;p&gt;To use some of this space, first we need to extend the logical volume we created earlier (testFS).  Note size before and after:&lt;br /&gt;
# lvs&lt;br /&gt;
  LV           VG         Attr   LSize   Origin       Snap%  Move Log Copy%&lt;br /&gt;
  testFS       testVG     -wi-a-  96.00M&lt;/p&gt;
&lt;p&gt;# lvresize /dev/testVG/testFS -L +100M&lt;br /&gt;
  Extending logical volume testFS to 196.00 MB&lt;br /&gt;
  Logical volume testFS successfully resized&lt;/p&gt;
&lt;p&gt;# lvs&lt;br /&gt;
  LV           VG         Attr   LSize   Origin       Snap%  Move Log Copy%&lt;br /&gt;
  testFS       testVG     -wi-ao 196.00M&lt;/p&gt;
&lt;p&gt;next, resize the filesystem:&lt;/p&gt;
&lt;p&gt;# df -h /mnt&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/mapper/testVG-testFS&lt;br /&gt;
                       93M  5.6M   83M   7% /mnt&lt;/p&gt;
&lt;p&gt;# resize2fs /dev/testVG/testFS&lt;br /&gt;
resize2fs 1.40.4 (31-Dec-2007)&lt;br /&gt;
Filesystem at /dev/testVG/testFS is mounted on /mnt; on-line resizing required&lt;br /&gt;
old desc_blocks = 1, new_desc_blocks = 1&lt;br /&gt;
Performing an on-line resize of /dev/testVG/testFS to 200704 (1k) blocks.&lt;br /&gt;
The filesystem on /dev/testVG/testFS is now 200704 blocks long.&lt;/p&gt;
&lt;p&gt;# df -h&lt;br /&gt;
Filesystem            Size  Used Avail Use% Mounted on&lt;br /&gt;
/dev/mapper/testVG-testFS&lt;br /&gt;
                      190M  5.6M  175M   4% /mnt&lt;/p&gt;
&lt;p&gt;# cat /mnt/ThisIsValuable&lt;br /&gt;
Critical Data&lt;/p&gt;
&lt;p&gt;Done, no outage.  It may be a few steps to do, but in my case its worth it to avoid having the downtime.  This is a pretty specific use-case but there are plenty of other cases where this example will allow users to use these tools in a way that has little impact on the end users.
&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Virtualization: Kicking and screaming....</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/04/virtualization_kicking_and_scr.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23350</id>
    
    <published>2008-04-03T13:30:48Z</published>
    <updated>2008-04-03T13:30:48Z</updated>
    
    <summary>I&apos;m working with a product that includes this disclaimer in their support documentation: &quot;Virtual environments, such as VMWare (and others) are not recommended, and thus not supported.&quot; I can almost see their point. It&apos;d be pretty daunting to gauge a...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Opinion" />
        <content type="html">
&lt;p&gt;I&amp;#8217;m working with a product that includes this disclaimer in their support documentation:&lt;/p&gt;
&lt;p&gt;&amp;#8220;Virtual environments, such as VMWare (and others) are not recommended, and thus not supported.&amp;#8221;&lt;/p&gt;
&lt;p&gt;I can almost see their point.  It&amp;#8217;d be pretty daunting to gauge a benchmark if a customer described the running host as &amp;#8220;1/13th of two dual core processors, 3.1 gigs of memory, and a 27 gigabyte filesystem disk&amp;#8221;.  True, that&amp;#8217;s a pretty extreme situation, but I wouldn&amp;#8217;t doubt it if there was the occasional bad provisioning by virtual system installers.&lt;/p&gt;
&lt;p&gt;Anyone who implements virtualization is implicitly trusting the VM solution to do the right thing, and when we see the operating system up and running, we just assume everything works perfectly.  But let&amp;#8217;s be honest: almost every VM solution creates some overhead, so you&amp;#8217;re missing out on a few resources.  That loss shouldn&amp;#8217;t amount to much, but it could mean a lot to an application.  And while CPU and memory can be partitioned, device IO such as hard disks are a little sketchy.&lt;/p&gt;
&lt;p&gt;To the developers of the above unnamed application, I know it&amp;#8217;s going to be a big hassle, but five years from now, you&amp;#8217;re not going to be able to avoid virtualization.  Instead of the blanket disclaimers, increase your virtualization knowledge base, and create more test suites.  Find out what works, what doesn&amp;#8217;t, and why.  It&amp;#8217;s still okay to set guidelines on usage, but a wholesale avoidance of virtualization will hurt in the long run.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Is Hardware Still Commoditized?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/03/is_hardware_still_commoditized.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23279</id>
    
    <published>2008-03-21T13:58:22Z</published>
    <updated>2008-03-21T13:58:22Z</updated>
    
    <summary>Last week I attended a virtualization seminar. I did not expect a lot from the event at first, but I was surprised by the qualities of the guest speakers. Both had strong backgrounds with VM environments, and they did a...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;Last week I attended a virtualization seminar.  I did not expect a lot from the event at first, but I was surprised by the qualities of the guest speakers.  Both had strong backgrounds with VM environments, and they did a good job of explaining what it takes to migrate to VM.&lt;/p&gt;
&lt;p&gt;One of the speakers made an interesting statement, saying that the hypervisor is now commoditized.  The market for virtual solutions has gotten so big, it&amp;#8217;s unavoidable.  VMWare has ESX, Xen has their system, and Microsoft is coming out with Hyper-V.  If everybody offers what is essentially the same thing, then how do these products stand out from one another?&lt;/p&gt;
&lt;p&gt;Now your incentives for buying virtualization have changed.  You don&amp;#8217;t buy VMWare just because it offers virtualization; you buy VMWare because it has the best service, and the best hot migration features.  You might buy Hyper-V because your familiar with Microsoft internal APIs and management tools.  On top of virtualization, I&amp;#8217;m not sure what else Xen has to offer, but there could be new features coming out from Citrix.&lt;/p&gt;
&lt;p&gt;When I left the seminar, I started to re-evaluate hardware decisions that were made in the past.  The nature of the beast has changed.   Eight years ago, hardware decisions were taken for granted, because it too, was commoditized.&lt;/p&gt;
&lt;p&gt;Everything runs on an x86, and everyone makes an x86, so the low price usually won out.  Anything that the vendor offers on top of the low price might have clinched the deal.  Better support, better service, free shipping?  Whatever it took to sell a server and get it out the door.  Hundreds of IT departments packed data centers full of tight 1ru servers.  Virtualization has now made those servers worthless.&lt;/p&gt;
&lt;p&gt;When a single server failed, it was no big deal.  You probably had another one just like it running the same application.  If that same server is now running multiple virtual hosts, then the service impact is higher. Two machines may now be fighting for access to the same mirrored local disks.  What are the chances that they&amp;#8217;re impacting each other?&lt;/p&gt;
&lt;p&gt;If your server can only handle 2 running virtual hosts, then you cut hardware costs by 50%; but in order to win, your hardware savings still need to be higher than the support and licensing costs of your enterprise VM solution.  A 2 to 1 hardware savings ratio isn&amp;#8217;t good. it&amp;#8217;s &lt;em&gt;expected&lt;/em&gt;.  In order to maximize your investment, you should aim for a 4 to 1 hardware savings ratio, maybe higher&lt;/p&gt;
&lt;p&gt;Migrating to a VM environment does not mean building a VM solution into your servers; it means building your servers around a VM solution.  If the hypervisor really is treated like a commodity, then the same can no longer be said about the hardware.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Anton Security Tip of the Week #14: More access_log Fun: What Are You Not GETting?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/03/anton_security_tip_of_the_week_7.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23225</id>
    
    <published>2008-03-12T21:45:29Z</published>
    <updated>2008-03-12T21:45:31Z</updated>
    
    <summary> Following the tradition of posting a tip of the week (mentioned here, here ; SANS jumped in as well), I decided to follow along and join the initiative. One of the bloggers called it &quot;pay it forward&quot; to the...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;/p&gt;
&lt;p&gt;Following the tradition of posting a tip of the week (mentioned &lt;a href="http://www.stillsecureafteralltheseyears.com/ashimmy/2006/08/pay_it_forward__1.html"&gt;here&lt;/a&gt;, &lt;a href="http://mcwresearch.com/archives/265"&gt;here &lt;/a&gt;; &lt;a href="http://isc.sans.org/diary.php?storyid=1530&amp;rss"&gt;SANS jumped in as well&lt;/a&gt;), I decided to follow along and join the initiative. One of the bloggers called it &lt;a href="http://mcwresearch.com/archives/255"&gt;&amp;#8220;pay it forward&lt;/a&gt;&amp;#8221; to the community.&lt;/p&gt;
&lt;p&gt;So, Anton Security Tip of the Day #14: &lt;strong&gt;More access_log Fun: What Are You Not GETting?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In this tip, we will look at some bizarre artifacts that show up in web server access logs today. Here we have a production log from an Apache web server that is full of interesting (and sometimes ominous!) little mysteries that we will investigate in order to determine their impact on security and operational health of the site.&lt;/p&gt;
&lt;p&gt;Logs do contain more mysteries than we have time, so we will focus on a few of them: specifically, unusual &lt;a href="http://en.wikipedia.org/wiki/HTTP#Request_methods"&gt;web request methods&lt;/a&gt;.  Let&amp;#8217;s see who is trying to POST or use some other method (OPTIONS, HEAD, PUT or something - see a list &lt;a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html"&gt;here&lt;/a&gt;) on our site, instead of just GET&amp;#8217;ting the content (GET command is used by web browsers to retrieve the pages, while POST is used to upload content, press buttons, etc  - at least in &amp;#8220;web 1.0&amp;#8243; land  - &lt;a href="http://chuvakin.blogspot.com/2007/08/anton-security-tip-of-day-12-proxy-log.html"&gt;see earlier tip #12&lt;/a&gt; where POST request was found in proxy logs)&lt;/p&gt;
&lt;p&gt;Here is one little artifact that attracted my attention due to a POST request vs a web forum as well as a battery of slashes (which actually increases in subsequent request - of which there were many)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;10.10.102.250 - - [12/Feb/2008:16:10:50 -0500] &amp;#8220;&lt;strong&gt;&lt;u&gt;POST&lt;/u&gt;&lt;/strong&gt; /phpBB3////ucp.php?mode=register&amp;#038;sid=e5efaa77a777066c61f71808e9e57b19 HTTP/1.0&amp;#8243; &lt;strong&gt;&lt;u&gt;200&lt;/u&gt;&lt;/strong&gt; 14397 http://www.example.com/phpBB3///ucp.php?mode=confirm&amp;#038;id=7640df05c7e24b7acf7a68800fe6dc59&amp;#038;type=1&amp;#038;sid=e5efaa77a777066c61f71808e9e57b19 &amp;#8220;Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.2) Gecko/20021126&amp;#8243; &lt;/span&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;#8230; more&amp;#8230;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;10.10.102.250 - - [12/Feb/2008:16:12:29 -0500] &amp;#8220;&lt;strong&gt;&lt;u&gt;POST&lt;/u&gt;&lt;/strong&gt; /phpBB3///////////////ucp.php?mode=login&amp;#038;sid=e5efaa77a777066c61f71808e9e57b19 HTTP/1.0&amp;#8243; &lt;/span&gt;&lt;/em&gt;&lt;strong&gt;&lt;u&gt;200&lt;/u&gt;&lt;/strong&gt; &lt;em&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;9355 &amp;#8220;http://www.example.com/phpBB3//////////////ucp.php?mode=login&amp;#038;sid=e5efaa77a777066c61f71808e9e57b19&amp;#8243; &amp;#8220;Mozilla/5.0 (Windows; U; WinNT4.0; en-US; rv:1.2) Gecko/20021126&amp;#8243; &lt;/span&gt;&lt;/em&gt; &lt;/p&gt;
&lt;p&gt;This one really is a mystery; what do we know about it? The server responded to the request OK (code 200), so the POST actually happened. The first request was a request to register with a web discussion board and the second was a request to login. Multiple slashes are  actually ignored  by the web server, so why put them in the request (no answer)? Also, I think that the User-Agent is spoofed &amp;#8230; do you know why? Finally, if I see something like that in my logs, I will definitely investigate it, primarily due to the fact that Apache responded with 200 OK code. &lt;/p&gt;
&lt;p&gt;The next one is so classic it it dumb (and so dumb, it&amp;#8217;s a classic :-)) &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;em&gt;10.10.123.226 - - [12/Feb/2008:03:46:54 -0800] &amp;#8220;&lt;u&gt;&lt;strong&gt;POST&lt;/strong&gt;&lt;/u&gt; /_vti_bin/shtml.exe/_vti_rpc HTTP/1.1&amp;#8243; &lt;strong&gt;&lt;u&gt;404&lt;/u&gt;&lt;/strong&gt; - &amp;#8220;-&amp;#8221; &amp;#8220;MSFrontPage/6.0&amp;#8243; &lt;/em&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;em&gt;10.10.123.226 - - [12/Feb/2008:03:46:55 -0800] &amp;#8220;&lt;strong&gt;&lt;u&gt;OPTIONS&lt;/u&gt;&lt;/strong&gt; / HTTP/1.1&amp;#8243; &lt;strong&gt;&lt;u&gt;200&lt;/u&gt;&lt;/strong&gt; 20210 &amp;#8220;-&amp;#8221; &amp;#8220;Microsoft Data Access Internet Publishing Provider Protocol Discovery&amp;#8221; &lt;/em&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;It is probably one of the ancient IIS attacks (check out &lt;a href="http://www.blackhat.com/presentations/win-usa-03/bh-win-03-burnett/bh-win-03-burnett.ppt"&gt;this fun BlackHat preso&lt;/a&gt; on that, circa 2003) - why would someone probe for it now is beyond me. In any case, Apache on Linux and &amp;#8220;*.exe&amp;#8221; don&amp;#8217;t mix :-) &lt;/p&gt;
&lt;p&gt;The final log record is also fun:  &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:85%;"&gt;&lt;em&gt;10.10.101.222 - - [12/Feb/2008:15:33:22 -0800] &amp;#8220;&lt;strong&gt;&lt;u&gt;PUT&lt;/u&gt;&lt;/strong&gt; /zk.txt HTTP/1.0&amp;#8243; &lt;strong&gt;&lt;u&gt;405&lt;/u&gt;&lt;/strong&gt; 223 &amp;#8220;-&amp;#8221; &amp;#8220;Microsoft Data Access Internet Publishing Provider DAV 1.1&amp;#8243; &lt;/em&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;The above uses a PUT request which is pretty much deprecated now; the purpose of the above is clearly malicious. In fact, modern Apache shouldn&amp;#8217;t even allow it, thus it responds with code 405 &amp;#8220;Method Not Allowed.&amp;#8221; Nothing to worry about (even though some poor critter &lt;a href="http://discussions.apple.com/thread.jspa?threadID=1383655&amp;tstart=1"&gt;got owned with that&lt;/a&gt;! BTW, if you follow that link, check out HTTP response code 201 - if you see it in your logs, run! :-)) &lt;/p&gt;
&lt;p&gt;Overall, if you see too many POSTs or too many &amp;#8220;GET then POST&amp;#8221; sequences from the same IP in rapid succession, investigate it since no legitimate access should produce such a pattern&amp;#8230; &lt;/p&gt;
&lt;p&gt;As further reading, I heartily recommend this paper: &amp;#8220;&lt;a href="http://www.sans.org/reading_room/whitepapers/logging/2074.php"&gt;Detecting Attacks on Web Applications from Log Files&lt;/a&gt;&amp;#8220;&lt;/p&gt;
&lt;p&gt;Also, I am tagging all the tips on &lt;a href="http://del.icio.us/anton18"&gt;my del.icio.us feed&lt;/a&gt;. Here is the link: &lt;a href="http://del.icio.us/anton18/security+tips"&gt;All Security Tips of the Day&lt;/a&gt;. &lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&lt;span class="post-labels"&gt;&lt;br /&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:bb2e5e2e-3706-4b1c-9792-14f28f8c4487" style="margin: 0px; padding: 0px; display: inline;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tips" rel="tag"&gt;tips&lt;/a&gt;, &lt;a href="http://technorati.com/tags/security" rel="tag"&gt;security&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;/span&gt;  &lt;/p&gt;
&lt;p&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
_uacct = "UA-101395-8";&lt;br /&gt;
urchinTracker();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Poll #7: What tools do you use for Windows Event Log collection?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/03/poll_7_what_tools_do_you_use_f.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23192</id>
    
    <published>2008-03-07T20:54:17Z</published>
    <updated>2008-04-08T00:04:44Z</updated>
    
    <summary>My next fun logging poll is here - please vote! It is about tools for centralized collection of Windows Event Log from servers and other systems. One of the somewhat surprising discoveries from my previous poll was that few people...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;My next fun logging poll is &lt;a href="http://www.misterpoll.com/polls/328465"&gt;here &lt;/a&gt;- please vote! It is about tools for centralized collection of Windows Event Log from servers and other systems. One of the somewhat surprising discoveries from &lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;my previous poll&lt;/a&gt; was that few people look at Windows logs; this poll drills down into it. &lt;/p&gt;
&lt;p&gt;
&lt;b&gt;UPDATE:&lt;/b&gt; the results and analysis posted &lt;a href="http://chuvakin.blogspot.com/2008/04/windows-log-collection-poll-analysis.html"&gt;here&lt;/a&gt;. Enjoy!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Past logging polls and their analysis:&lt;/strong&gt; &lt;/p&gt;
&lt;li&gt;Poll #6 &lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;&amp;#8220;Which Logs Do You LOOK At?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #5 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;What are your top challenges with logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #4 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/12/poll-who-looks-at-logs-in-your.html"&gt;Who looks at logs in your organization?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/01/logging-poll-4-looks-at-logs-analysis.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #3 &lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;&amp;#8220;What do you do with Logs?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #2 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-why-do-you-collect-logs.html"&gt;Why collect logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/11/logging-poll-2-analysis.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #1 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-which-logs-do-you-collect.html"&gt;Which logs do you collect&lt;/a&gt;?&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;analysis&lt;/a&gt;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;)&lt;/a&gt;&lt;/li&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:3028389e-cbfa-4420-be37-0322cf5e45c5" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/logs" rel="tag"&gt;logs&lt;/a&gt;, &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/polls" rel="tag"&gt;polls&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
_uacct = "UA-101395-8";&lt;br /&gt;
urchinTracker();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Bitten By The New Mac Bug</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/03/bitten_by_the_new_mac_bug.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23083</id>
    
    <published>2008-03-03T14:23:22Z</published>
    <updated>2008-03-04T13:50:54Z</updated>
    
    <summary> I just bought a new MacBook. A co-worker of mine just bought a new MacBook Pro. To put it another way, we both bought new Apple Laptops....one week before the new models came out. After Tuesday&apos;s announcement I looked...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Opinion" />
        <content type="html">
&lt;p&gt;&lt;img alt="failbook.jpg" src="http://www.oreillynet.com/sysadmin/blog/images/failbook.jpg" width="584" height="539" /&gt;&lt;/p&gt;
&lt;p&gt;I just bought a new MacBook.  A co-worker of mine just bought a new MacBook Pro.  To put it another way, we both bought new Apple Laptops&amp;#8230;.&lt;em&gt;one week before the new models came out.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;After Tuesday&amp;#8217;s announcement I looked at the &lt;a href="http://www.apple.com/"&gt;Apple&lt;/a&gt; website with a hint of despair.  I missed out on a larger hard drive, a faster CPU, and more graphics memory.  Catherine missed out on a faster CPU, more memory and storage, plus the holy grail of Multi-Touch.  At the time of Apple&amp;#8217;s announcement, my laptop was only five days old; and Catherine&amp;#8217;s was six.&lt;/p&gt;
&lt;p&gt;Both of our systems were bought in person at the same Apple store.  We both knew what we wanted when we walked in so our sales encounters were short.  Catherine&amp;#8217;s sales rep was a short, clean cut guy, that looks like every Mac user walking down the street.  Mine was a big, serious guy, who kind of looked like &lt;a href="http://www.lostpedia.com/wiki/Artz"&gt;Dr. Artz&lt;/a&gt;.  Both sales people were professional, courteous, and well informed on the products we asked about.&lt;/p&gt;
&lt;p&gt;When the news of the new models hit Engadget, co-workers convinced us it wouldn&amp;#8217;t hurt to go to the store and see what they would do for us.  I didn&amp;#8217;t have the laptop or receipt with me, but I figured I could just ask.  During my lunch break I went out to that physical behemoth representing all that is good and capitalistic in this country; the &lt;a href="http://www.mallofamerica.com/"&gt;Mall of America&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I found a manager and I explained my plight.  To win over his sympathy, I made up a sob story about kids in an orphanage who only wanted the laptop so they could play a  scratched up copy of &lt;a href="http://www.cyanworlds.com/products/myst.php"&gt;Myst&lt;/a&gt; that somebody found in a dirty alley. &lt;/p&gt;
&lt;p&gt;The manager explained my options:  pay a restocking charge of 10% ($149), or get a refund of $200.  The restocking charge was because I&amp;#8217;d be returning an open/used laptop to Apple that they wouldn&amp;#8217;t be able to sell.  I told them I&amp;#8217;d think about it and return the next day.  Deep inside. I was kicking myself for selfishly taking my laptop out of the box and using it the very day I purchased it.  &lt;em&gt;I should have known better!&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Since Catherine had the MacBook Pro her restocking charge would have been $250, but her refund would  be $600.    That&amp;#8217;s a cost swing of $250 for me, and $850 for her.  We both know we&amp;#8217;re  never going to be 100% ahead of the technology curve, but we didn&amp;#8217;t expect to be hit with new models this quickly.  To be fair, we&amp;#8217;ll also admit that our gripes sound like a perfect candidate for &lt;a href="http://whitewhine.tumblr.com/"&gt;White Whine&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Maybe the complaint is due to Apple&amp;#8217;s notoriety in keeping new products secret.  I can understand keeping the MacBook Air secret, because it&amp;#8217;s a new product line.  But why keep hardware upgrades secret? The reviews of the new models report that the units are faster, but there&amp;#8217;s nothing really new or innovative.   If the sales person had told us that new models was coming out, we both would have waited, and we would have been happier customers.  Unfortunately, sales people at the Apple store have no idea when new models are coming, so they&amp;#8217;re just as powerless as we are.&lt;/p&gt;
&lt;p&gt;Both of us took  the refund money and ran.  We&amp;#8217;re happy with what we have, but a little disappointed in how the product release cycles can make someone regret their purchase.  The funny thing is, they&amp;#8217;re both still good notebook computers.  But the bleeding edge Mac culture (and to the PC culture as well) embraces newness, and shuns obsolescence.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Top 11 Reasons to Analyze Your Logs</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/02/top_11_reasons_to_analyze_your.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23060</id>
    
    <published>2008-02-22T17:55:47Z</published>
    <updated>2008-02-22T17:55:47Z</updated>
    
    <summary>As promised, here is another &quot;Top 11 Reasons&quot; which is about log analysis. Don&apos;t just read your logs (definitely don&apos;t just collect them); analyze them. Why? Here are the reasons: Seen an obscure log message lately? Me too - in...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
            <category term="Articles" />
        <content type="html">
&lt;p&gt;As promised, here is another &amp;#8220;Top 11 Reasons&amp;#8221; which is about log analysis. Don&amp;#8217;t just &lt;a href="http://chuvakin.blogspot.com/2007/07/top-11-reasons-to-look-at-your-logs.html "&gt;read your logs&lt;/a&gt; (definitely don&amp;#8217;t just &lt;a href="http://chuvakin.blogspot.com/2007/04/top-11-reasons-to-collect-and-preserve.html"&gt;collect them&lt;/a&gt;); &lt;strong&gt;analyze them&lt;/strong&gt;. Why? Here are the reasons:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Seen an &lt;a href="http://www.loganalysis.org/pipermail/loganalysis/2008-January/000534.html"&gt;obscure log message&lt;/a&gt; lately? Me too - in fact, everybody have. How do you know what it means (and logs usually do mean something) without analysis? At the very least, you might need to bring additional context to know what some logs mean (example: IP address -&amp;#62; hostname -&amp;#62; server owner)
&lt;li&gt;Logs often measure in gigabytes and soon will in terabytes; log volume grows all the time - it definitely passed the&amp;#160; limit of what a human can read a long time ago, it then made simple filtering &amp;#8216;what logs to read&amp;#8217; impossible as well: automated log analysis is the only choice.
&lt;li&gt;Do you peruse your logs in real time? This is simply absurd! However, automated real-time analysis is entirely possible (and some logs do crave for your attention ASAP - e.g. major system failures, confirmed intrusions, etc)
&lt;li&gt;Can you read multiple logs at the same time? Yes, kind of, if you print them out on multiple pages to correlate (yes, I&amp;#8217;ve seen this done :-)). Is this efficient? God, no! Correlation across logs of different types is one of the most useful approaches to log analysis.
&lt;li&gt;A lot of insight hides in &amp;#8220;sparse&amp;#8221; logs, logs where a single record barely matters, but a large aggregate does (e.g. from one &amp;#8220;connection allowed&amp;#8221; firewall log to a scan pattern). Thus, the only way to extract that insight from a pool of data is through&amp;#160; algorithms that &amp;#8220;condense&amp;#8221; that collection of logs into usable knowledge (&lt;a href="http://www.secviz.org/"&gt;some say&lt;/a&gt;, visualization is the way to go)
&lt;li&gt;Ever did a manual log baselining? This is where you read the logs for a while and learn which ones are normal for your environment. Wonna do it again? Thought so :-)&amp;#160; &lt;a href="http://www.slideshare.net/anton_chuvakin/log-mining-beyond-log-analysis"&gt;Log baseline learning&lt;/a&gt; is a useful and simple log analysis technique, but humans can only do it for so much before burning out.
&lt;li&gt;OK, let&amp;#8217;s pick the important logs to review. Which ones are those? The right answer is &amp;#8220;we don&amp;#8217;t know, until we see them.&amp;#8221; Thus, to even figure out which logs to read, you need automated analysis.
&lt;li&gt;Log analysis for compliance? Why, yes! Compliance is NOT only about log storage (e.g. &lt;a href="https://www.pcisecuritystandards.org/pdfs/pci_dss_v1-1.pdf"&gt;see PCI DSS&lt;/a&gt;). How to highlight compliance-relevant messages? How to see which messages will lead to a violation? How do you satisfy those &amp;#8220;daily log review&amp;#8221; requirements (again, &lt;a href="https://www.pcisecuritystandards.org/pdfs/pci_dss_v1-1.pdf"&gt;see PCI DSS&lt;/a&gt;)? Through automated analysis, of course!
&lt;li&gt;Logs&amp;#160; allow you to profile your users, your data and your resources/assets. Really? Yes, really: such profiling can then tell you if those users behave in an unusual manner (in fact, &lt;a href="http://www.csl.sri.com/projects/emerald/concepts.html"&gt;the oldest log analysis systems&lt;/a&gt; worked like that). Such techniques may help reach the &lt;em&gt;holy grail&lt;/em&gt; of log analysis: have the system automatically tell you what matters for you!
&lt;li&gt;Ever tried to hire a &lt;a href="http://www.loganalysispros.com/"&gt;log analysis expert&lt;/a&gt;? Those are few and far between. What if your junior analysts can suddenly analyze logs just as well? One log analysis system creator told me that his log data mining system enabled exactly that. Thus, saving a lot of money to his organization.
&lt;li&gt;Finally, can you predict future with your logs? I hope so! Research on predictive analytics is ongoing, but you can only do it with automated analysis tools, not with just your head alone (no matter how big :-)) &amp;#8230;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;#160;&lt;strong&gt;Past top 11 reasons:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://chuvakin.blogspot.com/2007/04/top-11-reasons-to-collect-and-preserve.html"&gt;Top 11 Reasons to Collect and Preserve Computer Logs&lt;/a&gt;
&lt;li&gt;&lt;a href="http://chuvakin.blogspot.com/2007/07/top-11-reasons-to-look-at-your-logs.html"&gt;Top 11 Reasons to Look at Your Logs&lt;/a&gt;&amp;#160;
&lt;li&gt;&lt;a href="http://chuvakin.blogspot.com/2007/10/top-11-reasons-to-secure-and-protect.html"&gt;Top 11 Reasons to Secure and Protect Your Logs&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6d93fc8c-2972-473d-83f7-2de4efb163b7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;, &lt;a href="http://technorati.com/tags/tips" rel="tag"&gt;tips&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
_uacct = "UA-101395-8";&lt;br /&gt;
urchinTracker();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Poll: What logs do you actually LOOK at?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/02/poll_what_logs_do_you_actually.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.23003</id>
    
    <published>2008-02-14T02:34:54Z</published>
    <updated>2008-03-07T20:16:26Z</updated>
    
    <summary>This is my 6th logging poll (vote here now!)- links to the previous five polls below. This one is deceptively similar to the #1 below, but it is not. This poll is What logs do you actually LOOK at? and...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;This is my 6th logging poll (vote &lt;a href="http://www.misterpoll.com/polls/325033"&gt;here&lt;/a&gt; now!)- links to the previous five polls below. &lt;/p&gt;
&lt;p&gt;This one is deceptively similar to the #1 below, but it is not. This poll is &lt;strong&gt;&lt;a href="http://www.misterpoll.com/polls/325033"&gt;What logs do you actually LOOK at?&lt;/a&gt; and not &lt;a href="http://chuvakin.blogspot.com/2007/10/poll-which-logs-do-you-collect.html"&gt;Which Logs Do You Collect?&lt;/a&gt;&amp;#160;&lt;/strong&gt;In other words, are you a log packrat? Are you collecting and never using the log data? You are &lt;a href="http://www.infosecwriters.com/texts.php?op=display&amp;#38;id=581"&gt;making a mistake&lt;/a&gt;, if you don&amp;#8217;t.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Past polls:&lt;/strong&gt;&lt;/p&gt;
&lt;li&gt;Poll #5 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;What are your top challenges with logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #4 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/12/poll-who-looks-at-logs-in-your.html"&gt;Who looks at logs in your organization?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/01/logging-poll-4-looks-at-logs-analysis.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #3 &lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;&amp;#8220;What do you do with Logs?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #2 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-why-do-you-collect-logs.html"&gt;Why collect logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/11/logging-poll-2-analysis.html"&gt;analysis&lt;/a&gt;)
&lt;li&gt;Poll #1 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-which-logs-do-you-collect.html"&gt;Which logs do you collect&lt;/a&gt;?&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;analysis&lt;/a&gt;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;)&lt;/a&gt; &lt;/li&gt;
&lt;p&gt;&amp;#160;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;UPDATE:&lt;/b&gt; analysis of this poll posted &lt;a href="http://chuvakin.blogspot.com/2008/03/logging-poll-6-logs-do-you-look-at.html"&gt;here&lt;/a&gt;. Enjoy!&lt;/p&gt;
&lt;div class="wlWriterEditableSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e8886def-194c-4911-a6a3-908c86e3b5db" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/logs" rel="tag"&gt;logs&lt;/a&gt;, &lt;a href="http://technorati.com/tags/polls" rel="tag"&gt;polls&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;script src="http://www.google-analytics.com/urchin.js" type="text/javascript"&gt;&lt;br /&gt;
&lt;/script&gt;&lt;br /&gt;
&lt;script type="text/javascript"&gt;&lt;br /&gt;
_uacct = "UA-101395-8";&lt;br /&gt;
urchinTracker();&lt;br /&gt;
&lt;/script&gt;&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Private Podcast Feeds</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/02/private_podcast_feeds.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.22948</id>
    
    <published>2008-02-08T16:58:26Z</published>
    <updated>2008-02-08T16:58:26Z</updated>
    
    <summary>A podcasting friend of mine ran into the problem of always having to send the new episodes to his co-hosts for review. Once everyone agreed that it was okay, the show was put live on the RSS feed. Their method...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;A podcasting friend of mine ran into the problem of always having to send the new episodes  to his co-hosts for review.  Once everyone agreed that it was okay, the show was put live on the RSS feed.  Their method of distributing a raw mp3 file?  Email.&lt;/p&gt;
&lt;p&gt;If only there was a way to distribute the file electronically, without the overhead of email, and yet still get the file automatically once it&amp;#8217;s ready.  How about RSS?&lt;/p&gt;
&lt;p&gt;ITunes and other feed aggregators have the feature of handling RSS feeds that are protected by HTTP authentication.  When you download the feed, your client will prompt you for a username and password before downloading the RSS XML.&lt;/p&gt;
&lt;p&gt;My friend&amp;#8217;s podcast now has two RSS feeds:&lt;/p&gt;
&lt;p&gt;http://www.example.com/feeds/public/podcast.xml&lt;br /&gt;
http://www.example.com/feeds/private/podcast.xml&lt;/p&gt;
&lt;p&gt;The first URL is what&amp;#8217;s submitted to all of the podcast directories.  The second one is strictly for preview purposes.  All of the responsible parties for the show subscribe to the private feed.  This allows them to test new episodes, and verify that the RSS &amp;#60;item&amp;#62; content for the episode is correct.&lt;/p&gt;
&lt;p&gt;Once everyone has agreed that the episode is ready, the RSS tags for the episode are copied over to the public feed XML file.  Now outside users can see the episode and download it.&lt;/p&gt;
&lt;p&gt;This is pretty good for most situations, but there is still one risk: HTTP URLs can contain authentication encoding in them, like so&amp;#8230;&lt;/p&gt;
&lt;p&gt;http://username:password@www.example.com/feeds/private/podcast.xml&lt;/p&gt;
&lt;p&gt;Avoid using this convention in your bookmarks, or feed entires.  If that URL were to be copied to an outside data source, there&amp;#8217;s a chance that it could get into the wild.  When that happens, outsiders may end up listening to your private,  not production ready,  podcast.&lt;/p&gt;
&lt;p&gt;To reduce the chances of that happening, ITunes won&amp;#8217;t list a podcast in their directory if the URL contains an embedded username and password.  They won&amp;#8217;t even list a podcast if the server makes a request for HTTP authentication.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Operations Mantras</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/02/operations_mantras.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.22904</id>
    
    <published>2008-02-04T22:15:08Z</published>
    <updated>2008-02-04T22:15:15Z</updated>
    
    <summary>Years ago I visited Danga back before the Six Apart acquisition, when the company had its headquarters a couple of miles away and when Brad lived a block and a half down the street. Brad showed me some of their...</summary>
    <author>
        <name>chromatic</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;Years ago I visited Danga back before the Six Apart acquisition, when the company had its headquarters a couple of miles away and when &lt;a href="http://bradfitz.com/"&gt;Brad&lt;/a&gt; lived a block and a half down the street.  Brad showed me some of their management tools &amp;#8212; almost all home-grown.&lt;/p&gt;

&lt;p&gt;I mention that because today I stumbled on &lt;a href="http://dormando.livejournal.com/484577.html"&gt;Dormando&amp;#8217;s [crappy] Operations Mantras&lt;/a&gt;.  &lt;a href="http://consoleninja.net/"&gt;Dormando&lt;/a&gt; works for Six Apart, and he has the same philosophy I see in Brad.  Relentless automation and merciless monitoring are the two secrets of efficient and effective system administration and operations management.&lt;/p&gt;

&lt;p&gt;I only wish that someone had handed me this list of mantras when I started as a system administrator in the &amp;#8217;90s.  (Puppet and Xen would have been nice too.)&lt;/p&gt;

    </content>
</entry>
<entry>
    <title>What is the cost of SMS?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/01/what_is_the_cost_of_sms.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.22866</id>
    
    <published>2008-01-29T18:21:00Z</published>
    <updated>2008-02-01T00:05:25Z</updated>
    
    <summary>Sam wrote a blog post about the cost of SMS messages. I admire the effort, but I&apos;m not in 100% agreement with his conclusion. I think the goal the author was trying to make is that SMS messages are overpriced,...</summary>
    <author>
        <name>Chris Josephes</name>
            </author>
            <category term="Opinion" />
        <content type="html">
&lt;p&gt;Sam wrote a blog post about the cost of &lt;a href="http://gthing.net/the-true-price-of-sms-messages/"&gt;SMS messages&lt;/a&gt;.  I admire the effort, but I&amp;#8217;m not in 100% agreement with his conclusion.&lt;/p&gt;
&lt;p&gt;I think the goal the author was trying to make is that SMS messages are overpriced, and consumers should be outraged.  To support his arguments, he compares a price per byte breakdown between a SMS message, an email message, and a printed document with thousands of characters (whether binary, hexadecimal or base64, I couldn&amp;#8217;t tell you).  Unfortunately, the comparisons seem a little weak, and a real cost breakdown between these two technologies is not fair.&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s take a look at 3 points the author tries to make.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1. What is the value (and the cost) of an SMS message?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A SMS message typically originates from one user&amp;#8217;s cell phone and arrives at another user&amp;#8217;s cell phone.  People use them for quick messages that either don&amp;#8217;t need an immediate reply, or do not require the receiver to have 100% of their attention on their cell phone.  Everyone has sent one of these at one time or another: &amp;#8220;I&amp;#8217;ll be late for lunch&amp;#8221;, &amp;#8220;OMG! TTYL?&amp;#8221;, or &amp;#8220;I never want to see your cheating face again&amp;#8221;.&lt;/p&gt;
&lt;p&gt;You don&amp;#8217;t need to boot up a PC, and you have a higher expectation that someone will notice the message quicker, because almost everyone carries their cell phone with them.  These aspects of SMS are features that carry a dollar value.  Twenty cents may seem high per message when the technology cost is almost zero, but technology is not the only expense by a carrier.&lt;/p&gt;
&lt;p&gt;First and foremost, people are needed to maintain the service.  That includes systems administrators, engineers, and customer support personnel.  Those costs need to be in balance with the total number of SMS messages that pass through a network.  Every carrier out there has already measured their own cost per SMS message, and that includes transport, personnel costs, and billing costs.  If SMS isn&amp;#8217;t profitable, people could lose their jobs, or the per message price could go up.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2. Ah, but SMS shouldn&amp;#8217;t have any cost, because the infrastructure is already in place, right?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Not exactly.  &lt;/p&gt;
&lt;p&gt;A per unit SMS charge &lt;em&gt;could&lt;/em&gt; mean that you&amp;#8217;re actually paying less for your base service.  If every customer is expected to send 25 messages a month, they could reduce the base price to be competitive, knowing they&amp;#8217;ll recover that cost with the add ons.  If you send under 25 messages, the carrier hopes that the emotional  teenager down the street will send 50 messages to cover your slack.&lt;/p&gt;
&lt;p&gt;Alternatively, a carrier could reduce operating costs by offering unlimited messages for a base price, like $10 for unlimited messages; but that creates the risk that consumers would just forgo SMS altogether.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;3. Apples and Oranges  (Is email cheaper than SMS?)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The other aspect of this article that confuses me is the comparison between SMS and email.  To put this in a better perspective, I&amp;#8217;ll make my own argument.&lt;/p&gt;
&lt;p&gt;If I were to fly from Minneapolis to Denver, the price of a one way ticket would be $290.23 with a flight time of approximately 2.5 hours.  If I were to drive the exact same trip, my gas cost would be $180 (assuming that I can get 350 miles for every full tank of gas), and I would get there within 17 hours.&lt;/p&gt;
&lt;p&gt;With either solution, I end up in Denver. Why does the airline in this case feel justified in charging such a higher cost? And if you think about it, that plane is going to Denver anyways, so I should be able to just ride it for free.&lt;/p&gt;
&lt;p&gt;My comparison is a fail of epic proportions, because both methods of transportation have different operating costs.  Airplanes cost more than cars, automobile gasoline has a tax for maintaining roads, flight attendants need paychecks.  In both cases I&amp;#8217;m paying different amounts of money, with different service expectations, but getting the exact same result.&lt;/p&gt;
&lt;p&gt;The comparison between email and SMS isn&amp;#8217;t fair because the author admits that there is no per email message cost.  No ISP would ever want to deal with billing per email message, because the tracking of incoming and outgoing messages would only increase the price.  You can use your bandwidth for web surfing, email, online games, or anything.  SMS messaging does not offer these features.&lt;/p&gt;
&lt;p&gt;Next, let&amp;#8217;s discuss the idea of sending a single MP3 file (much less 2,560) over the SMS protocol.  This is totally unreasonable action due to the size limits of SMS messages.  SMS was never designed to transfer files, so why compare a file transfer?  Most cell phone offer other methods, such as Bluetooth, or dedicated data networks for sending files.  And while I&amp;#8217;m at it, email isn&amp;#8217;t the best protocol for file transfers either.  If I had  2,560 individual emails of 4gb each, I would be looking at one mbox file of 10gb.  Managing that mailbox would kill most mail clients, and probably a couple of IMAP servers as well.&lt;/p&gt;
&lt;p&gt;Finally, the author is incensed that the person receiving the SMS message may also have to pay a surcharge.  Unfortunately, he fails to point out that the recipient of the email message will very likely have an ISP charge as well.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;If I&amp;#8217;m coming across as harsh, it&amp;#8217;s not my intention.  This analysis is simply a counterpoint to the claim that text messages are expensive.  Yes, they do cost a consumer money, and they probably make a profit for the carriers.  I do not think this means SMS messages are bad, or exploitative.&lt;/p&gt;
&lt;p&gt;The best way for a consumer to determine the cost of SMS messaging is to see what benefits the service gives you.  If they save time, improve communication, or reduce confusion, there&amp;#8217;s a value to that.  If SMS does not do any of these, then you have the option of not using it.&lt;/p&gt;
    </content>
</entry>
<entry>
    <title>Poll: What are your top challenges with logs and logging?</title>
    <link rel="alternate" type="text/html" href="http://www.oreillynet.com/sysadmin/blog/2008/01/poll_what_are_your_top_challen.html" />
    <id>tag:www.oreillynet.com,2008:/sysadmin/blog//7.22806</id>
    
    <published>2008-01-21T23:27:10Z</published>
    <updated>2008-02-13T23:04:53Z</updated>
    
    <summary>This poll is especially fun: What are your top challenges with logs and logging? Vote here. Past polls were: Poll #4 &quot;Who looks at logs in your organization?&quot; (analysis) Poll #3 &quot;What Do You Do With Logs?&quot; (analysis) Poll #2...</summary>
    <author>
        <name>Anton Chuvakin</name>
            </author>
            <category term="Technical" />
        <content type="html">
&lt;p&gt;&lt;a href="http://www.misterpoll.com/polls/320793"&gt;This poll&lt;/a&gt; is especially fun: &lt;strong&gt;What are your top challenges with logs and logging&lt;/strong&gt;? Vote &lt;a href="http://www.misterpoll.com/polls/320793"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Past polls were:&lt;/p&gt;
&lt;li&gt;Poll #4 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/12/poll-who-looks-at-logs-in-your.html"&gt;Who looks at logs in your organization?&lt;/a&gt;&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2008/01/logging-poll-4-looks-at-logs-analysis.html"&gt;analysis&lt;/a&gt;) &lt;/li&gt;
&lt;li&gt;Poll #3 &lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;&amp;#8220;What Do You Do With Logs?&amp;#8221;&lt;/a&gt; (&lt;a href="http://chuvakin.blogspot.com/2007/12/logging-poll-3-do-you-do-with-logs.html"&gt;analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #2 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-why-do-you-collect-logs.html"&gt;Why Collect Logs?&lt;/a&gt;&amp;#8221; (&lt;a href="http://www.misterpoll.com/results.mpl?id=3734960840"&gt;results so far&lt;/a&gt;, &lt;a href="http://chuvakin.blogspot.com/2007/11/logging-poll-2-analysis.html"&gt;my analysis&lt;/a&gt;)  &lt;/li&gt;
&lt;li&gt;Poll #1 &amp;#8220;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-which-logs-do-you-collect.html"&gt;Which Logs Do You Collect&lt;/a&gt;?&amp;#8221; (&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;analysis&lt;/a&gt;&lt;a href="http://chuvakin.blogspot.com/2007/10/poll-results-which-logs-do-you-collect.html"&gt;)&lt;/a&gt; &lt;/li&gt;
&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4f56c280-af68-4ab7-ae03-b221b9a71192" style="margin: 0px; padding: 0px; display: inline;"&gt;Technorati tags: &lt;a href="http://technorati.com/tags/polls" rel="tag"&gt;polls&lt;/a&gt;, &lt;a href="http://technorati.com/tags/logs" rel="tag"&gt;logs&lt;/a&gt;, &lt;a href="http://technorati.com/tags/logging" rel="tag"&gt;logging&lt;/a&gt;, &lt;a href="http://technorati.com/tags/log%20management" rel="tag"&gt;log management&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;&lt;b&gt;UPDATE:&lt;/b&gt;  the analysis for this poll is &lt;a href="http://chuvakin.blogspot.com/2008/02/logging-poll-5-logging-challenges.html"&gt;posted&lt;/a&gt;. Enjoy!&lt;/p&gt;
    </content>
</entry>
</feed> 
