Logo    
Деловая газета CitCity.ru CITKIT.ru - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

24.02.2017

Google
WWW CITForum.ru
С Новым годом!
2006 г.

Аудит в XML-формате

Арап Нанда

Источник: “Oracle Magazine/Русское издание”

Оригинал: Auditing in XML, By Arup Nanda. Oracle Magazine, January-February 2006

Создание журнала аудита в XML-формате

Один из краеугольных камней инфраструктуры системы безопасности в сервере Oracle Database – контролируемость (accountability): возможность регистрации действий пользователей в системе базы данных. Когда действия происходят (например, пользователь обновляет определенную таблицу), сервер базы данных регистрирует эти события в журнале аудита (audit trails), который может находиться либо в базе данных в специальной таблице AUD$ схемы SYS, либо в специальных файлах операционной системы (ОС). Когда эти данные хранятся в базе данных, они защищаются резервным копированием этой базы, и администратору базы данных легко запрашивать их, используя обычные операторы языка SQL. Однако в этом случае после совершения злонамеренного обновления любой, кто имеет доступ к схеме SYS, потенциально может стереть из журнала аудита соответствующие данные.

Журнал аудита в среде ОС принадлежит владельцу программного обеспечения сервера Oracle, поэтому его хранение в специальных файлах ОС – один из способов защиты от доступа пользователей с привилегиями SYS. Вы можете иметь отдельные учетные записи ОС для администраторов базы данных, которые позволяют им администрировать базу данных и даже они могут иметь привилегии SYSDBA, но эти привилегии не разрешают администраторам удалять или изменять файлы журнала аудита. Использование файлов журнала аудита в файловой системе (с аккуратным разграничением доступа на уровне ОС и базы данных) может удовлетворить требования по безопасности многих организаций.

Другое преимущество журнала аудита в среде ОС заключатся в его доступности, даже если экземпляр сервера базы данных не работает. Неудобство такого журнала состоит в том, что для его интерпретации необходимо анализировать файлы журнала аудита, используя инструменты, подходящие для этой ОС и формата файлов.

В сервере Oracle Database 10g Release 2 функциональные возможности аудита на уровне ОС были расширены – теперь в среде ОС можно создавать файлы журнала аудита в стандартном XML-формате. XML-документы легко распознаваемы, существует много инструментов (работающих во многих ОС) для чтения и форматирования этих документов, поэтому такие журналы аудита легко анализировать. Для облегчения запросов к содержимому этих журналов аудита есть также соответствующий SQL-интерфейс. В этой статье, я покажу, как настраивать журнал аудита в XML-формате и эффективно использовать его.

Начальная настройка

По умолчанию аудит в сервере Oracle Database 10g Release 2 не включен. Для его включения и записи данных аудита в XML-формате нужно только вставить в файл параметров инициализации следующую строку:
AUDIT_TRAIL = XML

Это – статический параметр, поэтому, чтобы он начал действовать, необходимо перезапустить экземпляр сервера базы данных.

Подготовим для этой статьи демонстрационные данные, выполнив с привилегиями SYSDBA следующие операторы:

SQL> CREATE USER bank IDENTIFIED BY bank;
SQL> GRANT CONNECT, RESOURCE TO bank;
SQL> CONNECT bank/bank
SQL> CREATE TABLE accounts (accno NUMBER);
SQL> GRANT SELECT ON accounts TO SCOTT;
SQL> INSERT INTO accounts VALUES (104);

Затем включим аудит созданной таблицы. Здесь мы хотим выполнять аудит всех, кто выбирает данные из таблицы ACCOUNTS (банковские счета), находящейся в схеме BANK (банк). Для этого выполним:

AUDIT SELECT ON bank.accounts;

