online.pl скрипт количества пользователей онлайн

Приведу пример скрипта выполняющего sql запрос в mysql базу с выводом результата. Можно прицепить его к графикам Zabbix, Cacti и т.д. чтобы мониторить например количество игроков онлайн на каком нибудь игровом сервере.

#!/usr/bin/perl
use DBI;
my $host = "localhost";
my $port = "3306";
my $user = "root";
my $pass = "";
my $db = "test";
$dbh = DBI->connect("DBI:mysql:$db:$host:$port",$user,$pass);
$sth = $dbh->prepare("SELECT count(id) FROM `online`");
$sth->execute;
while ($ref = $sth->fetchrow_arrayref) {
print "$$ref[0]\n";
}
$rc = $sth->finish;
$rc = $dbh->disconnect;

Установка и настройка AWstats на Ubuntu

AWStats — генератор HTML отчетов анализа данных log файлов веб серверов, почты, FTP и т.д.

Приведу пример установки в Ubuntu:

sudo apt-get install awstats

Копируем конфигурационный файл и добавляем в него имя домена:

sudo cp /etc/awstats/awstats.conf /etc/awstats/awstats.example.com.conf

Через любой текстовый редактор прописываем в скопированном конфиге путь к логам домена, имя домена, алиасы домена.

LogFile="/var/log/apache2/access.log" 
SiteDomain="example.com"
HostAliases="localhost 127.0.0.1 example.com"

Обновляем статистику:

sudo /usr/lib/cgi-bin/awstats.pl -config=example.com -update

В настройках apache2 конфига домена добавляем строки:

Alias /awstatsclasses "/usr/share/awstats/lib/"
Alias /awstatsicons/ "/usr/share/awstats/icon/"
Alias /awstatscss "/usr/share/doc/awstats/examples/css"
ScriptAlias /awstats/ /usr/lib/cgi-bin/
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch

После чего /awstats/awstats.pl будет открываться на любом домене которые обслуживает apache2.

Перезапускаем apache2 чтобы изменения вступили в силу:

sudo /etc/init.d/apache2 reload

Статистику можно посмотреть набрав в браузере адреса:

http://example.com/awstats/awstats.pl
http://example.com/awstats/awstats.pl?config=example.com

Чтобы статистика автоматически собиралась и генерировалась добавляем в планировщик cron сторуку:

0 */3 * * * /usr/lib/cgi-bin/awstats.pl -config=example.com -update > /dev/null

Все.

Настройка SNMP Traps в Ubuntu

Установка в Ubuntu:

sudo apt-get install snmpd snmptt snmptrapd

В конфиге /etc/default/snmpd.conf изменяем значение параметра TRAPDRUN с no на yes.

В конфигурационном файле /etc/snmp/snmptrapd.conf укажем комьюнити и что трапы необходимо передавать на snmptt:

authCommunity log,execute,net КОМЬЮНИТИ
traphandle default snmptthandler

В конфигурационном файле /etc/snmp/snmptt.ini укажем параметры:

mode = daemon
net_snmp_perl_enable = 1
mibs_environment = ALL
unknown_trap_log_enable = 1

Перезапустим snmpd и snmptt чтобы применить изменения:

sudo /etc/init.d/snmpd restart
sudo /etc/init.d/snmptt restart

Можно временно остановить snmpd и запустить его вручную чтобы посмотреть в реальном времени какие трапы приходят на сервер:

sudo service snmpd stop
sudo snmptrapd -f -L o

Если в системе используется iptables, то разрешим указанной ниже командой прием udp пакетов на порт 162 и сохраним добавленное правило чтобы оно не сбросилось после перезапуска системы:

sudo iptables -A INPUT -p udp -m udp -s 192.168.0.0/24 --dport 162 -j ACCEPT
sudo service iptables save

Если все правильно настроили, то трапы должны записываться в директории /var/log/snmptt/.

Смотрите также: Настройка SNMP Traps на коммутаторах D-Link

Установка и настройка DNS-сервера BIND9

BIND (Berkeley Internet Name Domain) — открытая и наиболее распространённая реализация DNS-сервера, обеспечивающая выполнение преобразования DNS-имени в IP-адрес и наоборот.

Установка в Linux Ubuntu:

sudo apt-get install bind9

Остановка/Запуск/Перезапуск Bind9:

sudo /etc/init.d/bind9 stop/start/restart

Чтобы использовать локальный DNS нужно прописать в /etc/resolv.conf:

nameserver 127.0.0.1

Редактируем конфигурационные файлы в директории /etc/bind/ под свои нужды.

Откроем файл конфигурации named.conf.options например в текстовом редакторе nano:

sudo nano /etc/bind/named.conf.options

Добавим вначале ACL с сетями которым будут разрешены запросы к DNS серверу:

acl localclients {
localhost;
localnets;
10.0.0.0/8;
172.16.0.0/12;
192.168.0.0/16;
};

