Your Server Got Hacked? Get Linux Process Detail Information

Once you server compromised, hacker usually put some backdoor on your server and it might be a tricky process on how to find it. Standard “netstat -anlp” let you see if there’s any unusual listening port on your server. It will display port number, pid, and process name.

Thing is that they usually hiding the process into another regular process name to make it harder to find. Continue reading “Your Server Got Hacked? Get Linux Process Detail Information”

Analyzing Core Dump File

Yeah, I know core dump files may eat up user’s space quickly. But it is definitely a sign that something wrong with their scripts. So, keeping coredump files is sometimes useful so that we can analyze it properly. Here’s how to analyze core dump files :
strings /home/user/public_html/core.11051|head
You will find what scripts causing the coredump files.
or get a clear view with :
gdb /usr/bin/php /home/user/public_html/core.11051

Hope it can be useful for you!

Fixing File and Folder Permission on suPHP

Just for my own note 🙂
After installing suPHP on server, execute :
find /home/*/public_html -type d -exec chmod 755 {} \;
This command fix all folder permission

find /home/*/public_html -name '*.php' -o -name '*.php[345]' -o -name '*.phtml'| xargs chmod -v 644
This command fix all file permission

#!/bin/bash
cd /var/cpanel/users
for user in *
do
chown -R $user.$user /home/$user/public_html/*
done

This script fix all ownership issue

Disable CoreDump on Apache with suPHP

ApacheThe idea of limiting user’s vhost resource usage on Apache brings me to give the suPHP a try. suPHP makes PHP process owned by the owner it self, not “nobody” or apache user, enabling us to limit resource per vhost.

After setting up suPHP with rlimit rule per vhosts, I see that Rlimit really works. Apache kills all PHP execution that hit the Rlimit. So, basically we can have a containers that lock user’s PHP execution, thus preventing user to overload the server with buggy or highload type of PHP script.
But a new problem arised. When PHP execution killed, it generate coredump files. Coredump files are very useful to traceback any crash issues that occur during PHP execution. But I got them all over user’s directory, especially  on user’s directory that have a highload type of PHP script. The size may vary from 1MB to 40MB (on my system). They eat up users space every time a greedy resource PHP execution killed. Continue reading “Disable CoreDump on Apache with suPHP”

Install Munin & RRDTool on cPanel Centos5

Munin Monitoring ToolInstalling Munin on a latest Centos 5 via WHM (cPanel) can be very painful (takes a long night googling for me.. lol). On my server (CENTOS Enterprise 5.2 x86_64) – under “Manage Plugin” menu on WHM, it shows : Can’t locate RRDs.pm.

First you have to install rrdtool, rrdtool-devel, and perl-rrdtool. Here’s how to install it (it works for me) :

wget http://dag.wieers.com/rpm/packages/rrdtool/perl-rrdtool-1.2.23-1.el5.rf.x86_64.rpm
wget http://dag.wieers.com/rpm/packages/rrdtool/rrdtool-devel-1.2.23-1.el5.rf.x86_64.rpm
wget http://dag.wieers.com/rpm/packages/rrdtool/rrdtool-1.2.23-1.el5.rf.x86_64.rpm
rpm -ivh rrdtool-1.2.23-1.el5.rf.x86_64.rpm rrdtool-devel-1.2.23-1.el5.rf.x86_64.rpm perl-rrdtool-1.2.23-1.el5.rf.x86_64.rpm

And now you’re ready to install Munin through WHM.

cPanelProxy No Longer Needed?

Recently I installed a new server with the latest cPanel release (cPanel 11.23.3-R25623) on Centos 5 64bit version. I notice that under “Tweak Setting” menu on WHM, there are new features that interesting :

Add proxy VirtualHost to httpd.conf to automatically redirect unconfigured cpanel, webmail, webdisk and whm subdomains to the correct port (requires mod_rewrite and mod_proxy)

Automatically create cpanel, webmail, webdisk and whm proxy subdomain DNS entries for new accounts. When this is initially enabled it will add appropriate proxy subdomain DNS entries to all existing accounts. (Use /scripts/proxydomains to reconfigure the DNS entries manually)

When I give a try on those feature, it did work. cPanel become accessible through common http port (80) (instead of port 2082) when we access http://cpanel.domainname.tld. It also work for webmail, WHM, and webdisk.

Meaning we probably dont need a cPanelProxy anymore.

Installing Fantastico on Centos5.1

Ok, first of all .. this article originaly posted on netenberg.com, but for me it will be much more easier if I write it my own on my blog.

Centos 5.1 comes with wget version that is not compatible with Fantastico. So you wont be able to install it or upgrade it. Here’s the step that you need to take to remove buggy version of wget and install a “good” one : Continue reading “Installing Fantastico on Centos5.1”