세이박스

'서버,보안'에 해당되는 글 137건

  1. Vi 편집기 명령어
  2. SMTP 서버 릴레이 방지
  3. 우리나라의 컴퓨터 사용량과 인터넷 사용량
  4. 리눅스 netstat로 웹서버 사용자수 구하기
  5. 리눅스 crontab 초단위 실행 하기
  6. [해킹] Cain & Abel 카인과아벨 스푸핑 프로그램 공격 유형 및 보안 방법
  7. 보안 윈도우 서버 원격데스크탑 접속 포트 변경 및 접속하기
  8. SMTP의 장애 해결 방법
  9. Apache Web Server 의 DOS공격 막기
  10. iframe 삽입 공격 보안
  11. VNC 시작 프로그램 레지스트리 통해 등록하기
  12. SQL Injection 공격과 방어 방법 - php, asp 등
  13. xp ADSL접속프로그램 (PPPOE) 매크로 연결 끊고 켜기
  14. 솔라리스 파일 구조
  15. 솔라리스 여러가지 빽업 방법에 관한 설명
  16. 썬장비 점검시 주요 점검사항
  17. 솔라리스 시스템 종료 하기 명령어
  18. 솔라리스 사용자 계정 추가
  19. SunOS 5.8 메시지를 없애려면
  20. 솔라리스 package 설치/제거
  21. 솔라리스 IP 설정 및 PATH 설정
  22. IIS 6.0 CSR 생성(Microsoft Internet Information Server 6.0)
  23. MS iis 6.0 ssl 설치하기
  24. Cerberus FTP Server V2.22 프리웨어
  25. 공개웹방화벽을 이용한 홈페이지 보안
  26. 원격 데스크톱 연결시 라이센스 없다고 할때
  27. IIS 6.0 에서 php5 설치
  28. DNS 백업 및 복원하기
  29. Promise VTrak J610s 16베이 3U SAS/SATA JBOD 스토리지
  30. CPU 코어가 160개? 슈퍼마이크로 슈퍼블레이드

Vi 편집기 명령어

서버,보안
1. 커서 이동

h 한 문자 왼쪽으로 이동
l(L의 소문자) 한 문자 오른쪽으로 이동
b 한 단어 왼쪽으로 이동
w 한 단어 오른쪽으로 이동
j 한 줄 아래로 이동
k 한 줄 위로 이동
$ 현재 행의 맨 뒤로 이동
 
H 화면의 맨 위로 이동
M 화면의 중간으로 이동
L 화면의 맨 아래로 이동
 
Ctrl + b 이전 화면으로 이동
Ctrl + f 다음 화면으로 이동
Ctrl + u 이전 반화면으로 이동
Ctrl + d 다음 반화면으로 이동
 
G 파일의 마지막 행으로 가기
3G 파일의 3번째 행으로 가기
:3 파일의 3번째 행으로 가기


2. 삽입

a 커서 오른쪽에 삽입
A 커서 맨 뒤에 삽입
i 커서 왼쪽에 삽입
I(i의 대문자) 커서 맨 앞에 삽입
o 커서 아래에 삽입
O 커서 위에 삽입
 
:f 파일명 커서 다음에 파일 삽입
:20 r 파일명 파일을 20번째 행 다음에 삽입


3. 변경 및 수정

cw 단어 변경
cc 행 변경
C 커서 오른쪽의 행 변경
s 커서가 위치한 문자열 대체
r 커서 위치 문자를 다른 문자로 대체
r-Return 행 분리
J 현재 행과 아래 행 결합
xp 커서 위치 문자와 오른쪽 문자 교환
- 문자형(대,소문자) 변경
 
u 이전 명령 취소
U 커서가 위치한 행에 대한 변경 사항 취소(Redo 기능)
:u 이전의 최종행 취소
 
:s/str/rep 현재행의 str문자를 rep문자로 대체
:1,.s/str/rep 1부터 현재 행의 str을 rep로 전부 대체
:%s/str/rep/g 파일 전체 str을 rep로 전부 대체


4. 삭제

x 문자 삭제
dw 단어 삭제
dd 행 삭제
D 커서 오른쪽 행 삭제
:5,10 d 5~10째 행 삭제


5. 복사

yy (Y) 커서가 위치한 한행 복사
3yy(3Y) 커서가 위치한 행부터 아래로 3개 행을 복사
yw 커서가 위치한 단어 복사
3yw 커서가 위치한 단어부터 뒤로 3개 단어를 복사
p 복사된 내용을 현재 행 위에 삽입
P 복사된 내용을 현재 행 아래에 삽입
:1,2 co 3 1~2행을 3행 다음으로 복사
:4,5 m 6 4~5행을 6행 다음으로 이동


6. 찾기

/문자열 문자열을 아래로 찾기
?문자열 문자열을 위로 찾기
n 찾은 문자열을 아래 또는 위로 계속 찾기


7. 파일 저장 및 종료

:w 현재 내용을 저장
:w 파일명 지정한 파일 이름으로 저장
:w! 만약 현재 파일이 읽기 전용일때 강제로 현재 내용을 저장
:wq(ZZ) 현재 내용을 저장하고 vi 종료
:q! 현재 내용을 저장하지 않고 강제로 종료


8. 기타

:set nu 행번호 표시
:set nonu 행번호 숨기기

SMTP 서버 릴레이 방지

서버,보안

SMTP 가상 서버를 통해 전자 메일 메시지를 릴레이하는 사용자나 컴퓨터의 경우 다음 두 조건을 충족시켜야 합니다.
- 사용자나 컴퓨터는 SMTP 가상 서버에 액세스할 수 있어야 합니다.
- SMTP 가상 서버가 다른 도메인에 전자 메일 메시지를 릴레이하도록 구성되어 있어야 합니다.

IIS SMTP 가상 서버가 전자 메일 메시지를 릴레이하는 것을 방지하는 방법
1. 인터넷 정보 서비스 관리자를 시작하거나 인터넷 정보 서비스(IIS)
스냅인을 엽니다.
2. Server_name을 확장한 다음(여기서 Server_name은 서버 이름임) 기본
SMTP 가상 서버를 마우스 오른쪽 단추로 누른 다음 속성을 누릅니다.
3. 액세스 탭을 누른 다음 액세스 제어에서 인증을 누릅니다.
4. 기본 인증과 Windows 통합 인증 확인란 중 하나 또는 둘 모두를
선택하고 익명 액세스 확인란이 선택된 경우 선택을 취소한 다음
확인을 누릅니다.

이렇게 하면 인증을 해야 SMTP 가상 서버에 대한 액세스를 부여받을
수 있습니다. 이 경우 사용자나 컴퓨터가 성공적으로 인증되지 않으면
해당 사용자나 컴퓨터는 서버에 메일을 보낼 수 없습니다.

참고: 익명 액세스 확인란을 선택하고 기본 인증과 Windows 통합 인증
확인란 선택을 취소한 경우 모든 사용자와 컴퓨터가 SMTP 가상 서버에
액세스할 수 있습니다.

이렇게 하면 인증이 해제됩니다.
5. 릴레이 제한에서 릴레이를 누릅니다.
6. 릴레이 제한 대화 상자에서 사용할 수 있는 옵션을 확인합니다.
기본적으로 아래 목록만 옵션이 선택되어 있고 이 목록은 비어
있습니다. 또한 위 목록과 상관없이 인증한 모든 컴퓨터에 릴레이
가능 옵션이 선택되어 있습니다. 이 기능을 사용하면 서버에 인증을
받을 수 있는 사용자와 컴퓨터는 서버를 통해 릴레이할 수 있습니다.
액세스 탭의 인증 대화 상자에서 구성한 인증 요구 사항을 충족시키는
컴퓨터를 제외한 모든 컴퓨터가 차단됩니다.

익명 액세스만 허용할 경우에는 서버가 사용자나 컴퓨터를 인증하지
않습니다.
7. 추가를 누른 다음 단일 컴퓨터, 컴퓨터 그룹 또는 도메인을
추가합니다.
- 단일 컴퓨터를 누릅니다.
IP 주소 상자에서 원하는 컴퓨터의 IP 주소를 입력한 다음 확인을
누릅니다.
- 컴퓨터 그룹을 누릅니다.
해당하는 상자에 그룹의 서브넷 주소와 서브넷 마스크를 입력한
다음 확인을 누릅니다.
- 도메인을 누릅니다.
이름 상자에 원하는 도메인 이름을 입력한 다음 확인을 누릅니다.
- 컴퓨터, 컴퓨터 그룹 또는 도메인을 추가하지 않으려면 취소를
누릅니다.

8. 확인을 차례로 두 번 누릅니다.
 

제가 썼던 방법은 릴레이 가능한 IP만 등록해서 해결했습니다..  ^^

우리나라의 컴퓨터 사용량과 인터넷 사용량

서버,보안

[ 초고속인터넷 가입 현황 ]
(2007년 8월말 기준)
구 분 xDSL HFC LAN FTTH 위성 비율
KT 4,327,816   1,750,921 432,152 890 6,511,779 44.8%
하나로텔레콤 464,834 1,979,167 1,075,490 167,010   3,686,501 25.4%
온세통신   7 2     9 0.0%
드림라인 314 917 425     1,656 0.0%
LG데이콤 3,576 22,419 55,164     81,159 0.6%
LG파워콤   760,368 792,559     1,552,927 10.7%
종합유선방송 57,088 2,279,573 102,430     2,439,091 16.8%
중계유선방송 2,056 7,222 6,661     15,939 0.1%
전송망 8,645 46,903 5,519     61,067 0.4%
별정통신 26,513   148,044     174,557 1.2%
4,890,842 5,096,576 3,937,215 599,162 890 14,524,685 100.0%
비율 33.7% 35.1% 27.1% 4.1% 0.0% 100.0%  
* 50M 속도이상 시설수 : 6,402,707
* 무선 LAN ID수는 KT 345,824   하나로텔레콤 102,514

리눅스 netstat로 웹서버 사용자수 구하기

서버,보안

netstat로 웹서버 사용자수 구하기

전체연결수
netstat -n|grep -F :80|egrep '(ESTAB|SYN)'|sed 's/:[0-9]*//'|sort -u|wc -l

unique연결수
netstat -n|grep -F :80|egrep '(ESTAB|SYN)'|awk '{print $3}'|sed 's/:[0-9]*//'|sort -u|wc -l

-- 설명

netstat 은 네트워크의 상황을 나타내주는 유틸리티입니다.
옵션 -n은 재분석을 하지 않는옵션으로 빠른 결과출력 속도를 가져오죠.

grep는 정규표현식시 일치하는 줄만을 출력하는 쉘입니다.
-F옵션은 정규표현식을 사용하지 않겠다는 옵션이고.. ":80"은 netstat에서 ":80"을 포함한 줄만을 출력한다는 것이죠.. 즉. http프로토콜만을 출력하겠다는 것입니다.

egrep는 grep -E 와 같은 것으로 좀더 많은 정규표현식을 사용할 수 있습니다. 옵션은 '(ESTAB|SYN)' 으로 주었는데 이는 정규표현식으죠.. 정규표현식을 알고싶으시면 아래의 URL으로..
http://kldp.org/HOWTO/html/Adv-Bash-Scr-HOWTO/x10468.html 을 참조하세요.

awk 는 각 줄에서 공백을 기준으로 필드로 나누며 '{print $5}'는 5번째 필드만을 출력하겠다는 것입니다.

sed 는 비대화형 줄단위 편집기입니다. 정규표현식을 사용하며 's/:[0-9]*//'옵션을 분리하면 s/// 안에 :[0-9]가 들어가있는 것으로 "s/이것//" 는 각 줄에서 "이것"이라는 글자만 지운다는 것으로 정규표현식 :[0-9] 을 나눠보면 ":" 으로 시작하는 모든 숫자를 나타냅니다.
([0-9]는 모든 숫자를 가리킴)

