Archive

Archive for the ‘Linux’ Category

Simple regular expression for Nginx virtual hosting configuration

Domain path: /www/domain.com/www/root/

## Servers
server {
        listen          80 default;
        server_name     localhost;
        index index.php;
 
        if ($host ~* "([^\/]+)\.([^\.\/]+\.[^\.\/]+)" ) {
                set $prefix /$2/$1/root;
        }
        root    /www$prefix;
 
        location ~ \.php$ {
                fastcgi_pass  CGI_FARM_NAME_HERE;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                fastcgi_intercept_errors on;
                fastcgi_read_timeout 120;
                fastcgi_next_upstream error timeout invalid_header;
                include         fastcgi_params;
        }
 
        location ~ /\.ht { deny  all; }
 
        location ~* \.(jpg|jpeg|gif|png|swf|ico)$ {
                gzip off;
                expires         5d;
        }
 
        location ~* \.(js|css)$ {
                expires         6d;
        }
}
Categories: Linux, Nginx, Хостинг Tags:

Lenovo Thinkpad Edge – Active Protection System

Lenovo Active Protection System (APS) е онова нещо, на което ще сте благодарни когато изпуснете лаптопа си от високо… не много високо :-)

При местене и съответно изпускане на лаптопа, APS изключва хард диска, като това увеличава шансовете Ви да извадите от него непокътнатата си информация след тежко падане.

Как се инсталира под Ubuntu 11.10:

sudo apt-get install hdapsd tp-smapi-dkms

Надявам се никога да не Ви се налага да използвате възможностите на Lenovo Active Protection System.

Categories: Hardware, Linux, Защита Tags:

Съвет: shared hosting – проблем с потребители и достъп до директории

Това е първият ми пост, който е по-скоро въпрос, отколкото решение на даден проблем.

Проблем:
Как да направим shared hosting с Nginx + PHP-FastCGI?

Условия:
1. Всеки потребител да има собствена директория и да не може да излиза от нея когато е логнат през SSH.
2. Да няма стартиран FastCGI процес за всеки различен потребител. Тоест, всички потребители да споделят един и същ FastCGI процес.
3. Не трябва при разглеждане на директориите с PHP скрипт, потребителя, който е пуснал скрипта да има достъп до останалите хостинг акаунти на машината.

Това, което мисля е, че точки 2 и 3 са взаимно изключващи се, но тъй като нямам цялостно решение на проблема си, приемам всякакви съвети.

Categories: Linux, Защита, Хостинг Tags:

Quick Tip: formatting hard drive partition with ext3

mke2fs -j /dev/hdc1

или

mkfs -t ext3 /dev/hdc1

Където /dev/hdc1 е partition-a, който искаме да форматираме

Categories: Cent OS, Debian, Filesystems, Linux, Quick Tips Tags:

Quick: mdadm check RAID

Как да накараме mdadm да ни информира ако имаме проблем с някой от RAID масивите?

Елементарно:

mdadm --monitor --scan --mail=MAIL@DOMAIN.com --delay=3600 --daemonize --test

Как да видим опашката от мейли на Qmail?

Елементарно :)

/var/qmail/bin/qmail-qstat

Пример за това колко мейла има в опашката:

[12:04:03] blagomir@butterfly [~] #: /var/qmail/bin/qmail-qstat
messages in queue: 44
messages in queue but not yet preprocessed: 0

Пример, с който да покажем до къде изпращаме мейли:

[13:30:06] blagomir@butterfly [~] #: /var/qmail/bin/qmail-qread
16 Jul 2011 10:30:29 GMT  #4199501  640  <info@domain.bg> 
	remote	MAILBOX@DOMAIN.org
18 Jul 2011 08:17:14 GMT  #4530632  643  <info@domain.bg> 
	remote	MAILBOX@DOMAIN.org

GUI for fdisk ?

If you wish to use GUI for fdisk, just use cfdisk :-)

Categories: Linux Tags:

Системен потребител с много непрочетени писма във “вътрешната” поща

Както може би знаете, при изпълнението на всеки cron, output-а се изпраща до системния потребител изпълнил cron-a. Точно за това днес получих алерт от един от сървърите, че има необичайно голям mail файл за един от потребителите на машината.

Лесно решение на проблема. Отиваме в папката с mailboxes и разбира се потвърждаваме големината на файла:

server:~# cd /var/spool/mail
server:/var/spool/mail# ls -lh
total 3.8G
-rw------- 1 mail     mail 3.8G 2011-04-27 09:13 user
-rw------- 1 root     mail 5.2K 2011-04-05 16:45 root

Лесно го затриваме :) В моя случай изпразваме съдържанието на файла:

server:/var/spool/mail# echo > user
Categories: Debian, Linux Tags:

Защита от DoS атака с iptables

Тези команди ще ви помогнат да се защитите от DoS атака. Посредством тях, ще блокирате всяко IP, което за 60 секунди има повече от 20 връзки (connections) към текущата машина:

iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
 
iptables -I INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 20 -j DROP

Резултат от командата:

[root@server ~]# netstat -alpn| grep ":80"| awk '{ print $5 }'| cut -d: -f4| sort| uniq -c | sort -n
      1 *
      3 66.249.72.131
     16 81.100.74.82
     17 82.12.246.158
     19 212.183.140.13
     19 78.148.123.94
     20 85.211.47.252
     20 86.166.141.234
     20 87.97.215.7
     20 89.253.191.173
     20 91.92.170.172
     20 94.156.57.170
     20 94.169.158.18
     22 77.78.11.99

Разбира се това е само пример и можете да смените стоностите за секунди (60) и брои връзки (20).
Имайте впредвид, че максималните стойности за –seconds са 60, а за –hitcount са 20

За да премахнете правило (RULE) от iptables използвайте следните команди.
Лист на всички правила в iptables:

iptables -L INPUT -n --line-numbers
[root@server ~]# iptables -L INPUT -n --line-numbers
Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    DROP       tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW recent: UPDATE seconds: 60 hit_count: 20 name: DEFAULT side: source 
2               tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 state NEW recent: SET name: DEFAULT side: source 
3    fail2ban-SSH  tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:22 
4    DROP       all  --  67.195.0.0/24        0.0.0.0/0           
[root@server ~]#

За да изтрием правилото за блокиране на IP-тата в този случай пишем:

iptables -D INPUT 1
Categories: bash, Cent OS, Debian, Linux, Защита Tags:

Проверка за валиден DKIM запис

Преди известно време си играх с DKIM и ми трябваше начин да верифицирам дали домейна, който подписвам е валиден.
Намерих този интересен tool, който свърши чудесна работа :)

Categories: Linux Tags: