이번에는 IBM 한국 DeveloperWorks의 Linux  관련 자료 중에서 괜찮은 글을 발견했습니다. 물론 부담없이 읽을 수 있는 한글로된 문서입니다. :)
[리눅스 철통 보안]이라는 제목의 2회 연재분량의 글입니다. 원래 Part 1만 나왔을때 소개하려다가 2회 연재가 끝나길 기다렸다가 이제야 소개하게 되었습니다.
Part 1 : 쉘 제거하기(한글)
Part 2 : 서명된 바이너리만 실행하기(한글)

1. Part 1에서는 리눅스의 자유로운 맞춤 설정 기능을 통제해야 하는 이유을 알려주고 가짜 사용자가 기본 설치 상태를 바꾸는 것을 막기 위해 표준 리눅스 배포판을 잠그는 조심스러운 첫 걸음을 뗄 것이다. 이 1단계 작업은 이 연재 Part 2의 기초 작업으로 서명된 바이너리만 사용할 수 있게 강제하는 커널을 빌드함으로써 잠금 과정을 마무리한다.

 - 대규모 리눅스 시스템을 지원할 때 고려해야 하는 보안 문제와 위험과 비용을 최소화하는 법을 배운다.
 - 기본 시스템이 변경되는 것을 막기 위해 하드웨어와 펌웨어를 셋업하는 법을 살펴본다.
 - 사용자가 승인되지 않은 코드를 보안 환경에서 실행하는 위험을 최소화하기 위해 표준 리눅스 인터프리터를 제거한다.
 - 감사와 승인을 하지 않은 애플리케이션을 끼워넣을 수 없는 산업 등급의 보안을 갖춘 리눅스 배포판을 설정한다.

2. Part 2에서는 리눅스의 자유로운 맞춤 설정 기능을 통제해야 하는 이유를 알려주고 가짜 사용자가 기본 설치 상태를 바꾸는 것을 막기 위해 표준 리눅스 배포판을 잠그는 법을 다룬 Part 1의 내용을 확장한다. Part 2에서는 여러분이 지원하는 각 머신에서 서명된 바이너리만 사용할 수 있도록 하는 커널을 만들어 철통 보안 과정을 마무리한다.

 - 대규모 리눅스 머신 설치 유지 보수에서 인증된 실행 파일만 실행하도록 특별히 만들어진 커널을 운영하는 데 필요한 관리 문제와 과정을 배우게 될 것이다. 각각의 실행 파일은 Part1에서 다룬 기본적인 철통 보안 프로세스에서 설정됐다.
 - 시스템을 유지하는 데 필요한 암호화 된 데이터를 관리하는 방법을 다룰 것이고, 마지막으로 관리되지 않은 실행 파일이 안전한 환경에서 실행되지 않도록 막는 방법을 다룰 것이다.
 - 개인적으로 감사(audit) 및 승인하지 않은 애플리케이션을 끼워 넣을 수 없는, 산업 등급의 보안을 갖춘 리눅스 시스템을 설정할 수 있을 것이다.


 이 글의 저자는 망가뜨려도 상관 없는 오래 된 리눅스 컴퓨터가 필요하다고 얘기하고 있습니다. 따라서 기나긴 리눅스 설정 삽질을 시작할때와 마찬가지로 중요한 데이터는 꼭 Backup 하시길 바랍니다.
 되도록이면 보조 PC나 테스트 장비 등에서 시험해보는게 좋을것 같네요.

 다음에 여분의 PC가 생기면 한번 시도해 봐야겠습니다.
근데 이렇게 해놓으면 관리자도 불편해하지 않을까합니다...
걍  한번 시도해보는걸로 만족하렵니다. :)
생각해보니 전산실에서 구형 서버라도 한대 빌려서 해보면 될것 같네요. 근데 구형 장비가 남아있으려나...
 오라클에서 무료로 배포하는 Oracle SQL Developer 1.2 버전[각주:1]의 Tutorial입니다.

 SQL Developer 1.2버전은 꽤 쓸만합니다. 1.1버전부터는 MySQL, MS-SQL에 접속할 수 있습니다. MySQL에 접속하려면 Mysql Homepage에서 Connect/J를 다운받아서 [SQL Developer가 설치된 디렉토리]/jdk/jre/lib/ext/에 복사한뒤에 사용하면 됩니다.
