<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://port25.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Port 25: The Open Source Community at Microsoft : Technical Analysis, Linux</title><link>http://port25.technet.com/archive/tags/Technical+Analysis/Linux/default.aspx</link><description>Tags: Technical Analysis, Linux</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Technical Analysis: Apache with mod_auth_kerb and Windows Server</title><link>http://port25.technet.com/archive/2008/01/25/technical-analysis-apache-with-mod-auth-kerb-and-windows-server.aspx</link><pubDate>Fri, 25 Jan 2008 21:58:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4527</guid><dc:creator>jcannon</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4527</wfw:commentRss><comments>http://port25.technet.com/archive/2008/01/25/technical-analysis-apache-with-mod-auth-kerb-and-windows-server.aspx#comments</comments><description>&lt;P&gt;&lt;STRONG&gt;Abstract&lt;/STRONG&gt;:&amp;nbsp; The Apache authentication module mod_auth_kerb allows Apache to authenticate users against a Kerberos KDC including one from ActiveDirectory. Kerberos itself can be fairly complex to set up. This guide will attempt to show the specific steps required to make this possible as well as discuss security limitations specific to the interoperability matters. This guide assumes a basic understanding of Kerberos V and that the Active Directory domain controller is properly configured prior to starting this process.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Note:&lt;/STRONG&gt; This paper represents testing and documentation in a lab environment. User Account Control (UAC) is an essential security component to Windows and Microsoft does not recommend turning off UAC in production environments. &lt;/P&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4527" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/attachment/4527.ashx" length="137651" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Community/default.aspx">Community</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Technical Analysis: Active Directory and Linux Identity Management</title><link>http://port25.technet.com/archive/2007/12/11/technical-analysis-active-directory-and-linux-identity-management.aspx</link><pubDate>Tue, 11 Dec 2007 19:22:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4429</guid><dc:creator>jcannon</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4429</wfw:commentRss><comments>http://port25.technet.com/archive/2007/12/11/technical-analysis-active-directory-and-linux-identity-management.aspx#comments</comments><description>&lt;BR&gt;&lt;B&gt;Abstract: &lt;/b&gt; This paper is written for a somewhat technical audience and covers how the identity management expectations differ between the Windows Server platform and Linux - and how Windows Server can be used to manage both.  This paper assume that the reader is familiar with general Windows administration tasks, such as user management.&lt;BR&gt;&lt;BR&gt;
&lt;b&gt;Note:&lt;/b&gt; This paper represents testing and documentation in a lab environment. User Account Control (UAC) is an essential security component to Windows and Microsoft does not recommend turning off UAC in production environments. 

