вівторок, 8 липня 2014 р.

Коррупция 2014. Поединок Николай Сергеевич опять при деле...

Данная статья перенесена на тематический блог: http://pravdak.blogspot.com
В этом же блоге обсуждаются только вопросы программирования и техники.

понеділок, 24 березня 2014 р.

10 Заповодей Новой Украины

1) Не давать и не брать взятки
Рыба гниет с головы, а в нашем случае – страна гнила, начиная с каждого из нас. Конфеты врачам, коньяки за быстрое изготовление документов, пухлые конверты за принятие на важную должность, фраза "ну, ты же знаешь, что нужно сделать" – все это подкармливало колоссальную систему коррупции, которая начиналась с маленького села и заканчивалась Межигорьем. Не будет предложения – не будет и спроса на взятки. Начните строить Европу персонально возле себя – прекратите подкармливать пирамиду коррупции. Это не страшно.

2) Не воровать
Тяжело удержаться от искушения подправить документы и списать из бюджета компании немножко меньше, а себе в карман положить немножко больше. Особенно, если тебя дома ждет семья. Нужно научиться систематически выветривать из головы дурные привычки родом из СССР: брать то, что вам не принадлежит или плохо лежит где угодно – на работе, на улице или еще где. Вы воруете не у кого-то нереального – вы обворовываете в первую очередь самого себя – ибо жить же тут вам. Каждый раз, когда у вас будет возникать такое желание – посмотрите на себя в зеркале и увидите там Януковича.

3) Уважать других
Мирное сосуществование невозможно без уважения, и именно оно станет залогом экономического успеха. Только когда мы научимся уважать других людей – независимо от того, на каком языке они разговаривают, какой они нации, вероисповедания, ориентации или какую музыку слушают и каких политиков поддерживают – только тогда может начаться действительно мирная жизнь. Просто примите то, что кто-то не такой, как вы – и станет намного легче, поверьте. Наше разнообразие и делает нас сильными.

4) Помогать
Убивайте вирус равнодушия в себе. Не бойтесь поднять человека, который упал посреди улицы или потерялся в чужом районе. Это не стыдно, это наоборот – очень приятно! Искренняя улыбка и слово "спасибо" мотивирует лучше всех наград и премий. Ну и рано или поздно может случиться так, что помощь будет нужна уже вам – вы бы не хотели остаться в одиночестве, правда?

5) Держать чистоту
Почему-то, как только мы попадаем заграницу, у нас включается режим "Европы" – мы прекращаем мусорить и нарушать правила. Почему бы не попробовать держать этот режим во включенном состоянии – постоянно и дома? Это очень просто: чем жаловаться на то, какой срач возле вашего дома, прекратите бросать окурки и обертки где попало. Не бойтесь распространять этот пример на окружающих, если видите, что кто-то даже не думает о том, где выбрасывать мусор. В Украине есть прекрасные инициативы – например, "Сделаем Украину чистой" – им нужна ваша поддержка.

6) Самоорганизовываться
"Хата скраю" – это архаизм и девиз старой Украины. Девизом новой Украины должна стать самоорганизация. Если вы не верите – посмотрите видео с Майдана и поймите, что на самом деле это очень легко – даже когда вас 10, 500 или тысячи. Ведите диалог с соседями – отстаивайте права своих домов. Разговаривайте с коллегами и развивайте рабочие коллективы. Один человек способен сделать много чего, а группа самоорганизованных людей – еще больше и еще лучше. Попросите помощи, сорганизуйтесь с теми, кто солидарен с вами – и вы сможете решить любую проблему.

7) Брать ответственность
Настало время расширять круг ответственности немного дальше, чем вы привыкли до этого. Нужно принять эту мысль во внимание: только вы несете ответственность за собственную жизнь и за собственный успех, и никто другой! Ваша ответственность – это и чистота в городе, и депутаты, которых вы выбираете, чтобы представлять ваши интересы. Не бойтесь брать ответственность за свою работу, свои обещания и своих близких: это добавляет воодушевления, сил и уверенности в действиях. Это – фундамент вашего существования.

8) Не бояться
Это – именно то, с чего начинается новая Украина. Люди начали осознавать, что страх – это единственное препятствие к лучшей жизни. И Небесная сотня положила свои жизни именно за то, чтобы мы могли жить в стране без страха. Чтобы мы не боялись гулять городами, отстаивать свои права, ловить воров и свободно высказывать свою мысль. Свобода – это первая ступенька к переменам. Только будучи физически, морально и духовно свободными, мы сможем воплотить в жизнь все те мечты, о которых думаем каждый день.