Этот оператор может выполнить (и включить аудит этой таблицы) пользователь BANK (владелец таблицы) или любой другой пользователь с системной привилегией AUDIT ANY. После этого шага, когда любой пользователь, имеющий объектную привилегию SELECT на эту таблицу, выбирает из нее что-нибудь, этот факт регистрируется в журнале аудита. Например, если пользователь SCOTT подключается к системе базы данных и выбирает что-то из этой таблицы, выполняя:

CONNECT scott/tiger
...
SELECT * FROM bank.accounts WHERE accno = 104;

Этот оператор SELECT генерирует запись аудита. Параметр AUDIT_TRAIL имеет значение "XML", поэтому запись генерируется в XML-формате.

Файлы журнала аудита записываются в каталог, указанный в параметре инициализации AUDIT_FILE_DEST, значение по умолчанию которого –$ORACLE_BASE/admin/$ORACLE_SID/adump. Вы можете динамически изменить это местоположение, не перезапуская экземпляр сервера базы данных. Если вы хотите создавать эти файлы в другом каталоге, таком, например, как /audit_trail, выполните следующий оператор (как SYSDBA):

ALTER SYSTEM SET AUDIT_FILE_DEST = '/audit_trail' DEFERRED;

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

Проверка журнала аудита

Теперь, когда вы знаете, где генерируются записи аудита, вы можете проверить журнал аудита. Это будет XML-файл в каталоге, который указан в параметре инициализации AUDIT_FILE_DEST. Файл, сгенерированный выполненным действием (оператор SELECT), показан на листинге 1. Давайте рассмотрим, как интерпретировать его.
<?xml version="1.0" encoding="UTF-8" ?> 
<Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-10_2.xsd" xmlns:
xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/
oracleas/schema/dbserver_audittrail-10_2.xsd">
  <Version>10.2</Version> 
  <AuditRecord>
    <Audit_Type>1</Audit_Type> 
    <Session_Id>108802</Session_Id> 
    <StatementId>9</StatementId> 
    <EntryId>1</EntryId> 
    <Extended_Timestamp>2005-10-09T00:20:02.284327</Extended_Timestamp> 
    <DB_User>SCOTT</DB_User> 
    <OS_User>oracle</OS_User> 
    <Userhost>prolin1</Userhost> 
    <OS_Process>22158</OS_Process> 
    <Terminal>pts/3</Terminal> 
    <Instance_Number>0</Instance_Number> 
    <Object_Schema>BANK</Object_Schema> 
    <Object_Name>ACCOUNTS</Object_Name> 
    <Action>103</Action> 
    <Returncode>0</Returncode> 
    <Scn>6447392335</Scn> 
    <SesActions>---------S------</SesActions> 
  </AuditRecord>

</Audit>

Листинг 1. Журнал аудита в XML-формате.

Запись в журнал аудита осуществляется в обычном XML-стиле:

<Audit>
  <Audit_Record>
      <Audit_Type>... 
      <Session_Id>... 
      <StatementId>...
      <EntryId>...
      <Extended_Timestamp>... 
      <DB_User>... 
      <OS_User>... 
      <Userhost>... 
      <OS_Process>... 
      <Terminal>... 
      <Instance_Number>...
      <Object_Schema>... 
      <Object_Name>... 
      <Action>... 
      <Returncode>... 
      <Scn>... 
      <SesActions>... 
  </Audit_Record>

</Audit>

Запись аудита содержится внутри тегов <Audit_Record> и </Audit_Record> вместе со специальными тегами, показывающим детальную информацию, которая находится в записи. Например, тег <DB_User> показывает пользователя базы данных, который инициировал действие, сгенерировавшее эту запись. Если сеанс инициировал более одного действия, то в файле аудита будут показаны наборы деталей каждого действия, заключенные в теги <Audit_Record>.

