홈페이지에있는 영문 메뉴얼입니다.




아래는 제가 따라하며  번역해서 쉽게 써놓은 글입니다.  




'보안 > System' 카테고리의 다른 글

RootKit hunter설치하기  (0) 2011.08.05
LC사용법  (0) 2011.08.05
Http method 를 이용한 정보캐네기와 막기  (0) 2011.06.29
ssh관련  (0) 2011.06.28
Fuser과 lsof 조사  (0) 2011.06.28
AND

'보안 > System' 카테고리의 다른 글

yara 1.6 설치 및 활용가이드  (0) 2011.08.09
LC사용법  (0) 2011.08.05
Http method 를 이용한 정보캐네기와 막기  (0) 2011.06.29
ssh관련  (0) 2011.06.28
Fuser과 lsof 조사  (0) 2011.06.28
AND

LC사용법

보안/System 2011. 8. 5. 20:04

'보안 > System' 카테고리의 다른 글

yara 1.6 설치 및 활용가이드  (0) 2011.08.09
RootKit hunter설치하기  (0) 2011.08.05
Http method 를 이용한 정보캐네기와 막기  (0) 2011.06.29
ssh관련  (0) 2011.06.28
Fuser과 lsof 조사  (0) 2011.06.28
AND

# telnet localhost 80
OPTIONS / HTTP/1.1
host: 210.109.3.121

HTTP Method의 정의
일단, HTTP Method가 무엇인가 알아보자. 간단하게 설명하면 HTTP 프로토콜은 TCP와 UDP 프로토콜을 기반으로 하여 웹에서 사용하는 프로토콜로서 클라이언트와 서버 사이에 이루어지는 
요청(Request)과 응답(Response) 데이터를 전송하는 방식을 말한다. HTTP Method는 말 그대로 서버에 요청을 보내는 방법이다.
HTTP Method의 종류
HTTP 명세서에 따르면 HTTP Method에는 8가지의 명령이 있다. OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT가 있다. 각각의 사용은 아래와 같다.
OPTIONS
- 요청한 URL에 어떠한 메소드 요청이 가능한지 묻는다.

GET
- URL에 해당하는 정보의 전송 요청을 보낸다.

HEAD
- URL에 해당하는 정보의 전송을 요청하지만, GET과는 다르게 정보의 Meta 정보만을 요청한다.

POST
- 서버가 처리할 수 있는 자료를 보낸다. GET으로 보낼 수 없는 자료들에 대해 전송할 때 사용한다.

PUT
- 자료를 전송하여 해당 URL에 자료를 저장한다.

DELETE
- 해당 URL의 자원, 정보를 삭제한다.

TRACE
- 이전까지 요청한 정보들의 목록을 요청한다.

CONNECT
- 프록시가 사용하고, 연결을 요청한다.

기존의 웹 플랫폼에서는 GET, POST Method를 사용하여 통신을 해왔는데, RESTful 서비스에서 GET, POST, PUT, DELETE Method를 가지고 동일 URL로 각각의 동작을 처리하는데 사용하고 있다.
host
직접 넣지 말고 입력 버퍼를 만들어서 전송하는 방법



 
######## 

 
아파치 버전정보가 보이므로 안보이게 해줘야한다.
PHP버전정보를 안보이게 하려면 컴파일 당시 소스를 수정해야 한다. 

아파치 버전정보 셋팅하는법
/usr/local/apache/conf/httpd.conf 수정

ServerTokens Prod
#Set to One of : Full | OS | Minor | Minimal | Major | Prod

 Full : 모든 아파치 정보 보여주기 (지시자가 없을 때도 같은 의미로 사용)
 OS : 아파치 버전과 운영체제를 보여준다.
 Minimal : 아파치 버전만 보여준다.
 Prod : 아파치라는 것만 보여준다.
# /etc/rc.d/init.d/httpd restart

'보안 > System' 카테고리의 다른 글