9) Не ждать
Хватит ждать, что кто-то придет и сделает порядок возле вашего дома. Хватит ждать, что государство в лице чиновников или власти даст вам работу или решит проблемы. Наиболее недовольные жизнью – это те, кто скулит и ждет, что кто-то сделает все за него. Вставайте и действуйте! Только от вас зависит, насколько хорошей будет ваша жизнь.

10) Расширять кругозор
Время выйти на свет из пещер своих стереотипов. Время избавиться от мифов, которые все время насаждают вам политики или СМИ, – только так вы найдете настоящую истину. Не судите про то, чего вы не знаете или не видели. Путешествуйте – начинайте с лучших уголков своей области и заканчивайте лучшими местами Украины и мира. Выделяйте на это время и деньги. Читайте книги и знакомьтесь с новыми людьми. Откройте себя для мира, и он откроет всю свою неимоверность для вас.

субота, 8 лютого 2014 р.

Техническая поддержка программы "Корпорация 2"

Теперь, пользователи программы "Корпорация 2" могут получать техническую поддержку даже в том случае, если возникают проблемы в дата-центре. Для этих целей подняты отдельные сайты технической поддержки, работающие в других дата-центрах:
https://sites.google.com/a/corp2.net/teh
http://sites.google.com/a/corp2.net/teh

понеділок, 6 січня 2014 р.

Windows 8 и кнопка Пуск

В Windows 8 убрали классическое меню с программами, которое возникало при нажатии на кнопке Пуск. В результате, пользователю предлагается выбрать программу в "плиточном" интерфейсе Metro. В результате, пользователям полноценных компьютеров таким инструментарием пользоваться не удобно и сильно медленно...

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

Например:
Start Menu X - http://www.startmenux.com/ru/
Start 8 - http://www.stardock.com/products/start8/

Я лично, выбрал бесплатный вариант Start Menu X.

Как сделать в Windows 8, чтоб Skype не открывался на весь экран

Новый интерефейс Skype просто "убивает"... Дизайнеры в очередной раз придумали функционал, который не ведет к улучшениям, а ведет к диградации... Открывая Skype для Windows 8, он распахивается на весь экран. В результате, Вы не можете "между делом" переписываться с партнерами... Как результат - закрываете Skype и не пользуетесь им вообще...

Но, есть возможность решения данной проблемы: просто поставьте Skype для рабочего стола. На данный момент, ссылка на данный вариант реализации Skype: http://www.skype.com/ru/download-skype/skype-for-computer/

пʼятниця, 30 серпня 2013 р.

понеділок, 3 червня 2013 р.

Скрипт для Excel для переноса информации из Depoer в Oberone

С некоторых пор, все счета открытые в Depoer должны быть перенесены в Oberone. Для этого, предназначена программка Undepoer, которая частично формирует Excel-файл на основании базы данных Depoer.
Пользователям приходится для того, чтоб корректно перенести информацию вручную добавлять строчку, вносить управляющую компанию ценными бумагами, а уже после этого - закачивать информацию. Все было бы хорошо, если бы счетов (строк в Excel-файле) было не много, но обычно это много-много тысяч... Понятное дело, в момент таких действий пользователь может допустить механическую ошибку, чем свести свои старания на нет. Не говоря уже о том, что тратится огромное количество времени...

Для того, чтоб облегчить жизнь пользователя, мы разработали макрос, который выполняет такую работу:
- Добавляет строку для каждого счета.
- Заполняет информацию о управляющем бумагами.

Текст данного макроса:

Sub Макрос1()
Rows("3:3").Select

NumRows = 2495
NumRows = NumRows*2 

For x = 2 To NumRows+1

If (x Mod 2) = 0 Then
  ActiveCell.Rows.EntireRow.Select
  Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End If

If (x Mod 2) = 0 Then
Cells(x+1, 1).FormulaR1C1 = "Тут заполняем информацию в 1-й ячейке"
Cells(x+1, 2).FormulaR1C1 = "Заполняем код компании"
Cells(x+1, 3).FormulaR1C1 = "Заполняем название компании"
Cells(x+1, 4).FormulaR1C1 = "Заполняем название компании"
End If
ActiveCell.Offset(1, 0).Select

Next

End Sub

понеділок, 27 травня 2013 р.

Asus продает бракованные компьютеры (интернет-магазин СОКОЛ ФОП Бойко Д.М.)

Статья была перенесена в тематический блог: http://pravdak.blogspot.com/
На этом же блоге обсуждаются только вопросы программирования, администрирования и техники.

