계정 보안, diff

~서버앞에서 루트 로그인 차단

#vi     /etc/securetty

tty1 ~ tty11 까지  # 으로  주석 처리


일반계정으로  로그인 한 후  su(또는 su -) 이용하여
루트로 전환하면 된다.

 

su    : 환경설정파일 읽지 않음(.bash_profile)
su - : 환경설정파일 읽음(.bash_profile), 로그인 한 것과 비슷

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


~참조사이트
http://www.manpage.co.kr/onlinebook/secure.htm


~계정 보안

-시스템 계정
서버를 운용하기 위한 계정들로 특수한 목적으로 사용됨
시스템을 운영하면서 각종 데몬이 특정한 디렉토리 및 파일에 접근하기 위한 계정이 필요하게 됨

불필요한 계정은 삭제하여 접근이 허가되지 않는 사용자의 접근을 제한한다.


[fedora]
#cat   /etc/passwd

adm 
--->시스템 관리자를 위한 별도의 계정

lp 
--->프린터를 사용할 수 있는 계정

shutdown, halt 
--->시스템 종료 및 재부팅에 사용하는 계정

news 
--->news 서비스를 사용할 수 있는 계정

uucp 
--->유닉스시스템간 파일을 복사할 수 있는 프로토콜을 사용하는 서비스가 존재하지 않는다면 제거

operator 
--->시스템 백업 등과 같이 특수한 목적으로 할당된 계정으로 다수의 사용자가 시스템을 관리할 때 이용할 계정

games 
--->X-window에서 사용할 수 있는 게임 및 유틸리티 계정

gopher 
--->웹의 성장으로 거의 존재하지 않는 서비스

nscd 
--->네임 서비스에 대한 캐쉬를 관리하는 데몬계정

 

#grep  uucp  /etc/passwd
#grep  games   /etc/passwd

#userdel  uucp
#userdel  games

#grep  uucp  /etc/passwd
#grep  games  /etc/passwd

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

~root  계정관리

-logout 시에 history 삭제하기

(터미널에서 입력한 명령은  /root/.bash_history 저장)

[fedora]
#history
#cat  /root/.bash_history


#vi  /root/.bash_logout

history  -c(추가)
clear

 

#exit
루트로 로그인
#history
#cat  /root/.bash_history


-auto logout 설정하기

[fedora]

#vi  /root/.bash_profile
TMOUT=10(단위는 초)
export   PATH TMOUT


#exit
루트로 로그인
10초후 자동 로그아웃

리눅스 운영체제로 로그인하면 홈디렉토리로 이동하면서 메모리에
쉘이 로딩되고 이 때 쉘설정파일(.bash_profile)이 읽혀진다.


~telnet  루트 로그인 제한

[xp]
c:>telnet   192.168.50.10
root
암호
--->X
*(리눅스 서버에   /etc/securetty 가 존재하면
기본적으로  원격 루트로그인이 안된다.)

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

[fedora]
#telnet  localhost
root login 테스트
---> X
---> 자신의 서버에서 접속을 하지만 운영체제는 리모트 로그인으로 간주

 

 

#mv   /etc/securetty   /etc/securetty_old
이름변경

(/etc/securetty 파일이 없으면 외부에서 루트로
로그인 가능 ---> 권장하지 않음)

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

 ~diff 사용하기

diff 명령 사용 예
두개의 파일을 비교한 예:

   diff email addresses
   2a3,4
   > Jean JRS@pollux.ucs.co
   > Jim  jim@frolix8

이것은 email 파일과 addresses라는 두파일의 내용을 서로 비교한 명령과
그 결과입니다.

윗 결과는 "2행 다음부터 3,4행이 추가(A)되었다(2a3,4)는 의미

 

a : append
d : delete
c : change


#cp   /etc/hosts   test.txt
#cp   test.txt   today.txt
#ls
#diff   test.txt   today.txt
---> 아무것도 나오지 않으면 동일한 파일

#vi   today.txt 
:set  nu
3,4번 라인에 다음 추가
3 fedora
4 cent

#diff   test.txt  today.txt

by 묘수서생 | 2008/01/17 11:48 | Linux | 트랙백 | 덧글(0)

계정, 그룹

*계정을 만들때는 계정의 개수를 최소한으로 한다.
관리자 이름(administrator)를 교체한다.
스뚜롱한 패스워드 영문자+숫자+특수기호등으로 무장한다.

