Tuesday, July 29, 2014

Свобода СМИ vs. Цензура

Я и сам не раз писал о важности свободы доступа к информации. Однако, Истина, как и красота, - это лезвие бритвы. Очень важно это понимать, чувствовать и не сломать, не нарушить тот баланс противоположностей. Поэтому сегодня я расскажу о том, как важна Цензура, - мера ограничения "свободы слова". Что такое "правильно", а что такое "неправильно", по-моему мы уже разбирали, поэтому не будем останавливаться на этом, ну, а если остановиться надо, - остановимся в другом посте, дайте знать.

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

Если брать во внимание широкую аудиторию СМИ, то именно по этой причине не надо перегибать палку "свободы слова", не надо выливать на неподготовленную аудиторию информацию, которая может быть некорректно интерпретирована. Это и есть цензура и цель ее не "сделать из нас дураков" или "зомбировать" или еще что-то подобное, а обеспечить безопасность, стабильность Общества (кстати - основная задача любого Государства). Многие вещи сложны и неочевидны, есть множество степеней познания действительности, поэтому не надо под флагом свободы слова рассказывать "правду", также как не надо несовершеннолетним показывать порно, несмотря на то, что это действительно правда.

Sunday, July 13, 2014

Простейший способ отключения McAfee VirusScan

Иногда есть потребность поработать с различного рода инструментами, а антивирус мешает.
Первая мысль - пойти в Сервисы и отключить сервис "McAfee McShield" - если верить комментарию к сервису, это как раз то, что отвечает за сканирование при доступе (On-Access Scanner). Однако, возможность выключить через интерфейс недоступна и режим запуска тоже поменять не получается.
Что ж, ищем McShield.exe среди процессов в Таскменеджере - он там находится, убиваем - убивается. Радуемся, работаем, но в какой-то момент McShield.exe снова поднимается и все портит. Разбираться кто его поднимает - лень, но надо все-таки как-то сделать, чтобы не поднялся.
Решение до безобразия просто - переименовать файлик McShield.exe так, чтобы пытающийся поднять его не нашел. 
Итак, файлик "C:\Program Files (x86)\McAfee\VirusScan Enterprise\x64\McShield.exe" (путь можно посмотреть в свойствах сервиса "McAfee McShield") переименовываем в то, что нравится, - я добавил единичку в конце. Больше McAfee меня не беспокоил.

Важно: Когда закончили свои занимательные упражнения - обязательно переименуйте файлик обратно, - крайне не рекомендую отключать антивирус навсегда!

Thursday, July 10, 2014

Измена или глупость?

Не перестаю удивляться странностям государственных подходов к ИБ. То мы всей страной покупаем и внедряем Apple с iOS, а после появления Сноудена, переходим на Samsung с Android... хотя ежу понятно, беря во внимание что Samsung - южнокорейская фирма, а Android - производства Google, вероятность существования там закладок ни чуть не меньше, чем в iOS. Полагаю, была команда что-то сделать - что-то сделали (стандартный министерский подход: ориентация не на результат (как видно, - он тот же: закладки американской фирмы Apple заменили на закладки американской фирмы Google), а на процесс: по проблеме что-то сделали).

