Действия

Tech support ADM

Материал из lulzette's wiki


Тут будут полезные штучки из моей работы будучи системным инженером.

Python

Дебаг питона при падении

Достаточно запустить скрипт с PYTHONINSPECT=1 или python -i, чтобы при смерти скрипта (естественной или сбое) вывалился шелл со всеми переменными.

Bash

Пробрасываем ssh ключ

Хотим подключиться с host1 к host2 с нашим ключем на localhost. Делаем:

ssh-agent bash
ssh-add ~/.ssh/id_rsa
ssh -A host1
host1 ~: ssh host2
host2 ~:


MySQL

Юзеры

  • Ищем юзеров

select User,Host from mysql.user where User like "ca66833%";

  • Создаем юзера с правами
CREATE USER 'ca66833_test'@'localhost' IDENTIFIED BY '123456789';

GRANT ALL PRIVILEGES ON ca66833_test.* TO 'ca66833_test'@'localhost';

flush privileges;

Таблицы

  • Создадим простую InnoDB таблицу
create database twosa_innodb;
use twosa_innodb;
CREATE TABLE CUSTOMER (A INT, B CHAR (20), INDEX (A)) ENGINE = InnoDB;

etc

  • Восстанавливаем рутовый доступ
# В конфиге указываем:
skip-grant-tables
# делаем рестарт mysql и выполняем:
UPDATE mysql.user SET `authentication_string` = PASSWORD('123456789') WHERE `User` = 'root';
# Убираем опцию и снова перезапускаем MySQL

DDoS

Отражение nginx'ом

Рекомендую в блокирующих правилах указывать return 444;, так как в таком случае nginx не будет ничего отдавать клиенту, а будет сразу закрывать соединение при получении нехорошего запроса.

Отражение через iptables

iptables -I INPUT -p tcp --dport 80 -m string --string "ca66833.tmweb.ru" --algo kmp -j DROP
iptables -I INPUT -p tcp --dport 443 -m string --string "ca66833.tmweb.ru" --algo kmp -j DROP
ip6tables -I INPUT -p tcp --dport 80 -m string --string "ca66833.tmweb.ru" --algo kmp -j DROP
ip6tables -I INPUT -p tcp --dport 443 -m string --string "ca66833.tmweb.ru" --algo kmp -j DROP

Скорее всего не сработает для 443 (https), поэтому надо дополнительно блокировать через nginx, если атака идет по https, но обычно атакуют именно http.

Почта

Проблемы с IMAP (courier-imap)

В папке с файлами писем удаляем все что только можно:

rm courierimapsubscribed courierimapuiddb courierpop3dsizelist courierimapuiddb.lock

Предварительно создав резервную копию этих файлов. Иногда еще надо удалить папку "courierimaphieracl"

libvirt

Запретить сон и гибернацию

  <pm>
    <suspend-to-mem enabled='no'/>
    <suspend-to-disk enabled='no'/>
  </pm>