무선랜 

무선랜은 그냥 말 그대로 선이없는 랜이져~ ㅋ
( 랜을 깊게 들어가면 여기서 빠져나올수 가 없기 때문에..일단 나도 깊게 들어가보질 않아서 ㅋ)
일반적으로 컴퓨터 사서 인터넷이 안되면 그건 ... 워워 상상하면 끔찍할정도다.. 내가 무슨 말을 하려고 하는지 다들 아실듯.
암튼 컴퓨터와 집 벽에서 신의 손이 나와 컴퓨터와 결합을 해주시면 인터넷이 되는데 그것이 LAN 이라고 합니다.
따라서 인터넷을 할 때 필요한 선이라고 생각하면 될거에여~ 그런데 요즘은 세상이 좋아져서 이러한 선 없이도 인터넷을 할 수가 있더라구여
우리는 그것을 무선랜...!!!! 부르고, 쓰며, 경배합니다..ㅋㅋ 이건 오바네요..

보안 왜~~ 필요할까?

이전에는 무선랜 하면 노트북이나 PDA정도만 사용하였을 거에요 
하지만 요즘에는 핸드폰 / TV / 전화 안쓰는 곳이 없을 정도로.. 많아졌져.
저는 그렇기 때문에 보안이 필요하게 되었다고 생각합니다. 자주 사용하는 곳에..먹이를 노리는 하이에나가 출몰하져~~
특히 스마트폰이 대량 나오면서 공짜 인터넷 사용에 대한 열의가 높아지고 항상 무선랜 검색을 통하여 암호가 걸려있지 않은
공짜 무선랜을 검색하게 됩니다.. 왜~~ 공짜에 이유는 없다 ㅋㅋㅋ.
이러한 것을 악용하는 사람들이 있어서 문제가 되는 거라고 생각해여~ 카페등의 무선랜등을 해킹하여 이 무선랜을 사용하는
사람들의 정보를 취득하거나.. 해커의 무선랜으로 유도하는 사람들도 있습니다. 보통 사람들은 오호라 공짜네 하면서 그냥 사용할 것이고
카페같은데 무선랜을 설치한 사장님들도 그닥 신경쓰지 않는다는 거져. 요즘 카페같은데서 컴터 스마트폰 만지작 거리는 사람들 많으니
설치는 해야겠고 해서...설치는 하지만 설정은 안한다는 거져. 제가 카페에서 아이팟 터치로 잠시 접속해봤는데.. 보안설정따윈 개한테
줬다라구여..관리자페이지 그냥 접속되게 만들어져 있음 ㅋㅋ 암튼
자신이 운영하는 무선랜이나 또는 자신이 이용할 무선랜등에서 정보가 빠져나갈 수 있다는 위험성 이것때문에 최소한의 보안
설정이나 보안지식이 필요한 것이라고 생각합니다.

참고로 무선랜 해킹동영상을 이전에 올린게 있어서...감상하길....ㅋ
http://luna79.tistory.com/63

무선랜 보안을 위한 3가지

글에 그림과 동영상이 들어가면 참 보는 사람도 좋고 만든 사람도 좋다. 내가 캡쳐하기는 귀찮고.. 이게 어디 제출하는 것도 아니고..
그냥...아는 커뮤니티에 올리기 위한 용도이니.. 대충대충 ㅋㅋ
글을 보시다가 모르는게 있으시면...검색하시고 찾아보시길 권유합니다. 조금만 관심을 가지고 알아보시면 자신의 정보를 조금이라도
보호할 수 있습니다.

1. SSID
SSID는 뭐.. 의 약자일것입니다. ㅋㅋ 뒤에 ID만 그냥 기억하시고 대충 의미만 전달되게 알자구여.. 걍 ID입니다. 식별이 가능한
외국어를 적어 넣는 거져. 뭐 요즘 한글도 되는것 같던데 암튼.. 밑에 그림 참고 하시길
사진출처 : 네이버 이지미검색 http://cafe.naver.com/wowbuzz.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=36
아 이미지 할려니깐 귀찮아짐 ㅠㅠ
위의 그림에서 보면 linksys / SAMSUNG / myLGNet 등 여러가지 이름이 보일거에요 이것이 바로 SSID입니다.
무선랜이 하나만 있는 것도 아니고 난 누구라고 밝히는 거져. linksys는 무선랜공유기 만드는 회사이고 삼송은 아실거고. myLGNet는
LG인터넷 전화업체져.. 이런식으로 SSID로 어떠한 것인지 알 수 있습니다.

아래의 이미지도 네이버에서 검색한건데요. 버팔로란 무선공유기 설정화면이네요
사진출처 : http://cafe.naver.com/irouter.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=93
 

위에서 보면 SSID 사용 하면서 ITK라고 적어 놨군요..저런식으로 이름을 자신이 지정할 수 있구요.
브로드캐스트SSID 허용을 해 놓았는데 이는 브로드캐스트가 아마 방송이란 뜻일 겁니다. 따라서 SSID를 방송하겠다는 거져.
SSID에서 중요한 설정 부분이 바로 이것인데요. 이게 좀 아니러니 합니다.
무선네트워크 설정에서 저렇게 SSID가 보이는 이유는 여러분들의 공유기 설정에서 브로드캐스팅 SSID 허용해 놓았기 때문이져.
따라서 길거리 가다가 스마트폰으로 무선검색하면 여러가지가 보여서 우리가 접속을 하는겁니다.
일단 보안적 측면으로 자신만 사용하는 무선공유기라고 가정한다면 SSID를 보이는게 좋을까여 숨기는게 좋을까여 ?
저게 보이면 일단 다른 사람이 나의 무선공유기를 볼 수 있고 차후 어떠한 작업을 할 수 있다는 것을 의미합니다. 홈페이지로 따지면
일단 아뒤는 알고 시작한다고 할 수 있져. 그런데 공유란 측면에서 보면 내가 무선공유기를 설치해놨으니 무선AP를 사용할 기긱가
있는 사람이라면 모두 사용하시요란 공유의 대인배적 측면을 생각할 필요가 있져...
SSID브로드캐스팅을 허용하지 않았다고 해서 이걸 못 알아내는건 아닙니다. 예를 들어서 10명의 해커가 있는데 1명이 이걸 알아내는
방법을 몰랐다고 치면 SSID브로드캐스팅을 허용했을때 보다 10%의 방어효과가 높아지는 것이고. 해커들이 이를 알아내기 위해
시간 투자를 해야할것이고.. 귀찮은 인간들은 그냥 보여지는 것으로 눈길을 돌릴 겁니다.