RootKit hunter설치하기  (0) 2011.08.05
LC사용법  (0) 2011.08.05
ssh관련  (0) 2011.06.28
Fuser과 lsof 조사  (0) 2011.06.28
VIEW  (0) 2011.06.28
AND

ssh관련

보안/System 2011. 6. 28. 23:57
ssh

/etc/ssh

ssh_host_key   rsa1방식  (개인키와 공개키가 한쌍이다)
ssh_host_rsa_key rsa2방식
ssh_host_dsa_key dsa 방식

ssh_config 클라이언트 환경설정
sshd_config 서버 환경설정

사용자 홈디렉토리에  .ssh 디렉토리가 존재한다.
그안에 known_hosts라는 파일이 존재 한다. 이 파일은 공개키이다. 그래서 삭제를 해줘야 다른데서 접속가능하다.

vi sshd.conf
# PermitRootLogin yes    ;루트접속허용
# AythorizedKeysFile .ssh/authorized_keys ;특정사용자만 접속가능하도록 

'보안 > System' 카테고리의 다른 글

LC사용법  (0) 2011.08.05
Http method 를 이용한 정보캐네기와 막기  (0) 2011.06.29
Fuser과 lsof 조사  (0) 2011.06.28
VIEW  (0) 2011.06.28
다수 DNS 서버간 파일 트렌스퍼 제한  (0) 2011.06.28
AND

Fuser과 lsof 조사

보안/System 2011. 6. 28. 23:56
작성자 유창훈

 

'보안 > System' 카테고리의 다른 글

Http method 를 이용한 정보캐네기와 막기  (0) 2011.06.29
ssh관련  (0) 2011.06.28
VIEW  (0) 2011.06.28
다수 DNS 서버간 파일 트렌스퍼 제한  (0) 2011.06.28
ftp 보안관련  (0) 2011.06.28
AND

VIEW

보안/System 2011. 6. 28. 23:54

VIEW

유창훈





뷰는 내부 외부 사용자를 IP로 구분하여서 각기 다른 응답을 주는 용도로 사용합니다.

Internal / external을 구분하여 IP주소에 따라  응답이 틀리게 설정할 수 있습니다..


Internal 에는 특정 IP대역을 아래와 같이 선언하여 해당 영역만 해당 존파일을 참조 가능케 하였고

external에는 any라고 설정하여서 internal에서 정의한 특정영역의 IP들이 아닐 때 해당 존 파일을 참조하게 합니다.


또한 하나는 internal 에는 recursion yes 선언하여 캐쉬 서버용 , external에는 recursion no 를 설정하여 네임서버용으로 사용합니다.

recursion이란 자신이 알고있지 않은 정보를 얻기 위하여 다른 DNS서버로 질의하는 것에 대한 허용 여부를 결정하는 것으로써, 이것이 허용상태에 있으면, 남용될 요지가 있습니다. 예를 들어 자신에게 없는 과다한 DNS요청으로 인해 다른 곳으로 질의를 계속하게 되고 이는 서버의 자원을 소모하는 결과로 이어 질 수 있습니다.



따라서 DNS서버가 안전하다고 믿고 있는 internal 지역(특정 IP범위)안의 host들에게만recursion을 허용하고 그 외 나머지 external이라는 불확실한 host들의 요청에 대해서는 자기자신이 가지고 있는 정보만을 되돌려줌으로써, 불필요하게 다른 곳 으로 요청하는 작업을 하지 않게 합니다.


위에서 도 말했지만, internalexternal의 존 파일을 다르게 지정함으로써, 각기 상이한 정보를 제공할 수 도 있습니다.


설정은 다음과 같습니다.


/etc/named.conf



view “internal”{
match-clients { 200.1.1.0/24; };
recursion yes;
zone “domain.com” {
type master;
file “domain.com_secure.zone”
                                          };
};
 

