Category Archives: sadmin

sadmin

Спиране на SYN Flood чрез sysctl и iptables

На една машина нямаше правила за спиране на syn flood и трябваше да добавя такива. Понеже се сетих, че преди много години това беше сериозен проблем реших да напиша тази кратка публикация която обяснява как се спира съответния syn flood. Ако искате да тествате дали вашата машина е подвластна на syn flood може да тествате със hping3 или по- конкретно:

hping3 --faster -S  example.com
#Ако искате да конкретизирате порт, ето така:
hping3 --faster -S  example.com -p 80

Ако машината ви замръзне или се случи натоварване то определено имате проблем :).

Ето решение на проблема чрез използване на sysctl + iptables :

Файл: Sysctl.conf

net.ipv4.tcp_syn_retries = 3
net.ipv4.tcp_syncookies = 1
net.ipv4.conf.all.rp_filter = 1
net.ipv4.tcp_max_syn_backlog = 2048

Записване и презареждане на sysctl:

sysctl -p

Промени в iptables(създаване на верига syn-flood) :

iptables -N syn-flood
iptables -A INPUT -p tcp --syn -j syn-flood
iptables -A syn-flood -m limit --limit 100/s --limit-burst 150 -j RETURN
iptables -A syn-flood -j DROP

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Проблем с phpmyadmin

Днес ми репортнаха за един от моите инсталирани phpmyadmin, че извеждал грешка :
PHPMYADMIN The configuration file now needs a secret passphrase (blowfish_secret).

Решението е:

Отваряте файл /var/lib/phpmyadmin/blowfish_secret.inc.php
и се копира този ред където е въведен вашият blowfish. Пример:
$cfg['blowfish_secret'] = 'Примерен hesh81927398akjhasdklfj';

Копираната променлива и хеш записвате в най- долния ред на файла /etc/phpmyadmin/blowfish_secret.inc.php

След това презареждате phpmyadmin от браузъра и всичко е наред. 🙂

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Сетване на Charset UTF8 при mount на cd

Случвало ли ви се е под GNU/Linux да се опитате да монтирате диск в които всичкото съдържание е на кирилица. Предполагам да. В моя случай имах проблем с това, а именно енкодинга по подразбиране с които монтира диска не отговаряше на реалния. За целта статично казвам, че енкодинга трябва да бъде UTF8.

Ето пример как става монтиране на CD с charset UTF8:

mount -t iso9660 /dev/cdrom /media/cdrom -o iocharset=utf8

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Бърза статия за инсталиране на apache + ssl + htaccess оторизация под Debian

Днес на бързо написах една статия за Инсталиране на Apache 2 + SSL + htaccess auth под Дебиан. Идеята на статията е да спести време на всеки. Статията може да бъде открита ето тук:
Инсталиране на Apache2 под Debian- Lenny. Активиране на SSL и основна оторизация.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

whowatch- Мониторинг на процеси и потребители

Whowatch е интерактивно конзолно приложение което се използва за мониторинг на потребителите и процесите в системата. То показва моментна информация за логнатите потребители в машината. Във Whowatch може да гледате процесите на конкретен потребител представени в дървовиден вид които е адски удобен. Имате възможност и да изпращате сигнали SIGINT и SIGKILL до конкретни процеси. Убиването на процеси е адски лесно и забавно тук във whowatch :).

Повече информация отностно Whowatch може да намерите в сайта на автора на whowatch: http://wizard.ae.krakow.pl/~mike/

whowatch_pic_1

whowatch_pic_2

whowatch_pic_3

whowatch_pic_4

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Логване на бавните заявки в MySQL

Понеже това не е особено популярно да се записват бавните заявки в MySQL реших да напиша този пост. Идеята че, понякога една заявка която се изпълнява бавно може да забави вашата машина повече от колкото многократно повече заявки, но изпълнявани за по- малко време.

По подразбираме времето в секунди за бавно изпълняваща се заявка е 10 секунди, но може да промените това време по следния начин:

long_query_time=13

Чрез примерът горе времето в секунди за бавно изпълнение на заявка става 13 (тринадесет) секунди.

Но това не е достатъчно за активиране на записването на бавните заявки. Ето какво трябва да се добави:

log-slow-queries=/var/log/mysql/mysql_slow.log