вівторок, 9 квітня 2013 р.

Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола

При использовании RDP, временами возникает такая ошибка:
Ошибка RDP: Удаленный сеанс отключен, поскольку для данного компьютера отсутствуют клиентские лицензии удаленного рабочего стола


Для удаления лицензии RDP с клиентского компьютера, откройте ветку реестра
HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing
и удалите все подразделы.

После этого повторите подключение к серверу RDP. При первом подключении запустите клиент «от имени Администратора».

--------------

В продолжение данной темы...
После того, как Вы удалили, может выдасться другая ошибка:
Удаленный компьютер отключил сеанс, из-за ошибки в протоколе лицензирования.
Попытайтесь подключиться к удаленному компьютеру снова или обратитесь к системному администратору.

Причина данной ошибки - отсутствие у пользователя прав на создание данных разделов реестра. Для устранения данной ошибки выполните следующие действия:
- Запустите mstc.exe с правами администратора или войдите под правами администратора.
- Подключитесь к терминальному серверу. В этот момент будут автоматически созданы разделы в реестре HardwareID и StoreID.
- Отключитесь от терминального сервера.

пʼятниця, 5 квітня 2013 р.

2-й экземпляр apache

Иногда, возникает необходимость запустить 2-ю копию apache. Понятное дело, хочется использовать один и тот же исполняемый файл apache и не заниматься установкой различных версий продукта.

Определимся, чем должны, отличаться наши экземпляры.
Это конфигурационными файлами:
 /etc/apache2/apache2.conf  - указаны порты и специфичные для каждого из Апачей виртуальные хосты
/etc/apache2/ports.conf - содержит прослушиваемые порты.
/etc/apache2/envvars - путь к файлу для сохранения pid запущенного демона.

Стоит разделить логи директивами в в apache2.conf:
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/other_vhosts_access.log vhost_combined


Идем в папку init скриптов:
cd /etc/init.d

Создаем копию init скрипта родного Apache:
cp apache2 apache2_srv

Где apache2_srv - это название нового экземпляра Apache.

Сразу Добавляем фейловер Апача в автозапуск:
update-rc.d apache2_srv defaults

Корректируем скрипт apache2_srv:

Вместо блока:
PIDFILE=`. /etc/apache2/envvars ; echo $APACHE_PID_FILE`
if [ -z "$PIDFILE" ] ; then
echo ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars >&2
exit 2
fi


Вставляем:
PIDFILE=`. /etc/apache2/envvars_apache2_srv ; echo $APACHE_PID_FILE`
if [ -z "$PIDFILE" ] ; then
echo ERROR: APACHE_PID_FILE needs to be defined in /etc/apache2/envvars_apache2_srv >&2
exit 2
fi


Чуть выше корректируем ENV:
ENV="env -i LANG=C PATH=/usr/local/bin:/usr/bin:/bin APACHE_ENVVARS=/etc/apache2/envvars_apache2_srv"

Корректируем конфиги:
cp /etc/apache2/envvars /etc/apache2/envvars_apache2_srv

Заменяем
export APACHE_PID_FILE=/var/run/apache2.pid
на
export APACHE_PID_FILE=/var/run/apache2_apache_2.pid

Создаем файл портов /etc/apache2/ports_apache_srv.conf:
В нем пишем:
Listen 81

Создаем файлы логов:
touch /var/log/apache2/error_apache2_srv.log
touch /var/log/apache2/other_vhosts_access_apache2_srv.log
chown root:root /var/log/apache2/other_vhosts_access_apache2_srv.log
chown root:adm /var/log/apache2/error_apache2_srv.log
chmod 640 /var/log/apache2/error_apache2_srv.log

Теперь давайте посмотрим, как осуществляется управление демоном Апача. Сразу скажу, что кэш мы не используем и следовательно "check_htcacheclean" всегда будет выдавать ложь.
Запуск:

start)
log_daemon_msg "Starting web server" "apache2"
if $APACHE2CTL start; then
if check_htcacheclean ; then
log_progress_msg htcacheclean
start_htcacheclean || log_end_msg 1
fi
log_end_msg 0
else
log_end_msg 1
fi
;;



То есть все вопросы к: $APACHE2CTL, его мы будем использовать не как SysV инит скрипт, а будем им проксировать все наши вопросы к apache

Для этого в верху скрипта делаем замену:

APACHE2CTL="$ENV /usr/sbin/apache2ctl"
на
APACHE2CTL="$ENV /usr/sbin/apache2ctl -f /etc/apache2/apache2_srv.conf"


Далее изменяем все параметры вызов APACHE2CTL:

