WordPress Stuff

To change the admin username in WordPress:

1)Go into your phpmyadmin, and click on “Databases.”
2)Click on the name of your database.
3)Click the “Browse” icon next to wp_users.
4)Click the edit icon next to admin – should be first button on first row (like a notepad).
Change it.
5)Go down to the bottom and click “GO.”

Posted in Linux | Comments Off on WordPress Stuff

Regular Expression Notes

Explaining the following regular expression:

(\d(3,4)[.-]?)+

( starts a capturing group
\ escapes the following character
d end character shorthand (match any digit in the range 0 through 9 with \d)
{ open qualifier
3 minimum quantity to match
, separate quantities
4 maximum quantity to match
} close quantifier
[ open character class
. match literal dot
– literal hyphen to match hyphen
] close character class
? zero or one quantifier
) close character class
+ one or more quantifier

Improved version:
(\d{3}[.-]?){2}\d{4}

Posted in Linux | Comments Off on Regular Expression Notes

Diagnosing SSL received a record that exceeded the maximum permissible length

If you setup an ssl cert but are getting the following:

SSL received a record that exceeded the maximum permissible length.

1) Check that netstat -ntlp shows httpd listening on 443
2) Check that port 443 is open in iptables
3) Check for directive SSLEngine On

Posted in Linux, OPENSSL and TLS | Comments Off on Diagnosing SSL received a record that exceeded the maximum permissible length

Overriding php.ini values locally

php directives are listed here: http://www.php.net/manual/en/ini.list.php

Modes determine when and where a PHP directive may or may not be set. This is explained here: http://www.php.net/manual/en/ini.list.php

A virtual host may be configured to use a local php.ini file in place of the system one. The local one would override the entire system php.ini file in this case. Do this as follows:

copy the php.ini file to a local directory such as /var/www/vhosts/mydomain.com
add the following to the virtual host file:

PHPINIDir /var/www/vhosts/mydomain.com

You could simply make your changes in an .htaccess file, if your host doesn’t allow you to touch the php.ini file or you want to change only a few values leaving the values in php.ini as default, manage changes in a local .htaccess file:

For reference, the proper lines for an .htaccess file would have to be prepended with php_values as follows:

php_value suhosin.post.max_vars 100000
php_value suhosin.request.max_vars 100000
php_value memory_limit 128

Note: php_flag and _php_value can be written in httpd.conf for FastCGI, but not in .htaccess file. if PHP is running as module, you can do anything with .htaccess

Still another way to do it is to use PHP’s native ini_set() function.

Posted in Linux | Comments Off on Overriding php.ini values locally

MySQL Replication Tools

If replication stops and the slave status shows:

Last_Errno: 1580 Last_Error: Error ‘You cannot ‘ALTER’ a log table if logging is enabled’ on query. Default database: ‘mysql’.

You need to skip over a bad query as follows:

mysql> SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1;

This tells the slave to skip one query (which is the invalid one that caused the replication to stop). If you’d like to skip two queries, you’d use SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 2; instead and so on.

That’s it already. Now we can start the slave again…

mysql> START SLAVE;

check if replication is working again with the SHOW SLAVE STATUS \G;

Posted in Linux, MySQL | Comments Off on MySQL Replication Tools

MySQL went away errors

This means that the server timed out and closed the connection. Two most common reasons (and fixes) for the MySQL server has gone away (error 2006) are:

  1. Your wait_timeout variable in your MySQL my.cnf configuration file is not large enough. To fix: vi /etc/mysql/my.cnf, set wait_timeout = 600 seconds (you can tweak/decrease this value when error 2006 is gone), then service mysql restart.
  2. Server dropped an incorrect or too large packet. If MySQL gets a packet that is too large or incorrect, it assumes that something has gone wrong with the client and closes the connection. You can increase the maximal packet size limit by increasing the value of max_allowed_packet in my.cnf file. To fix: vi /etc/mysql/my.cnf, set max_allowed_packet = 64M (you can tweak/decrease this value when error 2006 is gone), then service mysql restart.
Posted in Linux, MySQL | Comments Off on MySQL went away errors

Creating multiple chroots

Edit the /etc/ssh/sshd_config:

1. Comment out the Subsystem sftp line
2. Create line as follows:
Subsystem sftp internal-sftp
3. Add the following at the bottom of the sshd_config file:
Match Group sftponly
ChrootDirectory %h
X11Forwarding no
AllowTCPForwarding no
ForceCommand internal-sftp
4. Restart ssh
5. Create a file called create_chroot.sh:
useradd -d /home/contractor3 -s /bin/false -G sftponly contractor3
chown root:root /home/contractor3/
chmod 755 /home/contractor3/
mkdir /home/contractor3/upload
chown contractor3:contractor3 /home/contractor3/upload
passwd contractor3

Posted in Linux | Comments Off on Creating multiple chroots

Determining what security fixes have been backported

RPM Command

The rpm command can be used to determine what fixes have been backported as follows:

rpm -q --changelog pkgname

will show the package changelog, where vulnerabilities that have been patched in a package are listed.

 

Another place to look for information on a vulnerability is on http://nvd.nist.gov. You can search by Vulnerability number.

Posted in Linux | Comments Off on Determining what security fixes have been backported

Force phpMyAdmin to https

1) Using Apache .htaccess (this can also be put in the httpd.conf if you don’t use .htaccess files):

RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/directory(.*)$ https://%{HTTP_HOST}/directory$1 [L,R]

2) Using phpMyAdmin’s config.inc.php file:

** place this at the end of the file somewhere
$cfg[‘ForceSSL’] = true;

Posted in Linux, OPENSSL and TLS | Comments Off on Force phpMyAdmin to https

Checking whether TRACE/TRACK are enabled in Apache

curl -v -X TRACE http://www.yourserver.com
Running it against an Apache server with TraceEnable Off correctly returns HTTP/1.1 405 Method Not Allowed (just tested on an Apache 2.2.22)
This also works on HTTPS sites, provided that cURL has the correct information supplied to the SSL layer. This is the lazy man’s check of Google
curl –insecure -v -X TRACE https://www.google.com/
If it shows that it is enabled, add the following to the httpd.conf file:

TraceEnable Off

 

Posted in Linux | Comments Off on Checking whether TRACE/TRACK are enabled in Apache