И вот новый перл: товарищи сделали отечественный планшет на отечественной ОС. В заметке есть фрагмент, который только сейчас открыл мне глаза. Основное выделено жирным:
"....Причем на фоне череды скандалов, которые сотрясают Европу (прослушивание телефона Меркель, как вариант), понятно, что закладки в подобной технике есть по умолчанию. Выбор поставщика, который имеет давние и тесные отношения с Министерством обороны США, выглядит, как минимум, странно, хотя тут самое время вспомнить о вредителях и осознанных шагах, направленных на подрыв обороноспособности страны. Хотя это может быть и просто обыкновенное отсутствие профессионализма в своей области, что еще страшнее."
В данном случае страшнее как раз не отсутствие профессионализма (или откровенная глупость), а напротив - умышленное вредительство.
Когда я только начинал взаимодействовать с гос* я не раз удивлялся тому насколько непрофессиональны используемые подходы, насколько неэффективные решения принимаются. Я удивлялся тому, почему из множества различных вариантов решения проблемы, в госкомпании выбирают наихудший сценарий, и как все эти люди, которые эти решения принимают, смогли так сконцентрироваться: все вокруг государства и ключевых государственных предприятий. Да и не могут быть люди настолько непрофессиональны... И только теперь до меня дошло: действительно, люди не могут быть настолько непрофессиональны, напротив, они профессионалы, но у них другая цель - вредить Стране. Это заслацы-вредители, которых внедрили во все сферы наших высоких технологий, поставили у руля подразделений ИБ крупнейших госкомпаний, внедрили в Регуляторов. Тогда все сходится: глупые, неэффективные решения имеют цель разрушить ИТ и ИБ Страны (по крайней мере не развиваться в ногу со временем) и маскируются под непрофессионализм, что создает почву для бесконечного троллинга в Сети (ситуация чем-то напоминает многочисленные высказывания Дженифер Саки об Украине, России, Белоруссии и мире вообще: как бы не комичны были эти заявления, США продолжают творить что хотят. Иногда я думаю, что США специально провели конкурс по всей Америке, чтобы найти госпожу Саки и выставить ее на всеобщее обозрение, и тем самым продемонстрировать всему миру, что им абсолютно фиолетово что о них думают в мире и ничто их не остановит (как не остановит американский флот отсутствие морских границ у Белоруссии). Теперь все сходится: решения, которые порою идут в разрез с общей логикой (тут даже не до профессионализма) также легко объясняются злым умыслом.
Остается ждать и надеяться, что когда-нибудь на место этих вредителей, маскирующихся под непрофессионалов придут профессионалы-патриоты, и все будет по-другому, лучше, и нам не придется краснеть за супер-пупер защищенный планшет, с которого даже не потрудились оттереть надпись "Motorola".

Monday, July 7, 2014

Перлюстрация почты. Заметка 2.

Итак, вся почта, отправляемая сотрудниками, складывается в каталог /var/mail/mailarchive, о чем мы написали в файле /etc/exim4/systemfilter.txt.
Почта раскладывается по каталогам, имена которых равны электронному адресу. 
Чтобы прочесть накопленное можно переименовать собранные файлы в файлы с расширением eml и скормить их ОС Windows.
Но мне больше нравится следующий способ:
Нужные файлы я копирую в специально выделенную папочку, при этом переименовывая их в файлы с цифровым названием:
let j=1; for i in `ls | grep -v make`; do mv $i $j; let j=$j+1; done; chmod a+r *
Затем либо на сервере либо удаленно запускаем почтовый клиент claws-mail который настраиваем таким образом, чтобы "специально выделенная папочка" являлась одним из каталогов, где хранится почта. У меня это сделано с сервера сбора почты на локальную машину через sshfs. Наслаждаемся интерфейсом.
А есть еще способ, который позволяет вам не прикасаться к собранным данным.
В /etc/crontab добавляем строку:
50 23   * * *   root    /mailmonitor_copy
Сам скрипт mailmonitor_copy наполняем следующими строчками:
#!/bin/bash
UserName="VICTIM_WITHOUT_DOMAIN"
Recipient="READER_WITHOUT_DOMAIN"

let j=1;

for i in `find  /var/mail/mailarchive/$UserName@DOMAIN/new -name *.`hostname`* -mtime -1`; do
    cp $i /tmp/$j.eml;

    PATH/mail -f $Recipient@DOMAIN -t $Recipient@DOMAIN -s "message $j of user $UserName" -a /tmp/$j.eml
    rm /tmp/$j.eml;
    let j=$j+1;
done

if [[ $j == 1 ]]; then
   
/mail -f  $Recipient@DOMAIN -t $Recipient@DOMAIN -s "No mail from $UserName at `date +%F`"
fi


И под завязку скрипт, который отправляет почту (он в предыдущем скрипте отмечен как PATH/mail и взят откуда-то с просторов интернета и доработан много лет назад. Силен он тем, что позволяет отправлять почту с приложениями.

#!/usr/bin/perl

use Net::SMTP;
use Getopt::Std;

$boundary="Message-Boundary-20030214";

getopt('ftsba', \%args);

if (!($args{f} and $args{t} and $args{s} )) {
    usage();
    exit;
}

if ($args{f}) {
    $from = $args{f};
}
if ($args{t}) {
    $to = $args{t};
}
if ($args{s}) {
    $subject = $args{s};
}
if ($args{b}) {
    $plain_text_message = $args{b};
}
if ($args{a}) {
    $attachment = $args{a};
    @_array = split("/", $attachment);
    $attachment_name = $_array[scalar(@_array)-1];
}

# Constructors
$smtp = Net::SMTP->new('localhost');

$smtp->mail($from);
$smtp->to($to);

push(@message, "Date: ".`date --rfc-822`);
push(@message, "To: $to\n");
push(@message, "From: $from\n");
push(@message, "Subject: $subject\n");
push(@message, "MIME-Version: 1.0\n");

#push(@message, "Content-Type: text/plain;");
#push(@message, "        charset=\"koi8-r\"");
#push(@message, "Content-Transfer-Encoding: 8bit");

push(@message, "Content-type: Multipart/mixed;\n");
push(@message, "\tboundary=\"$boundary\"\n");
push(@message, "\n");
push(@message, "This is a multi-part message in MIME format.\n");
push(@message, "\n");
push(@message, "--$boundary\n");

##  Print out any text message sent with the email
if ($plain_text_message){
    push(@message,"Content-type: text/plain; charset=koi8-r\n");
    push(@message,"Content-transfer-encoding: 7bit\n");
    push(@message,"\n");
    push(@message,$plain_text_message);
    push(@message, "\n");
}


if ($attachment) {
    push(@message,"--$boundary\n");
    ##  Print the header for that attachment.
    push(@message, "Content-type: application/octet-stream;\n name=\"$attachment_name\"\n");
    push(@message, "Content-Disposition: attachment;\n filename=\"$attachment_name\"\n");
    push(@message,"Content-transfer-encoding: BASE64\n");
    push(@message,"\n");

    ##  Send out the contents!!
    ## Store the new line character
    $_nl=$/;
    undef $/;
    open(FL,$attachment) || die $!;
    binmode (FL);
    $some_text=; ## Read the entire file contents into the variable

    close(FL);
    $/=$_nl; ## Restore the new line character.

    $some_text=encode_base64($some_text);
    push(@message,$some_text);
}

push(@message,"\n");
push(@message,"--$boundary--\n");

##     Indicte Start of the DATA header & send the message
$smtp->data(@message);


##     Close the connection
$smtp->quit;



sub encode_base64 ($;$){
 my $res = "";
 my $eol = $_[1];
 $eol = "\n" unless defined $eol;
 pos($_[0]) = 0;                          # ensure start at the beginning
 while ($_[0] =~ /(.{1,45})/gs) {
   $res .= substr(pack('u', $1), 1);
   chop($res);
 }
 $res =~ tr|` -_|AA-Za-z0-9+/|;               # `# help emacs
 # fix padding at the end
 my $padding = (3 - length($_[0]) % 3) % 3;
 $res =~ s/.{$padding}$/'=' x $padding/e if $padding;
 # break encoded string into lines of no more than 76 characters each
 if (length $eol) {
   $res =~ s/(.{1,76})/$1$eol/g;
 }
 $res;
}

sub usage () {
    print "Usage: mail [-f from] [-t to] [-s subject] <-b body=""> <-a attachment_file="">\n";
}