*컴퓨터 계정을 쓰는 이유
- 보안 : 사용자를 인증, 감시를 하기 위해서.
- 관리 : 설정유지 등등...좋은게 너무...많아효

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

to be continue...

by 묘수서생 | 2008/01/15 14:05 | windows 2003 | 트랙백 | 덧글(0)

MMC, OU

MMC

관리도구를 쓰기 위해서

윈도우 2003시디에 있는  i386폴더 안의 adminpak을 실행하여 관리도구를 설치한다.
설치 후 관리도구를 선택해보면 active directory 설정을 할 수 있는 항목들이 생긴다.

* 리눅스나 유닉스에 비해 윈도우가 가지고 있는 가장 큰 취약점은 자유도가 낮다는 것이다.
이를 개선하기 위해 MMC를 쓰는데 이 MMC는 사용자가 마음대로 관리도구를 설정할 수 있다.

이 MMC가 중요한 이유?
- 관리도구를 다 설치를 할 수가 있지만 일반 유저가 쓰면 문제가 생길 수 있는 불필요한 작업까지
다 설치가 된다. 따라서 관리자는 작업을 분산하여 줄때(위임) 그 사용자에 필요한 작업만 골라서
위임을 해서 문제를 미연에 방지할 수 있다.

- 최근에는 관리도구를 설치함으로 생기는 권한, 운영체제상의 맹점을 피하기 위해
직접 원격으로 관리자가 설정을 한다.

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

OU - Organiztional Unit (조직 구성 단위) - 리소스를 저장할 수 있다.

- 도메인의 객체를 조직화.
- 장점 : OU별로 관리를 할 수 있어 리소를 묶을 수 있다는 것.(그룹화)
* naming sense
OU의 이름을 정할 때는 full name으로 다른 사람이 봐도 확연하게 무슨 일을 하는 아이디 인지 확인하게 편하게 해야한다.

by 묘수서생 | 2008/01/15 13:57 | windows 2003 | 트랙백 | 덧글(0)

windows2003 서버 구성

- 용어 정리

1) broadcast
  broad는 넓게 cast는 말하다. 둘이 합쳐 방송하다 라는 의미가 된다.
컴퓨터에서 브로드캐스트라는 말의 의미는 불특정 다수 모두에게 전달한다는 의미가 될 수 있다.

2) multicast
 multi가 붙어서 다수에게 cast 말하는 것이다.
여러대의 컴퓨터에 cast한다는 의미이다.

3) unicast
 uni=> unique 유일한.
 하나의 컴퓨터에 cast하는 것이다.

4) domain => 영지, 소유지
 네트워크를 관리하기 위한 영역으로 논리적(logical)으로 정책(policy)을 써서 관리한다.

5) Directory Service
 directory : 주소록 -> 관리하는 파일
 논리적인 도메인을 서비스 하는 것.

6) authenication 과 authorization
 둘다 우리말로 인증이라는 뜻이지만
  authenication 는 user에 관련된 ID와 PW를 이용한 인증이고
  authorization 는 resourse에 관련된 인증이다.

* 예전에는 authentication만 가능했지만 이제는 둘다 가능한 기술로 관리한다.
이를 'active directory'라고 한다.


- Active directory 설치.

* vmware로 팀을 만들었다. 3대의 가상머신을 이용했으며 s1=2003, s2=2003, xp=xp로 2003서버를
설치한 2개의 가상머신과 xp를 설치한 한대의 가상머신이 실습환경이다.

1. 먼저 s1에서 도메인을 설정한다.
dcpromo를 실행창으로 연다.

- 설정은 새로 만들기 도메인 이름은 vm2003.com으로 한다.

포리스트 - 하나 또는 여러개의 도메인이 같은 설정값을 가지고 있다.
               나무-> 포리스트로 부터 계층적으로 구성되어 있다.
               상위개념을 부모, 하위개념을 자식으로 부른다.

- Active Directory Terms

 Forest - Domain - Ou - Group - User

- 도메인을 써야하는 이유?
1. centralized management 관리를 모아서 하기 위해
 2. delegated administration 해야할 일을 나누어서 한다.

by 묘수서생 | 2008/01/14 19:47 | windows 2003 | 트랙백 | 덧글(0)

