суббота, 25 июня 2016 г.

Backup данных мобильного приложения для Android вручную

Возникла необходимость бэкапить базу 1С (на мобильной платформе), но простых средств для этого не нашел. Если бы 1С была установлена на SD-карту, то было бы проще.

Сдампить файлы можно с помощью adb. Можно сдампить все файлы или непосредственно файл информационной базы (1Сv8.1CD). Смартфон должен быть рутован, чтобы иметь доступ к каталогу /data/data.

adb pull /data/data/com.e1c.mobile /BACKUP_CATALOG
pull: building file list...
pull: /data/data/com.e1c.mobile/lib/lib1cem.so -> /BACKUP_CATALOG

...
pull: /data/data/com.e1c.mobile/files/635945ff-47fc-3acb-8013-e5205e122daa/1Cv8.1CD -> /BACKUP_CATALOG/com.e1c.mobile/files/635945ff-47fc-3acb-8013-e5205e122daa/1Cv8.1CD
...
47 files pulled. 0 files skipped.
3937 KB/s (71636410 bytes in 17.766s)









понедельник, 18 апреля 2016 г.

Fail2Ban custom actions


Можно настроить запуск сторонних утилит при выполнении определенных действий fail2ban с атакующим (например, только при отправке в бан). Например, хочется иметь список всех произведенных баннов с указанием точного времени бана. Т.е. надо при каждом бане сохранить время бана и ip-адрес забанненого хоста. Для хранения подойдет текстовый файл формата CSV (в дальнейшем можно перейти к sqlite).


Создаем файл с описанием своих действий - за шаблон берется файл /etc/fail2ban/action.d/dummyconf.

Струкрура, в принципе понятна, - в секции [Init] можно определить переменные, которые будут доступны в этом файле.

Нам понадобится только действие actionban. Здесь указываем команду, которая будет выполняться, когда fail2ban будет отправлять хост в бан. Имя файла для записи данных будем передавать через переменную <file>, значение которой устанавливается в секции [Init].


~$  cat /etc/fail2ban/action.d/csv.conf
# Fail2Ban configuration file#
# $Revision$
# Date: 2016-04-18

[Definition]
# Option: actionstart
# Notes.: command executed once at the start of Fail2Ban.
# Values: CMD
#
actionstart =

# Option: actionstop
# Notes.: command executed once at the end of Fail2Ban
# Values: CMD
#
actionstop =

# Option: actioncheck
# Notes.: command executed once before each actionban command
# Values: CMD
#
actioncheck =

# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: <ip> IP address
# <failures> number of failures
# <time> unix timestamp of the ban time
# Values: CMD
#
actionban = IP=<ip> && STAMP=<time> &&
printf %%b "$STAMP,$IP\n" >> <file>
# Option: actionunban
# Notes.: command executed when unbanning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: <ip> IP address
# <failures> number of failures
# <time> unix timestamp of the ban time
# Values: CMD
#
actionunban =


[Init]
# Option: file
# Notes.: hosts.deny file path.
# Values: STR Default: /data/fail2ban_banned.log
#
file = /data/fail2ban_banned.log




После этого нужно в файле конфигурации jail.conf указать, что требуется выполнять новое действие


/etc/fail2ban/jail.conf
...
action_mwl = %(banaction)s[name=%(name)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]
%(mta)s-whois-lines[name=%(name)s, dest="%(destemail)s", logpath=%(logpath)s, chain="%(chain)s"]
+ csv[name=%(name)s, port="%(port)s", protocol="%(protocol)s", chain="%(chain)s"]

...



Пока не выяснил, где можно получить список всех возможных параметров (port, proto, ...), которые можно передать в action.


Перезапускаем fail2ban. Спустя некоторое время смотрим, что появляется в файле лога:


~ cat /data/fail2ban_banned.log
1460960053.17,180.250.100.138
1460960053.7,1.32.35.146
1460960054.38,59.95.53.201
1460960055.03,78.100.99.202
1460960086.79,94.97.110.61
1460960192.37,203.91.112.186
1460960405.06,139.0.22.106
1460960455.83,213.16.41.104


Через месяц уже можно пробовать агрегировать данные. Например, получим топ хостов, попадавших в бан не один раз

~$  cut -f2 -d',' fail2ban_sqlite.log | sort | uniq -c | sort -n -r | head
     18 197.188.244.18
     15 88.250.117.109
     13 211.198.141.133
     13 119.226.100.222
     11 85.175.227.88
     11 77.240.87.57
     11 175.139.185.161
     10 85.102.11.45
     10 2.50.133.220
     10 190.82.96.26


пятница, 18 марта 2016 г.

Продление льготного периода сервера терминалов


Имеется тестовый сервер терминалов на базе Windows 2008 R2.
После того, как истекает льготный 3-месячный период, клиенты не могут подключится по RPD.

На просторах сети было найдено решение:
http://anilgprabhu.blogspot.ru/2014/05/reset-trial-terminal-license-on-windows.html


Реестр - ветка HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\RCM\GracePeriod
Необходимо для группы Администраторы дать разрешение "Полный доступ", после чего удалить ключ типа REG_BINARY в данной ветке и перезапустить сервер.

четверг, 14 января 2016 г.

Установка ESXi зависает на этапе initializing IOV




На материнке Gigabyte GA-B85M установка зависала на моменте Initializing IOV. Это происходит из-за неподдерживаемого железа.

Решение найдено здесь -  https://communities.vmware.com/thread/448394?start=0&tstart=0.

  1. As soon as you see the ESXi boot screen, you will see Press Shift+O on the bottom right. This takes you to a command line at the bottom left of the screen.
  1. Back space and clear the line if anything is there.
  1. Add "noIOMMU" to the command line.
  1. Press <Enter>
  1. After installation adds noIOMMU to kernelopt of vi /bootbank/boot.cfg.

После установки редактируем файл, указанный в пункте 5


~ # cat /bootbank/boot.cfg
bootstate=0
kernel=tboot.b00
title=Loading VMware ESXi
kernelopt= installerDiskDumpSlotSize=2560 no-auto-partition noIOMMU
...