Первый тег каждого набора – <Audit_Type>, который указывает тип записи аудита. На листинге 1 значение <Audit_Type> – 1, которое указывает на обычный аудит в XML-формате. Вы можете также использовать XML-формат для детального аудита, в этом случае тег покажет значение 2. Если вы включите аудит SYS-операций (по умолчанию аудит этих операций не выполняется), установив в параметре инициализации AUDIT_SYS_OPERATIONS значение TRUE, то этот тег покажет значение 4. Наконец, обязательные (mandatory) записи аудита в XML-формате показываются значением 8. Примеры обязательных записей аудита: записи о запуске и остановке экземпляра сервера базы данных, генерируемые независимо от значения параметра инициализации AUDIT_TRAIL. Все записи журнала аудита в XML-формате содержат этот тег; он помогает дифференцировать типы этих записей.

Следующий тег, <Session_Id>, показывает идентификатор сеанса (не системный идентификатор экземпляра сервера базы данных SID), который сгенерировал эту запись аудита. Обратите внимание, вы можете увидеть этот идентификатор в столбце AUDSID представления V$SESSION:

SELECT AUDSID
FROM V$SESSION
WHERE SID = <SID>;

В одном и том же сеансе пользователь мог выполнять множественные операторы, идентификатор каждого из которых показывается отдельным тегом <StatementId>. Время регистрации записи аудита показывается в теге <Extended_Timestamp>. Обратите внимание, на листинге 1 время регистрации: 2005-10-09T00:20:02.284327. Время показывается не в часовом поясе местного времени, а в поясе UTC (Universal Time Coordinated, универсальное синхронизированное время, также называемое среднем временем по Гринвичу (GMT)); поэтому формат отметки времени кажется странным.

Остальная часть тегов показывает пользователя, который выполнял действия, и другие существенные детали этих действий. Теги <DB_User>, <OS_User>, <Userhost>, <OS_Process>, <Terminal>, <Instance_Number>, <Object_Schema>, <Object_Name> и <Action> показывают соответственно имя пользователя базы данных, имя пользователя ОС, имя хост-машины, к которой подключен пользователь, идентификатор процесса ОС, идентификатор терминала пользователя, номер экземпляра, к которому подключен пользователь (в среде Oracle Real Application Clusters), владелец таблицы, с которой работает пользователь, имя этой таблицы и числовой код типа действия.

Действие, аудит которого показан на листинге 1, выполнилось успешно, поэтому тег кода возврата <Returncode> показывает значение 0. Обратите внимание, если бы это действие выполнилось неудачно, был бы показан номер ошибки сервера Oracle. Например, если бы вы попытались удалить несуществующую таблицу, вы получили бы ошибку ORA-00955 и тег <Returncode> показывал бы число 955.

Это успешное действие было выполнено, когда системный номер изменения SCN (system change number) был равен 6447392335, как показывает тег <Scn>. Это очень полезно в ретроспективных запросах для выяснения значений столбцов в определенный момент времени. Например, предположим, значение столбца BALANCE (остаток на счете) за прошедший период времени значительно изменилась. Как вы можете узнать точное значение, которое видел пользователь? Вы могли бы использовать ретроспективный запрос и увидеть значение столбца BALANCE , каким оно было во время этого SCN:

SELECT balance
FROM accounts 
AS OF SCN 6447392335
WHERE accno = 104;

Тег <SesActions> показывает действия, выполненные в сеансе. В теге содержится строка длиной 16 символов, из которых важными являются первые 12. Он показывает результат действий, выполненных пользователем; в каждой позиции показывается результат выполнения определенного действия: Alter (изменение), Audit (аудит), Comment (примечание), Delete (удаление), Grant (предоставление), Index (индексирование), Insert (вставка), Lock (блокирование), Rename (переименование), Select (выборка), Update (обновление) и Flashback (ретроспективная операция).

Например, на листинге 1 значение тега <SesActions> – "----------S------", где S (Success) в 10-й позиции указывает на успешное выполнение действия SELECT. Это означает, что пользователь SCOTT выполнил в сеансе одно или более успешных действий SELECT и больше никаких других действий, подлежащих аудиту.