2. 암호
 첫번째 무선네트워크연결 그림에서 보면 자물쇠 그림이 있는것과 없는 것이 있을것입니다. 자물쇠가 있는 것은 암호가 있다는
소리이고 없는 것은 암호가 설정 안되어 있다는 소리입니다. 자물쇠가 없더라도 어떠한 것을 로그인페이지로 넘어가져. 보통
기업에서 사용하는 것이 이렇습니다.
암호 이거 따지고 들어가면 머리 아픕니다. 어렸을때 결별한 수학과 다시 만날 용기가 있는분들은 자세히 파고 들어가시길 ..
사진 출처는 위랑 동일합니다. 아래 그림을 보면 무선암호화 방식과 암호화 키를 입력하는 곳이 나오는데.
가단하게 말해서 SSID가 일반 홈페이지의 ID라면 이것은 비밀번호라고 생각하시면 됩니다.
여기서 어떤것을 선택하는냐..이는 제조사마다 틀려서 어떠한 것들이 있는지 잘 모르겠네요. 이건 자신의 무선랜설정중 암호화 방식이
어떠한 것이 있는지 알아보시고 젤루 좋은걸 인터넷으로 검색하셔서 사용하시길 바랍니다. 아래그림의 WEP64 같은 경우는 몇분이면
복호화가 가능합니다. 따라서 사용하지 마시길...
제 무선공유기는 회사에서 훔쳐온 오래된 물건이라 그런지..
WEP(Wired Equivalent Privacy)
WPA-PSK(Wi-Fi Protected Access Pre-Shared Key)
이 두가지 방식 뿐이더군요 그래서 아래꺼 선택..ㅠㅠ  요즘껀 이것보다 훨 좋은 암호화 방식들이 있을겁니다. wpa2가 기본이 아닐까
하네요. ㅋ



3. MAC
  아~ 놔 이건 설정화면 이미지가 전혀 없네요.. 그래서 설정 그림 패스~~ 무선랜 가지고 있는 분들은 MAC필터 or 액세스목록
이런거 함 찾아보세요..
일단 MAC이란 랜카드의 고유 ID라고 생각하면 됩니다.
급하게 MAC사진 하나는 구했음 ㅋ 사진출처 : http://blog.naver.com/gksgnlcjf?Redirect=Log&logNo=105498254
앞에 6자리 회사이고 뒤에 6자리가 고유번호 인데 이런건 그냥 패스하시고.. 우리가 사용하는 스마트폰/인터넷전화/노트북/ 기타 등등
에는 이러한 MAC주소가 있습니다. 그래서 무선랜공유기에 등록된 MAC만 접속가능하게 할 수 있죠
따라서 어떤 사람이 SSID를 숨겨놓은 것을 찾아냈고. 어떻게 비밀번호도 알아냈지만.. MAC이 일치하지 않아서 접속을 못할수도
있습니다. 이것도 어떠한 해커들은 방법을 알고 있고 해결할 수 있습니다. 앞의 논리와 마찬가지로 해커가 10명이라면 이 방법을
모르는 해커가2명이 있어 20%정도 막을 수 있는거져..ㅋㅋ

개인이 무선공유기를 운영하시는 분들은 이를 참고하시여 보안설정을 하시길 바랍니다.

참고
스마트폰으로 공짜 SSID를 검색했다.. 이것만 하자..
1. 메일접속같은건 하지 마세요. mail 읽어드릴때 암호및 비번 캐취할수 있습니다.
2. 홈페이지 접속같은건 하지 말아주세요. 보안이 안된 홈피같은경우 그냥 알아낼거고 보안이 잘된곳이라도. 해커가 나쁜 맘을 먹고 작정을
   하였다면 알아낼수 있을거에요.
3. 금전거래....당연히 안하겠져..은행사이트 워~~워~~~
4. 또 뭐가..있져..이는 개인의 상상에 그냥 인터넷 검색하고 사이트보기는 괜찮지만 개인정보가 들어가는것은 하지마세요



 요즘 아이폰때문에 스마트 폰이 아닌 일반 핸드폰에도 Wi-Fi 기능이 생겨나기 시작했습니다.

고객을 무시한 이통사 및 제조사들이 아이폰으로 간 유저를 때문에 그디어 하나둘씩 내놓기 시작하네요.

잠시 말하고자 하는것에 벗어났네요. 이전 내수용에 빠지는 Wi-Fi 기능때문에 이통사와 제조사에 흥분을

했던 기억이 나서요.

암튼 Wi-Fi 기능이 달린 기기들이 많아짐에 따라 무선랜 사용이 많아 질건데요. 지고 있죠..ㅋㅋ

그에 따라 하나의 동영상을 보여드릴테니.. 보시고 참고하시고 약간의 관심을 가지시고 주의 하시길 바랍니다.

주의할 점.
- Wi-Fi을 통해서는 간단한 웹서핑및 어플이용
- 로그인 등의 작업이 필요한 것은 왠만하면 지양함
- 로그인이 필요한 작업이 있을경우 안전한 곳에서 실행
   (자신의 무선랜 or 회사 무선랜 or 알고 있는 무선랜 ...)

왜 이렇게 해야하는 것에 대한 한가지 예에 대한 동영상을 감상하시죠.



모르시는 분을 위하여 저도 잘 모르지만 최대한 간단하게 두리뭉실하게 설명을 드리겠습니다. 잘 알고있는분은
따로 설명해주시면 감사할거에요. 동영상을 보시면서 숫자순으로 읽어보세요.. 나름 개그콘티짠겁니다..ㅋㅋ

피해자
3. 아이팟 터치를 사용하는 사마군은 공짜 무선랜에 갈망하고 있었습니다. 빙고!! CrackMe 란 오픈되어 있는 넘이
있네요..훗훗~ 접속을 해볼까..풋
5. 오웃 ~ 접속했네..ㄳ~ㄳ
6. 이런 사이트도 가보고 ..오호.. 메일도 확인해볼까 우훗~