또한 Linux, Mac OSX, MS Windows 등의 운영체제에서 사용가능합니다.


 Online tutorial이며 http://st-curriculum.oracle.com/tutorial/SQLDeveloper/index.htm에서 볼 수 있으며 다운로드도 가능합니다.


단점이라면 영문이라는 거!!!
영어 공부 해야겠습니다.
아래는 튜토리얼 첫화면의 환영 문구입니다.

Welcome to the Oracle SQL Developer Tutorial!

This tutorial prepares a developer to use Oracle SQL Developer to perform common database development tasks. This tutorial was developed using Oracle SQL Developer 1.2.

After taking this tutorial, you should be able to:

Install Oracle SQL Developer
Create a Database Connection
Manage Database Objects
Access and Manipulate Data
Add, edit and debug PL/SQL Components


  1. Oracle에서 무료로 배포하는 DB 개발툴입니다. OTN에서 다운로드 받을 수 있습니다.
    1.1버전부터는 Oracle 이외에 MS-SQL, MySQL에도 접근할 수 있습니다. 이기종 DBMS에서는 아직 쓸만한거 같지는 않습니다. :)
    Oracle DBMS 개발용도로는 좋습니다. 1.2 버전에서는 Migration 관련 기능도 있구요.
    SQL Developer 1.2 Download (OTN 계정이 있어야  다운로드 받을 수 있습니다.)
    SQL Developer Homepage [본문으로]
 Forcs homepage의 Q&A 게시판에서 찾은 내용입니다.

오즈 리포트 인쇄 화면/미리보기 화면 로딩중에 메모리가 부족해서 중지되는 현상이 발생할때의 대처법입니다. 아직 적용해보지는 않아서 잘 될지는 모르지만, 오즈 리포트를 제작한 곳의 답변이니 신뢰성이 있을거라 생각합니다.

안녕하세요 포시에스입니다.

아래 태그를 보고서 호출하는 부분에 넣어주세요..

[param name="connection.pageque" value="-10"]
[param name="connection.serverdmtype" value="FILE"]
[param name="connection.fetchtype" value="CONCURRENT"]
[param name="connection.clientdmtype" value="FILE"]

넣어주신후에 확인후 연락바랍니다.

수고하세요...

[부가내용]

* connection.pageque .
value = "정수값 default : -1"
"바인딩이 완료된 보고서 중 메모리에 올릴 페이지 숫자를 설정합니다. 지정된 숫자만큼만
메모리에 가지고 있으며 나머지는 페이지별로 파일에 저장하고 해당 페이지 호출시 메모리로
로드됩니다."

* connection.serverdmtype
value = "FILE/MEMORY default:MEMORY"
"오즈뷰어에서 오즈 서버에 보고서의 데이터 모듈을 요청할 때 오즈 서버가 데이터 모듈 생성
작업을 메모리를 이용할 것인지 파일을 이용할 것인지를 선택합니다. 대용량 데이터의 경우
파일을 이용하면 서버의 메모리 사용량을 줄일 수 있습니다."

* connection.fetchtype
value = "BATCH/CONCURRNET default:batch"
"오즈뷰어에서 오즈 서버에 보고서의 데이터 모듈을 요청할 때 오즈 서버가 데이터 모듈을 어떤 방식으로
처리할 지를 설정합니다. 이전 버전의 경우 오즈 서버는 데이터 소스로부터 데이터를 가져와서 데이터 바
인딩 작업을 완료 한 다음 뷰어로 데이터 모듈을 전송하는데 새로 추가된 CONCURRENT 모드에서는 데이
터 바인딩 작업과 데이터 모듈 전송 작업을 동시에 수행합니다."