Если пользователь SCOTT также выполнил бы в этом сеансе успешное действие ALTER, в первой позиции вместо "-" появилась бы буква S. Если бы при выполнении показанного выше оператора SELECT произошел сбой, то в 10-й позиции вместо буквы S появилась бы буква F (Failure). Если бы пользователь SCOTT выполнил более одного оператора SELECT, и при выполнении некоторых из них происходили сбои, тогда как другие были выполнены успешно, то 10-й позиции появилась бы буква B (Both), указывая как на успешное, так и на неуспешное выполнение действий.

Расширенный аудит

Запись аудита на листинге 1 показывает действие (оператор SELECT) и объект, над которым было выполнено это действие (таблица ACCOUNTS). Однако она не показывает сам SQL-оператор, который выполнил пользователь SCOTT. В механизме аудита есть также средства расширения его функциональных возможностей, позволяющие записывать текст этих SQL-операторов. Для их включения установите в файле параметров инициализации следующий параметр и перезапустите экземпляр сервера базы данных.
AUDIT_TRAIL = XML, EXTENDED

После включения расширенного аудита пользователь SCOTT выполнил другой оператор SELECT:

SELECT * FROM accounts WHERE accno = :i;

Сгенерированный XML-файл показан на листинге 2. Он содержит два дополнительных элемента, которые не входили в файл обычного аудита, показанный на листинге 1:

  • <Sql_Bind>#1(3):107</Sql_Bind>
и
  • <Sql_Text>select * from bank.accounts where accno = :i</Sql_Text>.
<?xml version="1.0" encoding="UTF-8" ?> 
<Audit xmlns="http://xmlns.oracle.com/oracleas/schema/dbserver_audittrail-10_2.xsd" xmlns:
xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.oracle.com/
oracleas/schema/dbserver_audittrail-10_2.xsd">
  <Version>10.2</Version> 
  <AuditRecord>

    <Audit_Type>1</Audit_Type> 
    <Session_Id>108844</Session_Id> 
    <StatementId>10</StatementId> 
    <EntryId>1</EntryId> 
    <Extended_Timestamp>2005-10-10T18:26:18.720548</Extended_Timestamp> 
    <DB_User>SCOTT</DB_User> 
    <OS_User>oracle</OS_User> 
    <Userhost>prolin1</Userhost> 
    <OS_Process>22584</OS_Process> 
    <Terminal>pts/3</Terminal> 
    <Instance_Number>0</Instance_Number> 
    <Object_Schema>BANK</Object_Schema> 
    <Object_Name>ACCOUNTS</Object_Name> 
    <Action>103</Action> 
    <Returncode>0</Returncode> 
    <Scn>6447496045</Scn> 
    <SesActions>---------S------</SesActions> 
    <Sql_Bind>#1(3):107</Sql_Bind> 
    <Sql_Text>select * from bank.accounts where accno = :i</Sql_Text> 
  </AuditRecord>

</Audit>

<Sql_Bind>#1(3):107</Sql_Bind> 
<Sql_Text>select * from bank.accounts where accno = :i</Sql_Text>

Листинг 2. Расширенный XML-формат.

Тег <Sql_Text> показывает текст фактического SQL-оператора, выполненного пользователем SCOTT. В этом конкретном SQL-операторе есть переменная связывания (:i). Значение этой переменной показывается в теге <Sql_Bind> в формате #ПозицияПеременной(ДлинаЗначенияПеременной): ЗначениеПеременнойСвязывания. Листинг 2 показывает, что есть только одна переменная связывания (#1), длина ее значения равна трем символам (3), а значение – 107. Использование расширенного XML-аудита позволяет регистрировать SQL-операторы и использованные значения переменных связывания.

Обратите внимание, расширенный XML-аудит зафиксировал только тот SQL-оператор, который пользователь SCOTT выполнил после установки параметра AUDIT_TRAIL=XML, EXTENDED и перезапуска экземпляра сервера базы данных. Результаты XML-аудита, показанные на листингах 1 и 2, получены в разных сеансах.

