Рассмотрим несколько полезных советов по iptable — блокировка IP-адресов, которые имеет 20 и более одновременных запросов и бан пула адресов конкретной страны.
1. Блокировка IP-адресов, которые имеет 20 и более одновременных запросов (drop ip addresses)
Несколько вариантов определения таких ip-адресов:
$ netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk '{ print $5 }' | sort|awk -F: '{print $1}' | uniq -c | awk '$1 > 20 {print $2}'
$ netstat -apn | grep TIME_WAIT |awk '{print $5}' |awk -F: '{print $1}' | sort | grep -v 127.0.0.1 | grep -v 0.0.0.0 | awk '{ if ($1 > 20) print $1 }'
пишем такой bash скрипт:
#!/bin/bash
ipban=’netstat -an| grep :80 | grep -v 127.0.0.1 |grep -v 0.0.0.0 |awk ‘{ print $5 }’ | sort|awk -F: ‘{print $1}’ | uniq -c | awk ‘$1 > 20 {print $2}’
for ip in $ipban
do
iptables -A INPUT -s $ip -j DROP
done
Файлы зон для стран-регионов с IP-диапазонами берем: тут
Читать далее…
Открываем:
$ nano ~/.bashrc
Хороший способ для просмотра списка ранее введенных команд в bash — имеется команда history.
По умолчанию она выводит список команд хранящийся в истории.
По умолчанию его размер — 500 команд, но иногда используешь редкие команды или выражения и что бы потом мучительно не вспоминать, можно полистать историю.
HISTSIZE — определяет число строк, хранящихся в списке истории (в памяти интерпретатора).
HISTFILESIZE — максимальное количество команд хранящихся в файле истории.
Если хотим хранить историю в другом файле, то нужно в .bashrc, задать команду HISTFILE=~/.my_history.
shopt -s histappend
PROMPT_COMMAND=’history -a; history -n’
Читать далее…
Резервное копирование баз MySQL mysql backup ubuntu
Попался мне на просторах интернета один из скриптов для создания бэкапов баз данных, в чем его плюс — создает отдельный архив под каждую базу данных, в отличии от стандартного mysqldump с ключем —all-databases который пишет все базы в один файл для меня получается не совсем правильный бэкап, т.е мне это ни подходит.По мне лучше каждая база -отдельный файл.
В любом случаи желательно сделать пользователя от которого будем делать бекапы, из прав дадим ему права на просмотр баз,SELECT и Lock Tables, я приведу пример как создать из командной строки:
$ mysql -pПАРОЛЬ
-p, —password=[password] – Пароль пользователя, для соединения с сервером MySQL. Не должно быть пробела между -p и паролем.
-u, —user=[user] — Имя пользователя для соединения с сервером MySQL. Необязательно, по умолчанию используется такое же, как ваш логин.Используется если логин отличается от имени пользователя для соединения с сервером MySQL.
$ mysql> CREATE USER ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.02 sec)
$ mysql> GRANT SELECT , LOCK TABLES ON * . * TO ‘back’@'localhost’ IDENTIFIED BY ’123456′;
Query OK, 0 rows affected (0.00 sec)
для примера пользователь back и его пароль 123456 (mysql backup ubuntu)
Читать далее…
Как говориться «лень — двигатель прогресса» поэтому я покажу как можно еще работать с командной строкой bash, стандартно с помощью клавиш перемещения курсора можно перемещаться по списку ранее введенных команд. Если мне была нужна определенная команда из ранее введенных — „стрелка вверх“ и до тех пор пока нужная команда не появиться в терминале далее корректировка по надобности и выполнения ее.
Оказываеться есть еще один хороший способ — для просмотра списка ранее введенных команд в bash — имеется команда history. По умолчанию она выводит список команд хранящийся в истории.
$ history
1 sudo route del -net
2 cat /etc/resolv.conf
3 htop
......
50 nslookup
51 ping mail.ru
52 ifconfig
......
200 sudo aptitude full-upgrade
......
300 mc
Читать далее…