'Server'에 해당되는 글 3건

  1. 2013.11.12 OSSEC Server, Client, Web UI and Analogi Dashboard Installation tutorial
  2. 2009.11.11 2009년 11월 마이크로소프트 보안 공지 발표
  3. 2009.08.05 서블릿 응답 헤더(Response Header)
2013. 11. 12. 19:50

OSSEC Server, Client, Web UI and Analogi Dashboard Installation tutorial

OSSEC is an Open Source Host-based Intrusion Detection System that performs log analysis, file integrity checking, policy monitoring, rootkit detection, real-time alerting and active response. It runs on most operating systems, including Linux, MacOS, Solaris, HP-UX, AIX and Windows. It also includes agentless monitoring for use with for example Cisco, HP or Juniper hardware.

This tutorial covers the installation of the OSSEC server, the standard OSSEC Web UI and the Analogi dashboard on Ubuntu 12.04. It also covers OSSEC setup with MySQL support, including a Makefile bugfix. Last but not least it shows you how to install the OSSEC agent on a *NIX system.

There is a new version of OSSEC, 2.8. There is also a new version of this tutorial, for the new OSSEC and for Ubuntu 14.04. Click here to read it.

This tutorial is written for an ubuntu 12.04 OSSEC server, but can be easily adapted to other *NIX operating systems. It only covers basic OSSEC client/server configuration, not automatic blocking or comprehensive configuration settings. It gets you started, the rest is available in the documentation: http://www.ossec.net/doc/

Steps

  • Installing development packages
  • Installing Apache, PHP and MySQL
  • Configuring MySQL
  • Compiling the OSSEC server
    • Makefile fix for Ubuntu
  • Basic OSSEC setup with MySQL
  • Installing OSSEC Web UI
  • Installing Analogi Web Dashboard

  • Installing and configuring a client

Requirements

  • An Ubuntu 12.04 server
  • Apache2, PHP, MySQL and development packages
  • OSSEC clients to monitor (*NIX or Windows machines, Cisco switches etc).

Installing development packages

OSSEC is installed from source, therefore you need development packages. This is both for the OSSEC clients as for the OSSEC server:

apt-get install build-essential make libssl-dev

Installing Apache, MySQL and PHP

This is fairly simple on Ubuntu. It is all covered with apt:

apt-get install mysql-server libmysqlclient-dev mysql-client apache2 php5 libapache2-mod-php5 php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl

Remember to give a strong root password for MySQL. Next finish MySQL with a secure installation:

mysql_secure_installation

Accept all the suggested options. Now restart all requires services:

/etc/init.d/apache2 restart
/etc/init.d/mysqld restart

Compiling the OSSEC server

Download and verify OSSEC, either via wget or from the website: http://www.ossec.net/?page_id=19

wget http://www.ossec.net/files/ossec-hids-2.7.tar.gz

md5sum ossec-hids-2.7.tar.gz
ossec-hids-2.7.tar.gz: 71cd21a20f22b8eafffa3b57250f0a70

From the OSSEC website:

MD5(ossec-hids-2.7.tar.gz)= 71cd21a20f22b8eafffa3b57250f0a70
SHA1(ossec-hids-2.7.tar.gz)= 721aa7649d5c1e37007b95a89e685af41a39da43

If it is correct, then extract it:

tar -xf ossec-hids-2.7.tar.gz
cd ossec-hids-2.7

We first need to fix MySQL support in the installation. Read on:

Makefile fix for Ubuntu

Because of some Ubuntu specific errors in compiling with MySQL support we need to edit the MySQL Makefile:

cd src
vim os_dbd/Makefile

Change this line:

${CC} ${CFLAGS} ${OS_LINK} ${DBFLAGS} ${CDB} ${LOCAL} ${OBJS} -o ${NAME}

To this:

 ${CC} ${CFLAGS} ${OS_LINK} ${DBFLAGS} ${LOCAL} ${OBJS} -o ${NAME} ${CDB}

This is only needed in Ubuntu, Debian works fine.

Run:

make setdb
Error: PostgreSQL client libraries not installed.
Info: Compiled with MySQL support.

Continue with the compilation/installation:

cd ../
./install.sh

  ** For installation in English, choose [en].
 OSSEC HIDS v2.7 Installation Script - http://www.ossec.net

 You are about to start the installation process of the OSSEC HIDS.
 You must have a C compiler pre-installed in your system.
 If you have any questions or comments, please send an e-mail
 to dcid@ossec.net (or daniel.cid@gmail.com).

  - System: Linux vps1.sparklingclouds.nl 3.2.0-042stab076.8
  - User: root
  - Host: vps1.sparklingclouds.nl
  -- Press ENTER to continue or Ctrl-C to abort. --
1- What kind of installation do you want (server, agent, local, hybrid or help)? server
  - Server installation chosen.

2- Setting up the installation environment.
 - Choose where to install the OSSEC HIDS [/var/ossec]:
    - Installation will be made at  /var/ossec .