Просмотр файлов аудита в реляционном представлении

XML-файлы, записанные средствами аудита, – обычные файлы ОС, которые можно рассматривать любой программой просмотра XML-документов, но вы можете пожалеть о старом знакомом журнале аудита в таблице базы данных, с которым можно было работать, используя SQL-операторы. Не беспокойтесь, вы по-прежнему можете использовать обычный SQL для выполнения запросов к данным, записанным в XML-файлы журнала аудита. Содержимое этих файлов показывает новое представление словаря данных V$XML_AUDIT_TRAIL. Для того чтобы увидеть информацию аудита, вы можете выбрать все столбцы этого представления:

SELECT * FROM

V$XML_AUDIT_TRAIL;

Результат этого запроса для облегчения просмотра показан на листинге 3 в вертикальном формате. Обратите внимание, если бы были множественные записи XML-аудита, вы видели бы в этом представлении одну запись для каждой записи XML-аудита. Имена всех столбцов представления совпадают с именами тегов в XML-файле журнала аудита; например, тег <DB_User> в файле показывается в представлении как столбец DB_USER. Отметка времени показывается в столбце EXTENDED_TIMESTAMP, но время показывается в часовом поясе местного времени, а не в поясе UTC, как в файле XML-аудита. Столбцы, которые не заполнены в XML-файле, имеют в представлении значение NULL.

SELECT * FROM 
V$XML_AUDIT_TRAIL;

AUDIT_TYPE                  	: 1
SESSION_ID                  	: 108844
PROXY_SESSIONID       	      	: 0
STATEMENTID                 	: 10
ENTRYID                       	: 1
EXTENDED_TIMESTAMP      	        : 10-OCT-05 06.26.18.720548 PM -04:00
GLOBAL_UID             	      	:
DB_USER                     	: SCOTT
CLIENTIDENTIFIER          	   	:   	
EXT_NAME                    	:
OS_USER                     	: oracle
OS_HOST                     	: prolin1
OS_PROCESS                 	   	: 22584
TERMINAL                    	: pts/3
INSTANCE_NUMBER          	   	: 0
OBJECT_SCHEMA           	        : BANK
OBJECT_NAME             	   	: ACCOUNTS
POLICY_NAME               	   	:
NEW_OWNER                 	   	:
NEW_NAME                   	   	:
ACTION                      	: 103
STATEMENT_TYPE            	   	: 0
TRANSACTIONID             	   	:
RETURNCODE                	   	: 0
SCN                           	: 6447496045
COMMENT_TEXT             	   	:
AUTH_PRIVILEGES        	        :
GRANTEE                     	:
PRIV_USED                  	   	: 0
SES_ACTIONS                	   	: ---------S------
OS_PRIVILEGE              	   	:
ECONTEXT_ID             	   	:
SQL_BIND                    	:  #1(3):107
SQL_TEXT                     	: select * from bank.accounts where accno = :i

Листинг 3. Содержимое V$XML_AUDIT_TRAIL

Дополнительная защита

Естественно, для повышения контролируемости, вы хотите "уплотнить" защиту инфраструктуры аудита. Вышеизложенная процедура начальной установки имеет одну потенциальную проблему – любой, имеющий системную привилегию выполнения поставляемого пакета UTL_FILE, может удалить файл журнала аудита из файловой системы ОС, используя процедуру FREMOVE. Чтобы снизить этот риск, вы можете ограничить эти возможности:
  • аннулировав эту привилегию у группы пользователей PUBLIC;
  • аннулировав системную привилегию CREATE DIRECTORY у группы пользователей PUBLIC.

