<?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>QuocHung.Net - Vietnam Hosting Provider - PHP - MySQL - Cpanel - Kloxo - VDC DataCenter</title>
	<atom:link href="http://quochung.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://quochung.net</link>
	<description>Vietnam Hosting Provider - PHP - MySQL - Cpanel - Kloxo - VDC DataCenter</description>
	<lastBuildDate>Sun, 17 Jul 2011 13:09:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.1</generator>
		<item>
		<title>Enabling Unicode in Pidgin</title>
		<link>http://quochung.net/2011/07/17/enabling-unicode-pidgin/</link>
		<comments>http://quochung.net/2011/07/17/enabling-unicode-pidgin/#comments</comments>
		<pubDate>Sun, 17 Jul 2011 13:09:06 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=862</guid>
		<description><![CDATA[I noticed that some Pidgin installation may not support Unicode support properly. This is because the &#8220;pango.aliases&#8221; file may not embed the correct font information for you to read the fonts. To enable unicode support, open and edit the file &#8220;pango.aliases&#8221; (most likely at &#8220;GTK\etc\pango&#8221;) and put in the following format, with the example below: [...]]]></description>
			<content:encoded><![CDATA[<p>I noticed that some Pidgin installation may not support Unicode support properly. This is because the &#8220;pango.aliases&#8221; file may not embed the correct font information for you to read the fonts.</p>
<p>To enable unicode support, open and edit the file &#8220;pango.aliases&#8221; (most likely at &#8220;GTK\etc\pango&#8221;) and put in the following format, with the example below:</p>
<p>sans = &#8220;arial,{unicode font name 1},{unicode font name 2}&#8221;<br />
serif = &#8220;roman,{unicode font name 1},{unicode font name 2}&#8221;<br />
monospace = &#8220;courier new,{unicode font name 1},{unicode font name 2}&#8221;<br />
{custom font} = &#8220;{custom font},{unicode font name 1},{unicode font name 2}&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2011/07/17/enabling-unicode-pidgin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>dumper.en.php backup dữ liệu nhanh chóng</title>
		<link>http://quochung.net/2010/10/29/dumper-en-php-backup-d%e1%bb%af-li%e1%bb%87u-nhanh-chong/</link>
		<comments>http://quochung.net/2010/10/29/dumper-en-php-backup-d%e1%bb%af-li%e1%bb%87u-nhanh-chong/#comments</comments>
		<pubDate>Fri, 29 Oct 2010 05:41:13 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://www.quochung.net/?p=848</guid>
		<description><![CDATA[Hi everybody inp o҉rtb gave me this excellent backup script. The only problem is that it was russian, so I decided to make an english translation of it. inp o҉rtb helped me to make the translation in good english (I just did russian to english) Current version 1.0.8 You can download the english version right [...]]]></description>
			<content:encoded><![CDATA[<p>Hi everybody</p>
<p>inp o҉rtb gave me this excellent backup script.<br />
The only problem is that it was russian, so I decided to make an english translation of it.<br />
inp o҉rtb helped me to make the translation in good english (I just did russian to english)<br />
Current version 1.0.8<br />
You can download the english version right here:</p>
<p>http://ztz.110mb.com/dumper.en.zip</p>
<p>http://www.icand.uni.cc/downloads/dumper.en.zip</p>
<p>This is the original russian version:</p>
<p>http://sypex.net/files/SypexDumperLite_108.zip</p>
<p>I did ask the site for permission, and they allowed this:<br />
Quote<br />
We now create the new multilingual version of aSypex Dumper, and english version of our site. But any interested person can freely use your translated version.<br />
so as you can read by yourself, you see that they&#8217;re working on an english version too, as soon as it gets released I&#8217;ll post it here too<br />
This is the creator&#8217;s site: http://sypex.net/<br />
This is the temporary english site: http://www.icand.uni.cc/downloads/dumper/</p>
<p>What&#8217;s so good about it?<br />
-> no more problem with interrupted downloads: the script creates a file on you account with the backup (uncompressed, gzipped or bzipped) that you can download by ftp<br />
-> same for restoring<br />
-> you can do it with even the largest database you can imagine</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/10/29/dumper-en-php-backup-d%e1%bb%af-li%e1%bb%87u-nhanh-chong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A PHP- and JavaScript- based File Manager</title>
		<link>http://quochung.net/2010/07/31/a-php-and-javascript-based-file-manager/</link>
		<comments>http://quochung.net/2010/07/31/a-php-and-javascript-based-file-manager/#comments</comments>
		<pubDate>Sat, 31 Jul 2010 09:46:13 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://www.quochung.net/?p=752</guid>
		<description><![CDATA[eXtplorer is a web-based File Manager. You can use it to browse directories &#38; files on the server and edit, copy, move, delete files, search, upload and download files, create and extract archives, create new files and directories, change file permissions (chmod) and much more&#8230; You can even use eXtplorer to login to the FTP [...]]]></description>
			<content:encoded><![CDATA[<p><strong>eXtplorer</strong> is a web-based File Manager. You can use it to</p>
<ul>
<li> browse directories &amp; files on the server and</li>
<li> edit, copy, move, delete files,</li>
<li> search, upload and download files,</li>
<li> create and extract archives,</li>
<li> create new files and directories,</li>
<li> change file permissions (chmod) and much more&#8230;</li>
</ul>
<p>You can even use eXtplorer to login to the FTP server (like <a title="External link to http://www.net2ftp.com/" href="http://www.net2ftp.com/" target="_blank">net2ftp</a>) and work as if you were using an FTP client. Access via WebDAV is also possible (requires some extra work and a database!).</p>
<p>eXtplorer is released under a dual-license: You can choose wether you want to use eXtplorer under the <a title="External link to http://www.mozilla.org/MPL/MPL-1.1.html" href="http://www.mozilla.org/MPL/MPL-1.1.html" target="_blank">Mozilla Public License</a> (MPL 1.1) or under the <a title="External link to http://www.gnu.org/licenses/gpl-2.0.txt" href="http://www.gnu.org/licenses/gpl-2.0.txt" target="_blank">GNU General Public License</a> (GNU/GPL). Note that <strong>if</strong> you decide to distribute/use eXtplorer under the MPL, you are not allowed to use the ExtJS Javascript library.</p>
<p>eXtplorer needs at least <strong>PHP 4.3</strong> on the server and an up-to-date browser with <strong>Javascript enabled</strong> to run.﻿</p>
<p>The Main Features of eXtplorer are:</p>
<ul>
<li> <strong>Copy &amp; Move</strong> Files and Directories by Drag&amp;Drop</li>
<li> Dynamic Directory Tree with on-demand loading of subdirectories</li>
<li> <strong>Edit</strong> Files (with <strong>Syntax-Highlighting</strong> thanks to <a title="External link to http://www.cdolivet.net/editarea/" href="http://www.cdolivet.net/editarea/" target="_blank">EditArea</a>)</li>
<li> <strong>Rename</strong>, Delete or Create new Files and Directories</li>
<li> Access Files through <strong>FTP</strong> or directly (using PHP) to totally overcome <em>permission</em> and <em>file ownership</em> issues</li>
<li> Upload or Download files just as you like</li>
<li> Create and <strong>Extract Archives</strong> (ZIP, Tar, Tar/GZ, Tar/BZ)</li>
<li> <strong>User Management</strong> with different permission levels like &#8220;View only&#8221; or &#8220;Edit&#8221; and &#8220;Admin&#8221;</li>
<li> Available as a component for <a title="External link to http://www.joomla.org" href="http://www.joomla.org/" target="_blank">Joomla!</a> and Mambo.</li>
</ul>
<p>All these features are packed into an intuitive Layout which makes working with files very easy. Thanks to the great <a title="External link to http://extjs.com" href="http://extjs.com/" target="_blank">ExtJS Javascript Library</a> you can drag &amp; drop folders and files, filter directories and sort the file list using various criteria.</p>
<p>ou can download eXtplorer from sourceforge.net:<br />
<strong>Current Version: 2.0.1</strong> (released 2009-01-15)</p>
<div><a title="External link to http://downloads.sourceforge.net/extplorer/eXtplorer_2.0.1.zip?use_mirror=osdn" href="http://downloads.sourceforge.net/extplorer/eXtplorer_2.0.1.zip?use_mirror=osdn" target="_blank">Download eXtplorer (990 kb)</a></div>
<p>New!</p>
<div><a title="External link to https://sourceforge.net/projects/extplorer/files/extplorer/eXtplorer%202.1.0/eXtplorer_2.1.0b6.zip/download" href="https://sourceforge.net/projects/extplorer/files/extplorer/eXtplorer%202.1.0/eXtplorer_2.1.0b6.zip/download" target="_blank">Download eXtplorer 2.1 beta6 (1.730 kb)</a></div>
<p>You can also still download all <a title="External link to https://sourceforge.net/projects/extplorer/files/" href="https://sourceforge.net/projects/extplorer/files/" target="_blank">older Versions</a>.</p>
<p>Interested in <a title="Load the eXtplorer Sources - soeren, Tuesday, April 07, 2009 5:08:00 PM" href="javascript:;">downloading the eXtplorer sources</a>?</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/07/31/a-php-and-javascript-based-file-manager/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gói dịch vụ nạp trước và trừ dần</title>
		<link>http://quochung.net/2010/05/19/go%cc%81i-da%cc%a3i-ly%cc%81-na%cc%a3p-tr%c6%b0%c6%a1%cc%81c-va%cc%80-tr%c6%b0%cc%80-da%cc%80n-khi-s%c6%b0%cc%83-du%cc%a3ng-se%cc%83-d%c6%b0%c6%a1%cc%a3c-nha%cc%a3n-chie%cc%81c-kha%cc%81u-cao/</link>
		<comments>http://quochung.net/2010/05/19/go%cc%81i-da%cc%a3i-ly%cc%81-na%cc%a3p-tr%c6%b0%c6%a1%cc%81c-va%cc%80-tr%c6%b0%cc%80-da%cc%80n-khi-s%c6%b0%cc%83-du%cc%a3ng-se%cc%83-d%c6%b0%c6%a1%cc%a3c-nha%cc%a3n-chie%cc%81c-kha%cc%81u-cao/#comments</comments>
		<pubDate>Wed, 19 May 2010 03:04:40 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/archives/715</guid>
		<description><![CDATA[Yêu cầu thời gian nạp trước là 15 ngày hoặc quý khách hàng đã từng thuê dịch vụ trước đây. + Cấp 1 : nạp 1.000.000 vnđ được giảm 10% + Cấp 2 : nạp 2.000.000 vnđ được giảm 20% + Cấp 3 : nạp 3.000.000 vnđ được giảm 30%]]></description>
			<content:encoded><![CDATA[<p>Yêu cầu thời gian nạp trước là 15 ngày hoặc quý khách hàng đã từng thuê dịch vụ trước đây.</p>
<p>+ Cấp 1 : nạp 1.000.000 vnđ được giảm 10%<br />
+ Cấp 2 : nạp 2.000.000 vnđ được giảm 20%<br />
+ Cấp 3 : nạp 3.000.000 vnđ được giảm 30%</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/05/19/go%cc%81i-da%cc%a3i-ly%cc%81-na%cc%a3p-tr%c6%b0%c6%a1%cc%81c-va%cc%80-tr%c6%b0%cc%80-da%cc%80n-khi-s%c6%b0%cc%83-du%cc%a3ng-se%cc%83-d%c6%b0%c6%a1%cc%a3c-nha%cc%a3n-chie%cc%81c-kha%cc%81u-cao/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Chống ddos bằng .htaccess</title>
		<link>http://quochung.net/2010/04/26/cho%cc%81ng-ddos-ba%cc%80ng-htaccess/</link>
		<comments>http://quochung.net/2010/04/26/cho%cc%81ng-ddos-ba%cc%80ng-htaccess/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 18:32:32 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=707</guid>
		<description><![CDATA[Tạo tập tin tên : .htaccess Nội dung : RewriteEngine on RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?quochung.net [NC] RewriteRule !antiddos.phtml http://quochung.net/antiddos.phtml?%{REQUEST_URI} [QSA] Tiếp tục tạo tập tin antiddos.phtml &#60;? $text=$HTTP_SERVER_VARS['QUERY_STRING']; $text = preg_replace("#php\&#38;#si",'php?',$text); echo('&#60;center&#62;&#60;a href=http://quochung.net'.$text.'&#62;[Click vao day]&#60;/a&#62;&#60;br&#62;de vao dien dan.&#60;/center&#62;'); ?&#62;]]></description>
			<content:encoded><![CDATA[<blockquote><p><strong>Tạo tập tin tên : .htaccess<br />
Nội dung :</strong></p>
<pre>RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?quochung.net [NC]
RewriteRule !antiddos.phtml <a href="http://heroin-aids.com/niemtin/antiddos.phtml?%{REQUEST_URI">http://quochung.net/antiddos.phtml?%{REQUEST_URI</a>} [QSA]</pre>
<p><strong>Tiếp tục tạo tập tin antiddos.phtml</strong></p>
<pre>&lt;?
$text=$HTTP_SERVER_VARS['QUERY_STRING'];
$text = preg_replace("#php\&amp;#si",'php?',$text);
echo('&lt;center&gt;&lt;a href=http://quochung.net'.$text.'&gt;[Click vao day]&lt;/a&gt;&lt;br&gt;de vao dien dan.&lt;/center&gt;');
?&gt;</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/04/26/cho%cc%81ng-ddos-ba%cc%80ng-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Lighttpd Hosting</title>
		<link>http://quochung.net/2010/04/20/lighttpd-hosting/</link>
		<comments>http://quochung.net/2010/04/20/lighttpd-hosting/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 03:20:44 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/archives/704</guid>
		<description><![CDATA[Lighttpd Hosting QHNET Solutions hosting plans come with the option to use Lighttpd as your web server to deliver your static content pages and dynamic web applications like Ruby on Rails. What is Lighttpd Lighttpd is a small-footprint web server written with speed and low resource usage in mind. It provides an up-to-date interface to [...]]]></description>
			<content:encoded><![CDATA[<h2>Lighttpd Hosting</h2>
<p>QHNET Solutions hosting plans come with the option to use Lighttpd as your web server to deliver your static content pages and dynamic web applications like Ruby on Rails.</p>
<h4>What is Lighttpd</h4>
<p>Lighttpd is a small-footprint web server written with speed and low resource usage in mind. It provides an up-to-date interface to FastCGI, which allows a significant speed increase in applications like Ruby on Rails and Python-based web applications.</p>
<p>Lighttp also supports PHP, virtual hosts, URL-rewriting (in the spirit of mod_rewrite), large file support, gzip/bzip2/deflate compression, basic and digest authentication, SSL, and SSI.</p>
<h4>Lighttpd Hosting Support at QHNET Solutions</h4>
<p>We can allocate a port for you to run Lighttpd on. Our proxy settings in Apache will let Lighttpd host your content for your entire site, a subdomain, or just a certain part of your site. By running Lighttpd behind Apache, you get the best of both worlds.</p>
<p><strong>If you want to learn more about Lighttpd, please visit the <a href="http://www.lighttpd.net/" target="_blank">Lighttpd website</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/04/20/lighttpd-hosting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizing Vbulletin &#8211; tăng tốc diễn đàn</title>
		<link>http://quochung.net/2010/03/28/optimizing-vbulletin-tang-t%e1%bb%91c-di%e1%bb%85n-dan/</link>
		<comments>http://quochung.net/2010/03/28/optimizing-vbulletin-tang-t%e1%bb%91c-di%e1%bb%85n-dan/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 16:53:44 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=699</guid>
		<description><![CDATA[This is what I use on my forum to cut bandwidth and server loads List of things to do to optimize vBulletin and the rest of your site vBulletin Options &#8211;&#62; General Settings - Use Forum Jump Menu &#8211;&#62; No - Add Template Name in HTML Comments &#8211;&#62; No &#8211;&#62; Cookies and HTTP Header Options [...]]]></description>
			<content:encoded><![CDATA[<div id="post_message_44505">This is what I use on my forum to cut bandwidth and server loads</p>
<p>List of things to do to optimize vBulletin and the rest of your site</p>
<p>vBulletin Options</p>
<blockquote><p>&#8211;&gt; General Settings</p></blockquote>
<p>- Use Forum Jump Menu &#8211;&gt; No<br />
- Add Template Name in HTML Comments &#8211;&gt; No</p>
<blockquote><p>&#8211;&gt; Cookies and HTTP Header Options</p></blockquote>
<p>- GZIP HTML Output &#8211;&gt; Yes<br />
- GZIP Compression Level &#8211;&gt; 1<br />
- Add No-Cache HTTP Headers &#8212; No<br />
- Remove Redirection Message Pages &#8212; Yes</p>
<blockquote><p>&#8211;&gt; Server Settings and Optimization Options</p></blockquote>
<p>- Cached Posts Lifespan &#8211;&gt; 30<br />
- Update Attachment Views Immediately &#8211;&gt; No</p>
<blockquote><p>&#8211;&gt; Style &amp; Language Settings</p></blockquote>
<p>- Store CSS Stylesheets as Files? &#8211;&gt; Yes</p>
<blockquote><p>&#8211;&gt; User Registration Options</p></blockquote>
<blockquote><p>- Default Registration Options:</p></blockquote>
<p>- Display Reputation &#8211;&gt; Uncheck<br />
- Automatic Thread Subscription Mode &#8212; &gt; Do Not Subsribe<br />
- Message Editor Interface &#8211;&gt; Show Standard Editor Toolbar</p>
<blockquote><p>&#8211;&gt; User Reputation Options</p></blockquote>
<p>- Enable User Reputation system &#8211;&gt; No</p>
<blockquote><p>&#8211;&gt; User Listing &amp; Profile Viewing</p></blockquote>
<p>- Show Last Post on Profile Page &#8211;&gt; No</p>
<blockquote><p>&#8211;&gt; Message Posting and Editing Options</p></blockquote>
<p>- Quick Reply Enabled &#8211;&gt; Yes &#8211; Show Standard Editor Toolbar</p>
<blockquote><p>&#8211;&gt; Message Posting Interface Options</p></blockquote>
<p>- Enable Clickable Message Formatting Controls &#8211;&gt; Enable Standard Controls</p></div>
<div>User Listing &amp; Profile Viewing</p>
<p>Members List Enabled -&gt; NO</p></div>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2010/03/28/optimizing-vbulletin-tang-t%e1%bb%91c-di%e1%bb%85n-dan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>20 Linux Server Hardening Security Tips</title>
		<link>http://quochung.net/2009/12/28/20-linux-server-hardening-security-tips/</link>
		<comments>http://quochung.net/2009/12/28/20-linux-server-hardening-security-tips/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 13:44:47 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=645</guid>
		<description><![CDATA[Securing your Linux server is important to protect your data, intellectual property, and time, from the hands of crackers (hackers). The system administrator is responsible for security Linux box. In this first part of a Linux server security series, I will provide 20 hardening tips for default installation of Linux system. #1: Encrypt Data Communication [...]]]></description>
			<content:encoded><![CDATA[<p>Securing your Linux server is important to protect your data, intellectual property, and time, from the hands of crackers (hackers). The system administrator is responsible for security Linux box. In this first part of a Linux server security series, I will provide 20 hardening tips for default installation of Linux system.</p>
<h2>#1: Encrypt Data Communication</h2>
<p>All data transmitted over a network is open to monitoring. Encrypt transmitted data whenever possible with password or using keys / certificates.</p>
<ol>
<li>Use <a href="http://openssh.org/" target="_blank">scp, ssh</a>, rsync, or sftp for file transfer.  You can also mount <a href="http://www.cyberciti.biz/tips/rhel-centos-mounting-remote-filesystem-using-sshfs.html">remote server file system</a> or your own home directory using special sshfs and fuse tools.</li>
<li><a href="http://www.gnupg.org/" target="_blank">GnuPG</a> allows to encrypt and sign your data and communication, features a versatile key managment system as well as access modules for all kind of public key directories.</li>
<li><a href="http://rsug.itd.umich.edu/software/fugu/">Fugu</a> is a graphical frontend to the commandline Secure File Transfer application (SFTP). SFTP is similar to FTP, but unlike FTP, the entire session is encrypted, meaning no passwords are sent in cleartext form, and is thus much less vulnerable to third-party interception. Another option is <a href="http://filezilla-project.org/" target="_blank">FileZilla</a> &#8211; a cross-platform client that supports FTP, FTP over SSL/TLS (FTPS), and SSH File Transfer Protocol (SFTP).</li>
<li><a href="http://openvpn.net/" target="_blank">OpenVPN</a> is a cost-effective, lightweight SSL VPN.</li>
<li><a href="http://www.cyberciti.biz/tips/how-to-install-ssl-lighttpd-https-configuration.html">Lighttpd SSL (Secure Server Layer) Https</a> Configuration And Installation</li>
<li><a href="http://www.cyberciti.biz/faq/rhel-apache-httpd-mod-ssl-tutorial/">Apache SSL (Secure Server Layer) Https</a> (mod_ssl) Configuration And Installation</li>
</ol>
<h3>#1.1: Avoid Using FTP, Telnet, And Rlogin / Rsh</h3>
<p>Under most network configurations, user names, passwords, FTP / telnet / rsh commands and transferred files can be captured by anyone on the same network using a packet sniffer. The common solution to this problem is to use either <a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">OpenSSH</a> , <a href="http://www.cyberciti.biz/tips/configure-vsfptd-secure-connections-via-ssl-tls.html">SFTP, or FTPS</a> (FTP over SSL), which adds SSL or TLS encryption to FTP. Type the following command to delete NIS, rsh and other outdated service:<br />
<code># yum erase inetd xinetd ypserv tftp-server telnet-server rsh-serve</code></p>
<h2>#2: Minimize Software to Minimize Vulnerability</h2>
<p>Do you really need all sort of web services installed? Avoid installing unnecessary software to avoid vulnerabilities in software. Use the RPM package manager such <a href="http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/">as yum</a> or <a href="http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html">apt-get and/or dpkg to review</a> all installed set of software packages on a system. Delete all unwanted packages.<br />
<code># yum list installed<br />
# yum list packageName<br />
# yum remove packageName</code><br />
OR<br />
<code># dpkg --list<br />
# dpkg --info packageName<br />
# apt-get remove packageName</code></p>
<h2>#3: One Network Service Per System or VM Instance</h2>
<p>Run different network services on separate servers or VM instance. This limits the number of other services that can be compromised. For example, if an attacker able to successfully exploit a software such as Apache flow, he / she will get an access to entire server including other services such as MySQL, e-mail server and so on. See how to install Virtualization software:</p>
<ul>
<li><a href="http://www.cyberciti.biz/tips/rhel-centos-xen-virtualization-installation-howto.html">Install and Setup XEN Virtualization Software on CentOS Linux 5</a></li>
<li><a href="http://www.cyberciti.biz/faq/openvz-rhel-centos-linux-tutorial/">How To Setup OpenVZ under RHEL / CentOS Linux</a></li>
</ul>
<h2>#4: Keep Linux Kernel and Software Up to Date</h2>
<p>Applying security patches is an important part of maintaining Linux server. Linux provides all necessary tools to keep your system updated, and also allows for easy upgrades between versions. All security update should be reviewed and applied as soon as possible. Again, use the RPM package manager such <a href="http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/">as yum</a> and/or <a href="http://www.cyberciti.biz/tips/linux-debian-package-management-cheat-sheet.html">apt-get and/or dpkg to </a> apply all security updates.<br />
<code># yum update </code><br />
OR<br />
<code># apt-get update &amp;&amp; apt-get upgrade</code><br />
You can  configure  Red hat / CentOS / Fedora Linux to send yum package <a href="http://www.cyberciti.biz/faq/red-hat-centos-fedora-send-package-update-notification-via-email/">update notification via email</a>. Another option is to apply <a href="http://www.cyberciti.biz/faq/fedora-automatic-update-retrieval-installation-with-cron/">all security updates</a> via a cron job. Under Debian / Ubuntu Linux you can use <a href="http://www.cyberciti.biz/faq/apt-get-apticron-send-email-upgrades-available/">apticron</a> to send security notifications.</p>
<h2>#5: Use Linux Security Extensions</h2>
<p>Linux comes with various security patches which can be used to guard against misconfigured or compromised programs. If possible use <a href="http://www.cyberciti.biz/tips/selinux-vs-apparmor-vs-grsecurity.html">SELinux and other Linux security</a> extensions to enforce limitations on network and other programs. For example, SELinux provides a variety of security policies for Linux kernel.</p>
<h3>#5.1: SELinux</h3>
<p>I strongly recommend using SELinux which provides a flexible Mandatory Access Control (MAC). Under standard Linux Discretionary Access Control (DAC), an application or process running as a user (UID or SUID) has the user&#8217;s permissions to objects such as files, sockets, and other processes. Running a MAC kernel protects the system from malicious or flawed applications that can damage or destroy the system. See the official <a href="http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Deployment_Guide/selg-overview.html" target="_blank">Redhat</a> documentation which explains SELinux configuration.</p>
<h2>#6: User Accounts and Strong Password Policy</h2>
<p>Use the useradd / usermod commands to create and maintain user accounts. Make sure you have a good and strong password policy. For example, a good password includes at least 8 characters long and mixture of alphabets, number, special character, upper &amp; lower alphabets etc. Most important pick a password you can remember. Use tools such as &#8220;<a href="http://www.cyberciti.biz/faq/unix-linux-password-cracking-john-the-ripper/">John the ripper</a>&#8221; to find out weak users passwords on your  server. Configure <a href="http://www.cyberciti.biz/tips/linux-check-passwords-against-a-dictionary-attack.html">pam_cracklib.so to</a> enforce the password policy.</p>
<h3>#6.1: Password Aging</h3>
<p>The <a href="http://www.cyberciti.biz/faq/tag/chage-command/">chage command</a> changes the number of days between password changes and the date of the last password change. This information is used by the system to determine when a user must change his/her password. The <a href="http://www.cyberciti.biz/tips/linux-set-default-password-expiry-for-all-new-users.html">/etc/login.defs file</a> defines the site-specific configuration for the shadow password suite including password aging configuration. To disable password aging, enter:<br />
<code>chage -M 99999 userName</code><br />
To get password expiration information, enter:<br />
<code>chage -l userName</code><br />
Finally, you can also edit the <a href="http://www.cyberciti.biz/faq/understanding-etcshadow-file/">/etc/shadow file</a> in the following fields:</p>
<pre>{userName}:{password}:{lastpasswdchanged}:{Minimum_days}:{Maximum_days}:{Warn}:{Inactive}:{Expire}:</pre>
<p>Where,</p>
<ol>
<li><strong>Minimum_days</strong>: The minimum number of days required between password changes i.e. the number of days left before the user is allowed to change his/her password.</li>
<li><strong>Maximum_days</strong>: The maximum number of days the password is valid (after that user is forced to change his/her password).</li>
<li><strong>Warn</strong> : The number of days before password is to expire that user is warned that his/her password must be changed.</li>
<li><strong>Expire </strong>: Days since Jan 1, 1970 that account is disabled i.e. an absolute date specifying when the login may no longer be used.</li>
</ol>
<p>I recommend chage command instead of editing the /etc/shadow by hand:<br />
<code># chage -M 60 -m 7 -W 7 userName</code><br />
Recommend readings:</p>
<ul>
<li><a href="http://www.cyberciti.biz/faq/rhel-debian-force-users-to-change-passwords/">Linux: Force Users To Change Their Passwords Upon First Login</a></li>
<li><a href="http://www.cyberciti.biz/tips/setting-off-password-aging-expiration.html">Linux turn On / Off password expiration / aging</a></li>
<li><a href="http://www.cyberciti.biz/faq/linux-locking-an-account/">Lock the user password</a></li>
<li><a href="http://www.cyberciti.biz/tips/search-for-all-account-without-password-and-lock-them.html">Search for all account without password and lock them</a></li>
<li><a href="http://www.cyberciti.biz/faq/protect-command-by-configuring-linux-unix-group-permissions/">Use Linux groups to enhance security</a></li>
</ul>
<h3>#6.2: Restricting Use of Previous Passwords</h3>
<p>You can prevent all users from using or reuse same old passwords under Linux. The <a href="http://www.cyberciti.biz/tips/how-to-linux-prevent-the-reuse-of-old-passwords.html">pam_unix module parameter remember</a> can be used to configure the number of previous passwords that cannot be reused.</p>
<h3>#6.3: Locking User Accounts After Login Failures</h3>
<p>Under Linux you can use the <a href="http://www.cyberciti.biz/tips/rhel-centos-fedora-linux-log-failed-login.html">faillog command to</a> display faillog records or to set login failure limits. faillog formats the contents of the failure log from /var/log/faillog database / log file. It also can be used for maintains failure counters and limits.To see failed login attempts, enter:<br />
<code>faillog</code><br />
To unlock an account after login failures, run:<br />
<code>faillog -r -u userName </code><br />
Note you can use passwd command to lock and unlock accounts:<br />
<code># lock account<br />
<a href="http://www.cyberciti.biz/faq/linux-locking-an-account/">passwd -l userName</a><br />
# unlocak account<br />
<a href="http://www.cyberciti.biz/faq/linux-locking-an-account/">passwd -u userName</a><br />
</code></p>
<h3>#6.4: How Do I Verify No Accounts Have Empty Passwords?</h3>
<p>Type the following command<br />
<code># awk -F: '($2 == "") {print}' /etc/shadow</code><br />
Lock all empty password accounts:<br />
<code># passwd -l accountName</code></p>
<h3>#6.5: Make Sure No Non-Root Accounts Have UID Set To 0</h3>
<p>Only root account have UID 0 with full permissions to access the system. Type the following command to display all accounts with UID set to 0:<br />
<code># awk -F: '($3 == "0") {print}' /etc/passwd</code><br />
You should only see one line as follows:</p>
<pre>root:x:0:0:root:/root:/bin/bash</pre>
<p>If you see  other lines, delete them or  make sure other accounts are authorized by you to use UID 0.</p>
<h2>#7: Disable root Login</h2>
<p>Never ever login as root user. You should <a href="http://www.cyberciti.biz/tips/allow-a-normal-user-to-run-commands-as-root.html">use sudo to</a> execute root level commands as and when required. sudo does greatly enhances the security of the system without sharing root password with other users and admins. sudo provides simple <a href="http://www.cyberciti.biz/faq/sudo-send-e-mail-sudo-log-file/">auditing and tracking</a> features too.</p>
<h2>#8: Physical Server Security</h2>
<p>You must protect Linux servers physical console access. Configure <a href="http://www.cyberciti.biz/tips/tips-to-protect-linux-servers-physical-console-access.html">the BIOS</a> and disable the booting from external devices such as DVDs / CDs / USB pen. Set BIOS and grub <a href="http://www.cyberciti.biz/tips/how-do-i-secure-grub-boot-loader.html">boot loader password</a> to protect these settings. All production boxes must be locked in IDCs (Internet Data Center) and all persons must pass some sort of security checks before accessing your server. See also:</p>
<ul>
<li><a href="http://www.cyberciti.biz/tips/tips-to-protect-linux-servers-physical-console-access.html">9 Tips To Protect Linux Servers Physical Console Access</a>.</li>
</ul>
<h2>#9: Disable Unwanted Services</h2>
<p>Disable all unnecessary services and daemons (services that runs in the background). You need to remove all unwanted services from the system start-up. Type the following <a href="http://www.cyberciti.biz/faq/check-running-services-in-rhel-redhat-fedora-centoslinux/">command to list</a> all services which are started at boot time in run level # 3:<br />
<code># chkconfig --list | grep '3:on'</code><br />
To disable service, enter:<br />
<code># service serviceName stop<br />
# chkconfig serviceName off</code></p>
<h3>#9.1: Find Listening Network Ports</h3>
<p>Use the following command to list all open ports and associated programs:<br />
<code><a href="http://www.cyberciti.biz/tips/linux-display-open-ports-owner.html">netstat -tulpn</a></code><br />
OR<br />
<code><a href="http://www.cyberciti.biz/tips/linux-scanning-network-for-open-ports.html">nmap -sT -O localhost</a><br />
nmap -sT -O server.example.com</code><br />
Use iptables to close open ports or stop all unwanted network services using above service and chkconfig commands.</p>
<h4>#9.2: See Also</h4>
<ul>
<li><a href="http://www.cyberciti.biz/faq/rhel5-update-rcd-command/">update-rc.d like command on Redhat Enterprise / CentOS Linux</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/how-to-controlling-access-to-linux-services.html">Ubuntu / Debian Linux: Services Configuration Tool to Start / Stop System Services</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/netstat-command-tutorial-examples.html">Get Detailed Information About Particular IP</a> address Connections Using netstat Command.</li>
</ul>
<h2>#10: Delete X Windows</h2>
<p>X Windows on server is not required. There is no reason to run X Windows on your dedicated mail and Apache web server. You can <a>disable and remove X Windows</a> to improve server security and performance. Edit <a href="http://www.cyberciti.biz/tips/linux-changing-run-levels.html">/etc/inittab</a> and set run level to 3. Finally, remove X Windows system, enter:<br />
<code># <a href="http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-yum-command-howto/">yum groupremove "X Window System"</a></code></p>
<h2>#11: Configure Iptables and TCPWrappers</h2>
<p><a href="http://www.cyberciti.biz/faq/category/iptables/">Iptables</a> is a user space application program that allows you to configure the firewall (Netfilter) provided by the Linux kernel. Use <a href="http://bash.cyberciti.biz/firewall/linux-iptables-firewall-shell-script-for-standalone-server/">firewall</a> to filter <a href="http://www.cyberciti.biz/tips/block-spamming-scanning-with-iptables.html">out  traffic and allow only</a> necessary traffic. Also use the <a href="http://www.cyberciti.biz/faq/tcp-wrappers-hosts-allow-deny-tutorial/">TCPWrappers a host-based</a> networking ACL system to filter network access to Internet. You can prevent many denial of service attacks with the help of Iptables:</p>
<ul>
<li><a href="http://www.cyberciti.biz/tips/lighttpd-set-throughput-connections-per-ip.html">Lighttpd Traffic Shaping: Throttle Connections Per Single IP (Rate Limit)</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/linux-iptables-10-how-to-block-common-attack.html">How to: Linux Iptables block common attack</a>.</li>
<li><a href="http://www.cyberciti.biz/faq/linux-detect-port-scan-attacks/">psad: Linux Detect And Block Port Scan Attacks In Real Time</a>.</li>
</ul>
<h2>#12: Linux Kernel /etc/sysctl.conf Hardening</h2>
<p>/etc/sysctl.conf file is used to <a href="http://www.cyberciti.biz/faq/linux-kernel-etcsysctl-conf-security-hardening/">configure kernel parameters</a> at runtime. Linux reads and applies settings from /etc/sysctl.conf at boot time. Sample <a href="http://www.cyberciti.biz/faq/tag/etcsysctlconf/">/etc/sysctl.conf</a>:</p>
<pre># Turn on execshield
kernel.exec-shield=1
kernel.randomize_va_space=1
# Enable IP spoofing protection
net.ipv4.conf.all.rp_filter=1
# Disable IP source routing
net.ipv4.conf.all.accept_source_route=0
# Ignoring broadcasts request
net.ipv4.icmp_echo_ignore_broadcasts=1
net.ipv4.icmp_ignore_bogus_error_messages=1
# Make sure spoofed packets get logged
net.ipv4.conf.all.log_martians = 1</pre>
<h2>#13: Separate Disk Partitions</h2>
<p>Separation of the <a href="http://www.cyberciti.biz/tips/the-importance-of-linux-partitions.html">operating system files</a> from user files may result into a better and secure system. Make sure the following filesystems are mounted on separate partitions:</p>
<ul>
<li>/usr</li>
<li>/home</li>
<li>/var and /var/tmp</li>
<li>/tmp</li>
</ul>
<p>Create septate partitions for Apache and FTP server roots. Edit /etc/fstab file and make sure you add the following configuration options:</p>
<ol>
<li><strong>noexec</strong> &#8211; Do not set execution of any binaries on this partition (prevents execution of binaries but allows scripts).</li>
<li><strong>nodev</strong> &#8211; Do not allow character or special devices on this partition (prevents use of device files such as zero, sda etc).</li>
<li><strong>nosuid</strong> &#8211; Do not set SUID/SGID access on this partition (prevent the setuid bit).</li>
</ol>
<p>Sample <a href="http://www.cyberciti.biz/faq/tag/etcfstab/">/etc/fstab</a> entry to to limit user access on /dev/sda5 (ftp server root directory):</p>
<pre>/dev/sda5  /ftpdata          ext3    defaults,nosuid,nodev,noexec 1 2</pre>
<h3>#13.1: Disk Quotas</h3>
<p>Make sure disk quota is enabled for all users.  To implement disk quotas, use the following steps:</p>
<ol>
<li>Enable quotas per file system by modifying the /etc/fstab file.</li>
<li>Remount the file system(s).</li>
<li>Create the quota database files and generate the disk usage table.</li>
<li>Assign quota policies.</li>
<li>See <a href="http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Deployment_Guide/ch-disk-quotas.html" target="_blank">implementing disk quotas</a> tutorial for further details.</li>
</ol>
<h2>#14: Turn Off IPv6</h2>
<p>Internet Protocol version 6 (IPv6) provides a new Internet layer of the TCP/IP protocol suite that replaces Internet Protocol version 4 (IPv4) and provides many benefits. Currently there are no good tools out which are able to check a system over network for IPv6 security issues. Most Linux distro began enabling IPv6 protocol by default. Crackers can send bad traffic via IPv6 as most admins are not monitoring it. Unless network configuration requires it, disable IPv6 or configure Linux IPv6 firewall:</p>
<ul>
<li><a href="http://www.cyberciti.biz/faq/redhat-centos-disable-ipv6-networking/">RedHat / Centos Disable IPv6 Networking</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/linux-how-to-disable-the-ipv6-protocol.html">Debian / Ubuntu And Other Linux Distros Disable IPv6 Networking</a>.</li>
<li><a href="http://mirrors.deepspace6.net/Linux+IPv6-HOWTO/chapter-security.html">Linux IPv6 Howto &#8211; Chapter 19. Security</a>.</li>
<li><a href="http://www.cyberciti.biz/faq/redhat-fedora-ip6tables-firewall-configuration/">Linux IPv6 Firewall configuration and scripts are </a><a href="http://bash.cyberciti.biz/script/ipv6-firewall/">available here</a>.</li>
</ul>
<h2>#15: Disable Unwanted SUID and SGID Binaries</h2>
<p>All SUID/SGID bits enabled file can be misused when the SUID/SGID executable has a security problem or bug. All local or remote user can use such file. It is a good idea to find all such files. Use the find command as follows:<br />
<code>#See all set user id files:<br />
find / -perm +4000<br />
# See all group id files<br />
find / -perm +2000<br />
# Or combine both in a single command<br />
find /  \( -perm -4000 -o -perm -2000 \) -print<br />
find / -path -prune -o -type f -perm +6000 -ls<br />
</code><br />
You need to investigate each reported file. See reported file man page for further details.</p>
<h3>#15.1: World-Writable Files</h3>
<p>Anyone can modify world-writable file resulting into a security issue. Use the following command to find <a href="http://www.cyberciti.biz/faq/find-all-world-writable-directories-have-stickybitsset-on/">all world writable</a> and sticky bits set files:<br />
<code>find /dir -xdev -type d \( -perm -0002 -a ! -perm -1000 \) -print</code><br />
You need to investigate each reported file and either set correct user and group permission  or remove it.</p>
<h3>#15.2: Noowner Files</h3>
<p>Files not owned by any user or group can pose a security problem. Just find them with the following command which do not belong to a valid user and a valid group<br />
<code>find /dir -xdev \( -nouser -o -nogroup \) -print</code><br />
You need to investigate each reported file and either assign it to an appropriate user and group or remove it.</p>
<h2>#16: Use A Centralized Authentication Service</h2>
<p>Without a centralized authentication system, user auth data becomes inconsistent, which may lead into out-of-date credentials and forgotten accounts which should have <a href="http://www.cyberciti.biz/faq/former-employees-keep-accessing-linux-unix-server/">been deleted</a> in first place. A centralized authentication service allows you maintaining central control over Linux / UNIX account and authentication data. You can keep auth data synchronized between servers. Do not use the NIS service for centralized authentication. Use <a href="http://www.openldap.org/" target="_blank">OpenLDAP</a> for clients and servers.</p>
<h3>#16.1: Kerberos</h3>
<p><a href="http://web.mit.edu/kerberos/" target="_blank">Kerberos</a> performs authentication as a trusted third party authentication service by using cryptographic shared secret under the assumption that packets traveling along the insecure network can be read, modified, and inserted. Kerberos builds on symmetric-key cryptography and requires a key distribution center. You can make remote login, remote copy, secure inter-system file copying and other high-risk tasks safer and more controllable using Kerberos. So, when users authenticate to network services using Kerberos, unauthorized users attempting to gather passwords by monitoring network traffic are effectively thwarted. See how to setup and use <a href="http://www.redhat.com/docs/en-US/Red_Hat_Enterprise_Linux/5.4/html/Deployment_Guide/ch-kerberos.html">Kerberos</a>.</p>
<h2>#17: Logging and Auditing</h2>
<p>You need to configure logging and auditing to collect all hacking and cracking attempts. By default syslog stores data in /var/log/ directory. This is also useful to find out software misconfiguration which may open your system to various attacks. See the following logging related articles:</p>
<ol>
<li><a href="http://www.cyberciti.biz/faq/linux-log-files-location-and-how-do-i-view-logs-files/">Linux log file locations</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/log-all-logs-to-central-linux-unix-loghost.html">How to send logs to a remote loghost</a>.</li>
<li><a href="http://www.cyberciti.biz/faq/how-do-i-rotate-log-files/">How do I rotate log files?</a>.</li>
<li>man pages syslogd, syslog.conf and logrotate.</li>
</ol>
<h3>#17.1: Monitor Suspicious Log Messages With Logwatch / Logcheck</h3>
<p>Read your logs using <a href="http://nixcraft.com/linux-software/477-howto-linux-monitor-logfiles.html">logwatch</a> or <a href="http://logcheck.org/" target="_blank">logcheck</a>. These tools make your log reading life easier. You get detailed reporting on <strong>unusual items</strong> in syslog via email. A sample syslog report:</p>
<pre> ################### Logwatch 7.3 (03/24/06) ####################
        Processing Initiated: Fri Oct 30 04:02:03 2009
        Date Range Processed: yesterday
                              ( 2009-Oct-29 )
                              Period is day.
      Detail Level of Output: 0
              Type of Output: unformatted
           Logfiles for Host: www-52.nixcraft.net.in
  ##################################################################

 --------------------- Named Begin ------------------------

 **Unmatched Entries**
    general: info: zone XXXXXX.com/IN: Transfer started.: 3 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 3 Time(s)
    general: info: zone XXXXXX.com/IN: Transfer started.: 4 Time(s)
    general: info: zone XXXXXX.com/IN: refresh: retry limit for master ttttttttttttttttttt#53 exceeded (source ::#0): 4 Time(s)

 ---------------------- Named End -------------------------

  --------------------- iptables firewall Begin ------------------------

 Logged 87 packets on interface eth0
   From 58.y.xxx.ww - 1 packet to tcp(8080)
   From 59.www.zzz.yyy - 1 packet to tcp(22)
   From 60.32.nnn.yyy - 2 packets to tcp(45633)
   From 222.xxx.ttt.zz - 5 packets to tcp(8000,8080,8800)

 ---------------------- iptables firewall End -------------------------

 --------------------- SSHD Begin ------------------------

 Users logging in through sshd:
    root:
       123.xxx.ttt.zzz: 6 times

 ---------------------- SSHD End -------------------------

 --------------------- Disk Space Begin ------------------------

 Filesystem            Size  Used Avail Use% Mounted on
 /dev/sda3             450G  185G  241G  44% /
 /dev/sda1              99M   35M   60M  37% /boot

 ---------------------- Disk Space End -------------------------

 ###################### Logwatch End #########################</pre>
<p>(Note output is truncated)</p>
<h3>#17.2: System Accounting with auditd</h3>
<p>The auditd is provided for system auditing. It is responsible for writing audit records to the disk. During startup, the rules in /etc/audit.rules are read by this daemon. You can open /etc/audit.rules file and make changes such as setup audit file log location and other option. With auditd you can answers the following questions:</p>
<ol>
<li>System startup and shutdown events (reboot / halt).</li>
<li>Date and time of the event.</li>
<li>User respoisble for the event (such as trying to access /path/to/topsecret.dat file).</li>
<li>Type of event (edit, access, delete, write, update file &amp; commands).</li>
<li>Success or failure of the event.</li>
<li>Records events that Modify date and time.</li>
<li>Find out who made changes to  modify the system&#8217;s network settings.</li>
<li>Record events that modify user/group information.</li>
<li>See who made changes to a file etc.</li>
</ol>
<p>See our <a href="http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html">quick tutorial which</a> explains enabling and using the auditd service.</p>
<h2>#18: Secure OpenSSH Server</h2>
<p>The SSH protocol is recommended for remote login and remote file transfer. However, ssh is open to many attacks. See how to secure OpenSSH server:</p>
<ul>
<li><a href="http://www.cyberciti.biz/tips/linux-unix-bsd-openssh-server-best-practices.html">Top 20 OpenSSH Server Best Security Practices</a>.</li>
</ul>
<h2>#19: Install And Use Intrusion Detection System</h2>
<p>A network intrusion detection system (NIDS) is an intrusion detection system that tries to detect malicious activity such as denial of service attacks, port scans or even attempts to crack into computers by monitoring network traffic.</p>
<p>It is a good practice to deploy any integrity checking software before system goes online in a production environment. If possible install AIDE software before the system is connected to any network. <a href="http://www.cyberciti.biz/faq/debian-ubuntu-linux-software-integrity-checking-with-aide/">AIDE is a host-based intrusion detection system (HIDS)</a> it can monitor and analyses the internals of a computing system.</p>
<p><a href="http://www.snort.org/" target="_blank">Snort is</a> a software for intrusion detection which is capable of performing packet logging and real-time traffic analysis on IP networks.</p>
<h2>#20: Protecting Files, Directories and Email</h2>
<p>Linux offers excellent protections against unauthorized data access. <a href="http://www.cyberciti.biz/faq/unix-linux-bsd-chmod-numeric-permissions-notation-command/">File</a> <a href="http://www.cyberciti.biz/faq/linux-write-protecting-a-file/">permissions</a> and MAC prevent unauthorized access from accessing data. However, permissions set by the Linux are irrelevant if an attacker has physical access to a computer and can simply move the computer&#8217;s hard drive to another system to copy and analyze the sensitive data. You can easily protect files, and partitons under Linux using the following tools:</p>
<ul>
<li>To encrypt and decrypt files with a password, use <a href="http://www.cyberciti.biz/tips/linux-how-to-encrypt-and-decrypt-files-with-a-password.html">gpg command</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/linux-or-unix-password-protecting-files.html">Linux or UNIX password</a> protect files with openssl and other tools.</li>
<li>See how to <a href="https://help.ubuntu.com/community/EncryptedPrivateDirectory">encrypting directories</a> with ecryptfs.</li>
<li><a href="http://www.truecrypt.org/" target="_blank">TrueCrypt is</a> free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X and Linux.</li>
<li><a href="http://www.cyberciti.biz/tips/file-system-partition-encryption-in-linux.html">Howto: Disk and partition encryption in Linux for mobile devices</a>.</li>
<li>How to setup <a href="https://www.antagonism.org/privacy/encrypted-swap-linux.shtml">encrypted Swap</a> on Linux.</li>
</ul>
<h3>#20.1: Securing Email Servers</h3>
<p>You can use SSL certificates and gpg keys to secure email communication on both server and client computers:</p>
<ul>
<li><a href="http://www.cyberciti.biz/faq/unix-dovecot-ssl-tls-server-configuration/">Linux Securing Dovecot IMAPS / POP3S Server with SSL Configuration</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/postfix-smtp-ssl-certificate-csr-installation-guide.html">Linux Postfix SMTP (Mail Server) SSL Certificate Installations and Configuration</a>.</li>
<li><a href="http://www.cyberciti.biz/tips/ssl-certificate-installation-courier-imap-server.html">Courier IMAP SSL Server Certificate Installtion and Configuration</a>.</li>
<li><a href="http://www.cyberciti.biz/faq/howto-configure-sendmail-ssl-certificate-email/">Configure Sendmail SSL encryption for sending and receiving email</a>.</li>
<li><a href="http://enigmail.mozdev.org/home/index.php">Enigmail: Encrypted mail with Mozilla thunderbird</a>.</li>
</ul>
<h2>Other Recommendation:</h2>
<ul>
<li><a href="http://www.cyberciti.biz/faq/redhat-cetos-linux-remote-backup-snapshot-server/">Backups</a> &#8211; It cannot be stressed enough how important it is to make a backup of your Linux system. A proper offsite backup allows you to recover from cracked server i.e. an intrusion. The traditional UNIX backup programs are <a href="http://bash.cyberciti.biz/backup/freebsd-dump-filesystem-shell-script/">dump and restore</a> are also recommended.</li>
<li>How to: <a href="http://www.cyberciti.biz/faq/howto-check-linux-rootkist-with-detectors-software/">Looking for Rootkits</a>.</li>
<li>Howto: <a href="http://www.cyberciti.biz/faq/what-is-rhel-centos-fedora-core-execshield/">Enable ExecShield Buffer Overflows Protection</a>.</li>
<li>Subscribe to <a href="http://www.redhat.com/security/" target="_blank">Redhat</a> or <a href="http://www.debian.org/security/" target="_blank">Debian</a> Linux security mailing list or RSS feed.</li>
</ul>
<h4>Recommend readings:</h4>
<ol>
<li><a href="http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Security_Guide/" target="_blank">Red Hat Enterprise Linux</a> &#8211; Security Guide.</li>
<li><a href="http://www.amazon.com/gp/product/0596003919?ie=UTF8&amp;tag=cyberciti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0596003919" target="_blank">Linux security cookbook</a>- A good collections of security recipes for new Linux admin.</li>
<li><a href="http://www.amazon.com/gp/product/1931836043?ie=UTF8&amp;tag=cyberciti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1931836043">Snort 2.1 Intrusion Detection, Second Edition</a> &#8211; Good introduction to Snort and Intrusion detection under Linux.</li>
<li><a href="http://www.amazon.com/gp/product/1590594444?ie=UTF8&amp;tag=cyberciti-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=1590594444" target="_blank">Hardening Linux</a> &#8211; Hardening Linux identifies many of the risks of running Linux hosts and applications and provides practical examples and methods to minimize those risks.</li>
<li><a href="http://tldp.org/HOWTO/html_single/Security-HOWTO/" target="_blank">Linux Security</a> HOWTO.</li>
</ol>
<p>In the next part of this series I will discuss how to secure specific applications (such as Proxy, Mail, LAMP, Database) and a few other security tools. Did I miss something? Please add your favorite system security tool or tip in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2009/12/28/20-linux-server-hardening-security-tips/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Speed up Magento</title>
		<link>http://quochung.net/2009/09/25/how-to-speed-up-magento/</link>
		<comments>http://quochung.net/2009/09/25/how-to-speed-up-magento/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 16:36:05 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=630</guid>
		<description><![CDATA[How to Speed up Magento Having implemented a number of websites now in Magento and being the web hosting provider for them also, it’s been both challenging and rewarding trying to get Magento running at an acceptable speed.People generally don’t understand what’s happening when they say “my website is slow”. So, for those of you [...]]]></description>
			<content:encoded><![CDATA[<h1>How to Speed up Magento</h1>
<p>Having implemented a number of websites now in Magento and being the <a href="http://www.serverspacesolutions.com.au/" target="_blank">web hosting provider</a> for them also, it’s been both challenging and rewarding trying to get Magento running at an acceptable speed.People generally don’t understand what’s happening when they say “my website is slow”. So, for those of you unfamiliar with benchmarking / understanding what factors to consider when a page loads from a server, we have quite a number of variables.</p>
<ol>
<li>Your URL you type into a browser, translates to an IP address – this check should take a very, very short time</li>
<li>Your browser then begins to access the web server where your website is hosted to ask for the page you want, this can cause some delay, typically 40-200ms (bottleneck 1.)</li>
<li>In the case of Magento,it uses PHP as the software language that runs the site, so the php begins to execute (bottleneck 2.)</li>
<li>PHP then reaches a part of it’s code it needs to access the database to retrieve website data and sometimes insert information about who you are. (bottleneck 3.)</li>
<li>The PHP code retrieves the information, does a bit more computing on it (for simplicity, this is still bottleneck 2) and then sends it to your web server</li>
<li>Your webserver can then send it or compress it and then send it to you (bottlneck 4)</li>
<li>The data is sent over the internet to your browser (bottlneck 5)</li>
<li>Your browser must ‘render’ the data it receives into an actual web page (bottleneck 6)</li>
</ol>
<p>I will assume you are here specifically for Magento issues, so let’s get started with the basics. I will make the assumption that your web server is running Apache and you have very little control over that.</p>
<h2>Preparation – the “before”</h2>
<ol>
<li>If you are familiar with the, use <a href="http://www.mozilla.com/" target="_blank">Firefox</a> and the <a href="http://www.getfirebug.com/" target="_blank">Firebug extension</a> and the <a href="http://developer.yahoo.com/yslow/" target="_blank">Yslow extension</a>. Take a screenshot of your statistics.</li>
<li>Alternatively, what I suggest is to go to <a href="http://analyze.websiteoptimization.com/">WebsiteOptimization</a> if you’re fairly new to this. You basically enter your URL and click. Print out the page, preferably to PDF before we begin.</li>
</ol>
<h2>Check Magento Caching is turned on (if not developing still)</h2>
<ol>
<li>Login to your Magento Admin</li>
<li>go to System -&gt; Cache Management</li>
<li>in the dropdown box, choose “enable” and tick all the boxes, then save settings.</li>
</ol>
<h2>Let’s start simple – .htaccess and gzip/deflate</h2>
<ol>
<li>Go to <a href="http://www.whatsmyip.org/mod_gzip_test/">mod_gzip tester</a> and enter your magento site address. If it comes back with a big green tick and says http://yourmagentosite.com is gzipped, then you’re in business and skip step 2. If not..go to step 2</li>
<li>Using ftp or ssh, however you access your magento website, go to the root of the site and find your .htaccess file. Scroll down until you see something like:</li>
<p><code>&lt;ifmodule mod_deflate.c&gt;<br />
# Insert filter<br />
SetOutputFilter DEFLATE<br />
# Netscape 4.x has some problems...<br />
#BrowserMatch ^Mozilla/4 gzip-only-text/html<br />
# Netscape 4.06-4.08 have some more problems<br />
BrowserMatch ^Mozilla/4\.0[678] no-gzip<br />
# MSIE masquerades as Netscape, but it is fine<br />
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html<br />
# Don't compress images<br />
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary<br />
# Make sure proxies don't deliver the wrong content<br />
Header append Vary User-Agent env=!dont-vary<br />
&lt;/ifmodule&gt;</code></p>
<li>Make sure it looks like above. A hash in front of the line means it’s commented out. If your .htaccess file does look like this AND <a href="http://www.whatsmyip.org/mod_gzip_test/">mod_gzip tester</a> is still not showing enabled, you need to talk to your web hosting provider. They may not allow overrides or may not have the deflate module installed or enabled. If it doesn’t look like the above, remove the hashes from your lines so that it reflects what is above, then retest with <a href="http://www.whatsmyip.org/mod_gzip_test/">mod_gzip tester</a></li>
<li>Take a screenshot / pdf printout of Yslow / websiteoptimizer results. <img src='http://quochung.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<h2>Let’s shrink our javascript</h2>
<ol>
<li>Magento uses A LOT of LARGE javascript libraries and depending on your template, it’s a good chance that these make up for 50% of your website page size. This should only affect the first page load but it’s often the first impressions that count, so let’s shrink it.</li>
<li>For this, we will use the <a href="http://www.magentocommerce.com/extension/457/fooman-speedster" target="_blank">Fooman Speedster Extension</a> from magentoconnect. Click on the “get extension key” and then copy the key to your clipboard.</li>
<li>Now go to your magento store admin interface and click on “System -&gt; Magento Connect -&gt; Magento Connect Manager”. Enter your admin user/pass to access magento connect manager.</li>
<li>*Warning – once you install the extension until you fix your .htaccess, it may break your website*</li>
<li>Paste the extension key to install the extension</li>
<li>Now go to your .htaccess and under the line: #RewriteBase /magento/ add this line<code>RewriteRule ^(index.php/)?minify/([^/]+)(/.*.(js|css))$ lib/minify/m.php?f=$3&amp;amp;d=$2<br />
</code></li>
<li>Save your .htaccess and access your site (it may take a while to load the first time as it minifies and creates it’s cache.</li>
<li>**Test your site is working properly**</li>
<li>Take a screenshot / pdf printout of Yslow / websiteoptimizer results. <img src='http://quochung.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </li>
</ol>
<h2>Let’s check our php settings</h2>
<ol>
<li>Create a file called phpinfo.php and enter this information into it.</li>
<li>Check for the following: memory_limit</li>
<li>If it’s less than 128M, try and add an entry into your .htaccess like so:</li>
<p><code>php_value memory_limit 128M</code></ol>
<h2>Finally, MySQL – for experienced users.</h2>
<ol>
<li>If you’re a mysql hero, you don’t need me to tell you how but we want to try and get the following settings in your my.cnf</li>
<p><code>query_cache_type = 1<br />
query_cache_size = 32M<br />
query_cache_limit=2M</code></p>
<li>If you don’t have root access to check /etc/my.cnf (or /etc/mysql/my.cnf) variables, then login to mysql or use phpmyadmin to show variables.</li>
<p><code>$ mysql -u mysqluser -p magento_database_name<br />
$ mysql&gt; SHOW VARIABLES;</code></p>
<li>If you don’t have control over your mysql configuration, go knocking on your Web Host’s support tickets to get them to modify it to suit you or if you’re in Australia, <a href="http://www.serverspacesolutions.com.au/" target="_blank">check us out</a></li>
</ol>
<p>**If you want someone to do this all for you, lodge a support ticket at <a href="https://www.yourwebhostingsupport.com/index.php?_m=tickets&amp;_a=submit" target="_blank">Yourwebhostingsupport</a> with the Subject “Magento Optimisation”</p>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2009/09/25/how-to-speed-up-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FREE Lxadmin control panel 100%</title>
		<link>http://quochung.net/2009/09/17/free-lxadmin-control-panel-100/</link>
		<comments>http://quochung.net/2009/09/17/free-lxadmin-control-panel-100/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 17:08:36 +0000</pubDate>
		<dc:creator>dqh</dc:creator>
				<category><![CDATA[Tài liệu]]></category>

		<guid isPermaLink="false">http://quochung.net/?p=626</guid>
		<description><![CDATA[Consortium News With the passing of K.T. Ligesh, LxLabs owner, the future of Lxlabs products was unknown, until now. A Consortium has been created to keep active a product that is used by many. Ligesh once wrote that someday his product would be available for Open Source., this day has come. What the Consortium has [...]]]></description>
			<content:encoded><![CDATA[<tbody>
<tr>
<td width="168" align="left" valign="top" bgcolor="#ffffff">
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="font-size: 0.8em; font-weight: bold; color: #001177;" width="100%" background="/img/tab_bg.gif">Consortium News</td>
<td><img src="http://www.lxlabs.com/img/tab_rt.gif" alt="" /></td>
</tr>
</tbody>
</table>
</td>
</tr>
<tr>
<td>With the passing of K.T. Ligesh, LxLabs owner, the future of Lxlabs products was unknown, until now. A Consortium has been created to keep active a product that is used by many. Ligesh once wrote that someday his product would be available for Open Source., this day has come.</p>
<p>What the Consortium has completed thus far:</p>
<p>- Migrated all sites to a new server.</p>
<p>- Found new Developers.</p>
<p>- Discussions pertaining to the Open Source Project.</p>
<p>There is much more to be done, we will not let HyperVM and Kloxo products fail.</p>
<p>Please note for every existing client. Cancel all pay pal subscriptions and please no longer pay your licensing invoices as this is against Open Source Standards.</p>
<p>Any new client, please register as normal. No invoice will be generated and you will be able to install the Lxlab products.</p>
<p>With these changes also comes a change in our web site address. The new site is LxCenter.org. You will now be directed to this site from the new domain. A brand new website is online soon on www.LxCenter.org.</p>
<p>Kind regards,</p>
<p>The Consortium Leaders</p>
<p>Brijesh, Bhargava, Arthur and Danny.</p>
<p>Signed, July 29th, 2009</p>
<hr /></td>
</tr>
<tr>
<td>General information for all the people out there discussing about HyperVM and Kloxo (for example at WHT).</p>
<p>There are a lot speculations, lets clear things out to the public. Yes, we are a bit slow, mainly that is because it is still summer and people are on hollidays too. Also there are timezone differences, so some discussions are spread over more days.</p>
<p>The source code, it will be PUBLIC and OpenSourced with a proper License after the first new release of HyperVM and Kloxo. When those are released, the sourcecode and structure will be hosted on a public repo website like many other OpenSource projects. We have choosen a temporary License for developers that are going to work on the source until the first releases. In that time the final OpenSource License will be choosed. So yes, the source is until the first new HyperVM and Kloxo release not public. We need first to examine the code, and changing code if it not fits a OpenSource standard. There is a lot work to do on the code because a new install system has to be created, new update system and for example the removal of the License server code. The Consortium does have the Sourcecode. It will be uploaded into a private SVN system today or tomorrow. Then it will be prepared by one person so it gets a SVN structure and branches. After that all Developers are going to see the soureccode and developing is going to be started.</p>
<p>Release date? that is unknown yet. Can be in a week, can be in some months. The Consortium does have a 12 months timeframe to release it to the Public. We have 11 months left (but we want it asap).</p>
<p>Our goal and users of the products want to see first a bug fixed release. So it is 100% security hole free. From there, everyone that wants to contribute, can work on bugfixes and new features.</p>
<p>Also expect a proper website on www.lxcenter.org soon. Just give us some time (and the person that is designing it).</p>
<p>The future is decided <img src='http://quochung.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Signed, august 7th, 2009 (Danny)</td>
</tr>
</tbody>
]]></content:encoded>
			<wfw:commentRss>http://quochung.net/2009/09/17/free-lxadmin-control-panel-100/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