공격자
1. 공격자군은 오늘도 낚시 준비를 합니다.
  일단 근처에 CrackMe란 SSID를 가지고 있는 넘이 있네요. jasager를 사용해서 가짜 CrackMe란 것을 준비했어요.
 ( 이건 사마군이 CrackMe란 착한 무선랜 주인에게 붙는걸 공격자군이 자신이 CrackMe라고 알려주고 자신에게
  오도록 하는거죠.(이러면 이전에 자주사용했고 잘 고 있는 것도 위험할 수도 있겠죠 ㅋㅋ))
2. Hamster와 ferret 이란 프로그램을 이용해서 도청 준비를 하고요. 프록시 서버를 설정해놓았어요.
  오늘도 준비를 맞추었답니다.
4. 빙고!! 어떤넘이 가짜 CrackMe에 붙었네요.
7. 접속한 넘이 저런 사이트도 가보고...오호..메일도 확인했네요..지워볼까~~ 우훗~~

이런한 형태의 공격방법을 Session Side Jacking 이라고 합니다. 저도 잘 모르기때문에..최대한 간단하고 두리뭉실하게
설명하자면.. 공격자는 피해자의 로그인세션을 훔쳐서.. 로그인없이 로그인이 된것처럼 활동 할수 있는거라고 두리뭉실하게
설명드렸습니다.

동영상이 있어서 이러한 형태로 설명을 드렸지만...다른 무궁무진한 낚시방법을 가지고 있는 공격자 분들이 있습니다.

공짜 누구껀지도 모르는 무선랜 상황에서는 정보입력등은 피해주세요..



포토샵을 모른다.. 이건 인터넷 생활을 하는데 전혀 지장이 없다.

하지만..포토샵을 능숙하게 다룬다면.. 좋은 부분도 있는것 같다.

서핑을 하다가 분명 한번쯤은 다들 보았을 것이다. 포샵 능력자분들의 대단함을..

근데 이 프로그램 상당히 비싼걸로 알고 있다. 그 비싼 프로그램의 모든 기능을 다 구현할 수는 없지만

온라인으로 무료로 작업을 할 수 있는 사이트를 소개한다. 

http://pixlr.com/editor/


오 멋지지 않나..근데 역시 아무리 비싸고 좋은 도구도 사용자의 능력에 따라 그 기능이 발휘

되는가 보다.. 난 솔직히 못 사용하겠다..아는게 뭔지.. 암튼 이걸로 간단하게..이미지에서

글자를 지워봤는데..잘된다.. 이 사이트의 놀라운 점...ㅠㅠ

나같이 영어 못하는 애들을 위해서..한국어 지원이 된다...ㅠㅠ

한...국...어..

대..박..

^ㅇ^

'IT > Information' 카테고리의 다른 글

온라인 포토샵  (0) 2010.04.30
파일구리 툴바 ?  (0) 2009.02.23
쿠키와 세션  (0) 2009.02.19
MS SQL 서버 신규 원격코드 실행 취약점 주의  (0) 2009.02.10
사이코패스 테스트  (0) 2009.02.05
구글 검색 Tip  (0) 2008.12.09

아는 사람의 소개로 파일구리란 프로그램을 사용하게 되었습니다.

근데 인터넷을 하다가 익스플로러 하단에 이상한게 설치 된것을 확인 하였습니다.

아래 프로그램은 분명 사용자 동의 없이 설치된 것 같은데.. 전 설치한 기억이…-_-; 분명히 없습니다..(없을 거에요 ㅠㅠ)

암튼 두가 방법으로 삭제가 가능합니다.

하나는 BHO 제거 프로그램으로 삭제 (  EMPAS 에서 배포하는 프로그램 같습니다. 이전에 웹검색을 통해서 받은거라 기억이 )

 

두번째 방법은 인터넷 익스플로러에서 삭제하는 방법

인터넷 옵션 > 프로그램 > 추가 관리기능 > 아래 목록을 사용 안함으로 하면 됩니다.

이후 목록 삭제를 위해 아래의 명령어를 실행하시면 됩니다.

 

근데 또 실행이 되더라구요.. 뭥밍~~ㅡ_ㅡ;

파일구리 업데이트 때문인것 같습니다… 확실한건 아니구요.. 암튼 파일구리 업데이트를 막아봤습니다.

어떻게 막죠…하다가 걍 소프트웨어제한 정책을 사용해봤습니다.

실행 > gpedit.msc

아래의 그림과 같인 소프트웨어 제한 정책에 

C:\Program Files\Freechal\Fileguri\Point\update.exe 를 추가 하면 됩니다.

잘되면 그만이고…안되면 다른 방법을…

 

그런데 이걸 쓰는 도중 파일구리를 소개해준 분에게 문의를 드렸더니 지우는 프로그램이 존재한다고 하네요..

 

뭐 … 세상이 그런거죠..ㅠㅠ

그 폴더에 있더군요 . remove.exe 란 플이… 좀 더 볼걸 뭐 한건지..

C:\Program Files\Freechal\Fileguri\Point\remove.exe를 실행하면 됩니다.

아에 폴더 자체가 사라 지더군요…

따라서 방법은 마지막 방법이 최곱!!! 乃 ㅠ,ㅠ

'IT > Information' 카테고리의 다른 글

온라인 포토샵  (0) 2010.04.30
파일구리 툴바 ?  (0) 2009.02.23
쿠키와 세션  (0) 2009.02.19
MS SQL 서버 신규 원격코드 실행 취약점 주의  (0) 2009.02.10
사이코패스 테스트  (0) 2009.02.05
구글 검색 Tip  (0) 2008.12.09

[자료 출처 ] : 네이버 오픈백과