3- Configuring the OSSEC HIDS.
  3.1- Do you want e-mail notification? (y/n) [y]:
   - What's your e-mail address? ossec@example.org
   - We found your SMTP server as: mail.raymii.org.
   - Do you want to use it? (y/n) [y]: y
   --- Using SMTP server:  mail.raymii.org.

  3.2- Do you want to run the integrity check daemon? (y/n) [y]:
   - Running syscheck (integrity check daemon).

  3.3- Do you want to run the rootkit detection engine? (y/n) [y]:
   - Running rootcheck (rootkit detection).

  3.4- Active response allows you to execute a specific
       command based on the events received. For example,
       you can block an IP address or disable access for
       a specific user.
       More information at:
       http://www.ossec.net/en/manual.html#active-response

   - Do you want to enable active response? (y/n) [y]:
     - Active response enabled.

   - By default, we can enable the host-deny and the
     firewall-drop responses. The first one will add
     a host to the /etc/hosts.deny and the second one
     will block the host on iptables (if linux) or on
     ipfilter (if Solaris, FreeBSD or NetBSD).
   - They can be used to stop SSHD brute force scans,
     portscans and some other forms of attacks. You can
     also add them to block on snort events, for example.

   - Do you want to enable the firewall-drop response? (y/n) [y]:
     - firewall-drop enabled (local) for levels >= 6

   - Default white list for the active response:
      - 205.185.112.68
      - 205.185.112.69
   - Do you want to add more IPs to the white list? (y/n)? [n]:

  3.5- Do you want to enable remote syslog (port 514 udp)? (y/n) [y]:
   - Remote syslog enabled.

  3.6- Setting the configuration to analyze the following logs:
    -- /var/log/messages
    -- /var/log/auth.log
    -- /var/log/syslog
    -- /var/log/mail.info
    -- /var/log/dpkg.log

 - If you want to monitor any other file, just change
   the ossec.conf and add a new localfile entry.
   Any questions about the configuration can be answered
   by visiting us online at http://www.ossec.net .
   --- Press ENTER to continue ---

5- Installing the system
 - Running the Makefile
INFO: Little endian set.

 *** Making zlib (by Jean-loup Gailly and Mark Adler)  ***
[...]
 *** Making os_xml ***
[...]
 *** Making os_regex ***
[...]
 *** Making os_net ***
[...]
 *** Making shared ***
[...]
 *** Making config ***
[...]
 *** Making os_maild ***
[...]
 *** Making os_dbd ***
[...]
 *** Making os_csyslogd ***
[...]
 *** Making agentlessd ***
[...]
 *** Making os_execd ***
[...]
 *** Making analysisd ***
[...]
 *** Making logcollector ***
[...]
 *** Making remoted ***
[...]
 *** Making client-agent ***
[...]
 *** Making addagent ***
[...]
 *** Making util ***
[...]
 *** Making rootcheck ***
[...]
 *** Making syscheckd ***
[...]
 *** Making monitord ***
[...]
 *** Making os_auth ***