sort는 참 유용한 쉘입니다. 말 그대로 정렬한다는 것인데
printf "1\n5\n3\n"|sort 라고 쉘에서 처보면 순서대로 1,3,5로 출력되는것을 확인할 수 있습니다.
여기서. 옵션 -u는 출력 내용이 같은 것은 한번만 출력하는것입니다.

wc 이것 또한 참 유용한 쉘이죠 ~ 단어의 수를 알아내는 것으로 한줄에 한해서만 단어의 수를 샙니다. 이를 이용해서 몇줄이 나왔는지를 알수있는데 -ㅣ 옵션을 주면 몇줄이 출력되었는지만을 나타냅니다.

전체적으로 분석을 하면
netstat -n|grep -F :80|egrep '(ESTAB|SYN)'|awk '{print $5}'|sed 's/:[0-9]*//'|sort -u|wc -l
명령은 netstat유틸을 이용해서 네트워크의 상황을 출력하고 이 중에 grep 를 이용해 :80 문자만을 나타내고있는 줄만 출력하며 egrep를 이용해 ESTAB이나 SYN이있는 줄만 출력하며 awk를 이용해 접속하고있는 클라이언트만을 표시하며 sed를 이용해 클라이언트의 포트를 제거하고 sort를 이용해서 중복된 IP를 제거하고 마지막으로 숫자만을 출력하기위해 wc를 이용한것입니다 ^ㅡ^;;

리눅스 crontab 초단위 실행 하기

서버,보안
corontab 옵션을 보면 최소 1분 단위 밖에 없다.

1분단위의 경우

*/1 * * * * 명령어

이렇게 하면 1분단위가 되는데 30초 단위로 명령이 실행되고자 한다면 sleep 을 이용하면 된다.

* * * * * * 명령어 & sleep 30; 명령어

이렇게 하면 명령어가 실행된뒤 30초간 sleep 한뒤 다시 명령어를 실행 그렇게 계속 반복하도록 하는 것이다.

[해킹] Cain & Abel 카인과아벨 스푸핑 프로그램 공격 유형 및 보안 방법

서버,보안

카인과 아벨이라 왠지 최근 인기 있는 드라마 제목 같다.
하지만 이름만 비슷할뿐 해킹 프로그램이다.
일종의 세션 하이재킹 과 IP스푸핑이 섞여 있는 형태라고 할 수 있습니다.

몇년 전 L전자 신입사원 시험에 떨어진 한 청년이
홧김에 L전자를 해킹을 했다 라는 보도가 있었는데
이또한 Cain & Abel 프로그램을 이용한 것 이었습니다.

적을 알아야 막든지 공격하던지 해야 할터
나를 공격한놈이 도대체 어떤 놈인지 여기 저기 자료를 찾아봤다
http://www.oxid.it/index.html
사이트에서 만든 프로그램인 듯했다 즉, 해당 설치 파일을 쉽게 구할 수 있는 것이었다.
다운받아 설치 해보니 역시나 네트워크상의 데이터를 수집하는 것이었다.

사용법은 http://www.oxid.it/ca_um/ 에 설명이 간략하게 되어 있습니다.
프로그램 이름이 카인과 아벨 즉, 좋은 용도와 나쁜 용도로 해당 프로그램을 이용할 수 있는데
메뉴얼을 보면 cain , abel 두개의 카테고리로 되어 있습니다.
abel 은 좋은 용도 순수하게 네트워크 패킷을 분석하는등에 대한 설명이며
cain 은 나쁜 용도로 사용하는 방법 스나이핑 등에 대해 그 용도를 설명 하고 있습니다.
성경에 나오는 착한 동생 아벨과 동생을 죽인 형 카인의 모습처럼 하나의 프로그램이 나쁜쪽과 좋은쪽의 용도로 사용할 수 있다는것을 보여 주는 것이죠.

간단하게 기능을 설명하자면 해당 프로그램을 실행하고서 기다려 보면 수백건의 스캔된 정보가 자신의 컴으로 들어와 있는것을 확인 할수 있습니다.
즉, 네트워크 상에 지나 다니는 모든 패킷을 캡쳐해서 보여주는 것으로 홈페이지 로그인 아이디 및 비번등을 모두 보여 줍니다.

보통 윈도우 서버를 취약점을 이용해 해당 서버에 카인과아벨 프로그램을 설치해
목적 서버를 수푸핑하는 형태입니다.

위와 같은 프로그램이 서버에 설치 되었다면 다음과 같이 처리 하세요!
일단 해당 프로그램을 일단 지우셔야 하겠죠.
보통 c:\windows\system32\server 폴더등 시스템 경로쪽에 설치가 되어 있습니다.
그외에 다른 프로그램들 설치 되어 있는지 꼭 확인하시구요
개정 정보에서 추가된 개정이나 불필요한 개정 모두 사용 정지하거나 삭제 해버리세요
그리고, 터미널 접속은 할 수없게 하세요.
만약 꼭 사용 해야 한다면 포트를 변경하세요.
포트 변경 방법은 유포유에 글이 있으니 참고 하세요!
윈도우 서버가 워낙 취약점이 많은지라 보안에 신경 많이 써 주셔야 할겁니다.
특히 사용하지 않는 포트는 모두 잠거 두시는게 좋습니다.

그리고, 로그인시 SSL 적용을 꼭 하시기 바랍니다.
SSL 관련해서 유포유에 자료 있으니 참고 하시구요.
SSL 적용시 로그인 정보를 암호화 해서 보내므로 그나마 회원들의 개정이나 기타 정보를 보호 해줄 수있습니다.

이외에도 보안할 사항을 저역시 찾아보구서 찾으면 추가적으로 글을남겨 놓겠습니다.

 

보안 윈도우 서버 원격데스크탑 접속 포트 변경 및 접속하기

서버,보안
사용자 삽입 이미지
 

보안상 원격데스크탑의 기본 포트인 3389포트를 다른 포트로 변경 할 필요성이 있습니다.
원격 데스크탑 포트를 변경하기 위해선 레지스트리에서 변경 해주시면 됩니다.

먼저 시작 > 실행 에서 regedit 르고 실할한뒤

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TerminalServer\WinStations\RDP-Tcp\PortNumber

사용자 삽입 이미지



클릭후 10진수 체크하신뒤 3389 를 다른 포트로 변경 해주세요.
물론 사용하지 않는 포트로 바꾸셔야 겠죠 이왕이면 5~6자리로 만드세요!


사용자 삽입 이미지



적용 할려면 재부팅 하셔야 합니다.

원격 접속을 하실려면 서버 IP주소:변경한 포트 번호 로 접속 하셔야 합니다.
예로 127.0.0.1:9999 이런식으로 ^^

사용자 삽입 이미지

SMTP의 장애 해결 방법

서버,보안
여기서는 IIS MMC에 있는 "기본 SMTP 가상서버"로 메일을 발송하려고 하였으나 여러가지 이유로 인해서 메일 발송이 되지 않을 경우 살펴보아야 할 몇가지를 제시해 보려고 합니다.

Windows에서 기본적으로 제공하는 "기본 SMTP 가상서버"를 활용하여 메일을 발송하는 경우는 대부분 ASP 또는 ASP.NET 프로그램일 것이다.

자. 그럼 왜 발송이 안되는지 알아보기 전에 "기본 SMTP 가상서버"에 대해서 알아보자.
"기본 SMTP 가상서버"를 사용하기 위해서는 IIS 웹 서버를 설치하면서 SMTP를 함께 설치해 줘야한다.
default로 설치하면 mailroot 경로는 C:\inetpub\mailroot 로 셋팅되어져 있다.


SMTP를 통해 메일을 발송하게 되면 우선 Pickup 폴더에 발송할 메일이 들어오고 (SMTP를 중지시킨 상태에서 메일을 발송하는 프로그램을 실행시키면 Pickup 폴더에 발송할 메일이 들어 있는것을 확인할 수 있다.) 여기서 받는 사람의 메일서버로 발송하게 된다. 그런데 1차시도시 메일발송에 실패하게 되면 Queue 폴더에 메일이 쌓이게 되며 Queue 폴더에 있는 메일들은 "기본 SMTP 가상서버"의 배달 탭에 설정되어 있는 "다시 시도 간격"과 만료시간에 의해 처리된다.

여러가지 이유로 메일 발송에 실패했을 경우 보내는 사람 메일 주소로 배달하지 못한 이유를 발송하게 되는데 이 배달못함 보고서(NDR)를 보내는 사람 메일주소로 발송하지 못하였을 경우 Badmail 폴더에 쌓이게 된다. Badmail에 메시지가 많이 쌓이면 SMTP의 성능이 저하될 수 있으므로 주기적으로 Badmail 폴더의 파일들을 삭제해 주는 것이 좋다.
또한 메일 형식이 잘못된 경우에는 Drop 폴더에 메일이 쌓이게 된다.

정리해 보면 다음과 같다.
  • Badmail : 받는사람에게 발송 실패 후 보내는 사람에게도 발송을 실패한 메세지가 보관되는 폴더
  • Drop      : 메일 형식이 잘못된 메세지가 보관되는 폴더
  • Pickup   : 처음 발송 시도될 메세지가 보관되는 폴더
  • Queue   : 1차 시도 실패시 다음 발송을 위해 대기중인 메세지가 보관되는 폴더

이제 메일이 발송되지 않았을 경우에 살펴보아야 할 것들을 살펴보자.

1. 프로그램 에러는 없는지 확인해야 한다.
   뭐 프로그램에 에러가 있을 경우 에러메세지를 뿌려주니 이미 이 부분은 해결하고 이 글을 보게 되겠죠? ^^

2. 받는사람의 메일주소가 올바른지 확인한다.
   이런경우 Drop 폴더에 메세지가 있을 확률이 많다.

3. "기본 SMTP 가상서버" 가 제대로 작동하고 있는지 확인한다.
   우선 "기본 SMTP 가상서버" 가 중지되어 있지 않은지 확인하고 SMTP는 25번 포트를 사용하므로 25번 포트가
    Listening 상태인지 확인해야 한다. Netstat -na 명령어로 25번 포트의 상태를 확인할 수 있고
    Telnet localhost 25 명령을 통해 수동으로 메일을 발송해 봄으로써 정상작동 여부를 확인 할 수 있다.
    
명령 프롬프트에서 다음과 같은 순서로 수동메일을 발송할 수 있다.
Telnet localhost 25 (Enter)
helo (Enter)
mail from:email@domain.com (Enter)            <= 정상적인 메일 주소를 입력해야 합니다.
rcpt to:youremail@yourdomain.com (Enter)    <= 받을 사람의 정상적인메일 주소를 입력해야 합니다.
data (Enter)
subject:Test Mail (Enter)(Enter)                     <= 메일 제목 입력 (엔터를 2번)

테스트내용입니다.                                         <= 여기서 부터 내용을 입력합니다.
두번째줄입니다.
. (Enter)                                                       <= 내용을 다 입력했으면 마침표(.)를 입력 후 엔터
quit (Enter)    

     혹시 rcpt to입력 후 "500 5.7.1 Unable to relay for youremail@yourdomain.com" 에러가 발생한다면
     "기본 SMTP 가상서버"의 속성에서 액세스 탭의 릴레이 제한을 확인해 보아야 한다.
     수동발송에 대한 더 자세한 내용은 http://support.microsoft.com/default.aspx?scid=kb;ko;286421 를 참고하자.

4. DNS가 올바로 셋팅 되어 있는지 확인한다.
    서버에 설정된 DNS가 잘못되어 받는사람의 메일서버를 찾을 수 없어서 메일발송에 실패하는 경우도 있다.
    혹시 서버에 DNS서버가 설치되어 있다면 중지시키거나 제거해야만 한다.   
    그리고 외부에 공개되지 않은 내부 DNS로 잡혀져 있는 경우도 있을 수 있다.
    (외부 도메인에 대한 IP를 알수 없어 발송실패함)
    DNS를 간단하게 확인 할 수 있는 방법은 명령프롬프트에서 ping 명령어로 확인해 볼 수있다.
       