리눅스 - 스캐닝, 스니핑, 네트워크 관련 커널 튜닝

 


<스캐닝, 스니핑, 네트워크 관련 커널 튜닝>
---------------------------------------
~scanning
-개념
공격자가 목표 사이트를 공격하기전 해당사이트의 특징을 확인하는 작업으로 목표사이트내 존재하는 시스템의 통신가능여부, 제공하는
서비스등을 식별하기 위함
-목적
타겟 시스템에서 어떤 서비스가 동작하는지를 파악
방화벽설치 여부를 확인
시스템 기종 (linux,sparc,window) 파악
접속 가능한 ip 확인
운영체제의 정보를 파악
-nmap 은 스캐닝 도구로 자주 사용되는데 그 이유는 가장 많은 스캐닝 기법을 적용할 수 있는 도구 이기 때문이다.

 


~홈페이지
http://www.insecure.org


~다운로드 위치
http://download.insecure.org/nmap/dist/nmap-4.20-1.i386.rpm


~설치방법
rpm  -Uvh 또는 ivh  nmap-4.20-1.i386.rpm


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

[fedora]
#rpm  -qa  |  grep  nmap
#nmap
옵션 출력

#nmap  -V
버전 출력


Q)ftp 서버에서 nmap-4.20-1.i386.rpm 을 다운받아
프로그램을 업그레이드 하시오

 

 

 

#ftp  121.160.70.177
myhat1 login
>dir
>mget   nmap*
>by
#ls
#rpm  -Uvh  nmap-4.20-1.i386.rpm
#nmap  -V

 

 

 


#nmap   -v -sS -O(영문 O)  192.168.50.20

-v  verbose 자세히 출력
-sS TCP SYN stealth port scan
-O  운영체제 예측

 

 

#nmap  -v  -sS  -O  -sV  192.168.50.20

-sV 서비스 버전 스캔

 

 

 


~스캐닝 원리

A      syn(->)            B
        syn+ack(<-)
 ack(->)

 


#nmap

 

 


#nmap  localhost
자신의 컴퓨터 포트 스캔

 

#netstat  -atn

 

 

~참조사이트
http://comefeel.com/tt/comefeel/69
http://saylon.egloos.com/74972

 

 

 

Q)
localhost를 대상으로  포트 10 ~ 60000 까지 스캐닝 하시오
(#nmap  한 다음 옵션 확인)

 

 

 

 

[fedora]
#netstat  -atn

#nmap  localhost
리눅스는 기본적으로 1-1024 포트만 스캔

#nmap  -p10-60000  localhost
(또는 nmap  -p  10-60000  localhost)


#nmap  -v  -sS  -O  -p1-65535  192.168.50.20


#nmap  -O  192.168.50.1

 

 

Q)
cent 에서  nmap-4.20 버전을 wget 이용하여 설치하고 fedora 를 대상으로 운영체제 추측 및 stealth scan 하기

 

 

 


[cent]
#wget  http://download.insecure.org/nmap/dist/nmap-4.20-1.i386.rpm

#ls
#rpm  -Uvh  nmap-4.20-1.i386.rpm

#nmap
#nmap  -V

#nmap  -sS  -O  192.168.50.10
#nmap   -p  10-25  localhost
#nmap  -sR  192.168.50.10
RPC 스캔
#nmap  -sF  192.168.50.10
FIN 스캔
#nmap  -O  192.168.50.1  -o  scan.txt
-o(소문자) 파일로 저장
#ls
#cat  scan.txt

 

~참조사이트
http://insecure.org/nmap/man/man-os-detection.html
http://www.nwlab.net/tutorials/portscanner/nmap-tutorial.html

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~tcpdump 를 이용한 sniffing
-sniffing : 같은 네트워크 상(LAN 환경)에 지나가는 모든 패킷을 capture


[fedora]
vsftpd 이용하여 ftp 서버 구축

#service   vsftpd  start
#nmap  localhost
#netstat  -ntlp
21


                          telnet접속
[xp]     ----------------->          [fedora]
                           [cent]
                        tcpdump로 스니핑

 

 

 


[cent]
#tcpdump  port  23  and  host 192.168.50.10 -w  telnet.sniff


[xp]
도스창 실행
c:\>telnet  192.168.50.10
apple 로그인
$id
$w
$exit

[cent]
ctrl + c
스니핑 중지

 

 

 