쿠키(Cookie)란?

   쿠키는 지정된 내용을 고스란히 클라이언트(Client)측의 컴퓨터에 남겨놓아 필요시에 사용하는

   서버와의 연결고리로 쿠키라고 부르게 된 원인이 이처럼 클라이언트쪽에 과자 부스러기처럼 남아있다고

   해서 과자라는의미로 쿠키라고 부르게 되었다고 한다.

   그러나 보안에는 조금 결점이 있는데 그 이유가 추후에 사용하고자 하는 내용을 기록하게 되면

   그 내용이 고스란히 사용자의 컴퓨터(이하 클라이언트)에 남기때문이다.

   악성유저의 경우는 이를 악용하는 사례가 종종 생겨서 이방식만 있을땐 꽤 골치가 아팠었다..

   그래서 새롭게 나온 방식이 세션이라는 연결고리이며 병행하기도 한다.

세션(session)이란?

  세션은 쿠키(Cookie)와 다르게 지정한 정보들을 서버쪽에 남겨두고 세션정보만을 클라이언트(Client)쪽에

  남겨두어 보안성에서 조금더 나은 방식의 연결고리인것이다.

  세션과 쿠키의 차이점을 아래 그림으로 보면 이해가 빠를것이다.

   위 그림처럼 쿠키의 경우는 서버쪽에서 저장하고자 하는 데이터를 몽땅 클라이언트쪽에

   넘겨주어 저장하게 되며 필요시 저장된 데이터를 불러오는데 이때 클라이언트쪽에서

   서버쪽에 받았던 내용을 다시 전달시켜주게 됩니다..

   그렇게 되면 서버쪽에서 전달받은 내용을 가지고 여러가지 비교등을 하여 사용에 맞도록

   가공하여 사용하게되겠습니다..

  이와 반대로 세션은 서버쪽에 저장하고자 하는 데이터가 고스란히 저장되며

  저장된 세션의 고유키(구분할수 있는 문자등)만을 클라이언트쪽에 넘겨주어

  클라이언트쪽에서는 넘겨받은 값(세션의 고유키)만을 저장하게 됩니다..

  그리고 필요시에 클라이언트쪽에 세션의 고유키값을 가지고 있는 쿠키를

  불러오도록 요청하게 되는데 이때 클라이언트는 요청받은 쿠키의 내용을

  서버에 전달시켜줍니다..

  그렇게 되면 서버쪽에서는 이 값이 정상적인 값(고유키를 넘겨주었을때 전달된 내용들)인지를 확인하고

  해당 내용을 가지고 사용에 맞도록 가공하여 사용됩니다..

  위에 언급한 내용중 "고유키를 넘겨주었을때 전달된 내용들" 이라고 명시한 부분이 있는데

  여기서 말하는 내용들에는 몇가지 정보가 함축되어있습니다..

  세션을 생성시에 클라이언트쪽에 넘겨주는 내용에는 다음과 같은 내용들이 함께 전달됩니다..

  1. 본인의 세션을 구별할수 있는 고유의 키값

  2. 생성한 세션에 대한 아이디값

  3. 도메인주소

  4. 그외

세션과 쿠키는 어떻게 사용할까?

세션과 쿠키를 생성할때 공통점이 있습니다..

둘다 헤더가 시작하기 전에 사용해야 한다는 공통점이 있는데

여기서 헤더라는것은 세션이나 쿠키가 생성되기 전에 어떠한 내용이 그 앞에 존재한다면

그것이 헤더가 됩니다..

그러나 웹의 용어로 보면 헤더는 문서가 시작되는 첫머리가 되겠는데요..

이 용어에 대해서는 생략하기로 하구요

세션과 쿠키에서 의미하는 헤더는 자신들이 실행되기 전에 무언가가 출력되어있는 것에 대한

의미를 두고 있다는것을 인지하시면 됩니다..

쉽게 예제를 보면

ex)

echo "룰루랄라";

setcookie("test","하하하",0,"/);

라고 하면

  이것은 오류를 일으킵니다..

쿠키를 생성하기 전에 룰루랄라 라는 단어가 이미 출력이 되어있기때문에

오류를 일으키게 되는것입니다...

왜 오류를 일으킬까?

그 이유는 세션이나 쿠키는 자신의 일을 수행함에 있어 헤더를 수정하여 사용하기때문입니다..

수정하여 사용하여야 되는데 이미 어떤값이 출력된 상태이면 헤더가 이미 사용되었기때문에

수정이 불가능한 상태로 되버려서 수정할수가 없기때문에 오류가 생기는 거죠..

이때 발생되는 오류메세지는 아래와 같습니다..

Warning: Cannot modify header information - headers already sent by (output started at 경로/파일이름.php:라인번호) in /경로/파일이름.php on line 번호

해석하면 헤더에 정보를 수정할수 없다. 경로/파일이름.php의 라인번호에 있는 내용에 의해

이미 헤더는 전달되어져있다.

정도로 해석을 할수가 있겠네요..

그렇다면 쿠키와 세션은 어떻게 사용할까?

쿠키사용방법

쿠키는 setcookie() 라는 함수로 쿠키를 생성하거나 해제할수 있으며 $HTTP_COOKIE_VARS (구버전) 나 $_COOKIE (php 4.x 이후) 라는 예약변수를 이용해서 생성되어있는 쿠키내용을 가져올수 있습니다..

setcookie() 함수의 레퍼런스

setcookie("쿠키변수명",["내용",유지시간,"경로","도메인","보안여부","httponly"]);

쿠키변수명은 말 그대로 변수이름이며 추후 $_COOKIE["변수이름"]; 으로 호출할때 사용됩니다..

이 이후로는 옵션으로 사용하지 않아도 무방하지만 가능하면 경로까지는 설정하시는것이 좋습니다..

내용은 쿠키변수가 가지고 있을 데이터내용이며

유지시간은 이 쿠키를 얼마동안 유지시킬지를 설정하는 부분으로 기본값은 0이며 0은 브라우저가

닫히기 전까지를 의미합니다..

경로는 어느경로에서 작동할지를 설정하는것으로 "/" 로 설정시 해당 도메인의 모든 경로에서

작동될수 있습니다..

도메인은 이 쿠키를 어느 도메인에서 사용가능토록 할지를 설정하는 부분으로

설정시 이 쿠키는 설정된 도메인에서만 사용될수 있습니다..

보안여부는 https 를 이용한다면 True 로 설정하면 되며

httponly 는 http 프로토콜에서만 열람(사용)할수 있도록 할건지를 설정하는 부분으로 True 로 설정하면

http 프로토콜외엔 사용이 불가능해진다고 합니다...

본인은 경로까지만 사용하여 정확한 작동반응은 설명을 할수가 없겠네요..

쿠키를 파기(삭제 혹은 해제라고도 함)시키는 방법은 setcookie("쿠키변수명","",-1 혹은 설정한 시간만큼 빼주면 됨,"사용한 경로","도메인"...);

으로 파기시킬수 있습니다..

세션은 어떻게 사용할까?

세션은 session_start(); 라는 함수를 호출후에 session_register() 라는 함수를 이용하여

생성할수 있습니다..

세션 파기하는 방법은 변수내용을 빈값으로 전달하거나

session_destroy() 함수를 이용해서 파기시킬수 있습니다..

session_register() 의 레퍼런스는

session_register("세션변수명");

으로 세션변수는 앞에서 지정하여야 합니다..

ex)