Ето цял пример за записване на заявките в MySQL:

#added by amri
log=/var/log/mysql/mysql.log
log-bin=/var/log/mysql/mysql-bin.log
log-slow-queries=/var/log/mysql/mysql_slow.log
long_query_time=10

Извод: Благодарение на тези лог файлове може да извършвате добър мониторинг на своя MySQL сървър. В доста голяма полза е и възможността за записване на "бавните заявки" именно поради която причина написах тази статия.

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Потребител на всеки виртуален хост в Apache

Написах една статия за това как всеки виртуален хост в Apache да работи със собствен потребител чрез модула mpm-itk . Идеята е, че може да имате лесен мониторинг и съответно да ограничавате лесно тези домейни/потребителски имена. Всичко това звучи толкова интересно, а на практика е толкова лесно :). Все пак ето тук може да научите как може да го реализирате и на практика:

Отделен потребител на всеки виртуален хост в Apache чрез mpm-itk

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Поправяне на повредена mysql таблица

Понеже забелязах, че има доста питания за поправяне на повредена таблица в mysql база реших в тази публикация да напиша някои от начините които ползвам.

Обикновено когато таблицата е повредена излиза следното съобщение:

"… is marked as crashed and should be repaired …"

Първи начин:

myisamchk -r <DatabaseName>\*.MYI

Втори начин:

repair table powredena_tablica_w_mysql

Ето набързо написах един прост script които предлага repair, optimize и check на таблиците в mysql:

#!/bin/sh
#Mysql Table Fixer v 0.75 |  Written by amri

#Variables

MUSER=$2
MPASS=$3
DBNAME=$4

Usage() {
echo "Usage: $0"
echo " --optimize mysqluser mysqlpass tablename"
echo " --repair mysqluser mysqlpass tablename"
echo " --check mysqluser mysqlpass tablename"
return
}

repair_mysql_table()
{
TABLENAMES=`mysql -u$MUSER -p$MPASS -D $DBNAME -e "SHOW TABLES\G;"|grep 'Tables_in_'|sed -n 's/.*Tables_in_.*: \([_0-9A-Za-z]*\).*/\1/p'`
for TABLENAME in $TABLENAMES
do
mysql -u$MUSER -p$MPASS -D $DBNAME -e "$1 TABLE $TABLENAME;"
done
}

if [ $# -eq 0 ] ; then
Usage
exit 1
fi

case $1 in
--repair) repair_mysql_table "repair";;
--optimize) repair_mysql_table "optimize";;
--check) repair_mysql_table "check";;
--help) Usage; exit 1;;
*) Usage; exit 1;;
esac

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Прекъсна интернет свързаността от BTC

btc_problemДнес във 14:00 часа прекъсна интернет свързаността от BTC. След проведен разговор с тяхната поддръжка става ясно, че имат сериозен проблем които обхваща свързаността им в цяла България. Дори мога да цитирам "Нямам интернет дори в нашият офис". В 14:55 проведохме разговор отново и също отново разбрахме, че работят по отстраняване на проблема и щял да бъде отстранен във 15:00 часа. Не беше отстранен в 15:00 часа, но дори и след 10 мин закъснение проблемът беше оправен в 15:10 часа. В момента няма проблем с интернета на BTC и се надявам скоро да няма.

Редакция малко по- късно: Свързаността или по- просто казано интернетът на BTC отново бе прекъснат в 15:42 часа до 17:19 часа . След като отново проведохме разговор ни обясниха, че стабилизират мрежата. Голямо стабилизиране голямо нещо близо два часа.

Сумарно над два часа нямаше Интернет от BTC

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Инсталиране на NVIDIA Driver в Debian Lenny

debian-kfreebsdЕто тук една малка публикация как се инсталира Nvidia Driver в Debian Lenny. Идеята на статията е да обясни от къде може да се изтегли Nvidia драйвера и как да бъде инсталиран напълно безопасно. Нивото на познание необходимо за реализирането на написаното в статията е много малко поради елементарния начин на написване на тази статия- Прост и изчистен(Това, че инсталирането става лесно също допринася за леснотата при изпълнение). Ето я и самата статия:

Инсталиране на NVIDIA Driver в Debian Lenny

VN:F [1.9.22_1171]
Rating: 5.0/5 (1 vote cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)