#ls
#cat   telnet.sniff
#tcpdump  -r  telnet.sniff
-r 파일로 저장된 tcpdump 파일 읽기
#tcpdump  -r  telnet.sniff  |  more

---> 이더리얼을 이용하면 쉽게 분석 할 수 있다.

 

 

 


~tcpdump 플래그(flags)
 
TCP플래그  TCPDUMP플래그  플래그의 의미

SYN        S             
SYN패킷, 접속요청을 할 때 보내는 패킷을
말한다. TCP접속시에 가장먼저 보내는 패킷이다.

ACK        ack           
ACK패킷, 상대방으로부터 패킷을 받은 뒤에 알려주는
패킷을 말한다. 다른 플래그와 같이 출력되는 경우도 있다.
 
FIN        F             
접속종료를 위한 플래그로 이 패킷을 보내는 곳이 현재
접속하고 있는 곳과 접속을 끊고자 할 때 사용한다.

RESET     R             
이 패킷을 보내는 곳이 현재 접속하고 있는 곳과
즉시 연결을 끊고자 할 때 사용한다.
 
PUSH       P             
데이터를 즉시 목적지로 보내라는 의미이다. 텔넷과 같이
상호작용이 중요한 프로그램의 경우 빠른 응답이 중요하다.
이때 사용하는 플래그이다.
 
URGENT     URG           
긴급한 데이터는 다른 데이터에 비해 우선순위가 높아야 한다.
예를 들어 ftp로 자료를 받고 있는 도중
CTRL+C 를 받으면 즉시 자료받기를 중단해야 하는 것처럼
이 때 사용하는 플래그이다.
 
Placeholder   .            
패킷이 SYN, FINISH, RESET, PUSH등의 플래그가
없는경우이 플래그가 세팅된다.
이 플래그는 ACK플래그와 함께 사용되는 경우도 있다.

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


~스니퍼 2(이더리얼)
홈페이지 : http://www.ethereal.com

-2003 부팅
바탕화면의 이더리얼 설치 프로그램 실행
Next
I Agree
Next
Next
Next
Install

Winpcap도 설치
Next
I agree
finish

next
finish

 

바탕화면의 이더리얼 아이콘 더블클릭
위쪽 메뉴표시줄-capture-interfaces
192.168.50.30 옆의 capture 버튼 클릭

 

xp 에서 fedora 로 ftp 익명연결 로그인
c:\>ftp  192.168.50.10
User : anonymous
Password : aa@aa.com(임의의 이메일 입력)
>dir
>by

 

이더리얼 스니핑 stop

 

 

캡처된 화면에서 4번째 라인 클릭
Analyze-Follow tcp stream 클릭
---> 아이디와 패스워드까지 알 수 있다.

 

 

 

[2003]
이더리얼 3번재 메뉴 표시줄 [clear] 버튼 클릭
다시 스니핑 시작

 

cent 에서  fedora 로  ssh  로그인 시도
[cent]
#ssh  192.168.50.10
root login  test
#w
#exit

[2003]
이더리얼 스니핑 stop

결과분석 ---> 암호화된 데이타라서 아이디와 패스워드를 알 수 없다.

 

 

 

 


Q)
2003 에서  cent 에 있는 telnet.sniff 를  ftp 서비스 이용하여
다운받은 후  이더리얼로   분석하시오
(계정은 apple 을 이용하기)

 

 

 

 

 

 

 

 

[cent]
(apple 계정없으면 추가하고 암호 설정하기)
#cd
#pwd
(/root)
#ls
#cp  telnet.sniff  ~apple
#cd  ~apple
#pwd
(/home/apple)
#ls
#yum  -y  install  vsftpd
#service   vsftpd  start

[2003]
웹브라우저 실행하고 주소창에 다음 입력
ftp://apple@192.168.50.20
telnet.sniff 를 바탕화면에 다운


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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

~네트워크 관련 커널 튜닝
참조사이트
http://ipsysctl-tutorial.frozentux.net/chunkyhtml/index.html
http://www.haansoftlinux.com/service/technical/sw_ServerControl.php?&page=2&category=SServerControl
(7번 글 선택)

 

