블로그 > 불행한 바보 http://blog.naver.com/deepinheart/20000824189 | |
| 원격 로그 서버 만들기 완벽 가이드 좀 오래된 문서이기는 하나 괜찮은 문서 같아서 올려 봅니다. 원격 로그 서버 만들기 완벽 가이드 번역 : 이국현 (errai@hitel.net) 이 문서는 Eric Hines에 의해 쓰여진 것으로, 원격 로그서버를 만들기 위한 자세한 설명과 설정방법등을 다룰 것이다. 소개(INTRODUCTOIN) A. 원격 로그 서버란 무엇인가?(WHAT IS A REMOTE LOG SERVER) B. SYSLOGD 여러분 컴퓨터에서 원격으로 로그를 남기는 능력을 작동시키기 위해서 첫번째로 할 일은 syslogd의 재 컴파일이다. 이것은 보안상의 이유로써 syslog.conf 화일이 아닌 다른 화일을 읽도록 하기 위함이다. 자세한 내용은 나중에 다루겠다. NOTES : 이 아이디어는 Lance Spitzner가 쓴 "To Build a Honeypot"이란 whitepaper를 통해 얻게 되었다. 보안 공동체를 위해 공헌을 한 Lance에게 감사의 말을 전한다. STEP 1 : 새로운 버젼으로 컴파일하기 (COMPILING OUR NEW VERSION) SITE 1:ftp://ftp.infodrom.north.de/pub/people/joey/sysklogd/ 만약 RedHat계열의 사용자일 때 rpm-iv-vsysklogd-1.3.31-16.src.rpm 라고 실행한다면 /usr/src/redhat/SOURCES/sysklogd-1.3-31 에 인스톨 될 것이다. STEP 2 : 기본 설정 화일 위치 변경하기(CHANGING THE DEFAULT CONFIG FILE LOCATION) 기본 설정인 /etc/syslog.conf 를 고친다. [ehines@myhost sysklogd-1.3-31]$ cd /usr/src/redhat/SOURCES/sysklogd-1.3-31 syslog.conf 부분을 찾는다. 이제 여러분이 원하는데로 설정 값을 고치면 된다. 여러분은 /etc/.sys/CORE.conf 같이 독창적으로 설정하기 바란다. NOTES : 간단하게 예전 syslogd를 가지고 (-f 설정화일)형식으로 실행하지 않은 이유는, 침입자가 ps 등으로 프로세스 리스트를 볼 경우 뒤에 붙은 옵션들이 다 보여서 설정화일을 무엇으로 바꾸었는지 다 알게 될 것이다. STEP 3 : 진짜 syslog 설정화일 고치기(MODIFY THE (REAL) SYSLOG CONFIG FILE) # 간단하게 모든 메세지를 원격 호스트로 포워딩. # 모든 커널 메세지를 원격 호스트로 포워딩. # 로컬에도 기록하면서 원격으로도 기록을 남김 (실패할 경우 대비) 기타등등 여러분이 원하는데로 모든 로그화일을 설정한다. C. THE CLIENT ( REMOTE LOG SERVER ) D. 원격 로그 서버 차단하기(LOCKING DOWN THE REMOTE LOG SERVER) 1. 모든 서비스 종료시키기 (Turn off(ALL SERVICES)) 이 컴퓨터는 오직 로그 서버일 뿐이므로 다른 서비스들을 실행시킬 필요가 없다. 다음과 같이 실행한다. [root@myhost /etc]# cd /etc 1) 모든 INETD 서비스 종료시키기 (TURN OFF ALL INETD SERVICES) 여러분은 이 화일에서 '#' 를 추가시킴으로써 주석으로 처리를 할 것이 a. echo 2) 모든 RPC 서비스 종료시키기 (DISABLE ALL RPC SERVICES) [root@myhost /etc]# cd /etc/rc.d 디렉토리를 살펴보면 대문자 "S"로 시작하는 화일들이 보일 것이다. 이것은 시스템이 부팅할 때 시작되는 서비스들이다. 여러분은 mv 명령어를 이용해서 소문자 s로 바꿔주면 된다. 예를 들어 mv S11portmap s11portmap 이라고 해주면 부트 타임때 portmapper 를 시작하지 않게 된다. 아마도 nfslock, apmd, netfs, identd, autofs, portmap, atd, pcmcia 와 isdn, sendmail, gpm, httpd, vmware, xfs,linuxconf, local 같은 서비스들을 꺼주면 될 것이다. rc0.d 에서부터 rc6.d 까지 다 종료시켜 주어야 한다. 2. 계정 삭제(DISABLE ACCOUNTS) [root@myhost /etc]# vi /etc/passwd 여러분의 패스워드 화일에서 사용하지 않는 계정을 삭제해야 한다. 필자는 /bin/noshell(http://www. 3. SSH의 설치 (INSTALL SSH) telnet을 사용하면 sniffing 당할 위험이 있다. 하지만 우리에겐 GNU 오픈소스 공동체의 산물인 OpenSSH이 있다. 자 이제 OpenSSH를 설치해보자. 1) OPENSSH 다운로드 받기 (DOWNLOADING OPENSSH) 여러분의 웹브라우져로 www.openssh.com에 접속한다. 이문서가 쓰여질 때 최신버젼은 version 2.1.1로 SSH1과 SSH2 프로토콜을 둘 다 지원한다. 소스를 다운받고 다음과 같이 한다. [root@myhost ]# gzip -d openssh-2.1.1p2.tar.gz 모든 사항을 똑같이 할 수는 없을 것이다. 계속 진행하기 전에 INSTALL 화일을 꼭 읽어보기 바란다. 필자는 여러분 각각 시스템이 요구하는 사항까지 이야기 해 줄 수 없다. 이것은 단지 필자의 인스톨을 여러분이 지켜보는 것 일 뿐이다. Zlib: http://www.freesoftware.com/pub/infozip/zlib/ RPM버젼의 OpenSSL은 GNUmake가 설치되어 있다면 다음과 같이 하면 설치가 될 것이다. [root@myhost ]# ./configure && make && make install 만약 PAM을 사용한다면 /etc/pam.d/sshd 과 같은 PAM control file도 필요로 할 것이다. 일반적으로는 conrtib/sshd.pam.generic 에 포함하고 있다. 사용하기 전에 여러분의 시스템에 맞게 편집해야 할 것이다. 만약 레 [root@myhost ]# tar -xvf zlib.tar 설치도중에러가 발생한다면 미안하지만 README 화일을 읽기 바란다. 필자는 에러가 발생하면 README 화일들에서 error에 관련된 사항을 찾아보곤 한다. OpenSSL을 인스톨 하기 위해서는 다음과 같은 것이 필요하다. [root@myhost ]# tar -xvf openssl-0.9.5a.tar 이제 OpenSSH를 설치한다. [root@myhost ]# cd openssh-2.1.1p2 성공적으로 OpenSSH를 컴파일 했다면 다음과 같은 메세지를 보게 된다. 2) OPENSSH의 설정 (CONFIGURING OPENSSH) 기본적으로 설정되어진 것을 사용하더라도 나중에 변경할 때를 대비해서라도 ssh config화일을 봐두자. 설정화일 여러분은 SSH 배포판의 문서를 참조해서 설정을 하기 바란다. 4. 방화벽 (THE FIREWALL) 패킷 필터링은 여러분의 시스템에 어떤 취약점이 발견되지 전까지는 필요하지 않을 것이다. syslog port(514/udp)를 필터링 하는 이유는 syslog server가 쓰레기 값을 전송했을 때 멈출 수 없기 때문이다. 그러나 더 중요한 것은 udp값이 쉽게 spoof될 수 있게 때문이다. 아래는 리눅스 머신에서 ipchains를 이용한 쉘 스크립트이다. #!/bin/sh PATH=/usr/sbin:/sbin:/bin:/usr/sbin LOCAL_INTERFACE="192.168.1.1/32" # deny everything #permit ssh # permit outgoing tcp # permit syslog 만약 IP filter 패키지를 이용한다면 대체로 다음과 같을 것이다. # pass secureshell # or you can replace these two rules with 5. LOG REPORTING 아무리 좋은 원격 로그 서버를 만들어놔도 여러분이 직접 모니터링 할 수 없으면 무용지물이다. 필자는 다음과 같은 유틸리티를 추천한다. 아래는 간단한 쉘 스크립트(Mr. Bill Pennington)이다. 이것은 매 일/시간/분 로그화일들을 지정된 이름과 장소에 보관한다. #!/bin/bash #Set the date variable #Rename the messages file #Compress the file #HUP the syslog daemon so it writes to a new file #Compress the file #Rename mail file #HUP the syslog daemon so it writes to a new file #Compress the file #Then scp them somewhere 6. 시간 (TIME) 서버는 언제나 정확한 시간과 날짜를 가지고 있어야 한다. xntpd를 설치한 후에 "ntpdate timeservername"이란 명령을 하루에 적어도 한번정도 실행시켜 줘야 한다. 7. 다른 SYSLOG 장치 (OTHER SYSLOG DEVICES) 여기에 syslog가 기록하는 것을 설정할 수 있는 CISCO와 같은 다른 장치들이 있다. 여러분의 네트워크와 서버에서 정확한 값을 얻기 위해서는 syslog에서 기록하는 것을 위해 여러분의 모든 장치를 설정해야 한다. Cisco Routers logging <server ip address or name> Pix Firewall Switches set logging server enable Windows NT E. RESOURCES F. 역자 주 개인적으로 판단해서 꼭 필요하지 않다고 하는 내용은 삭제 또는 변경하였습니다. 필자(Eric Hines)가 언급한 번역되지 않은 내용은 원문을 참조하시기 바랍니다. :) |
Search Results for 'Hacking'
9 posts related to 'Hacking'
- 2006/09/08 원격 로그 서버 만들기 완벽 가이드 (12)
- 2006/09/08 ARP와 네트워크 보안 (11)
- 2006/09/08 chkconfig 사용법 (11)
- 2006/09/08 rootkit (12)
- 2006/09/08 시스템 공격점검을 통한 보안 개선 방안 (9)
- 2006/09/08 최신 웹 해킹에 대응하는 방법 (11)
- 2006/09/08 Ethernet 보안 + DHCP 등등 (12)
- 2006/09/08 전산망 해킹 침해사고시 어떻게 처리하나 (12)
- 2006/09/08 웹해킹 모음. (11)
블로그 > ♡ 나의 라임 오렌지 나무 ♡━˚ http://blog.naver.com/joan7636/120012356815 | |
네트워크 통신의 비밀 ARP ▶ 원문: http://www.tt.co.kr/~antihong/documents/arp_sniffing.pdf
|
1. 본 메뉴얼은 www.besthan.net 웹호스팅에서 서비스를 제공받은 고객님께 제공되는 메뉴얼 입니다.
이 메뉴얼은 저희 홈페이지에서 다시 보실수 있습니다.
2. 본 메뉴얼은 리눅스 서버 호스팅에서 필요한 부분만 요약한 메뉴얼 입니다.
3. 메뉴얼에 설명된 내용중 궁금하시거나, 설명이 잘못되었거나, 이상한 부분은 메일주시기 바랍니다.
자신의 서버를 부팅할 경우 어떤 데몬이 살아있고, 어떤 데몬이 죽어있고, 어떤 데몬을 사용할 수 있는가를
아는것이 해킹을 막을 수 있는 가장 유용한 방법입니다.
chkconfig를 이용하여, 데몬중에 반드시 있어야할 데몬을 남겨두고는 전부 죽이는게 해킹을 방지할 수 있는 지름길
입니다.
#chkconfig --list (/sbin 밑에 위치)
#chkconfig --help (참고)
#chkconfig --level 3 sendmail off (사용방법예)
#chkconfig --list (하면 나오는것들)
xfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
anacron 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
apmd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
arpwatch 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
atd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
keytable 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
gpm 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
inet 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
netfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
network 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
random 0:끔 1:켬 2:켬 3:켬 4:켬 5:켬 6:끔
ipchains 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
pcmcia 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
kdcrotate 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
kudzu 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
linuxconf 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
lpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
nfs 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
nfslock 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
identd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
portmap 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rstatd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rusersd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rwalld 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
rwhod 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
sendmail 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
syslog 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
snmpd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
crond 0:끔 1:끔 2:켬 3:켬 4:켬 5:켬 6:끔
ypbind 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
yppasswdd 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
ypserv 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
proftpd 0:끔 1:끔 2:끔 3:켬 4:켬 5:켬 6:끔
named 0:끔 1:끔 2:끔 3:끔 4:끔 5:끔 6:끔
이중 켜야할것은 보통 9개정도밖에 안됩니다.
3번레벨을 기준으로, keytable,inet, network,random,kudzu,sendmail,syslog, crond,proftpd 나머지는 off
시켜주는것이 바람직합니다. (자기의 환경에 맞춰서 설정해주시기 바랍니다.)
블로그 > silverdory의 블로그 http://blog.naver.com/silverdory/20007147439 | |||||||||||||||
| |||||||||||||||




Comment on this post!