$APACHE2CTL start на $APACHE2CTL -k start
$APACHE2CTL stop на $APACHE2CTL -k stop
$APACHE2CTL graceful на $APACHE2CTL -k graceful
$APACHE2CTL configtest на $APACHE2CTL -t

 Теперь надо скорректировать функцию pidof_apache, иначе при stop мы будем убивать всех Апаче разом:

Делаем замену:
pidof_apache() {
# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=`pidof apache2` || true

на:
pidof_apache() {
# if pidof is null for some reasons the script exits automagically
# classified as good/unknown feature
PIDS=`ps aux | grep 'apache2_srv' | grep -v 'grep' | awk '{print $2}' | xargs` || true



Теперь попробуем запустить второго Апача:
/etc/init.d/apache2_srv  start
Starting web server: apache2apache2: Could not open configuration file /etc/apache2/apache2_failover.conf: No such file or directory
failed!


Теперь необходимо на основе apache2.conf составить /etc/apache2/apache2_srv.conf

Скопируем оригинал
cp /etc/apache2/apache2.conf /etc/apache2/apache2_srv.conf

И далее корректируем пути к файлами, которые обсуждали выше.


CustomLog /var/log/apache2/other_vhosts_access_apache2_srv.log vhost_combined
ErrorLog /var/log/apache2/error_apache2_srv.log
Include /etc/apache2/ports_apache2_srv.conf


Теперь надо поменять порты у директив NameVirtualHost xx.xx.xx.xx:80 и VirtualHost xx.xx.xx.xx:81.

Повторяем попытку запуска:


/etc/init.d/apache2_srv  start
Starting web server: apache2.


середа, 3 квітня 2013 р.

Защита от хакеров Linux Ubuntu

Чем интересней ресурс, тем выше вероятность того, что взломают сервер. Поэтому, приходится бороться со взломами, искать процессы и т.п.


1. Есть подозрение, что кто-то подключился к рабочему столу

Смотрим:
who

r        tty7         2013-03-11 06:52 (:0)
r        pts/2        2013-04-03 05:21 (192.168.3.62)
r        pts/6        2013-04-03 08:27 (192.168.3.62)
r        pts/5        2013-04-03 07:58 (192.168.3.62)
(unknown) tty8         2013-04-03 06:16 (:1)
(unknown) tty9         2013-04-03 08:28 (:2)
(unknown) tty10        2013-04-03 08:47 (:3)


Прежде всего, обращаем внимание на подозрительных пользователей. Так, например, пользователь (unknown) - это странное явление. Значит, нужно его выкинуть и закрыться от возможности его подключения.
Выполняем:

who -a -p
           завантаження системи 2013-03-11 06:54
           рівень виконання 2 2013-03-11 06:54
ВХІД   tty4         2013-03-11 06:54              1575 id=4
ВХІД   tty5         2013-03-11 06:54              1581 id=5
ВХІД   tty2         2013-03-11 06:54              1588 id=2
ВХІД   tty3         2013-03-11 06:54              1589 id=3
ВХІД   tty6         2013-03-11 06:54              1593 id=6
r        + tty7         2013-03-11 06:52  да        4824 (:0)
ВХІД   tty1         2013-03-11 06:52              5937 id=1
           pts/2        2013-03-11 06:57                 0 id=/2    термінал=0 вихід=0
r        + pts/2        2013-04-03 05:21 01:26        2104 (192.168.3.62)
r        + pts/6        2013-04-03 08:27   .           409 (192.168.3.62)
           pts/7        2013-03-11 11:45                 0 id=/7    термінал=0 вихід=0
           pts/8        2013-04-03 09:21             15957 id=ts/8  термінал=0 вихід=0
           pts/10       2013-04-03 09:13             14507 id=s/10  термінал=0 вихід=0
           pts/12       2013-03-11 10:18             19235 id=s/12  термінал=0 вихід=0
           pts/14       2013-03-11 10:31             21030 id=s/14  термінал=0 вихід=0
r        + pts/5        2013-04-03 07:58 00:05       23871 (192.168.3.62)
           pts/3        2013-04-03 07:36              5537 id=ts/3  термінал=0 вихід=0
           pts/7        2013-04-03 09:17             10140 id=ts/7  термінал=0 вихід=0
           pts/9        2013-04-03 09:14             14013 id=ts/9  термінал=0 вихід=0
           pts/11       2013-03-19 18:33              6218 id=s/11  термінал=0 вихід=0
           pts/13       2013-03-11 22:14             17281 id=s/13  термінал=0 вихід=0
           pts/15       2013-03-11 22:33             18853 id=s/15  термінал=0 вихід=0
           pts/17       2013-03-11 21:52             19310 id=s/17  термінал=0 вихід=0
           pts/6        2013-03-25 07:43                 0 id=/6    термінал=0 вихід=0
           pts/8        2013-03-25 07:43                 0 id=/8    термінал=0 вихід=0
(unknown) + tty8         2013-04-03 06:16  да        5873 (:1)
(unknown) + tty9         2013-04-03 08:28  да         813 (:2)
           tty10        2013-04-03 09:10              7691 id=:3    термінал=0 вихід=0


Убиваем злодея:
kill 5873 813

После того, как убили, анализируете, ищите, как он мог войти. Убираете возможность подключения не прошенных гостей.


2. Запрет удаленного подключения к X11 через ssh
По умолчанию, ssh разрешает запускать x11 через ssh. Т.е. можно запускать графические приложения linux на сервере, используя протокол ssh.
Как это делается, написано в статье: http://d51x.ru/page/udalennyj-dostup-x11-forwarding

Но, вопреки этому, советую все же данную возможность отключать.
Редактируем файл: /etc/ssh/sshd_config 
Меняем выражение:
X11Forwarding    no

Перезагружаем ssh:

/etc/init.d/ssh restart


3. Ограничиваем доступ по ssh
Редактируем все тот же конфигурационный файл для ssh: /etc/ssh/sshd_config 
Желательно, сменить номер порта ssh (чтоб никто не знал, что там находится ssh :):
Port 22

Так же, можно изменить адрес, на котором слушает демон:
ListenAddress 0.0.0.0

Разрешаем вход по ssh только определенным пользователям:
AllowUsers user1 user2 user3


Перезагружаем ssh:

/etc/init.d/ssh restart

4. Настраиваем файервол

Устанавливаем расширение (настройки) для iptables:
apt-get install arno-iptables-firewall

Конфигурируем порты /etc/arno-iptables-firewall/conf.d 
Например:

EXT_IF="eth0 ppp0"
EXT_IF_DHCP_IP=1

# 3343,4434 - Порты для администрирования svn
# 9000 - порт для darkstat
# 3389 - терминал Windows
# 1500 - ???
# 8080 - порт для доступа к svn
# 1500 - ISP админка
# 440 - новый номер порта для ssh
# 22 - был ssh УБРАН

OPEN_TCP="80,443,21,6543,47,3343,4434,8080,1500,440"

# 110,25,995

OPEN_UDP=""
INT_IF="eth1"
NAT=0
INTERNAL_NET="192.168.3.0/24"
NAT_INTERNAL_NET="eth1"
OPEN_ICMP=1
LAN_OPEN_TCP="80,443,21,6543,1723,47,3389,1500,9000,5900,440"



Перезагружаем:
invoke-rc.d arno-iptables-firewall restart


5. Из sudo удаляем лишних пользователей
Редактируем файл: /etc/sudoers


Комментарим root, перечисляем наших пользователей-админов и комментарим доступ к sudo для груп администраторов и т.п.

Вот пример, того, что у меня получилось:


# User privilege specification
#root    ALL=(ALL:ALL) ALL
r           ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
#%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
#%sudo<>ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:

#includedir /etc/sudoers.d


6. Делаем сложный пароль для пользователя root
Хакеры пытаются подобрать пароль супер-пользователя root простым перебором. Поэтому, делайте пароль для данного пользователя не менее 12 символом и посложнее.

Для изменения пароля пользователя root, выполняем:
passwd root

7. Защита дыр в Apache.
Выполните команду:
curl -I -H "Request-Range: bytes=0-1,0-2,0-3,0-4,0-5,0-6" -s Ваш домен/robots.txt | grep Partial

Если у Вас выдастся ответ 206 Partial Content, то это означает, что Ваш Apache имеет не плохую уязвимость.

Для того, чтоб убрать данную уязвимость, выполните:
sudo a2enmod headers

В Nginx пропишите:
proxy_set_header Range "";
proxy_set_header Request-Range "";


В Apache пропишите:
SetEnvIf Range (?:,.*?){5,5} bad-range=1
RequestHeader unset Range env=bad-range
RequestHeader unset Request-Range


Перезагрузите веб-сервис:
/etc/init.d/apache2 restart



Скільки коштує K2 ERP: онлайн-калькулятор ліцензій, SaaS, хостингу та обслуговування

Скільки коштує впровадження K2 ERP саме для вашого підприємства? У новому онлайн-калькуляторі можна обрати формат роботи — безкоштовну хмару...