* connection.clientdmtype
value = "NORMAL/MEMORY/FILE default : MEMORY"
"뷰어에서 데이터 모듈을 받아서 처리하는 방식을 설정합니다. 데이터 모듈 받는 작업과 보고서 바인딩 작
업을 하나의 스레드로 처리하는 기존 방식에 성능을 높이고 응답시간을 줄이기 위해 각 작업을 별도의 스
레드로 나누어 병렬 처리하는 방식을 추가 하였습니다. 또한 낮은 시스템 사양에서 안정적인 운영을 위해
데이터 모듈을 파일로 받는 모드를 지원합니다."

IBM DeveloperWorks의 개발자 문서중에서 아주 유용한 글을 발견했습니다.
[PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기] 시리즈인데, Part 1 ~ 5까지로 이루어져 있으며 양면인쇄를 하면 딱 한손에 들고 다니면서 보기에 좋을 정도네요.

 이 문서는  Apache 1.3, PHP 5.0.4, MySQL 4.1.15, CakePHP 1.1.15 환경에서 위키와 블로그를 개발하는 과정을 설명하고 있으며, CakePHP에 관한 내용은 다른 문서를 참조하라고 합니다. IBM DeveloperWorks 영문 사이트에서 Cook up Web sites fast with CakePHP 문서를 참고하시면 됩니다. 영문이라서 좀... 역시 영어 공부 좀 해야겠네요.

PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 1: 소개 및 스캐폴딩 (한글)
본 "PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 연재에서는 제작 과정 추적에 유용한 각종 기능과 함께 PHP를 사용한 위키(wiki)의 제작 과정 전반을 자세히 소개합니다. 위키는 개발 속도를 높이고 생산성을 향상시키는 것은 물론 다른 사용자의 교육에도 유용한 도구로 널리 사용되고 있습니다. 본 연재의 각 부에서는 위키가 완성될 때까지 파일 업로딩, 캘린더링 "마일스톤" 시스템, 오픈 블로그 등의 기능과 함께 위키의 핵심적인 부분에 대한 개발 과정을 보여줍니다. 또한 위키에는 특정 사용자에 대해 권한을 커스터마이즈할 수 있는 프로젝트도 포함됩니다.
 
PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 2: 기본 위키 코드 개발하기 (한글)
"PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 튜토리얼 연재에서는 제작 과정 추적에 유용한 각종 기능이 있는 위키를 PHP를 사용해 처음부터 만듭니다. 위키는 개발 속도를 높이고 생산성을 향상시키며 다른 이들을 교육하는 데 유용한 도구로 널리 사용되고 있습니다. 본 연재의 각 부에서는 위키가 완성될 때까지 파일 업로딩, 캘린더링 "마일스톤" 시스템, 오픈 블로그 기능과 함께 위키의 핵심적인 부분에 대한 개발 과정을 보여줍니다. 위키에는 또한 특정 사용자에 대한 권한을 맞춤화할 수 있는 프로젝트도 포함됩니다.

PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 3: 사용자와 권한: 사용자와 권한 (한글)
“PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기” 연재에서는 PHP를 사용해 제작 과정 추적에 유용한 각종 기능이 있는 위키를 처음부터 만듭니다. 위키는 개발 속도를 높이고 생산성을 향상시키며 다른 이들을 교육하는 데 유용한 도구로 널리 쓰이고 있습니다. 본 연재의 각 부에서는 위키가 완성될 때까지 파일 업로딩, 캘린더링 “마일스톤” 시스템, 오픈 블로그 기능을 비롯한 위키의 핵심적인 부분에 대한 개발 과정을 보여줍니다. 위키에는 또한 특정 사용자에 대한 권한을 맞춤화할 수 있는 프로젝트도 포함됩니다. 지난 Part 2에서는 위키의 기본을 다루었습니다. 이제 크리키에 접근할 때 사용자에게 권한을 주는 방법을 배워보겠습니다.
 
PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 4: 작업 관리 (한글)
"PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 튜토리얼 연재에서는 제작 과정 추적에 유용한 각종 기능이 있는 위키를 PHP를 사용해 처음부터 만듭니다. 위키는 개발 속도를 높이고 생산성을 향상시키며 다른 이들을 교육하는 데 유용한 도구로 널리 쓰이고 있습니다. 본 연재의 각 부에서는 위키가 완성될 때까지 파일 업로딩, 캘린더링 "마일스톤" 시스템, 오픈 블로그 기능을 비롯한 위키의 핵심적인 부분에 대한 개발 과정을 보여줍니다. 위키에는 또한 특정 사용자에 대한 권한을 맞춤화할 수 있는 프로젝트도 포함됩니다. Part 3에서는 누가 무엇을 할 수 있는지에 대한 컨트롤을 추가했습니다. 이제 작업 관리를 추가할 차례입니다.

PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기, Part 5: 오픈 블로그 (한글)
"PHP를 사용하여 인터랙티브한 제작 방식의 위키 만들기" 튜토리얼 연재에서는 제작 과정 추적에 유용한 각종 기능이 있는 위키를 PHP를 사용해 처음부터 만듭니다. 위키는 개발 속도를 높이고 생산성을 향상시키며 다른 이들을 교육하는 데 유용한 도구로 널리 쓰이고 있습니다. 본 연재의 각 부에서는 위키가 완성될 때까지 파일 업로딩, 캘린더링 "마일스톤" 시스템, 오픈 블로그 기능을 비롯한 위키의 핵심적인 부분에 대한 개발 과정을 보여줍니다. 위키에는 또한 특정 사용자에 대한 권한을 맞춤화할 수 있는 프로젝트도 포함됩니다. Part 4에서는 몇 가지 작업 관리를 추가했습니다. 이제 사용자들이 자유롭게 토론할 수 있는 공간인 오픈 블로그를 만들 차례입니다.
위의 박스안 내용은 IBM DeveloperWorks에서 검색했을때 나오는 소개글입니다.


 OTN에서 Oracle 10g RAC 설치 문서를 보면 Openfiler라는게 등장한다. Storage로 iSCSI를 이용하는데, iSCSI 서비스를 위해 Openfiler를 이용한다.

아래는 Openfiler 홈페이지에 있는 About openfiler라는 문서의 서문이다.

Openfiler is a powerful, intuitive browser-based network storage software distribution. Openfiler delivers file-based Network Attached Storage and block-based Storage Area Networking in a single framework.

Openfiler uses the rPath Linux metadistribution. It is distributed as a stand-alone Linux distribution. The entire software stack interfaces with third-party software that is all open source.

File-based networking protocols supported by Openfiler include: NFS, SMB/CIFS, HTTP/WebDAV and FTP. Network directories supported by Openfiler include NIS, LDAP (with support for SMB/CIFS encrypted passwords), Active Directory (in native and mixed modes) and Hesiod. Authentication protocols include Kerberos 5.

Openfiler includes support for volume-based partitioning, iSCSI (target and initiator), scheduled snapshots, resource quota, and a single unified interface for share management which makes allocating shares for various network file-system protocols a breeze.



아직 사용해보지는 않아서 좋은지는 모르겠다. 게을러서... :)
 IBM DeveloperWorks 한글 사이트에 리눅스 부팅 과정에 관한 문서가 올라와서 소개하고자 합니다. 리눅스의 부팅 과정에 관한 내용이지만 일반적으로 컴퓨터 시스템의 부팅 과정이 서로 유사한 점이 많기에 운영체제의 부팅 과정을 이해하는데 도움이 되리라 생각합니다.

원문 : 리눅스 부팅 프로세스 연구 (한글)

아래는 원문의 일부를 발췌한 것이다.

Master Boot Record 부터 사용자 공간 애플리케이션 까지 부팅 가이드






난이도 : 초급

M. Tim Jones, Consultant Engineer, Emulex