$test = "세션내용";

session_register("test");

가 되겠네요..

이에 앞서 어떠한 헤더를 사용하기 전에 session_start(); 를 먼저 호출하여야 정상적으로

생성하고 사용할수 있겠습니다...

'IT > Information' 카테고리의 다른 글

온라인 포토샵  (0) 2010.04.30
파일구리 툴바 ?  (0) 2009.02.23
쿠키와 세션  (0) 2009.02.19
MS SQL 서버 신규 원격코드 실행 취약점 주의  (0) 2009.02.10
사이코패스 테스트  (0) 2009.02.05
구글 검색 Tip  (0) 2008.12.09

Agent Ransack를 통한 로그 확인 방법.


Agent Ransack 는 리눅스의 grep 명령어처럼 출력된 결과물중 원하는 문자열을 기준으로 다시 출력하는 프로그램이라고 할 수 있습니다.
그냥 webknight 로그를 보면 @.@ 하기 때문에 좀 더 편한 방법을 찾는 것이고, 비슷한 프로그램은 많으며, 자신이 사용하기 편한 방법을
하는 것이 좋습니다.. 처음 webknight를 설정하고 작동 안되는 부분을 체크할때 매우 용이하다고 생각합니다.

프로그램은 검색사이트를 통하여 다운로드

프로그램 사용은 간단하며 읽어드릴 형식, 읽어드릴 장소, 필터링 명을 설정하면 한꺼번에 여러 로그를 확인 가능하다.
webknight는 필터링의 조건의 어긋나는 것은 BLOCKED로 표시가 되기 때문에 이를 확인하여, 설정에 어긋난 것인지 확인이
초기에는 필요하며, 정상적으로 운영되고 나서는 BLOCKED는 공격자의 공격행위로 유추할 수 있기 때문에 주의가 필요합니다.


이 부분은 필터링을 설정하는 부분으로서 가장 중요한 부분이라고 할 수 있습니다.
Weknight가 설치된 폴더에 config.exe를 실행후 webknight.xml 파일을 선택하면 설정을 할 수 있는 화면이 나타납니다.
아래 항목은 Webknight 2.2의 항목들중 일부를 설명한 것입니다. 웹사이트에 따라 설정이 달라 질 수 있기 때문에 해당 항목은 참고만 하시고
자신의 웹사이트에 알맞게 적용하시길 바랍니다. 설정에 따라서 서버의 성능이 저하 될 수 있기 때문에 꼭 테스트 후에 실서버에 진행을 해주시길
바랍니다. ( 정확한 설명이 아니니 너무 믿지는 말자...ㅋㅋ )

-  Scanning Engine

 http(80port)/https(443port)에 대한 모니터링을 설정하는 부분

n  Allow Late Scanning  : webknight에 우선권을 낮게하여 동작시킴

n  Scan Non Secure Port : 80port scan

n  Scan Secure Port : 443 port scan
(SSL 인증서를 가지고 있는  
홈페이지의 경우는 이를 설정해주어 함)

n  Use Exclude Web Instances : 자체적인 ISAPI필터를 가지고 있는 webinstance 제외
default check )

n  Use Exclude IP Addresses : IP 제한하기
(
유해 IP는 방화벽 or 스위치단에서 제어를 하는 것이 서버의 부하를 줄일 수 있습니다. )

-  Incident Response Handing

 악의 적인 공격에 대한 webknight의 행동에 대한 결정을 하는 부분  
기본적으로는 webknight에서 제공하는 default페이지를 나타나게 하였으나, 이는 공격자로 하여금 해당 웹서버가 webknight로 구성이 되어 있음을 알려주는 정보의 페이지가 될 수 있기 때문에 적절하게 변경 ( webknight도 취약점이 존재하겠죠...)

n  Response Directly : client가 공격시 대처 메시지를 보냄

n  Response Redirect : 대처 메시지 페이지를 선택
(
공격시 webkinght 기본 deny 페이지 로딩시 공격자는 webknight 를 사용한다는 것을 확인하고 이에 대한 취약점 공격이 우려 됨 따라서 기본 페이지로 redirection 시키거나 오류페이지를 생성 )

n  Use Response Status : 공격시 나타낼 메시지

n  Response Drop Connection 공격에 검출된 keep-alive된 커넥션을 제거

n  Response Monitor IP : time-out 기간을(정해진 값) 확인하여 모니터링

n  Response Block IP :  time-out 기간에(정해진 값) 따른 IP블럭

n  Response Log Only : 공격시 막지않고 로그만 쌓기

-  Logging

 Webknight에 의해 필터링 되는 로그에 대한 설정을 하는 부분                            
IIS
에서 생성되는 로그는 문제가 발생이 되었을 때 그 시점과 해당 내용을 찾는데 많은 시간이 소요되면 현실적으로 불가능 할 가능성이 많다.( IIS로그 분석툴을 사용하지 않고 사람이 수작업을 할 경우) 따라서 webknight에서는 특정 상황에 대한 로그를 기록할 수 있도록 설정이 가능하다


 IIS6.0이 설치된 서버에서 정상적으로 로그를 남기기 위해서는 설정을 해주어야 할 부분이 있다  
