<?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 : Security, Linux</title><link>http://port25.technet.com/archive/tags/Security/Linux/default.aspx</link><description>Tags: Security, Linux</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 40109.1145)</generator><item><title>Technical Analysis: OpenSSH on Linux using Windows/Kerberos for Authentication</title><link>http://port25.technet.com/archive/2008/06/06/technical-analysis-openssh-on-linux-using-windows-kerberos-for-authentication.aspx</link><pubDate>Fri, 06 Jun 2008 14:35:00 GMT</pubDate><guid isPermaLink="false">af7480c4-26b7-468d-87b0-2acebabb473d:19278</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=19278</wfw:commentRss><comments>http://port25.technet.com/archive/2008/06/06/technical-analysis-openssh-on-linux-using-windows-kerberos-for-authentication.aspx#comments</comments><description>&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Abstract:&lt;/STRONG&gt; Secure remote access to UNIX and Linux systems is generally accomplished through SSH. The most frequent implementation of that protocol is OpenSSH, originally written for the OpenBSD project but now ported to a wide variety of platforms. This paper will show how to use OpenSSH with the Kerberos portion of Active Directory to automate authentication.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Download &lt;A class="" href="http://port25.technet.com/Videos/research/OpenSSH%20on%20Linux%20using%20Windows.pdf" mce_href="http://port25.technet.com/Videos/research/OpenSSH%20on%20Linux%20using%20Windows.pdf"&gt;OpenSSH on Linux using Windows/Kerberos for Authentication&lt;/A&gt;&lt;/P&gt;
&lt;P mce_keep="true"&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=19278" width="1" height="1"&gt;</description><enclosure url="http://port25.technet.com/Videos/research/OpenSSH%20on%20Linux%20using%20Windows.pdf" length="141231" type="application/pdf" /><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/Security/default.aspx">Security</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/Open+Source/default.aspx">Open Source</category><category domain="http://port25.technet.com/archive/tags/Server+Center/default.aspx">Server Center</category><category domain="http://port25.technet.com/archive/tags/jcannon/default.aspx">jcannon</category><category domain="http://port25.technet.com/archive/tags/_7E00_FeaturedPost/default.aspx">~FeaturedPost</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>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></channel></rss>