<?php // Полная загрузка сервисных книжек, создан 2024-01-05 12:44:55
global $wpdb2;
global $failure;
global $file_hist;
///// echo '<H2><b>Старт загрузки</b></H2><br>';
$failure=FALSE;
//подключаемся к базе
$wpdb2 = include_once 'connection.php'; ; // подключаемся к MySQL
// если не удалось подключиться, и нужно оборвать PHP с сообщением об этой ошибке
if (!empty($wpdb2->error))
{
///// echo '<H2><b>Ошибка подключения к БД, завершение.</b></H2><br>';
$failure=TRUE;
wp_die( $wpdb2->error );
}
$m_size_file=0;
$m_mtime_file=0;
$m_comment='';
/////проверка существования файлов выгрузки из 1С
////файл выгрузки сервисных книжек
$file_hist = ABSPATH.'/_1c_alfa_exchange/AA_hist.csv';
if (!file_exists($file_hist))
{
///// echo '<H2><b>Файл обмена с сервисными книжками не существует.</b></H2><br>';
$m_comment='Файл обмена с сервисными книжками не существует';
$failure=TRUE;
}
/////инициируем таблицу лога
/////если не существует файла то возврат и ничего не делаем
if ($failure){
///включает защиту от SQL инъекций и данные можно передавать как есть, например: $_GET['foo']
///// echo '<H2><b>Попытка вставить запись в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>$m_comment));
wp_die();
///// echo '<H2><b>Возврат в начало.</b></H2><br>';
return $failure;
}
/////проверка лога загрузки, что бы не загружать тоже самое
$masiv_data_file=stat($file_hist); ////передаем в массив свойство файла
$m_size_file=$masiv_data_file[7]; ////получаем размер файла
$m_mtime_file=$masiv_data_file[9]; ////получаем дату модификации файла
////создаем запрос на получение последней удачной загрузки
////выбираем по штампу времени создания (редактирования) файла загрузки AA_hist.csv, $m_mtime_file
///// echo '<H2><b>Размер файла: '.$m_size_file.'</b></H2><br>';
///// echo '<H2><b>Штамп времени файла: '.$m_mtime_file.'</b></H2><br>';
///// echo '<H2><b>Формирование запроса на выборку из лога</b></H2><br>';
////препарируем запрос
$text_zaprosa=$wpdb2->prepare("SELECT * FROM `vin_logs` WHERE `last_mtime_upload` = %s", $m_mtime_file);
$results=$wpdb2->get_results($text_zaprosa);
if ($results)
{ foreach ( $results as $r)
{
////если штамп времени и размер файла совпадают, возврат
if (($r->last_mtime_upload==$m_mtime_file) && ($r->last_size_upload==$m_size_file))
{////echo '<H2><b>Возврат в начало, т.к. найдена запись в логе.</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>$m_mtime_file,'last_size_upload'=>$m_size_file,'comment'=>'Загрузка отменена, новых данных нет, т.к. найдена запись в логе.'));
wp_die();
return $failure;
}
}
}
////если данные новые, пишем в лог запись о начале загрузки
/////echo '<H2><b>Попытка вставить запись о начале загрузки в лог таблицу</b></H2><br>';
$insert_fail_zapros=$wpdb2->insert('vin_logs', array('time_stamp'=>time(),'last_mtime_upload'=>0, 'last_size_upload'=>$m_size_file, 'comment'=>'Начало загрузки'));
////очищаем таблицу
$clear_tbl_zap=$wpdb2->prepare("TRUNCATE TABLE %s", 'vin_history');
$clear_tbl_zap_repl=str_replace("'","`",$clear_tbl_zap);
$results=$wpdb2->query($clear_tbl_zap_repl);
///// echo '<H2><b>Очистка таблицы сервисных книжек</b></H2><br>';
if (empty($results))
{
///// echo '<H2><b>Ошибка очистки таблицы книжек, завершение.</b></H2><br>';
//// если очистка не удалась, возврат
$failure=TRUE;
wp_die();
return $failure;
}
////загружаем данные
$table='vin_history'; // Имя таблицы для импорта
//$file_hist Имя CSV файла, откуда берется информация // (путь от корня web-сервера)
$delim=';'; // Разделитель полей в CSV файле
$enclosed='"'; // Кавычки для содержимого полей
$escaped='\
Я правильно понял, что статья еще не закончена? 🙂
Да… Ставлю это всё гораздо быстрее чем описываю…
Размер видео файла = 0. Скачать невозможно
Исправил вроде…
Зачем «По требованиям безопасности исходный код должен быть открыт. » -если 90 % пользователей все равно глядеть на него не будет. А если и посмотрят, то все равно не поймут. Тогда уж надо с Windows на Linux, т.е. на открытое программное обеспечение переходить. Не говоря уже о том, что 1С и безопасность мало совместимые вещи.
(5)
Это почему же? 😀
Автору: Респект за статью! Но слова «фаерфол» и «фаервол» режут глаз.
Немного сумбурно…
Так, давайте по порядку…
1. Мне кажется, что правильнее было бы назвать статью «Первые шаги по установке FreeBSD для 1С-ников» 😀
2. Статья в процессе написания. Рановато выложили в общий каталог.
3. Забыли упомянуть Agnitum Outpost Firewall — на мой взгляд один из лучших файрволов для Windows-систем.
4. Хотелка: раз уж речь зашла о безопасности, то очень кстати было бы объяснить «на пальцах» почему в Linux-системах нет антивирусов, почему у них врожденный иммунитет к «заразе». 🙂
(5) — безопасность должна быть доказуема. Я конечно понимаю, что есть люди, для которых и бинарник является исходником, но их мало. Кстати закрытость кода не сильно затрудняет поиск дыр, а вот выявлению и исправлению ошибок препятствует. Стабильность, надежность и безопасность Linux — сильно зависит от сборки(я писал это не цельная система и вариантов слишком много). FreeBSD — это законченный продукт с открытым исходным кодом. Если честно, то и Windows вполне надёжная система, при условии грамотного администрирования.
(6) Огромное спасибо… Меняю на брандмауэр…
Если честно, все это конечно хорошо, но для одинесника, по моему, сложновато. Если уж вы захотели описать простую, быструю и, что самое главное, не сложную установку BSD/Linux сервера, то надо было бы выбрать другой дистрибутив.
Сам использую Ubuntu. Ставится за 10 минут, никаких лишних программ, никакого графического интерфейса.
Но, если честно, пока не пойму какое отношение все это имеет к 1С …
(7)
Миф №1 под UNIX нет вирусов и антивирусов.
Миф №2 у UNIX встроенный иммунитет к вирусам.
Субъективно: В моем понятии слово windows и безопасность лежат в разных плоскостях. Поэтому, я не верю, что на «дырявой» системе можно построить безопасность.
Про 1С. БЕЗОПАСНОСТЬ = СТОИМОСТЬ / УДОБСТВО.
(9) — Почему Ububntu? Может Fedora? Или Debian? OpenSuSe? Может… Вариантов много… И у всех свои нюансы…
(11) я не агитирую к какому то дистрибутиву, а всего лишь написал что использую сам.
И я бы еще не стал отбрасывать керио — да он не бесплатен, но он того стоит ! И уж в нем описать правила маршрутизации будет куда проще, чем в том же IPFW. Думаю, что стоит сразу предупредить читателя, что только для описания принципа работы брандмауэра придется написать как минимум 4 такие статьи. И после прочтения оных вопросов появится на порядок больше, чем было до того. 😀
(12)
По требованиям безопасности исходный код должен быть открыт. То есть данные системы не могут быть сертифицированы выше класса С5 американского или пятого класса нашего стандарта безопасности.
(13) Так бы сразу и говорили… 😀
А каким классам безопасности соответствует FreeBSD? И альтернативные варианты?
интресный ликбез
смысл последнего параграфа не совсем понятен
Ну по требованиям безопасности компьютер должен находится в бетонно-свинцовом бункере и не должен быть подключен ни к ЛВС ни тем более к Интернету.
(13) Ну, в таком случае, посмотрите сколько заплаток безопасности выходит к той же фрюхе и попробуйте вспомнить из анекдота почему неуловимый Джо такой неуловимый. Мы все очень хорошо умеем рассуждать о «дырявости» виндов, но почему то вспоминать о «дырявости» BSD/Linux систем не хотим и считаем их чуть ли не эталоном безопасности. 😀
Я сильно сомневаюсь что большая часть контор будет сертифицировать свои маршрутизаторы …
(16) Критерии я указал в статье… Дернул из оранжевой книги…
(17) Сколько? Заплатка… При монтировании флешки пользователь может получить привилегии суперпользователя если встанет на левую ногу коснется правой рукой левого уха и т.д… Угу.. Есть такое… Только по умолчанию монтировать что-либо может только суперпользователь, 2 — у меня на серверах обычно стек USB отключён. Не нравится FreeBSD — OpenBSD найдено 2 уязвимости за 15 лет. Опечатка в документации — критическая ошибка, повод не допускать код до релиза…
а я бы кстати послушал и про линукс на клиентских машинах
(19) Какова задача? То есть какие приложения должны на нём работать?
стандартный офисный набор + 1С
стандартный офисный набор + 1С, 7-локально, 8-ка в терминале
Стандартный офисный набор в виде OpenOffece присутствует в практически в любом десктопном дистрибутиве Linux`a.
аппаратные фаерволы не раскрыты.
🙂
почему BSD/Linux — надежность.
почему не BSD/Linux — больше вопросов чем ответов.
и так до бесконечности.
И самый вопрос — при чем тут 1С?
7.7 — дыра на дыре.
8.0 8.1 защита уже начала поддаваться не только гуру.
да и прой цель не взлом и получение пароля а именно кража информации..
причем не всегда все и сразу.. 😉
И не многие компании готовы тратить 40% на опеспечение защиты информации.
(24) Украсть информацию через сеть сложнее, чем через пользователей. А вот завалить — пожалуйста… Те кто не готов платить, не теряет столько денег на сетевых атаках или финансовые потери для них приемлемы.
Из аппаратных знаю CISCO, D-Link, 3-Com. Первая падала у провайдера раз в неделю — что не добавило ей рейтинг (субъективно). Две оставшиеся, да и не только они — это Linux ядро 2.6 с iptables. Правда на семинаре Microsoft рассказывал про аппаратные железки с ISA, но озвученная стоимость… Короче ISA при этом стоил в 10 раз меньше…
(22) Запустить windows приложение на linux клиенте можно тремя способами:
1. Wine — работает не все… А если работает, то не всегда стабильно.
2. Виртуальная машина — требует боле-менее нормального железа.
3. Клиент к терминальному серверу. Пока нет поддержки 6 версии rdp протокола. Citrix.
Comodo Firewall — бесплатный, работает под windows XP, Vista, и Windows 7, по рейтингам в тройке лидеров…. 😉
(25) Полностью с Вами согласен по поводу безопасности, открытости кода и то что windows не место в этой нише. Стоимость шлюза+файл-сервера+прокси+ftp+т.д. на FreeBSD/OpenBSD в разы (много раз) меньше стоимости решений на windows.
(24) При чем 1С? Сейчас практически у всех доступ в сети по широкому каналу в инет и кража данных 1С это лишь частный случай.
Плюсанул. Очень поучительно. Особенно для российских айтишников, в большинстве своем зомбированных мелкомягкими.
(28) Как только цена копии мелкомягких превысит 60 рублей (пиратка)… IT-шников сильно поубавится…
интересно почитать с таким вот прочтением, спасибо
спасибо за труд и + однозначно
…скачал
Работаю уже давно с Linux’ом и 1С. То что здесь написано — большой труд, но бесполезный. Абсолютно…
По новому российскому законодательству в сертифицированных конторах запрещено использовать 1С 8.x в качестве программы по учету ЗП, т.к. она не сертифицирована. И какие бы вы ухищрения не ставили в проверке это не поможет.
По каналам: здесь тоже дела обстоят туго. На сколько я знаю (могу сильно ошибаться) еще ни одна версий Linux не сертифицирована как связующее звено по шифрованию канала между офисами (ОСОБЕННО ЭТО КАСАЕТСЯ ДЛЯ ОФИСОВ РАЗДЕЛЕННЫХ ГРАНИЦАМИ — те, у которых канал проходит через госграницу). Проблемы также есть с сертификатами у HP. Лучше обстоят дела с Cisco, но какую категорию защиты они обеспечивают — только узнаю.
Главное что здесь полезно описано — это категории защиты, в которых указывается, что любая деталь по доступу к этой информации ДОЛЖНА БЫТЬ ДОКУМЕНТИРОВАНА. Т.е. пользователь именно такой, какой указан. Имеет доступ к тому-то тому и только с этого рабочего места, только выполнив соответствующие шаги и по другому никак.. И т.д.
(0) я прошу прощения за столь резкий отзыв, но именно с этим сейчас приходится разбираться и столько подводных камней, которые куда более критичны, чем выбор дистрибутива, автоматического разбиение диска и т.п. Поэтому статью лучше назвать по-другому: установка 1С на Linux’е или еще как-нибудь, но только не Защита данных.
Херня и лажа
(34) Минусуй тогда. Но можно прокомментировать почему?
(35)
1. 80% контор плевать на сертификацию.
2. Причем здесь ЗУП или ЗИК?
3. Сертифицирована — то ли ALT, то ли ASP, то ли ещё кто — врать не хочу.
4. Причем здесь каналы? Я про VPN еще да же не упоминал.
5. Категории защиты — это обобщение оранжевой книги. Автор её не я.
6. Там написано в заголовке еще ликбез? Не относитесь к статье как к чему то большему, чем оно есть.
Спасибо за интересный комментарий…
(35) Уточняю по поводу первого пункта:
Давайте разделим понятие деюро и дефакто. Деюро 98% систем на рынке продуктов IT не имеют право на «жизнь» из-за отсутствия тех или иных документов. Однако, 70% дефакто попадают под те или иные требования. Да же всеми горячо любимая операционная система Microsoft попадает под класс С2, а до B1 не дотягивает парой-тройкой пунктов. Так же известная вам FreeBSD или OpenBSD никогда не станут UNIX. Просто в силу того, что UNIX — это зарегистрированная торговая марка. Принадлежит эта марка Novell и сертификация на соответствие стоит БОЛЬШИХ денег. Как специалисту по информационной безопасности, проводящему аудит фирмы, мне плевать чем вы защищены, мне важно выявить узкие места и дать рекомендации по их исправлению. Как хакеру, мне тем более безразлично наличие у системы бумажек. Конечно юридическая безопасность — это не маловажный факт, но пока вы малое или среднее предприятие риск связанный с попаданием на этом менее одного процента. В силу отсутствия ресурсов контролирующих органов. Плюс откаты не столь велики.
А кто нибудь сталкивался с 8.2? По правде сказать, я работал только на 77. Сейчас пытаемся перейти на 8.2. Задача состоит в подключении через инет большого количества пользователей. Какие могут быть угрозы безопасности?
(37)
Я бы рекомендовал SSL и сертификаты для пользователей. VPN не ах-как удобно. Пиши в личку отвечу более подробно…
Статья хорошая, и очень толковые ответы на комментарии.
Сам, когда работал админом, ставил FreeBSD, правда использовал IPFW.
Вопрос:
Есть ли существенные различия в системах PF и IPFW?
Спасибо за статью, и заранее благодарю за ответ.
Различия есть, вот только не смогу рассказать какие. Давно им не пользовался… Как минимум это синтаксис. Плюс, в ipfw выигрывает первое правило, а в pf последние. В ipfw можно указать маску пакета для фильтрации, а в pf для этого надо задействовать стороннюю программу. А вообще вот тут:http://vkontakte.ru/topic-265_21379072 обсуждение было.
Пока не проверяется трафик на уровне приложения, нельзя говорить о полноценной безопасности. То что здесь описано, это просто фильтрация пакетов, а внутрь пакетов никто не заглядывает. Дорогие брадмауеры типа ISA сервера именно это и делают. И деньги платятся за этот функционал. Кто-нибудь знает бесплатный брандмауер, который анализирует содержимое пакетов?
(41) perl + tcpdump. 🙂 В статье части про проксирование не хватает…
Актуально.
А про проксирование ничего не будет?
Спасибо автору за статью, будем ждать продолжения данной темы.
Спасибо. Меняю брандмауэр
Статья хорошая, и очень толковые ответы на комментарии.
Спасибо за статью, и заранее благодарю за ответ.
Спасибо автору за статью, понравилось систематизирование элементарных вещей, разбросанных в инете по комментам, в одну статью-мануал с толковыми разъяснениями.
Надеюсь, автор закончит свой труд.
Статья интересная, комментарии не менее интересны
Приведенное описание безопасности, на мой взгляд, актуально не только в связке с 1С. Данная статья хорошо описывает принцип документированности уровней безопасности, что является самой сложной частью и основой безопасной системы организации. Плюсую.
Автору респект за труд молодец собрал кучу информации виложеной на сотне сайтов. Но на мой взгляд по даной теме можно писать и писать и создавать целые книги и сайты. Тема настольно обширна что имеет множество нюансов и особеностей.
(25)
CISCO требует очень серьезных навыков, чтобы реально хорошо ее настроить, то что она падала раз в неделю говорит либо о недостатке компетенции админа у провайдера, либо провайдер экономил и взял железку не того класса, отсюда и падения, т.к. не справлялась с нагрузкой. И да, цены на такое оборудование колются, но в средних и крупных компаниях без этого никак, хотя у нас до CISCO стоял сервер с FreeBSD (и до сих пор стоит, только задействован под другие задачи), и вроде справлялся с задачами маршрутизации (админ у нас неплохой был).
Rjvfy(52) EfiopReal, Как вам команда включения интерфейса циски — no shutdown (дословный перевод на русский — включить)! 🙂
Ну и нормальный антоним включения — shutdown (выключить). 🙂
… Чисто субъективно — циска не падает, если её не ронять.