В options укажем этот ACL, разрешив запросы:

allow-recursion { localclients; };
allow-query { localclients; };
allow-query-cache { localclients; };

Можно указать IP-адреса на которых будет работать bind9:

listen-on {
127.0.0.1;
192.168.1.1;
};

Или на всех:

listen-on { any; };

Либо можно также указать адреса которым разрешена рекурсия, чтобы DNS не обслуживал запросы всех клиентов, а только указанных (все остальные не прописанные адреса смогут получить только информацию прописанную в этом DNS):

allow-recursion { 127.0.0.1; 10.0.0.0/8; 192.168.0.0/16; 172.16.0.0/16; };

Правильность настроек можно проверить следующей командой (если она ничего не сообщила — значит все в порядке):

named-checkconf

Применяем изменения:

sudo rndc reload

или так:

sudo  /etc/init.d/bind9 restart

Проверка:

rndc status
netstat -lnp | grep :53
sudo ps -ax | grep bind

Из Windows можно проверить командой (где 192.168.1.1 — адрес bind9):

nslookup example.com 192.168.1.1

Кэш DNS сервера можно очистить командой:

sudo rndc flush

Сохранить кэш в файл (/var/cache/bind/):

sudo rndc dumpdb

Смотрите также:
Настройка логов Bind9
Настройка Fail2Ban под Bind9

Изменение данных User Agent

Для редактирования настроек набимраем в адресной строке мозиллы:

about:config

Расширение для браузера Mozilla Firefox, позволяющее создавать, редактировать и выбирать данные заголовка User_Agent:
https://addons.mozilla.org/ru/firefox/addon/user-agent-switcher/

User Agent Switcher для Google Chrome:
https://chrome.google.com/webstore/search/user%20agent%20switcher/

Запуск Google Chrome с параметром -user-agent:

/opt/google/chrome/google-chrome '-user-agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1)'

Для виндовс, редактируем ярлык, в конце пути к файлу добавляем:

'-user-agent=Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; en)'

Проверить информацию выдаваемую браузером можно на сайтах:
whatsmyuseragent.com
panopticlick.eff.org
www.mybrowserinfo.com
и т.д.

Веб-прокси Privoxy

Privoxy — свободный веб-прокси с расширенными возможностями.

Официальный сайт: www.privoxy.org

Установка в Linux Ubuntu:

sudo apt-get install privoxy

После установки нужно прописать в настройки любього бразера http и SSL прокси с адресом:

localhost:8118

Работоспособность и настройки можно посмотреть оп адресу config.privoxy.org

Сами конфиги находятся в директории /etc/privoxy/

Можно соединить privoxy с TOR. Для этого нужно добавить в /etc/privoxy/config строку:

forward-socks4a / localhost:9050 .

или

forward-socks5 / 127.0.0.1:9050 .

и перезапустить privoxy:

sudo /etc/init.d/privoxy restart

Джейлбрейк iOS устройств

Джейлбейк (Jailbreak) — програмная операция которая позволяет открыть полный доступ к файловой системе устройства. Это необходимо для того чтобы в устройство можно было устанавливать официально не поддерживаемые твики, темы оформления, пиратское ПО и разные примочки. Его можно сделать многими способами и утилитами, в зависимости от версии iOS. После установки джейлбрейка, устройство стает более уязвимо и безопасность пользовательских данных не гарантируется. Не советую ставить тем кто не понимает что это и зачем оно нужно, а в официальном магазине App Store есть довольно много бесплатного ПО.

Утилиты:
http://sn0wbreeze.ru
http://sn0wbreeze.ru/utilities/
http://www.evad3rs.net
http://www.redsn0w.us/
http://redsnow.ru/
http://iphoneroot.com/utilities/

iOS прошивки:
http://sn0wbreeze.ru/firmwares/

Для отвязанного джейлбрейка iOS 6.1.3 / 6.1.5 можно использовать RedSn0w и p0sixspwn.

Инструмент мониторинга Munin

Munin — один из инструментов мониторинга разных систем, использующий RRDtool.
Состоит из сервра munin куда собираются все данные и демона munin-node с которых собираются данные.
Официальный сайт: munin-monitoring.org

Установка сервера:

sudo apt-get install munin

Установка munin-node на сервера которые хотим мониторить:

sudo apt-get install munin-node

Конфиги находятся по адресу:
/etc/munin

В конфиге munin-node.conf нужно прописать ip адрес сервера которому разрешено получать информацию. В munin.conf адреса клиентов с которых нужно получать информацию.

Уничтожение данных с помощью Shred

Shred — позволяет перезаписать указанный файл случайными данными чтобы в случае необходимости обеспечить более тяжелый процесс восстановления или невозможность восстановления данных.
На некоторых файловых системах удаление данных не гарантируется и использование shred может быть не эффективным.

Список возможных аргументов:
Справка о программе:

--help
man shred

Читать далее «Уничтожение данных с помощью Shred»