2006 년 8 월 18 일

리눅스® 시스템의 부팅 과정은 많은 단계들을 거칩니다. 표준 x86 데스크탑을 부팅하든 아니면 PowerPC®를 부팅하든 그 단계는 놀랍게도 많이 비슷합니다. 이 글에서는 리눅스 부팅 과정을 초기 부트스트랩부터 첫 번째 사용자 애플리케이션의 시작 단계 까지 설명합니다. 아울러 부트 로더, 커널 디컴프레션(decompression), 초기 RAM 디스크, 기타 리눅스 부트 엘리먼트를 설명합니다.

초기에 컴퓨터를 부트스트랩(bootstrapping) 한다고 하면 부트 프로그램이 포함된 종이 테이프를 공급하거나 프론트 패널 address/data/control 스위치를 사용하여 부트 프로그램을 직접 로딩하는 것을 의미했다. 오늘날 컴퓨터에는 부팅 과정을 단순화시키는 장치들이 장착되어 있지만 꼭 그렇게 단순한 것 같지는 않다.

리눅스 부팅 과정을 보다 높은 시각에서 조망해야지만 전체적으로 볼 수 있다. 그런 다음 각각의 단계를 자세히 살펴봐야겠다. 곳곳에 첨부한 소스 자료가 커널 트리를 연구하는데 도움이 될 것이다



 오라클의 OTN 한글 사이트에 들어가보면 ROWNUM에 관한 Thomas Kyte[각주:1]의 글이 한글로 번역되어서 올라와 있네요.

원문 : ROWNUM의 동작 원리와 활용 방법

 ROWNUM과 이를 활용한 TOP-N Query에 대한 얘기를 하고 있다.
[Effective Oracle by Design][각주:2]의 내용을 일부 차용하여 설명하고 있습니다. Oracle DBMS에 관심이 있다면 읽어볼만한 내용입니다.

오라클 전문가 Tom Kyte가 ROWNUM의 동작 원리와 활용 방법에 대해 설명합니다.

이번 호의 Ask Tom 컬럼은 지금까지와는 조금 다른 내용을 담고 있습니다. 필자는 오라클 데이터베이스에서 Top-N 쿼리와 페이지네이션(pagination) 쿼리를 구현하는 방법에 대해 자주 질문을 받곤 합니다. 하나의 컬럼을 통해 이러한 질문에 한꺼번에 대답하기 위한 방편으로, < Effective Oracle by Design (Oracle Press, 2003)> 의 내용을 인용하기로 했습니다. 컬럼의 포맷에 맞게 책의 내용이 다소 수정되었음을 참고하시기 바랍니다.

결과 셋의 제한

ROWNUM은 오라클 데이터베이스가 제공하는 마술과도 같은 컬럼입니다. 이 때문에 많은 사용자들이 문제를 겪기도 합니다. 하지만 그 원리와 활용 방법을 이해한다면 매우 유용하게 사용할 수 있습니다. 필자는 주로 두 가지 목적으로 ROWNUM을 사용합니다.

  • Top-N 프로세싱: 이 기능은 다른 일부 데이터베이스가 제공하는 LIMIT 구문과 유사합니다.
  • 쿼리 내에서의 페이지네이션(pagination) – 특히 웹과 같은 "stateless" 환경에서 자주 활용됩니다. 필자는 asktom.oracle.com 웹 사이트에서도 이 테크닉을 사용하고 있습니다.

