'linux'에 해당되는 글 40건

  1. 2009.02.20 kernel compile option
  2. 2008.07.18 linux -snort , oinkmaster , 자동룰 업데이트
  3. 2008.07.18 linux - snort , DB 연동 , apache . webserver 연동
  4. 2008.07.17 linux - snort , DB 연동
  5. 2008.07.16 linux - snort , NIDS , 침입탐지모드
  6. 2008.07.10 linux - snort , NIDS
  7. 2008.07.10 linux - IDS
  8. 2008.07.08 linux - 침입차단 , portsentry , IDS
  9. 2008.07.08 linux - 침입차단 , 하이브리드(hybrid)
  10. 2008.07.08 linux - 침입차단 시스템
  11. 2008.07.06 linux - AIDE ( 호스트 기반의 침입탐지 시스템)
  12. 2008.06.30 linux - 공개키에 의한 인증
  13. 2008.06.30 linux - 해시함수
  14. 2008.06.29 linux - 암호학 , 해시 함수
  15. 2008.06.29 linux - 함호학 , 공개키
  16. 2008.06.29 linux - 암호학 , 대칭키
  17. 2008.06.29 file 속성 명령어 , chattr , lsattr
  18. 2008.06.29 openssh
  19. 2008.06.28 sniffing , ehterear , tshark
  20. 2008.06.27 linux - /etc/xinetd.d/* 설정하기
  21. 2008.06.27 /etc/hosts.allow , /etc/hosts.deny
  22. 2008.06.25 /proc/sys/net/ipv4 , sysctl
  23. 2008.06.25 service lockdown , chkconfig
  24. 2008.06.25 nmap , scanning 1
  25. 2008.06.24 /proc 디렉토리, system info
  26. 2008.06.24 linux - telnet server 설치 및 셋팅
  27. 2008.06.23 /etc/security/console.apps
  28. 2008.06.23 linux - who , whoami , who am i , w
  29. 2008.06.23 /etc/profile
  30. 2008.06.23 /etc/login.defs , 로그인 암호 길이 지정
2009. 2. 20. 00:11

kernel compile option


Kernel Compile Option

 

 

Ξ Code maturity level options

 

[ ] Promprt for development and/or incomplete Code/drivers

 

-->커널 코드의 성숙도를 선택하는 부분으로 개발버전 수준의 소스를 사용하게끔 선택해주는 것입니다. 이것은 알파버전들을 커널에 포함시킬것인지 묻는 항목입니다.

 

Ξ Processor type and features

(PPro/6x86MX)Processor family

--> 자신의 컴퓨터 CPU 를 골라주면 됩니다.

!!..컴파일후 재부팅시 일어나는 Panic현상의 대부분은 이곳설정 잘못이 많으니 각별히 주의하길 바라며 꼭 다시한번 확인후 넘어가도록 하세요. 잘 모르거나 삐짜CPU(^_^)라면 안전하게 386을 선택하자...!!

( ) 386

( ) 486

(X) 586/k5/5x86/6x86

( ) Pentium/k6/TSC

( ) PPro/6x86MX

(1GB)Maximum Phycical memory

--->커널 2.2버전부터 급격히 올라간 지원메모리입니다....

아마 이것을 2GB까지 사용할 사용자가 있을지 모르겠습니다....

곧 4GB이상까지 지원이 가능할꺼라고 합니다....

(X) 1GB

( ) 2GB

 

[ ] Math emulation

-->리눅스가 코프로세서가 없는 컴퓨터에서 코프로세서의 기능을 수행해주는 기능을 말합니다. 컴퓨터의 두뇌라 할수 있는 CPU 에서 복잡한 수학계산의 경우는 CPU 에주는 부담이 크기 때문에 코프로세서라는 칩을 별도로 장착하고 있는데 펜티엄이나 486DX 이상의 기종은 코프로세서라는 칩을 따로 장착하고 있기 때문에 이 기능은 별로 필요가 없습니다. 486DX 이하의 기종을 가진 사용자는 선택을 하기 바랍니다. 선택을 하게 되면 보조 프로세서가 사용되고 에뮬레이션은 무시되게 됩니다.

 

[ ] MTTR (Memory Type Range Register ) Support

-->Pentium Pro이상의 시스템이고 PCI나 AGP버스 비디오카드가 있다면 선택합니다. 이미지를 2배이상 빨리 쓸 수 있기 때문입니다.

[ ] Symmetric multi-processing Support

-->SMP기능의 지원입니다.

이것을 사용시 Charater devices-->Enhanced real time clock support 도 선택해야합니다.또한 General setup---->Advanced power management BIOS support는 "N"

 

 

Ξ Loadable module support

[ ] Enable loadable module support

-->커널에서 모듈을 사용할수 있게 해주는것입니다.

동적 모듈 기능을 가능하게끔 해주는 기능으로써 윈하는 기능을 메모리에 올려놓고 필요없는 기능은 메모리에서 빼내는 기능을 해주는것입니다.

 

[ ] Set version information on all symbols for modules

-->커널이 바뀌어도 기존의 모듈을 사용하게 해 주게 하는것입니다.

 

[ ] Kernel daemon support(e.g.sutoload of modules)

-->모듈에 대해 커널이 항상 대비해 주도록 설정하는것입니다.

Insmod 나 rmmod 명령을 사용하지 않고 kerneld 라는 프로그램이 자동적으로모듈이 어느 기능을 수행하지 않으면 자동적으로 모듈을 메모리에 올리고,일정시간 그 모듈을 사용하지 않을시에는 자동적으로 모듈을 메모리에서 제거하는 기능을 가진 유용한 프로그램입니다.

Ξ General Setup

[ ] Networking support

-->리눅스에 네트워킹을 사용하게 해주는 기능입니다.

리눅스가 다른 사용운영체제와의 비교에 있어서 강점은 바로 네크워킹에 있습니다. 리눅스에서 네트워킹을 하려면 꼭 선택합니다.

[ ] PCI bios(---확인할것--) support

-->pci 바이오스를 지원하는 항목입니다. 펜티엄 이상의 프로세서가 달린 컴퓨터에서는 pci 가 내장되어 있으므로 선택하기 바랍니다.

(Any)PCI acess mode

-->Any는 커널이 바이오스 도움없이 직접접근해 보고 반응이 없으면 bios로 가는 설정모드입니다.. 이외에 "bios"와 "direct"가 있으며.. 말그대로 전자는 bios의존이고 후자는 비의존입니다.

 

[ ] PCI quirks

-->"Y" ; BIOS가 깨졌을때

"N" ; " 정상일때

 

[ ] PCI bridge optimization (Experimental)

-->PCI 브릿지를 지원하게 해주는 항목입니다.

CPU 와 PCI , PCI와 ISA 사이에 브리지가 있어 서로 다른 버스사이에서 데이터를 전송할 수 있도록 논리적인 기능을 합니다. 바이오스에 굳이 문제가 없다면 "N" ,있다면 "Y"실험적인것은 되도록 선택에 신중을....

 

[ ]Backward compatible /proc/pci

-->오래된 풀그림을 이용해 PCI정보를 읽을때 필요합니다.

 

[ ] MCA support

-->"MICRO CHANNEL ARCHITECTURE" IBM PS/2 머신에서 필요합니다.

 

[ ] SGI Visual Workstaion Support

-->SGI 320,540 Workstation에서 필요합니다.

 

[ ] System V IPC

-->System V IPC를 지원하게 해주는 항목입니다.

리눅스에서는 도스용 프로그램을 에뮬레이터를 통해서 실행시킬수 있습니다. 프로세스 사이에서 동기화와 정보교환을 위한 라이브러리 함수와 시스템 콜 모음입니다. 이 항목을 선택하게 되면, 리눅스 박스는 System V IPC 로 작동을 하게 되며, 리눅스에서 도스용 프로그램을 사용할수 있게 해줍니다.

[ ] BSD Process Accounting

-->프로세스가 존재할 때에는 언제나 커널에 의해 프로세스 정보 (소유권,생성시간,메모리점유상태등..)가 파일에 추가.

 

[ ] Sysctl Support

-->Sysctl interface는 kernel compile 재질이나 시스템 재부팅 업이 실행중인 커널 매개변수를 동적으로 변경하는 방법을 제공합니다. 주 인터페이스는 시스템콜로 이루어져 있지만 /proc 파일시스템이 설치되어 있다면 편집 가능한 Sysctl 요소 트리는 /proc/sys 디렉토리 아래 생성될 것입니다.커널 크기가 8kb 늘어납니다.

 

< > Kernel support for a.out binaries

-->커널이 a.out 실행 파일 형식을 지원하게 해주는 항목입니다. a.out 이란? (Assembler.OUTput) 의 약자로 초창기 유닉스에서 쓰이던 실행 파일 형태입니다.

< > kernel support for ELF binaries

 

-->커널이 ELF 실행 파일 형식을 지원하게 해주는 항목입니다.

ELF 는 a.out 이후에 등장한 바이너리 형식이면서 리눅스 바이너리 포맷의 표준이므로 반드시 선택하도록 합니다..

< > Compile kernel as ELF - if your GCC is ELF-GCC

 

--> 커널 형태를 ELF 형식으로 만드는것을 지원하게 해주는 항목입니다. GCC 는 리눅스에서 중요한 컴파일이면서, 모든 유닉스에서 호환이 되는 컴파일러입니다. 이 항목을 지원하게 해주면, GCC 가 ELF 실행 파일 형태일때에, 커널 형식도 ELF 로 컴파일 할수 있게 해주는 항목입니다.

 

< > kernel support for JAVA binaries

 

--> 커널이 JAVA 실행 파일 형식을 지원하게 해주는 항목입니다. 이 항목을 선택하면, 커널 자체에서 JAVA 바이너리를 실행토록 지원해줍니다.

< > Parallel port Support

-->Parallel port를 이용해서 printer,zip drive등을 사용한다면 선택합니다.

< > PC-style hardware

-->PC-style Parallel port 없다면 "N"

< > Support foreign hardware

 

[ ] Advance Power Management BIOS Support

< > Ignore USER SUSPEND

 

-->APM 를 설정한 사용자라면 이 기능을 NO 로 선택합니다.

일반 사용자에게는 필요없는 항목입니다.

 

< > Enable PM at boot time

 

< > Make CPU idle calls when idle

 

-->듀얼 CPU 이상의 CPU 의 수를 가지고 있는 사용자가 아니 라면 그냥 통과.

 

< > Enable console blanking using APM

 

-->전원관리를 위해서 노트북의 백라이트 기능을 끄는 기능입니다.

 

< > Power off shutdown

 

--> 시스템을 종료할때 나오는 메세지"SYSTEM IS HALTED"가 나오는 동시에 전원을 차단하는 기능을 지원합니다.컴퓨터의 바이오스에 따라 기능이 적절히 활용되지 않을 때가 있다.

 

< > Ignore multiple Suspend

< > Ignort multiple Suspend/resume cycles

< > RTC stores time in GMT

< > Allow interrupts during APM BIOS calls

 

Ξ I20 device support

 

< > I20 support

< > I20 PCI support

< > I20 Block OSM

< > I20 LAN OSM

< > I20 SCSI OSM

< > I20 /proc support

 

-->아직이게 뭔지 모릅니다..혹 아시는분은 댓글을 달아서 다른분께 드리세요.(^___^);;

 

Ξ Plug and Play Support

 

[ ] Plug and Play Support

 

-->설정해야 좋은거 다 아시죠.

 

Ξ Block devices

 

< > Normal floppy disk support

 

-->리눅스에서 플로피 드라이버 장치를 지원하게 해주는 항목입니다.

[ ] Enhanced IDE/MFM/RLL disk/cdrom/tape support

 

--> IDE drive를 사용할수 있게 지원하게 해줍니다.

Personal Computer 에서는 하드디스크와 CD-ROM 드라이브가 IDE 에 속하는데, IDE 드라이브는 4개까지 사용할수 있고, 리눅스에서 IDE 장치를 사용하려면 선택합니다.

 

--Please see documentation/ide.txt for help/info on IDE drives

[ ] Use old disk-only driver on primary interface

 

-->예전에 출시된 하드디스크를 프라이머리로 사용할수 있게 해주는 기능입니다. 이 항목을 선택하면, 하나의 인터페이스에 오직 두개의 하드디스크만을 지원하게 해줍니다.

 

< > Include IDE/ATA-2 DISK support

[ ] use multi-mode by default

< > Include IDE/ATAPI CDROM support

 

-->ATAPI 방식의 CD-ROM 을 지원하게 해주는 항목입니다.

SCSI 용 CD-ROM 이나 2배속 이하의 CD-ROM 중 특별한 장치를 제외하고는 이것을 선택하면 리눅스에 CD-ROM 을 사용할수가 있습니다.

 

< > include CD-changer Reporting

< > Include IDE/ATAPI TAPE support

 

--> IDE 방식의 TAPE 드라이버를 지원하게 해주는 항목입니다.

TAPE 드라이브는 워크스테이션이나 기타 중,대형 서버급 이상의 기종에서백업용으로 하용하는 메체이므로 일반 PC 사용자들은 선택할 필요 없습니다.

 

< > Include IDE/ATAPI FLOPPY support(new)

 

--> SCSI 프로토콜을 사용하는 새로운 방식의 IDE cdrom/tape/floppy driver와 동등한 ATAPI 형식의 FLOPPY 를 지원하게 해주는 항목입니다. ATAPI ZIP 드라이브나 LS_120, 슈퍼 드라이브 같은 드라이버를 가지고 있는 사용자는 이 항목을 선택으로 설정하면 사용할수가 있습니다.

 

< > SCSI emulation support

 

-->IDE ATAPI 디바이스 장치를 SCSI 장치처럼 에뮬레이트 해주는 기능을 지원해줍니다. 예를 들자면, ATAPI PD-CD dirve 와 같은 장치를 SCSI 와 동등한 방식으로 사용하게 끔 해주는 방식입니다..

[ ] CMD640 chipset bugfix/support

 

-- MD640 칩셋의 버그를 고친 항목을 지원하게 해주는 항목합니다. CMD640 칩셋은 일반적으로 486이상 펜티엄 보드에 주로 쓰이는 칩셋인데, 주로 Netune 이나 SiS 와 같은 칩셋에 주로 같이 쓰입니다. 컴퓨터의 마더보드에서 CMD640 를 지원한다면, 이 기능을 선택하기 바랍니다.

 

[ ] CMD640 enhanced support

 

--> CMD640 칩셋을 지원하게 해주는 항목입니다.

컴퓨터의 마더보드에서 CMD640 를 지원한다면, 이 기능을 선택하기 바랍니다.

 

[ ] RZ1000 chipset bugfix/support

 

-->RZ1000 칩셋의 버그를 고친 항목을 지원하게 해주는 항목입니다. RZ1000 칩셋은 일반적으로 486이상 펜티엄 보드에 주로 쓰이는 칩셋입니다. 컴퓨터의 마더보드에서 RZ1000 을 지원한다면, 이 기능을 선택하기 바랍니다.

 

[ ] Generic PCI bus-master DMA Support

[ ] Boot off-board chipsets first Support

[ ] Other IDE chipset support

 

-->나온 칩셋 이외의 다른 칩셋을 지원하게 해주는 항목입니다.

다양한 종류의 칩셋을 선택할수 있게해줍니다.

자세히 모른다면 마더보드의 메뉴얼을 자세히 보거나, N 으로 설정하고 넘어가기 바랍니다.

-----Additional Block Devices

[ ] Loopback device Support

 

--> 하나의 파일을 하나의 파일시스템으로써 인식하게끔 지원해줍니다. 예를 들자면, 플로피 디스크의 이미지 파일이나 CD-ROM 을 굽기 위한 파일을 만들었을때, 그 이미지를 하나의 파일시스템으로써 인식함으로써 그 파일의 내용을 확인하게끔 해줍니다. 자신의 컴퓨터에 CD-R 이 있는 사람은 선택합니다.

 

[ ] Network block device Support

[ ] Multiple devices driver Support

 

-->다중 장치 지원을 지원하게끔 해주는 해줍니다.

여러개의 하드디스크에 있는 파티션을 묶어서 하나의 논리적인 드라이브를 사용할수 있게끔 해줍니다. 예를 들어서 용량이 작은 여러개의 하드디스크를 가지고 있는 사용자에게는 유용한 설정입니다.

< > Linear (append) mode

--> Multiple devices driver support 를 체크하면 활성화되는 설정으로써, 여러개의 하드디스크에 있는 파티션을 단순하게 나열하는 방식을 지원합니다.

< > RAID-0 (striping) mode

< > RAID-1 (mirroring) mode

< > RAID-4/RAID-5 mode

< > RAM disk support

--> 메모리의 일부를 하드 디스크 처럼 사용하게 지원해주는 항목으로, 램 디스크로 설정된 메모리는 하드 디스크와 마찬가지로 사용할 수가 있습니다.속도면에서 하드디스크와는 비교할수 없을 만큼 빠릅니다. 그러나 일반 사용자에게는 필요없는 항목이며, 메모리 양이 충분한 사용자는 한 번 선택해봅니다.

 

[ ] Initial RAM disk(initrd) support

--> 램 디스크를 Lilo 와 같은 부팅 관리자에 등록을 해서 부팅이 실행되기 전에 램 디스크에 있는 먼저 실행시킬수 있도록 해줍니다.

램 디스크를 설정한 사용자는 이 항목도 같이 설정하기 바랍니다.

 

< > XT haddisk support

--> XT 를 사용하던 8BIT 하드 디스크 컨트롤러를 지원하게끔 해줍니다.

 

[ ] Parallel port IDE device Support

Networking Options

< > Packet Socket

[ ] Kernel/User netlink Socket

[ ] Routing messages

< > Netlink device emulation

[ ] Network firewalls

 

--> 리눅스 시스템을 네트워크 파이어월로 작동하도록 해줍니다.

파이어월로 리눅스 시스템을 작동시키면 네크워크 상에서 보완을 유지시켜줍니다. 자신의 리눅스 박스가 방화벽의 기능을 하고자 한다면 선택하기 바랍니다. 이 항목을 설정하면, 네트워크 속도가 떨어지는 것을 감수해야 합니다. 그리고, 현재 리눅스 시스템의 네트워크가 TCP/IP 로 작동하고 있으면, IP firewalling 항목도 선택합니다.

 

[ ] Socket filtering

< > Unix domain Sockets

[ ] TCP/IP networking

 

--> 리눅스 시스템이 TCP/IP 네트워크가 되게 지원해주는 기능입니다. TCP/IP 는 지역 네트워크 및 인터넷 표준 프로토콜이며, 인터넷을 통하지 않는 Standalone 컴퓨터라 할지라도, TCP/IP 는 필요합니다. term과 XWindow 같은 프로그램은 TCP/IP 프로토콜을 사용하기 때문입니다.

 

[ ] IP: multicasting

 

--> 네트워크 상에서 리눅스 시스템을 멀티 캐스팅이 가능하게 해줍니다. 멀티 캐스팅이란, 네트워크 상에 연결된 컴퓨터에서 네트워크의 모든 호스트로 데이터를 보내는 것을 의미합니다. IP:forwarding/gatewaying 를 선택하였으면, 이것도 선택합니다.

 

[ ] IP: Advanced router

[ ] IP: ketnel Level autoconfiguration

[ ] IP: Optimize as router not host

< > IP: Tunneling

 

--> 하나의 프로토콜 형식의 자료를 캡슐에 저장해서 다른 프로토콜로 채널을 통해 보낼 때 인식하도록 지원해주는 기능입니다.

 

< > IP: GRE tunnels over IP

[*] IP: Aliasing support

 

--> 외부에서 단일 네트워크 인터페이스상에서 호스트명을 통해서 접속할수 있도록 해주는 기능입니다. 여러 개의 네트워크 카드가 장착된 컴퓨터에서는 매우 유용한 기능입니다. 일반 사용자에게는 필요없는 기능입니다.

 

[ ] IP: TCP Syncookes Support ( not enabled per deault )

 

--> 서비스 거부 공격을 받을때 대처해주는 패킷입니다.

 

---( it is safe to Leave these untouched )

< > IP: Riverse ARP

 

--> 사용자의 리눅스 시스템에서 네트워크상의 또 다른 네크워크 컴퓨터가 IP 주소를 물어왔을때, 대답을 해주는 기능입니다. 즉 , 네트워크상에 물려진 컴퓨터의 이더넷 카드의 주소는 알지만, 시작시 IP 주소를 모르게 되면, 역 주소 결과치를 가지고 프로토콜을 찾아주는 기능입니다.

[*] IP: Allow large windows ( not recommended if < 16Mb of memory )

--> 대용량의 자료를 전송할 수 있게 해주도록 지원해줍니다.

메모리 16메가 이상이면 이 항목을 설정해줍니다.

 

---

< >The IPX protocol

 

--> 네트워크 운영체제로 유명한 노벨 네트웨어의 기본 프로토콜인 IPX 프로토콜을 지원하게 해줍니다. 노벨 네트웨어 파일 시스템이나 프린터를 사용하려면 이 옵션을 선택합니다.

 

[ ] IPX: Full internal IPX network

 

-->내부 네트워크상에서 다른 가상 노드상에 소켓을 배분받게 하는 설정입니다. The IPX protocol 항목을 선택했다면 선택합니다.

[ ] Appletalk DDP

 

--> Appletalk 프로토콜의 지원여부를 결정하는 항목입니다.

Appletalk 는 애플 컴퓨터의 네트워크 프로토콜입니다.

 

Ξ SCSI support

< > SCSI support

 

-->시스템에 SCSI 장비가 있다면 이 항목을 선택합니다.

 

--SCSI Support type (disk,tape,CD-ROM)

< > SCSI disk support

 

-->시스템에 SCSI 하드디스크나 IOMEGA parallel ZIP 드라이브를 가지고 있다면 이 항목을 Y 선택합니다.

 

< > SCSI tape support

 

-->시스템에 SCSI tapedrive 를 가지고 있다면,선택합니다.

 

< > SCSI CD-ROM support

 

-->사용자의 리눅스 시스템에 SCSI CD-ROM 이나 CD-R 를 가지고 있다면, 이 항목을 선택합니다.

 

< > SCSI generic support

 

--> SCSI 용으로 나오는 제품중에는 하드디스크나 CD-ROM 말고도 수많은 제품들이 있습니다. SCSI 방식의 스캐너나 신디사이저, CD-writer 등을 가지고 있다면 이 항목을 YES 로 설정 하기 바랍니다.

 

--Some SCSI device (e.g. CD jukebox) Support multiple LUNS

[ ] Probe all LUNs on each SCSI device

 

--> SCSI 는 각 SCSI 장비에 논리적인 번호, 즉(LUN) 를 할당하는데, SCSI 어댑터 중 복수의 LUN 을 지원하는 제품들이 있습니다.이러한 복수의 LUN 을 지원하는 항목입니다.

[ ] Verbose SCSI error reporting (kernel size +=12K)

 

--> SCSI 하드웨어에서 일어나는 에러메시지를 이해하기 쉬어집니다. 가급적 SCSI 장비를 가지고 있는 사용자는 이 항목을 선택합니다.

SCSI low-level drivers -->

< > 7000FASST SCSI support

 

-->웨스턴 디지탈사의 7000 스카시 어댑터를 지원하는 항목입니다.

 

< > Adaptec AHA152X/2825 support

< > Adaptec AHA1542 support

< > Adaptec AHA1740 support

< > Adaptec AIC7xxx support

 

-->아답텍사의 스카시 어댑터를 지원하는 항목입니다. aic7xxx 를 지원하는 스카시 컨트롤러 항목은 274X EISA 카드, 284X VLB 카드, 294x PCI카드, 394X PCI 카드, 3985 PCI 카드를지원합니다.

 

< > AM53/79c974 PCI SCSI support

 

-->AM53/79c974 스카시 어댑터를 지원하는 항목입니다.

Tekram DC390(T) PCI-SCSI 호스트 어댑터를 가지고 있다면 기본적으로 DC390 드라이버를 가지고 있습니다. 이 항목은 DC390 및 AM53/79c974 스카시 어댑터를 지원합니다.

 

< > BusLogic SCSI support

 

-->BusLogic MultiMaster SCSI 어댑터를 지원하는 항목입니다.

 

< > DTC3180/3280 SCSI support

 

-->DTC 3180/3280 스카시 어댑터를 지원하는 항목입니다.

 

< > EATA-DMA(DPT,NEC,AT&T,SNI,AST,Olivetti,Alphatronix) support

 

-->SmartCache III/IV, SmartRAID, PM2011B/PM2012B 등의 스카시 어댑터가 사용하는 EATA-DMA 프로토콜을 지원하는 항목입니다.

 

< > EATA-PIO (old DPT PM2001, PM2012A) support

 

--> DPT PM2001, PM2012A 등의 스카시 어댑터가 사용하는 EATA-PIO 프로토콜 지원하는 항목입니다.이 드라이버는 단지 harddisks 및 lacks 의 많은 특징들을 지원해 주는 기능의 역할만을 합니다.

< > Future Domain 16xxSCSI support

 

-->Future Domain 16Bit 스카시 어댑터나 Future Domain 의 칩셋을 사용하는 스카시 어댑터를 지원하는 항목입니다.

 

< > GDT SCSI Disk Array Controller Support

< > Generic NCR5380/53c400 SCSI support

 

--> NCR의 스카시 어댑터를 지원하는 항목입니다.선택하게 되면 리눅스 커널에서 지원하는 많은 종류의 NCR스카시 어댑터를 사용할수 있게 됩니다.

< > Initio 9100U(W) Support

< > initio INI-A100U2W Support

< > NCR5380/53c400 mapping method (use Port for T130B)

 

--> NCR5380 과 NCR53c400 스카시 어댑터에서 T130B 방식으로 메모리를 매핑 해주는 기능을 지원하는 방식입니다.

 

< > Symbios 53c416 SCSI Support

< > NCR53c406a SCSI support

 

--> NCR53c406a 스카시 어댑터를 지원해주는 항목입니다.

 

< > NCR53c8xx SCSI support

< > SYM53c8xx SCSI support

 

--> NCR53C8XX 계열의 PCI 용 스카시 어댑터를 사용가능하도록 지원해주는 기능입니다. Parity check, FAST SCSI II 등을 지원하는등 다양한 기능을 사용할수 있습니다.

 

(4) Default tagged command Queue depth

(32) maximum number of queued commands

 

--> 어떠한 대기명령이 주어졌을때, 그에 따른 디바이스에 최소및 최대 명령수를 부여하는 기능을 지원해주는 기능입니다.기본적으로 4, 최소값으로는 2, 최대값으로는 12 의 명령수를 부여해줍니다.

 

(20) synchronous transfers frequency in MHz

[ ] enable profiling

[ ] use normal IO

 

-->X86 을 기반으로하는 시스템에서 메모리의 IO를 매핑해주는 기능을 지원합니다.

[ ] Include support for the NCR PQS/PDS SCSI card

< > PAS16 SCSI support

 

-->PAS 16 스카시 어댑터를 지원해주는 항목입니다.

 

< > PCi2000 support

< > PCi2220i support

< > PCi2240i support

< > Qlogic FAS SCSI support

 

-->Qlogic 의 FastSCSI 를 지원해주는 항목입니다.지원하는 항목은 PCI 방식이 아닌 ISA, VLB, PCMCIA 방식입니다.

 

< > Qlogic ISP SCSI support

 

-->PCI 방식의 스카시 어댑터를 지원해주는 항목입니다.

 

< > Qlogic ISP FC support

< > Seagate ST-02 and Future Domain TMC-8xx SCSI support

 

-->8BIT 용 스카시 어댑터를 지원해주는 항목합니다.

 

< > Tekram DC-390(T) SCSI support

 

-->Am53C974A 칩을 사용하는 Tekram DC390(T) PCI 스카시 어댑터를 지원해주는 항목입니다.

< > Trantor T128/T128F/T228 SCSI support

 

--> Trantor T128/T128F/T228 스카시 어댑터를 지원해주는 항목입니다.

 

< > UltraStor 14F/34F support

 

-->UltraStor 14F/34F 스카시 어댑터를 지원해주는 항목입니다.

 

< > UltraStor SCSI support

 

-->UltraStor 14F/34F 외에 24F 등의 스카시 어댑터를 지원합니다. UltraStor 14F/34F 지원항목과 겹치는 스카시 어댑터가 있는데, 둘중의 하나를 선택해야만 합니다.

 

 

Ξ Network Device support

[ ] Network device support

 

-->자신의 컴퓨터가 네트워크에 연결되어 있거나 SLIP이나 PPP를 사용하려면 선택합니다.

 

< > ARCnet Support

-->ARCnet 칩셋이 있는 네트워크 카드를 가지고 있다면 선택합니다.

< > Dummy net driver support

 

-->IP 어드레스를 구성하는데 있어서 필수적인 디바이스를 제공합니다. SLIP이나 PPP를 사용 한다면 Y로 설정하기 바랍니다.

< > EQL (serial line load balancing) support

 

-->한 컴퓨터에 두개의 모뎀과 전화선 두개를 이용하여 동시에 접속할수 있게 해줍니다. 다른 컴퓨터와 2개의 시리얼 연결이 되어 있으며, 그것을 통해 SLIP이나 PPP를사용한다면, 이 옵션으로 2개를 하나로 만들어주어 2배의 속도를 낼 수 있게 해줍니다.

 

 

[ ] Ethernet (10 or 100Mbit)

 

-->랜카드가 있을시에는 이 항목을 선택해 줍니다.

[ ] 3COM cards

 

< > 3c501 support

< > 3c503 support

< > 3c505 support

< > 3c507 support

< > 3c509/3c579 support

< > 3c515 ISA Fast EtherLink

< > 3c590/3c900 series (592/595/597/900/905) "Vortex/Boomerang" support

 

-->이 항목은 3COM 네트워크 카드를 지원해주는 기능입니다.

 

AMD LANCE and PCnet (AT1500 and NE2100) support

 

-->AT1500 또는 NE2000 호환인 AMD LANCE/PCnet 스카시 어댑터를 지원해주는 항목입니다.

 

[ ] Western Digital/SMC cards

 

-->Western Digital/SMC 네트워크 카드를 지원해주는 기능입니다.

 

[ ] Racal-interlan (Micom) NI cards

[ ] Other ISA cards

 

-->설치된 네크워크 카드가 위의 해당사항에 없거나. 네트워크 카드가 ISA 용일때에는 이 항목을 선택합니다.

 

[ ] EISA,VLB.PCI and on board controllers

 

-->보드에 내장된 네트워크 카드를 가진 사용자라면 이 항목을 선택합니다.

 

< > AMD PCInet32 (VLB and PCI) support

 

-->PCI 및 VLB 방식을 지원하는 AMD PCInet32 스카시 어댑터를 사용가능하도록 지원해주는 항목입니다.

 

< > Apricot Xen-II on board Ethernet

< > CS8x0 support

< > Generic DECchip & DIGITAL EtherWORKS PCI/EISA

< > DECchip Tulip (dc21x4x) PCI support

< > Digi Intl . RightSwitch SE-X support

< > EtherExpressPro/100 support

-->이더넷 네트워크 인터페이스 카드(NIC)가 설치되었다면 선택합니다.

 

< > PCI NE2000 support

 

-->PCI 방식의 NE2000 네트워크 카드를 지원해주는 항목입니다.

 

< > TI ThunderLAN support

< > IA Rhine support

[ ] Pocket and portable adaptors

[ ] FDDI driver support

< > Frame relay DLCI support

PPP (point-to-point) support

-->페러렐 포트와 크로스 케이블을 이용해 두 리눅스 박스를 연결할수 있습니다.TCP/IP를 이용하며 "FX"케이블을 통해서 4bits 씩 전송할 수 있는 mode0와 특별한 PILP케이블을 이용해 8bits씩 전송할 수 있는 mode1이 제공됩니다.

 

<*> SLIP (serial line) support

-->PPP 이전에 많이 사용했던 시리얼 라인을 지원하는 네트워크 프로토콜입니다.

 

[ ] Wireless LAN (non - hamradio)

 

-->RADIO와 무선 LAN을 지원합니다.

 

[ ] Token Ring driver support

 

-->IBM 사의 제폼에서 로컬 네트워크를 연결하는 토큰링 방식의 드라이버를 지원해주는 기능입니다.토큰 링 카드를 사용하려면 이것을 선택합니다.

 

< > Comtrol Hostess SV-11 support

< > COSA/SRP sysc serial boards support

< > Red Creek Hardware VPN (EXPERIMENTAL)

[ ] WAN drivers

 

 

 

 

Ξ Amateur Radio Support

 

[ ] Amateur Radio Support

--packet radio protocols

< > Amateur Radio AX.25 Level 2 protocols

--Misc hamradio Protocols

 

Ξ IrDA Subsystem Support

 

-->적외선을 이용한 근거리 무선통신이나 프린터,시리얼 장치 등의

표준 프로토콜을 지원합니다.

지금은 좀 낮설지만 조만간에 아주 익숙해질 유용한 기능입니다. 생각해보죠 계산기만한 컴퓨터를 가지고 다니다 무선으로 근처에 접근하는 것만으로 자료가 전송된다면..벌써 셀빅같은 PDA종류나 고급사양의 노트북에선 지원하고 있습니다. 필자는 이정도밖에 모르지만 앞으로 많이 이용될 기술이니 아래의 기술을 설명할수 있는 분이 있다면 댓글을 달아서 더 살을 붙여 좀더 많은 리눅서가 공유하게 되길 빕니다.

 

< > IrDA Subsystem Support

< > IrDA subsystem support

---IrDA protocols

< > IrLAN protocols

< > IrCOMM protocols

< > IrLPT protocols

< > IrLPT client support

< > IrLPT server support

< > IrDA protocol options

--- IrDA options

[ ] Cache last LSAP

[ ] Fast RRs

[ ] Debug infomation

[ ] IrLAP compression

Infrared-port device drivers -->

--- SIR device drivers

< > IrTTY (users linux serial driver )

IrPORT (IrDA serial driver)

--- FIR device drivers

< > NSC PC87108

< > Winbond W83977AF (IR)

< > Sharp UIRCC

< > Toshiba Type-0 IR Port

< > SMC IrCC

--- Dongle support

[ ] Serial dongle support

< > ESI JetEye PC dongle

< > ACTiSYS IR-220L and IR220L+ dongle

< > Tekram IrMate 210B dongle

< > Greenwich GirBIL dongle

< > Parallax LiteLink dongle

 

Ξ ISDN subsystem

 

-->얼마전만해도 생소했던 기술이지만 이제는 모뎀처럼 흔해졌습니다. 이제 곧 리눅스가 제 힘과 기술을 발휘할수 있는 고속 네크워크의 세계로 성큼 다가간 것 같아서 기분이 좋아지는군요..(^___^);; 여러분도 아시겠지만 리눅스는 네트워크와 연결될 때 무한의 기능과힘을 발휘합니다.

올해부터 부쩍 늘어난 각 통신사의 ISDN 광고또한 리눅스에서의ISDN지원에 힘을 주고 있습니다.모 텔런트가 ISDN-II 광고를 재미있게 하던군요.:-)

 

< > ISDN support

 

--> ISDN 카드를 이용해서 네트워크나 인터넷을 사용하려면 이 항목을 선택합니다.

 

[ ] Support synchronous PPP

 

-->ISDN 을 통해 동기화된 PPP 를 지원해주는 기능입니다.

동기화된 PPP 는 주로 SUN 이나 CISCO 에서 사용되어집니다.

 

[ ] Use VJ-compression with synchronous PPP

 

-->동기화된 PPP에서 VJ 압축(Van Jacobson header compression)을 지원하는 항목입니다.

[ ] Support audio via ISDN

 

-->ISDN 을 통해 음성기능을 지원해주는 기능입니다. 자신의 리눅스 박스가 ISDN 를 통해 음성 통화가 가능하게 하려면,이 기능을 선택합니다.

 

[ ] X.25 PLP on top of ISDN (Experimental)

< > ICN 2B and 4B support

 

-->ICN 이라 불리는 두 종류의 ISDN 카드를 모두 지원하는 항목입니다. ICN 2B 는 하나의 ISDN 라인에 2개의 B 채널을 가진 ISDN 표준방식입니다. ICN 4B 는 두개의 ISDN 라인을 지원합니다.

< > ISDNloop Support

 

-->테스트를 위한 가상 ISDN Card를 제공해 줍니다.

 

< > PCBIT-D support

 

-->이 항목은 포트투칼의 Octal 사가 만들어낸 PCBIT ISDN 카드를 지원하는 항목입니다.

 

< > HiSax SiemensChipSet driver support

 

-->Siemens Chipset 를 사용하는 AVM A1, Elsa ISDN cards, Teles S0-16.0, Teles S0-16.3, Teles S0-8, Teles/Creatix PnP,ITK micro ix1 등 ISDN 카드를 지원해주는 기능입니다.

< > AVM-B1 with CAPI2.0 support

 

-->CAPI2.0 인터페이스를 장착한 AVM B1 카드를 지원해주는 항목입니다.

 

Ξ OLD CD-ROM drivers(not for SCSI or IDE/ATAPI drives)

[ ] Support non-SCSI/IDE/ATAPI CDROM drives

 

-->리눅스 박스에 설치된 CD-ROM 를 지원토록 해주는 기능입니다.요즘 나오는 CD-ROM 은 IDE 나 ATAPI 방식으로 작동되는 CD-ROM 이므로 해당사항이 없고,IDE 나 ATAPI 가 나오기전의 구형모델의 CD-ROM 을 지원해 줍니다. SCSI CD-ROM 를 가지고 있는 사용자 또한 필요없는 기능입니다.

 

 

< > Aztech/Orchid/Okano/Wearnes/TXC/CyDROM CDROM support

 

-->Aztech 사의 CDA268-01A, Orchid 사의 CD-3110, Okano 와 Wearness의 CDD110, Conrad 사의 TXC 및 CyDROM 의 CD-ROM 을 지원해주는 기능입니다.

 

< > Goldstar R420 CDROM support

 

-->LG의 초창기 모델이었던 R420 CD-ROM 을 지원해주는 기능입니다.

 

< > Matsushita/Panasonic/Creative, Longshine, TEAC CDROM support

 

-->마쯔시다 CR-521, CR-522, CR-523, CR-562, CR-563 CD-ROM 및 크리에이티브랩의 CD200, Longshine 사의 LCS-7260,TEAC 사의 CD-55A CD-ROM 등을 지원해주는 기능입니다. 사운드 블라스터와 함께 있던 CD-ROM 들이 대부분이며, 이전에 사운드 블라스터와 함께 CD-ROM 을 구입한 사용자라면 대부분 이 항목에 들어갈 것입니다.

< > Mitsumi (standard) [no XA/Multisession] CDROM support

 

-->미쯔미사에서 제작된 LU-005, FX-001, FX-001D CD-ROM를 지원해주는 기능입니다. 미쯔미사의 FX-001DE CD-ROM 를 가지고 있는 사용자라면 선택해서는 안됩니다. FX-001DE CD-ROM 은 IDE/ATAPI 방식을 지원하기 때문입니다.

 

< > Mitsumi [XA/MultiSession] CDROM support

 

-->미쯔미사에서 제작된 LU-005, FX-001, FX-001D CD-ROM 를 지원합니다. 이항목은 XA 방식이나 Photo CD 를 지원하기도 합니다.

 

< > Optics Storage DOLPHIN 8000AT CDROM support

 

-->34핀 케이블로 작동되는 DOLPHIN 의 CD-ROM 를 지원합니다.

< > Philips/LMS CM206 CDROM support

 

-->CM260 이라는 어댑터카드를 이용하는 필립스사의 CM206 CD-ROM 를지원해주는 기능입니다.

 

< > Sanyo CDR-H94A CDROM support

 

-->이 항목은 산요사의 CDR-H94A CD-ROM 를 지원해주는 기능입니다.

 

< > ISP16/MAD16/Mozart soft configurable cdrom interface support

 

-->ISP16, MAD16, Mozart 등의 CD-ROM 인터페이스 카드를 지원해주는 기능입니다.

< > Sony CDU31A/CDU33A CDROM support

 

-->예전의 SONY 사의 CD-ROM 제품군은 돌핀 제품군과 마찬가지로 34핀 케이블을 사용하였습니다. 이 제품 또한 34핀 케이블을 사용하는 SONY 사의 CDU33A CD-ROM을 지원해 주는 기능입니다.

 

< > Sony CDU535 CDROM support

 

-->SONY사의34핀케이블을사용하는CDU535및CDU-531 CD-ROM 를 지원해주는 기능입니다.

Ξ Character devices

[ ] Vitual terminal

 

-->여러개의 가상 터미널을 실행할수 있는 것은 아마 리눅스에서만 느낄수 있는 강력한 기능이 아닌가 한다.물론 여러개의 X 터미널도 가능하게 해줍니다.

 

[ ] Support for console on Vitual terminal

< > Standard/generic (dumb) Serial Support

 

-->일반적인 시리얼 포트를 사용가능하도록 지원해주는 기능입니다,이더넷을 통해서 웹 서버를 구축하였거나,일반 시리얼 마우스를 사용하지 않고 버스 마우스를 사용하는 사용자는 선택하지 않도록 합니다. 여기서는 시리얼 포트를 사용하는 사용자만 선택하기 바랍니다.

 

[ ] Support for console on Serial port

 

-->시스템 콘솔은 모든 커널 메시지와 경고 메시지를 수취하고 , 단독 사용자 모드에서 로그인을 허용하는 장치입니다.선택시 "console=tty3"와 같은 명령을 사용하여 시스템 콘솔로 사용할 수 있습니다.

 

[ ] Extended dumb Serial driver options

[ ] Support more than 4 serial ports

[ ] Support for Sharing Serial ports (unsafe)

[ ] Autodetect IRQ on Standard ports

[ ] Support special multiport boards

[ ] Support the Bell Technologies HUB6 card

[ ] Non-Standard Serial port Support

[ ] Unix98 PTY Support

(256) Maximum number of Unix98 PTYS in use (0-2048)

< > Parallel printer Support

 

-->25핀 짜리 패러럴 포트를 사용하는 프린터를 사용가능하도록 지원해주는 기능입니다. 여기서 주의할 점은 두개의 패러럴 포트(printer 와 PLIP)를 함께 사용하는 사용자는 이 항목과 PLIP 항목을 같이 모듈(M) 로써 설정하기 바랍니다. 두개의 패러럴 포트를 각각 따로 사용하는 사용자라면 선택합니다.

 

[ ] Mouse Support (not serial mice)

 

-->시리얼 마우스나 마이크로 호환 마우스를 사용하지 않는 버스 마우스나 PS/2 마우스 사용자에게 해당되는 사항입니다.

Mice--->

[ ] Mouse Support (not serial mouse)

 

-->시리얼 마우스를 제외한 장치를 사용가능케 해줍니다.

 

< > ATIXL busmouse support

 

-->이 버스마우스는 ATI 그래픽 카드의 뒷면에 꼽는 요즘은 보기 힘든 마우스입니다.

 

< > Logitech busmouse support

 

-->9핀 짜리의 로지텍 버스 마우스를 사용가능하도록 지원해주는 기능입니다.

 

< > Microsoft busmouse support

 

-->대개 확장 보드에 삽입되는 9핀 짜리의 원형 포트에 꼽히는 마이크로소프트 버스 마우스를 사용가능하도록 지원합니다.

[ ] PS/2 mouse (aka "auxiliary device") support

 

-->PS/2 마우스를 지원하는 항목으로, ATX 보드를 장착한 리눅스박스 라면 일반적으로 PS/2 마우스 포트를 가지고 있습니다. 원형의 6핀짜리 포트를 가진 마우스라면 PS/2 마우스입니다.

[ ] C&T 82C710 mouse port support (as on TI Travelmate)

 

-->PS/2 마우스의 종류인 C&T 82c710 마우스 포트를 사용가능하도록 지원해주는 기능입니다.

 

< > PC110 digitizar pad Support

[ ] QIC-02 tape support

 

-->스카시 방식이 아닌 테이프 드라이버를 사용가능하도록 지원해주는 기능입니다.

[ ] Watchdog Timer Support

 

-->Watchdog라는 기능을 사용가능하도록 해주는 기능입니다. 이기능은 어떠한 파일을 열거나 어떤 파일에 쓰는 일을 1분이상 실패할 경우에 자동적으로 컴퓨터를 리부팅 시키는 기술을 제공합니다.네트워크의 빠른 반응을 얻기 위해서 유용하게 쓰이는 기능중의 하나입니다.

[ ] /dev/nvram Support

 

-->PC에서 CMOS(BIOS)Atari Non-Volatile RAM이라 부르는 비휘발성 메모리 가운데 50bytes를 읽거나 쓸 수 있도록 한다. 하드디스크에 두기는 위험한 데이터나 전원이 꺼져도 잃어버리면 안되는 매우 중요한 데이터를 저장하는데 쓰입니다.

 

[ ] Enhanced Real Time Clock Support

 

-->소프트웨어가 컴퓨터 실시간 시계를 사용할 수 있도록 하는 기능입니다.멀티 프로세서 머신을 가지고 있고 SMP 기능을 사용한다면 선택합니다.또한 주기적인 Data Sampling 등 이 기능을 유용하게 쓸 장치가 있다면 설정합니다.

 

Video for Linux -->

-->FM radio card나 audio/video capture나 Overlay board를 지원해 줍니다. 자신에게 맞는 것이 있나 유심히 살펴보세요..

< >video for linux

< > AIMslab RadioTrack ( aka Radio Reveal ) support

< > AIMslab RadioTrack FF support

< > A : tech/Packard Bell Radio

< > Miro PCM20 Radio

< > Gemtek Radio Card support

< > BT848 Video For Linux

< > Modiavision Pro Movie Studio Video For Linux

< > SAA5249 TeleText processor

< > SF16FMI Radio

< > Typhon Radio ( a.k.a EcoRadio )

< > Zoltrix Radio

 

Joystick Support -->

 

-->Joystick을 이용한 신나는 게임을 사용하고픈 사용자라면

유심히 본후 선택하자..역시 잘 성공하면 다른리눅서를 위해

성공담을 댓글 달아주시면 고맙겠습니다..(^___^);;

 

< > Joystick support

< > Classic PC analog joysticks gamepads

< > FPGaming and MadCatz A3D controllers

< > Gravis GrIP joysticks gamepads

< > Logitech Digital joysticks gamepads

< > Microsoft SideWinder, Genius Digital joysticks and gamepads

< > ThrustMaster DirectConnect joysticks and game pads

< > PDPI Lightning 4 gamecards

 

 

 

 

< > Double talk PC internal Speech card Support

Ftape,the floppy tape device driver--->

 

-->플로피 컨트롤러에 연결되어 있는 테이프 드라이브를 가지고 있는 사용자라면 이 항목을 설정하기 바랍니다. 일반 사용자에게는 필요없는 항목입니다.

 

Ξ USB drivers - not for the faint of heart

-->이기능 역시 미래의 표준으로 자리잡아 가고 있죠.^^;;

< > Support for USB ( Expermental )

< > UHCI ( intel PIIX4 and others ) support

< > OHCI ( compaq and some others ) support

< > OHCI-HCD ( other OHCI opt,virt,Root HUb ) support

< > USB hub support

< > USB mouse support

< > USB keyboard support

< > USB audio parsing support

< > USB abstract control Model support

< > USB printer support

< > USB SCSI support

 

Ξ File systems

 

[ ] Quota support

 

-->사용자에게 사용할수 있는 디스크 공간을 제한할수 있는 아주 유용한 기능입니다. 웹호스팅이나 학과서버를 운영하려 한다면 선택하는 좋습니다.

 

< > Kernel automounter support (experimental)

 

-->요청에 따라 원격 파일시스템을 자동으로 마운트할수 있게 해줍니다.BSD의 amd와 다르게 매우 적은 사용자 공간을 차지하는 데몬이다. 이 기능을 사용하려 한다면 "NFS Filesystem Support"항목도 선택합니다.

 

< > Amiga FFS filesystem support (EXPERIMENTAL)

< > Apple Macintosh filesystem Support

< > DOS FAT fs support

 

-->FAT 기반의 MSDOS fs Support,VFAT(Windows-95) fs support등 MS의 파일시스템을 자주 마운트하여 사용한다면 선택합니다.대신 아래 사항을 선택해 줘야 한다. 버트, umsdos항목은 항목은 절대 선택하지 않길 바랍니다.

< > MSDOS fs support

< > umsdos: Unix like fs on top of std MSDOS FAT fs

< > VFAT (Windows-95) fs support

< > ISO9660 cdrom filesystem support

 

-->ISO에서 제안한 시디롬을 위한 표준 파일시스템입니다.시디롬을 자주 마운트하여 쓴다면 필수요,아니더라도 꼭 선택하길 바랍니다.

 

[ ] Microsoft joliet CDROM extentions

 

-->Microsoft에서 개발한 유니코드 형식의 긴 파일이름을 지원하는 확장 ISO 9660CDROM 파이시스템입니다.

 

< > Minix fs support

 

-->토발즈처럼 이것으로 커널공부를 시작해 볼수 있습니다.

단 아시는분만 선택하세요.

 

< > NTFS filesystem Support (read only)

 

-->Microsoft NT filesystem을 읽을수 있게 해줍니다.

 

[ ] NTFS read-write Support (DANGEROUS)

 

-->위험합니다.선택하지 마세요.

 

[ ] OS/2 HPFS filesystem support (read only)

 

-->OS/2 filesystem 을 읽을수 있게 해줍니다.

[ ] /proc filesystem support

 

-->커널과 프로세스를 위한 가상의 파일시스템입니다.실제로 디스트공간을 차지하지는않지만 프로세스 정보 등을 볼수 있게 해줍니다.

 

[ ] /dev/pts filesystem Support (readonly)

 

< > QNX filesystem Support

 

-->QNX4 운영체제에서 사용하는 파일시스템입니다.

 

< > ROM filesystem Support

 

-->주로 인스톨 디스크의 램디스크를 초기화하려는 매우 작은 읽기전용 파일시스템입니다.

 

< > Second extended fs Support

 

-->현재 리눅스에서 사용하는 파일시스템입니다.반드시 선택합니다.

 

< > System V and Coherent filesystem support

-->Xenia와 Cherent와 같은 인텔 기종을 위한 상용 유닉스 시스템을 지원합니다.

 

< > UFS filesystem support (read only)

 

-->BSD와 Unix에서 파생된 버전(SunOS,FreeBSD,NetBSD,OpenBSD,NextStep)들은 UFS라는 파일시스템을 사용합니다.어떤 System V 유닉스는 디스크 파티션이나 플로피 디스크에 UFS 파일시스템을 사용하기도 합니다.NFS를 사용한다면 이 옵션을 선택하면 안됩니다.

Network filesystems-->

< > Coda filesystem support ( advanced networks fs )

-->NFS와 비슷한 진보된 네트워크 파일시스템입니다.비접속 운영,캐시,보안과 인증 등 NFS보다 좋은 점이 몇가지 있읍니다.이것을 선택하면 Coda 클라이언트로 동작하며 서버와 클라이언트 모두 지원해야 합니다.

 

< > NFS filesystem support

 

-->네트워크 파일시스템을 지원합니다.

 

< > SMB filesystem support (to mount WfW shares etc.)

 

-->리눅스에서 MS windows 95,98/NT 네트워크 자원을 공유할수 있게 해주는 기능입니다.NT와 windows 95,98 함께 네트워크를 사용한다면 유용하게 쓰입니다.

 

 

< > NCP filesystem support(to mount NetWare volumes)

 

-->NCP(Netware Core Prptocol)은 IPX 를 이용한 랜 프로토콜입니다.

[ ] Packet signatures

 

-->NCP에 보안을 강화시켜 주는 기능을 제공합니다.

 

[ ] Proprietary file Locking

 

-->리모트 볼륨상에 레코드를 locking합니다.

 

[ ] Clear remove/delete inhibit when neede

 

-->파일 플래그 조작을 허용합니다.

 

[ ] Use NFS namespace if available

[ ] Use long ( os/2 ) namespace if available

[ ] Allow mouthing of volume subdirectories

[ ] Use Native language Support

[ ] Enale symbolic links and Execute flags

Partition Types ->

[ ] BSD disklabel ( BSD partiton tables ) support

[ ] Macintosh partition map Support

[ ] SMD disklabel ( sun partition tables ) support

[ ] Solaris ( X86 ) partition table support

[ ] SGI disklabel support

Native Language Support -->

-->아쉽게도 아직한국어의 지원이 없습니다.한글 코드페이지를 949를 사용하려면 패치를 수행해야 합니다.

 

Ξ Consoledrivers

[ ] VGA text console

[ ] Video mode Selection Support

Ξ Sound

< > Sound card support

 

-->자신의 리눅스박스에 사운드 카드가 있다면 선택합니다.

 

< > C-media PCI (CMI8338/8378 )

< > Ensoniq AudioPCI

< > Creative Ensoniq AudioPCI 97 (ES1371)

< > S3 SonicVibes

< > Support for Turtle Beach MutiSound Classic, Tahiti , Monterey

< > Support for Turtle Beach MutiSound Pinnacle, Fiji

< > OSS sound modules

 

-->OSS(Ooen Sound System)사운드 카드 드라이버 모음입니다.

선택시 아래아 같이 다양한 항목이 나옵니다.

 

< > ProAudioSpectrum 16 support

 

-->ProAudioSpectrum 16, ProAudio Studio 16,Logitec SoundMan 16 사운드 카드를 리눅스에서 사용가능하도록 지원해주는 기능입니다. Media Vision 또는 Logitec 에서 나오는 다른 사운드 카드를 가지고 있는 사용 자라면 선택합니다.버트, PAS16 과 호환되지 않습니다.

 

< > 100% Sound Blaster compatibles (SB16/32/64,ESS,Jazz16) support

 

-->사운드 카드중에서 가장 일반적으로 사용되는 사운드 블라스터와 사운드 블라스터 호환 사운드 카드를 설정하는 항목입니다. 자신의 사운드 카드가 사운드 블라스터 이거나 사운드 블라스터호환이라고 생각되면 선택합니다.

 

< > Generic OPL2/OPL3 FM synthesizer support

 

-->사운드 카드가 야마하사에서 만든 FM 칩을 가지고 있는 사용자라면 선택한다. 대부분의 사운드 카드는 야마하의 FM 칩을 사용하며, 사운드 블라스터 계열의사운드 카드는 기본적으로 들어있는 칩입니다. 사운드 블라스터 나 사운드 블라스터 호환 사운드 카드를 가진 사용자라면 선택 합니다.

 

< > Gravis Ultrasound support

 

-->Gravis Ultrasound card를 사용가능하게 해줍니다.

 

< > MPU-401 support (NOT for SB16)

 

-->사운드 카드의 미디 인터페이스인 MPU-401 을 지원하는 기능인데, 거의 모든

사운드 카드가 이 인터페이스를 채택하고 있읍니다. 그렇다고 해서 무조건 선택해서는 안됩니다, 진짜로 MPU-401 미디 카드가 있는 사운드 카드를 가지고 있는 사용자만 선택합니다. 사운드 블라스터 계열 가지고 있다면 선택하면 안됩니다.

< > PSS (AD1848,ADSP-2115,ESC614) support

 

-->PSS 칩에 기반을 둔 Orchid SW32, Cardinal DSP16 사운드 카드를 사용가능하도록 지원해주는 기능입니다.

 

< > Microsoft Sound System support

 

-->사운드 블라스터 사용자라면 주의를 기울여야 하는 부분입니다. 사운드 블라스터 계열 중 마이크로 소프트 사운드 시스템을 지원하는 사운드 카드를 가지고 있는 사용자라면 이 항목을 선택하기 바랍니다.이유는 사운드 블라스터 항목을 선택하게 되면 사운드는 8Bit 로 작동하게 되고, 이항목을 선택하면 16Bit 로 작동하게 됩니다. 사운드 블라스터 항목과 이 항목을 같이 선택할수는 없읍니다. 사운드 블라스터 계열의 사운드 카드를 가지고 있는 사용자는 일단 매뉴얼을 유심히 보고 나서 자신이 마이크로 소프트 사운드 시스템을 지원한다고 확신이서면 이 항목을 선택하기 바랍니다.

 

< > Ensoniq SoundScape support

 

--> Ensoniq SoundScape 칩셋에 기반을 둔 사운드 카드를 지원합니다.

< > MediaTrix AudidTric Pro support

 

--> MediaTrix AudioTrix Pro 사운드 카드를 사용가능 하도록 지원해주는 기능입니다.

 

< > Support for OPTi MAD16 and/or Morzart based cards

 

-->Mozart(Oak OTi-601) 이나 MAD16(OPTi 82C928/82C929) 칩셋을 기반으로 하는 사운드 카드를 사용가능하도록 해줍니다.

 

< > Full support for Turtle Beach WaveFront (Tropez Plus, Tropez)

< > Support for Crystal CS4232 based (PnP) cards

 

-->Crystal CS4232 칩셋을 기반으로 하는 사운드 카드를 사용가능하도록 지원해주는 기능입니다.

 

< > Support for Aztech Sound Galaxy (non-PnP) cards

< > Limited support for Turtle Beach Wave Front (Maui,Tropez)

< > Support for Aztech Sound Galaxy (non-PnP) cards

< > Yamaha OPL3-SA1 audio controller

< > SoftOSS software wave table engine

< >FM synthesizer(YM3812/OPL-3 ) support

 

-->이 항목은 FM 신서시저를 사용가능하도록 지원해주는 기능입니다. 선택합니다.

 

< > Loopback MIDI device support

 

-->MIDI는 FM과 다르게 실제 소리를 음원으로 합니다./dev/sequencer 와 /dev/music 을 이용한 MIDI포트의 접속과 /dev/midixx를 사용하지 않을 거라면 선택하지 않는게좋습니다.

 

< > 6850 UART support

Additional low level sound drivers --->

< > Additional low level sound drivers

 

-->추가적인 기본등급 드라이버를 사용할 것 인가를 설정하는 기능입니다. AWE사운드 블라스터를 사용한다면 선택합니다.

 

< > ACI mixer (microPCM12)

 

-->이 항목은 ACI 믹서를 사용가능하도록 지원해주는 기능입니다. ACI 믹서를 지원하도록 설정하려면 선택합니다.

 

< > AWE32 synth

 

-->사운드 블라스터의 AWE32 신디 사운드를 사용할수 있게 지원해주는 기능입니다. 자신의 사운드 카드가 AWE 지원 사블을 가지고 있다면 선택합니다. 또한, Emu8k 도 지원합니다.

 

< > Gallant Audio Cards (SC-6000 and SC-6600 based )

 

 

 

 

Ξ Kernel hacking

 

[ ] Kernel profiling support

 

-->이 항목을 설정하면 커널에서 이루어지는 모든 절차들이

/proc 라는 디렉토리에 profile 이라는 파일로써 저장되어

파일을 읽어서 절차들을 확인할수 있게 해줍니다.

커널의 내부 구조를 알고 싶은 사용자라면 선택해봅니다.

 


 ---------------------------
출처 :: 한국 LUG KOREA

---------------------------

2008. 7. 18. 01:22

linux -snort , oinkmaster , 자동룰 업데이트

snort의 룰 파일을 항상 최신으로 유지해보자..

# http://nchc.dl/sourceforge.net/sourceforge/oinkmaster/oinkmaster-2.0.tar.gz
# tar xvfz oinkmaster-2.0.tar.gz
# cd oinkmaster-2.0 ; ls
# cp oikmaster.pl /user/local/bin             // oinkmaster를 패스변수에 등록되어지게끔 하기 위해
# cp oikmaster.conf /etc/snort
# cd contrib && ls
# ./makesidex.pl /etc/snort/rules > /etc/snort/aaa.conf
# vi /etc/snort/oinkmaster.conf
52 주석 제거후 <oinkcode> 항목을
oinkcode : 6ef3413ed223eef4ae68b2bb43ce7b9b1b026f7c          로 바꾸자 < > 없어야 한다.
                or
                550a8353a52415adbd2f47770bf153bc5318bd1a     
# oinkmaster.pl --help
# chown -R root.root /etc/snort/             oinkmaster가 룰을 업데이트후 저장할 수 있도록 하기 위해 소유자를 첸지    .. 딴데? 서는 snort.snort로 바꾸기도 하는데 그 차이를 잘 모르겠다.// root.root로 테스트 했을때는 잘되었다.
# ls -l /etc/snort/rules/*.rules | wc -l > /tmp/old_rules.txt
# cat /tmp/old_rules.txt
48
# rdate -s time.bora.net    // 시간 동기화
# oinkmaster.pl -v -o /etc/snort/rules -C /etc/snort/oinkmaster.conf -C /etc/snort/aaa.conf
-v 자세히
-o 저장될 목적지
-C 설정파일 위치   / /헌데 설정 파일 위치가 두개 나온것은 업데이트 되기전
                           // aaa.conf파일에서 목록을 저장된것과 비교후 업데이트 하기 위한것으로 추정된다.
업데이트 완료후
# ls -l /etc/snort/rules/*.rules | wc -l > /tmp/newrules.txt
# cat /tmp/oldrules.txt
# cat /tmp/newrules.txt        // 업데이트 된것을 알 수 있다.

정기적인 업데이트
---------------------------------------------------------------------------------------------------
정기적 작업을 위해서
crontab을 이용하여 등록 시켜 보자.
# vi /etc/contab
분 시 일 주 달
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
사용자 삽입 이미지

# sevice cond restart

---------------------------------------------------------------------------------------------------



TIP
---------------------------------------------------------------------------------------------------
snort 부팅시 자동 실행
/etc/rc.d/rc.local
에다
snort -c /etc/snort/snort.conf -D                   // 실행문을 넣게 되면 부팅시 자동 실행 하게 된다.
---------------------------------------------------------------------------------------------------
2008. 7. 18. 00:24

linux - snort , DB 연동 , apache . webserver 연동

snort , DB , apache
---------------------------------------------------------------------------------------------------------
snort 에 의해 생긴 자료를 DB와 연동 시켜 보았지만 이를 분석 하기가 상당히? 까다롭다 .
해서 웹상에서 간편히 볼 수 있도록 웹서버와 연동시켜 보자.
---------------------------------------------------------------------------------------------------------

아파치 서버 설치
---------------------------------------------------------------------------------------------------------
아파치를 돌리기 위해서는 APM ( httpd, php-gd, php-mysql)관련 패키지가 필요하다.
또한 adodb, base source 도 필요하다.

[centos]
사용자 삽입 이미지
필요한 패키지를 yum을 이용해 설치 하자.

역시 adodb, base source도 받자
사용자 삽입 이미지
# tar xvfz adodb495a.tgz -C /var/www
# tar xvfz base-1.3.6.tar.gz -C /var/www/html        // -C    풀릴 위치 지정
# cd /var/www ; ls
adodb  cgi-bin  error  html  icons                 //adodb
# cd html ; ls
base-1.3.6
# mv base-1.3.6/ base
# cd base
# ls
# cp base_conf.php.dist base_conf.php
# vi base_conf.php

48 $BASE_urlpath = '/base';
70 $DBlib_path = '/var/www/adodb';
92 $alert_dbname   = 'snort';
95 $alert_user     = 'base';
96 $alert_password = 'base123';               // 각각 수정


# service httpd start             // 웹데몬 시작 . mysql 이 정지 되어있다면 시작시켜야한다.
사용자 삽입 이미지
인터넷 창을 열어 확인
setup page   광클
사용자 삽입 이미지

create BASE AG를 누르게 되면 DB를 바탕으로 웹페이지가 생성 된다.
사용자 삽입 이미지

여기서 HOME을 눌른 다음 그 페이지에서 각각 끌리는? 것에 눌러 보면 /var/log/snort에서 본 정보가
일목 요연? 하에 보여진다는 것을 알 수 있다.
2008. 7. 17. 01:41

linux - snort , DB 연동

snort LOG를 DB로
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DB를 생각 하면 머리에 쥐가..쳇..

DB언어
DDL ( 정의어 ) : create, drop, alter
DML ( 조작어 ) : select, insert, update, delete(데이터만 삭제)
DCL ( 제어어 ) : grant, reboke , deny

성능에 따라
IBMDB2   >    Oracle > MS- SQL > Access > excel  > my- sql
순으로 성능이 좋고 가격도 좋다? 비싸다 ㅡㅡㅋ
--------------------------------------------------------------------------------------------------------

실습
--------------------------------------------------------------------------------------------------------
[centos]
[root@centos ~]# rpm -qa | grep sql
sqlite-3.3.6-2
python-sqlite-1.1.7-1.2.1
hsqldb-1.8.0.4-3jpp.4
mysql-5.0.22-2.2.el5_1.1
php-mysql-5.1.6-15.el5
postgresql-libs-8.1.9-1.el5
mysql-server-5.0.22-2.2.el5_1.1                    // mysql-server가 있따.
없다면
# yum -y install mysql-server                     // 의존성 패키지 (mysql, perl-DBD-MYSQL, perl-DBI)
사용자 삽입 이미지

yum설치 하면 잘됩니다.

//fedora 가 아닌 centos다 이미지의 제목이랑 다르다..잠결에 엉뚱한데다....

[root@centos ~]# service mysqld start
어찌 됐는 okok 뜨면서 실행 된다. ㅡㅡ/
# netstat -ntlp   // 3306 포트 확인
# /usr/bin/mysqladmin -u root password '123456'      
                                     // 처음 접속시 관리자 계정과 패스워드를 설정해줘야 한다.
mysql> show databases;
mysql> create database snort;
mysql> use snort;
mysql> show tables;

[fedora]
// snort를 받아 압축을 푼 폴더로 이동
# cd /tmp/snort
# make clean    // 컴파일된 파일 삭제
# reset             // 메모리 올려진 컴파일 삭제
// 재 컴파일 하자
# ./configure --prefix=/etc/snort --with-mysql && make && make install
or
# ./configure  --with-mysql && make && make install
// 여기서 주의할 점은 나중에 # snort -c snort.conf 로 실행 했을때 에러가 뜨면
위의 작업을 다시 해야한다.  --prefix  부분을 삭제하고 다시 하자.
# ehco $?
0
# vi /etc/snort/snort.conf
/mysql
830
사용자 삽입 이미지
output database 부분을 수정하자
alert 와 log를 mysql 로 내보낼때 쓰인다.
user snort가 DB에 쓸때 쓰일 계정이다. 임의로 해도 된다 . 단 mysql에서 맞춰우어야 하낟.
dbname - snort가 데이터가 들어갈 db
host   db가 저장될 host
수정후 저장
/tmp/snort-2.6.1.5/schemas 로 이동 후
# pwd
/tmp/snort-2.6.1.5/schemas
# ls
Makefile     Makefile.in  create_mssql  create_oracle.sql
Makefile.am  create_db2   create_mysql  create_postgresql
# more create_mysql    // snort에 쓰일 db구문이 있다.
# scp create_mysql root@192.168.10.30  //centos로 이동

[centos]
다른 터미널로 로긴
# mysql -u root -p snort < create_mysql   // 리다이렉션을 이용 snort 테이블에 대해 create_mysql문 적용

sql접속되어있는 터미널에서
mysql> shoq tables;
mysql> select * from data;
mysql> select * from signature;     // data, sig 둘다 비어있다.
mysql> use mysql;
mysql> select host,user,password form user;
계정에 권한을 주자
mysql> grant CREATE,SELECT,INSERT,UPDTE,DELETE on snort.* to base@localhost;
                      //base@localhost 에게 CREATE ~~등등의 권한 할당
mysql> set password for base@localhost=PASSWORD('base123');
                      // 암호 설정
mysql> grant CREATE,SELECT,INSERT,UPDATE,DELETE on snort.* to base@192.168.10.10;
                      //base@192.168.10.10 에게 CREATE ~~등등의 권한 할당                     
mysql> set password for base@192.168.10.10=PASSWORD('base123');
                       //암호설정
mysql> select host,user,passwrod from user;  
                       // 권한이 grant되어진것을 확인 할 수 있다.

[fedora]
# snort -c /etc/snort/snort.conf
정상 실행 되는지 확인해보자
만약 메모리가 모자르다면 일단 필요없는 프로세스 를 잠깐 끄자.
ctrl +z
# pkill -9 snort
# snort -c /etc/snort/snort.conf -D

[centos]
# nmap -sS -O -v 192.168.10.10           // 스캔

sql이 켜진 터미널로 이동
mysql> user snort;
mysql> select * from data;
mysql> select * from signature;      // 데이터가 생성 된것을 볼 수 있다.!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


2008. 7. 16. 13:11

linux - snort , NIDS , 침입탐지모드


3. 침입탐지 모드
------------------------------------------------------------------------------------------------------
rule 을 이용하여 캡처된 패킷과 비교 후 경고 및 기록

[fedora]
받은 패키지를 푼 디렉토리로 이동하자
# cd /tmp
# cd snort-2.6.1.5
# ls
COPYING        aclocal.m4     configure     libtool        snort.8
ChangeLog      config.guess   configure.in  ltmain.sh      src
LICENSE        config.h       contrib       m4             stamp-h1
Makefile       config.h.in    depcomp       missing        templates
Makefile.am    config.log     doc           mkinstalldirs  verstuff.pl
Makefile.in    config.status  etc           rpm
RELEASE.NOTES  config.sub     install-sh    schemas
# cd etc
# mkdir /etc/snort             // 룰 적용을 위한 설정 폴더
# cp * /etc/snort -v          // 설정파일  복사
# cd /etc/snort
# vi snort.conf
사용자 삽입 이미지
사용자 삽입 이미지
46 line 에서 자신의 네트워크 대역으로 수정
114 line 에서 rule의 위치를 절대경로 로 수정 후 저장

# ls /var/log/snort       // 기존 로그가 있다면 삭제
# rm -rf /var/log/snort/*

snort 구동
#  pwd
/etc/snort
# snort -c snort.conf      // -c conf 파일 위치
                                   // rule파일이 없어서 error
# wget http://www.snort.org/pub-bin/downloads.cgi/Download/vrt_pr/snortrules-pr-2.4.tar.gz
            // rule 다운로드
# ls
# tar xvfz snortrules-pr-2.4.tar.gz     // snort rule파일을 풀어 주자 # pwd 는 /etc/snort
# ls                                               // rules     폴더가 생겼다.
사용자 삽입 이미지
# snort -c /etc/snort/snort.conf
에러가 메시지가 뜬다 . 아마도?     web-misc 부분일것이다.
snort.conf 파일 수정하자
# vi /etc/snort/snort.conf
/web-misc
해당 라인을 주석 처리 하자.
사용자 삽입 이미지
수정후 재실행
# snort -c /etc/snort/snort.conf

/var/log/snort          폴더 가 없다는 이유로 에러가 뜰수 있다.
# mkdir /var/log/snort      
# snort -c /etc/snort/snort.conf
정상 작동 된다면
ctrl + z
강종
# ps -ef | grep snort       // snort 는 아주 독한? 프로그램이라 ctrl +z 만 먹는다.
                                    // 종료후 남은 프로세스를 킬해주자
    snort pid #
# kill -9 # ( snort pid )
or     // 귀찮다면 아래처럼 해도 된다.
# pkill -9 snort
# ps -ef | grep snort

# snort -c /etc/snort/snort.conf -D      // -D 데몬 형태로 백그라운드에서 실행

[ centos ]
# nmap -sS -O -v 192.168.10.10            // fedora로 스캔 땡겨보자

[ fedora ]
# ls -l /var/log/snort
alert    외 snort.log.xxxx     파일이 생성되었다. 탐지 했다는 뜻 ㅡㅡ/
# cat alert | more
# cat snort.log.xxxx // 꺠져 보인다.   alert는 그냥 볼 수 있지만 log파일은 snort로 보자.
# snort -r /var/log/snort/snort.log.xxxx
------------------------------------------------------------------------------------------------------

2008. 7. 10. 14:37

linux - snort , NIDS

snort
------------------------------------------------------------------------------------------------------
1. snort 는 공개형 s/w 가장 대표적인 침입탐지 시스템이다
2. 패킷 수집 라이브러리인 libpcat에 기반한 네트워크 스니퍼로 정의되며 침입탐지 rule들에 일치 하는 네트워크 트래픽을 감시, 기록, 경고 할 수 있다.
3. Overflow, Stealth 포트 스캔, CGI공격, SMB탐색, OS확인 시도등 다양한 공격에 대해 탐지가 가능하다.
4. 탐지 룰은 지속적으로 업데이트 되며, 자신이 직접 작성할 수 있으므로 최신의 공격에 대응이 가능하다.
------------------------------------------------------------------------------------------------------


SPAN을 이용한 snort 구성
------------------------------------------------------------------------------------------------------
switch에 물린 각 client가 물려져 있다면 이에 더해서 IDS를 같이 물려 사용할 수 있다.
이때 이용하는 방법이 switch에 SPAN이다. 또는 미러링 포트, 모니터 포트라고도 한다.
 ----------------------------
|ㅁ     ㅁ     ㅁ      ㅁ       ㅁ    ㅁ    |      Switch
-+---+------------------+--
  |       |                                     |
clientS ....                                  IDS
------------------------------------------------------------------------------------------------------


설치 전 준비사항
------------------------------------------------------------------------------------------------------
libpcap
             :    http://www.tcpdump.org
             :    libpcat v0.9.8
             :    wget http://www.tcpdump.org/release/libpcap-0.9.8.tar.gz
pcre
             :   http://sourceforge.net/progect.showfiles.php?group_id=10194
             :   pcre       ,     pcre-devel
snort
             :  snort v2.6.1.5
             :  소스    http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz
             :  sign     http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
             :  공개키        http://www.snort.org/sl/pubkeys/public_key_2601
------------------------------------------------------------------------------------------------------

설치
------------------------------------------------------------------------------------------------------
사용자 삽입 이미지

libpcap과 pcre는 설치되어있으나 pcre-devel은 없다. yum을 통해서 설치하자. 역시 앞의 두가지도 없다면 설치하자
사용자 삽입 이미지

snort 설치
 
사용자 삽입 이미지

# wget http://www.snort.org/dl/old/snort-2.6.1.5.tar.gz.sig
# wget http://www.snort.org/sl/pubkeys/public_key_2601
# gpg --import public_key_2601
# gpg --list-key                   // 공개키값을 확인하자
# gpg --edit-key ####(공개키값 )
                            command> trust
                            command> 5     
                                                    y
                            command> quit
# gpg --verify snort-2.6.1.5.tar.gz.sig snort-2.6.1.5.tar.gz
                  // 하게 되면 good signature 어쩌구 저쩌구 나온다
이작업은 snort에 대한 변조 유무를 확인 하는작업이다.
tip . 에러 메시지 뜰때는 # rdate -s time.bora.net으로 시간 동기화를 해보길 바란다.
# tar xvzf snort-2.6.1.5.tar.gz
]# cd snort-2.6.1.5
# ls
COPYING        aclocal.m4    contrib     m4             src
ChangeLog      config.guess  depcomp     missing        templates
LICENSE        config.h.in   doc         mkinstalldirs  verstuff.pl
Makefile.am    config.sub    etc         rpm
Makefile.in    configure     install-sh  schemas
RELEASE.NOTES  configure.in  ltmain.sh   snort.8
# ./configure && make && make install
# echo $?

touble 발생
사용자 삽입 이미지

헌데 문제가 생겼다 libpcap 문제로 설치 중단이 되었다. 해서 원본 소르를 받아 설치하려
tcpdump 사이트를 뒤져 봤으나
사이트가 문을 닫은 상태였다 ..
해서 일단 중지
------------------------------------------------------------------------------------------------------
하여 이리저리 문서를 찾은 결과

CentOS에서는 libpcap-devel을 설치 한뒤에 해야 한단다. 설치해야 한다는건지 필요하다는건지''
죄 영어라 원..
fedora 로 썼을때는 따로 설치 한 기억이없었는데 이거원..... 가짢은게 괴롭힌다...
http://www.snort.org/archive-11-4370.html

# yum -y install libpcap-devel
설치후
# ./configure && make && make install
이자 잘된다 ㅡ.,ㅡㅋ
# echo $?
0
설치끝 ㅡ.,ㅡ헥헥
------------------------------------------------------------------------------------------------------

snort의 동작 방식
------------------------------------------------------------------------------------------------------
1. 스니핑 모드 (ethereal 처럼 패킷을 캡쳐, 화면에 출력)
2. 로깅 모드(파일에 저장)
3. 침입탐지 모드
------------------------------------------------------------------------------------------------------

1. 스니핑 모드
------------------------------------------------------------------------------------------------------
[fedora]
# snort -v
[centos]
# nmap -sS -O -v 192.168.10.30                           // 조금 하다가 중지
[fedora]
관찰 정보가 주르르륵 뜬다 탐지가 된다는것
[centos]
ctrn +z
# pkill -9 snort
# ps -ef | grep snort
snort가 남아있는지 확인~
------------------------------------------------------------------------------------------------------

2. 로깅 모드(파일에 저장)
------------------------------------------------------------------------------------------------------
# snort --help
                        -K <mode> : logging mode (pcap (default), ascii, none)
# snort -vde -K ascii                    // log 디렉토리가 없어 에러
# mkdir /var/log/snort                  로그 디렉토리 생성
# snort -vde -K ascii       
                         -v: verbose
                         -d : dump the application layer
                         -e : display the second layer header info
                         -vde : layer 2~7 packet 정보 감시
[xp]
telnet 192.168.10.10 [fedora]
------------------------------------------------------------------------------------------------------

2008. 7. 10. 13:41

linux - IDS

침입 탐지 시스템
-----------------------------------------------------------------------------------------------------
방화벽을 성문에 비유했을 때 성문에서 철저히 감시한다고 해도 성 안에서 나쁜짓을 하는 경우도 있다. 어디나 구멍은 있기 마련이다. 특히 개구멍 ''
아무튼 이런 경우를 캐치 하기 우해 경찰과 같은 감시가자 필요하다.
이것이 바로 IDS다
이번에 다뤄볼 것은 snort로   네트워크 기반의 침입탐지 시스템이라고도 하며 NIDS라 한다.
-----------------------------------------------------------------------------------------------------

IDS의 3가지 특성
-----------------------------------------------------------------------------------------------------
1. 무결성(intergrity)
 - 자원이 훼손되거나 변경되지 않음을 뜻한다. 해커에 의해서 귀중한 정보를 파괴 당하거나 정보의 내용이 변경되었다면 해커는 자원의 무결성을 해치는 침입자인것이다.

2. 가용성(availabillty)
 - 권한을 가진 사용자에게는 접근이 언제나 가능함을 뜻한다. 해커에 의해서 자원의 접근을 방해 받는 다면 해커는 지금 자원의 가용성을 해치고 있는 침입자이다.

3. 기밀성(confidentiality)
 - 자원으로 접근은 권한은 가진 사람만이 가능하다는 것을 뜻한다. 공개가 되면 안되는 중요한 정보가 해커에 의해서 공개가 된다면 해커는 기밀성을 해치는 침입자이다.
-----------------------------------------------------------------------------------------------------

IDS의 분류
-----------------------------------------------------------------------------------------------------
호스트 기반 IDS(Tirpwire, AIDE(파일 ,디렉토리), Portsentry(port)...)
- 바이러스 , 백도어 탐지 , 설치 및 유지 비용 저렴

네트워크 기반 IDS(snort(free), Etrust Intrustion Dection, RealSecure)
- 오탐율 높다, 트래픽이 높은 곳에서는 유용하지 않다., 네트워크 전체에 대한 트래픽 감시 및 검사 가능, 초기 설치 비용 높다.
-----------------------------------------------------------------------------------------------------

HIDS vs NIDS
-----------------------------------------------------------------------------------------------------
HIDS는 보통 O/S 의 일부로서 작동된다. 전체적인 네트워크에 대한 침입탐지는 불가능하며 스스로가 공격 대상이 될때만 침입탐지 할 수 있다.
NIDS 는 네트워크에 하나의 독립적으로 운용된다. TCPdump도 하나의 NIDS가 된다. TCPdump를 기반하는 것이
snort이다. HIDS로 할 수 없는 네트워크 전반에 대한 감시할 수 있으며 보통 스위칭 환경에 물려 있고 또한 ip를 소유 하지 않아 침입 공격에 대해 거의 완벽한? 방어를 할 수 있다.
-----------------------------------------------------------------------------------------------------

IDS 의 요소 ,기능
-----------------------------------------------------------------------------------------------------
자료의 수집(Raw Data Collection)
자료의 필터링과 축약(data Reduction and Filtering)
 - 수집된 자룡를 한곳에 모아 상호 연관 분석을 통해 좀더 효과를 누릴 수 있다. 또한 보안이 강화된 시스템에 자료를 보관 함으로써 침입에 대한 자료 손실을 막을 수 있다. 또한 IDS는 자료가 매우 크기 때문에 효과적으로 필터링 하는 방법도 필요하다.

침입 탐지(Analysis and Intrusion Detection)
 - 오용탐지 (Misuse Detection)  : 이미 발견된 패턴에 대해서 탐지
 - 이상탐지 (Anomaly Detection) : 정상 상태를 기준으로 이상에 대한?(정량적 분석, 통계적분석, ...)에 대한 인공지능으로 탐지, 역시 오탐율이 높다.
책임 추적성과 대응(Reporting and Response)
-----------------------------------------------------------------------------------------------------


IDS vs IPS
-----------------------------------------------------------------------------------------------------
IDS - detection
       - 단순히 침입에 대한 메시지를 남겨 주지만.
IPS - prevention
       - IPS는 detection 을 넘으 탐지 한 결과에 대해 prevention 까지 겸한다 , 좀더 능동적인~
-----------------------------------------------------------------------------------------------------

NIDS의 설치 위치
-----------------------------------------------------------------------------------------------------
1, 패킷이 라우터로 들어오기전
2. 라우터 뒤
3. 방화벽 뒤
4. 내부 네트워크
5. DMZ
-----------------------------------------------------------------------------------------------------

2008. 7. 8. 23:38

linux - 침입차단 , portsentry , IDS

portsentry , IDS

portsentry 는  host기반 침입 탐지 시스템으로 열려 있는 모든 포트를 모니터링 할 수 있는 것이 특징이다.
포트 스캔 공격을 받았을 경우 방화벽과 연동하여 보안정책을 구성 할 수 있다.


특징 ( 차단방법)
----------------------------------------------------------------------------------------------------
호스트로 들어오는 모든 패킷을 ROUTE명으로 DROP시킬 수 있다.
      xinetd 기반의 서비스에 접근하지 못하도록  /etc/hosts.deny 파일을 갱신 할 수 있다. (tcpd)
      연결을 막지 위해 iptables와 연동가능
----------------------------------------------------------------------------------------------------


다운로드
----------------------------------------------------------------------------------------------------
http://rpm.pbon.net

# wget ftp://ftp.pbone.net/mirror/ftp.falsehope.net/home/tengel/centos/4/te/i386/RPMS/portsentry-1.2-1.te.i386.rpm  // centos용

http://rpmfind.net
http://centos.org
----------------------------------------------------------------------------------------------------

설치
----------------------------------------------------------------------------------------------------
portsentry                 실행파일
portsentry.conf          환경설정 파일
portsenty.history        거부된 host정보 저장
portsenty.ignor          감시예외파일
----------------------------------------------------------------------------------------------------


실행 모드
----------------------------------------------------------------------------------------------------
portsentry 는 스캔 공격자가 스캔을 하기 위해 사용하는 다양한 공격에 대비하여 탐지하고 싶은 공격에 따라서 여러가지 방법으로 실행가능
----------------------------------------------------------------------------------------------------

실행 옵션
----------------------------------------------------------------------------------------------------
-tcp / -udp       : 표준 tcp/udp host기반 IDS로 동작
-stcp / -sudp   : 스텔스 tcp/udp 스캔 감시
-atcp / -audp   : portsentry.conf 파일에 지정한 port 에 어떤 host도 접근하지 못하도록 설정
----------------------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------------------
[fedora]
위에서 받은 rpm 패키지를  설치 하자
# rpm -Uvh portsentry
# rpm -ql portsentry
# cd /etc/portsentry
# ls
portsentry.conf  portsentry.ignore  portsentry.modes
# vi portsentry.conf
사용자 삽입 이미지

35~36 라인에 감시할 포트를 추가할 수 있다.최대64


     42 ###########################################
     43 # Advanced Stealth Scan Detection Options #
     44 ###########################################
     58 ADVANCED_PORTS_TCP="1024"
     59 ADVANCED_PORTS_UDP="1024"
                                                        // 스텔스 스캔 포트 감시영역
     
     72 # Default TCP ident and NetBIOS service
     73 ADVANCED_EXCLUDE_TCP="21,22,25,53,80,110,113,135,137,138,139,443"
     74 # Default UDP route (RIP), NetBIOS, bootp broadcasts.
     75 ADVANCED_EXCLUDE_UDP="520,517,518,513,138,137,123,68,67,53"
                                                        // 감시제외 포트

     78 ######################
     79 # Configuration Files#
     80 ######################
     81 #
     82 # Hosts to ignore
     83 IGNORE_FILE="/etc/portsentry/portsentry.ignore"                           // 각 파일 위치
     84 # Hosts that have been denied (running history)
     85 HISTORY_FILE="/etc/portsentry/portsentry.history"
     86 # Hosts that have been denied this session only (temporary until next re        start)
     87 BLOCKED_FILE="/etc/portsentry/portsentry.blocked"



     89 ##############################
     90 # Misc. Configuration Options#
     91 ##############################

     96 RESOLVE_HOST = "1"       : DNS 사용안함 ' 0' 으로 수정

    109 ##################
    110 # Ignore Options #
    111 ##################
    128 # 0 = Do not block UDP/TCP scans.                         : 차단 안함
    129 # 1 = Block UDP/TCP scans.                                   : 차단
    130 # 2 = Run external command only (KILL_RUN_CMD)    : 역해킹
                            // ?????

    135 ###################
    136 # Dropping Routes:#
    137 ###################

    160 #KILL_ROUTE="/sbin/route add $TARGET$ 333.444.555.666"            // route 명령어로 차단

    205 # iptables support for Linux
    206 KILL_ROUTE="/sbin/iptables -I INPUT -s $TARGET$ -j DROP"
                                                                                  // iptables로 차단 시킴

    220 ###############
    221 # TCP Wrappers#
    222 ###############
   
    229 #KILL_HOSTS_DENY="ALL: $TARGET$"
    282 SCAN_TRIGGER="2"      : 스캔 간격     딜레이 ' 0 '

이상 conf 파일을 둘러 봤지만 집중하지 않아서 그런지 그냥 넘어간 부분이 있다 이해해주길
----------------------------------------------------------------------------------------------------

실행
----------------------------------------------------------------------------------------------------
# portsentry --help
# portsentry -stcp
# ps ax | grep port
# iptables -F
# iptables -P INPUT ACCEPT      // free nmap으로는 DROP상태에서 안됨

[Centos]
# yum -y install nmap
# nmap -v -sS -o 192.168.10.10        // fedora 스캔하다 멈추고

[fedora]
# iptables -L
192.168.10.20 즉 centos 에 대한 차단 룰이 적용되어 있는것을 볼 수 있다.
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------

2008. 7. 8. 12:27

linux - 침입차단 , 하이브리드(hybrid)

- 대부분의 firewall 채택방식
- application + packet filtering 방식 혼합
- 사용자 편의성과 기업환경에 따른 유연성 있게 방화벽을 구성할 수 있지만 관리가 복잡하다.

설치 확인

[root@fedora ~]# cd /boot && ls -l

-rw-r--r-- 1 root root   64551 11월 12  2007 config-2.6.18-53.el5
[root@fedora boot]# vi config-2.6.18-53.el5     // config -2.~~~ 커널종류에따라 다르게 표시될것이다.

/NETFILTER
확인
CONFIG_NETFILTER=y                          ( m은 모듈 형태, y는 커널형태)
CONFIG_IP_NF_CONNTRACK=m     (steteful과 같은것으로 상태 추적)

# service iptables status
Firewall is stopped.
# lsmod                              // 현재 모듈과 사이즈등을 보여준다.            
                                          // 정지 상태였기 때문에 iptables가 보여지지 않을것이다.

Netfileter는 리눅스 커널에 포함된 방화벽 프로그램이며 iptables는 방화벽 관리 프로그램이다.




netfilter 프로그램 (iptables)

3개의 기본 테이블로 구성된다. ( filter , nat, mangle)
각 테이블은 chain(패킷 이동통로)로 구성되며, 각 chain에 rule을 설정하게 된다.


mangle : 패킷 속성 변경
NAT     : 사설 ip => 공인 ip
Filter    : 패킷의 허용/차단, 패킷의 필터링(기본_)

룰테이블
Filter
            INPUT - source    와 destination으로 따질때      destination이 나일때 S-> D로
            OUTPUT  - INPUT의 반대상황
            FORWARD - 지나치는 ㅡㅡㅋ
NAT
            POSTROUTING - 사설 - > 공인ip
            PREROUTING - 외부에서 내부로 사설ip로 접속시
            OUTPUT
mangle
            ALL

# iptables -L -t filter
# iptables -L -t nat
# iptables -L -t mangle
           
-------------------------------------------------------------------------------------------------
[root@fedora boot]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:25:E1:23 
          inet addr:192.168.10.10  Bcast:192.168.10.255  Mask:255.255.255.0
에서 192.168.10.20의 텔넷 접속 차단할 시

layer 3에서
-s 192.168.10.20
# iptables -A INPUT -s 192.168.10.20 -j DORP   


layer 4에서
-p tcp --dport 80        /  -p udp --sport 123
# iptables -A INPUT -s 192.168.10.20 -p tcp --dport 23 -j REJECT

기본 테이블이 filter 라 생략 하면 -t filter가 되어있는것
-p 프로토콜  --ssport 출발지, --dport 목적지
-j 는 jump target처리할
DROP 패킷 버림
REJEXCT 접속 거부하면서 메시지 리턴
ACCEPT 통과


saving /restoring

백업
# rpm -ql iptables | less
# iptables-save > firewall.rule                     : 설정내용을 파일로 저장

복구
# iptables-restore < firewall.rule                 : 파일에서 설정정보로 업!

# cd /etc/sysconfig/
# cat iptables    // 없을 수가 있는데 이때는 딴시스템? 에서 얻어오자 ex. centos에서  # scp iptables root@192.168.10.10
                         //이 파일은 iptables 서비스가 시작할때 읽어 오게 되는데 이것이 없으면 서비스 시작이 안된다.
# service iptables restart / stop / reload / start

iptables에 관련된 설정파일을 보자
iptables -F
service iptables restart  를 해보면 이전에 설정 작업 외에 iptables에 저장된 파일로 재수정 되는것을 볼 수 있다.
이를 피하기 위해서는 아래의 작업이 필요하다.

# vi /etc/sysconfig/iptables-config
사용자 삽입 이미지
그림에서 표시한 두 줄의 "no" -> "yes" 로 바꾸면 된다. 그럼 재시작이나 재부팅 해도 여전히 살아있다.


룰 생성 / 삭제 / 교체
----------------------------------------------------------------------------------------------
# iptables -I INPUT -s 192.168.10.30 -j DROP                / /기본적으로 최상위 추가됨
# iptables -A INPUT -s 192.168.10.30 -p tcp --dport 23 -j ACCEPT
# iptables -L                   // 두개의 룰이 보인다.
# iptables -D INPUT 2                   // 두번째 룰을 지운다
# iptables -F                // 플러쉬 전체 지움
# iptables -A INPUT -s 192.168.10.30 -p tcp --dport 23 -j ACCEPT
# iptables -R INPUT 1 -s 192.168.10.30 -p tcp --dport 23 -j DROP                // 교체
----------------------------------------------------------------------------------------------


사용자 체인 생성
----------------------------------------------------------------------------------------------
# iptables -Z INPUT
# iptables -N INTRANET                                            // 사용자 정의 체인 생성
# iptables -E INTRANET EXTRANET                             // 체인명 변경
# iptables -I INPUT 2 -j EXTRANET                           // 사용자 체인을 기본 INPUT 체인에 연결

이때 주의할 점은 체인 삭제시에 체인 속에 룰이 포함되어 있다면  룰부터 제거 후 거꾸로 삭제해 나가야 한다.
# iptables -D INPUT #    ( rule ofextranet)
# iptables -D EXTRANET #        ( EXTRANET의 모든 룰 삭제)
# iptables -X EXTRANET                                             // 체인 삭제
----------------------------------------------------------------------------------------------


접속 상태에 따른 패킷 필터링
----------------------------------------------------------------------------------------------
-m state -- state {NEW, ESTABLISHED, RELATED, INVALID]}

NEW : 새롭게 맺어진 경우
ESTABLISHED : 연결시도 후 server에서 응답하여 이미 연결 된상태
RELATED : 새롭게 연결을 시작하려 하나 이미 연결 추적 테이블에 접속과 관련 있는 항목이 있는 경우
                    즉 FTP같이 제어포트와 데이터 포트가 별도로 존재할때 , 접속해제와 데이터 포트가 다르다.
INVALID : 연결 상태 알 수 없거나 잘못된 헤더인 경우
----------------------------------------------------------------------------------------------

# iptables -A INPUT -s ! 192.168.10.20 -j DORP            ' ! ' 를 제외한 모든것은 드랍

ICMP 설정
----------------------------------------------------------------------------------------------
# iptables -A INPUT -p icmp --icmp-type echo-request -j DROP
# iptables -A OUTPUT -p icmp --icmp-type echo-reply -j DROP
icmp echo request , reply 응답 드랍
----------------------------------------------------------------------------------------------


multiple choice   && MAC addre filtering
----------------------------------------------------------------------------------------------
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 24 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 25 -j ACCEPT
iptables -A INPUT -s 192.168.1.1 -p tcp --dport 26 -j ACCEPT
=>
# iptables -A INPUT -s x.x.x.x -p tcp -m multiport --dport 24,25,26 -j ACCEPT 로 할 수 있다.

-m mac --mac-source 00:00:00:00:00:00 ( mac address)로 추가 할 수 있다.
----------------------------------------------------------------------------------------------


LOG messages 남기기
----------------------------------------------------------------------------------------------
Firewall LOG는 /etc/syslog.conf 이용해서 위치를 재지정한다.
기본 값으로 /var/log/messgae 에 저장되게 되어 있다.  지정된 정보를
kern.* /var/log/firewall 로 수정후
log-prefix
--log-prefix "unknown port attemped..."
# service syslog restart
# ls /var/log
# cat /var/log/firewall
# iptables -I INPUT -p tcp -m multiport --dport 21,22,23,80 -j LOG
# iptables -I INPUT 2 -s 192.168.10.10 --dport 80 -j ACCEPT
# service httpd restart
# watch tail -3 /var/log/firewall
[ xp ]
웹으로 접속 시도 해볼것
[fedora]
# iptables -R INPUT 1 -p tcp -m multiport --dport 21.23.80 -j LOG --log-prefix  "unknown host ATTACK me"

[xp]
다시 접속 시도 해볼것

후에 log file 보면 메시지가 출력 된것을 볼 수 있다.

2008. 7. 8. 10:59

linux - 침입차단 시스템

침입 차단시스템

- 네트워크 보안으 ㄴ외부의 악의적인 침입으ㅗ부터 내부의 컴퓨터를 보호하는것을 말한다.
가자아 안전한 네트워크 설계는 내부의 네트워크와 외부를 완전히 차단하여 내부에서 외부로 접속하지 못하도록 완전히 고립시키는 것이다. 하지만 이 방법은 도둑이 무서워서 집의문과 창문을 완전히 페쇄하고 집밖에 나가지 않는것과 마찬가지다.
하여 내부의 사용자는 외부의 인터넷을 이용하면서 외부에서는 내부로 침입할 수 없게 하는 방법이 보편적 방법이 되었다.

1. 내부와 외부를 분리 시키고 그 사이에 방화벽을 배치 시켜 s/w , h/w를 총체적으로 구현한 제품을 말한다.
2. 비인가자 , 불법 침입자 해커의 침입으로 인한 정보손실 변조 파괴등을 최소화 시켜준다.
3. 네트워크를 통해 흐르는 packet들에 대해 미리 정해놓은 보안정책에 따라 차단 허용 할 수 있다.


방화벽
              호스트 기반 : INPUT OUTPUT 만 사용
              네트워크 기반 : FORWARD 사용


FIREWALL 주요 기능
1. access control
2. auth
3. integrity
4. logging / auditing
5. NAT


침입 차단 시스템의 동작 방식

1. packet filtering   - 1세대
- osi 7laters mode 중 3,4계층에서 사용하는 source ip, destination ip, source port destination port 를 이용하는 방식
- app 7layer보다 속도 빠르고  app 보다 적용과 운용이 쉽다.
(단점)
- tcp / ip 프로토콜의 구조적 결함 때문에 패킷 헤더 조작이 가능
- 바이러스에 감염된 메일과 첨부 파일등의 전송 차단 불가
- 접속제어 규칙수에 따른 부하 증가
(목적)
- 패킷 제어



2. application gatewat -2세대
- 전체 패킷 검사하고 패킷으 실질적 내용에 기반하여 접근 허용/거부 결정을 내리는 방화벽
- osi 7계층까지 동작
- 각 서비스 별로 프락시 데몬이 구동되어 client/ server사이의 접속 관리
- 외부 시스템과 내부 시스템은 방화벽의 프락시를 통해서만 연결이 허용
- 수동 프락시 - Transparent
(장점)
- 응용 프로토콜의 종류에 따른 기록이 가능
- 네트워크의 성능을 향상시키고 부하가 줄어듬
- packet의 data부분까지 제어가능
- proxy사용의 보안성이 packet filtering보다 우수
(단점)
-해당 서비스의 데몬이 필요
- packet filering 보다 처리가 느림
- 상위 레벨에서 동작하기에 많은 부하 유발
- 특정 프로그램은 동작 하지 않는다(p2p, 메신저)


3. stateful Inspection -3 세대
- MAC layers와 ip 프로토콜의 스택사이에서 동작
- syn 패킷에 의해 생성된 접속 테이블의 정보를 이용하여 후속 패킷들에 대해 보안정책의 검사 없이 고속으로 패킷 처리
- 패킷 필터링과 게이트 웨이의 단점을 보완한 새로운 기술
-

4. dynamic packet filtering -4 세대
- 보안정책을 동적으로 수정가능
- 실제 접속상태를 감시하여 상태에 따라 네트워크 패킷들이 방화벽을 통과하도록 허용할 것인지 거부할 것인지를 결정
- ip주소와 port번호등과 같은 세션 정보를 기록/유지 함으로써 능동적인 보안관리가 가능 방화벽 시스템과 IDS와의 연동

5. hybrid - 5세대
- 대부분의 firewall 채택방식
- application + packet filtering 방식 혼합
- 사용자 편의성과 기업환경에 따른 유연성 있게 방화벽을 구성할 수 있지만 관리가 복잡하다.


2008. 7. 6. 19:04

linux - AIDE ( 호스트 기반의 침입탐지 시스템)

linux - AIDE ( 호스트 기반의 침입탐지 시스템)

시스템에 설치된 파일 및 디렉토리의 무결성을 검사하는 프로그램으로 변견된 사항을 추적 할 수 있으며 파일, 디렉토리의 크기와 날짜, inode, 해시코드 등의 정보를 기록하고 해킹이나 시스템의 이상징후가 있을 경우 서버를 검색하여 이전의 검색과 비교대조를 한후 변경 내용을 출력해 준다.


[fedora]에서 아래 처럼 다운로드

[root@fedora tmp]# wget http://downloads.sourceforge.net/mhash/mhash-0.9.9.tar.bz2
[root@fedora tmp]# wget http://downloads.sourceforge.net/aide/aide-0.13.1.tar.gz
[root@fedora tmp]# mkdir /root/hids
[root@fedora tmp]# mv aide-0.13.1.tar.gz mhash-0.9.9.tar.bz2 /root/hids/
[root@fedora tmp]# cd /root/hids

압축 해제
[root@fedora hids]# tar xvzf aide-0.13.1.tar.gz
[root@fedora hids]# tar xvjf mhash-0.9.9.tar.bz2
[root@fedora aide-0.13.1]# cd ..
[root@fedora hids]# cd mhash-0.9.9
[root@fedora mhash-0.9.9]# ./configure && make && make install     // 컴파일 동시에 설치까지
[root@fedora mhash-0.9.9]# echo $?     // 잘 실행 되었는지 보자 0  이 나오면 정상실행되었다.
0


마찬 가지로 aide도 설치 하자

[root@fedora hids]# cd aide-0.13.1
[root@fedora aide-0.13.1]# ls
AUTHORS               Makefile.in      aclocal.m4    depcomp        src
COPYING               NEWS             aide.spec.in  doc            version.m4
ChangeLog             README           config.h.in   include        ylwrap
INSTALL               README-snprintf  configure     install-sh
LICENSE-snprintf.txt  Todo             configure.in  missing
Makefile.am           acinclude.m4     contrib       mkinstalldirs
[root@fedora aide-0.13.1]# ./configure && make && make install            // configure -> make -> make install 동시에


[root@fedora mhash-0.9.9]# which aide
/usr/local/bin/aide
[root@fedora mhash-0.9.9]# ls /root/hids/aide-0.13.1/doc    // aide.conf 파일이 있는지 확인
Makefile     Makefile.in  aide.1.in  aide.conf.5     aide.conf.in
Makefile.am  aide.1       aide.conf  aide.conf.5.in  manual.html

[root@fedora mhash-0.9.9]# cp /root/hids/aide-0.13.1/doc/aide.conf /root/hids
[root@fedora mhash-0.9.9]# cp /root/hids/aide-0.13.1/doc/aide.conf /root/hids
[root@fedora mhash-0.9.9]# cd ..

[root@fedora hids]# vi aide.conf
     22 @@define TOPDIR ..     ->      22 @@define TOPDIR /root/hids        // 디렉토리 지정
 46 database=file:@@{TOPDIR}/doc/aide.db      ->       database=fiel:/root/hids/aide.db    // 디비파일 정의
51 database_out=file:aide.db.new     -> database_out=file:aide.db      // 출력 파일 정의
137 /etc R    //추가,  DB화 시킬 디렉토리 설정 /etc


[root@fedora hids]# aide -c aide.conf -i
118:Error in expression:selinux
   // 에러가 날 수 있다. aide.conf 의 118번재 라인의 해당 에러 구문을 삭제후 재실행
Configuration error
[root@fedora hids]# aide -c aide.conf -i
118:Error in expression:xattrs
Configuration error
[root@fedora hids]# vi aide.conf
[root@fedora hids]# aide -c aide.conf -i
118:Error in expression:xattrs
Configuration error
[root@fedora hids]# vi aide.conf
[root@fedora hids]# aide -c aide.conf -i
// -i    데이터 베이스 생성
// -C  aide를 사용하여 백업된 database와 비교
// -c  설정 파일

AIDE, version 0.13.1

### AIDE database at aide.db initialized.                            // 완료 되었다.

test하기

   
[root@fedora hids]# seq 10 > /etc/.virus
                                                    // 자 이러면 /etc/ 밑에 새로운 파일이 생성되어 내용이 바뀌었을 것이다.
                                                    // aide를 이용해 검증 시켜 보자
[root@fedora hids]# aide -c /root/hids/aide.conf -C
AIDE found differences between database and filesystem!!
Start timestamp: 2008-07-05 21:47:53

Summary:
  Total number of files:        2043
  Added files:                  1
  Removed files:                0
  Changed files:                1


---------------------------------------------------
Added files:
---------------------------------------------------

added: /etc/.virus

---------------------------------------------------
Changed files:
---------------------------------------------------

changed: /etc

--------------------------------------------------
Detailed information about changes:
---------------------------------------------------


Directory: /etc
  Mtime    : 2008-07-05 21:08:21              , 2008-07-05 21:47:22
  Ctime    : 2008-07-05 21:08:21              , 2008-07-05 21:47:22
[root@fedora hids]# vi aide.conf                 // 중요하다고 생각되는 디렉토리 추가 시켜 보자


루트킷


2008. 6. 30. 00:39

linux - 공개키에 의한 인증

pki-login(Public Key infrastrucute - login : 공개키 기반)
:
password 입력 없이 원격 시스템에 접속할때 사용
로그인 하려고 하는 서버에 공개키를 전송해야 한다.
공개키를 만들기 우해선 openssh로부터 공인키와 개인키를 받아야 한다.
먼저      fedora에서 centos로 ssh로 접속해 공인키와 개인키를 받은 것을 확인하자.

[fedora]
[root@fedora ~]# ssh user01@192.168.10.30
The authenticity of host '192.168.10.30 (192.168.10.30)' can't be established.
RSA key fingerprint is 9b:e8:94:91:ed:5c:d3:4a:cb:9d:70:6a:d3:d7:e1:dc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.30' (RSA) to the list of known hosts.
user01@192.168.10.30's password:


처음 접속시 public key를 받아 온다
[root@fedora ~]# ls -a
.              .dmrc              .lesshst          anaconda-ks.cfg
..             .eggcups           .metacity         bbb.lst
.ICEauthority  .esd_auth          .mozilla          ftp.sniff
.Trash         .gconf             .nautilus         install.log
.Xauthority    .gconfd            .redhat           install.log.syslog
.bash_history  .gnome             .scim             nero.md5
.bash_logout   .gnome2            .serverauth.2576  nero.tar.gz
.bash_profile  .gnome2_private    .ssh              scsrun.log
.bashrc        .gstreamer-0.10    .tcshrc
.cshrc         .gtkrc-1.2-gnome2  Desktop
[root@fedora ~]# cd .ssh
[root@fedora .ssh]# ls
known_hosts                       // centos에서 받아온 public key
[root@fedora .ssh]# cd /etc/ssh
[root@fedora ssh]# ls -l
합계 200
-rw------- 1 root root 132839 11월 10  2007 moduli
-rw-r--r-- 1 root root   1827 11월 10  2007 ssh_config
-rw------- 1 root root    668  6월 19 07:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    590  6월 19 07:43 ssh_host_dsa_key.pub
-rw------- 1 root root    963  6월 19 07:43 ssh_host_key
-rw-r--r-- 1 root root    627  6월 19 07:43 ssh_host_key.pub
-rw------- 1 root root   1675  6월 19 07:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    382  6월 19 07:43 ssh_host_rsa_key.pub
-rw------- 1 root root   3300  6월 19 08:13 sshd_config

[root@fedora ssh]# cat ssh_host_rsa_key.pub     // 자신에게 접속할시 나눠주는 pub key
ssh-rsa
AAAA~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[root@fedora ssh]# su - test01
[test01@fedora ~]$ ssh-keygen -t rsa       // 공개키 생성
Generating public/private rsa key pair.
Enter file in which to save the key (/home/test01/.ssh/id_rsa):   엔터
Created directory '/home/test01/.ssh'.
Enter passphrase (empty for no passphrase):   엔터
Enter same passphrase again: 엔터
Your identification has been saved in /home/test01/.ssh/id_rsa.
Your public key has been saved in /home/test01/.ssh/id_rsa.pub.
The key fingerprint is:
e6:81:da:5f:5d:4a:c1:b3:44:bc:8b:14:bb:db:c9:c7 test01@fedora.linux.com
[test01@fedora ~]$ cd .ssh
[test01@fedora .ssh]$ ls
id_rsa  id_rsa.pub                              // 공개키와 사설키 생성 되었따.
[test01@fedora .ssh]$ scp id_rsa.pub user01@192.168.10.30:         // 공개키를 보내자
The authenticity of host '192.168.10.30 (192.168.10.30)' can't be established.
RSA key fingerprint is 9b:e8:94:91:ed:5c:d3:4a:cb:9d:70:6a:d3:d7:e1:dc.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.30' (RSA) to the list of known hosts.
user01@192.168.10.30's password:
id_rsa.pub                                    100%  405     0.4KB/s   00:00   
[test01@fedora .ssh]$

[centos]
[root@centos ~]# su - user01
[user01@centos ~]$ ls
id_rsa.pub
[user01@centos ~]$ mkdir .ssh
[user01@centos ~]$ mv id_rsa.pub .ssh/authorized_keys
[user01@centos ~]$ ls -l .ssh
합계 4
-rw-r--r-- 1 user01 user01 405  6월 29 17:37 authorized_keys
[user01@centos ~]$ chmod 700 .ssh/                    // 실행 권한 줌
[fedora]
[test01@fedora .ssh]$ ssh user01@192.168.10.30
Last login: Sun Jun 29 17:38:43 2008 from 192.168.10.10        // 패스워드 없이 바로 로긴 되었다.
[user01@centos ~]$



2008. 6. 30. 00:09

linux - 해시함수

해시 함수로 암호화 하기

[root@centos ~]# seq 10 > nero.tar.gz
[root@centos ~]# cat nero.tar.gz
1
2
3
4
5
6
7
8
9
10
[root@centos ~]# md5sum nero.tar.gz
3b0332e02daabf31651a5a0d81ba830a  nero.tar.gz
[root@centos ~]# md5sum nero.tar.gz  > nero.md5
[root@centos ~]# scp nero.tar.gz nero.md5 root@192.168.10.10:
The authenticity of host '192.168.10.10 (192.168.10.10)' can't be established.
RSA key fingerprint is 5c:d1:a6:22:9c:d8:20:fb:6b:4c:e4:af:76:00:9e:d2.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.10.10' (RSA) to the list of known hosts.
root@192.168.10.10's password:
nero.tar.gz                                   100%   21     0.0KB/s   00:00   
nero.md5                                      100%   46     0.0KB/s   00:00   
[root@centos ~]#

[root@fedora ~]# ls
Desktop          bbb.lst    install.log         nero.md5     scsrun.log
anaconda-ks.cfg  ftp.sniff  install.log.syslog  nero.tar.gz
[root@fedora ~]#
[root@fedora ~]# cat nero.md5
3b0332e02daabf31651a5a0d81ba830a  nero.tar.gz
[root@fedora ~]# md5sum nero.tar.gz
3b0332e02daabf31651a5a0d81ba830a  nero.tar.gz
두 값이 같다 고로 변조 x

[root@fedora ~]# echo "11" >> nero.tar.gz
[root@fedora ~]# md5sum nero.tar.gz
8ce7e6758e82461bb878b63ca917a3fa  nero.tar.gz
[root@fedora ~]# cat nero.md5
3b0332e02daabf31651a5a0d81ba830a  nero.tar.gz
두 값이 다르다 고로 변조!!!



 

2008. 6. 29. 23:52

linux - 암호학 , 해시 함수

해시 함수

특징
- 압축 : 실제로 암호학적 해시함수는 입력 길이에 상관없이 고정된 크기의 출력을 만든다.
- 효율성 : 어떤 입력 x에 대해 해시함수 h(x)를 계산 하기 쉬워야 한다.
- 단방향 : 주어진 값 y에 대해 h(x)=y 의 x값을 찾는 계산이 어려워야 한다. 즉 해시함수를 찾기 어려워야한다.

- 약한 충돌 방지 : 주어진 x 와 h(x)에 대해 h(y) = h(x) 를 만족하면서 y ~= x 인 y를 찾기 어려워야 한다.
                          해시 결과 값이 같더라도 y 를 유추하기 어렵게 해야한다는 말?

- 강한 충돌 방지 : h(x) = h(y) 를 만족하면서 x  ~= y인 x와 y를 찾기 어려워야 한다.
                           같은 해시 함수를 찾더라도  y를 찾기 어렵게 해야한다.

유형
- mac : cbc-mac, hmac  // 비밀키 알고리즘에 근간을 두며 키를 사용
- mdc     : md2, md4, md5, sha ,hval     // 키를 이용하지 않는 함수
일반적으로 해시 함수는 mdc를 주로 사용한다.

MD5 (message digest 5)
- 입력 값 : 입력 메시지 크기는 무한대, 512 bits block단위
- 출력 값 : 128bits

해시 함수의 용도
표준 응용 분야에 인증, 메시지 무결성, 메시지 지문, 데이터 변형 탐지, 전자 서명 효율성, 대킹키 암호가 할 수 있는 어떤것,

암호 프로토콜
- 메시지나 파일을 암호화 하여 전송 할 수 있는 툴로서 소스를 배포하는 각종 서버 프로그램의 변조 유무를 검사 할 수 는 프로그램

응용 프로토콜
전자우편 : PGP, PEM , S/MIME, MOS
웹 서비스 : SSL/TLS
원격 로그인 :SSH
전자 결제 : SET

기본 접근법
- 메시지 기밀성 : 대칭키 암호화 기법
- 키 교환 : 비대칭키 암호화 기법 사용
- 서명 : 디지털 서명
- 메시지 무결성 : 키가 있는 해시 함수와 키가 없는 해시 함수

2008. 6. 29. 23:23

linux - 함호학 , 공개키

공개키 암호화 시스템
- 공개키 시스템은 공개키와 사설키 두개의 키를 사용한다. 공개키는 메시지를 암호화해서 전송하고자 하는 사람은 누구나 사용 가능하다. 사설키는 그 메시지를 복호화 하는데 사용된다. 그러므로 비밀키를 교환할 필요가 없어지게 되는 것이다.

공개키 암호 시스템에서 주의사항
- 공개키로는 암호화된 메시지를 복호화 할 수 없다.
- 이상적으로 공개키를 가지고 사설키를 알아낼 수 없다.
- 이 키 중 한 개로 암호화된 메시지는 다른 키로 복호화 될 수 없다.
- 사설키는 개인적으로 보관된다.

특징
- 암호화/ 복호화 키가 다름
- 모든 사용자들은 쌍으로 키를 갖는다.
- 암호화 할 때 사용되는 키에 따라 암호모드와 인증모드로 구분
- 암호모드
     - 평문을 상대방의 공개키로 암호화 하여 암호문 생성
     - 암호화에 사용된 공개키와 쌍을 이루는 사설키 소유자가 복호화 가능

1. 암호 모드
- 송신자 : 수신자의 공개키로 암호화
- 수신자 : 자신의 개인키로 복호화 함
- 수신자의 공개키 : 송신자는 공개키 리파지토리에서 가져옴

2. 인증 모드
- 송신자 : 자신의 사설키로 암호화
- 수신자 : 송신자의 공개키로 복호화 함
- 송신자의 공개키 : 수신자는 공개키 리파지토리에서 가져옴


공개키 알고리즘 종류

DIffie-Hellman ,RSA , Knapsack, Rabin , Ei Gamal, Schonorr, DSA, LUC, ECC
단, 암호 효율과 강도는 대칭키에 비해 현저히 떨어짐

공개키 암호화의 장점과 단점
장점
- 대칭 시스템보다 더 나은 키 분배
- 대칭   "             더 좋은 확장 가능성
- 기밀성, 인증 및 부인봉쇄를 제공할 수 있다.

단점
- 대칭 시스템보다 훨씬 느리게 작동한다.

2008. 6. 29. 22:25

linux - 암호학 , 대칭키

암호학

암호학의 목적
- 전송 되는 정보가 전달하고자 하는 상대방 이외의 다른 사람한테 읽히거나 내용이 파악되는 것을 막기 위함
이상적인 상황에서는 허가 받지 않은 개인은 결코 암호화된 메시지를 읽을 수가 없다.

제공되는 보안 서비스

비밀성 : 허가되지 않은 자가 정보를 읽는 것을 방지하는 것
무결성 : 인가되지 않은 정보의 쓰기를 방지하는것
가용성 : 자료는 필요할 때 적절하게 가용하게 하는것
인증    : 통신하고 있는 상대방이 맞는지를 호가인하고, 서로에게 전송한 데이터가 위조되지 않았음을 확인할 수 있게 한다.
부인 봉쇄 : 이전의 통신 내용을 보낸 적이 없다고 속일 수 없게 한다. 즉, 데이터를 받은 사람은 나중이라도 보낸 사람이 실제로 데이터를 보냈을을 증명할 수있도록 한다.

암호화 : 평문( 누구나 쉽게 읽을 수 있는 메시지)을 암호문으로 변환하는 과정.
복호화 : 암호문을 평문으로 만드는것.
키 : 암호화와 복호화에 필요한 정보

스테가노그래피 : 전하고자 하는 의미를 숨겨놓은 비밀통신.



대칭키 암호시스템
- 비밀키 암호화는 대부분의 사람들에게 친숙한 암호 방식이다. 이런 유형의 암호 방식에서는 송신자와 수신자가 모두 하나의 동일한 비밀키를 알고 있다. 송신자는 평문 메시지를 이 비밀키로 암호화 하고 수신자는 역시 같은 키로 메시지를 복호화 한다.

데이터 암호화 표준(DES)
- IBM에서 개발 Lucifer
- 미국정부 표준으로 선정
- 64 비트의 블록 길이
- 56 비트의 키 길이를 사용
- 16개 회전을 갖는 페이스텔 암호.
- 각 회전에서 48 비트의 보조키를 사용하고, 각 보조키는 56비트 키 중에서 48비트를 사용해 구성된다.

DES의 네가지 운영 모드
- 암호 블록 체이닝 CBC
- 전기적 코드 북    ECB
- 암호 피드백        CFB
- 결과 피드백        OFB

대칭키 시스템의 장단점
장점
- 비대칭 시스템보다 훨씬 더 빠르다.
- 커다란 키 크기를 사용하면 해독하기 어렵다.
단점
- 키 분배 : 키를 올바르게 전달하는 안전 메커니즘이이 요구된다.
- 확장가능성(scalability) : 각 쌍의 사용자들은 독특한 쌍의 키가 필요하고, 따라서 키의 숫자는 기하급수적이 된다.
- 제한된 보안 : 기밀성을 제공할 수 있으나 인증서 또는 부인봉쇄는 제공할 수 없다.


2008. 6. 29. 16:20

file 속성 명령어 , chattr , lsattr

linux - file 속성 명령어 , chattr , lsattr

[root@fedora ~]# which chattr
/usr/bin/chattr
[root@fedora ~]# which lsattr
/usr/bin/lsattr
[root@fedora ~]# rpm -qf /usr/bin/chattr
~~~
[root@fedora ~]# ls -l /usr/bin/lsattr /usr/bin/chattr
-rwxr-xr-x 1 root root 9796 11월 11  2007 /usr/bin/chattr
-rwxr-xr-x 1 root root 8388 11월 11  2007 /usr/bin/lsattr

루트 사용자만 변경할 수 있게 700으로 바꾸자

[root@fedora ~]# chmod 700 /usr/bin/lsattr /usr/bin/chattr
[root@fedora ~]# ls -l /usr/bin/lsattr /usr/bin/chattr
-rwx------ 1 root root 9796 11월 11  2007 /usr/bin/chattr
-rwx------ 1 root root 8388 11월 11  2007 /usr/bin/lsattr
[root@fedora ~]# chattr --help
                      'i' 옵션  : 읽기 전용
                      'a' 옵션 : 추가만 허용 , 문서에 내용을 덧붙일 수만 있다.


먼저
# touch aaa.lst
# ls -al aaa.lst
# chmod 777 aaa.lst
# rm aaa.lst        // 잘 지워진다.
# touch bbb.lst
# chmod 777 bbb.lst
# chattr +i bbb.lst
# rm bbb.lst        //
# rm bbb.lst
rm: remove write-protected 일반 빈 파일 `bbb.lst'? y
rm: cannot remove `bbb.lst': 명령이 허용되지 않음
안된다 ㅡ.,ㅡㅋ
# lsattr bbb.lst    해보면 속성이 적용되어 있는것을 볼 수 있다.

# chattr -i bbb.lst
# rm bbb.lst       //지워진다.

chattr += i  file
            a file
로 사용할 수 있다.
 

보나마나.

로그 파일에 덧붙이기 옵션 주기
/var/log/secure란 파일에 a 옵션을 주고
watch tail -3 /var/log/secure
텔넷 등으로 로그를 발생 시켜 보자 .

2008. 6. 29. 15:02

openssh

openssh

ftp처럼 보안에 취약한 경우 scp 또는 sftp를 사용한다.

먼저 파일을 전송하려는 컴퓨터에 openssh가 서비스 되어 있어야 한다.
[fedora]

# rpm -qa |grep -i ssh
# rpm -ql openssh-clients
사용자 삽입 이미지
openssh 역시 client 와 server 가 따로 있다.

[centos]
# service sshd start

[fedora]
# touch aaa.txt
# scp aaa.txt root@192.168.10.30:                        // :뒤에 경로가 들어 갈수 있으며 생략시 계정의 홈디렉토리
# ftp 계정@ip                                                     // 계정 생략시 root로 로긴됨
2008. 6. 28. 22:29

sniffing , ehterear , tshark

네트워크 상에서 흘러 다니는 정보의 작은 단위를 패킷이라고 한다.

그러나 이 패킷에는 목적지 주소와 수신지 주소의 정보가 담겨 있는데 무차별 모드라는 것으로 네트워크의

목적지에 관계 없이 흘러 다니는 모든 패킷을 감시하고 잡아 낼 수 있게 된다.

이를 스니핑이라 한다.


사용자 삽입 이미지

이더넷 카드는 (이하 NIC) 는 Promiscuous mode 와 Propagation이 있다.
기본 적으로 위처럼 나와야 하지만 만약 UP BROADCAST RUNNING PROMISC MULTICAST 라고 표시된다면
# ifconfig eth0 -promisc 로 변경 시켜주자!   커널의 오류로 인해 생길 수가 있다.



tcpdump 사용
두대의 linux machine 을 구축해 놓자. vmware에서 clone이나 폴더를 복사 시켜 vm에서 오픈 시켜준뒤
간단히 셋팅을 마친 후..host, network ip등등

필자는 다음과 같이 셋팅을 하였다.

사용자 삽입 이미지

사용자 삽입 이미지


1. centos  , 192.168.10.10
2. fedora   , 192.168.10.30

패킷 캡쳐를 위해 centos  - ftp서버를 실행 시킨다.
[centos]
# rpm -qa | grep ftp
lftp-3.5.1-2.fc6
ftp-0.17-33.fc
vsftp 가 설치 되어 있지 않다면

# yum -y install vsftpd
rpm -qa |grep ftp
ftp-0.17-33.fc6
lftp-3.5.1-2.fc6
vsftpd-2.0.5-10.el5
# service vsftpd start

서비스가 실행되었다면 nmap이나 netstat 명령어로 확인해보면된다.
[root@centos ~]# nmap localhost

Starting Nmap 4.65 ( http://nmap.org ) at 2008-06-28 16:01 KST
Interesting ports on centos.linux.com (127.0.0.1):
Not shown: 1708 closed ports
PORT    STATE SERVICE
21/tcp  open  ftp
22/tcp  open  ssh
23/tcp  open  telnet
25/tcp  open  smtp
111/tcp open  rpcbind
631/tcp open  ipp
996/tcp open  xtreelic

Nmap done: 1 IP address (1 host up) scanned in 0.078 seconds

21 ftp port가 열려 있다


이제 xp에서 centos로 ftp접속을 시도 한다. fedora에서 스니핑해보자.

[fedora]

[root@fedora ~]# rpm -qa |grep tcpdump
tcpdump-3.9.4-11.el5     // 없으면 yum으로 설치~
[root@fedora ~]# tcpdump port 21 and host 192.168.10.30 -w ftp.sniff
tcpdump: listening on eth0, link-type EN10MB (Ethernet), capture size 96 byte

[xp]

사용자 삽입 이미지

[fedora]
ctrl +c
# cat ftp.sniff

C��)�P�Z331 Please specify the password.
�eH��<<
       )x~LPE(�1@��.�

)�C��P����eH��CC
                )x~LPE5�@��5�

)�C��P���PASS user01
�eH]<<PV�
        )x~E(��@@��

C��)�P�v�eHdMMPV�
                )x~E?��@@��

C��)�P��230 Login successful.
�eH<<
     )x~LPE(��@����

)�C�ȆP��c|[root@fedora ~]#
자료가 깨져 보인다. ㅋ
볼 수 있게 변환해 보자!

# tcpdump -r ftp.sniff        -r 파일로 저장된 tcpdump 읽기

00:06:11.961865 IP 192.168.10.30.ftp > 192.168.10.1.4122: P 1:21(20) ack 1 win 5
840
00:06:12.055858 IP 192.168.10.1.4122 > 192.168.10.30.ftp: . ack 21 win 65515
00:06:27.071235 IP 192.168.10.1.4122 > 192.168.10.30.ftp: P 1:14(13) ack 21 win
65515
00:06:27.071235 IP 192.168.10.30.ftp > 192.168.10.1.4122: . ack 14 win 5840
00:06:27.071758 IP 192.168.10.30.ftp > 192.168.10.1.4122: P 21:55(34) ack 14 win
 5840
00:06:27.121756 IP 192.168.10.1.4122 > 192.168.10.30.ftp: . ack 55 win 65481
00:06:28.117381 IP 192.168.10.1.4122 > 192.168.10.30.ftp: P 14:27(13) ack 55 win
 65481
00:06:28.154908 IP 192.168.10.30.ftp > 192.168.10.1.4122: . ack 27 win 5840
00:06:28.156703 IP 192.168.10.30.ftp > 192.168.10.1.4122: P 55:78(23) ack 27 win
 5840
00:06:28.264336 IP 192.168.10.1.4122 > 192.168.10.30.ftp: . ack 78 win 65458

턱하니 숨이 막힌다. ㅡ.,ㅡ;

좀더 쉬운 툴로 확인해 보자

# rpm -qa ethereal*
#    아무메시지 안뜨면 설치가안되어있다는것

설치 완료후 패키지 확인.


[참고] 현재  테스트 할때는
ethereal 이 아니라 wiseshark 로 이름이 변경 되어 설치 되었다.
검색 결과 이름 때문에 개명했다고 한다 ..
해서 shark로 수정해서 올린다.

# tshark -r ftp.sniff
사용자 삽입 이미지

해서... 저장해놓은 파일을 열어 보면 접속 했을때 쳤던 명령어가 그대로 보여지고 있다!!

해서...(자꾸 해서가) 암튼 이렇게 헀을때 모든 패킷정보가 보여지게 되는데 이건

패스워드가 그대로 노출 된다는 말이다...

해서 openssh를 써야한다.!!(secure shell : 보안쉘)


2008. 6. 27. 00:40

linux - /etc/xinetd.d/* 설정하기

linux - /etc/xinetd.d/*  설정하기

1. chkconfig 명령어에서 사용하는 서비스명
2. service 서비스 데몬명 start/restart/status 에서 사용하는 서비스 데몬
3. /etc/hosts.allow   or ~ deny에서 사용하느 서비스명
4. /etc/xinetd.d/ 디렉토리 내에 사용하는 서비스파일명
5 . /etc/services 파일 내에서 사용하는 서비스명

형식
service < service_name >
{
                  속성 = 값
}
속성
disable  : 서비스 활성화 하기 위해서 no로 설정
socket_type   : stream +tcp기반, dgram + udp기반, raw : ip를 직접 제어
wait   :   단일 쓰레드 , 멀티 쓰레드에 대한 설정 반드시 no로 해야 정상 서비스 설정
user : 프로세스를 실행할 권한자
server : 서비스 실행 명령어의 절대 경로를 사용하여 설정
log_on_failuer : 서버 접속시 성공하지 못했을 때 로그 파일에 기록 하는 내용을 설정 할 수 있다.
                      여기서는 host(client ip)  ,
                      userid (접속한 사용자 id)  ,
                      attemt,  recore가 추가 될 수 있다.
                       += /etc/xinetd.conf 파일의 기본 설정 항목에 추가할
                       -=         "                                                  뺄
only_from         제한된 서비스 제공
access_times   접속 허용 시간


직접적인 root 접속 차단
[root@fedora ~]# vi /etc/securetty.org
.ICEauthority       .gconf/             .redhat/
.Trash/             .gconfd/            .scim/
.Xauthority         .gnome/             .tcshrc
console
vc/1
vc/2
....
....
tty10
tty11



telnet 으로의 root 접속 차단
telnet 에서 root접속은  /etc/securetty  에서 관리 되어진다.

ssh에서 root 접속 차단
ssh에서 root 로그인 되지 않게 하기 위해서는 /etc/ssh/sshd_config 파일에서 permirootlogin yes 를 no로!
2008. 6. 27. 00:25

/etc/hosts.allow , /etc/hosts.deny

linux - TCP 데몬 xinetd에 의한 접속 제어

tcpd는 특정 IP나 도메인으로부터 서버로의 telnet, ftp, pop 등의 접속을 차단, 접속/시도에 대한 기록을 특정한 파일에 로그로 기록한다.

xinetd는 tcp-wrapper 을 내장하고 있기 때문에 xinetd모드에서 실행 되는 서비스들은 거의 대부분
tcpd라는 tcp_wrapper의 데몬에 의해 접속 제어를 받게 된다.

쉽게 말해서 /etc/hosts.deny       와 /etc/hosts.allow   파일로 제어 된다.

tcpd  - /etc/hosts.allow    : 접속 허용
          /etc/hosts.deny     : 접속 거부
특징       :        allow와 deny 에 없는 것은 default 로 접속 허용이 되기 때문에 모두 차단으로 변경하는것이
                      좋다.
# vi /etc/hosts.deny
-----------------------------------------------------------------------------------
# hosts.deny    This file describes the names of the hosts which are
#               *not* allowed to use the local INET services, as decided
#               by the '/usr/sbin/tcpd' server.
#
# The portmap line is redundant, but it is left to remind you that
# the new secure portmap uses hosts.deny and hosts.allow.  In particular
# you should know that NFS uses portmap!

#ex)ALL:ALL
#ex) sshd: 192.168.0.100/24  : twist /bin/echo "ACCESS DENIED!"
-----------------------------------------------------------------------------------

ex)의 예제처럼 작성하면 된다. #은 주석 처리이다.


2008. 6. 25. 23:36

/proc/sys/net/ipv4 , sysctl

커널의 네트워크 설정 내용

/proc/sys/net/ipv4 는 네트워크 관련 정보를 가지고 있는 파일이있다.
[root@fedora ~]# sysctl -a
sunrpc.max_resvport = 1023
sunrpc.min_resvport = 665
sunrpc.tcp_slot_table_entries = 16
sunrpc.udp_slot_table_entries = 16
....
....
좀 많다.

예를 들어 ping 에 대한 응답 설정을 하는 내용을 보자
[root@fedora ~]# sysctl -a | grep icmp_echo_ignore_all
net.ipv4.icmp_echo_ignore_all = 0
폴더로 가보자.

[root@fedora ~]# cd /proc/sys/net/ipv4;ls
cipso_cache_bucket_size            tcp_dma_copybreak
cipso_cache_enable                 tcp_dsack
cipso_rbm_optfmt                   tcp_ecn
cipso_rbm_strictvalid              tcp_fack
conf                               tcp_fin_timeout
icmp_echo_ignore_all               tcp_frto
icmp_echo_ignore_broadcasts        tcp_keepalive_intvl
icmp_errors_use_inbound_ifaddr     tcp_keepalive_probes
icmp_ignore_bogus_error_responses  tcp_keepalive_time
icmp_ratelimit                     tcp_low_latency
icmp_ratemask                      tcp_max_orphans
igmp_max_memberships               tcp_max_syn_backlog
igmp_max_msf                       tcp_max_tw_buckets
inet_peer_gc_maxtime               tcp_mem
inet_peer_gc_mintime               tcp_moderate_rcvbuf
inet_peer_maxttl                   tcp_mtu_probing

[root@fedora ipv4]# cat icmp_echo_ignore_all
0
0으로 되어 있는데 이것은 기능을 끈다는 의미이다.
켜보자. 이 파일을 수정 하는것은 안된다! 왜냐면 /proc에 있는 내용은 메모리의 내용이다.
따라서 직접적인 수정은 안되며 간접적인 방법으로 수정이 된다.

[root@fedora ipv4]# echo 1 > icmp_echo_ignore_echo
[root@fedora ipv4]# cat icmp_echo_ignore_all
1
로 바뀌어 있다.
그리고 다른곳에서 핑을 날려보자

수정전!!!!
[root@centos ~]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.
64 bytes from 192.168.10.10: icmp_seq=1 ttl=64 time=0.483 ms

--- 192.168.10.10 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.483/0.483/0.483/0.000 ms

수정후
[root@centos ~]# ping 192.168.10.10
PING 192.168.10.10 (192.168.10.10) 56(84) bytes of data.


아무 응답이 없다!!!!

------------------------------------------------------------------------------------------------
참고
echo 명령어로 바꾸는 방법은 리부팅 하게 되면 원래 값으로 다시 셋팅된다 .
이를 영구적으로 바꾸려면

/etc/sysctl.conf    를 직접수정 하면 다음 부팅시부터 적용 받을 수 있다.

vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_all = 1/0     으로 수정을 하면 된다.

또한
icmp_echo_ignore_broadcat = 1/0       에서 1 로 셋팅 할 경우 Dos 공격에 어느정도 효과가 있다고 한다.!!!
ip_default_ttl                ip패킷 생존시간을 의미한다. 라우터지날때마다 1씩 감소 디폴트 64(리눅스)
2008. 6. 25. 23:20

service lockdown , chkconfig

linux - service lockdown

stand alone mode로 실행 되는 서비스 데몬은

ntsysv로 관리할 수 있다.

ntsysv는 그래픽 모드로 보여주지만 runlevel에 따라 수정 하기가 불편하기 때문에

 chkconfig 명령어를 사용한다.

[root@fedora ~]# chkconfig
chkconfig version 1.3.30.1 - Copyright (C) 1997-2000 Red Hat, Inc.
This may be freely redistributed under the terms of the GNU Public License.

usage:   chkconfig --list [name]
         chkconfig --add <name>
         chkconfig --del <name>
         chkconfig [--level <levels>] <name> <on|off|reset|resetpriorities>

[root@fedora ~]# chkconfig --list
NetworkManager  0:off   1:off   2:off   3:off   4:off   5:off   6:off
NetworkManagerDispatcher        0:off   1:off   2:off   3:off   4:off   5:off  6:off
acpid           0:off   1:off   2:off   3:on    4:on    5:on    6:off
anacron         0:off   1:off   2:on    3:on    4:on    5:on    6:off
apmd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
atd             0:off   1:off   2:off   3:on    4:on    5:on    6:off
auditd          0:off   1:off   2:on    3:on    4:on    5:on    6:off


여러 서비스 명과 각 런레벨 상태에 따른 시작 설정이 되어있는것을 볼 수 있다.

[root@fedora ~]# chkconfig --list sendmail
sendmail        0:off   1:off   2:on    3:on    4:on    5:on    6:off
[root@fedora ~]# chkconfig sendmail off               // 전체 해제가 되었다.

[root@fedora ~]# chkconfig --list sendmail
sendmail        0:off   1:off   2:off   3:off   4:off   5:off   6:off
[root@fedora ~]# chkconfig --level 5 sendmail on    // 5 level만 켜졌다.
[root@fedora ~]# chkconfig --list sendmail
sendmail        0:off   1:off   2:off   3:off   4:off   5:on    6:off
[root@fedora ~]# chkconfig --level 35 sendmail on   // 3,5레벨만 켜졌다.
[root@fedora ~]# chkconfig --list sendmail
sendmail        0:off   1:off   2:off   3:on    4:off   5:on    6:off
[root@fedora ~]#

2008. 6. 25. 00:18

nmap , scanning

linux - nmap , scanning

nmap
       -  타켓 시스템에서 어떤 서비스가 동작하는지를 파악하고 방화벽이나 IDS의 설치 여부를 확인과 시스템 기종의 파악 및 운영체제의 정보를 파악하는데 쓰입니다.


설치

다운로드
[root@server ~]# cd /tmp
[root@server tmp]# wget http://download.insecure.org/nmap/dist/nmap-4.65.tar.bz2
                     // wget 은 해당 파일의 정확한 주소를 알면 바로 받아 올 수 있다.

--05:07:19--  http://download.insecure.org/nmap/dist/nmap-4.65.tar.bz2
Resolving download.insecure.org..ls
Saving to: `nmap-4.65.tar.bz2'
....
....
100%[=======================================>] 4,066,062    637K/s   in 6.7s  

05:07:36 (591 KB/s) - `nmap-4.65.tar.bz2' saved [4066062/4066062]

[root@server tmp]# ls
..
nmap-4.65.tar.bz2
..
[root@server tmp]# tar xvfj nmap-4.65.tar.bz2
[root@server tmp]# cd nmap-4.65
[root@server nmap-4.65]# ls
[root@server nmap-4.65]# ./configure && make && make install
----------------------------------------------------------------------------------------------
[참고]
소스파일을 받아  설치 할려면 gcc 컴파일러가 설치 되어 있지 않을때가 있는데 이때는
# yum -y install gcc*
or
# yum -y install gcc
# yum -y install gcc-c++

[참고]
소스 파일로 받았을시
리눅스에서는 보통
./configure   // make 하기 위한 기본 환경 설정 작업
make           // make  기본적으로 컴파일 작업을 하게 되면 오랜? 시간이 걸리는데 필요한부분만 컴파일
                 하게 된다. 앞서 ./configure 한 이유가 이때문!
make install     // make해서 생성된 것을 설치 하는 과정이다!!!(설치 과정이 빠지는 경우도있다!)
을 과정을 거친다.

----------------------------------------------------------------------------------------------

사용법
# nmap [스캔유형] [옵션] <호스트 또는 네트워크>
스캔 유형
-sT           tcp연결
-sS           스텔스 모드
-sF           FIN 이용
-sP           ping을 이용한 스캔
-sU           udp연결
-b             ftp 바운스 공격 위한 스캔

옵션
옵션은 여러가지를 조합하여 사용할 수 있다.

-f 패킷을 나누어서(fragment)
-PT   tcp ping을 사용하여 호스트가 살아 있는지~
-PT21    21번 포트로 위와 같은 작업
-PI       icmp 패킷을 이용하여~
-p n1-n2 , n1-   포트 n1~n2까지, 혹은 n1에서 마지막까지
-O        운영 체제스캔
-F       /etc/service 에 있는 포트만
-o<output>     스캔 결과를 파일에 저장
-V       vervose모드 여러가지 정보를 볼 수 있다.
-h         도움말
-S        syn, fyn 스캔시 소스 어드레스 지정한다.


# nmap localhost           default 1-1024
# nmap -sP ip               호스트가 살아있는지
# nmap -sS <host ip>    스텔스 스캔


2008. 6. 24. 22:57

/proc 디렉토리, system info

 /proc directory

   실제로 존재 하지 않는 디렉토리이며 커널이 메모리에 만들어 놓은 것으로 실제 디스크 공간에는 존재 하지 않는다. 주로 프로세스에 대한 정보를 제공한다.

/proc/version
# cat /proc/version      
Linux version 2.ㅌㅌㅌ.el5 (mockbuild@builder6.~~~~
 llinux kernel 버전을 알려 준다

# cat /proc/devices
Character devices:
  1 mem
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/consol
.....
Block devices:
  1 ramdisk
  2 fd
  8 sd
  9 md
 22 id
......
  현재 리눅스 커널에 설정되어 있는 하드웨어의 목록을 볼 수 있다.
  리눅스는 두 가지 종류의 하드웨어 디바이스를 인식한다.
  블록 디바이스        데이터를 버퍼에 모은 다음 한꺼번에 전송 하는 디바이스다
  캐릭터 디바이스     원시 하드웨어 즉 가장 기본적인 디바이스이다. 시스템의 i/o버퍼를 사
                             용 한번 에 한문자씩 전송 하는 프린터, 모뎀과 같은 디바이스이다.
# cat /proc/cpuinfo                             //cpu정보가 들어 있다.
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 67
....
....

# cat /proc/meminfo                               // 메모리 사용량에 관한 정보를 보여 준다.
MemTotal:       515524 kB
MemFree:          9228 kB
Buffers:         31252 kB
Cached:         391056
......
......
                     참고 : # free -m 도  있다.

# cat /proc/modules
                                   커널 모듈에 대한 정보를 확인 할 수 있다.
 " 이더넷 카드를 인식 시킬때 내렸던 lsmod처럼 현재 커널 메모리에 올려서 사용하고 있는 모듈에 대한 정보를 확인 할 수 있다."


# cat /proc/dma
                                 현재 어느 DMA 채널이 사용중인지를 알려 준다.

# cat /proc/interrupts
                                현재 어느 인터럽트가 사용중인지 , 그리고 얼마나 많이 사용되었는지를 알 수
                                있다.
# cat /proc/ioports
                                현재 어느 I/O 포트가 사용중인지를 확인 할 때 사용된다. IRQ의 경우 처럼 I/O포트
                                역시 하드웨어끼리 충돌이 있어서는 안된다.

# cat /proc/pci
                                이 파일은 pci 버스와 설치된 pci 카드들, 그리고 pci 버스를 사용하는 다른 기기들
                                에 대한 정보를 표시한다.

하드 디스크 정보

# cat /proc/partitons
                                이 파일은 하드디스크 분할영역 상태에 대한 정보를 표시한다.
# cat /proc/filesystems
                                이 파일 시스템이 커널에 설정되어 있는지를 알 수 있다.
# cat /proc/swaps
                                리눅스를 설치 하면서 설정한 스왑 파티션 외에 리눅스 시스템이 사용하고 있는
                                스왑 파일에 대한 정보도 알 수 있다.

2008. 6. 24. 22:11

linux - telnet server 설치 및 셋팅

linux - telnet server

telnet server는 stand alone type의 데몬인

xinetd 데몬에 의해서 관리 되고 있다.

# rpm -qa telnet*

# rpm -qa xinetd

만약 아무런 정보가 올라 오지 않는다면

yum 으로 간단 설치 하면 된다 ㅡㅡㅋ( 갈수록 글이 날로 먹는듯..)

# yum -y install telnet-server

# yum -y install xinetd

설치가 완료 되었다면 확인해 보자
# rpm -qa telnet*
telnet-server     -> telnet server프로그램
telnet-0.17        -> telnet client "
사용자 삽입 이미지

# rpm -qa xinetd

xinetd 데몬에게 telnet 데몬을 쓸것을 알려주자!!!


# vi /etc/xinetd.d/telnet



disable = yes 로 되어 있는것을 no로 수정한다 , 후에

# service xinetd restart

하면 된다. 그리고 난뒤 xp나 다른 o/s 에서

xp에서 telnet 으로 접속 해보면

안될 경우가 있는데 이때는

# lokkit
사용자 삽입 이미지

을 열어 disable 선택(스페이스) OK
사용자 삽입 이미지

or cutomize 를 선택해서

telnet 부분을 선택(스페이스) 해주고 ok - ok.

이후에 접속을 시도해 보면 접속이 된다.

단 root계정으로 접속하면 안될 경우가 있는데 이또한

/etc/securretty 파일 삭제 혹은 다른 이름으로 변경해서 저장해 놓으면 된다.

2008. 6. 23. 23:14

/etc/security/console.apps

일반 사용자가 원격 접속 상태에서 내릴 수 있는 명령은

 /etc/security/console.apps 디렉토리에 저장되어 있다.

# cd /etc/security/console.apps
# ls

원격 접속 상태에서 서버 종료/ 재부팅 막을려면

# rm -f /etc/security/console.apps/reboot
# rm -f /etc/security/console.apps/halt

삭제 하면 된다.
2008. 6. 23. 22:06

linux - who , whoami , who am i , w

# w
// w와 who가 비슷 한거 같다 ㅡ.-;;;;;;;;;;;
# who
현재 시스템에 누가 로그인해 있는지 확인 할 수 있다.
사용자 삽입 이미지

# whoami
현재 내가 누구인지~

# who am i
현재 게정 정보와 터미널 상태
whoami와 비교하자면 who am i 는 최초로 로그인시 적용 받은 uid 정보를 기준으로 나타내어 준다.


루트로 로그인후에
# su - id
// 다른 계정으로 전환 시키는 명령어
# who am i
root      tty     2008-06-/...
으로 나온다 . 다른 사용자로 로긴이 됐지만  여전히 루트라고 나온다 !!!!!
# whoami
user01
사용자 삽입 이미지


참고 :
uid , gid  
linux에서는 uid 정보와 gid정보가 있는데 이는
계정 정보명으로 사용자를 구분 짓는 것이 아니라
uid와 gid로 구분 짓는다.

2008. 6. 23. 21:44

/etc/profile

# vi /etc/profile  
// 모든 사용자!!에 대한 프로파일 로긴시 적용받음
해당 파일에
TMOUT 항목을 설정 하면 된다.
TMOUT = 3600      // 초단위이며, 한시간동안 입력이 없을경우 로그아웃 시킨다.
또한
루트로 로긴했을때 만약을 위한 조치이다. (본인도 모름 ㅡ.,ㅜ)
HISTSIZE =0
HISTFILESIZE =0
을 설정한다.

or

# vi /root/.bash_profile
//루트 계정의 bash쉘에 대한 프로파일이며
이파일에도 TMOUT 항목을 설정 해도 된다.

참고

# vi /root/.bash_logout에
history -c 항목을 설정하게 되면
루트 계정이 로그 아웃시 사용한 명령어 목록을 클리어 시킬수 있다.

----------------------------------------------------------------------------------------


2008. 6. 23. 21:37

/etc/login.defs , 로그인 암호 길이 지정

# vi /etc/login.defs              
// 해당 파일에서 gid, uid값 대역폭 메일 박스, umask , create_home값등을 변경 할 수 있다.  
사용자 삽입 이미지

PASS_MAX_DAYS 99999                         // 패스워드 변경 없이 최대 사용기한
PASS_MIN_DAYS  0                               // 패스워드 변경 없이 최소 사용기한
PASS_MIN_LEN    5                               // 최소 사용 길이
PASS_WARN_AGE 7                              // 만료일전 경고 일자 만료일 -7