5. mailroot 폴더의 권한 설정을 확인한다.
    mailroot 폴더의 권한설정이 변경되면서 메일이 발송되지 않는 경우도 있다. Windows 2000에서는 기본적으로 시스템
    드라이브(대부분 C)에 Everyone이 모든 권한을 가지고 있다. 이 취약한 권한을 수정하기 위해 시스템 드라이브의
    권한을 변경하게 되면 메일이 발송되지 않는 경우도 생긴다. 이럴경우 mailroot 폴더에 대해서는 Everyone의 접근
    권한을 적절히 조절하여 부여해 준다.

6. 방화벽 셋팅을 확인한다.
    3번과 연관된 내용으로 방화벽에서 서버에서 발송되는 25번 포트의 패킷을 차단하고 있는지 확인한다.

7. Relay설정을 확인한다.
    "기본 SMTP 가상서버" 의 Relay설정이 열려져 있다면 스팸메일의 Relay서버로 악용될 소지가 많다.
    그리고 이로 인해서 서버의 성능이 저하되는 원인이 되기도 하며 악의적인 스팸메일을 발송하느라고 정작 발송하고자
    하는 메일은 계속 뒤로 밀리면서 발송이 되지 않는 경우가 발생할 수도 있다.
    그러므로 "기본 SMTP 가상서버"의 속성에서 액세스 탭의 릴레이 제한에서 아래 그림과 같이 "아래 목록만"을 선택하고
    localhost의 IP인 127.0.0.1을 등록하거나 해당서버의 IP만 등록하여 다른 서버에서는 접근하지 못하도록 차단한다.


