<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Beyond Abstraction &#187; linux</title>
	<atom:link href="http://beyondabstraction.net/category/computers/linux/feed/" rel="self" type="application/rss+xml" />
	<link>http://beyondabstraction.net</link>
	<description>Meanderings and Such...</description>
	<lastBuildDate>Wed, 28 Mar 2012 18:39:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Building for older RHEL/Fedora releases on newer systems</title>
		<link>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/</link>
		<comments>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/#comments</comments>
		<pubDate>Wed, 15 Jun 2011 14:58:06 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=512</guid>
		<description><![CDATA[If you have ever tried to use a new Fedora or RHEL to build packages for older systems you may have run into errors at installation time. For example, if you were to roll a package on Fedora >=10 or RHEL >=6 and tried to install it on RHEL 5 you will get rpmlib(FileDigests) errors. &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>If you have ever tried to use a new Fedora or RHEL to build packages for older systems you may have run into errors at installation time.  For example, if you were to roll a package on Fedora >=10 or RHEL >=6 and tried to install it on RHEL 5 you will get rpmlib(FileDigests) errors.  This is because newer versions of RPM use new compression and hashing algorithms. To force an RPM to be build using the older algorithms add these lines to your spec file:<br />
<code>%define _binary_payload w9.gzdio<br />
 %define _binary_filedigest_algorithm 1<br />
 %define _source_filedigest_algorithm 1</code></p>
<p>You can wrap them in a conditional check if you only want to use the older algorithms when targeted older versions of RHEL/Fedora but they are forward compatible, ie you can install a package compiled with these flags on RHEL 6 without a problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2011/06/15/building-for-older-rhelfedora-releases-on-newer-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>On topics such as how to run sudo from a cron job</title>
		<link>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/</link>
		<comments>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 01:15:37 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=388</guid>
		<description><![CDATA[If you want to run sudo from any part of a cron job make sure you comment out the Defaults requiretty from /etc/sudoers. Bit me twice now so hopefully I&#8217;ll remember next time. Ed: Apologies to those who have read this before but I had to restore from backup and my last post wasn&#8217;t in &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>If you want to run sudo from any part of a cron job make sure you comment out the </p>
<blockquote><p>Defaults requiretty</p></blockquote>
<p>from /etc/sudoers. Bit me twice now so hopefully I&#8217;ll remember next time.</p>
<p><em>Ed: Apologies to those who have read this before but I had to restore from backup and my last post wasn&#8217;t in that backup.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/12/20/on-topics-such-as-how-to-run-sudo-from-a-cron-job%e2%80%a6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solid State Devices (SSD) and journaling</title>
		<link>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/</link>
		<comments>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/#comments</comments>
		<pubDate>Mon, 02 Mar 2009 07:09:51 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[BSD]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=307</guid>
		<description><![CDATA[A few things all of us are probably interested in: SSD Write Amplification: http://www.extremetech.com/article2/0,2845,2329594,00.asp Journaling and write performance in ext4: http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/ The bottom-line as far as wear and tear: vfat is basically the same as a journaled FS from a wear-leveling standpoint, both are worst case. Thankfully vfat, being the worst case, forced the manufacturers &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>A few things all of us are probably interested in:</p>
<ul>
<li>SSD Write Amplification:<br />
<br/><br />
<a href="http://www.extremetech.com/article2/0,2845,2329594,00.asp">http://www.extremetech.com/article2/0,2845,2329594,00.asp</a><br />
<br/>
</li>
<li>Journaling and write performance in ext4:<br />
<br/><br />
<a href="http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/">http://thunk.org/tytso/blog/2009/03/01/ssds-journaling-and-noatimerelatime/</a>
</li>
</ul>
<p>The bottom-line as far as wear and tear: vfat is basically the same as a journaled FS from a wear-leveling standpoint, both are worst case.  Thankfully vfat, being the worst case, forced the manufacturers to deal with the problem early.  So all those outlandish claims I made about the world being flat and NTFS on thumbdrives are unfounded.  Ted&#8217;s evidence does not speak to the amount of effort it takes to create an NTFS thumbdrive in Windows, however</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2009/03/02/solid-state-devices-ssd-and-journaling/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>My favorite shell completion of all time&#8230;</title>
		<link>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/</link>
		<comments>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 22:30:07 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=176</guid>
		<description><![CDATA[My favorite BASH shell completion of all time is hostname completion for all of my favorite commands: SSH_COMPLETE=( $(cat ~/.ssh/known_hosts &#124; \ cut -f 1 -d &#8216; &#8216; &#124; \ sed -e s/,.*//g &#124; \ uniq &#124; \ egrep -v [0123456789]) ) complete -o default -W &#8220;${SSH_COMPLETE[*]}&#8221; ssh scp sftp rsync nmap traceroute ping nslookup &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>My favorite BASH shell completion of all time is hostname completion for all of my favorite commands:</p>
<blockquote><p>SSH_COMPLETE=( $(cat ~/.ssh/known_hosts | \<br />
                 cut -f 1 -d &#8216; &#8216; | \<br />
                 sed -e s/,.*//g | \<br />
                 uniq | \<br />
                 egrep -v [0123456789]) )</p>
<p>complete -o default -W &#8220;${SSH_COMPLETE[*]}&#8221; ssh scp sftp rsync nmap traceroute ping nslookup dig host nmap nc</p></blockquote>
<p>I find most of the hosts I ssh into I use for basic network diagnostics.  So performing completion  for traceroute, ping, etc based on the contents of known_hosts works great.  Just add it to your .bashrc.</p>
<p><strong>Update: 2008/11/04</strong> </p>
<p>I&#8217;ve modified it to support completion of SVN commands leveraging the hostnames expanded during the SSH completion above:</p>
<blockquote><p><code>SVN_COMPLETE=( $(svn -h|grep -e '^   '|awk '{ print $1; }') $SSH_COMPLETE )<br />
complete -o default -W "${SVN_COMPLETE[*]} ${SSH_COMPLETE[*]}" svn</code></p></blockquote>
<p>Adding these may lengthen your shell exec tasks.  </p>
<p>I test at work. I work from home.  But I will not test from home.  Fix it yourself. (trademark pending).</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/21/my-favorite-shell-completion-of-all-time/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Red Hat RHN SSL certificate verification error</title>
		<link>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/</link>
		<comments>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 18:45:01 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=121</guid>
		<description><![CDATA[I was trying to connect to RHN from Yum/up2date in Red Hat Enterprise Linux 5. I kept getting fatal invalid SSL cert errors. The strange part &#8211; out of all of the machines I tested it was only occuring on a single RHEL 5 laptop. The really strange part &#8211; it was happening on the &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I was trying to connect to RHN from Yum/up2date in Red Hat Enterprise Linux 5.  I kept getting fatal invalid SSL cert errors.  The strange part &#8211; out of all of the machines I tested it was only occuring on a single RHEL 5 laptop.   The really strange part &#8211; it was happening on the host as well as inside a guest in a VM running in VMware Player.  </p>
<p>If you get this:</p>
<blockquote><p><code><br />
[root@rhel5-vm ~]# yum search openoffice<br />
Loading "rhnplugin" plugin<br />
Loading "installonlyn" plugin<br />
Traceback (most recent call last):<br />
  File "/usr/bin/yum", line 29, in ?<br />
    yummain.main(sys.argv[1:])<br />
  File "/usr/share/yum-cli/yummain.py", line 85, in main<br />
    base.getOptionsConfig(args)<br />
  File "/usr/share/yum-cli/cli.py", line 199, in getOptionsConfig<br />
    errorlevel=opts.errorlevel)<br />
  File "/usr/lib/python2.4/site-packages/yum/__init__.py", line 134, in doConfigSetup<br />
    self.plugins.run('init')<br />
  File "/usr/lib/python2.4/site-packages/yum/plugins.py", line 153, in run<br />
    func(conduitcls(self, self.base, conf, **kwargs))<br />
  File "/usr/lib/yum-plugins/rhnplugin.py", line 88, in init_hook<br />
    login_info = up2dateAuth.getLoginInfo()<br />
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 139, in getLoginInfo<br />
    login()<br />
  File "/usr/share/rhn/up2date_client/up2dateAuth.py", line 98, in login<br />
    li = server.up2date.login(systemId)<br />
  File "/usr/share/rhn/up2date_client/rhnserver.py", line 64, in __call__<br />
    raise up2dateErrors.SSLCertificateVerifyFailedError()<br />
up2date_client.up2dateErrors.SSLCertificateVerifyFailedError: The SSL certificate failed verification.<br />
</code></p></blockquote>
<p>Check the date/time on the machine.  Mine was a VM syncing w/ a host clock with a bad CMOS battery.  Caused it to think it was 2005 and the cert wasn&#8217;t valid yet.  Also explains why it happened in both host and guest.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/02/red-hat-rhn-ssl-certificate-verification-error/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Deleting All Messages in Exchange OWA</title>
		<link>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/</link>
		<comments>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/#comments</comments>
		<pubDate>Thu, 02 Oct 2008 15:05:45 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[apple]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[leopard]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/?p=119</guid>
		<description><![CDATA[Ran into a problem with Exchange. I created a server-side rule to place spam messages in a folder that didn&#8217;t exist. All spam was instead going to the root folder, the folder above my inbox. Well if you use Entourage to access Exchange you will not be able to access this folder. If you go &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>Ran into a problem with Exchange.  I created a server-side rule to place spam messages in a folder that didn&#8217;t exist.  All spam was instead going to the root folder, the folder above my inbox.  Well if you use Entourage to access Exchange you will not be able to access this folder.  If you go into Outlook Web Access (OWA) you can navigate to the root user folder by clicking on &#8220;Folders&#8221;.  </p>
<p>Unfortunately by this point I had like thousands and thousands of messages.  There is no &#8220;Delete All&#8221; option in OWA.  Craptacular.  So moving on I mounted the server via WebDAV in finder (cmd+k).  The URL to mount will look something like:<br />
<code>http://exchange.servername.com/exchange/username</code></p>
<p>If this folder is large navigating to it in Finder will be a horrific experience.  Open Terminal.app and navigate to the mountpoint.</p>
<p><code>~/> cd /Volumes/username</code></p>
<p>Once again, if the folder is large <code>rm *.EML</code> will not work as the wildcard expansion done by bash will exceed the length of the command-line itself (32K by default IIRC).  Try this:</p>
<p><code><br />
/Volumes/username> SRC=./*.EML<br />
/Volumes/username> for i in $SRC; do rm "$i"; done<br />
</code></p>
<p>This will cleanup most, if not all, of the mess.  Some files will not be removed due to escape characters and escaped escaped characters etc.  Open the folder in Finder and delete the rest.  There are def. more elegant ways to handle this from a scripting standpoint but this was quick and worked.  </p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/10/02/deleting-all-messages-in-exchange-owa/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Server Migration</title>
		<link>http://beyondabstraction.net/2008/03/08/server-migration/</link>
		<comments>http://beyondabstraction.net/2008/03/08/server-migration/#comments</comments>
		<pubDate>Sat, 08 Mar 2008 19:16:33 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SELinux]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[brickwall]]></category>
		<category><![CDATA[centos]]></category>
		<category><![CDATA[migration]]></category>
		<category><![CDATA[rhel]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/2008/03/08/server-migration/</guid>
		<description><![CDATA[It&#8217;s been three years since we upgraded the hardware that hosts our various sites. I contacted my provider (Crucial Paradigm) and got some competitive offers. Stefan, my friend in Berlin that I split the server with, and I agreed on the following specs: Athlon 64 x2 4000 (2 cores @ 2.1GHz, 512K L2 each) 4GB &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2008/03/08/server-migration/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been <a href="http://beyondabstraction.net/2005/03/03/new-server-and-the-seframework/" title="Old, New Hardware">three years since we upgraded the hardware</a> that hosts our various sites.  I contacted my provider (Crucial Paradigm) and got some competitive offers. Stefan, my friend in Berlin that I split the server with, and I agreed on the following specs:</p>
<ul>
<li>Athlon 64 x2 4000 (2 cores @ 2.1GHz, 512K L2 each)</li>
<li>4GB RAM, 160GB SATA, 100Mbps</li>
<li><a href="http://www.centos.org">CentOS 5</a></li>
<li>Apache, BIND, MySQL, Postifx, Spam Assassin, ClamAV, Cyrus IMAP</li>
<li>SELinux enforcing</li>
</ul>
<p>Once again this is going to be a dedicated, remote, hosted server.  A few days later and they contacted me with the login information.  I&#8217;m going to describe the move from a high-level.  I&#8217;m not going to go through the individual config file modifications or how to dump a Cyrus database.</p>
<p><span id="more-113"></span></p>
<p>It only took me about a day to prep the new system for the move.  Stefan was gone for a week so I could move pretty much all of my stuff but I would wait until he got back to move the shared mail services.  It is rather difficult to incrementally move users from one system to another using Cyrus so I just did a test migration of the IMAP spools and databases but waited on actually updating the DNS MX records.  </p>
<p>First I updated the glue records and name servers at my registrar.  I made the new system master and the old system I just modified to run as a slave.  I also had Josh fix his config since he is my DNS buddy (I highly recommend using the DNS buddy system).  With DNS up and running I added entries for the new server.</p>
<p>Then I moved my website.  I just dumped my databases and pulled them into the new system.  A few Apache tweaks and everything was good to go.  I was pulling my hair out at one point trying to figure out why the CentOS default page was appearing but I finally tracked it down to a welcome.conf configuration file.  I removed that and found I could debug Apache config problems more easily.</p>
<p>I decided to tackle all of the SSL stuff at once.  I setup Apache, Cyrus, and Postfix w/ certs and CAs.  I tested each service to ensure I had the directory permissions correct and had the authentication mechanisms properly configured.  It is at this point that I tested a Cyrus migration knowing that I would be repeating the process again later.  </p>
<p>Then I moved on to configuring the rest of the Postfix chain using Amavis, Spam Assassin, and ClamAV.  There was plenty of documentation on this process available online.  Note that ClamAV (and maybe a few of the others) are only available in the rpmforge yum repos.  These programs aren&#8217;t officially part of the CentOS/RHEL distributions but are commonly used by the user communities.  As a result their configuration files don&#8217;t mesh precisely with the rest of the services, for example storing the virus database in /var/clamav by default instead of /var/lib/clamav.  I fixed these discrepancies and would recommend you do the same.  It did take me a while to track all of these down.  freshclam (the ClamAV updater) was running from a Cron job.  It was trying to write to &#8220;/var/clamav&#8221; which didn&#8217;t exist.  As a result the virus signatures weren&#8217;t updating.  I discovered this only through reviewing the logs.</p>
<p>As soon as Stefan got back he moved all of his services and data.  Finally we cut the mail over to the new system by fixing the MX records and using the Postfix transport map feature on the old system to force it to relay to the new server.  That completed the migration.</p>
<p><strong>SELinux</strong><br />
Upon login I discovered SELinux was disabled despite my specific request that it be enabled.  I decided to fix it by hand instead of letting Brickwall fix it automatically to show that going from disabled to permissive to enforcing isn&#8217;t bad and shouldn&#8217;t be scary.  It should be done regardless of the presence of a management tool like Brickwall.  I changed the flag in <code>/etc/selinux/config</code> to enforcing and ran <code># touch /.autorelabel</code>.  </p>
<p>I also added <code>enforcing=0</code> to the ends of the kernel command lines in <code>/boot/grub/menu.lst</code>.  </p>
<blockquote><p>Tangent &#8211; I chose this route, modifying the grub file, for going into permissive mode during configuration and testing instead of setting the flag in <code>/etc/selinux/config</code> to permissive.  Applications, such as those built into Red Hat and CentOS as well as third party applications like Brickwall, modify the settings in <code>/etc/selinux/config</code>.  It is possible for me to inadvertently set the system to boot into enforcing before I am ready using these applications.  Since this is a remote server and the configuration is in flux I want to make sure a quick remote reboot request gets me back in to my system.  It is the exact same as using iptables remotely; you don&#8217;t load the firewall rules automatically on boot until you&#8217;re sure you can get back in through SSH.  As soon as I&#8217;m confident that I typed in the SSH network settings properly the system boots into enforcing mode.</p></blockquote>
<p>After setup is complete remember to remove the kernel command line flag &#8211; always going into permissive mode on reboot, much like not auto-loading firewall rules, is a patentable bad idea on a production system.</p>
<p>I disabled all unnecessary services (everything except SSH at this point) and rebooted.  The system relabeled and came up in permissive mode.   Everything was working fine and running in the proper SELinux domains according to <code># ps axZ</code>.  I ran <code># setenforce 1</code> to go into enforcing mode for the first time.  </p>
<p>Nothing bad happened.  The world didn&#8217;t end.  The system didn&#8217;t stop responding.  I&#8217;m also assuming the rampant rumor that <a href="http://twitter.com/UnquietMind/statuses/723260632" title="SELinux Kills">SELinux kills Giraffes in enforcing mode</a> is false because I watched the news and saw nothing Giraffe related.  This SELinux stuff really isn&#8217;t as hard, or as mean as people make it sound.  BTW Brickwall would have taken care of all of this editing of SELinux config files and relabeling stuff for me if I wasn&#8217;t such a control freak.</p>
<p>Well turning it on is one thing.  Really using it is a whole &#8216;nother thing right?  That is where Brickwall comes into play (disclaimer [1]).  I mentioned it before but think &#8220;SELinux Management&#8221; and there are free versions for Fedora and demos for RHEL and CentOS.  Because I&#8217;m cool I get to use the Enterprise Edition.  Mere mortals may have to run Professional or Standard via &#8220;ssh -X&#8221;.  There is no difference in configurability.  Both use the same configuration GUI.  The only policy difference is the policy for the remote daemon &#8211; not really needed if the remote enterprise management daemon isn&#8217;t installed.  One has centralized/remote management, the other does not. </p>
<p>Brickwall Enterprise Edition has two components, the centralized manager application with configuration editor and the remote daemon.  The centralized management application takes different plug-ins &#8211; I&#8217;m only going to be using Brickwall plug-in that supports general SELinux configuration.  I installed the Enterprise Manager with the Brickwall Enterprise component on my desktop RHEL 5 system.  This installation process generated the remote daemon RPMs for me.  These packages include SSL keys tying the remote daemon to this specific Enterprise Manager install.  The SSL keys are used to encrypt the network traffic between the manager and the client daemons.</p>
<p>I installed the remote daemon on the new system.  It is just a little daemon that facilitates remote management of SELinux policy.  I added one of the IPs of this system to a group in my Enterprise Manager.  The system had to be &#8220;activated&#8221; which means Brickwall had to switch from the standard targeted policy to a Brickwall policy.  There aren&#8217;t really any functional differences between the two policies &#8211; a default Brickwall policy is semantically equivalent to a targeted policy as shipped by Red Hat/CentOS.  But the Brickwall policy contains the structure we need in-place to customize the policy later.</p>
<p>Continuing w/ Brickwall I started restricting network settings for the services I would be running (listed above).  I restricted things like the spam, virus, mysql, and other mail filtering services to local host only.  I restricted service ports to meet my requirements.  I applied the configuration changes and rebooted and went into enforcing to verify services came up in the proper domain after a reboot.</p>
<p>All of the SELinux domain names show exactly what processes they target so run`ps axZ`.  All of you key services should be running as &#8220;*:*:servicename_t&#8221;, such as &#8220;mysqld_t&#8221; or &#8220;httpd_t&#8221; or &#8220;postfix_smtp_t&#8221;.  </p>
<p>The only thing that should be &#8220;unconfined_t&#8221; is user processes or custom services that aren&#8217;t targeted by SELinux.  Note that there are some 200 odd applications or services covered by SELinux so there is a good chance your &#8220;custom service&#8221; is covered.</p>
<p>[1] Disclaimer: I work for the company that makes Brickwall.  Since I&#8217;m only an amateur blogger (not commerically endorsed, still eligible for the Bloglympics) and since this doesn&#8217;t appear on tresys.com I&#8217;m not going to be writing a review or praise the software, I&#8217;m just going to run through using it to batten down the hatches on my system.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2008/03/08/server-migration/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>PS3 hypervisor partitioning</title>
		<link>http://beyondabstraction.net/2007/11/11/ps3-hypervisor-partitioning/</link>
		<comments>http://beyondabstraction.net/2007/11/11/ps3-hypervisor-partitioning/#comments</comments>
		<pubDate>Sun, 11 Nov 2007 18:44:38 +0000</pubDate>
		<dc:creator>spencer</dc:creator>
				<category><![CDATA[ideas]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ps3]]></category>
		<category><![CDATA[fedora linux ps3 playstation3]]></category>

		<guid isPermaLink="false">http://beyondabstraction.net/2007/11/11/ps3-hypervisor-partitioning/</guid>
		<description><![CDATA[I&#8217;ve been thinking of researching the PS3 hypervisor. Mainly from a security perspective but this led me to thinking. You know what would be cool? Micro-partioning a PS3. Obviously IBM has experience with micro-partitioning on the PPC and the Linux distros are already tried and tested in these exact environments. You could use the system &#8230; </p><p><a class="more-link block-button" href="http://beyondabstraction.net/2007/11/11/ps3-hypervisor-partitioning/">Continue reading &#187;</a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been thinking of researching the PS3 hypervisor.  Mainly from a security perspective but this led me to thinking.  You know what would be cool?  Micro-partioning a PS3.  Obviously IBM has experience with micro-partitioning on the PPC and the Linux distros are already tried and tested in these exact environments.  You could use the system as a Linux server for your house (SMB, mail, et al), play games/fold proteins at the same time, and even run multiple guests if you desire.  </p>
<p>The PS3 already has a hypervisor that allocates a subset of system resources to the &#8220;otheros&#8221; kernel.  One example, the hypervisor only exposes either a 10G or a 50G <em>virtual disk</em> (/dev/sda)  instead of the 50/10 split <em>physical disk</em> that actually exists (/dev/sda1, /dev/sda2).  I can only assume that this is to protect proprietary/otherwise protected information on the game OS partition.  A second example of the hypervisor partitioning resources: the guest OS can only access a subset of the total cell processor cores available.  Another measure in controlling access to proprietary information?</p>
<p>Granted this hypervisor is not nearly as advanced as those found in other IBM PPC platforms.  Still,  I might have found a use for virtualization in my home &#8211; running games and running services at the same time.  Yippee?  A second use, the real dork in me wants to run other Linux OSs at the same time as a Fedora OS.  Mainly because I want to experiment on other Linux distros but run Fedora to aid in my research mentioned above.</p>
]]></content:encoded>
			<wfw:commentRss>http://beyondabstraction.net/2007/11/11/ps3-hypervisor-partitioning/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