per process logging mode
on
( IIS6.0은 하나의 프로세스에서 웹이 구동되는 것이 아니라 다른 프로세스가 생성 종료되기 때문에 이러한 설정이 필요한것 같다.)
ㅁ 로그폴더에 network service 계정을 추가하고 쓰기 권한을 할당

n  Enabled : 로깅 기능 활성화

n  Use GMT : 시간대 GMT 사용

n  Per Process Logging : 프로세스별 로깅 기능 IIS6버젼 On
(
단일 web service만 이용한다면 이 기능이 필요없을 것 같다. 오히려 프로세스별로 생겨서 로그를 확인하기 힘들다. 이 부분은 다시 확인이 필요함 )

n  Log Client IP: 로그에 사용자 IP 남기기

n  Log User Name : 로그에 사용자 이름 남기기

n  Log Allowed : 차단된 응답들의 로그를 남기는 것 ( 시스템 성능 저하 )

n  Log HTTP VIA : 프록시 사용자의 원래 요청의 단서를 가진 ‘Via:’ 헤더를 기록

n  Log HTTP X FORWARDED FOR : 프록시 단서를 찾기 위해 ‘X Forwarded For’ 헤더기록

n  Log Host Header : Host Header 로그

n  Log User Agent : 사용자 agent기록 ( 공격툴을 알수 있다. )

n  Log HTTP Client Errors : 4xx에러 기록

n  Log HTTP Server Errors : 5xx 에러 기록

IIS에서의 로그 기록 WebKnight의 로그 기록 이 두부분을 모드 확인할 경우 위와 같이 설정하면 된다. 하지만 WebKnight를 통해서 모든 로그를 확인할 경우는 위의 체크사항에 전부 체크를 해 주면 된다.

-  Connection

 IP의 모니터링 및 IP의 블록등을 담당하는 부분
해당 부분은 상위 방화벽 단에 모두 체크가 되는 사항이기 때문에 webknight에서 설정을 할 필요는 없다고 생각을 한다. 이 부분의 체크로 인하여 웹 서비스의 성능 저하가 나타 날 수도 있다.

이부분은 설정한 사항이 없다. 모니터링 및 블록은 다른 장비 및 툴을 이용하는 것이 좋을 것 같다.

-  Authentication

 인증부분에 대한 설정을 담당하는 부분.
악의 적인 로그인 공격에 대한 필터링을 담당하는 부분으로, 활용도 측면에서는 높지만 성능적 측면에서 웹 서비스에 지장을 줄 수 있기 때문에 관리자의 적절한 판단이 요구된다
.
 
이 부분은 차라리 IIS에서 익명연결만 체크하고 소스단에서 로그인 시 반복입력의 제한, 아이디 비밀번호의 복잡성 준수 및 동일 사용에 대한 금지, 몇회 입력 실패시 로그인 잠금 처리등 소스단에서 처리하는 것이 서버의 성능향상에 도움이 된다.

n  Scan Authentication Exclude Web Instances :

n  Deny Blank Passwords : 공백입력시 차단

n  Deny Same Password As Username : 계정과 비빌번호가 동일할 경우 차단

n  Use Denied Default Passwords : 기본적인 계정 차단 ( 사용자 입력 가능 )

n  Deny System Accounts : 시스템의 영향을 미칠 수 있는 중요한 계정에 대한 인증 차단

n  Use Deny Account Brute Force Attack : 무작위 대입 차단

n  Use Allowed Accounts : 허가된 계정 설정 ( 사용자 입력 가능 )

n  Use Denied Accounts : 비허가된 계정 설정 ( 사용자 입력 가능 )

n  Scan Account All Events : 다른 ISAPI 이벤에 사용되는 계정들을 스캔

-  Request Limits

n   Request로 오는 패킷에 대한 제한을 담당하는 부분
Limit Content Length :
헤더의 Content-Length의 값을 제한

n  Limit URL : URL 전체 길이에 대한 제한

n  Limit Querystring : URL에서 ? 다음의 querystring 길이에 대한 제한

n  Limit HTTP Version : HTTP version 1.1에 명시된 최대값에 대한 제한

n  Use Allowed HTTP Versions : 명시된 HTTP 버전만 허용

n  Use Max Headers : 헤더의 길이가 특정값으로 제한 된 헤더들의 길이 제한

-  URL Scanning

  URL에 대한 필터링을 담당하는 부분.
RFC
규약은 보통 외국 사이트를 기준으로 만들어진 것으로서 국내 개발자들이 이와 같은 사항을 지키면서 사이트를 만드는 경우는 드물기 때문에, 사이트 접속에 장애가 올 수 있다. 확실한 확인 후 사용하면 좋을 것이다.

n  RFC Compliant Url : Url RFC규약에 따르는지 Check

n  RFC Compliant HTTP Url : HTTP Url RFC규약에 따르는지 Check

n  Use Url Raw Scan : 웹서가 URL을 디코딩하기 전 기본적인 스캔 및 로우스캔 실시

n  Deny Url Encoding Exploits : Url에서 인코딩 공격을 허용하지 않음

n  Deny Url Parent Path : 상위경로(..)로 이동하는 것을 방지

n  Deny Url Trailing Dot In Dir :[./]가 포함된 요청을 차단

n  Deny Url Backslash : [\]가 포함된 요청을 차단

n  Deny Url Altermate Stream : [:]가 포함된 요청을 차단

n  Deny Url Escaping : Url디코딩 후 [%]이 포함된 요청을 차단

n  Deny Url Running Mutiple CGI : Url [&]가 포함된 요청을 차단. 이는 다중 CGI 어플리케이션에서 사용될 수 있다.

n  Deny Url HighBitShellcode : high bit shellcode ( ascii > 127 )을 허용하지 않는다. 이건 US-ASCII을 사용하는 곳에 적합 즉 영문 웹사이트가 아니면 필요없다.

n  Use Denied Url Sequences : 명시된 시퀀스들이 포함되어 있으면 이를 차단

n  Use Allowed Url Starts : URL이 시작할 수 있는 허가된 시퀀스 문자 목록

-  Mapped Path

 경로를 제한하는 부분