두 가지 활용 방안을 설명하기 전에, 먼저 ROWNUM의 동작 원리에 대해 살펴 보기로 하겠습니다




  1. Thomas Kyte(Tom Kyte)는 1993년부터 오라클에서 일해 왔습니다. 그는 현재 오라클 퍼블릭 섹터 그룹 담당 부사장으로 근무 중이며, Expert Oracle Database Architecture: 9i and 10g Programming Techniques and Solutions (Apress, 2005) , Effective Oracle by Design (Oracle Press, 2003)와 같은 전문서를 집필하였습니다. 또한 ASKTOM(asktom.oracle.com) 웹사이트를 운영하면서 Oracle 관리자 및 개발자들의 질문에 답변을 하고 있습니다. [본문으로]
  2. Thomas Kyte의 저서로  Oracle DBMS에 대한 심도깊은 내용이 담겨있다. http://www.amazon.com/exec/obidos/tg/detail/-/0072230657 [본문으로]
 IBM DeveloperWorks에 리눅스 커널 관련 문서가 올라와서 소개하고자 한다.
커널의 구조에 대해서 간략하게 설명한 내용으로 읽어볼만 하다고 생각합니다.

원문 : 리눅스 커널 해부 (한글)

 아마도 커널 관련 글이 이전에도 몇개더 있었던것 같은데 정확하게 기억은 나지 않네요. 다만, 이번 문서가 제일 보기가 쉽다는 느낌이 듭니다. 제가 아직 커널쪽은 잘 몰라서요.   :)
커널쪽을 잘 모르는 제가 보기에 편하게 느껴지면 다른 초보분들이 읽기에도 적당할거라 생각합니다.

꾸준하게 다양한 문서를 번역해서 올려주셔서 감사할 따름입니다.

 아래의 파란 박스안의 내용은 문서의 앞부분만 가져온 것입니다.

난이도 : 중급

M. Tim Jones, Consultant Engineer, Emulex Corp.

2007 년 8 월 07 일

Linux® 커널은 크고 복잡한 OS의 핵심이고, 거대한 반면 하위 시스템과 레이어의 관점에서 볼 때 잘 구성되어 있습니다. 이 글에서, Linux 커널의 일반적인 구조를 설명하고, 주요 하위 시스템과 핵심 인터페이스들을 살펴봅니다. 가능하다면 다른 IBM 기술자료 링크를 통해서 자세한 내용을 공부하시기 바랍니다.

이 글에서는 Linux 커널을 소개하고 아키텍처와 주요 컴포넌트를 설명하고자 한다. Linux 커널 역사를 간단히 살펴보고, Linux 커널 아키텍처를 자세히 연구하고, 마지막으로, 주요 하위 시스템을 설명할 것이다. Linux 커널은 6백만 이상의 코드 라인으로 구성되어 있기 때문에 이것을 모두 다 설명하는 것은 불가능하다.


 한국 IBM DeveloperWorks[각주:1] 올라온 글중에 리눅스 사용자에게 도움이 될만한 글을 하나 소개하고자 한다.

원문링크 : nmon 성능: AIX와 리눅스 성능 분석을 위한 무료 툴 (한글)

 IBM의 AIX 운영체제에는 NMON이라는 유틸이 있다. nmon은 top보다 다양한 정보를 보여주기때문에 시스템 모니터링시에 유용하게 쓸 수 있다.
리눅스 사용자들은 모니터링을 할때 top을 사용하는데, nmon을 사용하면 다양한 자료를 선택해서 볼 수 있다. AIX 전용 프로그램인줄로만 알았는데, IBM 홈페이지에서 Linux용 실행파일을 다운로드 받을 수 있다. 다운로드 받은 압축 파일을 풀어보면 Debian 3.1, Fedora 5, Knoppix 5, RHEL 2~4, SLES 9~10에서 실행할 수 있는 파일들이 있다.

사용자 삽입 이미지

실행화면

리눅스용 실행 초기 화면. 단축키에 대한 설명이 표시된다.

사용자 삽입 이미지

사용예

필요한 내용만 골라서 위의 화면처럼 사용할 수 있다.
  1. IBM DeveloperWorks는 개발 및 관리에 관한 다양한 기술문서 및 유명 IT 인사들의 컬럼, 인터뷰 등이 담겨있는 개발자를 위한 사이트이며 한국 IBM에서는 한글판 DeveloperWorks를 운영하고 있다. www.ibm.com/developerworks/kr [본문으로]

+ Recent posts