[...]

 - System is Debian (Ubuntu or derivative).
 - Init script modified to start OSSEC HIDS during boot.
 - Configuration finished properly.
 - To start OSSEC HIDS:
                /var/ossec/bin/ossec-control start

 - To stop OSSEC HIDS:
                /var/ossec/bin/ossec-control stop

 - The configuration can be viewed or modified at /var/ossec/etc/ossec.conf
    Thanks for using the OSSEC HIDS.
    If you have any question, suggestion or if you find any bug,
    contact us at contact@ossec.net or using our public maillist at
    ossec-list@ossec.net
    ( http://www.ossec.net/main/support/ ).
    More information can be found at http://www.ossec.net
    ---  Press ENTER to finish (maybe more information below). ---

 - In order to connect agent and server, you need to add each agent to the server.
   Run the 'manage_agents' to add or remove them:

   /var/ossec/bin/manage_agents

   More information at:
   http://www.ossec.net/en/manual.html#ma

OSSEC is now installed. Restart it:

/var/ossec/bin/ossec-control restart

Continue to the next step for MySQL setup.

Configuring MySQL

We need to create a user and database for OSSEC. Go to a MySQL shell:

mysql -u root -p
Enter password:
[...]

mysql> create database ossec;
Query OK, 1 row affected (0.02 sec)

grant INSERT,SELECT,UPDATE,CREATE,DELETE,EXECUTE on ossec.* to ossec_u;
Query OK, 0 rows affected (0.00 sec)

set password for ossec_u = PASSWORD('Passw0rd');
Query OK, 1 row affected (0.01 sec)

flush privileges;
Query OK, 0 rows affected (0.00 sec)

quit;

The database also needs a schema. OSSEC provides a schema, it is located in the extracted OSSEC folder, src/os_dbd. Import it into MySQL:

mysql -u root -p ossec < src/os_dbd/mysql.schema

That's it for the database setup. Continue to see the OSSEC configuration.

OSSEC MySQL configuration

We have to add the database config to /var/ossec/etc/ossec.conf:

<ossec_config>
    <database_output>
        <hostname>127.0.0.1</hostname>
        <username>ossec_u</username>
        <password>Passw0rd</password>
        <database>ossec</database>
        <type>mysql</type>
    </database_output>
</ossec_config>

Save it, then enable the database in OSSEC:

/var/ossec/bin/ossec-control enable database
/var/ossec/bin/ossec-control restart 

Installing OSSEC Web UI

This is also quite simple. Because we've already set up Apache and PHP, we can just download the web UI and extract to /var/www/:

wget http://www.ossec.net/files/ossec-wui-0.8-beta-1.tar.gz
tar -xf ossec-wui-0.8-beta-1.tar.gz
mkdir /var/www/ossec/
mv ossec-wui-0.8-beta-1/* /var/www/ossec/
chown www-data:www-data /var/www/ossec/tmp/
chmod 666 /var/www/ossec/tmp

We use the web UI Beta because there are a lot of errors (like broken search) in the stable 0.3 version. We also set the correct permissions on the tmp/ folder. Afterwards the web ui is visible at http://hostname/ossec/.

Installing Analogi Web Dashboard

The Analogi dashboard is a nice and informative dashboard around OSSEC, which provides more visual information then the standard Web UI. The standard Web UI has better search functions, the Dashboard can be used for example on a Wall Mounted monitor and such.

Installation consists out of cloning the git repo and entering the settings file:

cd /var/www
git clone https://github.com/ECSC/analogi.git
cp analogi/db_ossec.php.new analogi/db_ossec.php
vim analogi/db_ossec.php        

Edit the relevant settings for the MySQL database configuration. When correctly configured the Analogi webinterface can be found at http://hostname/analogi/.

The OSSEC server is now correctly set up.

Client installation

Download and verify the OSSEC stable .tar.gz file as described above. This time, do an agent installation. See the output below:

root@testclient:~/ossec-hids-2.7# ./install.sh

  ** Para instalao em portugus, escolha [br].
  ** ,  [cn].
  ** Fur eine deutsche Installation wohlen Sie [de].
  **    ,  [el].
  ** For installation in English, choose [en].
  ** Para instalar en Espaol , eliga [es].
  ** Pour une installation en franais, choisissez [fr]
  ** A Magyar nyelv teleptshez vlassza [hu].
  ** Per l'installazione in Italiano, scegli [it].
  ** [jp].
  ** Voor installatie in het Nederlands, kies [nl].
  ** Aby instalowa w jzyku Polskim, wybierz [pl].
  **       , [ru].
  ** Za instalaciju na srpskom, izaberi [sr].
  ** Trke kurulum iin sein [tr].
  (en/br/cn/de/el/es/fr/hu/it/jp/nl/pl/ru/sr/tr) [en]:
 OSSEC HIDS v2.7 Installation Script - http://www.ossec.net

 You are about to start the installation process of the OSSEC HIDS.
 You must have a C compiler pre-installed in your system.
 If you have any questions or comments, please send an e-mail
 to dcid@ossec.net (or daniel.cid@gmail.com).

  - System: Linux testclient.raymii.nl 3.8.0-21-generic-pae
  - User: root
  - Host: testclient.raymii.nl

  -- Press ENTER to continue or Ctrl-C to abort. --

1- What kind of installation do you want (server, agent, local, hybrid or help)? agent
  - Agent(client) installation chosen.

2- Setting up the installation environment.
 - Choose where to install the OSSEC HIDS [/var/ossec]:
    - Installation will be made at  /var/ossec .

3- Configuring the OSSEC HIDS.
./install.sh: 372: ./install.sh: [[: not found

  3.2- Do you want to run the integrity check daemon? (y/n) [y]: y
   - Running syscheck (integrity check daemon).

  3.3- Do you want to run the rootkit detection engine? (y/n) [y]:
   - Running rootcheck (rootkit detection).

  3.4 - Do you want to enable active response? (y/n) [y]:

  3.5- Setting the configuration to analyze the following logs:
    -- /var/log/auth.log
    -- /var/log/syslog
    -- /var/log/dpkg.log

 - If you want to monitor any other file, just change
   the ossec.conf and add a new localfile entry.
   Any questions about the configuration can be answered
   by visiting us online at http://www.ossec.net .

   --- Press ENTER to continue ---

5- Installing the system
 - Running the Makefile
INFO: Little endian set.

Client OSSEC config

Adding a client to OSSEC is quite simple. First you add the client to the server, which gives you a key. Then you add this key to the client, edit the config file on the client and that's it.

First we need to generate a key on the OSSEC server for this client. We do this by running/var/ossec/bin/manage_agents, option A, then entering the hostname, IP and ID for the client we want to add. Do these steps on the OSSEC server!:

root@ossec:~# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.7 Agent manager.     *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: a

- Adding a new agent (use '\q' to return to the main menu).
  Please provide the following:
   * A name for the new agent: testclient
   * The IP Address of the new agent: 10.0.51.32
   * An ID for the new agent[001]:
Agent information:
   ID:001
   Name:testclient
   IP Address:10.0.51.32

Confirm adding it?(y/n): y
Agent added.

Now we find out the key for the OSSEC client:

root@ossec:~# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.7 Agent manager.     *
* The following options are available: *
****************************************
   (A)dd an agent (A).
   (E)xtract key for an agent (E).
   (L)ist already added agents (L).
   (R)emove an agent (R).
   (Q)uit.
Choose your action: A,E,L,R or Q: e

Available agents:
   ID: 001, Name: testclient, IP: 10.0.51.32
Provide the ID of the agent to extract the key (or '\q' to quit): 001

Agent key information for '001' is:
SD[...]AAUjd=

** Press ENTER to return to the main menu.

Then switch to the OSSEC client and execute the manage_agents:

root@ossec:~# /var/ossec/bin/manage_agents

****************************************
* OSSEC HIDS v2.7 Agent manager.     *
* The following options are available: *
****************************************
   (I)mport key from the server (I).
   (Q)uit.
Choose your action: I or Q: i

* Provide the Key generated by the server.
* The best approach is to cut and paste it.
*** OBS: Do not include spaces or new lines.

Paste it here (or '\q' to quit): SD[...]AAUjd=

Agent information:
   ID:001
   Name:testclient
   IP Address:10.0.51.32

Confirm adding it?(y/n): y
Added.
** Press ENTER to return to the main menu.

And then this needs to be in the /var/ossec/etc/ossec.conf file:

<client>
  <server-hostname>ossec.raymii.nl</server-hostname>
</client>

Where ossec.raymii.nl is your OSSEC server URL or IP.

Now restart the OSSEC agents:

/var/ossec/bin/ossec-control restart
Killing ossec-monitord ..
Killing ossec-logcollector ..
Killing ossec-remoted ..
Killing ossec-syscheckd ..
Killing ossec-analysisd ..
Killing ossec-maild ..
Killing ossec-execd ..
Killing ossec-dbd ..
ossec-agentlessd not running ..
OSSEC HIDS v2.7 Stopped
Starting OSSEC HIDS v2.7 (by Trend Micro Inc.)...
Started ossec-dbd...
Started ossec-agentlessd...
Started ossec-maild...
Started ossec-execd...
Started ossec-analysisd...
Started ossec-logcollector...
Started ossec-remoted...
Started ossec-syscheckd...
Started ossec-monitord...
Completed.

That's it. Repeat these steps for any client that needs to be added. There are both puppetfiles and chef cookbooks to manage this process.

Bonus Tips

Here are a few bonus tips/config examples for OSSEC:

Ignoring rules

To very simply ignore rules based on rule id, add them to the XML file located in/var/ossec/rules/local_rules/xml, either on the ossec client for one machine or the ossec server to ignore on all machines:

<!-- Specify here a list of rules to ignore. -->
<!-- 3334 postfix start  -->
<!-- 3333 postfix stop -->
<rule id="100030" level="0">
    <if_sid>3333, 3334</if_sid>
    <description>List of rules to be ignored.</description>
</rule>

Monitoring additional log files

The OSSEC agent by default only monitors a few log files. To add more, edit the/var/ossec/etc/ossec.conf file and add a line like this:

<localfile>
    <location>/var/log/*</location>
    <log_format>syslog</log_format>
</localfile>

This will add all files under /var/log. This might be a lot, you can also just add multiple<localfile> blocks with filenames.

Firewall

You need to allow UDP port 1514 between OSSEC server and clients. Otherwise you get errors like this:

2013/09/06 19:53:00 ossec-agentd: INFO: Using IPv4 for: 10.0.51.31 .
2013/09/06 19:53:21 ossec-agentd(4101): WARN: Waiting for server reply (not started). Tried: 'ossec.raymii.nl/10.0.51.31'.

Removing OSSEC

If you want to remove OSSEC, either the client or the server, read this tutorial. It covers all the steps required to uninstall OSSEC



출처 : raymii.org



Trackback 0 Comment 0
2009. 11. 11. 17:26

2009년 11월 마이크로소프트 보안 공지 발표

2009년 11월 11일 (수)에 발표된 마이크로소프트 보안 공지 발표 내용을 요약하여 제공합니다. 보안 공지는 월 단위로 발표되어 보안 취약점을 해결합니다.

================================================
신규 보안 공지
================================================

마이크로소프트는 새로 발견된 취약점에 대하여 다음과 같이 6개의 신규 보안 공지를 발표합니다.

MS09-063 (긴급) Windows Vista, Windows Server 2008
MS09-064 (긴급) Windows 2000 Server
MS09-065 (긴급) Windows 2000, Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008
MS09-066 (중요) Windows 2000 Server, Windows XP, Windows Server 2003, Windows Server 2008
MS09-067 (중요) Excel 2002, Excel 2003, Excel 2007, Mac용 Office 2004, Mac용 Office 2008, Mac용 Open XML 파일 포맷 변환기, Excel Viewer, Word, Excel, PowerPoint 2007 파일 포맷 호환 팩
MS09-068 (중요) Word 2002, Word 2003, Mac용 Office 2004, Mac용 Office 2008, Mac용 Open XML 파일 포맷 변환기, Word Viewer, Word Viewer 2003

위에 나열한 영향을 받는 소프트웨어 목록은 간단히 요약한 것입니다. 영향을 받는 구성 요소 전체 목록을 보려면 각 보안 공지를 열고 "영향을 받는 소프트웨어" 부분을 살펴보시기 바랍니다.


================================================
신규 보안 공지 요약 웹 페이지
================================================

신규 공지에 대한 요약은 다음 페이지에 있습니다.
http://www.microsoft.com/korea/technet/security/bulletin/MS09-nov.mspx


================================================
악성 소프트웨어 제거 도구
================================================

마이크로소프트는 Microsoft Windows 악성 소프트웨어 제거 도구의 업데이트된 버전을 Windows Server Update Services (WSUS), Windows Update (WU)와 다운로드 센터에서 제공합니다.
이 도구는 Software Update Services (SUS)를 통해서는 배포되지 않음을 주의하여 주십시오. Microsoft Windows 악성 소프트웨어 제거 도구에 대한 정보는 http://support.microsoft.com/kb/890830 에서 보실 수 있습니다.


================================================
보안 문제와 관계없지만 중요도가 높은 업데이트
================================================

마이크로소프트는 Microsoft Update (MU), Windows Update (WU), Windows Server Update Services (WSUS)를 통해 보안 문제와 관계없지만 중요도가 높은 업데이트를 발표합니다.
오늘 발표한 전체 업데이트의 목록은 다음 기술 자료에서 볼 수 있습니다.

2009년에 변경된 Software Update Services 및 Windows Server Update Services 내용에 대한 설명
http://support.microsoft.com/kb/894199


================================================
보안 공지 웹캐스트
================================================

마이크로소프트는 이번 공지에 대한 고객 질문에 답하는 웹캐스트를 진행합니다.

제목: Information about Microsoft November Security Bulletins
일시: 2009년 11월 12일 (목) 오전 4시 (한국 시각)
URL: http://msevents.microsoft.com/CUI/WebCastEventDetails.aspx?EventID=1032407490
주의: 모든 나라에서 동시에 참여할 수 있는 질의 응답이기 때문에 영어로 진행됩니다.


================================================
보안 공지 기술 세부 사항
================================================

아래 영향을 받는 소프트웨어와 영향을 받지 않는 소프트웨어 표에서, 나열되지 않은 소프트웨어는 지원 기간이 지난 제품입니다. 제품과 버전에 대한 지원 기간을 보려면 마이크로소프트 지원 기간 페이지

http://support.microsoft.com/lifecycle/ 를 참고하여 주십시오.


-------------------------------------------------
보안 공지 MS09-063
-------------------------------------------------

제목: Web Services on Devices API의 취약점으로 인한 원격 코드 실행 문제점 (973565)

요약: 이 보안 업데이트는 Windows 운영 체제의 WSDAPI (Web Services on Devices 응용 프로그래밍 인터페이스)에서 발견되어 비공개적으로 보고된 취약점 1건을 해결합니다.
영향을 받는 Windows 시스템에서 특수하게 조작된 패킷을 받을 경우 이 취약점으로 인해 원격 코드 실행이 허용될 수 있습니다. 로컬 서브넷에 있는 공격자만 이 취약점을 악용할 수 있습니다.
보안 업데이트는 WSD 메시지 헤더의 처리 방식을 수정하여 취약점을 해결합니다.

최대 심각도: 긴급

영향을 받는 소프트웨어:
- Windows Vista
- Windows Server 2008
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- Web Services on Devices API 메모리 손상 취약점 (CVE-2009-2512)

취약점으로 인한 영향: 원격 코드 실행

시스템 재시작: 보안 업데이트 적용 후 시스템을 재시작해야 합니다.

이번 업데이트로 대체되는 보안 공지: 없음

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-063.mspx

-------------------------------------------------
보안 공지 MS09-064
-------------------------------------------------

제목: 라이센스 로깅 서버의 취약점으로 인한 원격 코드 실행 문제점 (974783)

요약: 이 보안 업데이트는 Microsoft Windows 2000에서 발견되어 비공개적으로 보고된 취약점 1건을 해결합니다.
공격자가 특수하게 조작된 네트워크 메시지를 라이센스 로깅 서버를 실행하는 컴퓨터로 전송하면 이 취약점으로 인해 원격 코드 실행이 허용될 수 있습니다.
취약점 악용에 성공한 공격자는 영향을 받는 시스템을 완전히 제어할 수 있습니다.
보안 업데이트는 라이센스 로깅 서비스에서 RPC 패킷 내 특정 필드의 유효성을 검사하는 방식을 변경하여 취약점을 해결합니다.

최대 심각도: 긴급

영향을 받는 소프트웨어:
- Windows 2000
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- 라이센스 로깅 서버 힙 오버플로 취약점 (CVE-2009-2523)

취약점으로 인한 영향: 원격 코드 실행

시스템 재시작: 보안 업데이트 적용 후 시스템을 재시작해야 합니다.

이번 업데이트로 대체되는 보안 공지: 없음

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-064.mspx

-------------------------------------------------
보안 공지 MS09-065
-------------------------------------------------

제목: Windows 커널 모드 드라이버의 취약점으로 인한 원격 코드 실행 문제점 (969947)

요약: 이 보안 업데이트는 Windows 커널에서 발견되어 비공개적으로 보고된 여러 취약점을 해결합니다.
가장 위험한 취약점으로 인해 사용자가 특수하게 조작된 EOT(Embedded OpenType) 글꼴로 렌더링된 콘텐츠를 볼 경우 원격 코드 실행을 허용할 수 있습니다.
웹을 통한 공격의 경우 공격자는 이 취약점 악용 시도에 사용되는 특수하게 조작된 포함 글꼴을 포함한 웹 사이트를 호스팅해야 합니다.
또한 사용자가 제공한 콘텐츠를 허용하거나 호스팅하는 공격 당한 웹 사이트에는 이 취약점을 악용할 수 있는 특수하게 조작된 콘텐츠가 포함되어 있을 수 있습니다.
보안 업데이트는 시스템 호출에 전달된 인수의 유효성을 검사하고 GDI의 커널 구성 요소를 통해 사용자 모드에서 전달된 입력의 유효성을 검사하며
Windows 커널 모드 드라이버에서 글꼴 코드를 구문 분석하는 방식을 수정하여 취약점을 해결합니다.

최대 심각도: 긴급

영향을 받는 소프트웨어:
- Windows 2000
- Windows XP
- Windows Server 2003
- Windows Vista
- Windows Server 2008
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- Win32k NULL 포인터 역참조 취약점 (CVE-2009-1127)
- Win32k 불충분한 데이터 유효성 검사 취약점 (CVE-2009-2513)
- Win32k EOT 구문 분석 취약점 (CVE-2009-2514)

취약점으로 인한 영향: 원격 코드 실행, 권한 상승

시스템 재시작: 보안 업데이트 적용 후 시스템을 재시작해야 합니다.

이번 업데이트로 대체되는 보안 공지: MS09-025

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-065.mspx

-------------------------------------------------
보안 공지 MS09-066
-------------------------------------------------

제목: Active Directory의 취약점으로 인한 서비스 거부 문제점 (973309)

요약: 이 보안 업데이트는 Active Directory 디렉터리 서비스, ADAM(Active Directory Application Mode) 및 AD LDS(Active Directory Lightweight Directory Service)에서 발견되어
비공개적으로 보고된 취약점 1건을 해결합니다. 특정 유형의 LDAP 또는 LDAPS 요청을 실행하는 동안 스택 공간을 다 써버릴 경우 이 취약점으로 인해 서비스 거부가 발생할 수 있습니다.
이 취약점은 ADAM 또는 AD LDS를 실행하도록 구성된 도메인 컨트롤러와 시스템에만 영향을 줍니다. 보안 업데이트는 Active Directory,
ADAM 및 AD LDS에서 조작된 LDAP 또는 LDAPS 요청을 처리하는 방식을 변경하여 취약점을 해결합니다.

최대 심각도: 중요

영향을 받는 소프트웨어:
- Windows 2000 Server
- Windows XP
- Windows Server 2003
- Windows Server 2008
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- LSASS 재귀 스택 오버플로 취약점(CVE-2009-1928)

취약점으로 인한 영향: 서비스 거부

시스템 재시작: 보안 업데이트 적용 후 시스템을 재시작해야 합니다.

이번 업데이트로 대체되는 보안 공지: MS09-018, MS08-035

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-066.mspx

-------------------------------------------------
보안 공지 MS09-067
-------------------------------------------------

제목: Microsoft Office Excel의 취약점으로 인한 원격 코드 실행 문제점 (972652)

요약: 이 보안 업데이트는 Microsoft Office Excel에서 발견되어 비공개적으로 보고된 여러 취약점을 해결합니다.
사용자가 특수하게 조작된 Excel 파일을 열면 이러한 취약점으로 인해 원격 코드 실행이 허용될 수 있습니다.
업데이트는 Excel에서 Excel 파일을 열고 구문 분석하는 방식과 Excel에서 조작된 레코드를 처리하는 방식을 수정하여 취약점을 해결합니다.

최대 심각도: 중요

영향을 받는 소프트웨어:
- Excel 2002
- Excel 2003
- Excel 2007
- Mac용 Office 2004
- Mac용 Office 2008
- Mac용 Open XML 파일 포맷 변환기
- Excel Viewer
- Word, Excel, PowerPoint 2007 파일 포맷 호환 팩
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- Excel 캐시 메모리 손상 취약점 (CVE-2009-3127)
- Excel SxView 메모리 손상 취약점 (CVE-2009-3128)
- Excel Featheader 레코드 메모리 손상 취약점 (CVE-2009-3129)
- Excel 문서 구문 분석 힙 오버플로 취약점 (CVE-2009-3130)
- Excel 수식 구문 분석 메모리 손상 취약점 (CVE-2009-3131)
- Excel 인덱스 구문 분석 취약점 (CVE-2009-3132)
- Excel 문서 구문 분석 메모리 손상 취약점 (CVE-2009-3133)
- Excel 필드 삭제 취약점 (CVE-2009-3134)

취약점으로 인한 영향: 원격 코드 실행

시스템 재시작: 업데이트되는 대상 제품 버전에 따라 재시작이 필요할 수도 있습니다. 아래 링크에서 버전 별로 확인하십시오.

이번 업데이트로 대체되는 보안 공지: MS09-021

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-067.mspx

-------------------------------------------------
보안 공지 MS09-068
-------------------------------------------------

제목: Microsoft Office Word의 취약점으로 인한 원격 코드 실행 문제점 (976307)

요약: 이 보안 업데이트는 비공개적으로 보고된 취약점 1건을 해결합니다. 사용자가 특수하게 조작된 Word 파일을 열면 이러한 취약점으로 인해 원격 코드 실행이 허용될 수 있습니다.
이 취약점을 악용한 공격자는 영향을 받는 시스템을 완전히 제어할 수 있습니다. Microsoft Office Word에서 보안 업데이트는 특수하게 조작된 Word 파일을 여는 방식을 수정하여 취약점을 해결합니다.

최대 심각도: 중요

영향을 받는 소프트웨어:
- Word 2002
- Word 2003
- Mac용 Office 2004
- Mac용 Office 2008
- Mac용 Open XML 파일 포맷 변환기
- Word Viewer
- Word Viewer 2003
(아래 링크에서 영향을 받는 소프트웨어와 다운로드 위치를 확인하십시오)

취약점:
- Microsoft Office Word 파일 정보 메모리 손상 취약점 (CVE-2009-3135)

취약점으로 인한 영향: 원격 코드 실행

시스템 재시작: 업데이트되는 대상 제품 버전에 따라 재시작이 필요할 수도 있습니다. 아래 링크에서 버전 별로 확인하십시오.

이번 업데이트로 대체되는 보안 공지: MS09-027

상세 정보: http://www.microsoft.com/korea/technet/security/bulletin/MS09-068.mspx

=================================================
정보의 일관성
=================================================

본 메일과 웹 페이지를 통하여 가급적 정확한 내용을 제공하기 위하여 노력하고 있습니다. 웹에 게시된 보안 공지는 최신의 정보를 반영하기 위해 수정되는 경우가 있습니다.
이러한 이유로 본 메일의 정보와 웹 기반의 보안 공지 간에 내용이 불일치하는 일이 생긴다면, 웹에 게시된 보안 공지의 정보가 더 신뢰할 수 있는 정보입니다.


기술 지원은 지역번호 없이 전화 1577-9700을 통해 한국마이크로소프트 고객지원센터에서 받을 수 있습니다. 보안 업데이트와 관련된 기술 지원 통화는 무료입니다.

감사합니다.
한국마이크로소프트 고객지원부 보안팀

Trackback 0 Comment 0
2009. 8. 5. 13:54

서블릿 응답 헤더(Response Header)

서블릿에서 응답 헤더들을 설정하는 방법 - 응답헤더는 클라이언트에게 문서 내용을 한글자라도 보내기 전에 설정해야 한다.
 - 일반적으로 setHeader("","") 로 사용한다.
 - 서블릿 버전2.1에서는 헤더를 설정하면 바꿀수 없었다 같은 이름으로 헤더를 설정하더라도 이전것은 유지되면서 새로운 해더가 추가되는 형식이 였다. 하지만 서블릿 버전 2.2 에서는 setHeader를 같은 이름으로 하면 덮어쓰기 형식으로 지원하며, 같은 이름으로 추가는 addHeader("","")로 하면 된다.

 Accept-Range

 - HTTP1.1 에서 추가
 - 클라이언트가 보낸 Range요청헤더를 받아들 일 수 있는지의 여부를 뜻한다.
 - 받아들 일 수 있다면 byte 단위 지정 아니면 none을 지정한다.

 Age

 - HTTP1.1에서 추가
 - 프록시서버에서 사용하는 것으로 원래의서버가 문서를 만든 후 얼마만큼의 시간이 지났는지를 ...
 - Servlet에선 거의 사용하지 않는다.

 Allow

 - 서버가 지원하는 요청방법(GET,POST등)을 지정한다.
 - 상태코드가 405일 때에는 반드시 이 헤더를 설정해야 한다.
 - 서블릿의 기본 service메소드는 OPTIONS요청에 대해 이 헤더를 자동적으로 만든다.

 Cache-Control

 이것은 문서를 받은 클라이언트가 그 문서를 개시에 어떻게 저장해야 하는것인가를 지시하기 위한 헤더

1. public 
 - 다른 일반적인 규칙들을 위배하더라도문서를 캐시해도 좋다는 뜻.
2. private 
 - 문서를 한 명의 사용자에 대해서만 그리고 비공개(비공유)캐시에만 저장할 수 있다는 뜻.
3. no-cache
 - 문서를 캐시에 저장하지 말라는 뜻.
 - 브라우저는 일반적으로 양식데이터를 포함하는 요청에 대해서는 캐싱하지 않는다.
4. no-store
 - 문서를 캐시뿐만 아니라 다른 어떠한 임시적인 저장장소에도 저장해서는 안된다는 뜻.
 - 보안상 중요한 정보들을 이렇게 처리하자.!
5. must-revalidate
 - 클라이언트는 문서를 사용할 때마다 원래의 서버에 대해 문서의 유효성을 재확인해야 한다.
6. proxy-revalidate 
 - 공유 캐시에만 적용된다는 점만 제외한다면 must-revalidate와 동일하다.
7. max-age=xxx 
 - HTTP1.1 을 지원하는 클라이언트데서만 동작.
 - xxx초 이후에는 문서가 유효하지 않을 수 있다는 뜻.
 - 응답에 max-age왕 Expires모두 있다면 max-age가 우선
8.s-max-age=xxx
 - max-age와 동일하나 공유캐시에 적용되는 것이다.

 Connection

 - 연결방식에 대한 지시를 의미하는 헤더이다.
 - Connection: keep-alive 이면 영속적 연결이 쓰인다.(기본)
   단 Content-Length 응답헤더를 반드시 포함시켜야 한다.
 - 영속적 HTTP연결을 사용하지 않으려면 Connection을 close로 하기보단 Content-Length를 지정하지 않으면 된다.
 - 영속적 연결 자세히 보기

 Content-Encoding

 - 전송 과정 도중에 페이지가 어떻게 인코딩되어야 하는지를 지정한다.
 - 여기서 MIME 정보가 쓰인다.

 Content-Language

 - 문서가 어떤 언어로 쓰여져 있는지를 지정한다.

 Content-Length

 - 응답의 크기(바이트 개수)를 의미한다.
 - 영속적 연결 자세히 보기 에서 ByteArrayOutStream으로 바이트 개수를 알아낸 후 response.setContentLength를 이용해서 헤더에 설정한 후 바이트 스트림으로 writeTo메소드를 호출하는 것이다.
 - 바이트 개수를 얻어보자!

 Content-Location

 - HTTP1.1 에서 추가
 - 요청된 문서의 또 다른 주소를 제공하는데 쓰인다.

 Content-MD5

 Content-MD5 응답 헤더는 응답에 포함된 문서의 MD5 다이제스트를 제공한다.
 다이제스트(Digest)란? 문서전체가 제대로 전송되었다는걸 확인하기 위한 용도로 쓰인다.

 Content-Range

 - HTTP1.1 에서 추가
 - 문서의 일부분만을 전송할 때 어디서 어디까지의 문서가 전송되는 것인지를 알려주는 역할을 한다. 

 Content-Type

 - 헤더의 응답 문서의 MIME형식을 의미한다.

 Date

 - 현재 일시를 GMT형식으로 지정한 것이다.
 - response.setHeader("Date"."xxx") 로 설정한다
 - 대부분의 서버들은 이 헤더를 자동적으로 설정해 준다.!

 ETag

 - HTTP1.1 에서 추가 
 - 클라이언트가 나중에 참조할 때 사용할 이름을 문서에 부여하는 역할을 한다.

 Expires

 - 이 헤더는 문서가 캐시에 남아 있을 수 있는 유효 시간을 설정한다.
 - 10분이상 남아 있지 않도록 하는 예제
 long currentTime = System.currentTimeMillis();
 long termTime = 1000*60*10 // 10분 밀리초 단위로
 response.setDateHeader("Expires",currentTime+termTime);
 - Cache-Control 헤더의 max-age 와 동일한 기능

 Last-Modified

 - 문서가 마지막으로 수정된 일시를 의미한다.
 - getLastModified 를 이용해서 처리하자.!

 Location

 - 문서의 주소를 의미한다.
 - 상태코드가 300번 대이면 반드시 이 헤더를 포함시켜야 한다.

 Pragma

 - HTTP 1.0에서 no-cache로 설정하면, 브라우저는 문서를 캐시에 저장하지 않는다. 그러나 HTTP 1.0 브라우저에 따라서 이 헤더에 대한 반응 방식이 다를 수도 있다는 점을 주의해야 한다.
 - HTTP 1.1 에서는 Cache-Control:no-cache 쪽이 좀 더 신뢰할 수 있다.

 Refresh

 - 브라우저가 지정된 시간 이후에 문서를 자동적으로 다시 로딩하게 만드는데 쓰인다. 
 - 반복적인 재요청이 아니다.
 - response.setHeader("Refresh","5;URL=http://host/path");
 - 이 헤더는 HTTP 1.1의 공식 헤더가 아니지만, 넷스케이프와 익스플로러가 모두 지원하고 있어서 거의 공식적인 헤더라고 해도 무방하다. 

 Retry-After

 - 응답 상태 코드 503과 함께 쓰이는 것으로 얼마 후에 문서 요청을 다시 시도해야 하는지 알려주는 역할을 한다.

 Server

 - 웹서버 종류를 알려주는 헤더로 서블릿이 직접 설정하는일은 거의없다.

 Set-Cookie

 - 응답에 담긴 페이지와 연관된 하나의 쿠키를 설정한다.
 - 쿠키가 여러개면 그 개수 만큼의 Set-Cookie들을 설정한다.
 - response.setHeader("Set-Cookie",...) 보다는 response.addCookie를 사용하자!

Trailer

 - HTTP1.1 에서 추가 
 - "chunked" 전송 인코딩 방식으로 전송되는 메시지의 꼬리에 존재하는 헤더 필드들을 식별하기 위한 것이다.
 - 별로 사용되진 않는다.

Transfer-Encoding

 - "chunked" 전송 코딩을 사용할 때에는 이 헤더의 값을 chunked로 설정

Upgrade

 - 서버에게 몇 가지 새로운 프로토콜들 중 하나로 전환하자고 요청했을 때 사용한다.
 - 서블릿에서는 이 헤더를 사용하는 일이 거의 없다.

Vary

 - HTTP1.1 에서 추가 
 - 클라이언트가 응답 문서의 캐시 여부를 결정할 때 사용할 헤더 이름을 알려주는 역할을 한다.
 - 거의 쓰이진 않는다.

Via

 - HTTP1.1 에서 추가 
 - 게이트웨이나 프록시가 사용하는 것으로 요청이 통과한 중간 사이트들의 목록이 담긴다.

Waning

 - 캐시나 내용전송 과정의 오류등을 클라이언트에게 경고하는 역할
 - 거의 쓰이진 않는다.

WWW-Authenticate

 - 상태코드가 401이면 반드시 포함되는 헤더

@ 참고 및 주의 사항

1.            은 아직도 HTTP1.0 만을 지원하는 브자우저를 고려해서request.getRequestProtocol 로 HTTP1.1을 지원하는지를 체크해야 한다.

2. 공유캐시 : 프록시 서버에 있는 캐시 등을 의미


출처 : http://blog.naver.com/kazki7074


Trackback 0 Comment 0