webknight
는 기본적으로 경로를 제한하고 있기 때문에 기본설치 시 정상적인 웹 페이지도 webknight필터링에 막혀서 보이지 않게 된다. 따라서 자신의 웹 서비스가 구동되는 폴더의 정확한 위치를 입력하여 정상적인 웹 페이지를 로딩시켜야 한다. 또한 이 기능을 사용하지 않을 경우에는 웹 페이지 로딩 시 성능 저하가 일어나기 때문에 설정을 꼭 해주어야 한다.

n  Deny Parent Path : 상위경로[..]가 포함되면 차단

n  Deny Backspace : 경로에 [\]가 포함되면 차단

n  Deny Carriage Return : 경로에 carriage return 문자 [\r]가 포함되면 차단

n  Deny New Line : 경로에 newline 문자 [\n]가 포함되면 차단

n  Deny Escaping : 경로에 [%]가 포함되면 차단

n  Deny Dot In Path :경로에 [./]가 포함되면 차단

n  Use Allowed Paths : 허가되는 경로 목록

-  Requested File

 차단시킬 파일 목록과 허용할 파일 목록을 설정하는 부분
이부분 역시 소스단에서 제한 하는 것이 서버의 부하를 줄일 수 있다. 업로드가 페이지가 있는 곳에는 이러한 설정들이 꼭 필요하겠지만, 서버단의 부하를 주는 webknight보다는 소스에서의 차단이 유용하다. 하지만 전제는 확장자 우회 기능에 대한 점검이 꼭 필요하다.

n  Use Filename Raw Scan : 웹서버가 URL을 디코딩하기 전에 파일을 스캔

n  Deny Default Document : 기본적인 도큐먼트 요청을 차단 사용자는 특정 파일말 요청

n  Use Denied Files : 파일 제한 ( 사용자 입력 가능 )

n  Use Monitored Files : 파일을 정하고 그것이 변경상태에 대해 체크

n  Use Allowed Extensions : 허가된 요청 파일 ( 사용자 입력 가능 )

n  Use Denied Extensions : 명시된 파일 확장자 차단 ( 사용자 입력 가능 )

-  Robots

 웹사이트의 검색에 대한 제한을 설정하는 부분
 
웹사이트 성격에 따라 검색엔진에 의해 노출되는 것이 좋은 성격의 페이지들이 있다. 따라서 이부분은 역시 개발자와 상의 해서 개발자가 robots.txt을 사용하여 검색엔진을 차단을 하는지 아니면 검색 부분을 정하는지 파확을 한 후 설정을 하는 것이 좋을 것이다.

-  Headers

 서버의 헤더 정보의 변경부분에 대한 필터링과 특정 헤더등의 차단을 설정 하는 부분

n  Remove Server Header :  서버가 클라이언트로 전송하는 모든 응답에 포함된 [Srever: ] 헤더를 제거한다.

n  Change Server Header : 서버의 헤더를 제거하지 않고 변경한다. 우선권을 Remove Server Header에게 있고, 이를 사용할 것이라면 Remove Server Header를 체크해서는 안된다. (ex 자신의 사용하는 웹이 IIS 6.0인데 Apache로 변경 )

n  RFC Compliant Host Header : RFC규약에 위반되는 Host 헤더를 차단

n  Use Denied Headers : 제시된 헤더를 차단 ( 사용자 입력 가능 )

n  Deny Header SQL Injection : 헤더를 통한 SQL Injection 차단

n  Deny Header Encoding Exploits : 헤더를 통한 인코딩 공격을 차단

n  Deny Header Directory Traversal : 헤더에 상위 디렉토리 이동을 위한 값 차단

n  Deny Header High Bit Shellcode : 하이비트 쉘코드 차단. 영문사이트에 적용

n  Use Denied Header Squences : 헤더 명시된 sequences 문자가 나오면 차단 ( 사용자 입력 가능 )

-  Content Type

허용될 Content-Type을 결정할 문제이다. 관리자는 웹 개발자와 상의하여 개발자가 만든 웹의 허용되어 할 Content-Type에 대한 상의를 하고 이를 결정한다.

n  Use Allowe Conetenet Types : request content-type 헤더의 체크가 활성화 되었을 때 명시된 하목에 포함 되지 않는 content type을 제한

n  Use Deny Content Types : 제한되어야 할 Content-type 설정

-Cookie

 2008 9월경부터 유행하고 있는 최신 공격형태인 Mass SQL Injection의 한 종류로 Cookie단에 삽입하는 것을 방어하기 위해서 2.2버전부터 추가된 항목 이다.

n  Deny Cookie SQL Injection : [ cookie: ]헤더에 SQL Injection 차단

n  Deny Cookie Encoding Exploits : [ cookie: ]헤더에 인코딩 공격을 차단

n  Deny Cookie Directory Traversal : cookie를 통한 directory traversal 방지

n  Deny Cookie High Bit Shellcode : high bit shellcode(ascii >127) 차단  영문사이트에 적용

n  Use Denied Cookie Sequences  : 명시된 시퀀스가 들어오면 차단

-  Referrer

 Referrer값에 대한 차단
Referrer
부분에 올수 있는 값들에 대한 차단 사항이다. RFC규약을 따르는 부분이 많기 때문에 주 이 부분에 대한 사항은 체크를 풀어주고, 필요한 사항에 대한 검토가 필요하다. Reffer를 통한 공격부분에만 설정을 걸어둠

-  User Agent

User Agent에 대한 차단에 대한 설정
 
대부분의 사용자는 인터넷 웹서핑을 위한 브라우저로 인터넷 익스플로러, 파이어 폭스등을 사용한다. 하지만 특정 유저들은 delphi웹브라우저 (
www.bsalsa.com) 임베디드웹브라우저등을 사용할 수 있다. 이러한 사용자들이 있다면 default로 설정해 놓으면 이러한 유저들은 접속을 할 수 없다.

n  Deny User Agent Empty : User Agent가 비어있거나 나타나지 않으면 차단

n  Deny User Agent Non RFC : RFC규약에 따르지 않는 User Agent 차단

n  Use Dneide User Agents : 명시된 User Agent 항목을 차단

n  Use Dneide User Agent Sequeuces : User Agent에 명시된 시퀀스가 있으면 차단

-  Methods

 허용 차단 될 Method을 설정하는 부분.