Первый вариант – несколько радикальный, но он представляет собой надежный способ снижения риска. Второй вариант является, вероятно, более практичным. Для удаления этого файла пользователи должны иметь доступ к данному каталогу ОС или возможность создания объектов базы данных типа DIRECTORY (каталог). Если вы у группы пользователей PUBLIC отзовете системную привилегию CREATE DIRECTORY, то только пользователи с ролью DBA смогут создавать каталоги в том каталоге ОС, в котором находится журнал аудита, но не обычные пользователи. Если они не могут создать каталог, они не смогут и удалить файл, используя пакет UTL_FILE. В любом случае, в методах передовой практики считается, что системную привилегию CREATE DIRECTORY следует отозвать у группы пользователей PUBLIC.

Пользователь ОС, который владеет программным обеспечением Oracle, владеет и файлами XML-аудита, поэтому любой, кто имеет права доступа к серверу и к этой учетной записи пользователя ОС, может удалить эти файлы. Тем не менее, ограничивая привилегии, вы можете добиться приемлемого уровня безопасности.

В сервере Oracle предлагается и другой тип аудита. При этом аудите журнал аудита пишется в системные журналы ОС (system logs, syslogs), которые принадлежат привилегированному пользователю (такому, как "root" в ОС UNIX) и не могут удаляться другими пользователями, включая владельца программного обеспечения Oracle.

Системные журналы

Вышеприведенные варианты не будут работать, если владелец программного обеспечения сервера базы данных, обычно пользователь "oracle", решит удалить все записи в этих файлах XML-аудита. Чтобы дополнительно защитить их, вы можете использовать утилиту (систему) syslog. Эта система записывает сообщения в специальный файл, принадлежащий привилегированному пользователю ОС (пользователь "root"), поэтому никакой другой пользователь не сможет удалить его. Вы можете установить параметры инициализации так, чтобы журнал аудита записывался системой syslog:
AUDIT_TRAIL=OS
AUDIT_SYSLOG_LEVEL=USER.ALERT

Теперь после перезапуска экземпляра сервера базы данных все записи аудита будут записываться системой syslog в соответствии с установленным средством (источником сообщений) – facility – (kernel (ядро ОС), user (пользовательские процессы) и так далее) и определенным уровнем серьезности сообщений – level – (таким, как notice (необычные состояния), warning (предупреждения), err (состояния ошибок) и так далее). Вторая строка показанного выше кода указывает, что записи аудита записываются с установленными средством user и уровнем alert (срочные ситуации). Если вы не укажете ничего больше, то эти записи аудита будут поступать в файл сообщений сервера по умолчанию – обычно в сервере Linux это файл /var/log/messages. Однако в этот файл поступают все сообщения, включая и сообщения самой ОС, поэтому вы можете создать другой файл только для целей аудита, скажем, audit.log. Укажите местоположение этого файла для данного средства в конфигурационном файле системы syslog, обычно находящимся в/etc/syslog.conf:

user.alert /var/log/audit.log

Эта строка указывает, что сообщения средства user на уровне alert должны поступать в файл /var/log/audit.log. Теперь перезапустите процесс системы syslog. Фактическая команда зависит от системы, ваш системный администратор должен применять правильную команду. В ОС UNIX как пользователь "root" выполните команду:

/etc/init.d/syslog restart

Она перезапустит процесс системы syslog, который будет писать сообщения средства user на уровне alert в файл /var/log/audit.log file. После этого, когда пользователь выполнит запрос к таблице ACCOUNTS, в этом файле появится следующая строка:

Oct 13 01:26:55 oradba Oracle Audit[28955]: SESSIONID: "25386" 
ENTRYID: "1" STATEMENT: "8" USERID: "SCOTT" USERHOST: "prolin1" 
TERMINAL: "pts/2" ACTION: "103" RETURNCODE: "0" OBJ$CREATOR: "ARUP" OBJ$NAME: 
"ACCOUNTS" SES$ACTIONS: "---------S------" 
SES$TID: "76564" OS$USERID: "oracle"

К сожалению, она не в XML-формате, но действия вполне понятны. Этот файл принадлежит пользователю root, поэтому пользователь oracle не сможет удалить или изменить его, что обеспечивает очень хорошую защиту.

Заключение