-커널에 설정된 값을 확인하기 위한 방법
/proc/sys/net/ipv4/*
sysctl  -a


-ip_default_ttl
TTL(time to live)은 ip 패킷의 생존시간을 의미하며 하나의 라우터를
지날 때마다 1씩 감소
TTL 값은 1~255 사이의 값을 사용하는데 리눅스는 기본값으로 64를 이용


-net.ipv4.tcp_syncookies
유명한 DoS 공격의 한 형태로 syn attack 이라고 하는데 시스템에서 client 를
위해 설정된 자원을 무의미한 연결로 채워 시스템을 마비시키는 공격의 일종

 


Syncookies('신쿠키'라고 발음한다)는 'Three-wayhandshake' 진행과정을 다소 변경하는 것으로 Alex Yuriev와 Avi Freedman에
의해 제안되었는데, TCP 헤더의 특정한 부분을 뽑아내어 암호화
알고리즘을 이용하는 방식으로 Three-way Handshake가 성공적으로
이루어지지 않으면 더 이상 소스 경로를
거슬러 올라가지 않는다.
따라서 적절한 연경 요청에 대해서만 연결을 맺기 위해 리소스를
소비하게 되는 것이다.

 

 

 

 

[fedora]
#sysctl  -a
시스템 설정값 모두 출력
#cat    /etc/sysctl.conf
커널 설정파일


#sysctl  -a  |  grep  default_ttl
64

#echo  123  >  /proc/sys/net/ipv4/ip_default_ttl
---> (1번)

#sysctl  -a  |  grep  default_ttl
123

(1번) 은 일회성이고
/etc/sysctl.conf에 적어 주어야 리부팅해도 적용된다.

 

 

 


[xp]
c:\>ping   localhost
c:\>ping   192.168.50.20
c:\>ping   192.168.50.10

[cent]
#nmap  -O  192.168.50.10

 

---> /etc/sysctl.conf 파일을 직접 다 적어주는 것보다
리다이렉션을 이용해서 값만 변경해주는
방법이 안전하다.

 

 

 

[fedora]
#sysctl  -a  |  grep  default_ttl
#sysctl  -a  |  grep  default_ttl  >> /etc/sysctl.conf

#vi  /etc/sysctl.conf
:set  nu
:24
ttl 값 120 으로 수정

#reboot

 


[xp]
ping  192.168.50.10
ping  192.168.50.20

 


~다시 원래대로 설정(sysctl.conf 에서 ttl 라인 삭제)

 


~외부 ping에 응답안하도록 설정하기
[xp]
c:\>ping  192.168.50.10
---> O


[fedora]
#cat   /proc/sys/net/ipv4/icmp_echo_ignore_all
#echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
#cat  /proc/sys/net/ipv4/icmp_echo_ignore_all

 

 


[xp]
c:\>ping  192.168.50.10
---> X

 

 


icmp_echo_ignore_all
--->값이 1이면 핑에 응답안함, 값이 0이면 핑에 응답
ping 명령에 대한 반응을 하지 않도록 설정한다면 서버가 서비스 중인지 판단하지  못하도록 할수 있다

 

Q)다시 ping 에 응답하도록 설정하기

 

 

 

 


~Attribute  설정하기

-리눅스에는 기본 퍼미션과 별도로 속성이라는 개념이 있다.
-attribute(속성)은 퍼미션(r,w,x)과는 다르다

lsattr(속성확인), chattr(변경)

[fedora]
#man   chattr
a  추가허용
i  읽기전용

#seq  10
1부터 10까지 숫자 생성

#seq   10  >  mytest.txt
#cat   mytest.txt

 

 

#ll
속성은 ls -l, ll 로 알 수 없다.

#lsattr

 

#chattr   +i  mytest.txt
+는 속성추가, -는 제거

#lsattr
#rm   mytest.txt
---> X
#echo  22  >>  mytest.txt
---> X


#cat    mytest.txt
#chattr  -i  mytest.txt
#lsattr

 

 

#rm  mytest.txt
y enter
---> O
#ls

 

 


#seq  5  >  mytest.txt
#chattr  +a  mytest.txt

#lsattr

#rm   mytest.txt
---> X

#echo   good  >>  mytest.txt
---> O , vi 로는 추가안됨
( > 는 덮어쓰기,  >> 는 기존의 내용에 추가하기)

#cat   mytest.txt

 

 


 

 

by 묘수서생 | 2008/01/14 11:13 | Linux | 트랙백 | 덧글(0)

◀ 이전 페이지          다음 페이지 ▶