&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4429" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/attachment/4429.ashx" length="139550" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Identity+and+Authentication/default.aspx">Identity and Authentication</category><category domain="http://port25.technet.com/archive/tags/Active+Directory/default.aspx">Active Directory</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Technical Analysis: Recovering Data from Windows systems by using Linux </title><link>http://port25.technet.com/archive/2007/11/20/technical-analysis-recovering-data-from-windows-systems-by-using-linux.aspx</link><pubDate>Tue, 20 Nov 2007 17:19:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4390</guid><dc:creator>jcannon</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4390</wfw:commentRss><comments>http://port25.technet.com/archive/2007/11/20/technical-analysis-recovering-data-from-windows-systems-by-using-linux.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;Abstract:&lt;br /&gt;&lt;/strong&gt;We have all run into cases where Windows fails to load for one reason or another. The problem may be hardware or a software failure, and the problem may seem to be irrecoverable.&amp;nbsp; Yet often Linux can be used to help recover data that otherwise might be lost. Another application of using Linux recovery is in the creation of disk images for post-mortem analysis of security breaches. While such images are not created according to forensics standards (which usually requires special hardware) and would not be likely to be of help in legal cases, they are helpful in internal reviews following such incidents.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This paper represents testing and documentation in a lab environment. User Account Control (UAC) is an essential security component to Windows and Microsoft does not recommend turning off UAC in production environments. &lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4390" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/attachment/4390.ashx" length="146515" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Vista/default.aspx">Vista</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Technical Analysis: Recovering GRUB, Dual Boot Solutions</title><link>http://port25.technet.com/archive/2007/10/30/technical-analysis-recovering-grub-dual-boot-solutions.aspx</link><pubDate>Tue, 30 Oct 2007 18:43:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:4359</guid><dc:creator>jcannon</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=4359</wfw:commentRss><comments>http://port25.technet.com/archive/2007/10/30/technical-analysis-recovering-grub-dual-boot-solutions.aspx#comments</comments><description>&lt;p&gt;Today&amp;#39;s post returns Port 25 to our&amp;nbsp;&lt;a href="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx"&gt;more regular technical analysis&lt;/a&gt; that examine common technical scenarios when running Windows and Linux together, or Windows and other&amp;nbsp;popular open source projects. This week, the lab looks at&amp;nbsp;at disk recovery options using GRUB and dual boot scenarios.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;br /&gt;Those of us who dual boot have seen it happen.&amp;nbsp; Somewhere down the line, we overwrite the bootloader (or configure it to ignore one of the operating systems) and suddenly we can only boot into one of the operating systems.&amp;nbsp; Probably the most common causes of these issues involve the use of fdisk /mbr and Windows installations overwriting GRUB&amp;nbsp; or LILO&amp;nbsp; (but it happens with Linux too).&amp;nbsp; In this paper, I will assume that you can only boot into Windows, and that you have decided to use GRUB as your bootloader.&amp;nbsp; A few of these notes are distribution-specific and those portions will be clearly marked.&amp;nbsp;&amp;nbsp; However, most of the process will work on any Linux distribution which conforms to accepted standards.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This paper represents testing and documentation in a lab environment. User Account Control (UAC) is an essential security component to Windows and Microsoft does not recommend turning off UAC in production environments. &lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=4359" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/attachment/4359.ashx" length="78397" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Data Recovery Using Linux</title><link>http://port25.technet.com/archive/2007/05/24/data-recovery-using-linux.aspx</link><pubDate>Thu, 24 May 2007 20:15:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3961</guid><dc:creator>MichaelF</dc:creator><slash:comments>24</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3961</wfw:commentRss><comments>http://port25.technet.com/archive/2007/05/24/data-recovery-using-linux.aspx#comments</comments><description>&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span&gt;&lt;font face="Verdana"&gt;It&amp;#39;s happened to me and I&amp;#39;m sure it has&amp;nbsp;happened to you:&amp;nbsp; your&amp;nbsp;software won&amp;#39;t load and your data is now trapped inside your PC. &amp;nbsp;The problem may be a hardware or a software failure, and the problem may seem to be irrecoverable.&amp;nbsp; Yet often Linux can be used to help recover data that otherwise might be lost.&amp;nbsp; This paper describes how one can use Linux to recover data from a non-functioning Windows machine.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span&gt;&lt;font face="Verdana"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal" style="margin: 0in 0in 0pt"&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3961" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/research/datarecovery.pdf" length="106841" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Windows Vista Beta/Linux IPsec Interop Testing</title><link>http://port25.technet.com/archive/2007/05/09/windows-vista-beta-linux-ipsec-interop-testing.aspx</link><pubDate>Wed, 09 May 2007 21:27:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3874</guid><dc:creator>MichaelF</dc:creator><slash:comments>69</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3874</wfw:commentRss><comments>http://port25.technet.com/archive/2007/05/09/windows-vista-beta-linux-ipsec-interop-testing.aspx#comments</comments><description>&lt;p&gt;&lt;span id="ctl00_ctl00_TaskRegion_Editor1_serverfilename"&gt;In addition to technical tips, blogs and&amp;nbsp;video interviews,&amp;nbsp;the Open Source Software Lab at Microsoft conducts a number of technical analysis and research projects throughout the year&amp;nbsp;to help inform and solve key interoperability challenges between Microsoft and open source technologies.&amp;nbsp; This particular research was conducted after reviewing data from our VPN research which was &lt;a href="http://port25.technet.com/archive/2007/03/09/technical-analysis-linux-vpn-how-to.aspx" target="_blank"&gt;previously posted&lt;/a&gt; to Port 25.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;span&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;This document provides an overview of Linux IPsec solutions as well as detailed discussions on configuring IPsec-Tools for interoperability scenarios between Red Hat Linux Enterprise 4 and Windows Vista Ultimate Beta.&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3874" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/research/IPsec Interop Final.pdf" length="626614" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Interop/default.aspx">Interop</category><category domain="http://port25.technet.com/archive/tags/Vista/default.aspx">Vista</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Technical Analysis: Linux VPN &amp; How-To</title><link>http://port25.technet.com/archive/2007/03/09/technical-analysis-linux-vpn-how-to.aspx</link><pubDate>Fri, 09 Mar 2007 19:08:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3622</guid><dc:creator>jcannon</dc:creator><slash:comments>8</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3622</wfw:commentRss><comments>http://port25.technet.com/archive/2007/03/09/technical-analysis-linux-vpn-how-to.aspx#comments</comments><description>&lt;p&gt;In our continuing series of papers describing both the research undertaken by the Open Source Software Lab, and technical tips, here is the latest networking configuration technical analysis. &lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;br /&gt;This document provides the reader with&amp;nbsp;an analysis of VPN functionality within the Linux operating system. Specifically, it provides a breakdown of VPN components and a description of what is available to Linux Administrators, in terms of manageability and functionality. It also provides a set of HOW-TO&amp;rsquo;s in the area&amp;rsquo;s of VPN and IPsec.&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3622" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/research/Linux-VPN-Analysis-Howto_final.pdf" length="504335" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Using Vista's Boot Manager to Boot Linux and Dual Booting with BitLocker Protection with TPM Support</title><link>http://port25.technet.com/archive/2006/10/13/Using-Vista_2700_s-Boot-Manager-to-Boot-Linux-and-Dual-Booting-with-BitLocker-Protection-with-TPM-Support.aspx</link><pubDate>Fri, 13 Oct 2006 19:57:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3161</guid><dc:creator>MichaelF</dc:creator><slash:comments>28</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3161</wfw:commentRss><comments>http://port25.technet.com/archive/2006/10/13/Using-Vista_2700_s-Boot-Manager-to-Boot-Linux-and-Dual-Booting-with-BitLocker-Protection-with-TPM-Support.aspx#comments</comments><description>&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Today we are introducing Cyril Voisin, Security Advisor for Microsoft in France where he has worked for 9 years.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Cyril is a CISSP (Certified Information Security Systems Professional) and along with his work at Microsoft also teaches systems and network security in local schools as time allows.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Cyril has started a &lt;a href="http://blogs.technet.com/voy"&gt;&lt;font color="#0000ff"&gt;blog&lt;/font&gt;&lt;/a&gt;, primarily focused on security (exact blog intent can be seen &lt;a href="http://blogs.technet.com/voy/archive/2006/10/05/_2200_Security-is-not-important_2C00_-when-you-have-it_2E0028002A0029002200_-_2D00_-a-constructive-blog-on-security.aspx"&gt;&lt;font color="#0000ff"&gt;here&lt;/font&gt;&lt;/a&gt;) but occasionally dealing with interoperability as it relates to security.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Cyril has given us permission to syndicate his content on Port 25, the first example is below.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Please feel free to post any questions or clarifications below or on Cyril&amp;rsquo;s blog.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;We welcome Cyril to Port 25 and look forward to featuring his work and insight in the future.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;-michael&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;-------------------------------------------------------------------------------------------------------&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;How to use Windows Vista&amp;rsquo;s Boot Manager to boot Linux&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;The Web is full of explanations on how to dual boot Windows and Linux using a Linux boot manager like GRUB or LILO. If you want to dual boot Windows Vista and Linux using Windows Vista&amp;rsquo;s Boot Manager, please read on. I will assume that you already have installed Linux on your machine using GRUB as your boot loader. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 1 &amp;ndash; Install GRUB on the Linux partition (outside of MBR)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;As Windows Vista will replace the Master Boot Record (MBR) with its own, we need to relocate GRUB elsewhere by running grub-install with the Linux partition as a parameter.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Linux, launch a Terminal with root privileges&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; text-indent: 0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp; Find the name of the partition Linux is installed on by running fdisk &amp;ndash;l (the partition you&amp;rsquo;re looking for is the one whose system is Linux, can be&amp;nbsp; something like /dev/sda1 or /dev/hda1. For the rest of this post, I&amp;rsquo;ll use /dev/sda1) &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; text-indent: 0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp; Install GRUB on the Linux partition by running : grub-install /dev/sda1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 2 &amp;ndash; Get a copy of Linux boot sector &lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;We will need to instruct Windows Boot Manager how to boot correctly Linux using Linux boot sector, which we will extract using dd.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Linux, launch a Terminal with root privileges&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Take a copy of Linux boot sector : dd if=/dev/sda1 of=/tmp/linux.bin bs=512 count=1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy linux.bin on a FAT formatted USB key or any storage accessible from Windows Vista&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 3 &amp;ndash; Install Windows Vista&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 4 &amp;ndash;&amp;nbsp; Configure dual booting in Windows Vista&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;We will create an entry for GRUB in Windows Vista boot configuration data store using bcdedit.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On Windows Vista, launch a command prompt with administrative privileges (by right clicking on cmd and choosing Run as Administrator)&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Copy Linux boot sector on the root of the Windows boot (active) partition, namely the one containing bootmgr. If you don&amp;rsquo;t know for sure you can use diskpart or diskmgmt.msc to find out which one it is.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Create an entry for GRUB : &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; bcdedit /create /d &amp;ldquo;GRUB&amp;rdquo; /application BOOTSECTOR&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; Note: bcdedit will return an ID for this entry that we will call {LinuxID} below. You will need to replace {LinuxID} by the returned identifier in this step. An example of {LinuxID} is {81ed7925-47ee-11db-bd26-cbb4e160eb27}&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Specify which device hosts a copy of the Linux boot sector&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; bcdedit /set {LinuxID} device boot&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Specify the path to a copy of the Linux boot sector&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; bcdedit /set {LinuxID}&amp;nbsp; PATH \linux.bin&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Add Linux entry to the displayed menu at boot time&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; bcdedit /displayorder {LinuxID} /addlast&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;bull;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Let the menu be displayed 10 seconds to allow for OS selection&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 1in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;o&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;nbsp;&amp;nbsp; bcdedit /timeout 10&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Building a dual boot system with Windows Vista BitLocker protection with TPM support&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Many people have wondered if it would be possible to dual boot a TPM-bitlockered instance of Windows Vista with Linux, or another OS. The answer is yes and the following procedure will hopefully help you setup your machine correctly. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Some (simplified) background on Bitlocker:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Bitlocker Drive Encryption allows encryption of Windows Vista&amp;rsquo;s partition and provides a secure startup process when in use with a TPM (a crypto chip on the motherboard).&amp;nbsp; Basically the BIOS, the TPM, the MBR and the boot sector will collaborate to help verify that there was no modification to the boot sequence since Bitlocker was activated. This is done by using a function of the TPM to compute and store a hash of the code before executing it, at each of the initial steps of the boot sequence. Different hashes will be computed and stored in specific registers of the TPM. Then Windows Vista will ask the TPM to unseal its volume encryption key and the TPM will only provide this key if its registers are correctly set. Therefore if you replace Windows Vista&amp;rsquo;s MBR by a MBR that is not TPM aware, it won&amp;rsquo;t hash the boot sector before executing it and a register in the TPM won&amp;rsquo;t be populated. Same with the boot sector. Therefore Bitlocker will simply refuse to be enabled. &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;The underlying idea here is to have Bitlocker enabled with the original Windows Vista boot files. Another possibility would be to use a TPM-aware version of GRUB. However this would imply using files in the boot sequence that were not tested by Microsoft, which I would not recommend. Moreover, using original Windows Vista files offers you the benefits of code that went through the Security Development Lifecycle, which I personally find very valuable.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Note: I assume that you have a Bitlocker compatible machine (including TPM 1.2, TCG BIOS). See &lt;a href="http://www.microsoft.com/technet/windowsvista/library/c61f2a12-8ae6-4957-b031-97b4d762cf31.mspx#BKMK_require"&gt;&lt;font color="#0000ff"&gt;http://www.microsoft.com/technet/windowsvista/library/c61f2a12-8ae6-4957-b031-97b4d762cf31.mspx#BKMK_require&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 1 &amp;ndash; Install Linux&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Note:&amp;nbsp; be sure to leave enough unpartitioned space for Windows Vista: about 11 GB of free unpartitioned space and slots for 2 partitions are needed&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 2 &amp;ndash; Install GRUB on the Linux partition (outside of MBR)&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;See other post &amp;ldquo;How to use Windows Vista&amp;rsquo;s Boot Manager to boot Linux&amp;rdquo;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 3 &amp;ndash; Get a copy of Linux boot sector&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;See other post &amp;ldquo;How to use Windows Vista&amp;rsquo;s Boot Manager to boot Linux&amp;rdquo;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 4 &amp;ndash; Create partitions for Windows Vista&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;We need to create 2 primary NTFS formatted partitions on the disk: one active, 1.5GB size minimum and another larger (all the rest for instance with a minimum of 8.5GB). The former will be used to boot the machine (active partition) and will remain unencrypted while the latter will host Windows Vista and will be encrypted when we activate Bitlocker.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;You can use diskpart tool to do this (available from Repair options on the Windows Vista DVD). Here is what the instructions may look like :&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;middot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; select disk 1&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;middot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create partition primary size=2048&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;middot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; active&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt 0.5in; text-indent: -0.25in; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&amp;middot;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; create partition primary&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 5 - Install Windows Vista&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Install Windows Vista on the largest NTFS partition.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 6 - Set up Windows Vista Boot Manager to boot Linux&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;See other post &amp;ldquo;How to use Windows Vista&amp;rsquo;s Boot Manager to boot Linux&amp;rdquo;.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;Step 7 - Enable BitLocker on Windows Vista&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;See BitLocker documentation, like &lt;a href="http://www.microsoft.com/technet/windowsvista/library/c61f2a12-8ae6-4957-b031-97b4d762cf31.mspx#BKMK_S3"&gt;&lt;font color="#0000ff"&gt;http://www.microsoft.com/technet/windowsvista/library/c61f2a12-8ae6-4957-b031-97b4d762cf31.mspx#BKMK_S3&lt;/font&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0in 0in 0pt; line-height: normal" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Verdana','sans-serif'"&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3161" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Security/default.aspx">Security</category><category domain="http://port25.technet.com/archive/tags/Vista/default.aspx">Vista</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Networking Roles Analysis Part Two:  FreeRADIUS</title><link>http://port25.technet.com/archive/2006/09/14/Networking-Roles-Analysis-Part-Two_3A00_--FreeRADIUS.aspx</link><pubDate>Thu, 14 Sep 2006 15:45:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:3030</guid><dc:creator>MichaelF</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=3030</wfw:commentRss><comments>http://port25.technet.com/archive/2006/09/14/Networking-Roles-Analysis-Part-Two_3A00_--FreeRADIUS.aspx#comments</comments><description>&lt;font face="Verdana" size="2"&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;In addition to technical tips, blogs and&amp;nbsp;video interviews,&amp;nbsp;the Open Source Software Lab at Microsoft conducts a number of technical analysis and research projects throughout the year&amp;nbsp;to help inform and solve key interoperability challenges between Microsoft and open source technologies.&amp;nbsp; This paper is part two of three.&amp;nbsp; The first paper in this series discussing DHCP can be found &lt;a href="http://port25.technet.com/archive/2006/07/25/Technical-Lab-Analysis_3A00_-DHCP-Server-.aspx"&gt;here&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;strong&gt;Abstract:&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;This paper is an evaluation and teardown of the GNU GPL-licensed FreeRADIUS software (h&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;ttp://www.freeradius.org/).&amp;nbsp; This document includes a detailed analysis of the features that are supported by the server as well as an analysis of the configuration, management and overall usability of the system.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Much of the analysis was done on a RedHat Enterprise Linux version 4 (RHEL4) system using the vendor-supplied FreeRADIUS package, which at the time of writing is version 1.0.1.&amp;nbsp; The latest package from the project website is version 1.1.0, which was also analyzed for additional features.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a href="http://port25.technet.com/videos/research/networkingrolesanalysisfreeradius.pdf"&gt;Download the Networking Roles Analysis-Free RADIUS paper&lt;/a&gt; (.PDF, 396k)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=3030" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/videos/research/networkingrolesanalysisfreeradius.pdf" length="402542" type="application/pdf" /><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Networking/default.aspx">Networking</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Honeypots and User Mode Linux Part 2:  Forensic Analysis</title><link>http://port25.technet.com/archive/2006/08/04/Honeypots-and-User-Mode-Linux-Part-2_3A00_--Forensic-Analysis.aspx</link><pubDate>Fri, 04 Aug 2006 19:50:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2889</guid><dc:creator>MichaelF</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2889</wfw:commentRss><comments>http://port25.technet.com/archive/2006/08/04/Honeypots-and-User-Mode-Linux-Part-2_3A00_--Forensic-Analysis.aspx#comments</comments><description>&lt;p&gt;&lt;strong&gt;&lt;font face="Verdana" size="2"&gt;UML (User Mode Linux) and Forensic Analysis&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;em&gt;(Special thanks to Dan Simonton for the testing and writing in support of this tech tip)&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Processes running under &lt;strong&gt;UML&lt;/strong&gt; will have no access to the hosting system, accept where explicitly allowed. Because of this &lt;strong&gt;UML&lt;/strong&gt; is an ideal candidate for operating a honeypot. While processes running in &lt;strong&gt;UML&lt;/strong&gt; have no outside access to the host operating system memory or filesystem; &lt;em&gt;hypothetically&lt;/em&gt;, if an attacker managed to break out of userspace into some section of the host filesystem, they &lt;em&gt;could&lt;/em&gt; do further damage on the host . Best-practice demands that host access be limited within the &lt;strong&gt;UML&lt;/strong&gt; instance wherever possible.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;For any of this to be practical, obviously some services would need to be established. We&amp;rsquo;ll just assume these are already in place and forwarding iptables rules setup on the host. For instance, to forward inbound http connections to your UML instance:&lt;/font&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;iptables -t nat -A PREROUTING -i eth0 -p tcp -s 0/0 \&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;--dport 80 -j DNAT --to-destination (uml ip):80&lt;/font&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p style="font-family: Verdana"&gt;&lt;font size="2"&gt;This process could be repeated for any other service you wish to run. Just be sure the appropriate destination port is specified both with the &amp;ldquo;--dport&amp;rdquo; option and also at the end of the command. Essentially you are instructing all inbound traffic to port 80 to be forwarded to your &lt;strong&gt;UML&lt;/strong&gt;. The same process could be repeated for ssh,ftp and others.&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p style="font-family: Verdana"&gt;&lt;font size="2"&gt;Typically, the first order of business for an intruder with root access is to wipe out log files. It is best therefore to have log files written to the host (or another remote) machine. To achieve this, &amp;nbsp;the host system&amp;rsquo;s syslogd daemon must be configured to receive inbound logs. Add &amp;ldquo;-r&amp;rdquo; to the runlevel script of the host machine where it invokes syslogd the&amp;nbsp;correct path is:&amp;nbsp;/etc/rc.d/syslog. On the client machine, add the following to /etc/syslog.conf:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&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;&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;&amp;nbsp; @yourhostmachine&amp;nbsp;&amp;nbsp; &lt;br /&gt;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (note: @ipaddress will work also) &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Now inbound connections to the &lt;strong&gt;UML&lt;/strong&gt; honeypot and activity on the honeypot can be investigated through log files on the host machine. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Conveniently for the purpose of running &lt;strong&gt;UML&lt;/strong&gt; as a honeypot, tty_logging of UML into a directory on the host machine is built as an option into the kernel. The simplest way to achieve this is to add the following to the kernel command line: &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;a name="Customization" title="Customization"&gt;&lt;/a&gt;&lt;font face="Verdana" size="2"&gt;tty_log_dir=dir&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;This way, even if they zap the shell log files on the &lt;strong&gt;UML&lt;/strong&gt;, you will still have an account of their activity on the machine.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;There are a few quick and common methods of checking running activity. The following two should be familiar to anyone with a relatively basic understanding Linux, but we&amp;rsquo;ll mention them here for propriety&amp;rsquo;s sake:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ps auxwww (check running process table)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;netstat &amp;ndash;lvnap|less (check open sockets, associated process, and user ids)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;In the past, whenever I&amp;rsquo;ve found any strange binaries (sometimes named something really vague or obscure), I&amp;rsquo;ll run the following command, sift through, and evaluate the output:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; strings (filename)|less&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;An all-to-commonly overlooked tool for inspecting a system is &amp;ldquo;lsof&amp;rdquo; (list of open files). It can be used to check file-to-file access, files listening on a socket and evaluate the state of a running process. It is helpful to know the normal running health of a system for comparison when using lsof. For a quick check of a specific process:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&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;lsof &amp;ndash;p (pid)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;To get socket info on a process:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&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; lsof&amp;nbsp; -i&amp;nbsp; -nP|grep -i&amp;nbsp;(process name)&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;To protect against potential outbound denial-of-service attacks, it might be prudent to explicitly declare hosts you wish to allow outbound ICMP traffic to (the host ip being one for example) and deny everything else. This can be done on the host by adding the following rules to iptables. You can add as many &amp;ldquo;ACCEPT&amp;rdquo; rules as you need, just be sure to put them before&amp;nbsp; the &amp;ldquo;DROP&amp;rdquo; rule.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iptables -A INPUT -p icmp &amp;ndash;s (uml ip) &amp;ndash;d (host ip) &amp;ndash;j ACCEPT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iptables &amp;ndash;A INPUT &amp;ndash;p icmp &amp;ndash;s (uml ip) &amp;ndash;d (other ip) &amp;ndash;j ACCEPT&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iptables &amp;ndash;A INPUT &amp;ndash;p icmp &amp;ndash;s (uml ip) &amp;ndash;d 0/0 &amp;ndash;j DROP &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;Similiarly, you could block potential outbound syn-flooding:&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&amp;nbsp;&amp;nbsp; iptables -N syn_flood&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iptables -A INPUT -p tcp --syn &amp;ndash;s (uml ip) -d 0/0 -j syn_flood&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; iptables -A syn_flood -m limit --limit 1/s --limit-burst 3 -j &lt;br /&gt;&amp;nbsp;RETURN&lt;br /&gt;&amp;nbsp;&amp;nbsp; iptables -A syn_flood -j DROP&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;A quick search of &lt;a style="color: blue; text-decoration: underline" href="http://sourceforge.net/"&gt;http://sourceforge.net&lt;/a&gt; or &lt;a style="color: blue; text-decoration: underline" href="http://freshmeat.net/"&gt;http://freshmeat.net&lt;/a&gt; will quickly realize a vast sea of various analysis tools. Provided the disk image size for your is adequate, any of these can be copied to the drive image or simply downloaded once you have the &lt;strong&gt;UML&lt;/strong&gt; instance running.&amp;nbsp; A few useful tools are:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://sourceforge.net/projects/tripwire/"&gt;Tripwire&lt;/a&gt;: Useful for monitoring data integrity. In a nutshell, it takes a snapshot of your system binaries (or other specified directory), creates a checksum, runs routine system integrity checks against it, and reports any deviation.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://www.porcupine.org/forensics/tct.html"&gt;The Coroner&amp;#39;s Toolkit&lt;/a&gt;: A suite of utilities for checking running process and file/filesystem information, recent changes and other such information. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://www.snort.org/"&gt;Snort&lt;/a&gt;: Snort is so prevalent, it almost needs no description. Still, it is one of the best tools for traffic analysis and intrusion detection. To accurately provide a description that does this monster justice would be a blog unto itself. There is a great FAQ on their website:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://www.snort.org/docs/faq/1Q05/"&gt;http://www.snort.org/docs/faq/1Q05/&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://freshmeat.net/projects/chkrootkit/"&gt;Chkrootkit&lt;/a&gt;: A utility for identifying rootkits installed on the system.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" size="2"&gt;This is but a small (microscopic) primer into a much larger world of intrusion detection and integrity analysis, but we hope some may find this useful. We will likely delve into these subjects in the future. &lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2889" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Security/default.aspx">Security</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Honeypots and User-Mode-Linux (UML): Part 1</title><link>http://port25.technet.com/archive/2006/07/23/Honeypots-and-User_2D00_Mode_2D00_linux-_2800_UML_29003A00_-Part-1.aspx</link><pubDate>Sun, 23 Jul 2006 22:21:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2805</guid><dc:creator>jcannon</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2805</wfw:commentRss><comments>http://port25.technet.com/archive/2006/07/23/Honeypots-and-User_2D00_Mode_2D00_linux-_2800_UML_29003A00_-Part-1.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 14pt; font-family: Tahoma"&gt;Honeypots and User-Mode-Linux (UML)&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Part I: Setting up UML&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;(Special thanks to Dan Simonton for the testing and writing in support of this tech tip)&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;In technical terms, a honeypot performs a function very similar to that of a &amp;ldquo;honeypot&amp;rdquo; in the outside world: a sweet lure. A &amp;ldquo;honeypot&amp;rdquo; is a system designed with the purpose of attracting the attention of prospective attackers, to assess how they are attempting to infiltrate the machine and what they doing once they gain access. There are literally thousands of honeypot networks and systems setup by security professionals and hobbyists worldwide. These systems can provide a wealth of information into forensics and assessing trends in network intrusion.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;This is Part One of a two part tech tip, which will address the setup of User Mode Linux (UML) for honeypot use. Part Two of the tech tip will cover the containment of intrusions and other security topics that arise while using UML as a honeypot. Also addressed in Part two will be the &amp;ldquo;forensics&amp;rdquo; i.e. identifying what exploits were tried on the honeypot.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;One of the more popular methods for constructing honeypots in the Linux world is to set up a kernel to run in &amp;ldquo;user mode&amp;rdquo; on a host Linux machine. In function, this is very similar to running a &amp;ldquo;Virtual PC&amp;rdquo; on a Microsoft Windows or Apple Macintosh system. The primary difference is that &amp;ldquo;User Mode Linux&amp;rdquo;, or UML is open source and (depending on your personal depth of knowledge of the Linux kernel) you can really tweak any and every aspect of the host and UML kernel to your liking.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;User Mode Linux is essentially an entire operating system running as a program in user space. It masquerades as an OS because for most purposes, it is one. The immediate benefit of running a honeypot this way is that with proper precautions taken, there is no significant threat to the host machine, or its operating system. When or if an attacker gains control of the UML instance, you can simply shut it down and restart at no cost to the hosting machine&amp;rsquo;s uptime or stability.&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;The first step is to download a copy of the actual kernel source that you wish to compile on the designated host machine. This can be obtained from &lt;a style="color: blue; text-decoration: underline" href="http://www.kernel.org/"&gt;http://www.kernel.org/&lt;/a&gt; or any associated mirror site. In this tech tip we will use the 2.6.16 kernel. The patches for the UML kernel can be obtained from:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.5in" class="MsoNormal"&gt;&lt;em&gt;&lt;span style="font-size: 10pt; font-family: 'Courier New'"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/skas-2.6.16-v8.2/skas-2.6.16-v8.2.patch.bz2"&gt;http://www.user-mode-linux.org/~blaisorblade/patches/skas3-2.6/skas-2.6.16-v8.2/skas-2.6.16-v8.2.patch.bz2&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;You will also want to create a filesystem for the UML. In the interest of time and space, there are a number of filesystems that can be downloaded for various distributions from:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://uml.nagafix.co.uk/"&gt;http://uml.nagafix.co.uk/&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;In this example we will be using Slackware-10.2&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;First of all, the standard commands are applied to unpack the source&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ tar &amp;ndash;zvxf&amp;nbsp; linux-2.6.16.tar.gz&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ bzip2 &amp;ndash;d skas-2.6.16.-v8.2.patch&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ cp skas-2.6.16.-v8.2.patch linux/&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ cd linux-2.6.16/&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ patch &amp;ndash;p1 &amp;lt; skas-2.6.16.-v8.2.patch&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;strong&gt;Note&lt;/strong&gt;: In every step of the build process, it is &lt;strong&gt;&lt;em&gt;&lt;u&gt;crucial&lt;/u&gt;&lt;/em&gt;&lt;/strong&gt; that the &amp;ldquo;ARCH=um&amp;rdquo; argument be passed along with the various kernel configuration and compilation commands.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Next we will clean out any .config files (if any are present) and generate a default configuration:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ make mrproper &amp;amp;&amp;amp; make mrproper ARCH=um&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ make defconfig ARCH=um&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Now we manually check and edit the configuration:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ make menuconfig ARCH=um&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;At the very top of the list are UML-specific options. It is important to know what some of these are:&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.5in" class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;span style="font-family: Lucida Console"&gt;[ ] Tracing thread support&lt;br /&gt;[*] Force a static link&lt;br /&gt;[ ]&amp;nbsp;Host processor type and features ---&amp;gt;&lt;br /&gt;[ ] Three-level pagetables (EXPERIMENTAL)&lt;br /&gt;[ ] Memory model (Flat Memory) ---&amp;gt;&lt;br /&gt;[*] Networking support&lt;br /&gt;[*] Kernel support for ELF binaries&lt;br /&gt;&amp;lt;M&amp;gt; Kernel support for MISC binaries&lt;br /&gt;&amp;lt; &amp;gt; Host filesystem&lt;br /&gt;&amp;lt; &amp;gt; HoneyPot ProcFS (EXPERIMENTAL)&lt;br /&gt;[*] Management console&lt;br /&gt;[ ] Magic SysRq key&lt;br /&gt;(0) Nesting level&lt;br /&gt;[ ] Highmem support (EXPERIMENTAL)&lt;br /&gt;(2) Kernel stack size order&lt;br /&gt;[*] Real-time Clock&lt;/span&gt;&lt;/font&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt; &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;There are two options here in particular to take note of. &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;The first is the &lt;em&gt;&amp;ldquo;Host Filesystem&amp;rdquo;&lt;/em&gt; option. This gives the UML Linux kernel access to the host filesystem. If you enable this, be careful how the access is applied. A safe course is to apply extended mount and read-write restrictions over filesystems on the host machine.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;The second is the &lt;em&gt;&amp;ldquo;HoneyPot Procfs&amp;rdquo; &lt;/em&gt;option. This essentially overwrites entries in the /proc filesystem of the UML kernel with that of the host. This is useful in that it removes fingerprints which might otherwise indicate the host is a honeypot. It could also be a potential troublespot for someone could map out the architecture of the hosting machine using this information. This is less of a threat than it is something to keep in mind.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;NOTE:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt; Be sure to include general kernel support for ext2, ext3 and reiserfs.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Looking further down from the kernel configuration tree, see the options for UML network devices. If you want to get to the outside world from the user mode kernel, be sure to enable ethertap and tun/tap support. This will allow the user mode kernel to communicate with the host tun/tap device.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Be sure to check any other &amp;ldquo;non-uml&amp;rdquo; options for your kernel that might be relevant to your machine. There is one last step before you can build the kernel. Due to a macro called by the patch that is now deprecated, one of the kernel source files must be manually edited. In whatever text editor you prefer, open up the file: (within the source tree)&lt;/span&gt; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;arch/um/os-Linux/sys-i386/registers.c&lt;/span&gt; &lt;span style="font-size: 10pt; font-family: Tahoma"&gt;and add the following to the preprocessor directive:&lt;/span&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;#ifndef JB_PC&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;#define JB_PC 5&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;#define JB_SP 4&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;#define JB_BP 3&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;#endif&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Once all this is done, build the kernel with:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;$ make ARCH=um&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;At this point, we have our hard drive image (with distribution) and a UML&lt;strong&gt; &lt;/strong&gt;Linux kernel. We have a few more things to set up on the host before we are ready to boot our UML&lt;strong&gt; &lt;/strong&gt;instance. First, we need to make /dev/net/tun writable (by the user the UML kernel will be running as). The quick and dirty way to achieve this is to make it world writable (&lt;strong&gt;NOTE&lt;/strong&gt;: not a &amp;ldquo;best practice&amp;rdquo;, just a quick way to get from a to b). &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Alternatively you could create a separate group with write access to /dev/net/tun. Tun0 which is a tunneled interface to eth0, is used to negotiate traffic between the user mode kernel and the primary physical interface of the host machine. To configure the 1&lt;sup&gt;st&lt;/sup&gt; interface (tun0)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;tunctl &amp;ndash;u umluser umldev&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;This command invokes tunctl, specifies the creation of a device, assigns ownership to user (via &amp;ndash;u) to &amp;ldquo;umluser&amp;rdquo; and name its &amp;ldquo;umldev&amp;rdquo;. The IP side is configured the same way as a standard Ethernet interface via ifconfig:&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;ifconfig umldev (ip address)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;We&amp;rsquo;re ready to start our instance. We&amp;rsquo;ll want to specify the Ethernet device on start.&lt;/span&gt;&lt;/p&gt;&lt;p style="margin-left: 0.5in" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;linux ubd0=Slackware-10.2-root_fs mem=256M &amp;nbsp;eth0=tuntap,umldev &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Once you are asked for a login, simply enter &amp;ldquo;root&amp;rdquo; and it should drop you right to a shell.&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;dhcpcd: MAC address = fe:fd:00:00:00:00&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Starting OpenSSH SSH daemon:&amp;nbsp; /usr/sbin/sshd&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Updating shared library links:&amp;nbsp; /sbin/ldconfig&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p style="text-indent: 0.5in" class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Welcome to Linux 2.6.16-skas3-v8.2 (tty0)&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;yadda-yadda login: root&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Linux 2.6.16-skas3-v8.2.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Last login: Thu Jul 20 00:53:38 +0000 2006 on tty0.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;You have mail.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&lt;a href="mailto:root@yadda-yadda"&gt;root@yadda-yadda&lt;/a&gt;:~#&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;On the UML&lt;strong&gt; &lt;/strong&gt;side, use ifconfig to give an ip address to eth0. This needs to be something routable by the umldev&amp;nbsp;IP of the host machine. The route then must be set to the outside world (via the host umldev interface).&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;route add default gw (umldev ip)&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;On the host, packet forwarding and proxy_arp must be enabled:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Lucida Console"&gt;Host# echo 1 &amp;gt;/proc/sys/net/ipv4/ip_forward&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Lucida Console"&gt;Host# echo 1&amp;gt;/proc/sys/net/ipv4/conf/umldev/proxy_arp&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;Now you should be able to reach the outside world from UML:&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;[uml@yadda-yadda]$ ping www&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;PING www.yadda-yadda..com (192.168.0.1) 56(84) bytes of data.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;64 bytes from 192.168.0.1: icmp_seq=1 ttl=127 time=12.1 ms&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;&lt;br /&gt;root@yadda-yadda:~# ssh &lt;a href="http://www.yadda-yadda.com/"&gt;www.yadda-yadda.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;root@www.yadda-yadda.com&amp;rsquo;s&amp;nbsp; password:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;Last login: Thu Jul 20 11:00:50 2006 from yadda-yadda.com&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: 'Lucida Console'"&gt;[root@www ~]#&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;You should have a functional UML kernel running in its most basic form. You may kick it around, experiment with distributions (see links provided below), or otherwise abuse it as you see fit without consequence to your hosting system. This entry barely scratches the surface of one use of a usermode kernel, but if you have not considered running one before or are new to the idea, we hope this provides some useful information. Below are some links to some other resources, as well as the user-mode-linux project homepage.&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://user-mode-linux.sourceforge.net/"&gt;http://user-mode-linux.sourceforge.net/&lt;/a&gt;&amp;nbsp; - UML Project homepage&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://www.honeynet.org/misc/project.html"&gt;http://www.honeynet.org/misc/project.html&lt;/a&gt;&amp;nbsp;&amp;nbsp; - The honeynet project&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;a style="color: blue; text-decoration: underline" href="http://uml.nagafix.co.uk/"&gt;http://uml.nagafix.co.uk/&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; - A repository of disk images to use with your kernel &lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span style="font-size: 10pt; font-family: Tahoma"&gt;&lt;font face="Arial"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2805" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Security/default.aspx">Security</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Running Windows Command Line Applications from a Linux Box</title><link>http://port25.technet.com/archive/2006/04/19/Running-Windows-Command-Line-Applications-from-a-Linux-Box.aspx</link><pubDate>Wed, 19 Apr 2006 19:42:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:2178</guid><dc:creator>admin</dc:creator><slash:comments>11</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=2178</wfw:commentRss><comments>http://port25.technet.com/archive/2006/04/19/Running-Windows-Command-Line-Applications-from-a-Linux-Box.aspx#comments</comments><description>&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;Running Command Line Applications on Windows XP/2000 from a Linux Box:&lt;br /&gt;&lt;br /&gt;Question:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;-----Original Message-----&lt;br /&gt;From: swagner@********&lt;br /&gt;Sent: Thursday, April 13, 2006 2:35 PM&lt;br /&gt;To: Port25 Feedback&lt;br /&gt;Subject: (Port25) : You guys should look into _____&lt;br /&gt;Importance: High&lt;br /&gt;&lt;br /&gt;Can you recommend anything for running command line applications on a Windows XP/2000 box from within a program that runs on Linux?&amp;nbsp; For example I want a script to run on a Linux server that will connect to a Windows server, on our network, and run certain commands.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;strong&gt;Answer:&lt;br /&gt;&lt;br /&gt;&lt;/strong&gt;One way to do this would be to install an SSH daemon on the Windows machine and run commands via the ssh client on the Linux machine.&amp;nbsp; Simply search the web for information on setting up the Cygwin SSH daemon as a service in Windows (there are docs about this everywhere).&amp;nbsp; You can then run commands with ssh, somewhat like:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssh administrator@&amp;lt;hostname&amp;gt; &amp;#39;touch /cygdrive/c/blar&amp;#39;&lt;br /&gt;&lt;br /&gt;That will create a file in C:\ called &amp;quot;blar&amp;quot;.&amp;nbsp; You can also access Windows commands if you alter the path in the cygwin environment or use the full path to the command:&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ssh administrator@&amp;lt;hostname&amp;gt; &amp;#39;/cygdrive/c/windows/system32/net.exe view&amp;#39;&lt;/font&gt;&lt;/font&gt; &lt;img src="http://port25.technet.com/aggbug.aspx?PostID=2178" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item><item><title>Managing the Lab: SMS and our mixed environment</title><link>http://port25.technet.com/archive/2006/03/31/Managing-the-Lab_3A00_-SMS-and-our-mixed-environment.aspx</link><pubDate>Fri, 31 Mar 2006 15:00:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:13</guid><dc:creator>admin</dc:creator><slash:comments>21</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://port25.technet.com/rsscomments.aspx?PostID=13</wfw:commentRss><comments>http://port25.technet.com/archive/2006/03/31/Managing-the-Lab_3A00_-SMS-and-our-mixed-environment.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;Getting the Open Source Software Lab up and running presented a number of challenges &amp;ndash; not the least of which was how we were going to manage fifty Linux distributions, fifteen versions of UNIX, and multiple Windows instances deployed across literally hundreds of physical and virtual servers.&lt;span&gt;&amp;nbsp; &lt;/span&gt;This is quite a job for any management solution. &lt;span&gt;&amp;nbsp;&lt;/span&gt;Being the pragmatists we are, we decided to use this to test the viability of SMS (Microsoft Systems Management Server) using VMX (Vintela Management Extensions) in a mixed environment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/em&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;em&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span&gt;We deployed the solution and found it to be capable of handling our environment.&lt;span&gt;&amp;nbsp; &lt;/span&gt;Currently a large part of&lt;span&gt;&amp;nbsp; &lt;/span&gt;the lab is managed by SMS and VMX.&lt;span&gt;&amp;nbsp; &lt;/span&gt;When we describe this to people we are often asked, &amp;quot;Why does&amp;nbsp;Microsoft supports this kind of solution?&lt;span&gt;&amp;nbsp; &lt;/span&gt;Why do we care about mixed environments?&amp;quot;&lt;span&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;em&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/em&gt;&lt;em&gt;&lt;span&gt;We asked Bill Anderson, Lead Program Manager on the Windows Management Team, and here is what he had to say:&lt;/span&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;em&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;&lt;img border="0" height="72" src="http://port25.technet.com/photos/images/images/9/original.aspx" width="98" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;span&gt;Bill Anderson&lt;br /&gt;&lt;/span&gt;&lt;em&gt;&lt;span&gt;Not really, but his lab is less camera-shy.&lt;/span&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;span&gt;The first question I always get asked is, &amp;ldquo;what really was the catalyst for SMS to seek out a partner to provide extensions to OSS/Linux?&amp;nbsp; Simple &amp;ndash; our customers demanded it.&amp;nbsp; Our existing SMS customers are managing both desktops and servers, and have a multitude of platforms in production in those environments and wanted to extend the success they have with SMS on Windows to those additional platforms.&amp;nbsp; And, as we&amp;rsquo;re driving SMS into new customers, it has become one of the top requirements for customers &amp;ndash; an integrated solution to manage all their critical platforms.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;&lt;font color="#000000" size="2"&gt;&amp;nbsp;&lt;img border="0" height="305" src="http://port25.technet.com/photos/images/images/10/original.aspx" width="425" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span&gt;Now, the second driver was the WAY in which the market was doing cross-platform management.&amp;nbsp; It&amp;rsquo;s, well, &amp;ldquo;suboptimal&amp;rdquo;.&amp;nbsp; You either take 2 management systems (Windows mgmt, non-Windows mgmt) with their own array of servers, agents, and databases &amp;ndash; and join the databases, or you try to take one agent that runs on all platforms, and you can then only join the things that are the same/similar.&amp;nbsp; You either get a bunch of extra infrastructure with no leverage of skillsets, or you get a lowest common denominator management experience.&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;&lt;span&gt;What we did was option 3 &amp;ndash; build a single shared infrastructure that was extensible at the protocol, data, and UI layer, and then take the 2 leaders in the field to build from that same plumbing.&amp;nbsp; So, we optimized our agents for the work on Windows, and we worked with the Vintela team as the experts in managing OSS/Linux to really optimize their experience for that platform.&amp;nbsp; So, what does a customer get?&amp;nbsp; 1 database, one UI, one protocol, and agents unique to each platform.&amp;nbsp; Low operational cost, leveraged skillsets, and the opportunity for each vendor to really highlight the best they could do on each platform.&amp;nbsp; Some of the things that Vintela can surface and manage on the Linux platform, using SMS as a pipeline, are pretty amazing!&amp;nbsp; They&amp;rsquo;ve extended our UI to really expose all the remote functions available on Linux from the different vendors like Red Hat, SuSE, HP, and Sun.&amp;nbsp; My challenge to them was to make Linux look BETTER in SMS than Windows does.&amp;nbsp; We&amp;rsquo;ll try to make Windows more manageable by adding more, not by restricting.&amp;nbsp; And the results are pretty compelling.&amp;nbsp; As Andi put it in &lt;/span&gt;&lt;em&gt;&lt;span&gt;&lt;a href="http://www.networkworld.com/newsletters/nsm/2006/0306nsm2.html"&gt;Network World&amp;#39;s Network/Systems Management Newsletter&lt;/a&gt;&lt;/span&gt;&lt;/em&gt;&lt;span&gt;: &amp;ldquo;Yes, you read that correctly - Microsoft tools can make Linux management easier. To its credit, Microsoft has made this easier through partnerships and programs like its Dynamic Systems Initiative - a commitment from Microsoft and its partners to deliver self-managing dynamic systems&amp;hellip;(snip). &amp;nbsp;This allows enterprises to leverage their investment in native Windows tools to make them a very effective management platform for diverse networks. &amp;ldquo;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;How the Vintela solution works is really pretty simple.&amp;nbsp; They take a WBEM based agent (they are the project maintainer for OpenWBEM) that runs on the major OSS platforms, that points at a URL that is our Management Point role.&amp;nbsp; They extend our MMC based UI and voila &amp;ndash; instant management for Linux!&amp;nbsp; No database schema changes required, no separate middle infrastructure, etc.&amp;nbsp; Initially, there was an ISAPI.dll &amp;ldquo;gateway&amp;rdquo; they had built to convert their agent protocol to ours at the Management Point, but we&amp;rsquo;ve worked to even eliminate that as they are now using our native protocols.&amp;nbsp; As you can see, this is a slam dunk for a customer using SMS already to manage Windows that wants to extend it to manage Linux.&amp;nbsp; It&amp;rsquo;s amazing to walk to an SMS admin, open their admin UI, have them see machine collections based on Linux versions/vendors, and be able to send software to a group of Linux machines in about 3-4 clicks.&amp;nbsp; But, we&amp;rsquo;re even seeing customers use THIS as a solution for managing Linux only!&amp;nbsp; Vintela has done a great job of really just using the SMS UI, database, and pipes as their engine, and leveraging all the &lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center" class="MsoNormal"&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;&lt;img border="0" height="270" src="http://port25.technet.com/photos/images/images/11/original.aspx" width="459" /&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;font color="#000000" size="2"&gt;&lt;img border="0" height="270" src="http://port25.technet.com/photos/images/images/11/original.aspx" width="459" /&gt;&lt;/font&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;font size="2"&gt;&lt;font color="#000000"&gt;manageability on the native Linux platform to provide a great stand-alone tool for managing Linux.&amp;nbsp; Inventory, software distribution, patch management and remote tools &amp;ndash; all in one single UI and infrastructure.&amp;nbsp; The other key is really leveraging the OpenWBEM work to provide consistent management on different Linux versions.&amp;nbsp; The Vintela team has done a great job of driving consistency via OpenWBEM, but still leverage all the extra tools and functions provided by each Linux vendor.&amp;nbsp; If I were managing Linux systems (not a lot of that around here by the way!) I&amp;rsquo;d definitely use it!&amp;nbsp; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p class="MsoNormal"&gt;&lt;span&gt;&lt;font color="#000000" size="2"&gt;For more info, I&amp;rsquo;d also suggest taking a peek at the EMA document they did for Vintela at &lt;/font&gt;&lt;a href="http://www.vintela.com/products/vmx/docs/Managing_Heterogeneous_IT_with_SMS_EMA.pdf" title="http://www.vintela.com/products/vmx/docs/Managing_Heterogeneous_IT_with_SMS_EMA.pdf"&gt;&lt;font color="#000000" size="2"&gt;http://www.vintela.com/products/vmx/docs/Managing_Heterogeneous_IT_with_SMS_EMA.pdf&lt;/font&gt;&lt;/a&gt;&lt;font color="#000000" size="2"&gt;.&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;p align="center" class="MsoNormal"&gt;&lt;font color="#000000" size="2"&gt;&lt;img border="0" height="417" src="http://port25.technet.com/photos/images/images/12/original.aspx" width="584" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center" class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;img src="http://port25.technet.com/aggbug.aspx?PostID=13" width="1" height="1"&gt;</description><category domain="http://port25.technet.com/archive/tags/Technical+Analysis/default.aspx">Technical Analysis</category><category domain="http://port25.technet.com/archive/tags/Management/default.aspx">Management</category><category domain="http://port25.technet.com/archive/tags/Windows+Server/default.aspx">Windows Server</category><category domain="http://port25.technet.com/archive/tags/Linux/default.aspx">Linux</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category></item></channel></rss>