Журнал аудита в XML-формате в сервере Oracle Database 10g Release 2 позволяет вам без необходимости выбора иметь и то и другое – журнал аудита, отделенный от базы данных для усиления защиты от несанкционированного доступа, и тот же самый знакомый SQL-интерфейс для выполнения запросов к данным, который повышает продуктивность работы. Это очень полезно для обеспечения соблюдения многих законов и требований по безопасности. Вы можете использовать общедоступные программы просмотра XML-документов, разработанные сторонними производителями, и вы (или, возможно, специалисты отдела, который обязан контролировать вашу команду, но не имеющий возможности использовать SQL) можете использовать XML-анализаторы с таблицами стилей, позволяющие создавать заказные отчеты по файлам журнала аудита.

Дополнительно ИЗУЧАЙТЕ средства аудита:
Oracle Database Security Guide
Oracle Database Concepts (глава 20)
Oracle Database Reference
Oracle Database SQL Reference
oracle.com/technology/documentation


Арап Нанда(Arup Nanda) (arup@proligence.com) – администратор баз данных Oracle с 1993 г. Он занимается всеми аспектами администрирования – от оптимизации производительности до информационной безопасности и аварийного восстановления. Арап – соавтор книги "PL/SQL for DBAs" (O'Reilly Media). В 2003 г. он был удостоен награды журнала Oracle Magazine "Oracle's DBA of the Year" (администратор года баз данных Oracle).

Размещение рекламы — тел. +7 495 4119920, ICQ 232284597

Подписка на новости IT-портала CITForum.ru
(библиотека, CITKIT.ru, CitCity)

Новые публикации:

24 декабря

CITKIT.ru:

  • Новогодние поздравления
  • Сергей Кузнецов. Цикл Операционные системы: Ностальгия по будущему:

  • Алексей Федорчук. OpenSolaris 2008.11 Release

  • Сергей Голубев:

  • Евгений Чайкин aka StraNNik (Блогометки):

    17 декабря

  • С.Д.Кузнецов. Базы данных. Вводный курс

    10 декабря

    CITKIT.ru:

  • OpenSolaris 2008.11 Release

  • Альтернативные ОС: две грустные истории (С.Кузнецов)
  • Nokia N810 — доведение до ума
  • CitCity:

  • Платформа 2009: заоблачные перспективы Microsoft

    4 декабря

  • Лекция С.Д.Кузнецова Понятие модели данных. Обзор разновидностей моделей данных

    CITKIT.ru:

  • OpenSolaris 2008.11 Release. Первые впечатления

  • Linux vs FreeBSD: продолжим "Священные войны"?

  • Nokia N810 as is

  • Индульгенция для FOSS

  • Друзья СПО'2008

    26 ноября

  • Нечеткое сравнение коллекций: семантический и алгоритмический аспекты

    CitCity:

    CITKIT.ru:

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • 19 ноября

  • Проблемы экономики производства крупных программных продуктов

  • Язык модификации данных формата XML функциональными методами

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Заметки к книге:

  • FreeBSD: монтирование сменных устройств и механизм HAL
  • Текстовый редактор ee

    12 ноября

  • Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правила (Гоц Грейф, перевод: Сергей Кузнецов)

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:
  • OSS в России: взгляд правоведа (В.Житомирский)

  • Новая статья из цикла С.Голубева "Железный марш":

    29 октября

  • О некоторых задачах обратной инженерии

  • Веб-сервисы и Ruby

  • Тестирование web-приложений с помощью Ruby

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

  • PuppyRus Linux - беседа с разработчиком (С.Голубев)

  • Сергей Кузнецов. Заметка не про Linux

    22 октября

  • Обзор методов описания встраиваемой аппаратуры и построения инструментария кросс-разработки

    CITKIT.ru:

  • Сергей Кузнецов. Почему я равнодушен к Linux

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • Что надо иметь
    3. Базовые познания

    CitCity:

  • Управление IT-инфраструктурой на основе продуктов Microsoft

    15 октября

  • Методы бикластеризации для анализа интернет-данных

    CitCity:

  • Разъемы на ноутбуках: что они дают и зачем их так много?
  • AMD Puma и Intel Centrino 2: кто лучше?

    CITKIT.ru:

  • Новый цикл статей С.Голубева
    Железный марш:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    8 октября

  • Автоматизация тестирования web-приложений, основанных на скриптовых языках
  • Опыт применения технологии Azov для тестирования библиотеки Qt3

    Обзоры журнала Computer:

  • SOA с гарантией качества
  • Пикоджоуль ватт бережет
  • ICT и всемирное развитие

    CitCity:

  • Пиррова победа корпорации Microsoft

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Статья из архива:

  • Я живу в FreeBSD (Вадим Колонцов)

    Новые Блогометки:

  • Перекройка шаблона Blogger или N шагов к настоящему
  • Blogger. Comment style
  • Screenie или глянцевый снимок экрана

    2 октября

    CITKIT.ru:

  • Сага о FreeBSD (А. Федорчук)

    Zenwalk: пакет недели

  • Банинг — интеллектуальное развлечение (С.Голубев)

    CitCity:

    25 сентября

  • Клермонтский отчет об исследованиях в области баз данных

    CITKIT.ru:

  • Пользователям просьба не беспокоиться... (В.Попов)

  • Снова про ZFS: диск хорошо, а два лучше
  • Командная оболочка tcsh (А.Федорчук)

    Zenwalk: пакет недели

    17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности

    CITKIT.ru:

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)

    Zenwalk: пакет недели

  • Дачнет — практика без теории (С.Голубев)

    10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)

    CITKIT.ru:

  • Microsoft: ответный "боян" (С.Голубев)

  • Причуды симбиоза, или снова "сделай сам" (В.Попов)

  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)

    Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701

    3 сентября

    CITKIT.ru:

  • Заметки о ядре (А.Федорчук):

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol

  • Лекция для начинающего линуксоида (С.Голубев)

    26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Открыт новый проект Zenwalk: пакет недели

  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?

    21 августа

    CITKIT.ru:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым

  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)

  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1

  • Книга Zenwalk. Приобщение к Linux:

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville

  • iPhone - год спустя. Скоро и в России?

    CITKIT.ru:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)

    6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)

  • И снова про шрифты в Иксах (А.Федорчук)

  • 20 самых быстрых и простых оконных менеджеров для Linux

  • Дело о трех миллиардах (С.Голубев)

    30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)

    CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки

    CITKIT.ru:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки

    23 июля

    CITKIT.ru:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel

  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")

  • Нормально, Григорий...

    16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники

    CITKIT.ru:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")

  • Есть ли будущее у KDE?

  • Linux в школе: альтернативный вариант в задачах

  • Шифр (приключения агента Никодима)

    10 июля

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины

  • ZUR (Zenwalk User Repository) FAQ

    2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции

  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk

  • Linux в школе: первые итоги (С. Голубев)

    25 июня

    CITKIT.ru:

  • Zenwalk. Приобщение к Linux (А. Федорчук)

  • Логика и риторика (С.Голубев)

  • Технология Tru64 AdvFS

  • Ханс Райзер предлагает отвести полицейских к телу Нины

    18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)

  • Linux в школе: другие дистрибутивы

  • Пинок (С. Голубев)

    4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)

    CITKIT.ru:

  • Linux в школе: слово заинтересованным лицам

  • SlackBuild: пакеты своими руками

  • Linux от компании Novell. Установка и обзор openSUSE Linux

    Все публикации >>>




  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей PR-акции, размещение рекламы — тел. +7 495 4119920, ICQ 232284597 Пресс-релизы — pr@citcity.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 TopList liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня This Web server launched on February 24, 1997
    Copyright © 1997-2000 CIT, © 2001-2007 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...