view “external”{
match-clients { any; };
recursion no;         //
외부에서 recursion제한.
zone “domain.com” {
type master;
file “domain.com.zone”
                                };
};


'보안 > System' 카테고리의 다른 글

ssh관련  (0) 2011.06.28
Fuser과 lsof 조사  (0) 2011.06.28
다수 DNS 서버간 파일 트렌스퍼 제한  (0) 2011.06.28
ftp 보안관련  (0) 2011.06.28
모든 어플래이션이 가져야 하는 보안 채크리스트  (1) 2011.06.28
AND

다수의 dns서버에서 파일트렌스퍼가 마스터와 슬레이브간에만 이루어지도록 셋팅, 

/etc/named.conf에서 수정

dns가 하나이면 트렌스퍼를 하지 않도록 셋팅하고 
 
dns서버가 여러개이면 2차서버에서만 받아가게셋팅
options{
...
allow-transfer{ none ; };   /// master하나밖에 없을때
allow-transfer{ 210.109.3.123; };   //2차 dns 서버를 지정해놓기
....
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 
options{
...
allow-recursion{ none ; };   /// 순환질의 차단
allow-recursion{ 210.109.3.123; };   //2차 dns 만 순환질의 허용
....
}



AND

ftp 보안관련

보안/System 2011. 6. 28. 23:51
ftp 취약점
스니핑시 다 보임
서버상에 계정이 있어야함  --->이는 시스템의 정보를 유출할 가능성 내포 
vsftp를 사용하자-->가상유저장점
사용가능한 용량 제한
익명사용자의 write권한 제한


PAM 유닉스 통합인증모듈
/etc/pam.d/ 안에 파일들을 살펴볼 수 있다. 
cat sshd
cat su

vsftpd에서 가상유저 만들기
vsftpd가 설치된경로 = /etc/vsftpd/~
# yum install db4-utils
# db_load -T -t hash -f virtual_user.txt /etc/vsftpd/vsftpd_login.db
# strings /etc/vsftpd/vsftpd_login.db
# chmod 600 /etc/vsftpd/vsftpd_login.db
# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_virtual
# cat > /etc/pam.d/vsftpd_virtual
#%PAM-1.0
auth    required        pam_userdb.so   db=/etc/vsftpd/vsftpd_login
account required        pam_userdb.so   db=/etc/vsftpd/vsftpd_login
[2]+  Stopped  
# useradd -d /home/ftpsite -m virtual
# cp /etc/hosts /home/ftpsite/
# chown virtual.virtual /home/ftpsite/hosts 
# ls -l /home/ftpsite/
# vi /etc/vsftpd/vsftpd_virtual.conf
-----------------------------------
anonymous_enable=no

local_enable=YES

write_enable=YES

local_umask=022

#anon_upload_enable=YES

dirmessage_enable=YES

connect_from_port_20=YES

#chown_uploads=YES
#chown_username=whoever

xferlog_std_format=YES
xferlog_file=/var/log/xferlog


#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.

#deny_email_enable=YES

#banned_email_file=/etc/vsftpd/banned_emails

#chroot_list_enable=YES

#chroot_list_file=/etc/vsftpd/chroot_list

#ls_recurse_enable=YES

listen=YES
listen_port=1004
#listen_ipv6=YES

guest_enable=YES
guest_username=virtual


pam_service_name=vsftpd
pasv_min_port=30000
pasv_max_port=30009

virtual_use_local_privs=YES
user_sub_token=$USER
local_root=/home/ftpsite/$USER

#userlist_enable=YES

tcp_wrappers=YES
AND

모든 어플래이션이 가져야 하는 보안 채크리스트

 
1.모든 어플리케이션에서 버전정보는 보여주면 보안상 안좋기때문에 숨기거나 컴파일 상에서 짜집기로 숨겨야한다 또한, 상위버전으로 업그레이드

2. 인증을 통한 접속시 암호화 모듈이 존재하느냐

3. 버퍼오버플로어의 취약점
AND