<?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>SoftLayer Blog &#187; Apache</title>
	<atom:link href="http://blog.softlayer.com/tag/apache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.softlayer.com</link>
	<description>A Behind the Scenes Look at the Best Hosting Provider in the World</description>
	<lastBuildDate>Wed, 15 May 2013 15:33:34 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Web Development &#8211; Installing mod_security with OWASP</title>
		<link>http://blog.softlayer.com/2013/web-development-installing-mod_security-with-owasp/</link>
		<comments>http://blog.softlayer.com/2013/web-development-installing-mod_security-with-owasp/#comments</comments>
		<pubDate>Mon, 29 Apr 2013 20:45:39 +0000</pubDate>
		<dc:creator>Cassandra Wolff</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[CentOS]]></category>
		<category><![CDATA[modsecurity]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[OS]]></category>
		<category><![CDATA[OWASP]]></category>
		<category><![CDATA[rules]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[traffic]]></category>
		<category><![CDATA[UNIX]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=11229</guid>
		<description><![CDATA[You want to secure your web application, but you don&#8217;t know where to start. A number of open-source resources and modules exist, but that variety is more intimidating than it is liberating. If you&#8217;re going to take the time to implement application security, you don&#8217;t want to put your eggs in the wrong basket, so [...]]]></description>
			<content:encoded><![CDATA[<p>You want to secure your web application, but you don&#8217;t know where to start. A number of open-source resources and modules exist, but that variety is more intimidating than it is liberating. If you&#8217;re going to take the time to implement application security, you don&#8217;t want to put your eggs in the wrong basket, so you wind up suffering from analysis paralysis as you compare all of the options. You want a powerful, flexible security solution that isn&#8217;t overly complex, so to save you the headache of making the decision, I&#8217;ll make it for you: Start with mod_security and OWASP.</p>
<p><a href="http://www.modsecurity.org/">ModSecurity</a> (mod_security) is an open-source Apache module that acts as a web application firewall. It is used to help protect your server (and websites) from several methods of attack, most common being brute force. You can think of mod_security as an invisible layer that separates users and the content on your server, quietly monitoring HTTP traffic and other interactions. It&#8217;s easy to understand and simple to implement.</p>
<p>The challenge is that without some advanced configuration, mod_security isn&#8217;t very functional, and that advanced configuration can get complex pretty quickly. You need to determine and set additional rules so that mod_security knows how to respond when approached with a potential threat. That&#8217;s where <a href="https://www.owasp.org/index.php/Main_Page">Open Web Application Security Project</a> (OWASP) comes in. You can think of the OWASP as an enhanced core ruleset that the mod_security module will follow to prevent attacks on your server.</p>
<p>The process of getting started with mod_security and OWASP might seem like a lot of work, but it&#8217;s actually quite simple. Let&#8217;s look at the installation and configuration process in a CentOS environment. First, we want to install the dependencies that mod_security needs:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Install the GCC compiler and mod_security dependencies ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> yum <span style="color: #c20cb9; font-weight: bold;">install</span> <span style="color: #c20cb9; font-weight: bold;">gcc</span> <span style="color: #c20cb9; font-weight: bold;">make</span>
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> yum <span style="color: #c20cb9; font-weight: bold;">install</span> libxml2 libxml2-devel httpd-devel pcre-devel curl-devel</pre></div></div>

<p>Now that we have the dependencies in place, let&#8217;s install mod_security. Unfortunately, there is no yum for mod_security because it is not a maintained package, so you&#8217;ll have to install it directly from the source:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Get mod_security from its source ##</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>src
$ <span style="color: #c20cb9; font-weight: bold;">git</span> clone https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>SpiderLabs<span style="color: #000000; font-weight: bold;">/</span>ModSecurity.git</pre></div></div>

<p>Now that we have mod_security on our server, we&#8217;ll install it:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Install mod_security ##</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> ModSecurity
$ .<span style="color: #000000; font-weight: bold;">/</span>configure
$ <span style="color: #c20cb9; font-weight: bold;">make</span> <span style="color: #c20cb9; font-weight: bold;">install</span></pre></div></div>

<p>And we&#8217;ll copy over the default mod_security configuration file into the necessary Apache directory:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Copy configuration file ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">cp</span> modsecurity.conf-recommended <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>conf.d<span style="color: #000000; font-weight: bold;">/</span>modsecurity.conf</pre></div></div>

<p>We&#8217;ve got mod_security installed now, so we need to tell Apache about it &#8230; It&#8217;s no use having mod_security installed if our server doesn&#8217;t know it&#8217;s supposed to be using it:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Apache configuration for mod_security ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>conf<span style="color: #000000; font-weight: bold;">/</span>httpd.conf</pre></div></div>

<p>We&#8217;ll need to load our Apache config file to include our dependencies (BEFORE the mod_security module) and the mod_security file module itself:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Load dependencies ##</span>
LoadFile <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>libxml2.so
LoadFile <span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>liblua5.1.so
<span style="color: #666666; font-style: italic;">## Load mod_security ##</span>
LoadModule security2_module modules<span style="color: #000000; font-weight: bold;">/</span>mod_security2.so</pre></div></div>

<p>We&#8217;ll save our configuration changes and restart Apache:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Restart Apache! ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>httpd restart</pre></div></div>

<p>As I mentioned at the top of this post, our installation of mod_security is good, but we want to enhance our ruleset with the help of OWASP. If you&#8217;ve made it this far, you won&#8217;t have a problem following a similar process to install OWASP:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## OWASP ##</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>
$ <span style="color: #c20cb9; font-weight: bold;">git</span> clone https:<span style="color: #000000; font-weight: bold;">//</span>github.com<span style="color: #000000; font-weight: bold;">/</span>SpiderLabs<span style="color: #000000; font-weight: bold;">/</span>owasp-modsecurity-crs.git
$ <span style="color: #c20cb9; font-weight: bold;">mv</span> owasp-modsecurity-crs modsecurity-crs</pre></div></div>

<p>Just like with mod_security, we&#8217;ll set up our configuration file:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## OWASP configuration file ##</span>
$ <span style="color: #7a0874; font-weight: bold;">cd</span> modsecurity-crs
$ <span style="color: #c20cb9; font-weight: bold;">cp</span> modsecurity_crs_10_setup.conf.example modsecurity_crs10_config.conf</pre></div></div>

<p>Now we have mod_security and the OWASP core ruleset ready to go! The last step we need to take is to update the Apache config file to set up our basic ruleset:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Apache configuration ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">vi</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>httpd<span style="color: #000000; font-weight: bold;">/</span>conf<span style="color: #000000; font-weight: bold;">/</span>httpd.conf</pre></div></div>

<p>We&#8217;ll add an IfModule and point it to our new OWASP rule set at the end of the file:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;</span>IfModule security2_module<span style="color: #000000; font-weight: bold;">&gt;</span>
    Include modsecurity-crs<span style="color: #000000; font-weight: bold;">/</span>modsecurity_crs_10_config.conf
    Include modsecurity-crs<span style="color: #000000; font-weight: bold;">/</span>base_rules<span style="color: #000000; font-weight: bold;">/*</span>.conf
<span style="color: #000000; font-weight: bold;">&lt;/</span>IfModule<span style="color: #000000; font-weight: bold;">&gt;</span></pre></div></div>

<p>And to complete the installation, we save the config file and restart Apache:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Restart Apache! ##</span>
$ <span style="color: #c20cb9; font-weight: bold;">sudo</span> <span style="color: #000000; font-weight: bold;">/</span>etc<span style="color: #000000; font-weight: bold;">/</span>init.d<span style="color: #000000; font-weight: bold;">/</span>httpd restart</pre></div></div>

<p>And we&#8217;ve got mod_security installed with the OWASP core ruleset! With this default installation, we&#8217;re leveraging the rules the OWASP open source community has come up with, and we have the flexibility to tweak and enhance those rules as our needs dictate. If you have any questions about this installation or you have any other technical blog topics you&#8217;d like to hear from us about, please let us know!</p>
<p>-Cassandra</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2013/web-development-installing-mod_security-with-owasp/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>ServerDensity: Tech Partner Spotlight</title>
		<link>http://blog.softlayer.com/2012/serverdensity-tech-partner-spotlight/</link>
		<comments>http://blog.softlayer.com/2012/serverdensity-tech-partner-spotlight/#comments</comments>
		<pubDate>Wed, 25 Jul 2012 14:20:22 +0000</pubDate>
		<dc:creator>Guest Blog</dc:creator>
				<category><![CDATA[Partner Marketplace]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[JIRA]]></category>
		<category><![CDATA[latency]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[partner]]></category>
		<category><![CDATA[partner marketplace]]></category>
		<category><![CDATA[prevention]]></category>
		<category><![CDATA[problems]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[server monitoring]]></category>
		<category><![CDATA[ServerDensity]]></category>
		<category><![CDATA[services]]></category>
		<category><![CDATA[space]]></category>
		<category><![CDATA[tips]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://blog.softlayer.com/?p=8889</guid>
		<description><![CDATA[We invite each of our featured SoftLayer Tech Marketplace Partners to contribute a guest post to the SoftLayer Blog, and this week, we&#8217;re happy to welcome David Mytton, Founder of ServerDensity. Server Density is a hosted server and website monitoring service that alerts you when your website is slow, down or back up. Company Website: [...]]]></description>
			<content:encoded><![CDATA[<p class="attribution">We invite each of our featured SoftLayer Tech Marketplace Partners to contribute a guest post to the SoftLayer Blog, and this week, we&#8217;re happy to welcome David Mytton, Founder of <a href="http://www.serverdensity.com/">ServerDensity</a>. Server Density is a hosted server and website monitoring service that alerts you when your website is slow, down or back up.</p>
<div class="more-info"><strong>Company Website:</strong> <a href="http://www.serverdensity.com/">http://www.serverdensity.com/</a><br />
<strong>Tech Partners Marketplace:</strong> <a href="http://www.softlayer.com/partners/marketplace/serverdensity">http://www.softlayer.com/marketplace/serverdensity</a></div>
<style type="text/css" media="screen">
h4{
font-size:16px;
color: #972F2C;
margin-bottom:0;
padding-bottom:0;
}
</style>
<h3>5 Ways to Minimize Downtime During Summer Vacation </h3>
<p>It&#8217;s a fact of life that everything runs smoothly until you&#8217;re out of contact, away from the Internet or on holiday. However, you can&#8217;t be available 24/7 on the chance that something breaks; instead, there are several things you can do to ensure that when things go wrong, the problem can be managed and resolved quickly. To help you set up your own &#8220;get back up&#8221; plan, we&#8217;ve come up with a checklist of the top five things you can do to prepare for an ill-timed issue. </p>
<h4 style="margin-bottom:5px; padding-bottom:0;">1. Monitoring</h4>
<p style="margin-top:0; padding-top:0;">How will you know when things break? Using a tool like <a href="http://www.serverdensity.com/">Server Density</a> &mdash; which combines availability monitoring from locations around the world with internal server metrics like disk usage, Apache and MySQL &mdash; means that you can be alerted if your site goes down, and have the data to find out why.</p>
<p>Surprisingly, the most common problems we see are some that are the easiest to fix. One problem that happens all too often is when a customer simply runs out of disk space in a volume! If you&#8217;ve ever had it happen to you, you know that running out of space will break things in strange ways &mdash; whether it prevents the database from accepting writes or fails to store web sessions on disk. By doing something as simple as setting an alert to monitor used disk space for all important volumes (not just root) at around 75%, you&#8217;ll have proactive visibility into your server to avoid hitting volume capacity.</p>
<p>Additionally, you should define triggers for unusual values that will set off a red flag for you. For example, if your Apache requests per second suddenly drop significantly, that change could indicate a problem somewhere else in your infrastructure, and if you&#8217;re not monitoring those indirect triggers, you may not learn about those other problems as quickly as you&#8217;d like. Find measurable direct and indirect relationships that can give you this kind of early warning, and find a way to measure them and alert yourself when something changes.</p>
<h4 style="margin-bottom:5px; padding-bottom:0;">2. Dealing with Alerts</h4>
<p style="margin-top:0; padding-top:0;">It&#8217;s no good having alerts sent to someone who isn&#8217;t responding (or who can&#8217;t at a given time). Using a service like <a href="http://www.pagerduty.com">Pagerduty</a> allows you to define on-call rotations for different types of alerts. Nobody wants to be on-call every hour of every day, so differentiating and channeling alerts in an automated way could save you a lot of hassle. Another huge benefit of a platform like Pagerduty is that it also handles escalations: If the first contact in the path doesn&#8217;t wake up or is out of service, someone else gets notified quickly.</p>
<p><span id="more-8889"></span></p>
<h4 style="margin-bottom:5px; padding-bottom:0;">3. Tracking Incidents</h4>
<p style="margin-top:0; padding-top:0;">Whether you&#8217;re the only person responsible or you have a team of engineers, you&#8217;ll want to track the status of alerts/issues, particularly if they require escalation to different vendors. If an incident lasts a long time, you&#8217;ll want to be able to hand it off to another person in your organization with all of the information they need. By tracking incidents with detailed notes information, you can avoid fatigue and prevent unnecessary repetition of troubleshooting steps.</p>
<p>We use <a href="http://www.atlassian.com/software/jira/overview">JIRA</a> for this because it allows you to define workflows an issue can progress along as you work on it. It also includes easy access to custom fields (e.g. specifying a vendor ticket ID) and can be assigned to different people.</p>
<h4 style="margin-bottom:5px; padding-bottom:0;">4. Understanding What Happened</h4>
<p style="margin-top:0; padding-top:0;">After you have received an alert, acknowledged it and started tracking the incident, it&#8217;s time to start investigating. Often, this involves looking at logs, and if you only have one or two servers, it&#8217;s relatively easy, but as soon as you add more, the process can get exponentially more difficult.</p>
<p>We recommend piping them all into a log search tool like (<a href="http://www.softlayer.com/partners/marketplace/papertrail">fellow Tech Partners Marketplace participant</a>) <a href="http://www.papertrailapp.com">Papertrail</a> or <a href="http://www.loggly.com">Loggly</a>. Those platforms afford you access to all of your logs from a single interface with the ability to see incoming lines in real-time or the functionality to search back to when the incident began (since you&#8217;ve clearly monitored and tracked all of that information in the first three steps).</p>
<h4 style="margin-bottom:5px; padding-bottom:0;">5. Getting Access to Your Servers</h4>
<p style="margin-top:0; padding-top:0;">If you&#8217;re traveling internationally, access to the Internet via a free hotspot like the ones you find in Starbucks isn&#8217;t always possible. It&#8217;s always a great idea to order a portable 3G hotspot in advance of a trip. You can usually pick one up from the airport to get basic Internet access without paying ridiculous roaming charges. Once you have your connection, the next step is to make sure you can access your servers.</p>
<p>Both iPhone and Android have SSH and remote desktop apps available which allow you to quickly log into your servers to fix easy problems. Having those tools often saves a lot of time if you don&#8217;t have access to your laptop, but they also introduce a security concern: If you open server logins to the world so you can login from the dynamic IPs that change when you use mobile connectivity, then it&#8217;s worth considering a multi-factor authentication layer. We use <a href="http://www.duosecurity.com/">Duo Security</a> for several reasons, with one major differentiator being the modules they have available for all major server operating systems to lock down our logins even further.</p>
<p>You&#8217;re never going to escape the reality of system administration: If your server has a problem, you need to fix it. What you <em>can</em> get away from is the uncertainty of not having a clearly defined process for responding to issues when they arise.</p>
<p>-David Mytton, <a href="http://www.serverdensity.com/">ServerDensity</a></p>
<div class="tpm-note">This guest blog series highlights companies in SoftLayer&#8217;s <a href="http://www.softlayer.com/partners/marketplace/index">Technology Partners Marketplace</a>. <br/>These <a href="http://blog.softlayer.com/partner-marketplace/">Partners</a> have built their businesses on the SoftLayer Platform, and we&#8217;re excited for them to tell their stories. New Partners will be added to the Marketplace each month, so stay tuned for many more come.</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.softlayer.com/2012/serverdensity-tech-partner-spotlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
