<?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>Allen Pomeroy &#187; tools</title>
	<atom:link href="http://www.pomeroy.us/tag/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pomeroy.us</link>
	<description>IT security thoughts and personal stuff</description>
	<lastBuildDate>Sat, 28 Jan 2012 08:55:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Securing Apache web servers</title>
		<link>http://www.pomeroy.us/2011/11/securing-apache-web-servers/</link>
		<comments>http://www.pomeroy.us/2011/11/securing-apache-web-servers/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 04:49:53 +0000</pubDate>
		<dc:creator>prodadmin</dc:creator>
				<category><![CDATA[notes]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.pomeroy.us/?p=424</guid>
		<description><![CDATA[Great article by Pete Freitag on Securing Apache Web Servers (20 ways to Secure your Apache Configuration) Here are 20 things you can do to make your apache configuration more secure. Disclaimer: The thing about security is that there are no guarantees or absolutes. These suggestions should make your server a bit tighter, but don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>Great article by Pete Freitag on Securing Apache Web Servers<br />
(<a href="http://www.petefreitag.com/item/505.cfm">20 ways to Secure your Apache Configuration</a>)</p>
<p>Here are 20 things you can do to make your apache configuration more secure.</p>
<p>Disclaimer: The thing about security is that there are no guarantees or absolutes. These suggestions should make your server a bit tighter, but don&#8217;t think your server is necessarily secure after following these suggestions.</p>
<p>Additionally some of these suggestions may decrease performance, or cause problems due to your environment. It is up to you to determine if any of the changes I suggest are not compatible with your requirements. In other words proceed at your own risk.</p>
<h3>First, make sure you&#8217;ve installed latest security patches</h3>
<p>There is no sense in putting locks on the windows, if your door is wide open. As such, if you&#8217;re not patched up there isn&#8217;t really much point in continuing any longer on this list.</p>
<h3>Hide the Apache Version number, and other sensitive information.</h3>
<p>By default many Apache installations tell the world what version of Apache you&#8217;re running, what operating system/version you&#8217;re running, and even what Apache Modules are installed on the server. Attackers can use this information to their advantage when performing an attack. It also sends the message that you have left most defaults alone.</p>
<p>There are two directives that you need to add, or edit in your <code>httpd.conf</code> file:</p>
<pre>ServerSignature Off
ServerTokens Prod</pre>
<p>The <code>ServerSignature</code> appears on the bottom of pages generated by apache such as 404 pages, directory listings, etc.</p>
<p>The <code>ServerTokens</code> directive is used to determine what Apache will put in the <code>Server</code> HTTP response header. By setting it to <code>Prod</code> it sets the HTTP response header as follows:</p>
<pre>Server: Apache</pre>
<p>If you&#8217;re super paranoid you could change this to something other than &#8220;Apache&#8221; by editing the source code, or by using mod_security (see below).</p>
<h3>Make sure apache is running under its own user account and group</h3>
<p>Several apache installations have it run as the user <code>nobody</code>. So suppose both Apache, and your mail server were running as <code>nobody</code> an attack through Apache may allow the mail server to also be compromised, and vise versa.</p>
<pre>User apache
Group apache</pre>
<h3>Ensure that files outside the web root are not served</h3>
<p>We don&#8217;t want apache to be able to access any files out side of its web root. So assuming all your web sites are placed under one directory (we will call this <code>/web</code>), you would set it up as follows:</p>
<pre>&lt;Directory /&gt;
  Order Deny,Allow
  Deny from all
  Options None
  AllowOverride None
&lt;/Directory&gt;
&lt;Directory /web&gt;
  Order Allow,Deny
  Allow from all
&lt;/Directory&gt;</pre>
<blockquote><p>Note that because we set <code>Options None</code> and <code>AllowOverride None</code> this will turn off all options and overrides for the server. You now have to add them explicitly for each directory that requires an Option or Override.</p></blockquote>
<h3>Turn off directory browsing</h3>
<p>You can do this with an <code>Options</code> directive inside a <code>Directory</code> tag. Set <code>Options</code> to either <code>None</code> or <code>-Indexes</code></p>
<pre>Options -Indexes</pre>
<h3>Turn off server side includes</h3>
<p>This is also done with the <code>Options</code> directive inside a <code>Directory</code> tag. Set <code>Options</code> to either <code>None</code> or <code>-Includes</code></p>
<pre>Options -Includes</pre>
<h3>Turn off CGI execution</h3>
<p>If you&#8217;re not using CGI turn it off with the <code>Options</code> directive inside a <code>Directory</code> tag. Set <code>Options</code> to either <code>None</code> or <code>-ExecCGI</code></p>
<pre>Options -ExecCGI</pre>
<h3>Don&#8217;t allow apache to follow symbolic links</h3>
<p>This can again can be done using the <code>Options</code> directive inside a <code>Directory</code> tag. Set <code>Options</code> to either <code>None</code> or <code>-FollowSymLinks</code></p>
<pre>Options -FollowSymLinks</pre>
<h3>Turning off multiple Options</h3>
<p>If you want to turn off all <code>Options</code> simply use:</p>
<pre>Options None</pre>
<p>If you only want to turn off some separate each option with a space in your <code>Options</code> directive:</p>
<pre>Options -ExecCGI -FollowSymLinks -Indexes</pre>
<h3>Turn off support for .htaccess files</h3>
<p>This is done in a <code>Directory</code> tag but with the <code>AllowOverride</code> directive. Set it to <code>None</code>.</p>
<pre>AllowOverride None</pre>
<p>If you require Overrides ensure that they cannot be downloaded, and/or change the name to something other than <code>.htaccess</code>. For example we could change it to <code>.httpdoverride</code>, and block all files that start with <code>.ht</code> from being downloaded as follows:</p>
<pre>AccessFileName .httpdoverride
&lt;Files ~ "^\.ht"&gt;
    Order allow,deny
    Deny from all
    Satisfy All
&lt;/Files&gt;</pre>
<h3>Run mod_security</h3>
<p><a href="http://www.modsecurity.org/">mod_security</a> is a super handy Apache module written by Ivan Ristic, the author of <a href="http://www.dealazon.com/product/0596007248">Apache Security</a> from O&#8217;Reilly press.</p>
<p>You can do the following with mod_security:</p>
<ul>
<li>Simple filtering</li>
<li>Regular Expression based filtering</li>
<li>URL Encoding Validation</li>
<li>Unicode Encoding Validation</li>
<li>Auditing</li>
<li>Null byte attack prevention</li>
<li>Upload memory limits</li>
<li>Server identity masking</li>
<li>Built in Chroot support</li>
<li>And more</li>
</ul>
<h3>Disable any unnecessary modules</h3>
<p>Apache typically comes with several modules installed. Go through the apache <a href="http://httpd.apache.org/docs/2.0/mod/">module documentation</a> and learn what each module you have enabled actually does. Many times you will find that you don&#8217;t need to have the said module enabled.</p>
<p>Look for lines in your <code>httpd.conf</code> that contain <code>LoadModule</code>. To disable the module you can typically just add a <code>#</code> at the beginning of the line. To search for modules run:</p>
<pre>grep LoadModule httpd.conf</pre>
<p>Here are some modules that are typically enabled but often not needed: <code>mod_imap</code>, <code>mod_include</code>, <code>mod_info</code>, <code>mod_userdir</code>, <code>mod_status</code>, <code>mod_cgi</code>, <code>mod_autoindex</code>.</p>
<h3>Make sure only root has read access to apache&#8217;s config and binaries</h3>
<p>This can be done assuming your apache installation is located at <code>/usr/local/apache</code> as follows:</p>
<pre>chown -R root:root /usr/local/apache
chmod -R o-rwx /usr/local/apache</pre>
<h3>Lower the Timeout value</h3>
<p>By default the <code>Timeout</code> directive is set to 300 seconds. You can decrease help mitigate the potential effects of a denial of service attack.</p>
<pre>Timeout 45</pre>
<h3>Limiting large requests</h3>
<p>Apache has several directives that allow you to limit the size of a request, this can also be useful for mitigating the effects of a denial of service attack.</p>
<p>A good place to start is the <code>LimitRequestBody</code> directive. This directive is set to unlimited by default. If you are allowing file uploads of no larger than 1MB, you could set this setting to something like:</p>
<pre>LimitRequestBody 1048576</pre>
<p>If you&#8217;re not allowing file uploads you can set it even smaller.</p>
<p>Some other directives to look at are <code>LimitRequestFields</code>, <code>LimitRequestFieldSize</code> and <code>LimitRequestLine</code>. These directives are set to a reasonable defaults for most servers, but you may want to tweak them to best fit your needs. See the <a href="http://httpd.apache.org/docs/2.0/mod/core.html">documentation</a> for more info.</p>
<h3>Limiting the size of an XML Body</h3>
<p>If you&#8217;re running <code>mod_dav</code> (typically used with subversion) then you may want to limit the max size of an XML request body. The <code>LimitXMLRequestBody</code> directive is only available on Apache 2, and its default value is 1 million bytes (approx 1mb). Many tutorials will have you set this value to 0 which means files of any size may be uploaded, which may be necessary if you&#8217;re using WebDAV to upload large files, but if you&#8217;re simply using it for source control, you can probably get away with setting an upper bound, such as 10mb:</p>
<pre>LimitXMLRequestBody 10485760</pre>
<h3>Limiting Concurrency</h3>
<p>Apache has several configuration settings that can be used to adjust handling of concurrent requests. The <code>MaxClients</code> is the maximum number of child processes that will be created to serve requests. This may be set too high if your server doesn&#8217;t have enough memory to handle a large number of concurrent requests.</p>
<p>Other directives such as <code>MaxSpareServers</code>, <code>MaxRequestsPerChild</code>, and on Apache2 <code>ThreadsPerChild</code>, <code>ServerLimit</code>, and <code>MaxSpareThreads</code> are important to adjust to match your operating system, and hardware.</p>
<h3>Restricting Access by IP</h3>
<p>If you have a resource that should only by accessed by a certain network, or IP address you can enforce this in your apache configuration. For instance if you want to restrict access to your intranet to allow only the 176.16 network:</p>
<pre>Order Deny,Allow
Deny from all
Allow from 176.16.0.0/16</pre>
<p>Or by IP:</p>
<pre>Order Deny,Allow
Deny from all
Allow from 127.0.0.1</pre>
<h3>Adjusting KeepAlive settings</h3>
<p>According to the Apache documentation using HTTP Keep Alive&#8217;s can improve client performance by as much as 50%, so be careful before changing these settings, you will be trading performance for a slight denial of service mitigation.</p>
<p>KeepAlive&#8217;s are turned on by default and you should leave them on, but you may consider changing the <code>MaxKeepAliveRequests</code> which defaults to <code>100</code>, and the <code>KeepAliveTimeout</code> which defaults to <code>15</code>. Analyze your log files to determine the appropriate values.</p>
<h3>Run Apache in a Chroot environment</h3>
<p><code>chroot</code> allows you to run a program in its own isolated <em>jail</em>. This prevents a break in on one service from being able to effect anything else on the server.</p>
<p>It can be fairly tricky to <a href="http://penguin.triumf.ca/chroot.html">set this up using <code>chroot</code></a> due to library dependencies. I mentioned above that the <code>mod_security</code> module has built in chroot support. It makes the process as simple as adding a <code>mod_security</code> directive to your configuration:</p>
<pre>SecChrootDir /chroot/apache</pre>
<p>There are however some caveats however, so check out the <a href="http://www.modsecurity.org/documentation/modsecurity-apache-manual-1.9.html#N1082B">docs</a> for more info.</p>
<h4>Acknowledgments</h4>
<p>I have found the book <a title="Apache Security" href="http://www.dealazon.com/product/0596007248">Apache Security</a> to be a highly valuable resource for securing an apache web server. Some of the suggestions listed above were inspired by this book.</p>
<h4></h4>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2011/11/securing-apache-web-servers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>90 Day Plan for New IT Security Managers</title>
		<link>http://www.pomeroy.us/2011/03/90-day-plan-for-new-it-security-managers/</link>
		<comments>http://www.pomeroy.us/2011/03/90-day-plan-for-new-it-security-managers/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 03:47:16 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=283</guid>
		<description><![CDATA[You&#8217;ve just taken over as an information security director, manager, or architect at an organization. Either this is a new organization that has never had this role before or your predecessor has moved on for some reason. Now what? The following outlines steps that have been shown to be effective (also based on what&#8217;s been [...]]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve just taken over as an information security director, manager, or architect at an organization. Either this is a new organization that has never had this role before or your predecessor has moved on for some reason. Now what? The following outlines steps that have been shown to be effective (also based on what&#8217;s been ineffective) getting traction and generating results within the first three months. Once some small successes are under your belt, you can grow the momentum to help the business grow faster or reduce the risk to their success (or both).</p>
<p><strong>Now what do we do?</strong></p>
<p>Apply a tried and true multi phase approach .. assess current state, determine desired target state, perform a gap analysis, implement improvements based on priority. Basically we need to establish current state, determine what future state should be, and use the gap analysis as the deliverables of the IT security program. There may be many trade-offs that are made due to limiters like political challenges, funding constraints and difficulty in changing corporate culture. The plan you build with the business gives you the ammunition needed to persuade all your stakeholders of the value in the changes you&#8217;ll be proposing.</p>
<p><strong>1. Understand the Current Environment</strong></p>
<p>For a manager or enterprise architect to determine where to start, a current state must be known. This is basically an inventory of what IT security controls, people and processes are in place. This inventory is used to determine what immediately known risks and gaps from relevant security control frameworks exist. The known risks and gaps gives us a starting point to understand where impacts on the business may originate from.</p>
<p>Take the opportunity to socialize foundational security concepts with your new business owners and solicit their input. What are the security related concerns they have? If there has been any articulation of Strengths, Weaknesses, Opportunities, and Threats (SWOT), obtaining that review can also give you an idea of weaknesses or threats that are indicative of missing controls. In the discussions with your new constituents, talk to the infrastructure managers and ask them what security related concerns keep them awake at night – there is likely some awareness but they don&#8217;t know how to move forward. Keep in mind most organizations will want a pragmatic approach versus an ivory tower perfect target state.</p>
<p>Some simple questions can quickly give you a picture of the state of security controls. For example, in organizations I&#8217;ve worked with, the network administrators could not provide me a complete “layer three” diagram – a diagram that shows all the network segments and how they hang together. It wasn&#8217;t that they didn&#8217;t want to, the diagrams simply didn&#8217;t exist. With over 1,500 network nodes over two data centers and two office complexes, the network group had the topology and configuration “in their heads”. Obvious weaknesses and threats include prevention of succession planning or disaster recovery, poor security transparency, and making nearly any change to the environment higher risk than necessary.</p>
<p>Another example is an organization that had weak asset control. At any point in time it was nearly impossible to determine if unauthorized network nodes existed, since the workstation, notebook, server, virtual machine, switches, firewalls, printers and any other network connected equipment were tracked separately, if at all. No regular audits were performed to reconcile what the organization had purchased was actually what was connected to their networks. This points to weak change control and weak asset control. Without strong asset control, it is difficult to offer assurance to the business owners that serious vulnerabilities have been mitigated to a level they can accept.</p>
<p><a href="http://www.networkforensics.us/wp-content/uploads/2011/03/issue-register.png"><img class="alignright size-medium wp-image-280" title="issue-register" src="http://www.networkforensics.us/wp-content/uploads/2011/03/issue-register-300x66.png" alt="" width="300" height="66" /></a></p>
<p>Ensure you&#8217;re asking questions that will allow you to develop future metrics, such as:</p>
<ul>
<li>Do security controls that are in place generate measurable performance statistics?</li>
<li>How many user accounts are added, disabled, deleted per day/week/month/quarter?</li>
<li>What volume of inbound email is spam/malware?</li>
<li>Does the operations team have baselines of normal network, system, application activity?</li>
<li>Profile of user accounts &#8211; how many are inactive (say 90 days)</li>
<li>How automated is the new hire, dehire, change process? Is there room for manual error?</li>
<li>How many administrator accounts are there (percentage of all accounts)</li>
<li>What degree of individual user accountability is there? Are there signed acceptable use agreements?</li>
<li>Are there accurate network topology and security zone as-built diagrams?</li>
<li>Is there clear segregation of assets that contain high value data?</li>
<li>Are content filtering and malware controls deployed?</li>
</ul>
<p>All these identified issues can then be dropped into a mind map or even a spreadsheet to visualize the highest risks. More on this in a minute.</p>
<p><strong><span id="more-283"></span>2. Determine Target State</strong></p>
<p>Next there must be a clear understanding of business goals, since IT (and IT security) always needs traceability back to the goals of a business. Application of good architecture practice then leads to being able to generate a &#8216;future state&#8217; and a gap analysis. You don&#8217;t have time for a full heavy weight analysis, so a good place to start here is to identify what external regulatory compliance mandates exist &#8211; there likely are multiples. For example, financial integrity and reporting requirements (SOX / CSOX / JSOX / GLB / Basel / <a href="https://www.pcisecuritystandards.org/security_standards/index.php">PCI-DSS</a>), privacy (CA-SB-1384, PIPA), critical infrastructure (<a href="http://www.nerc.com/page.php?cid=2|20">NERC CIP</a>), government IT systems (<a href="http://csrc.nist.gov/groups/SMA/fisma/index.html">FISMA</a>), and health records (HIPAA). Over and above the external regulatory requirements, there may also be a requirement for voluntary or internal compliance mandates, such as corporate policy compliance.</p>
<p>Keep in mind that where a framework like <a href="http://en.wikipedia.org/wiki/ISO/IEC_27002">ISO 27002</a> or <a href="http://www.nist.org/nist_plugins/content/content.php?cat.17">NIST SP 800-53</a> is used, there may be some latitude. For example, your organization may decide that some controls in the framework are not applicable, and exclude them.  So a &#8220;C&#8221; or &#8220;C+&#8221; may be as good as your organization wants to get. That&#8217;s ok, as long as it&#8217;s a concerted decision and you can still hit your mandatory targets.</p>
<p>This is an area where there may a need for substantial effort, so using a common security control framework like ISO 27002 or NIST 800-53 can give a somewhat logical progression of capability maturity that you can build on to close the gaps and start to get a better foundation in place that allows your IT security program to be sustainable. The other benefit to getting to know a good framework is that many compliance mandates are attainable by using the controls in these frameworks – although you may need to adjust a little here or there. The frameworks also act as a checklist for areas to ensure are addressed adequately for your organization.</p>
<p>While using your chosen control framework, also consider a capability maturity level, such as what is outlined in the Carnegie Mellon software Capability Maturity Model (CMM). Where you find deficiencies, choosing controls and configurations that phase in a new control gradually over some predetermined period of time versus expecting a sudden transition from low capability to high capability allows the organization to adapt and culturalize the new controls.</p>
<p><a href="http://www.networkforensics.us/wp-content/uploads/2011/03/it-roadmap.png"><img class="alignright size-medium wp-image-281" title="it-roadmap" src="http://www.networkforensics.us/wp-content/uploads/2011/03/it-roadmap-300x215.png" alt="" width="300" height="215" /></a>I would suggest using the control framework categories so you can cross reference the issues you&#8217;ve uncovered to controls in the framework – you&#8217;ll use this to help triage what needs to be focused on first, while helping to capture that data in a way you&#8217;ll use for the long term plan.</p>
<p><strong>3. Assess Highest Risks and Identify Operational Wins (gap analysis)</strong></p>
<p>A successful security plan includes executive endorsement of policy, standards, procedures and guidelines. That said, start with the highest risks you identified in step one. Especially the risks that have simple or inexpensive controls that would work. Remember to integrate metrics where possible to enable feedback and improvement. See <a href="http://www.securitymetrics.org">www.securitymetrics.org</a> for examples of good metrics.</p>
<p>Ensure you are improving:</p>
<ul>
<li>Situational awareness (logging, monitoring, reporting and visibility)</li>
<li>Response capability to Computer Security Incidents</li>
<li>Long term security controls (build the foundation so you&#8217;re not always fighting fires)</li>
</ul>
<p>There are several assessment methodologies available, including the NSA IAM, Canadian RCMP TRA and Open Source Risk Assessment toolkits and methodologies.</p>
<p><strong>4. Implement Controls to Mitigate Risks</strong></p>
<p>Long term you want to introduce a way to reduce the daily crisis response, by building up the foundational maturity of the organization&#8217;s security controls. Short term you need to get some of the major issues and exposures fixed.</p>
<p><a href="http://www.networkforensics.us/wp-content/uploads/2011/03/priorities.png"><img class="alignright size-medium wp-image-282" title="priorities" src="http://www.networkforensics.us/wp-content/uploads/2011/03/priorities-300x150.png" alt="" width="300" height="150" /></a>Finally changes to process and possibly organization can complete the ability of IT security to stay evergreen (sustainable). Once you&#8217;ve made some changes to the environment, it&#8217;s important to ensure there is management metrics and process implemented to sustain the changes you&#8217;ve made. For instance, if an asset inventory has been done, the value of that goes out the window if there is no measurable, enforceable process to keep the inventory accurate.</p>
<p>Work the evaluation process with your stakeholders and senior management to ensure you are building your roadmap with their support. Laying out a long term plan and showing where you are in the plan will allow you to get increased executive buy-in for more expensive and possibly organizational changes.</p>
<p>You will find that the focus on issues, from whatever source they have been discovered (Architecture Assessments through actual Security Incidents), will tend to be on the highest criticality. This will result in projects or funding for efforts to close a particular issue or exposure &#8211; but still results in fire-fighting. You need over the term of your 90 days to ensure you socialize the IT Security Program framework that includes short-term fire-fighting (Urgent) -AND- long term (Foundational) work. This is more than a simple compliance mandate, since companies can be fully compliant with all regulatory mandates, but still get pwned. A rational application of a framework like ISO 27002 or NIST SP 800-53 can result in compliance success and good security.</p>
<p>You will be presented with &#8220;stakeholders&#8221; that insist on massively grand Total Cost of Ownership (TCO) or foundational Security Policy work, but you must resist such efforts that will undermine and ultimately defeat good security.</p>
<p>This is a plan that I&#8217;ve found helpful to survive the first 90 days and possibly build and maintain a positive working relationship with your senior management as they see value in the IT security program. At that point you will have an IT security program that actually works for the organization and is cost effective.</p>
<p><strong>5. Publish a Schedule of Audits</strong></p>
<p>Once some of the foundational controls are in place, gain acceptance and buy-in from your constituents through the use of a well known internal audit schedule. This will help to confirm the effectiveness of steps 1 through 4 and helps in reducing the amount of effort required to perform audits for regulatory mandate compliance proof. In some cases, you may be able to combine these audits, although what you are trying to do here is ensure all the controls you have put into place are functioning as expected, while external audits may not go that deep.</p>
<p>Once you have these steps in place, your security posture will improve and you will experience less fire-drills around suspected incidents.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2011/03/90-day-plan-for-new-it-security-managers/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Security tools</title>
		<link>http://www.pomeroy.us/2010/08/security-tools/</link>
		<comments>http://www.pomeroy.us/2010/08/security-tools/#comments</comments>
		<pubDate>Sat, 28 Aug 2010 15:24:38 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=137</guid>
		<description><![CDATA[This is a (non-comprehensive) list of the various security tools I have used. I started this list to keep track of tools that I&#39;ve tried out and the level of satisfaction with them. Obviously there are hundreds of tools that any IT security professional uses throughout their career, so I&#39;m just starting to put down [...]]]></description>
			<content:encoded><![CDATA[<p>This is a (non-comprehensive) list of the various security tools I have used. I started this list to keep track of tools that I&#39;ve tried out and the level of satisfaction with them. Obviously there are hundreds of tools that any IT security professional uses throughout their career, so I&#39;m just starting to put down the most recent, interesting or particularly effective. As I have time, I&#39;ll update and add comments/reviews/examples as well as break this into categories as the list grows.</p>
<p><strong>Assessment / Attack Tools</strong></p>
<p>Web Application Attack and Audit Framework (w3af)&nbsp; <a href="http://w3af.sourceforge.net/" title="w3af">w3af.sourceforge.net</a></p>
<p>IBM Rational AppScan&nbsp; <a href="http://www-01.ibm.com/software/awdtools/appscan/" title="appscan">www-01.ibm.com/software/awdtools/appscan</a></p>
<p>Samurai Web Testing Framework <a href="http://samurai.inguardians.com/">samurai.inguardians.com</a></p>
<p><strong>Visualization Tools</strong></p>
<p>SecViz Security Visualization (davix) <a href="http://www.secviz.org/node/89">www.secviz.org/node/89</a></p>
<p><strong>Password Tools</strong></p>
<p>L0phtcrack&nbsp; <a href="http://www.l0phtcrack.com/">www.l0phtcrack.com</a></p>
<p><strong>Forensics</strong></p>
<p>V3RITY Oracle Database Forensics (<a href="http://www.v3rity.com/v3rity.php">www.v3rity.com/v3rity.php</a>)&nbsp; &#8211; &quot;V3RITY is a tool that can be used in an Oracle forensics investigation of a suspected breach. It is the first of its kind and is currently in the beta stages of development.&quot;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2010/08/security-tools/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Epitome of bad software</title>
		<link>http://www.pomeroy.us/2010/06/epitome-of-bad-software/</link>
		<comments>http://www.pomeroy.us/2010/06/epitome-of-bad-software/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 16:59:49 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[school]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=119</guid>
		<description><![CDATA[There is a reason many people loathe Microsoft software. Before you consider flaming me for that statement, I realize all software has flaws, bugs and eventually crashes. In my experience, even if it&#8217;s patched and up to date, the following image happens FAR too frequently with Microsoft software. I don&#8217;t recall having the same issues [...]]]></description>
			<content:encoded><![CDATA[<p>There is a reason many people loathe Microsoft software. Before you consider flaming me for that statement, I realize all software has flaws, bugs and eventually crashes. In my experience, even if it&#8217;s patched and up to date, the following image happens FAR too frequently with Microsoft software.<br />
<a href="http://www.nuclearserver.com/wp-content/uploads/2010/06/i-fucking-hate-microsoft.png"><img src="http://www.networkforensics.us/wp-content/uploads/2010/06/i-fucking-hate-microsoft-300x180.png" alt="Microsoft bugs" title="i-fucking-hate-microsoft" width="300" height="180" class="alignnone size-medium wp-image-118" /></a><br />
I don&#8217;t recall having the same issues with <a href="http://www.conceptdraw.com/en/">Concept Draw</a>, even with complex diagrams. Since I&#8217;m just tired of having to redo work over again, good-bye Visio, I&#8217;ve just purchased your replacement.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2010/06/epitome-of-bad-software/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resetting WordPress user passwords</title>
		<link>http://www.pomeroy.us/2010/06/resetting-wordpress-user-passwords/</link>
		<comments>http://www.pomeroy.us/2010/06/resetting-wordpress-user-passwords/#comments</comments>
		<pubDate>Tue, 01 Jun 2010 20:23:28 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=132</guid>
		<description><![CDATA[Resetting WordPress 3.0 user passwords can be done directly within MySQL through the following procedure.  This assumes your installation of WordPress stores user passwords in the wp_users table as MD5 hashes and the unique site prefix for all WordPress tables in MySQL is _x. Connect to the database via your favorite GUI (phpMyAdmin, Navicat) or [...]]]></description>
			<content:encoded><![CDATA[<p>Resetting WordPress 3.0 user passwords can be done directly within MySQL through the following procedure.  This assumes your installation of WordPress stores user passwords in the wp_users table as MD5 hashes and the unique site prefix for all WordPress tables in MySQL is _x.</p>
<p>Connect to the database via your favorite GUI (phpMyAdmin, Navicat) or command line with either the WordPress role account or any other MySQL user account with select and update privileges on the WordPress database:</p>
<p><code>update wp_x_users set user_pass = MD5('123abc890') where user_login = 'administrator';</code></p>
<p>This will update the password for user &#8216;administrator&#8217; to &#8217;123abc890&#8242;.  Once this has completed, either flush the wp_x_users table or exit the tool used to access the database to cause the updates to be committed.  Sign into WordPress with the new password and optionally change the password via the user interface.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2010/06/resetting-wordpress-user-passwords/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Exemplifies Fine Software Engineering</title>
		<link>http://www.pomeroy.us/2010/04/apple-exemplifies-fine-software-engineering/</link>
		<comments>http://www.pomeroy.us/2010/04/apple-exemplifies-fine-software-engineering/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 03:57:06 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=114</guid>
		<description><![CDATA[So I&#8217;ve been a recent Apple user for a mere eight years, when I purchased my first iBook  running the new OS X (10.1). I&#8217;m a fan of the form engineering that goes several steps beyond the basic function engineering that is so prevalent in consumer technology these days. For Apple, it&#8217;s not good enough [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been a recent Apple user for a mere eight years, when I purchased my first iBook  running the new OS X (10.1). I&#8217;m a fan of the form engineering that goes several steps beyond the basic function engineering that is so prevalent in consumer technology these days. For Apple, it&#8217;s not good enough that there&#8217;s windows, they have to <em>look good</em> too &#8211; like a master craftsman that puts finishing touches on the product rather than just slapping some cheap molding on and calling it done (or Windows).</p>
<blockquote><p><em><strong>This is too fine for words.</strong></em></p></blockquote>
<p>After working through successively newer notebooks (iBook, PowerBook, MacBook Pro), I have recently upgraded my first gen MacBook Pro to a new uni-body MBP. All the way through the online store (with the complication of being a grad student and navigating the education part of the online store), the process was pretty painless. But the real wow was when my new MBP showed up three weeks ago and I decided to use the Migrate function to just suck the contents of my old MBP to my shiny new uni-body MBP (thanks for the encouragement, Jonathan). I figured since I didn&#8217;t have the time or energy to setup another computer from scratch, I would try this migrate feature &#8211; with a heavy dose of battle earned skepticism. When I turned on the power on my new MBP, it seamlessly guided me through the setup .. and asked me if I wanted to migrate from an existing Mac or even a TimeMachine backup of a Mac.  I said yes, hooked the old and the new together .. fully expecting this to not end well and have to restart some install process.  Well a little while later, the migrate was done .. I restarted my new MBP (didn&#8217;t have to), and it looked <strong><em>exactly</em></strong> like my old MBP. All of my Applications were there. All my documents where there. iTunes was there. iPhoto was there. The positioning of the icons and documents on my desktop was <em><strong>exactly</strong></em> like my old MBP. Wow. A migrate function that actually worked.  Really. All the way.  Ok, well I did have to re-setup my home wireless connection .. for some reason that didn&#8217;t seem to come across, but with the totally customized settings I use, I&#8217;m not too surprised although it only added about 120 seconds onto my migrate time.</p>
<p>So at the time I&#8217;m writing this, Apple has announced the next generation of the MacBook Pro (the Intel i5 and i7 processors).  Since I&#8217;ve only had my shiny new uni-body MBP for a week, I call the folks at Apple and speak to a very pleasant customer service rep (send me an email or website message and I&#8217;ll forward his name), who not only cheerfully agrees to accept my new MBP back, but helps me order the new generation. They waived the return shipping and any refurbishment fees, as well as the express shipping for the new unit to me.  Gives me his direct line so if the Apple provided UPS return sticker expires before I get the old-new MBP migrated to the new-new MBP, I can call and get a new label. All this (and I ordered a new mouse) and they refunded a net of nearly $900 back to my credit card.</p>
<p>Well, I&#8217;ve just finished the migrate from the old-new MBP to my new-new MBP and again, it was seamless. I don&#8217;t think I&#8217;ll rebuild a new Mac from scratch any more &#8211; this is just too fine for words.  So I can get back to my Master&#8217;s thesis and life in general, and not worry about the software out there that is half baked or just barely good enough to get by .. with lots of manual care and feeding.</p>
<p>Thanks Steve and crew &#8211; this is why I&#8217;m an Apple shareholder.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2010/04/apple-exemplifies-fine-software-engineering/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accessing Ubuntu desktop from Mac Snow Leopard</title>
		<link>http://www.pomeroy.us/2010/02/accessing-ubuntu-desktop-from-mac-snow-leopard/</link>
		<comments>http://www.pomeroy.us/2010/02/accessing-ubuntu-desktop-from-mac-snow-leopard/#comments</comments>
		<pubDate>Sun, 07 Feb 2010 18:06:34 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=109</guid>
		<description><![CDATA[Accessing my Ubuntu 9.04 Gnome desktop from the built in Mac OS X 10.6.2 VNC viewer took a bit of tweaking on the Ubuntu Gnome side. I have an OpenVPN SSL tunnel between the Mac and the Ubuntu desktop, however a SSH tunnel could also be used to protect the VNC session. In this post, [...]]]></description>
			<content:encoded><![CDATA[<p>Accessing my Ubuntu 9.04 Gnome desktop from the built in Mac OS X 10.6.2 VNC viewer took a bit of tweaking on the Ubuntu Gnome side.  I have an OpenVPN SSL tunnel between the Mac and the Ubuntu desktop, however a SSH tunnel could also be used to protect the VNC session.  In this post, I&#8217;ll just cover the VNC server setup assuming a secure connection between the Mac and the desktop.</p>
<p>Initially I followed the guidance at sanity, inc.&#8221;<a title="mac-screen-sharing-with-linux" href="http://www.sanityinc.com/articles/mac-screen-sharing-with-linux" target="_blank">How to OS X Leopard Screen Sharing with Linux</a>&#8220;, on Ubuntu I installed tightvnc:<br />
<code><br />
apt-get install tightvncserver<br />
</code><br />
Then tested it out by starting up the vnc server on the Ubuntu system as the user I want to run the remote session as:<br />
<code><br />
tightvncserver -geometry 1024x700 -depth 24 :1<br />
</code><br />
As tightvncserver starts up the VNC service, it will check for a .vncpasswd file in the user home directory.  If it doesn&#8217;t exist, you will be prompted for a password to use to protect the remote session.  Note VNC is not designed to be used for multi-user remote access.<br />
On the Mac, rather than use Bonjour to automatically discover the Ubuntu screen sharing service, I just referred to the VNC session directly within Finder  which invokes the built in VNC viewer. Enter the VNC session password when prompted and the Ubuntu desktop is displayed. <a href="http://www.nuclearserver.com/wp-content/uploads/2010/02/connect-to-server1.png"><img class="alignright size-full wp-image-112" title="connect-to-server" src="http://www.nuclearserver.com/wp-content/uploads/2010/02/connect-to-server1.png" alt="connect-to-server" width="316" height="86" /></a> Within Finder, either use Go -&gt; Connect to Server or Apple-K to bring up the Connect to Server window.  The server address is the URL that points to the Ubuntu VNC instance <code>vnc://10.10.1.2:5901</code> where the port is 5900 + the display number specified when starting up the tightvncserver (5901).</p>
<p>This all worked fantastic, except for the keyboard mapping within Gnome &#8211; it was scrambled.  After googling several possible solutions, the only one that was successful for me was to disable the keyboard plugin in Gnome<br />
<code><br />
<a title="gnome-keyboard-fix" href="https://bugs.launchpad.net/baltix/+source/tightvnc/+bug/112955">Amit Gurdasani  wrote on 2008-04-28:  	  #51</a></code></p>
<blockquote><p>I&#8217;ve also encountered this issue with TightVNC and the hardy release. My solution was to capture the xmodmap -pke output as ${HOME}/.Xmodmap at the login screen (DISPLAY=:0 XAUTHORITY=/var/lib/gdm/:0.Xauth sudo xmodmap -pke &gt; ${HOME}/.Xmodmap). When gnome-settings-daemon starts up and finds an .Xmodmap, it asks if it should be loaded &#8212; I answer yes. As a side effect, if gnome-settings-daemon were to be restarted without the .Xmodmap, it&#8217;d scramble the keyboard layout again. With an .Xmodmap in place, it&#8217;ll load the .Xmodmap every time.</p>
<p>Due to another issue (#199245, gnome-settings-daemon crashing with BadWindow every time a window is mapped), <em><strong>I disabled the keyboard plugin using gconf-editor, at /apps/gnome_settings_daemon/plugins/keyboard.</strong></em> Since it&#8217;s not being loaded, I suspect it might not garble the layout even if I remove the .Xmodmap now.</p>
<p>So maybe disabling the keyboard plugin is a better fix.</p></blockquote>
<p>On the Ubuntu system, invoke the Gnome configuration editor (gconf-editor on command line), then navigate to  apps -&gt; gnome_settings_daemon -&gt; plugins -&gt; keyboard  uncheck the Active keyword.  Kill the VNC daemon and relaunch it &#8211; problem fixed.<br />
<code><br />
pkill vnc<br />
tightvncserver -geometry 1024x700 -depth 24 :1<br />
</code><br />
Various methods exist to automatically start and kill the VNC server, but for now this will do it for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2010/02/accessing-ubuntu-desktop-from-mac-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to secure your home PC</title>
		<link>http://www.pomeroy.us/2009/11/how-to-secure-your-home-pc/</link>
		<comments>http://www.pomeroy.us/2009/11/how-to-secure-your-home-pc/#comments</comments>
		<pubDate>Fri, 06 Nov 2009 17:24:39 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[fw]]></category>
		<category><![CDATA[malware]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=94</guid>
		<description><![CDATA[Whether you have a Mac or a Windows PC, there are some basic steps you can take to reduce the risk and personal impact of a malware infection.  This advise is especially impactful when you have just purchased a new Mac or Windows system. There are several steps that you can take to protect your [...]]]></description>
			<content:encoded><![CDATA[<p>Whether you have a Mac or a Windows PC, there are some basic steps you can take to reduce the risk and personal impact of a malware infection.  This advise is especially impactful when you have just purchased a new Mac or Windows system.  There are several steps that you can take to protect your new investment and more importantly your information.  In the following detail, I mainly focus on Windows as that&#8217;s the main technology that my non-IT type friends ask about.</p>
<p>Basically what you should be doing is:</p>
<ol>
<li>Ensure that a hardware firewall/router is in between the internet and the PC (I&#8217;ll just call it a firewall from now on)
<ul>
<li>Use a recognized brand name like Linksys, avoid the no-name generics as they often have bad defaults and don&#8217;t implement the stateful-packet-inspection that you want to filter out most of the cruft on the Internet from reaching your PC</li>
</ul>
</li>
<li>Ensure all default passwords on the firewall and PC have been changed
<ul>
<li>When you initially turn on the power to your PC and to your firewall, do NOT have them connected to your cable or DSL modem initially.  Do the setup of your firewall and PC first in order to ensure malware doesn&#8217;t have a chance to get at your shiny new PC before you&#8217;ve turned on the needed protection</li>
<li>Point a browser to your firewall (likely 192.168.0.1 or 192.168.1.1) and change the default administrator password.  This is very important, as some malware will seek out your firewall and try to use the manufacturer default password to change things like your DNS server settings &#8211; inserting the bad guys in between you and the rest of the Internet (eg. forcing your traffic to them first before it goes to your bank)</li>
</ul>
</li>
<li>All normal accounts used for day-to-day business on the computer should NOT have administrator privilege (see my post on <a title="run without admin privilege" href="http://www.networkforensics.us/2009/05/reducing-malware-risk-by-removing-local-administrator-privileges/" target="_self">running without admin privileges</a>)
<ul>
<li>On Windows XP, Vista (and I think 7), the default &#8220;user&#8221; that accesses the PC has full administrative privilege, that enables software  installation and configuration changes.  This is very dangerous, as malware that you come in contact with from infected emails or websites use this privilege to install their spyware, keyloggers, backdoors and other nasty stuff on your PC &#8211; without your explicit permission</li>
<li>Set a password for your Administrator account</li>
<li>Create a new user right away, before you setup your email, music, photos, documents, etc; ensure that new user is NOT a Computer Administrator</li>
<li>Always login with this non-Administrator username for your day-to-day use; only use the Computer Administrator username for software installation and configuration changes.</li>
</ul>
</li>
<li>Never surf the Internet with an account that has administrative privilege</li>
<li>If this is a common PC for a business, ensure employees accounts are individually assigned (if practical). Ensure those employee accounts are not administrators (unless there is a need and a high degree of trust)</li>
<li>Run a good commercial anti-virus program with annual software support (or a subscription)
<ul>
<li>There are some good free AV packages (AVG, Clamwin, Avast) .. Google them for the links</li>
<li>Sophos makes a good Mac AV package .. yes, Macs are vulnerable to malware as well; it&#8217;s just not as prevalent</li>
</ul>
</li>
<li> Finally ensure regular (daily) backups are being run to protect your business, financial, customer information from loss if there is a problem with the PC</li>
<li>For setup of your wireless access point (if you have one .. sometimes it&#8217;s built into the router/firewall)
<ul>
<li>Chose wireless encryption of at least WPA or WPA2 .. never use WEP or no encryption</li>
<li>There is no significant increase in security by obscuring your network name (SSID)</li>
<li>Don&#8217;t use any personally identifiable information in your network name</li>
</ul>
</li>
</ol>
<p>If you are unsure of how to do any of these steps, get one of your computer knowledgeable friends to help you.  Of course if you are purchasing a new system right now, I&#8217;d strongly recommend you check out Apple&#8217;s Mac products.  They&#8217;re not immune to malware, but the architecture and core are by design much less vulnerable to the types of malware that plague Windows.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2009/11/how-to-secure-your-home-pc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FreeMind mind mapping tool</title>
		<link>http://www.pomeroy.us/2009/11/freemind-mind-mapping-tool/</link>
		<comments>http://www.pomeroy.us/2009/11/freemind-mind-mapping-tool/#comments</comments>
		<pubDate>Wed, 04 Nov 2009 05:18:29 +0000</pubDate>
		<dc:creator>apomeroy</dc:creator>
				<category><![CDATA[tech]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.networkforensics.us/?p=90</guid>
		<description><![CDATA[Have you ever had a daunting task that just seemed like a nightmare to get your head around how to organize it? If you&#8217;re like me, you try to find some patterns in all the individual elements that make up whatever the topic is you&#8217;re trying to get a handle on. The patterns may not [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever had a daunting task that just seemed like a nightmare to get your head around how to organize it?  If you&#8217;re like me, you try to find some patterns in all the individual elements that make up whatever the topic is you&#8217;re trying to get a handle on.  The patterns may not come easily, and even if they do, it&#8217;s usually a pain to try and re-categorize an element as you see fit (ever tried to create lists and categorize things in Excel??).</p>
<p>I came across a tool that one of my clients uses called <a href="http://freemind.sourceforge.net/wiki/index.php/Main_Page">FreeMind</a> &#8211; it&#8217;s a Java app that allows you to enter a number of text elements and reorganize them in a hierarchical fashion.</p>
<div id="attachment_91" class="wp-caption alignright" style="width: 310px"><img class="size-medium wp-image-91" title="freemind-1" src="http://www.networkforensics.us/wp-content/uploads/2009/11/freemind-1-300x280.png" alt="FreeMind example" width="300" height="280" /><p class="wp-caption-text">FreeMind example</p></div>
<p>Ok, one can do that with an unstructured word processor document or a spreadsheet, but FreeMind allows you to dump all these random ideas onto the page then drag and drop into categories or tags that make sense as you&#8217;re rearranging the elements.</p>
<p>So after about an hour of dropping in ideas around areas of improvement for the IT security of one of my clients, I had over 250 elements organized into 8 high level categories and about 18 subcategories.  It was grouped well enough to lead discussions on what the current priorities for their programmes should be.  If I had attempted this in a spreadsheet (and I had) it would have taken hours and untold frustration &#8211; not to mention I probably would have missed relationships that I could see in FreeMind.</p>
<blockquote><p><strong><em>If I had attempted this in a spreadsheet (and I had) it would have taken hours and untold frustration</em></strong></p></blockquote>
<div id="attachment_93" class="wp-caption alignright" style="width: 160px"><img class="size-thumbnail wp-image-93" title="freemind-2" src="http://www.networkforensics.us/wp-content/uploads/2009/11/freemind-2-150x95.png" alt="FreeMind icons" width="150" height="95" /><p class="wp-caption-text">FreeMind icons</p></div>
<p>You can add icons to each element to make labeling and categorization easier. Best to check out the FreeMind home page as it is a feature rich tool.  From the project Wiki, typical uses include:</p>
<ul>
<li>Keeping track of projects, including subtasks, state of subtasks and time recording</li>
<li>Project workplace, including links to necessary files, executables, source of information and of course information</li>
<li>Workplace for internet research using Google and other sources</li>
<li>Keeping a collection of small or middle sized notes with links on some area which expands as needed. Such a collection of notes is sometimes called knowledge base.</li>
<li>Essay writing and brainstorming, using colors to show which essays are open, completed, not yet started etc, using size of nodes to indicate size of essays. I don&#8217;t have one map for one essay, I have one map for all essays. I move parts of some essays to other when it seems appropriate.</li>
<li>Keeping a small database of something with structure that is either very dynamic or not known in advance. The main disadvantage of such approach when compared to traditional database applications are poor query possibilities, but I use it that way anyway &#8211; contacts, recipes, medical records etc. You learn about the structure from the additional data items you enter. For example, different medical records use different structure and you do not have to analyze all the possible structures before you enter the first medical record.</li>
<li>Commented internet favorites or bookmarks, with colors and fonts having the meaning you want</li>
</ul>
<p>What a great tool .. I&#8217;m sure I&#8217;ll find more uses for it!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pomeroy.us/2009/11/freemind-mind-mapping-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