8. 포탈 메일에서만 받지 못하는 경우
    일반 회사메일이나 다른 메일들을 잘 발송되고 있는데 유독 포탈 사이트들에서만 받지 못하는 경우가 많다.
    각 포탈 사이트들에서는 각기 다른 스팸메일 정책을 가지고 있고 점점 강화되고 있는 추세다.
    대부분의 포탈에서는 한 IP에서 대랑의 메일이 발송될 경우 해당 IP를 스팸메일 발송 서버로 등록하여 자동 차단해
    버린다. 이 문제를 해결하기 위해서는 "화이트 도메인 등록제"를 활용하면 된다.
    한국정보보보진흥원에서 운영하고 있는 실시간 스팸차단리스트(https://www.kisarbl.or.kr/) 사이트에 메일을 발송할
    도메인을 화이트도메인으로 등록하면 된다. 이미 스팸 IP로 차단되어 있다면 해제신청도 할 수 있다.
    화이트도메인으로 등록되면 참여한 포털사이트(https://www.kisarbl.or.kr/whiteip/whiteip_tutorial.jsp)에는 특별한
    조치 없이도 메일을 정상적으로 발송 할 수 있다.

9. 그래도 발송이 안될경우
    SMTP 로그와 이벤트 뷰어를 확인해보면 메일이 발송되지 못하는 이유가 로그에 남게 된다.
    이렇한 로그를 보고 원인을 찾아 해결해야 한다.


출처 : http://truepia.tistory.com/68?srchid=BR1http%3A%2F%2Ftruepia.tistory.com%2F68

Apache Web Server 의 DOS공격 막기

서버,보안
작성자 : 좋은진호(truefeel, http://coffeenix.net/ )
작성일 : 2003.8.20(수) apache v1.3.x
수정일 : 2003.8.25(월) apache v2.x 부분 추가

특정 URL이나 IP일 경우나 특정한 브라우저를 이용하여 DoS(Denial of Service, 서비스거부)
공격이 들어온다면 httpd.conf 에서 SetEnvIf, SetEnvIfNoCase 등과 Allow, Deny 설정으로
간단히 막을 수 있겠지만 일정한 유형이 없다면 해결점을 찾기가 쉽지 않다.

다행히 Apache용 mod_dosevasive 모듈로 DoS 공격을 쉽게 막을 수 있다.
며칠전 1.7버전 발표로 apache 2.x에서도 정상적으로 이 모듈을 이용할 수 있게 됐다.

1. mod_dosevasive 설치

http://www.nuclearelephant.com/projects/dosevasive/
에서 mod_dosevasive (현재 최신버전은 1.7)을 받아온다.

1) 기존에 사용하던 apache 1.3.x에 모듈만 추가할 때

mod_dosevasive.tar.gz 을 푼다음 apxs로 설치

----------------------------------------------
# tar xvfz mod_dosevasive.tar.gz 
# cd dosevasive
# /bin/apxs -iac mod_dosevasive.c
...
[activating module `dosevasive' in /usr/local/apache/conf/httpd.conf]
cp mod_dosevasive.so /usr/local/apache/libexec/mod_dosevasive.so
chmod 755 /usr/local/apache/libexec/mod_dosevasive.so
...
----------------------------------------------

httpd.conf의 LoadModule, AddModule는 apxs가 알아서 추가해준다.

2) apache 1.3.x부터 새로 컴파일할 할 때

mod_dosevasive.tar.gz 을 apache_source_홈/src/modules 에 푼 다음
기존에 apache 컴파일하는 것과 동일한 방법으로 하되, --add-module=... 옵션만
추가해준다.

----------------------------------------------
./configure --prefix=/usr/local/apache \
--enable-module=all --enable-shared=max \
--add-module=src/modules/dosevasive/mod_dosevasive.c  <-- 추가함
make
make install
----------------------------------------------

3) apache 2.x에 모듈만 붙일 때

/bin/apxs -iac mod_dosevasive20.c

2. 설정

httpd.conf 에 아래 설정이 있는지 확인한다.

apache 1.3.x
----------------------------------------------
...
LoadModule dosevasive_module libexec/mod_dosevasive.so
...
AddModule mod_dosevasive.c
----------------------------------------------

apache 2.x
----------------------------------------------
LoadModule dosevasive20_module modules/mod_dosevasive20.so
----------------------------------------------

httpd.conf에는 다음과 같이 설정을 추가한다.
( 단, 아래 설정 중에 apache 2.x일 때는 < IfModule mod_dosevasive20.c> 로 )
----------------------------------------------
< IfModule mod_dosevasive.c>
  DOSHashTableSize  3097
  DOSPageCount    3
  DOSSiteCount    50
  DOSPageInterval   1
  DOSSiteInterval   1
  DOSBlockingPeriod  30
< /IfModule>
----------------------------------------------
DOSHashTableSize  3097

hash table의 크기. IP, URI등을 분석하기 위한 공간으로 쓰이는 것 같은데 정확히는
모르겠다. 접속이 많은 서버이면 수치를 높인다.

DOSPageCount    3
DOSPageInterval   1

DOSPageInterval에서 지정한 시간(초단위)동안 같은 페이지를 3번 요청한 경우
해당 클라이언트 IP를 블럭킹한다. 블럭킹되는 동안에 사용자에게는 403(Forbidden)
코드가 전송된다.

DOSSiteCount    50
DOSSiteInterval   1

DOSSiteInterval에서 지정한 시간동안 어느 페이지나 이미지든 요청 건수가 50번을 넘는
경우 해당 클라이언트 IP를 블럭킹한다. 403코드 보내는 것은 마찬가지.
HTML 내에 이미지가 10개이면 요청 건수는 HTML포함하여 11번이 되므로 이미지가 많은
사이트는 숫자를 크게한다.

DOSBlockingPeriod  30

블럭킹된 IP는 30초동안 접속을 할 수 없다.

3. 모듈 사용을 중지하려면

차단 기능을 이용하지 않기 위해

DOSPageCount 0
DOSSiteCount 0

와 같이 하면 모듈 내부의 default값을 이용해서 동작하므로 LoadModule, AddModule를
주석 처리하는 방법을 써야한다. 또는 Count값을 상당히 큰 수를 지정할 수도 있겠다.

4. 차단하는지 테스트

간단한 테스트 툴로 test.pl을 제공한다.
12번째 줄에

printf("%03d ", $_ );

를 추가하고

apache를 실행시킨 다음 perl test.pl을 해보면 200 OK, 403 Forbidden 된 것을 쉽게
확인할 수 있을 것이다.

DOSPageCount, DOSSiteCount 수치를 너무 낮게 하면 정상적인 접속에 대해서도 차단될 수
있으므로 주의해야 한다. 수치를 낮추고, 같은 페이지를 reload(Ctrl+R)를 여러번했더니
바로 403 페이지가 등장.

403 페이지를 별도로 만드는 것이 좋을 듯 싶다. httpd.conf에 ErrorDocument 403 ... 설정
으로 html을 만들어두면 방문자에게 도움이 되지 않을까...

이젠 ab, lynx 등으로 게시물 조회수를 순간적으로 올린다거나, 시스템 로드를 증가시키는
것까지도 어느정도 막을 수 있을 것이다.

※ syslog 로 로그 남기는 기능과 DOSEmailNotify, DOSSystemCommand 옵션은 제대로 적용
  되지 않아 이 글에 적지 않았다. 정상동작이 확인되면 그 때 추가할 것이다


iframe 삽입 공격 보안

서버,보안

1. 사건 배경
평소 꾸준히 방문하던 쇼핑몰에 어느날 갑자기 뽀로록 소리가 나면서 상단 바에 노란줄이 생기며 경고가 뜬다 혹은 알약 등 백신에서 감시프로그램이 "치명적인 바이러스에 감염되었습니다."라고 뜬다. 너무나 당황한 A군 해당 쇼핑몰에 접속하기 겁이 난다 ㅜㅜ;

2. 사건 원인
해당 쇼핑몰은 iframe 삽입 공격을 받은것이다. DB인젝션 공격과는 좀 다른 유형으로써 윈도우 웹서버 개정관련 보안 취약점을 공격하는 방식이다.
원인은 홈페이지 폴더에 everyone 개정에 쓰기권환까지 줬기 때문에 생긴 문제이다.
폴더에 속성 > 보안 눌러보세요 분명 everyone 개정으로 설정되어 있을겁니다.
윈도우 2000서버 등 초기 IIS 서비스 당시 everyone으로 설정한 운영자가 더러 있었을 겁니다.
이유야 어찌 되었던 이제라도 발견 하셨다면 다행인거죠! ^^ 화이팅!

3. 보안 방법
홈페이지 폴더에 IUSR_서버명, IWAM_서버명 의 두 개정을 추가하고 everyone 개정은 삭제 합니다. 그리고, IUSR_, IWAM 권환에 읽기,실행 권환만 줍니다. 그리고, 게시판 첨부파일이 업로드될 폴더등 쓰기 권환이 꼭 필요한 곳에만 쓰기 권환을 줍니다.
저의 경우엔 웹서비스 디렉토리 바깥쪽에 폴더를 만들어 업로드 하도록 해놨습니다.


윈도우 서버 보안 취약점으로 인해 생기는 문제가 참 많군요 ^^;

VNC 시작 프로그램 레지스트리 통해 등록하기

서버,보안

VNC프로그램이란 원격지 컴퓨터나 서버를 접속하기 위해 사용하는 프로그램입니다.
서버에 원격데스크탑으로 접속이 가능하나 접속을 끊을 경우 실행하던 프로그램이 멈춰버리는 증상이 있곤합니다.
반면 VNC는 실제로 로컬에서 마우스,키보드를 만지는것과 동일한 동작을 합니다.
그런데 서버가 재부팅 되는경우 VNC서비스가 올라오지 않아 원격데스크탑으로 접속시에만 접속된느데
이런경우 서버를 실제로 컨트롤 하는게 아니라 접속한 별도 세션으로 접속하는 결과가 됩니다.
따라서, 시작 프로그램에 등록하여 서버가 재부팅후 원격 접속이 가능하게 하기 위해서 레지스크리에 등록을 합니다.
즉, 먼곳에 있는 서버에 일단 원격 데스크탑으로 접속한뒤 아래와 같은 과정을 거쳐 등록후 재부팅을 하면 이후로 마치 서버 바로 앞에서 작업하는 것과 동일하게 접속이 됩니다.


1. 시작 > 실행 에서 regedit 엔터
2. 레지스트리 편집기 설정
HKEY_LOCAL_MACHINE
-> SOFTWARE
-> Microsoft
-> Windows
-> Currentversion
-> Run

3. 시작 프로그램 등록
마우스 우측 버튼을 눌러 "문자열 값" 선택
구분할수 있는 이름 입력 "VNC"
추가된 VNC 더블클릭후 "값 데이터"에 winvnc.exe 실제 경로 입력
"C:\Program Files\UltraVnc\winvnc.exe"

SQL Injection 공격과 방어 방법 - php, asp 등

서버,보안

사용자 입력값이 SQL injection 발생시키지 않도록 수정

다수 사이트, SQL Injection 취약점 공격에 무방비 상태


웹 취약점을 이용한 공격이 식을 줄 모르고 있다. 공격의 목적은 게임정보 탈취와 궁극적으로는 이를 이용한 게임아이템 거래로 돈을 벌기 위한 것이다.


정보통신부와 KISA는 이에 대한 대책으로 중국에서 들어오는 IP들을 차단하고 있고 자금 여력이 없는 중소기업의 웹사이트 관리자에게 공개 웹방화벽 구축을 권유하고 있으며 개인 PC의 보안패치율을 높이기 위해 각종 캠패인을 벌이고 있다.


KISA에서 운영하는 ‘보호나라’에서는 대국민 서비스로 원격 PC점검을 해주고 있고 대기업을 중심으로 보안솔루션 도입과 시스템 구축이 한창이다. 하지만 이러한 노력에도 불구하고 해킹 관제 서비스를 실시하고 있는 업체에서는 하루에도 2백~3백건의 해킹이 이루어지고 있고 이를 통한 악성코드 유포가 지속적으로 이루어지고 있다고 지적하고 있다.


KISA 관계자는 “지난해 정부기관 사이트와 주요 웹사이트를 대상으로 대대적인 웹사이트 모의 해킹을 실시한 결과 대부분의 사이트들이 SQL Injection 취약점 공격에 맥없이 뚫렸다”며 “SQL Injection 취약점 공격에 대한 대비책을 개발자들이 기본적으로 알고 있어야한다”고 강조했다.


<보안뉴스>는 얼마전부터 웹개발자들이 기술,정신적으로 보안강화에 더욱 노력해야 한다는 기사와 관련정보를 제공해 오고 있다. 이번에는 SQL Injection 취약점에 대해 알아보자. 자료 제공은 KISA 해킹대응팀이다. 


<기획3> 악의적인 명령어 주입 공격(SQL Injection)


현재 대부분의 웹 사이트들은 사용자로부터 입력받은 값을 이용해 데이터 베이스 접근을 위한 SQL Query를 만들고 있다. 사용자 로그인 과정을 예로 들면, 사용자가 유효한 계정과 패스워드를 입력했는지 확인하기 위해 사용자 계정과 패스워드에 관한 SQL Query문을 만든다. 이때 SQL injection 기법을 통해서 정상적인 SQL query를 변조할 수 있도록 조작된 사용자 이름과 패스워드를 보내 정상적인 동작을 방해할 수 있다. 이러한 비정상적인 SQL Query를 이용해 다음과 같은 공격이 가능하다.


-사용자 인증을 비정상적으로 통과할 수 있다.

-데이터베이스에 저장된 데이터를 임의로 열람할 수 있다.

-데이터베이스의 시스템 명령을 이용하여 시스템 조작이 가능하다.


이러한 취약점을 ‘SQL Injection 취약점’이라고 하며, 사용자가 데이터 입력이 가능한 수많은 웹 페이지 상에 이러한 취약점이 존재할 수 있다.


■위협 사례


(1) 사용자 인증 공격


아래의 그림과 같이 인증을 처리하는 모듈이 입력 값에 대해 적절히 검사하지 않았을 때 공격자는 비정상적인 SQL Query를 삽입 할 수 있고 이를 이용해 사용중인 데이터베이스에 영향을 줄 수 있다.



다음은 SQL 구문을 이용하여 인증을 처리하는 일반적인 웹 페이지 구조를 나타낸다.

$row = mysql_query (" SELECT 신청인명, 접수번호 from USER_TABLE where 신청인명='첫번째입력값' and 접수번호='두번째입력값' ");

if ( $row == 1 )

// 인증 성공 루틴

else 

  // 인증 실패 루틴


이 스크립트에 공격자가 test라는 신청인명을 입력하고 인터넷접수번호 대신 A' or 'A'='A 이란 값을 입력하면 아래와 같은 SQL Query가 완성된다.


SELECT 신청인명,접수번호 FROM user_table WHERE 신청인명=‘test?? AND 접수번호=??A' OR 'A'='A'


이 경우 구문의 WHERE 절은 ??참 AND 거짓 OR 참??의 WHERE 절이 생성되며 무조건 참이 되어 SQL 구문은 올바른 입력 값으로 처리하게 되며 공격자는 웹 인증 페이지를 쉽게 통과할 수 있게 된다.


(2) MS-SQL상에서의 시스템 명령어 실행


MS-SQL 데이터베이스를 사용하는 경우를 예를 들어 보자. 만약 데이터베이스 접근 권한이 시스템 권한을 사용하고 있다면 MS-SQL에서 기본적으로 제공하고 있는 xp_cmdshell이라는 Stored Procedure를 이용하여  시스템 명령어를 실행할 수 있다.


예로 위의 인증 페이지에서 신청인명에 test, 접수번호에 ??; exec master..xp_cmdshell ??ping 10.10.1.2'-- 값을 입력했다고 가정하면 SQL Query는 다음과 같이 완성될 것이다.


SELECT 신청인명, 접수번호 from USER_TABLE where 신청인명='test' and 접수번호='; exec master..xp_cmdshell 'ping 10.10.1.2'--


이 SQL Query는 SELECT Query와 xp_cmdshell Query를  SQL Query가 순차적으로 실행되게 되며, 마지막의 -- 문자는 이후의 모든 문자열을 주석 처리하여 문장을 완성시켜 준다.


(3) 취약성 판단


-검색어 필드 및 로그인ID, PASSWD 필드에 큰따옴표("), 작은따옴표('), 세미콜론(;) 등을 입력한 후, DB error가 일어나는지 확인하자.


-로그인 모듈 점검

MS SQL인 경우: ID 필드에 ['or 1=1 ;--], 비밀번호 필드에는 아무 값이나 입력한 후 로그인을 시도한다.

Oracle인 경우: ID 필드에 ['or 1=1 --], 비밀번호 필드에는 아무 값이나 입력한 후 로그인을 시도한다.


-기타

ID 필드에 ['or ''='], 비밀번호 필드에 ['or ''=']을 입력한 후 로그인을 시도한다.


※ 위 예제 이외에도 다양한 방법이 가능하기 때문에, 로그인 및 사용자 입력 값을 사용하는 소스에서 DB Query 생성 방식을 직접 점검해야 한다.


■ 보호 대책


(1) 일반 대책

-데이터베이스와 연동을 하는 스크립트의 모든 파라미터들을 점검하여 사용자의 입력 값이 SQL injection을 발생시키지 않도록 수정한다.


-사용자 입력이 SQL injection을 발생시키지 않도록 사용자 입력 시 특수문자(' " / \ ; : Space -- +등)가 포함되어 있는지 검사하여 허용되지 않은 문자열이나 문자가 포함된 경우에는 에러로 처리한다.


-SQL 서버의 에러 메시지를 사용자에게 보여주지 않도록 설정한다. 공격자는 리턴 되는 에러 메시지에 대한 분석을 통하여 공격에 성공할 수 있는 SQL Injection 스트링을 알아낼 수 있다. 따라서 SQL 서버의 에러 메시지를 외부에 제공하지 않도록 한다.


-웹 애플리케이션이 사용하는 데이터베이스 사용자의 권한을 제한한다. 가능하면 일반 사용자 권한으로는 모든 system stored procedures에 접근하지 못하도록 하여 웹 애플리케이션의 SQL Injection 취약점을 이용하여 데이터베이스 전체에 대한 제어권을 얻거나 데이터베이스를 운용중인 서버에 대한 접근이 불가능하도록 한다.


-php.ini 설정 변경

  : php.ini 설정 중 magic_quotes_gpc 값을 On으로 설정한다.


; Magic quotes

;

; Magic quotes for incoming GET/POST/Cookie data.

magic_quotes_gpc = On  ; Off에서 On으로 변경한다.

; Magic quotes for runtime-generated data, e.g. data from SQL, from exec(), etc.

magic_quotes_runtime = Off

; Use Sybase-style magic quotes (escape ' with '' instead of \').

magic_quotes_sybase = Off


■ 개발 언어별 대책

-사용자로부터 입력받은 변수로 SQL 쿼리 구문을 생성하는 CGI는 입력받은 변수를 체크하거나 변경하는 로직을 포함하고 있어야 한다.


-입력받은 변수와 데이터 베이스 필드의 데이터형을 일치 시켜야 하고, 사용 중인 SQL 구문을 변경시킬 수 있는 특수문자가 포함되어 있는지 체크해야 한다.


-검색 부분과 같이 클라이언트로부터 생성된 SQL 구문을 받는 부분이 있다면 이를 제거해야 한다.


□ ASP

-취약한 SQL Injection 예제

prodId = Request.QueryString("productId")

Set conn = server.createObject("ADODB.Connection")

Set rs = server.createObject("ADODB.Recordset")

query = "select prodName from products where id = " & prodId

conn.Open "Provider=SQLOLEDB; Data Source=(local);

Initial Catalog=productDB; User Id=dbid; Password="

rs.activeConnection = conn

rs.open query

If not rs.eof Then

response.write "제품명" & rs.fields("prodName").value

Else

response.write "제품이 없습니다"

End If


-안전한 SQL Injection 예제

prodId = Request.QueryString("productId")

prodId = replace(prodId, "'", "''")' 특수문자 제거

prodId = replace(prodId, ";", "")

set conn = server.createObject("ADODB.Connection")

set rs = server.createObject("ADODB.Recordset")

query = "select prodName from products where id = " & prodId

conn.Open "Provider=SQLOLEDB; Data Source=(local);

Initial Catalog=productDB; User Id=dbid; Password="

rs.activeConnection = conn

rs.open query

If not rs.eof Then

response.write "제품명" & rs.fields("prodName").value

Else

response.write "제품이 없습니다"

End If


□ PHP

-addslashes() 함수 사용

  : 사용자가 입력하는 값들($_GET, $_POST)을 모두 addslashes() 함수를 이용하여 처리하여 준다.

addslashes()

용도 : DB Query와 같이 인용된 부분앞에 역슬래쉬를 붙여서 반환한다. 해당 문자에는 작은 따옴표, 큰 따옴표, 역슬래쉬, NULL이 있다. SQL Injection 공격을 위해서 사용한다.

- 적용 가능한 PHP : PHP 3 이상


-취약한 SQL Injection 예제

$query = "SELECT id, password, username FROM user_table WHERE id='$id'";// 사용자로부터 입력받은 id 값을 사용자 table에서 조회

$result = OCIParse($conn, $query);

if (!OCIExecute($result))

echo "<META http-equiv=\"refresh\" content=\"0;URL=http://victim.com\">";// 메인 페이지로 redirect

OCIFetchInto($result, &$rows);

... 중략 ...


-안전한 SQL Injection 예제

$query = sprintf("SELECT id,password,username FROM user_table WHERE id='%s';",addslashes($id));

// id변수를 문자형으로 받고, id변수의 특수문자를 일반문자로 변환한다.

// @ 로 php 에러 메시지를 막는다.

$result = @OCIParse($conn, $query);

if (!@OCIExecute($result))

error("SQL 구문 에러");

exit;

@OCIFetchInto($result,&$rows);

... 중략 ...


□ JSP

-취약한 SQL Injection 예제

String sql="SELECT*FROM user_table"+"WHERE id=" + response.getParameter("id")

+ " AND password = " + response.getParameter("password");

Class.forName("org.gjt.mm.mysql.Driver");

conn = DriverManager.getConnection(DB_URL, DB_USER, DB_PASSWORD);

stmt = conn.createStatement();

rs = stmt.executeQuery(query);

while(rs.next())


-안전한 SQL Injection 예제

String sql = "SELECT*FROM user_table"+"WHERE id = ?"+"AND password = ?";

ResultSet rs = null;

PreparedStatement pstmt = null;

try

conn = DBManager.getConnection();

pstmt = conn.prepareStatement(sql);

pstmt.setString(1, request.getParameter("id"));

pstmt.setString(2, request.getParameter("password"));

rs = pstmt.executeQuery();

[길민권 기자(boannews@infothe.com)]

출처 : http://www.superuser.biz/tag/sql%20%C0%CE%C1%A7%BC%C7

xp ADSL접속프로그램 (PPPOE) 매크로 연결 끊고 켜기

서버,보안

인터넷 접속시 IP를 매번 자동으로 변경 하고자 하는 경우 ADSL PPPOE 방식을 이용하면 편리하게 이용할 수 있다. (매번 연결을 끊고 켤때 마다 자동으로 다른 IP를 받아옴)
하지만, 전화 연결 방식의 특징상 로그인 하는 과정을 거쳐야하는데 매번 번거러울 경우 자동으로 만드는 방법이 있다.
이 때문에 자동 연결 끊기 매크로를 만들때 상당히 어려움이 있을것이다.
자장가라는 프로그램으로 매크로를 짠다면 연결 끊기 프로그램도 만들어야 할 것이다.
따라서, 바탕화면에 kt_end.bat 라고 만들어 호출하면 된다.
kt_end.bat 파일은 메모장에서 텍스트로 입력해서 만들면 되며 내용은 다음과 같이 기록한다.
C:\WINDOWS\System32\rasphone -d KT
(참고로 rasphone.exe 실행파일이 PPPOE 실행하거나 끊어주는 프로그램입니다.)
단, 시작 > 설정 > 네트워크연결 > 광대역연결 에서 PPPOE 연결에서 KT 라고 이름을 변경 해줘야함.
그리고, kt 연결 속성을 보면 로그인 아이디 비번 묻기 항목이 있는데 체크를 꺼두면 자동으로 로그인 까지 된다.

이것으로 매크로 설정만 해두면 자동으로 새로운 IP를 받아와서 이용할 수 있다.

위 자료는 엉청난 시간 투자끝에 얻어진 내용이므로 절대 적으로 유포 금지!
제 사이트 오신 분의 행운으로 아시고 참고만 하세요!

참, 매크로 관련 작업 하는 분이 아니면 위 내용이 뭔말인지 좀 어려울 듯... 더 자세히 알고 싶으시면 댓글 남겨 주세요~ 그럼 시간내서 켑쳐 이미지 올려 추가 설명 달아 두겠습니다. ^^

솔라리스 파일 구조

서버,보안

1. drwxr-xr-x : 파일 허가

2. 12 : 링크수

3. root : 소유자 명(계정명)

4. root : 그룹명

5. 320 : 파일 크기

6. Nov 3 : 마지막으로 변경된 날짜

7. 15:54 : 마지막으로 변경된 시간

8. home : 디렉토리 또는 파일 이름

솔라리스 여러가지 빽업 방법에 관한 설명

서버,보안

여러가지 백업방법에 대한 설명
Solaris 2.X에서는 다음과 같은 4가지 백업이 있다.

1. tar
2. cpio
3. dd
4. ufsdump/ufsrestore

1. tar

tar를 화일 또는 디렉토리 전체를 백업 받는데 사용된다.

1.1 화일 시스템에서 테이프로 백업 받기
# tar cvf /dev/rmt/0 .

1.2 테이프에서 화일 시스템로 백업 받기
# tar xvf /dev/rmt/0

1.3 테이프 내용 보기
# tar tvf /dev/rmt/0

** 주의 **
tar 명령어는 일반 파일은 복사가능하나 device file과 같은 character type 은 복사가 안된다. 그러므로 OS백업 할때는 tar를 사용하면 안된다.


2. cpio

2.1 화일 시스템에서 테이프로 백업 받기
# find . -print | cpio -ocvB -O /dev/rmt/0

2.2 테이프에서 화일 시스템로 백업 받기
# cpio -icvBmd -I /dev/rmt/0

2.3 테이프 내용 보기
# cpio -ict -I /dev/rmt/0


3. dd

3.1 화일을 테이프로 백업 받기
# dd if=file1 of=/dev/rmt/0 bs=4096k

3.2 테이프에서 화일로 백업 받기
# dd if=/dev/rmt/0 of=file1 bs=4096k


4. ufsdump/ufsrestore

4.1 화일시스템에서 테이프로 백업 받기
# ufsdump 0cuf /dev/rmt/0 /

4.2 테이프에서 화일 시스템으로 백업 받기
# ufsrestore rvf /dev/rmt/0

4.3 테이프 내용 보기
# ufsrestore tvf /dev/rmt/0

4.4 Interactive restore
# ufsrestore ivf /dev/rmt/0

ufsdump를 이용한 백업 배치파일 예
banner / backup
ufsdump 0ufc /dev/rmt/0n /
banner Tape Eject
mt off

썬장비 점검시 주요 점검사항

서버,보안
1. 파일시스템 사용상태 체크
# df -k

2. 시스템 메시지 파일 체크
# more /var/adm/messages.*
# more /var/cron/log

3. 네트웍 상태 체크
# netstat -nr

4. 디스크 입출력 상태 체크
# iostat -cntx 1 100

5. 기타 자원 사용량 체크
# top

솔라리스 시스템 종료 하기 명령어

서버,보안
* 끄기
# init 5
# Stop Key + a -> 시몬스

솔라리스 사용자 계정 추가

서버,보안

* 계정추가
# useradd -c dddd -d /export/home/dddd -s /bin/sh -g 100 -u 1001
-m dddd

-g 100 : 100은 그룹 아이디. 100 아이디를 가진 그룹이 있어야 생성 가능.
-u 1001 : 1001은 user 아이디. 이미 있는 아이디는 user생성 할 수 없다.
-m ddd : export/home이 없을 경우

SunOS 5.8 메시지를 없애려면

서버,보안

* SunOS 5.8 메시지를 없애려면,
sun os에 텔넷 접속시 아래와 같은 os버전이 나오고 login:이 나타납니다.
--------------
SunOS 5.8
login:
--------------
그런데, 보안이유로 SunOS 5.8 메시지를 없애려면,
# vi /etc/default/telnetd
BANNER=""

솔라리스 package 설치/제거

서버,보안
* package 설치/제거
# pkgadd -d 패키지 이름 (설치)
# pkginfo | grep gcc(실행파일 이름)
pkgrm SMCgcc

솔라리스 IP 설정 및 PATH 설정

서버,보안
* IP Address 변경하기
# vi /etc/hosts -> ip hostname localhost
# vi /etc/defaultrouter -> 255.255.255.224(GateWay)

* 서버의 ip address가 변경된 경우

1. /etc/hosts 파일등 시스템 환경화일 변경
2. /stims/conf/eifs.conf 파일의 정보를 변경한다.

POP3_HOST_IP 200.200.200.200 #사용기관의 IP address 변경
DAEMON_INTERVAL 50
HOST_AGENCY_CODE xxxxxxxx #사용기관의 기관코드 정보(코드 변경시 수정)

3. /stims/httpd/apache/httpd.conf 파일의 정보를 변경한다.

ServerName 200.200.200.200 #사용기관의 IP address 변경
ServerAdmin root edu221.@kies.co.kr #호스트 이름 및 domain 변경시 수정.



* PATH 설정
/etc/profile
-> PATH=/usr/sbin:/usr/bin:/usr/local/bin:/bin
export LOGNAME PATH
* stty erase ^H
trap "" 2 3
stty istrip

IIS 6.0 CSR 생성(Microsoft Internet Information Server 6.0)

서버,보안
※ 주의 하실 점
정보를 입력하는 과정에서 쉼표(,)는 절대로 사용하지 마시기 바랍니다.
일반적으로 CSR을 생성하는 과정에서 쉼표는 데이터 입력을 중지한다는 의미를 갖고있기 때문에 함부로 입력하면 잘못된 CSR이 생성될 수 있습니다.
관리자(Administrator)로 로그온 되었는지 확인해주시기 바랍니다.
모든 정보는 반드시 영문으로 입력하셔야 합니다. 다른 언어가 들어갈 경우 인증서가 발급 되지 않습니다.

CSR 생성
  1. 시작버튼 > 모든 프로그램 > 관리도구 > "인터넷 정보 서비스(IIS) 관리"를 선택합니다.

  2. 인증서를 사용할 사이트를 선택한 후 마우스 오른쪽 버튼을 클릭해서 "속성"을 봅니다.

  3. "디렉터리 보안" 탭을 선택합니다.

  4. "보안 통신"에서 "서버 인증서" 버튼을 클릭하면 웹서버인증 마법사 화면이 나타납니다.

  5. 다음 > "새 인증서를 만듭니다"를 선택합니다.

  6. "요청을 지금 준비하지만 나중에 보냅니다"를 선택합니다.

  7. 인증서를 구분할 수 있도록 이름을 적당히 지어 줍니다.
    (여기는 한글로 적어도 상관 없습니다) 키의 비트길이를 반드시 1024비트로 선택합니다. 체크박스는 체크하지 말고 비워둡니다.

  8. 다음 단계로 가서 CSR 생성에 필요한 정보를 입력합니다.
    <모든 정보는 반드시 영문으로 입력하셔야 합니다.>
    <입력예>
    조직 (O,영문회사명) : Dotname Korea
    조직 구성 단위 (U,부서명) : Digital Certificate Team
    일반이름 (C,인증 받을 도메인 주소) : secure.anycert.com
    국가/지역 (C,국가코드) : KR
    시/도 (S) : Seoul
    구/군 (L) : Songpa
    <주의사항>
    ① 조직명(O,영문회사명)에는 < > ~ ! @ # $ % ^ * / \ ( ) ? 등의 특수 문자를 넣을 수 없습니다.
    사업자 등록증에 기재된 회사명과 일치하는 영문회사명을 넣어 주시기 바랍니다. (예: 사업자 등록증에 '닷네임 코리아'이면 dotname korea 으로 넣어주셔야 합니다. dotname만 넣으시면 않됩니다.)
    또한, 인증서를 설치할 사이트명(C,인증 받을 도메인 주소)에 해당하는 도메인의 등록정보를 반드시 참조하셔서 해당 등록정보에 기재된 회사명을 참고 하실 수 있겠습니다.
    영문회사명은 소유하고 계신 도메인이 com/net/org인 경우에는 Network Solutions에서, kr인 경우에는 KRNIC에서 확인할 수 있습니다.
    영문회사명에 쉼표(,)가 들어간 경우에는 쉼표만 빼고 입력해주시면 됩니다.(예: Devpia Co., Ltd. -> Devpia Co. Ltd.)
    ② 조직 구성 단위(U,부서명)는 적당히 입력해주셔도 됩니다.
    ③ 일반이름(C,인증 받을 도메인 주소)에는 IP 주소, 포트번호, 경로명, http:// 등을 포함할 수 없습니다.
  9. 파일을 저장할 경로를 지정해줍니다. 예를 들어 C:\anycert.txt 로 경로를 지정해주면 C:드라이브 밑에 anycert.txt라는 이름으로 파일이 생성됩니다.
    -----BEGIN NEW CERTIFICATE REQUEST-----
    MIISDOIUlkmlsRRlkSllskjauASKJlalOSISLKjwBgN
    VBAgTDFdlc3Rlcm4gQ2FwZTESMBAGA1UEBxMJQ2FwZS
    BUb3duMRQwEgYDVQQKEwtPcHBvcnR1bml0aTEYMBYGA
    1UECxMPT25saW5lIFNlcnZpY2VzMRowGAYDVQQDExF3
    d3cuZm9yd2FyZC5jby56YTBaMA0GCSqGSIb3DQEBAQU
    AAAklmLKSuljSOIjsfBWu5WLHD/G4BJ+PobiC9d7S6p
    DvAjuyC+dPAnL0d91tXdm2j190D1kgDoSp5ZyGSgwJh
    2V7diuuPlHDAgEDoAAwDQYJKoZIhvcNAQEEBQADQQBf
    8LSLKknlsklSSLlworrr334ZmXD1AvUjuDPCWzFupRe
    iq7UR8Z0wiJUUsllkfq/IuuIlz6oCq6htdH7/tvKhh
    -----END NEW CERTIFICATE REQUEST-----
  10. 이 CSR 파일을 E-mail로 첨부하여 발송합니다.
 출처 : http://www.anycert.co.kr/support/4_1ssl_install_csr12_5.html

MS iis 6.0 ssl 설치하기

서버,보안

  IIS 6.0(Microsoft Internet Information Server 6.0) 신규

고객님께서는 이전에 CSR 생성 과정을 진행해 주셨습니다.
그래서 IIS 인터넷 정보 서비스(IIS) 관리에서 "새 인증서를 만듭니다"를 통해서 서버 암호화 키(개인키)를 생성하였고, 생성된 암호화 키(개인키)를 토대로 CSR(Certificate Signing Request)을 저희 애니서트로 보내 주셨습니다.
그리고 애니서트에서는 서버 암호화 키(개인키)와 키쌍(key pair)을 이루는 고객님의 정식 웹서버인증서를 발급하게 됩니다.
이제 고객님의 IIS 6.0 서버인증서 관리자에서 서버 암호화 키(개인키)와 정식 웹서버 인증서를 조합하는("보류 중인 요청을 처리한 다음 인증서를 설치한다") 작업을 하시면, IIS 6.0 서버에 SSL 설치는 마치게 됩니다.


※ IIS 6.0 웹서버의 인증서 설치 순서

1. 발급된 인증서 확인
2. 웹서버로 발급된 인증서 올리기
3. IIS 6.0 웹서버에 인증서 설치하기
4. IIS 6.0 웹서버에 인증서 설치 확인하기
5. IIS 6.0 웹서버 SSL 포트 설정하기
6. 루트 & 체인 인증서 설치하기
7. 키쌍(key pair, 인증서 및 개인키) 백업 하기
8. SSL 구동 확인


1. 발급된 인증서 확인

먼저 발급된 웹서버 인증서를 확인합니다. 웹서버 인증서는 인증받을 도메인이름으로 발급됩니다.

웹서버인증서 : [인증받은 도메인 이름으로 된].cer
루트인증서 : Wildcard_Root.cer
체인인증서 : Wildcard_Chain.cer

위의 발급된 인증서는 애니서트에서 고객님께 전자 메일로 발급해 드립니다.
그러므로 전자 메일에 발급된 인증서 항목을 알려드리며, 발급된 인증서는 첨부파일로 첨부되어있습니다.

윈도우 PC에서 발급 받으신 웹서버 인증서([인증받은 도메인 이름으로 된].cer파일)를 열어서(double click) 내용을 확인합니다.(메모장이나 울트라 에디터에서 열지 않습니다.)
웹서버 인증서를 열게 되면 다음과 같은 내용을 확인하실 수 있습니다.

[인증서 보기 - 일반]

웹서버 인증서 정보의 [일반] 탭 부분에서 인증서 정보에서 "정보가 부족하므로 이 인증서를 확인할 수 없습니다." 메시지를 확인 할 수 있습니다.
현재 발급된 인증서는 함께 드린 루트&체인 인증서가 설치되지 않아서 경고 메시지가 나오는 것이므로 위와 같은 메시지가 나오는 것이 맞습니다. 가이드 순서대로 설치를 진행하시고 나면 정상적인 메시지를 확인하실 수 있습니다.
그리고 발급 대상에서 고객님이 인증받을 도메인 주소로 신청하신 도메인 주소가 맞는지 확인합니다.

다음으로는 [자세히] 탭 부분에서

[인증서 보기 - 자세히]

발급한 웹서버 인증서의 유효기간을 확인합니다. (유효 기간(시작)과 유효 기간(끝) 정보를 확인합니다.)
그리고 공개 키 부분에서 RSA (1024 Bits) 를 확인합니다. 애니서트에서 발행되는 인증서는 1024 Bits 키를 권고합니다. 꼭 확인해 주시기 바랍니다.

2. 웹서버로 발급된 인증서 올리기

발급받으신 인증서를 IIS 웹서버에 복사합니다.(보통 Ftp 로 웹서버로 올려 주시면 됩니다.)

3. IIS 6.0 웹서버에 인증서 설치하기

IIS 서버에서는 인증서 관리를 인터넷 정보 서비스(IIS) 관리에서 관리하게 됩니다.
기존에 CSR 생성 과정으로 생성된 서버 암호화 키(개인키)에 정식 웹서버 인증서를 조합하는("보류 중인 요청을 처리한 다음 인증서를 설치한다") 작업을 진행합니다.
다음의 순서를 밟아 주시기 바랍니다.

① 인터넷 정보 서비스(IIS) 관리 열기

[시작] -> [모든 프로그램] -> [관리도구] -> [인터넷 정보 서비스(IIS) 관리]를 선택합니다.



② 인증서 설치할 웹사이트 속성 열기

[인증서를 설치할 웹사이트] 에서 [속성]을 엽니다.
( 여러 개의 웹사이트가 있을 경우에는 반드시 인증서 설치할 웹사이트에서 생성되어야 하므로 유의 바랍니다. )


③ 인증서 설치할 웹사이트 등록정보에서 [디렉터리 보안] 열기

인증서를 설치할 웹사이트의 [등록정보]에서 [디렉터리 보안] 을 선택합니다.


④ 디렉터리 보안에서 [서버 인증서] 열기

[디렉터리 보안]에서 [서버 인증서] 버튼을 선택합니다.


⑤ 웹서버 인증서 마법사 시작

웹서버 인증서 마법사를 시작하게 됩니다. [다음]을 선택합니다.


⑥ 보류중인 인증서 요청 선택(웹서버 인증서 설치 과정 선택)

IIS 인증서 마법사에서 [보류중인 요청을 처리한 다음 인증서를 설치합니다]를 선택합니다.
(IIS 웹서버에서 CSR 생성한 인증서 요청에 대한 웹서버 인증서 설치(보류중인 인증서 요청을 처리)를 선택합니다.)


⑦ 보류중인 요청 처리(웹서버 인증서 설치)

다음으로, [보류중인 요청을 처리할 정식 웹서버 인증서] 찾아서 불러들입니다.
(IIS 웹서버에서 CSR 생성한 인증서 요청에 대한 웹서버 인증서 설치(보류중인 인증서 요청을 처리)합니다.)


⑧ 보류중인 요청 처리 결과(웹서버 인증서 설치 확인)

응답 파일에서 인증서를 설치합니다.
설치하시고자 하시는 인증서의 정보를 확인하시고, 특히 만료일을 확인해 주시기 바랍니다.


다음으로, 웹서버 인증서 마법사를 완료합니다.


4. IIS 6.0 웹서버에 인증서 설치 확인하기

보류중인 요청 처리(웹서버 인증서 설치)한 후에는
다음과 같이 IIS 관리자 [디렉토리 보안] 탭의 [보안 통신] 항목에서
[서버 인증서]과 함께 [편집], [인증서 보기] 항목이 활성화 됩니다.

IIS 서버에 설치된 인증서를 확인합니다.
다음의 순서를 밟아 주시기 바랍니다.

[인터넷 정보 서비스(IIS) 관리] 에서 [디렉토리 보안]의 [보안 통신] 부분에서 [인증서 보기]를 선택합니다.




다음과 같이 웹사이트에 설치된 인증서 정보를 확인해야 합니다.
[발급 대상]에서 [인증받은 도메인 주소]를 확인해 주시고, 설치된 인증서의 유효기간 확인해 주십니다.
마지막으로 제일 중요한 부분인 [사용자가 이 인증서와 일치하는 개인 키를 갖고 있습니다.] 항목을 확인해 주셔야 합니다.
[사용자가 이 인증서와 일치하는 개인 키를 갖고 있습니다.] 항목이 확인 되지 않는다면, 웹서버에 설치된 인증서는 서버키(암호키)와 웹서버인증서(공개키) 간의 조합된 RSA - SSL 암호화 통신이 되지 않습니다.



5. IIS 6.0 웹서버 SSL 포트 설정하기


[인터넷 정보 서비스(IIS) 관리] 에서 [웹사이트] 항목의 SSL 포트 가 활성화 된 것을 보실 수 있습니다.
SSL 포트는 https 통신에서 서비스 되는 포트를 설정해 주므로, SSL 기본 포트로 443 포트(http 기본 포트는 80 포트이듯이)를 설정해 줍니다.


6. 루트 & 체인 인증서 설치하기

본 인증서는 루트&체인 인증서를 별도로 설치해 주셔야 합니다.
다음 순서대로 루트인증서와 체인인증서를 각각 설치해 주시기 바랍니다.
두 인증서의 설치방법은 동일합니다.

① MMC 콘솔 창 열기

[시작] -> [실행]을 선택합니다.



[실행] 창에서 mmc을 입력하고 실행합니다.


기본 mmc 콘솔 창 보실 수 있습니다.

기본 mmc 콘솔 창에서 [콘솔] -> [스냅인 추가/제거]를 선택합니다.



[스냅인 추가/제거] 창에서 [추가]를 선택합니다.








② 인증서 가져오기

신뢰된 루트 인증 기관에서 [모든 작업] -> [가져오기]를 선택합니다.













 

7. 키쌍(key pair, 인증서 및 개인키) 백업 하기

혹시라도 모를 재해를 대비해서 시스템에 설치된 키쌍(key pair, 인증서 및 개인키)을 백업합니다.
(시스템에 설치된 암호화 키(개인키)와 웹서버인증서(공개키)는 MMC 콘솔으로 관리됩니다.)
<인증서는 개인키와 함께 꼭 백업을 해두셔야 하며, 백업을 하지 않아 발생하는 문제에 대해서는 재발급 비용이 추가될 수 있습니다.>

① 로컬컴퓨터에 설치된 키쌍(key pair, 인증서 및 개인키) 백업

IIS 서버에서는 CSR 생성할 때에 시스템에 암호화 키(개인키)를 생성합니다.
IIS 서버는 웹서버인증서(공개키)가 설치되면서 이미 생성된 암호화 키(개인키)와 웹서버인증서(공개키)를 하나의 키쌍(key pair, 인증서 및 개인키)으로 조합됩니다.
그래서 다음과정으로 키쌍(key pair, 인증서 및 개인키)을 백업받습니다.

[인증서(로컬 컴퓨터)]에서 [개인] -> [인증서] 항목에 3. IIS 6.0 웹서버에 인증서 설치하기에서 생성한 키쌍(key pair, 인증서 및 개인키-인증받은 도메인 이름으로 표시됩니다)을 볼 수 있습니다.
키쌍(key pair, 인증서 및 개인키)을 선택하고, 마우스 오른쪽 버튼으로 빠른 메뉴를 엽니다.
빠른 메뉴에서 [모든 작업] -> [내보내기]를 선택합니다.


그러면 [인증서 내보내기 마법사] 창이 나타나며, 키쌍(key pair, 인증서 및 개인키)을 내보내는 백업 작업을 합니다.


키쌍(key pair, 인증서 및 개인키) 백업 옵션 [예, 개인키를 내보냅니다.]를 선택합니다.


파일 내보내기 형식으로 [개인 정보 교환-PKCS #12(.PFX)]를 선택합니다.


암호화 키(개인키)의 암호를 설정합니다.
(암호화 키(개인키)의 암호는 반드시 기억하고 있어야 합니다. 암호화 키(개인키)의 암호를 분실하게 되면 백업하신 키쌍(key pair, 인증서 및 개인키)을 사용할 수 없게 됩니다.)


내보낼 키쌍(key pair, 인증서 및 개인키)의 파일이름을 입력합니다.


키쌍(key pair, 인증서 및 개인키) 내보내기를 완료합니다.


키쌍(key pair, 인증서 및 개인키) 내보내기를 결과를 확인합니다.

내보낼 키쌍(key pair, 인증서 및 개인키)의 파일이 생성되었습니다. 보안된 PC의 저장장치 등 안전한 곳에 보관합니다.

② MMC 인증서 스냅인을 저장합니다.

IIS 서버에 설치되는 인증서는 MMC 인증서 스냅인을 통해 관리되므로, 인증서 스냅인을 저장해 놓습니다.
(스냅인 저장으로 인증서가 백업되지는 않습니다. MMC에서 인증서 스냅인(snap-in) 추가된 사항만 저장되는 것입니다.)

mmc 콘솔 주메뉴에서 [다른 이름으로 저장]을 선택합니다.


적당한 경로와 적당한 이름으로 저장해 놓습니다.


mmc 인증서 스냅인을 저장 완료되었습니다. 나중에 인증서를 관리할 때에 저장된 mmc 인증서 스냅인을 불러서 사용할 수 있습니다.

 

8. SSL 구동 확인

① 443 포트(HTTPS 통신) 네트웍 활성 확인
C:\>%windir%\system32\netstat -an

Active Connections

  Proto  Local Address          Foreign Address        State
  TCP    0.0.0.0:80             0.0.0.0:0              LISTENING
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING
... ...
C:\> 

② 방화벽과 L4 Switch 장비 설정 확인
고객님의 웹서버와 연계되어 설정된 방화벽 장비와 L4 Switch 장비의 설정을 80 포트 설정된 것 같이 443 포트에도 설정되어야 합니다.

③ HTTPS 보안 통신으로 페이지를 확인
웹 브라우져를 통해서 https://[인증받은 도메인]/[테스트페이지].html 페이지를 확인해 봅니다.


[보안정보 확인창]

접속시에 위와 같은 보안정보 확인 창을 보실 수도 있으나, 이것은 전체 페이지를 암호화 처리했을 경우에 몇몇 이미지나 object 태그의 codebase 부분에 절대경로가 설정된 경우에 보안 정보를 나타내는 정보 창이므로, [아니오]를 선택합니다.

그러면, 웹 브라우져 하단 상태표시줄에 HTTPS 암호화 상태를 나타내는 노란 자물쇠를 확인해 보실 수 있습니다.

[SSL 128 bit 확인]


노란 자물쇠에 마우스 포인터를 가르키고 잠시 기다리면 128 bit 암호화 처리 상태를 확인해 보실 수 있습니다.
그리고 노란 자물쇠를 double click 하면, 서버에 설치된 인증서를 확인해 보실 수 있습니다.


[인증서 보기 - 일반]


인증서 용도가 [● 원격 컴퓨터의 신분을 확인합니다.] 라는 웹서버 인증서로 설정된 것을 확인할 수 있습니다.
다음으로 인증서 자세히 보기 부분에서 설치된 웹서버 인증서의 유효기간을 확인합니다. (유효 기간(시작)과 유효 기간(끝) 정보를 확인합니다.) 그리고 공개 키 부분에서 RSA (1024 Bits) 를 확인합니다.


[인증서 보기 - 자세히]


SSL 설치가 완료 되었습니다.
출처 : http://www.anycert.co.kr/support/4_1ssl_install_cer05_2.html

Cerberus FTP Server V2.22 프리웨어

서버,보안
Cerberus FTP Server는  인터넷에 연결된  컴퓨터를 FTP 서버 역할을 할 수 있게 만들어 주는 프로그램입니다. 좀 더 자세하게 이야기하자면, 외부의 사용자가 자신의 컴퓨터에 접속해서 파일을 송수신 할 수 있게 만들어 준다는 것입니다.

이러한 류의 프로그램은 그 종류를 셀 수도 없이 많습니다. 그러나 굳이 Cerberus FTP Server를 소개하는 이유는 다음과 같은 이유들을 들 수 있습니다.

첫째, 프리웨어이고,
둘째, 다른 프로그램에 비해 FTP 서버 구축 과정이 간단하며,
셋째, FTP서버로서 부족함 없는 기능을 제공하고 있기 때문입니다.

FTP 서버 데몬 시장이 워낙 경쟁이 치열하고 좋은 프로그램이 많다 보니 Cerberus FTP Server은 그  인터페이스와 성능에 비해 그다지 알려진 편은 아닙니다. FTP 서버 구축에 전혀 경험이 없는 사용자라도 영어만 대충 이해 할 수 있는 수준이라면 다른 프로그램에 비해 쉽게 서버 구축을 할 수 있을 정도의 편리성과 멀티쓰레드 FTP 퍼포먼스, NT 서비스 기반을 이용하여 낮은 메모리와 CPU 사용량을 보임으로해서 많은 접속에도 큰 문제가 없도록 설계되는 등 내외적 모두 탄탄한 실력을 자랑합니다.

이외에도 접속 제한, 속도 제한, IP 차단, 방화벽 지원, 이어올리기 지원을 비롯해 서버 관리에 필수적인 로그 기록 등 있어야 할 기능은 모두 갖추고 있는 셈입니다.

보다 자세한 사용법은 리뷰 상단의 [사용방법] 버튼을 클릭하여 확인해 보시길 바라며 FTP 서버 구축에 어려움을 겪으셨던 분이라면 사용해 보시길 추천합니다.

[주의/제약사항]

  • 이 프로그램은 개인 사용자에 한해 프리웨어입니다.


[기타사항]

Windows Installer 가 설치되어 있어야 이 프로그램의 설치가 가능합니다. 윈도98/ME/NT 사용자 중 Windows Installer 가 설치되어 있지 않으신 분들은 아래 링크를 통해 다운 받으시길 바랍니다.

Microsoft Windows Installer V2.0 for Windows 95/98/ME
Microsoft Windows Installer V2.0 for Windows NT
설치 가이드
  • 다운 받은 파일의 압축을 풀고 실행하면 설치가 시작됩니다. Windows Installer 가 설치되어 있어야 설치를 할 수 있으며 설치가 안되는 분은 리뷰 본문의 기타사항을 참고하시길 바랍니다.

프로그램 사용법
  • 프로그램을 처음 실행하면 설정 마법사가 단계적으로 안내해 줍니다. 기업, 관공서 등에서 사용하시는 분은 위쪽(30일 제한)을, 개인용/가정용으로 사용하실 분은 아래쪽을 선택하고 [NEXT] 버튼을 누릅니다.

  • 사용자를 생성합니다. Anomyous 를 체크하면 아이디가 없이도 FTP 서버에 접속할 수 있습니다. 아래쪽은 접속시 보여질 홈 디렉토리를 선택합니다.

  • WAN IP Auto-Detection 이 나옵니다. 예를 누르고 Finish 버튼을 눌러 설정을 마무리 합니다.

  • 성공적으로 서버가 실행된 모습입니다.

공개웹방화벽을 이용한 홈페이지 보안

서버,보안
공개웹방화벽 WebKnight 를 이용한 홈페이지 보안에 대해 설명을 드리도록 하겠습니다.

WebKnight는 ISAPI 필터 형태로 동작하며, IIS 서버 앞단에 위치하여 웹서버로 전달되기 이전에 IIS 웹서버로 들어온 모든 웹 요청에 대해 웹서버 관리자가 설정한 필터 룰에 따라 검증을 하고 SQL Injection 공격 등 특정 웹 요청을 사전에 차단함으로써 웹서버를 안전하게 지켜준다. 이러한 룰은 정기적인 업데이트가 필요한 공격 패턴 DB에 의존하지 않고 SQL Injection, 디렉토리 traversal, 문자 인코딩 공격 등과 같이 각 공격의 특징적인 키워드를 이용한 보안필터 사용으로패턴 업데이트를 최소화하고 있다. 이러한 방법은 알려진 공격 뿐만 아니라 알려지지 않은 공격으로부터도 웹서버를 보호할 수 있습니다.

먼저 AQTRONIX Webknight.zip 파일을 다운 받습니다.

AQTRONIX Webknight.zip  파일은 본인이 아티보드로 프로젝트를 여러번 하면서 아티보드 에 맞도록 설정한 파일입니다. (설정 하는 부분이 나름 어려워)

C:\Program Files\AQTRONIX Webknight
이곳에 압축을 푼다
LogFiles, :로그 폴더
Config.exe, :설정파일
denied.htm,
Loaded.xml,
LogAnalysis.exe, :로그 뷰어
readme.htm,
robots.txt, :검색로봇 관련
Robots.xml,
WebKnight.dll, :IIS 로드
WebKnight.xml

폴더 및 파일이 있습니다.

자 이제 윈도우 2003 서버 기준으로 - 인터넷 정보 서비스 (IIS) 관리를 실행 시키고
/웹사이트/ 오른쪽마우스/속성클릭/ - ISAPI필터 클릭/ 우측 - 추가 클릭 필터 이름에 WEBARTY
실행파일에 C:\Program Files\AQTRONIX Webknight\WebKnight.dll 삽입
서비스 탭에서 /격리모드에 IIS 5.0 격리 모드에서 WWW 서비스 실행 (I) 채크 하시고
IIS 다시 시작 하시면 정상 작동 합니다.

격리모드 채크 안하면 오류가 날수 있으므로 각별히 신경 써야 합니다.

-아래-

관련 정보
http://www.krcert.or.kr/firewall2/index2.jsp

설치 메뉴얼 http://www.krcert.or.kr/firewall2/fwDown2.jsp?fkind=11

동영상 메뉴얼 http://www.krcert.or.kr/firewall2/fwDown2.jsp?fkind=13

참고 하세요.

원격 데스크톱 연결시 라이센스 없다고 할때

서버,보안
이 컴퓨터에 대해 사용 가능한 터미널 서버 클라이언트 액세스 라이센스가 없으므로 원격 연결이 끊어졌습니다. 서버 관리자에게 문의하십시오.
 
OR
 
로컬 컴퓨터의 액세스 라이센스가 없그레이드되어가 갱신되지 않아서 원격 세션이 끊어졌습니다. 서버관리자에게 문의하십시오.
 
라는 문구가 뜨면, 원격 접속하고자 하는 서버에서 아래와 같이 변경하여주면 해결된다.
 
제어판-관리도구-터미널서비스구성-서버설정-라이센스 에서
장치단위로 되어 있는 것을 사용자단위로 변경하여 주면 된다.

IIS 6.0 에서 php5 설치

서버,보안
 
정확한 설명서라기 보다는 그냥 내가 이렇게 했다는 메모라고 할 수 있다.
 
아파치와 연동시키는게 더 나을 수도 있겠지만, 윈도우에서는 IIS가 더 좋은 성능을 발휘할 꺼라
생각해서이다.. (테스트 해본적은 없음. ㅡ.ㅡ)
 
1. php 압축파일 버전을 받아서 설치한다.
2. 설치된 디렉토리를 PATH 에 추가한다. 적용해도 PATH에 바로 들어가진 않으니까 명령 프롬프트
  에서 'PATH=%PATH%;설치 디렉토리;' 를 입력한다.
3. php.ini-recommended를 php.ini로 이름 바꿔서 c:\windows 에 복사.
(-- 3-x 의 과정은 안해도 됨 --)
3-1. php.ini 속성에서 display_errors = On, log_errors = Off 로 한다.
3-2. error_reporting = E_ALL & ~E_NOTICE 로 한다.
3-3. extension_dir 을 설정한다. (php 설치 디렉토리에서 ext 디렉토리)
3-4. extension 중 php_exif.dll, php_gd2.dll, php_sockets.dll의 주석을 해제한다.
3-5. extension=php_mbstring.dll 과, extension=php_mysqli.dll 를 extension 부분의 제일 위에
  입력한다. (exif가 mbstring을 필요로 하는데 dll은 ini에 기술된 순서대로 로딩된다.)
4. php디렉토리와 그 하위 디렉토리, 웹 사이트 루트와 그 하위 디렉토리, php.ini를 웹사이트 계정
  이 접근할 수 있도록 권한을 설정한다. (웹사이트 루트 디렉토리가 최상위 폴더, 즉 d:\www 같은
  것이 아니고 d:\w3\main 같은 것일 경우에는 w3도 읽기 권한이 있어야 한다. 본인은 Users로
  권한을 설정했음.)
5. IIS 관리자를 띄워서 웹사이트의 등록 정보를 연다.(모든 사이트에 공통 적용하기 위해서)
6. 홈 디렉터리 탭에서 구성 버튼을 누른다.
7. 응용프로그램 확장의 추가 버튼을 눌러 실행파일은 php5isapi.dll을 지정하고, 확장명은 '.php',
  모든 동사 그리고 체크박스 둘다 체크되어 있는 상태로 확인
8. 웹사이트 등록 정보 수정 끝~
 
(-- 9, 10 과정이 IIS 5.X 이하와 틀림 --)
 
9. 웹 서비스 확장으로 가서 새 웹 서비스 확장 추가를 한다.
10. 확장 이름은 php로 하고, 필요한 파일에 php5isapi.dll을 추가하고, 확장 상태를 허용됨으로 체
  크한 다음에 확인.
11. IIS를 재시작 한다.
12. phpinfo()를 해보고 기쁨을 누린다.

DNS 백업 및 복원하기

서버,보안
 
1. Windows2000 Server ----> Windows2000 Server
백업 방법은 간단하다.... 일단, %systemroot%\system32\dns 폴더에 있는 각 도메인 DB파일을 복사하여 백업한다음에,
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS]과
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DNS\Zones]
둘중에 한곳에서 등록된 도메인의 하위 키값을 레지스트리 내보내기로 해서 파일로 저장합니다.
복원은 반대로, 일단, DNS서비스를 중지한다음에, DB파일을 원래 위치에 복사해 넣은다음에, 앞서 백업했던 레지스트리값을 병합하면 됩니다.
그런다음에, DNS시작후 데이터파일 업데이트 한후 다시 서비스 재시작해 주심됩니다.
2. Windows2000 Server --> Windows Server 2003
백업방법은 앞서방법과 같고,  복원이 약간다릅니다. Windows Server 2003의 경우
DNS 레지스트리 값 위치가 약간 다릅니다.
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
NT\CurrentVersion\DNSServer\Zones]
기존의 2000 것을 위것으로 메모장등으로 편집해서 바꿔야 합니다. 어크로에디트 같은 편집툴로 확 한번에 바꾸시면 됩니다.
3. Windows Server 2003 ---> Windows Server 2003
이건, 2000에서 하던 방법과 동일하게 하시면 됩니다.

*추가팁:
위의 경우는 DNS에 등록한 도메인 리스트 정보를 레지스트리에서 관리하는 것으로 해당 DNS서버에서 파일로 저장하기를 하면 system32\dns 에 boot 파일이 생성됩니다.
그러면, 이 boot 파일과, 각 도메인 DB파일을 다른 서버에 이동한후 DNS를 restart 하시면 됩니다. 복사전에 대상서버의 DNS 데이터 저장을 파일로 해놓아야 합니다.

Promise VTrak J610s 16베이 3U SAS/SATA JBOD 스토리지

서버,보안
 



Promise VTrak J610S 는 16베이 3U 렉마운트 타입의 SAS /SATA JBOD 입니다

최대 SAS / SATA HDD 16개를 장착하여, 저렴한 비용으로 고용량의 스트리지

구축이 가능한 데이터 백업용 SAS/SATA JBOD 케이스 입니다.

인터페이스는 SAS SFF-8088 mini SAS 2포트를 지원하여 용량 확장이 용이하며,

SAS 컨트롤러를 이용하여 최대 SAS HDD 96개, SATA HDD 48개 까지 확장이

가능합니다.


DVR 또는 SMB등의 대용량 데이터 스토리지와 백업 시스템에 최적화!

SATA / SAS to 듀얼 SAS(SFF-8088) 인터페이스 채용으로 대용량의 데이터를 빠르고

안정적 으로 전송!

듀얼 500W 파워 / 듀얼 팬 장착으로 안정성 확보

후면 부품 각각의 모듈화로 손쉬운 교체 가능

 
제조사 Promise
유통사 ANDICO Corp.
분류 데이터 저장용 SAS / SATA JBOD 스토리지 케이스
호스트 인터페이스 Mini SAS (SFF-8088)
드라이브 인터페이스 SATA I / SATA II / SAS HDD
전송 대역폭 3Gbps/s
하드디스크 16개,JBOD 박스 연결하여 SAS HDD 최대 96개
SATA HDD 최대 48개 연결 가능
핫스왑 지원
쿨링팬 듀얼 팬, 4개의 파워팬
관리도구 CLI 명령셋트
안전 인증 CE/FCC
크기 13.1 x 44.65 x 56.1Cm
렉 사이즈 렉마운트 3U
무게 30.5kg




전면 둥근원 부분을 눌러 잡아 당기면 HDD 트레이가 빠지게 됩니다.


 


HDD 장착 모습

J610s 후면부 : 컨트롤 PCB 모듈 1개, 500W 파워 모듈 2개, 냉각 팬 모듈 2개로 구성

각 부품이 모듈화 되어있어, 손쉬게 교체가 가능합니다.
 




메인 컨트롤 PCB 모듈 : 2개의 SFF-8088 포트와 J610s 상태 및 제어가 가능하도록
지원해주는 CLI 명령어 지원 포트가 있습니다.

메인 컨트롤 PCB 모듈 후면부
 
듀얼 500W 파워 모듈

듀얼 500W 파워 모듈 후면부

듀얼 500W 파워 상세 스펙


듀얼팬 모듈 입니다.


듀얼 팬모듈 후면부

J610s 후면부 내부 모습
 



세부 내용물


 렉 케비넷에 장착 할수있는 가이드 레일도 제공 됩니다.

▶ 제품에 대해 충분히 숙지해주시고 구매하여 주시기 바합니다.


▶ A/S 보증기간 1년

교환/환불

- 주문하신 상품이 사용/취급부주의로 인한 파손이 아닌 경우, 수령하신후 10일 이내 반품 및

  교환, 환불이 가능합니다.

- 배송되어 수령된 상품이 단순히 고객변심의 사유로 반품/환불하실 경우, 상품의 미사용시는  
  환불이 가능합니다. (이 경우, 반송료는 고객분께서 부담하셔야 합니다.)

- 포장 개봉 후 설치된 사용된 경우 교환 / 환불이 되지 않으므로, 주의하여 주시기 바랍니다.
 

제품문의 : (주)앤디코 ( ☏ 02-704-9992 )

CPU 코어가 160개? 슈퍼마이크로 슈퍼블레이드

서버,보안
 
가입자 1,463만 2,161명. 지난 10월까지 집계된 대한민국 초고속인터넷 가입자 숫자다. 이 정도 규모라면 전 국민의 4분의 1이 초고속인터넷을 사용하고 있다고 해도 과언이 아니다. 그만큼 인터넷이 생활 곳곳 큰 영향을 미치고 있다는 반증. 여기에 UCC(User Created Contents)나 웹TV, 인터넷 라디오 등 멀티미디어 환경도 부쩍 늘었다.
인터넷으로 할 수 있는 일이 점점 많아지면서 이를 뒷받침해야하는 주변 환경도 함께 성장하고 있다. 가장 대표적인 것이 서버. 서버는 대용량 데이터를 처리하고 여러 사용자가 함께 사용하는 컴퓨터 시스템으로 인터넷에 없어서는 안될 중요한 요소다.

슈퍼마이크로 슈퍼블레이드


하지만 인터넷이 급성장하면서 확장할 수 있는 서버도 한계에 다다를 수 밖에 없다. 서버는 인터넷데이터센터에 오밀조밀 모여있어 발열 관리와 업그레이드가 어려울뿐더러 공간도 많이 차지하기 때문인데 이를 해결하기 위해 등장한 것이 블레이드 서버다. 블레이드 서버에서 블레이드란 영어 'Blade'에서 따온 것으로 칼날처럼 얇은 서버를 뜻한다.
블레이드 서버를 쉽게 설명하면 이렇다. 기존 서버는 1U, 2U, 4U 등 일정한 규격에 하나의 서버만 설치할 수 있지만 블레이드 서버는 좁은 공간에 많은 수의 서버를 모듈식으로 채워 넣을 수 있다. 한마디로 같은 공간에 더 많은 서버를 우겨 넣은 것이라고 생각하면 이해가 쉽다. 디에스앤지시스템 슈퍼마이크로 슈퍼블레이드는 7U 규격을 사용할 경우 CPU는 최대 40개(코어 160개), 메모리는 3.84테라바이트(TB)까지 확장할 수 있는 블레이드 서버다.


블레이드 서버라고 해서 PC와 크게 다른 부품은 없다. CPU는 인텔 제온이나 AMD 옵테론을 쓰고 메모리는 서버에 알맞게 만들어진 FB-SDRAM과 레지스터드 DDR2 SDRAM을 사용한다. 하드디스크 인터페이스는 SCSI의 후속 버전인 SAS를 많이 쓰지만 경우에 따라 시리얼 ATA를 장착하는 경우도 있다. 다만 이 모든 부품이 얇은 케이스에 모두 들어가 있다는 점이 PC와 다르다.
슈퍼블레이드는 7U 규격 케이스에 모두 10개의 블레이드 서버가 장착되며 뒷면에는 모두 4개의 리더던트 전원공급장치가 장착되어 있다. 리더던트 전원공급장치는 1,400∼2,500와트의 출력을 가지고 있으며 서버가 작동하는 도중에 설치나 제거가 가능한 핫스왑 구조다. 또한 케이스 뒷면의 확장 슬롯에는 기가비트랜 스위치와 매니지먼트 모듈, 4× 인피니티밴드 스위치를 각각 별도로 설치할 수 있다.
 
케이스는 7U 규격을 가지고 있으며 모두 10개의 블레이드 서버를 내장할 수 있다. CPU는 인텔 제온이나 AMD 옵테론을 쓰고 메모리는 블레이드 서버당 최대 640GB까지 확장이 가능하다.

참고로 인피니밴드는 직렬 통신 규격으로 채널 하나에 2.5Gbps 대역폭을 지원한다. 1.5Gbps 대역폭을 가진 SATA에 비해 1Gbps 정도 더 빠른 셈. 여기에 인피니밴드는 데이터 전송 지연 시간이 짧아 실제 체감 속도가 더 높고 물리 대역폭을 확장해 동시에 여러 대의 하드디스크 연결이 가능하다.
하드디스크는 블레이드 서버 전면에 6.3cm(2.5인치)와 8.8cm(3.5인치) 규격을 선택할 수 있으며 왼쪽에 전원과 KVM 버튼이 마련되어 있다. KVM은 'Keyboard', 'Video', 'Mouse'의 앞글자를 딴 것으로 한꺼번에 여러 대의 서버에 물려있는 키보드와 마우스, 모니터를 관리할 때 편리하다.
이 제품은 서버 관리도 간편하다. IPMI 매니지먼트를 통해 케이스에 꽂혀있는 각 블레이드 서버의 상태와 리더던트 전원공급장치, 기가비트랜 스위치 등 각 부품을 한눈에 살펴볼 수 있고 문제가 발생하면 관리자에게 자동으로 메시지를 보낸다. 또한 냉각팬 회전 속도와 블레이드 서버 내부 온도도 알려주므로 혹시 발생할 수 있는 문제를 미연에 방지하도록 했다.