Подключение к ec2 и проброс порта

Подключаемся к серверу ec2 и пробрасываем порт mysql на свою машину:

 

ssh -i 52.112.16.18.pem   -L 4080:127.0.0.1:3306   ec2-user@52.112.16.18

после этого можно юзать mysql

mysql  -uroot -h 127.0.0.1:4080 -p'password' 

 

 

Обновление ключа

После ребилдинга VM, может быть ошибка

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is

Делаем

ssh-keygen -R hostname

Отправляем почту через яндекс

в продолжении http://serov.eu/?p=45

msmtp действительно помог без очень сложных махинаций настроить сервер на отправку почты через яндекс.

ставим программку

yum install msmtp

в php.ini в самом конце файла пишем

sendmail_path = msmtp -t -i

у пользователя создаем файл

nano .msmtprc

с содержанием

 

account default
logfile /home/bitrix/.msmtp.log
host smtp.yandex.ru
port 587
from noreply@server.ru
keepbcc on
auth on
user noreply@server.ru
password <password>
tls on
tls_starttls on
tls_certcheck off

ставим правильные права, без этого ругается

chmod 0600 .msmtprc

и рестартуем httpd

service httpd restart

 

проверка:

php -r "mail('you-mail@gmail.com', 'Test', 'Test');"

Генерация файлов в LINUX

Создать пустой файл на 4 гигабайта, отформатировать его  и подключить:

 

 dd if=/dev/zero of=./disk-image bs=1 count=0 seek=4G создаем файл
 mkfs -t ext3 -q disk-image форматируем
 mount disk-image /hdd8 -o loop монтируем

Создать не пустой файл, забить его рандомными данными

 

 dd if=/dev/urandom of=sample.txt bs=1G count=1

так быстрее

 

dd if=/dev/urandom of=sample.txt bs=64M count=16

Принудительно запускаем fsck во время следующей перезагрузки

По некоторым причинам вам может понадобиться принудительно заставить систему выполнить fsck во время перезагрузки. Для этого достаточно создать пустой файл с именем forcefsck в вашей системе

touch /forcefsck


Проверить диск

umount /dev/sdb1 #thumb drive
fsck -AR -y

Бекап mysql routines

Недавно столкнулся с такой проблемой. Развернул бекап mysql базы в среде разработке, и не нашел хранимые процедуры. Бекап я делаю через штатную програмку mysqldump. Она хороша тем, что это официальный инструмент для бекапа, он входит в пакет mysql.

Итак, чтобы mysqldump сохранял процедуры, нужно добавить ключ

--routines

Полностью команда:

#!/bin/sh
data=`/bin/date +%d.%m.%Y_%H-%M-%S`
/usr/bin/mysqldump --user=root --password=pass --routines name_db > /root/sql/sql-dump_${data}.sql

mysqldump есть еще много нюансов работы. Один из важным моментов — она блокирует БД, на время работы, так что, если ваше БД больше гига, лучше это делать на слейв сервере.

А так можно всю БД забекапить

/usr/local/bin/mysqldump --all-databases --default-character-set=utf8 --user=root --password=passroot > /home/webmaster/sql-dump.sql

Путь до mysqldump  может быть другой.

Узнать его можно командой

which

which mysqldump

Атака SlowHTTP

Есть такой вид атаки SlowHTTP. Это когда берется большой файл (1мб хватит) и начинает «тянуться» клиентом оооочень долго. При этом сокет сервера занят. 256  сокетов может открыть apache (если нет nginx).  Чем интересна данная атака, что для нее не нужно много ресурсов. Мне удавалось программой slowhttptest повесить свои, вполне серьезные продакшен сервера.

Решается эта проблема ограничением на соединение от одного IP, в примере 50 соединений на 80 порт с одного IP.

-A INPUT -p tcp --syn --dport 80 -m connlimit --connlimit-above 50 -j REJECT --reject-with tcp-reset