이 부분은 보통 사용자가 사용하는 GET/POST/HEAD외에 Method값을 조작하여 인증우회 및 서버의 제한 사항에 대한 우회를 하는데 목적이 있다. 소스단에서 제어를 하고 있고, 또한 제어가 가능하다면 소스단에 하는 것이 좋을 것 같다
.

n  Use Allowed Verbs : 허용할 Method

n  Use Denied Verbs : 차단할 Method

-  Querystring

 특정 쿼리에 대한 스트링을 차단 하는 부분.

n  Use Querystring Raw Scan : raw scan을 이용하여 URL을 디코딩하기전 스캔

n  User Querystring SQL Injection : 쿼리스트링에 SQL injection을 차단

n  Deny Querystring Encoding Exploits : 쿼리스트링에 인코딩 공격을 차단

n  Deny Querystring Directory Traversal : 쿼리스트링에 디렉토리 이동을 차단

n  Deny Querystring Hight Bit Shellcode : 쿼리스트링에 High bit shellcode 차단

n  Use Denied Querystring Sequences : 쿼리스트링에 명시된 시퀀스가 오면 차단

-  Global Filter Capabilities

Global Filter의 적용 여부를 설정
특정 헤더 스트링등을 차단한다.

-  SQL Injection

 Injection공격에 대한 필터링을 담당하는 부분.

-  Web Applications

 웹 어플리케이션의 허용 유무를 담당하는 부분.

'IT > 공격과 방어' 카테고리의 다른 글

무선랜 사용시 주의할 점..  (0) 2010.05.03
Webknight - 04.로그 확인  (0) 2009.02.16
WebKnight - 03. 설정  (1) 2009.02.16
WebKnight - 02. 설치 확인  (0) 2009.02.10
USB를 통하여 전파되는 악성코드 피해 주의  (0) 2009.02.10
WebKnight - 01.설치하기  (0) 2009.02.10

Webknight가 정상적으로 설치가 되었다면 인터넷 정보 서비스관리 항목 중 웹사이트 등록정보의 ISAPI필터부분에 웹 나이트가 등록되어 있는 것을 확인 할 수 있습니다.

기본적으로 웹사이트 ISAPI부분의 적용을 하면 IIS를 재실행해야지만 webknight가 정상적으로 실행되는 화면을 확인 할 수 있습니다.

웹사이트 ISAPI필터에서 전체적으로 webknight을 적용하지 않고 특정 사이트에 webknight을 적용하기 위해서는 그 사이트의 등록정보를 클릭하고, ISAPI필터 항목에서 추가를 누르고 webknight.dll파일을 불러오면 됩니다.

만일 Webknight.dll파일을 등록 후 아래와 같이 적용이 되지 않는 화면이 뜨는데 이때는 적용을 누르고 등록정보를 재확인 하면 webknight가 적용된 화면을 확인 할 수 있습니다.

 

'IT > 공격과 방어' 카테고리의 다른 글

Webknight - 04.로그 확인  (0) 2009.02.16
WebKnight - 03. 설정  (1) 2009.02.16
WebKnight - 02. 설치 확인  (0) 2009.02.10
USB를 통하여 전파되는 악성코드 피해 주의  (0) 2009.02.10
WebKnight - 01.설치하기  (0) 2009.02.10
가짜 전자서명 인증서 주의  (0) 2009.02.10

USB mini-hub attached to 'ayeka'

자료 출처 : http://www.krcert.or.kr/secureNoticeView.do?num=308&seq=-1

이 넘의 USB를 통한 악성코드는 끊이지가 않는군요. 그건 아마도 일반 사용자의 보안 인식을 높이라는 해커님의 깊은 뜻이 아닐까 하는 생각이 듭니다.

위의 링크를 타고 내용을 읽어보시면 기본적인 조치 사항이 있습니다. 자동 실행 방지를 기본으로 예방 및 사용자의 주의 사항에 대해서 설명하며, USBGUARD라는 프로그램을 소개하고 있습니다. 이전부터 다운받으라고 광고하던 프로그램이죠.

어떤 기관인지 기억이…

만일 AD로 구성되어 있는 환경이라면 그룹정책을 통하여 사용자 컴퓨터를 일괄 적용하는 것도 좋은 방법이라고 생각합니다.

gpedit.msc 를 통하여 그룹정책 항목이 나오면

사용자 구성 > 관리 템플릿 > 시스템 > 자동 실행 사용 안함

부분에서 설정을 하여 일괄 적용하는 것이 좋다고 생각합니다.(레지스터리 수정 방법도 있구요. 네이버 형님과 구글 신에게 문의 )

또한 자신의 pc 다른 사람의 USB를 꼽을 경우 dir /ah 통하여 숨김파일을 확인하고 autorun.inf 파일도 읽어보는 것이 좋습니다.

 

 


뭐 설치야 설명할 필요도 없지만, 나에게는 스샷이 있다..아까워서 ㅋㅋ

webknihgt는 2.2 버전까지 발표되어 있습니다. 최신 버젼을 설치하는 것이 좋겠죠. 물론 테스트 후에..
(설치방법은 동일하지만 스샷은 2.1입니다.)

설치 방법은 간단합니다. 일반적인 프로그램을 설치하는 것처럼 설치를 하시면 됩니다. 해당 파일을 다운로드 하시고 WebKnight.Msi을 클릭합니다.

설치가 완료되면 정상적으로 설치가 되었다는 메시지가 뜹니다. 설치폴더는 default설치 시에는 해당 프로그램이 default로 설정된 폴더에 설치가 되고, 사용자지성 설치는 사용자가 지정한 폴더에 위치하게 됩니다. 로그 확인을 위해서 OS가 설치된 하드드라이브 외에 다른 논리/물리적 장소에 보관을 하는 것이 좋습니다.

'IT > 공격과 방어' 카테고리의 다른 글

WebKnight - 02. 설치 확인  (0) 2009.02.10
USB를 통하여 전파되는 악성코드 피해 주의  (0) 2009.02.10
WebKnight - 01.설치하기  (0) 2009.02.10
가짜 전자서명 인증서 주의  (0) 2009.02.10
홈페이지 보안 강화 도구(CASTLE)  (0) 2009.01.20
Tools~~~  (1) 2008.12.23