port 2 - Death
port 21 - Back Construction, Blade Runner, Doly Trojan, Fore, FTP trojan, Invisible FTP, Larva, MBT, Motiv, Net Administrator, Senna Spy FTP Server, WebEx, WinCrash
port 23 - Tiny Telnet Server, Truva Atl
port 25 - Aji, Antigen, Email Password Sender, Gip, Happy 99, I Love You, Kuang 2, Magic Horse, Moscow Email Trojan, Naebi, NewApt, ProMail trojan, Shtrilitz, Stealth, Tapiras, Terminator, WinPC, WinSpy
port 31 - Agent 31, Hackers Paradise, Masters Paradise
port 41 - DeepThroat
port 48 - DRAT
port 50 - DRAT
port 59 - DMSetup
port 79 - Firehotcker
port 80 - Back End, Executor, Hooker, RingZero
port 99 - Hidden Port
port 110 - ProMail trojan
port 113 - Invisible Identd Deamon, Kazimas
port 119 - Happy 99
port 121 - JammerKillah
port 123 - Net Controller
port 133 - Farnaz, port 146 - Infector
port 146 (UDP) - Infector
port 170 - A-trojan
port 421 - TCP Wrappers
port 456 - Hackers Paradise
port 531 - Rasmin
port 555 - Ini-Killer, NeTAdministrator, Phase Zero, Stealth Spy
port 606 - Secret Service
port 666 - Attack FTP, Back Construction, NokNok, Cain & Abel, Satanz Backdoor, ServeU, Shadow Phyre
port 667 - SniperNet
port 669 - DP Trojan
port 692 - GayOL
port 777 - Aim Spy
port 808 - WinHole
port 911 - Dark Shadow
port 999 - DeepThroat, WinSatan
port 1000 - Der Spacher 3
port 1001 - Der Spacher 3, Le Guardien, Silencer, WebEx
port 1010 - Doly Trojan
port 1011 - Doly Trojan
port 1012 - Doly Trojan
port 1015 - Doly Trojan
port 1016 - Doly Trojan
port 1020 - Vampire
port 1024 - NetSpy
port 1042 - Bla
port 1045 - Rasmin
port 1050 - MiniCommand
port 1080 - WinHole
port 1081 - WinHole
port 1082 - WinHole
port 1083 - WinHole
port 1090 - Xtreme
port 1095 - RAT
port 1097 - RAT
port 1098 - RAT
port 1099 - BFevolution, RAT
port 1170 - Psyber Stream Server, Streaming Audio trojan, Voice
port 1200 (UDP) - NoBackO
port 1201 (UDP) - NoBackO
port 1207 - SoftWAR
port 1212 - Kaos
port 1225 - Scarab
port 1234 - Ultors Trojan
port 1243 - BackDoor-G, SubSeven, SubSeven Apocalypse, Tiles
port 1245 - VooDoo Doll
port 1255 - Scarab
port 1256 - Project nEXT
port 1269 - Mavericks Matrix
port 1313 - NETrojan
port 1338 - Millenium Worm
port 1349 (UDP) - BO DLL
port 1492 - FTP99CMP
port 1509 - Psyber Streaming Server
port 1524 - Trinoo
port 1600 - Shivka-Burka
port 1777 - Scarab
port 1807 - SpySender
port 1966 - Fake FTP
port 1969 - OpC BO
port 1981 - Shockrave
port 1999 - BackDoor, TransScout
port 2000 - Der Spaeher 3, Insane Network, TransScout
port 2001 - Der Spaeher 3, TransScout, Trojan Cow
port 2002 - TransScout
port 2003 - TransScout
port 2004 - TransScout
port 2005 - TransScout
port 2023 - Ripper
port 2080 - WinHole
port 2115 - Bugs
port 2140 - Deep Throat, The Invasor
port 2155 - Illusion Mailer
port 2283 - HVL Rat5
port 2300 - Xplorer
port 2565 - Striker
port 2583 - WinCrash
port 2600 - Digital RootBeer
port 2716 - The Prayer
port 2773 - SubSeven
port 2801 - Phineas Phucker
port 3000 - Remote Shutdown
port 3024 - WinCrash
port 3128 - RingZero
port 3129 - Masters Paradise
port 3150 - Deep Throat, The Invasor
port 3456 - Teror Trojan
port 3459 - Eclipse 2000, Sanctuary
port 3700 - Portal of Doom
port 3791 - Eclypse
port 3801 (UDP) - Eclypse
port 4000 - Skydance
port 4092 - WinCrash
port 4242 - Virtual hacking Machine
port 4321 - BoBo
port 4444 - Prosiak, Swift remote
port 4567 - File Nail
port 4590 - ICQTrojan
port 5000 - Bubbel, Back Door Setup, Sockets de Troie
port 5001 - Back Door Setup, Sockets de Troie
port 5010 - Solo
port 5011 - One of the Last Trojans (OOTLT)
port 5031 - NetMetropolitan
port 5031 - NetMetropolitan
port 5321 - Firehotcker
port 5343 - wCrat
port 5400 - Blade Runner, Back Construction
port 5401 - Blade Runner, Back Construction
port 5402 - Blade Runner, Back Construction
port 5550 - Xtcp
port 5512 - Illusion Mailer
port 5555 - ServeMe
port 5556 - BO Facil
port 5557 - BO Facil
port 5569 - Robo-Hack
port 5637 - PC Crasher
port 5638 - PC Crasher
port 5742 - WinCrash
port 5882 (UDP) - Y3K RAT
port 5888 - Y3K RAT
port 6000 - The Thing
port 6006 - The Thing
port 6272 - Secret Service
port 6400 - The Thing
port 6667 - Schedule Agent
port 6669 - Host Control, Vampyre
port 6670 - DeepThroat, BackWeb Server, WinNuke eXtreame
port 6711 - SubSeven
port 6712 - Funny Trojan, SubSeven
port 6713 - SubSeven
port 6723 - Mstream
port 6771 - DeepThroat
port 6776 - 2000 Cracks, BackDoor-G, SubSeven
port 6838 (UDP) - Mstream
port 6912 - Shit Heep (not port 69123!)
port 6939 - Indoctrination
port 6969 - GateCrasher, Priority, IRC 3, NetController
port 6970 - GateCrasher
port 7000 - Remote Grab, Kazimas, SubSeven
port 7001 - Freak88
port 7215 - SubSeven
port 7300 - NetMonitor
port 7301 - NetMonitor
port 7306 - NetMonitor
port 7307 - NetMonitor
port 7308 - NetMonitor
port 7424 - Host Control
port 7424 (UDP) - Host Control
port 7789 - Back Door Setup, ICKiller
port 7983 - Mstream
port 8080 - RingZero
port 8787 - Back Orifice 2000
port 8897 - HackOffice
port 8988 - BacHack
port 8989 - Rcon
port 9000 - Netministrator
port 9325 (UDP) - Mstream
port 9400 - InCommand
port 9872 - Portal of Doom
port 9873 - Portal of Doom
port 9874 - Portal of Doom
port 9875 - Portal of Doom
port 9876 - Cyber Attacker, RUX
port 9878 - TransScout
port 9989 - iNi-Killer
port 9999 - The Prayer
port 10067 (UDP) - Portal of Doom
port 10085 - Syphillis
port 10086 - Syphillis
port 10101 - BrainSpy
port 10167 (UDP) - Portal of Doom
port 10528 - Host Control
port 10520 - Acid Shivers
port 10607 - Coma
port 10666 (UDP) - Ambush
port 11000 - Senna Spy
port 11050 - Host Control
port 11051 - Host Control
port 11223 - Progenic trojan, Secret Agent
port 12076 - Gjamer
port 12223 - Hack´99 KeyLogger
port 12345 - GabanBus, My Pics, NetBus, Pie Bill Gates, Whack Job, X-bill
port 12346 - GabanBus, NetBus, X-bill
port 12349 - BioNet
port 12361 - Whack-a-mole
port 12362 - Whack-a-mole
port 12623 (UDP) - DUN Control
port 12624 - Buttman
port 12631 - WhackJob
port 12754 - Mstream
port 13000 - Senna Spy
port 13010 - Hacker Brazil
port 15092 - Host Control
port 15104 - Mstream
port 16660 - Stacheldracht
port 16484 - Mosucker
port 16772 - ICQ Revenge
port 16969 - Priority
port 17166 - Mosaic
port 17300 - Kuang2 The Virus
port 17777 - Nephron
port 18753 (UDP) - Shaft
port 19864 - ICQ Revenge
port 20001 - Millennium
port 20002 - AcidkoR
port 20034 - NetBus 2 Pro, NetRex, Whack Job
port 20203 - Chupacabra
port 20331 - Bla
port 20432 - Shaft
port 20432 (UDP) - Shaft
port 21544 - GirlFriend, Kidterror, Schwindler, WinSp00fer
port 22222 - Prosiak
port 23023 - Logged
port 23432 - Asylum
port 23456 - Evil FTP, Ugly FTP, Whack Job
port 23476 - Donald Dick
port 23476 (UDP) - Donald Dick
port 23477 - Donald Dick
port 26274 (UDP) - Delta Source
port 26681 - Spy Voice
port 27374 - SubSeven
port 27444 (UDP) - Trinoo
port 27573 - SubSeven
port 27665 - Trinoo
port 29104 - Host Control
port 29891 (UDP) - The Unexplained
port 30001 - TerrOr32
port 30029 - AOL Trojan
port 30100 - NetSphere
port 30101 - NetSphere
port 30102 - NetSphere
port 30103 - NetSphere
port 30103 (UDP) - NetSphere
port 30133 - NetSphere
port 30303 - Sockets de Troie
port 30947 - Intruse
port 30999 - Kuang2
port 31335 (UDP) - Trinoo
port 31336 - Bo Whack, ButtFunnel
port 31337 - Baron Night, BO client, BO2, Bo Facil
port 31337 (UDP) - BackFire, Back Orifice, DeepBO, Freak>
port 31338 - NetSpy DK, ButtFunnel
port 31338 (UDP) - Back Orifice, DeepBO
port 31339 - NetSpy DK
port 31666 - BOWhack
port 31785 - Hack´a´Tack
port 31787 - Hack´a´Tack
port 31788 - Hack´a´Tack
port 31789 (UDP) - Hack´a´Tack
port 31791 (UDP) - Hack´a´Tack
port 31792 - Hack´a´Tack
port 32100 - Peanut Brittle, Project nEXT
port 32418 - Acid Battery
port 33333 - Blakharaz, Prosiak
port 33577 - PsychWard
port 33777 - PsychWard
port 33911 - Spirit 2001a
port 34324 - BigGluck, TN
port 34555 (UDP) - Trinoo (Windows)
port 35555 (UDP) - Trinoo (Windows)
port 37651 - YAT
port 40412 - The Spy
port 40421 - Agent 40421, Masters Paradise
port 40422 - Masters Paradise
port 40423 - Masters Paradise
port 40426 - Masters Paradise
port 41666 - Remote Boot
port 41666 (UDP) - Remote Boot
port 44444 - Prosiak
port 47262 (UDP) - Delta Source
port 50505 - Sockets de Troie
port 50766 - Fore, Schwindler
port 51996 - Cafeini
port 52317 - Acid Battery 2000
port 53001 - Remote Windows Shutdown
port 54283 - SubSeven
port 54320 - Back Orifice 2000
port 54321 - School Bus
port 54321 (UDP) - Back Orifice 2000
port 57341 - NetRaider
port 58339 - ButtFunnel
port 60000 - Deep Throat
port 60068 - Xzip 6000068
port 60411 - Connection
port 61348 - Bunker-Hill
port 61466 - Telecommando
port 61603 - Bunker-Hill
port 63485 - Bunker-Hill
port 65000 - Devil, Stacheldracht
port 65432 - The Traitor
port 65432 (UDP) - The Traitor
port 65535 - RC

Name
Port
CYN
113
Net Taxi
142
Backage
334
BAL
666
Back constrution
666
Undetected
777
Vampire
1020
internal revise
1064
subseven
1074
subseven 1.9
1243
subseven 1.0
1243
Frenzy
1257
Remote Hack
1480
TMC presents
1999
SheepGoat
2003
dagger
2589
Wartojan
4201
CrAcKDoWn
4444
Net Metropolitan
5031
backage 3.0.1
5333
wincrash
5742
y3k rat 1.6
5802
y3k rat
5802
Y3k rat
5880
Deep throat
6000
Matrix
7778
ReVeNgEr
7891
Netministrator Client
9000
incommand
9400
incommand
9400
AMBUSH
10666
net bus
12345
Net bus
12345
bionet
12349
bionet 0.8
12349
bionet 2.1.1
12349
NetDemon
15000
subzero
15382
crazzynet by CrazzWak
17499
crazzynet by CrazzWak
17499
Millenium
20001
Girl Friend
21554
kid terror
21554
Net Tarsh
23005
sub7bonus
27374
infector by fc
30000
error32
30001
Netsphere
30100
intruse by chams
30947
Deep Bo
31337
ACID BATTERY
32418
Acropolis
32791
Prosiak
44444
Delta Source
47269
School bus
54321


'Security' 카테고리의 다른 글

모의해킹 시나리오 정리  (0) 2017.01.08
해킹툴이 사용하는 포트  (0) 2017.01.08
웹 사이트 보안 및 DoS(Denial-of-Service) 공격 방지  (0) 2017.01.08
암호화 모드  (0) 2017.01.08
방화벽 내용 정리  (0) 2017.01.08

오픈릴레이 테스트 

명령 프롬프트 창에서 

telnet x.x.x.x 25 번으로 접속을 하면

220 test3.xxxnet.co.kr ESMTP Sendmail 8.12.8/8.12.8; Tue, 7 Sep 2004 19:09:4
7 +0900

위의 메세지가 뜬다면
다음 명령 실행을 한다.

helo
mail from: test@test.com
rcpt to: administrator@xxxnet.co.kr

205 2.1.0 administrator@xxxnet.co.kr

rcpt to: admin@xxx.com
unable to relay 

위의 메세지가 나오면 

오픈릴레이가 아니라는 것입니다.

'Server' 카테고리의 다른 글

umask란?  (0) 2017.01.08
Linux 사용자 계정  (0) 2017.01.08
실제예(passwd명령어)로 SetUID, SetGID 이해하기  (0) 2017.01.08
iptables  (0) 2017.01.08
아파치 인증창 띄우기  (0) 2017.01.07

성공적인 공공 웹 사이트가 되려면 사이트로의 액세스를 장려하는 동시에 바람직하지 못한 또는 치명적인 트래픽을 제거하고 사이트의 성능이나 확장성을 제한하지 않으면서 필요한 수준의 보안을 충분히 제공해야 합니다.

DoS(denial-of-service) 공격으로 인한 서비스 중단은 포털, 전자 상거래 사이트 등 웹 중심의 기업에게는 그야말로 "죽음의 키스(kiss of death)"입니다. 1999년 실시한 컴퓨터 범죄 및 보안 상태 조사(Computer Crime and Security Survey)에 의하면 외부인에 의한 침입을 보고한 응답자의 비율이 30%로, 외부인에 의한 시스템 침입이 3년 연속 증가한 것으로 나타났습니다. 인터넷 연결을 빈번한 공격 지점으로 보고한 사람들의 비율은 1996년 전체 응답자의 37%에서 1999년 57%로 3년간 줄곧 상승세를 보였습니다.

대부분의 웹 사이트의 경우 DoS 공격을 방지하는 것이 중요합니다. 특히 이러한 공격은 정상적인 웹 트래픽처럼 보이도록 하는 방법을 이용하여 웹 사이트 작동을 중단시키기 때문에 이미 손을 쓸 수 없는 상황에서야 이를 알게 됩니다. 웹 사이트 관리자는 기본적으로 IP 라우터에서 패킷 필터링 기능을 사용하여 액세스를 제어해 왔지만, 이 경우 라우터 성능이 지나칠 정도로 저하될 수 있으며 일반적인 유형의 많은 DoS 공격을 제거하지 못합니다.

기존의 방화벽은 NAT(Network Address Translation)를 사용하고, 특정 TCP 포트를 사용하는 트래픽을 제한하여 DoS를 방지하고, 특정 네트워크 주소로부터 수신되는 트래픽을 제한하거나 트래픽을 스캐닝하여 바이러스나 바람직하지 않은 애플리케이션이 있는지 확인하는 등 IP 주소의 경계 역할을 할 수 있습니다. 그러나 이런 솔루션은 시스템에 대한 액세스 방지라는, 오늘날의 웹에는 맞지 않는 개념을 바탕으로 설계되었습니다. 뿐만 아니라 기존의 방화벽은 트래픽 용량이 극도로 증가하는 오늘날의 웹 환경에 맞게 확장할 수 없습니다.

Cisco CSS 11000 시리즈 컨텐트 서비스 스위치는 확장성이나 성능을 손상시키지 않으면서 적절한 수준의 보안을 제공하도록 설계된 광범위한 웹 사이트 및 백엔드 시스템 보안 기능을 제공합니다. 여기에는 다음과 같은 보안 기능이 포함됩니다(그림 1 참조).

사이트 수준 보안


  • DoS 공격 방지 - 시스코 CSS 웹 스위치는 초기 플로우 셋업 시 모든 세션 플로우를 확인하여 시스코 CSS 웹 스위치의 성능에는 영향을 주지 않으면서 연결 기반의 모든 DoS 공격과 기타 시도된 치명적 또는 비정상적 연결을 제거합니다. 
  • FlowWall 보안 - 시스코 CSS 웹 스위치는 IP 주소, TCP 포트, 호스트 태그, 전체 URL 또는 파일 유형별로 특정 컨텐트 요청을 차단하는 고속 ACL(Access Control List)을 포함하여 방화벽 서비스를 제공합니다. 
  • NAT(Network Address Translation) - 시스코 CSS 웹 스위치에서 유선 속도의 NAT 기능은 웹 서버, 캐시 등 웹 스위치 뒤에 위치한 모든 장치의 IP 주소를 숨겨 해커가 명시적 IP 주소를 사용하여 서버를 직접 공격하지 못하도록 합니다. 
    백엔드 시스템에 대한 보안
  • 방화벽 로드 밸런싱 - 인터넷 경로에서 또는 핵심적인 백엔드 시스템이나 네트워크를 보호하기 위해 완벽한 방화벽 보안이 필요한 경우 Cisco CSS 11000 시리즈 스위치는 병목현상을 방지할 수 있으며, 여러 개의 로드 밸런싱된 방화벽 간에 트래픽을 분산하여 단일 장애 지점을 제거할 수 있습니다. 

    그림 1:
     웹 사이트 보안 DoS 공격

     
  • DoS 공격 - 일반적으로 DoS 공격은 대상 웹 서버를 과부하 상태로 만들어 무력화시킬 목적으로 표준 프로토콜 또는 연결 프로세스를 악용합니다.
  • TCP SYN 쇄도 - 이 공격은 요청이 완료되지 않아도 반복적으로 TCP 연결 요청을 전송하여 대상 시스템이 자원을 모두 소모할 때까지 TCP 제어 블록을 할당하도록 합니다. 
  • "Smurf" 및 "fraggle" 공격 - 이 공격은 대상 서버의 원본 주소를 위조하여 다수의 ICMP(Internet Control Message Protocol) 에코(핑) 메시지를 IP 브로드캐스트 주소로 전송합니다. 해당 브로드캐스트 주소로 트래픽을 전달하는 라우팅 장치가 레이어 2 브로드캐스트 기능에 대해 IP 브로드캐스트를 수행하기 때문에 대부분의 네트워크 호스트는 각각 ICMP 에코 요청을 받아들여 에코 응답을 발행하게 되므로 응답 중인 호스트 수에 비례하여 트래픽이 증가합니다. Fraggle은 UDP(User Datagram Protocol) 에코 메시지를 사용한다는 점을 제외하곤 smurf와 유사합니다. 멀티액세스 브로드캐스트 네트워크에서는 잠재적으로 수백 대의 시스템이 각 패킷에 응답할 수 있습니다. 
  • UNIX 프로세스 테이블 DoS 공격 - 이 공격에서는 UNIX 서버로 개방형 연결 요청을 반복적으로 전송합니다. 모든 연결에 자동으로 응답하고 요청을 실행하도록 서브프로그램(Internet Daemon, Secure Shell Daemon, Internet Message Access Protocol Daemon 등)이 작성됩니다. 그러나 요청 없이 연결이 시작되는 경우 대부분의 디먼은 회선을 열어 둔 채로 동시에 600
  • 1500개의 작업을 처리할 수 있는 서버 프로세스 테이블의 자원을 사용합니다. 연결이 반복되면 프로세스 테이블이 금방 과부하 상태가 되어 서버가 작동을 멈출 수 있습니다. 
  • Finger of death - 이 공격은 핑거 요청을 특정 컴퓨터로 매분마다 전송하지만 결코 연결이 끊어지지 않습니다. 프로그램 장애로 연결을 종료하지 못하면 UNIX 서버 "프로세스 테이블"이 금방 과부하 상태가 되어 ISP(Internet Service Provider)의 서비스가 몇 시간 동안 중단될 수 있습니다. 

    Cisco CSS 11000 시리즈 스위치는 웹 스위치 자체에는 아무런 영향을 주지 않으면서 스위치 통과를 시도하는 악성 연결 요청은 물론 앞서 설명한 모든 DoS 공격을 제거합니다.

    모든 트래픽에 대한 일반 보호


    Cisco CSS 11000 시리즈 스위치는 다음 경우에 프레임을 폐기합니다.
  • 프레임 길이가 너무 짧은 경우
  • 프레임이 단편화된 경우 
  • 소스 IP 주소 = IP 수신지(LAND attack) 
  • 소스 주소 = 시스코 주소 또는 소스가 서브넷 브로드캐스트인 경우
  • 소스 주소가 유니캐스트 주소가 아닌 경우 
  • 소스 IP 주소가 루프백 주소인 경우
  • 수신 IP 주소가 루프백 주소인 경우
  • 수신 주소가 유효한 유니캐스트 또는 멀티캐스트 주소가 아닌 경우 

    레이어 4 및 5의 경우


    스위치에서 레이어 5 규칙을 사용하여 VIP[Virtual IP] 주소로 전달된 HTTP(Hypertext Transfer Protocol) 플로우의 경우, 웹 스위치는 플로우가 시작되고 16초 이내에 유효한 컨텐트 프레임을 수신해야 합니다. 그렇지 못할 경우 프레임을 폐기하고 플로우를 중단합니다. 웹 스위치가 유효한 컨텐트 프레임을 수신할 때까지 서버 연결은 이루어지지 않습니다. 따라서 Cisco CSS 11000 시리즈 스위치에 의해 종료된 TCP 상태 블록이 서버 프론트에 남게 될 위험은 없습니다.

    스위치에서 레이어 4 규칙을 사용하여 VIP로 전달된 TCP 플로우의 경우, 웹 스위치는 16초 이내에 3-way ACK 핸드쉐이크에 대해 리턴 ACK를 수신해야 합니다. 그렇지 못할 경우 해당 TCP 흐름을 중단합니다. 따라서 서버로 개방형 연결 요청을 반복
    적으로 시도하는 프로세스 테이블 DoS 공격이 제거됩니다.

    8번 이상 초기 SYN을 시도한 플로우의 경우에는 웹 스위치가 플로우를 없애고(kill) 초기 시퀀스 번호, 소스 및 수신 주소와 포트 쌍이 동일한 해당 소스에서 보낸 SYS를 더 이상 처리하지 않습니다. 따라서 SYN 쇄도 DoS 공격이 제거됩니다.

    NAT(Network Address Translation)


    NAT는 스위치 뒤에 위치한 모든 장치의 IP 주소를 숨겨 수천 개의 사설 IP 주소(10.xxx.xxx.xxx)를 무제한으로 사용하여 전세계적으로 고유하게 할당된 IP 주소를 토대로 하나 이상의 외부 VIP에 맵핑할 수 있도록 합니다. NAT는 기존의 할당된 IP 주소, 희귀 자원을 관리하는 데도 중요하며 네트워크가 확장됨에 따라 추가로 주소를 많이 획득하지 않아도 됩니다.

    NAT는 RFC 1631에 기술된 업계 표준 구현을 바탕으로 하지만 모든 포트에서 유선 속도로 완벽한 양방향 NAT를 제공할 수 있는 스위치는 Cisco CSS 11000 시리즈 스위치뿐입니다. 이 스위치는 소스 그룹 NAT도 지원하는데, 이 NAT는 서버에서 시작되어 다시 클라이언트로 이동하는 플로우(포트 기반 동적 FTP[File Transfer Protocol]) 또는 서버에서 시작되어 클라이언트 이외의 다른 위치로 이동하는 플로우에 NAT를 제공합니다. 따라서 사이트 성능을 저하시키지 않고 보안을 향상시킬 수 있습니다.

    FlowWall 보안


    신규 플로우가 감지됨과 동시에 ACL과 플로우 승인 제어를 비롯한 웹 스위치 방화벽 규칙이 호출됩니다. 모든 트래픽은 이러한 정책들이 플로우 설정의 일부로 검증된 후에 해당 플로우가 지속되는 동안 유선 속도로 스위칭됩니다. 시스코는 Cisco PIX Firewall에 필적하는 기능을 보다 빠른 속도로 제공하지만 모든 패킷을 검사하는 기존의 소프트웨어 기반 방화벽을 대체하지는 않습니다. 예를 들어, FlowWall은 인터넷에서는 일반적이지만 보안 엔터프라이즈 네트워크에서는 허용되지 않는 Java 및 Active-X 트래픽을 스캐닝하지 않습니다.

    몇 가지 중요한 일반 방화벽 규칙 외에 특정 도메인 이름이나 URL(Universal Resource Locator)에 대한 정책에 맞게 웹 스위치를 구성할 수도 있습니다. 실제로 Cisco CSS 11000 시리즈 스위치는 다음 중 일부 또는 모두에 일치하는 요청에 대해 액션(포함/우회/차단)을 지정하도록 ACL을 구성할 수 있습니다.
  • 소스 IP 주소
  • 수신 IP 주소
  • TCP 포트
  • 호스트 태그
  • URL
  • 파일 확장명

    "차단(blocking)" 규칙은 특정 컨텐트에 대한 요청이 원래 서버나 캐시로 이동하지 못하도록 합니다. PoP(Point of Presence) 또는 케이블 헤드엔드(headend)에 위치한 프론트 엔딩 캐시 서버인 스위치에서 이 기능을 사용하여 인터넷에서 특정 컨텐트에 대한 액세스를 차단할 수 있습니다.

    ACL을 통해 고급 투명 캐싱 정책을 사용할 수도 있는데 예를 들면 다음과 같습니다.
  • "포함" 규칙을 사용하여 특정 컨텐트에 대한 모든 요청을 캐시로 전달하고 그 밖의 요청에 대해서는 캐시를 우회하여 특정 고객 컨텐트 공급을 최적화할 수 있습니다. 

  • 우회 규칙을 사용하여 특정 컨텐트에 대한 모든 요청에 대해 캐시를 우회하고 그 밖의 요청은 캐시로 전달할 수 있습니다. 기술적, 법적, 철학적 이유로 트래픽을 캐싱하는 고객들이 있는데, 이 기능을 사용하면 특정 고객의 컨텐트 중 일부 또는 전부가 캐시로 전달되지 않도록 세밀하게 제어할 수 있습니다. 

    방화벽 로드 밸런싱


    Cisco CSS 11000 시리즈 스위치는 여러 개의 방화벽 간에 트래픽을 로드 밸런싱하여 성능 병목현상과 단일 장애점을 없애 웹 사이트, 백엔드 데이터베이스, 네트워크 또는 기타 자원에 대한 보안을 유지합니다.
    Cisco CSS 11000 시리즈 스위치는 로드 밸런싱이 이루어지고 있는 방화벽 앞, 뒤에 설치할 수 있습니다. 그림 2에서와 같이 방화벽 로드 밸런싱에 사용되지 않는 각 스위치에서 포트를 다른 용도로 구성할 수는 있지만 실제로 고유 스위치는 방화벽 양쪽에 설치됩니다.

    그림 2: 엔터프라이즈 방화벽 로드 밸런싱 예



    시스코 방화벽 로드 밸런싱은 고유 IP 주소를 갖고 있는 상태 저장(stateful) 방화벽 간에 트래픽을 분산하도록 설계되었습니다.

    그림 3: 로드 밸런싱된 방화벽 구성

     

    Cisco CSS 11000 시리즈 스위치는 한 쌍의 IP 주소 사이의 특정 웹 플로우에 대한 모든 트래픽이 어느 방향으로든 동일한 방화벽을 통과하도록 보장합니다. 그림 3에서와 같이 인접 방화벽 포트의 IP 주소(A), 원격 방화벽 포트의 IP 주소(B), 원격 웹 스위치 포트의 IP 주소(C)를 사용하여 각 스위치에서 정적 IP 경로를 구성하면 됩니다. 또한 로드 밸런싱된 방화벽 양쪽의 모든 포트는 서로 다른 IP 서브넷 주소를 활용하고 있습니다. 이 구성에서는 NAT를 수행하도록 방화벽을 구성할 수 없습니다. 모든 NAT 처리는 방화벽의 사설 네트워크 측에 있는 웹 스위치에서 수행됩니다.

    Cisco CSS 11000 시리즈 웹 스위치는 각각 상태 검사를 사용하여 경로의 각 단계가 응답하고 있는지 확인함으로써 방화벽을 통해 인접 방화벽 포트, 원격 방화벽 포트, 원격 웹 스위치 포트 등 경로를 보안합니다. 일부 경로를 사용할 수 없는 경우, 웹 스위치는 생존 경로를 통해 모든 트래픽을 다시 라우팅합니다. 경보를 전송하거나 이벤트를 기록하여 시스템 관리자에게 장애를 알리도록 Cisco CSS 11000 시리즈 스위치를 구성할 수 있습니다. 세션 상태 정보를 공유하고 실제로 서로 연결되도록 방화벽이 구성되어 있으면 경로나 방화벽에 장애가 발생한 경우에도 사용자 세션이 중단되지 않습니다.

    리던던시를 추가로 제공하기 위해 활성/비활성 구성으로 로드 밸런싱이 이루어지고 있는 방화벽 양쪽에 Cisco CSS 11000 시리즈 스위치를 여러 개 설치할 수 있습니다. 이렇게 하면 그림 4에서와 같이 방화벽과 웹 스위치 모두의 단일 장애점이 제거됩니다. 이 구성에서 비활성 웹 스위치는 활성 Cisco CSS 11000 시리즈 스위치의 상태를 모니터링하고 스위치나 업링크 장애를 감지함과 동시에 VRRP(Virtual Router Redundancy Protocol)를 사용하여 비활성 스위치 쌍으로 제어를 전송합니다.

    그림 4: 완벽한 이중 방화벽 로드 밸런싱 예

     

    결론


    Cisco CSS 11000 시리즈 스위치는 성능이나 확장성을 손상시키지 않고 모든 측면의 웹 사이트 보안을 위한 포괄적인 솔루션을 제공하도록 설계되었습니다. Cisco CSS 11000 시리즈 스위치는 정교한 DoS 공격을 제거할 수 있도록 내재된 지능을 각 웹 사이트별로 고객 보안 정책을 구성할 수 있는 유연성과 결합하여 실제 고객과 정당한 사용자가 사이트를 항상 사용할 수 있도록 보장합니다.

    // www.cisco.com/global/KR/products/pc/cnd/c11000/cswsc_wi.shtml

  • 'Security' 카테고리의 다른 글

    해킹툴이 사용하는 포트  (0) 2017.01.08
    잘 알려진 백도어에서 사용하는 포트  (0) 2017.01.08
    암호화 모드  (0) 2017.01.08
    방화벽 내용 정리  (0) 2017.01.08
    All in one 정리  (0) 2017.01.08

    /etc/passwd 파일은 여러 가지로 보안의 문제점을 가지고 있습니다. 패스워드를 변경하기 위해 사용하는 명령어인 passwd라는 명령어는 /bin/passwd에 명령어 형태로 존재합니다. 물론 이 명령어는 계정을 가지 사용자이면 누구나 사용가능합니다. 다음의 퍼미션을 확인해 보도록 하겠습니다.

     

    패스워드 보관파일

    [root@host /root]# ls -l /etc/passwd

    -rw-r--r--   1 root   root  1251 Nov 29 14:55 /etc/passwd

     

    패스워드변경 명령어

    [root@host /root]# ls -l /usr/bin/passwd

    -r-s--x--x  1 root  root  10704 Apr 15  1999 /usr/bin/passwd

     

    위의 예에서 알수 있듯이 계정사용자의 정보를 보관하고 있는 파일인 passwd파일은 거의 대부분 /etc/passwd에 존재하며, 이 파일의 퍼미션은 644입니다. 즉, 누구나 읽어 볼 수는 있습니다. 단 수정가능한 사용자는 이 파일의 소유자인 root만이 가능하지만, 흔히 계정을 가진 사용자라면 누구나 이파일에 있는 자신의 패스워드를 변경가능하지 않은가? 이상하지 않습니까?

    이것의 비밀은 setuid라는 것에 있습니다.

    setuid를 설명하기 전에 유닉스시스템에서 명령어가 실행되는 절차를 확인해 보겠습니다.

     

    2. 명령어 실행절차

    일반적으로 시스템사용자가 명령어를 실행시켰을 때 명령어를 찾아서 실행시키는 경로와 절차는 다음과 같습니다.

    1. 현재 작업디렉토리에서 찾음.
    2. $PATH에서 찾음
    3. 찾은후에 실행권한 체크
    4. 권한이 있다면 실행시킨 사용자의 UID로 실행
    5. 권한이없다면 이 파일이 Setuid bit가 있는가를 확인
    6. Setuid bit가 있다면 명령어 소유주의 UID(Effective UID)로 실행

     

    3. SetUID 파일 찾기

    일반적으로 시스템에서 SetUID로 실행가능한 명령어는 몇 개로 제한이 되어있습니다. 이미 설정되어있는 명령어외에 새롭게 생성된 SetUID파일(명령어)가 있나를 정기적으로 체크해보셔야합니다.

    다음과 같은 find 명령어로 SetUID파일을 찾아보시기 바랍니다.

    [root@host /root]# find / -user root -perm -4000 -print -xdev

    /bin/login
    /bin/su
    /bin/mount
    /bin/umount
    /bin/ping
    /sbin/pwdb_chkpwd
    /sbin/dump
    /sbin/restore

    그리고 /usr/bin/passwd라는 명령어의 퍼미션정보를 보면 s라는 것이 있습니다. 이것이 setuid bit입니다.

    일반사용자가 자기의 패스워드를 변경하기 위해 "passwd"라는 명령어를 사용했을 때는 s라는 퍼미션(SetUID 퍼미션) 때문에 root권한으로 실행이 되는 것입니다. 따라서 /etc/passwd파일이 root소유임에도 불구하고 일반사용자가 변경이 가능하게 되는 것입니다.

    그런데, 해커들은 바로 이런 SetUID퍼미션이 설정되어 있으면서 root소유로 되어있는 명령어들을 해킹에 이용하게되며 가장 대표적인 명령어가 passwd라는 명령어입니다.

    즉, 다시말씀드려서 passwd라는 명령어가 실행이 될 때 root 권한으로 /etc/passwd내용을 변경하게되는데 바로 이싯점에 즉 root권한으로 실행이 되고 있을 때에 정규적인 작업만을 하게하는 것이 아니라 자기가 목적하는 악의적인 작업까지 하게 만드는 것입니다.

     

    4. SetUID 파일 설정하기

    일반적으로 파일퍼미션은 "chmod 777 파일이름"등과 같이 숫자로 지정하는 것이 일반적입니다.

    하지만 SetUID를 지정할 때에는 이 3자리숫자앞에 SetUID퍼미션을 하나더 사용하면 됩니다.

    [root@hlxsvr /imsi]# ls -l
    -rw-r--r--  1 root   root        0 Oct 27 14:06 testfile

    [root@hlxsvr /imsi]# chmod 4755 testfile
    [root@hlxsvr /imsi]# ls -l
    -rwsr-xr-x    1 root     root            0 Oct 27 14:06 testfile*

     

    5. SetUID, SetGID, Sticky-bit

    SetUID설정을 할 때와 마찬가지로 퍼미션의 3자리숫자앞에 2또는 1을 함께입력하면 SetGID와 Sticky-bit을 설정할 수 있습니다.

    4000 : SetUID설정

    2000 : SetGID설정

    1000 : Sticky-bit설정

    참고로 Sticky-bit설정은 대부분 /tmp 디렉토리에 설정되어 있는데, 가장 흔한 용도는 공용디렉토리로 사용하기 위한 것입니다.  즉, Sticky-bit로 설정된 디렉토리는 모든 사용자가 write가능하며 write된 파일은 그 사용자의 소유되 됩니다. Sticky-bit 때문에 가능한 것이지요. 물론 삭제할 수 있는 권한또한 root와 해당사용자만이 가능합니다.

    따라서 사용자들에게 공용으로 사용될 디렉토리를 Sticky-bit로 설정해두면 이런 것들이 가능하게 됩니다.


    // cafe.naver.com/bestreal/170

    'Server' 카테고리의 다른 글

    Linux 사용자 계정  (0) 2017.01.08
    이메일 오픈릴레이 테스트  (0) 2017.01.08
    iptables  (0) 2017.01.08
    아파치 인증창 띄우기  (0) 2017.01.07
    CentOS/Apache SSL 설정  (0) 2017.01.06

    ◇ 암호 : 데이터를 암호화하고 복호화 한다. 그 종류에는..

    • 대칭 또는 개인키
      : 암호는 데이터를 암호화하고 복호화하기 위해 하나의 개인키를 사용.
        대칭키는 사람이 데이터를 암호화하고 복호화할 때, 하드디스크 파일 암호화 같은 애플리케이션에 유용.
       
    • 비대칭 또는 공개키
      : 암호는 한 쌍의 키를 사용.
        하나의 키는 공개되어 자유롭게 돌아다니고 다른 키는 비밀로 유지되어야 함.
        어느 하나의 키로 암호화된 데이터는 다른 키를 사용하여 복호화될 수 있음.
       
    • 하이브리드(hybrid)시스템
      : 대칭과 비대칭 암호를 결합하여 사용.
        하이브리드 시스템에서 비대칭 암호는 소위 개인키(비밀키 또는 세션키)를 교환하기 위해 사용.
        개인키는 데이터 암호화 및 복호화를 위해 대칭 암호화와 함께 사용.

     ◇ 스트림과 블록 암호(Stream & Block Cipher)

    • 블록암호 : 고정된 크기(64bit)의 데이터 블록을 암호화하고 복호화.
        블록 암호는 암호화와 복호화에 적용되는 키(key)가 동일하냐 또는 상이하냐에 따라서 대칭형 암호와 
        공개키 암호로 분류된다. 공개키 암호에서는 암호화를 위해서 공개된 공개키(public key)가 적용되지만
        복호화에는 공개키에 대응되는 개인키(private key)에 적용된다. 
       
    • 스트림암호 : 비트나 바이트의 스트림상에서 작동.
                             

     ◇ 블록 암호(Block Cipher)

    • 패딩(Padding)
       - 평문이 항상 블록 크기(일반적으로 64bit)의 배수가 되는 것은 아님.
       - 마지막 불완전한 블록을 보정하기 위하여, 패딩이 필요.
       - 복호화 과정에서 패딩을 제거하고 평문의 실제 길이를 저장.
       
    • PKCS#5
       - 일종의 패딩기법
       - 공개키 암호화 표준(Public-Key Cryptography Standard).
       - 블록의 나머지 부분을 바이트의 수로 채움.
       

      - 원래 평문의 길이가 블록 크기와 같다고 해도, 암호화될 때마다 패딩이 항상 추가

    • 기타 패딩 기법
      - 블록의 잉여 부분을 랜덤 데이터나 데이터의 패턴으로 채울 수 있다.
      - 패딩을 제거하기 위한 어떤 방법만 가지고 있으면 된다.
       
    • 암호 모드
      - 평문의 블록이 암호문의 블록으로 암호화되는 방법을 결정. 그 역도 성립.
      - getMode()를 호출함으로써 암호 모드를 알아낼 수 있음.
      - SunJCE 프로바이더는 ECB, CBC, CFB, OFB, PCBC 모드를 지원.

      1) ECB(Electronic Code Book)
          - 평문의 각 블록은 암호문의 블록으로 암호화함.
          - (단점) : 사용자가, 동일 키 사용시, 동일한 평문을 항상 동일한 암호문으로 암호화함.

      2) CBC(Cipher Block Chaining)
          - ECB모드의 단점을 보완.
          - 평문의 각 블록은 XOR을 이용하여 이전 블록의 암호문과 연산.
          - 평문의 첫 번째 블록에 대하여는 암호문으로 IV(Initialization Vector)가 사용.
          - IV는 랜덤 데이터, 데이터를 정확하게 복호화하기 위해 암호문을 동일한 IV로 초기화해야 함.
          - CBC 복호화는 암호화 과정의 반대.
          - 암호문의 각 블록이 복호화될 때마다, 이전의 암호문 블록과 XOR로 연산되고, 평문을 생성함.
          - 다시, 암호는 IV를 이용하여 초기화되어 계속 진행됨.
       

             
                 ※ IV(Initialization Vector) : 키의 한 종류.
                                                          암호화 측면에서, 암호는 키와 IV를 사용함으로써 초기화됨.
                                                          복호화가 끝날 때, 암호는 키와 동일한 IV로서 초기화됨.
                                                          IV는 암호문을 복호화하려는 누군가에게 전송되어야 함.

            3) PCBC(Propagating Cipher Block Chaining)
                - CBC모드와 상당히 유사.
                - 평문 블록이 암호화될 때, 이전의 평문 블록과 이전의 암호문 블록으로 동시에 XOR로 연산됨.
                - 복호화된 이전의 평문과 암호문 블록으로 XOR로 연산됨.

            4) CFB(Cipher FeedBack)
                 - 블록 암호가 스트림 암호처럼 동작.
                 - IV를 이용.
                 - 블록암호는 블록 크기보다 작은 데이터의 조각을 암호화할 수 있음.
                 - CFB8 : 동시에 한 바이트(8비트)를 암호화하거나 복호화하는 데 사용.

      『 암호화 (p→c) 
          ① 블록 암호를 이용하여 기본적 암호의 블록 크기만큼 버퍼를 암호화.
               초기에 버퍼는 IV로 채워진다.

           ② 암호화된 버퍼의 최좌단 비트 수와 평문은 XOR로 연산됨. 그 결과 암호문이 출력됨.
               암호화된 버퍼의 나머지는 폐기됨.
               CFB8에서, 암호화된 버퍼의 최좌단 바이트는 평문과 XOR 

           ③ CFB8에서, 버퍼는 한 바이트 왼쪽으로 이동.
                암호문은 버퍼의 오른쪽편에 있는 빈 공간을 채우는 데 사용된다.
                이 버퍼는 다음 암호화에서 다시 사용될 것이다.
                이 과정이 계속되면, 버퍼는 전부 암호문으로 채우는 데 사용될 것이다.

      『 복호화 (c→p) 
         ① 버퍼는 블록 암호를 이용하여 암호화한다. 
              암호문 바이트를 복호화할 지라도, 여전히 버퍼를 암호화 하기 위해 블록 암호를 이용한다.

          ② 암호화된 버퍼의 최좌단 비트는 평문 출력을 처리하는 암호문과 XOR로 연산된다.
               다시, 암호화된 버퍼의 나머지는 폐기된다.

          ③ 원래 버퍼는 왼쪽으로 이동하고, 암호문으로 채워진다. 
              이 버퍼는 다음 복호화에서 다시 사용될 것이다.

            5) OFB(Output FeedBack)
                 - 내부 버퍼가 갱신되는 것을 제외하고 CFB 모드처럼 동작.
                 - 내부 버퍼가 왼쪽으로 이동될 때, 오른쪽의 공간은 암호화된 버퍼의 가장 왼쪽 비트로 채워짐.

             6) 기타 모드
                 - 암호를 사용할 때, 사용할 모드는 암호분석가에 대한 암호의 저항력과 전송 오류로부터 
                    회복할 수 있는 능력에 대해 많은 영향을 미친다.

    'Security' 카테고리의 다른 글

    잘 알려진 백도어에서 사용하는 포트  (0) 2017.01.08
    웹 사이트 보안 및 DoS(Denial-of-Service) 공격 방지  (0) 2017.01.08
    방화벽 내용 정리  (0) 2017.01.08
    All in one 정리  (0) 2017.01.08
    Kerberos  (0) 2017.01.08

    1. 용어의 정리

    구성요소와 종류를 언급하기 전에 각 요소와 관련된 용어정의를 먼저 하고, 방화벽 구성요소에 대한 구분과 각각의 특징에 대해서 알아본다.  앞서서 중복되는 말이 하두 많이 나와서 이제는 지겨울지도 모른다.  하지만 반복숙달시키는 과정이라 생각하고 이해하시라.

    • 네트워크 정책(network policy) 
      방화벽 시스템의 설계, 설치, 사용에 직접적으로 영향을 줄 수 있는 두가지 레벨의 네트워크 정책이 있다. 하이레벨 정책은 명확한 이슈 즉, 제한된 네트워크 로부터 서비스를 허락할 것인가 또는 명확히 거부할 것인가를 정의하는 네트워크 액세스 정책이다. 이러한 서비스들을 어떻게 사용할 것인가, 그리고 이러한 정책 의 예외 조건등이 하이레벨 정책에 속한다. 로우레벨 정책은 어떻게 방화벽이 실질적으로 액세스를 제한하고 하이레벨 정책에서 정의한 서비스를 필터링 할 것인 가에 대한 사항이다.
    • 방화벽시스템의 사용자인증 시스템(advanced authentication) 
      방화벽시스템은 한 기관의 네트워크 전체를 보호해야 하므로 일반적으로 유닉스시스템에서 사용되는 단순한 패스워드 기법으로 사용자를 인증하는 방법을 사용하지는 않는다. 우수한 인증수단으로는 스마트 카드, 어탠디케이션 토큰 (authentication tokens), 바이오메트릭스(biometrics) 그리고 소프트웨어 메카니 즘 등을 사용한다. 현재 많이 사용하고 있는 우수한 인증시스템으로는 일회용패 스워드(one time passwd)시스템이 있다. 매번 사용자가 로그인을 시도할 때 마 다 매번 새로운 패스워드를 이용하는 것인데, 이는 침입자들이 최근 이용하고 있 는 스니퍼(sniffer)에 의한 패킷가로채기를 통해 시스템의 사용자id와 패스워드를 알아내서 침입하는 것을 근본적으로 막아주게 된다.
    • 패킷 필터링
      ip 패킷 필터링(packet filtering)은 통상 라우터 인터페이스를 지나는 패킷을 필터링을 하기 위해 설계된 패킷 필터링 라우터(packet filtering router)를 사용하여 행해진다. 패킷 필터링 라우터는 ip 패킷중 다음의 전부 또는 일부를 필터링 할 수 있다.
      - source ip address 
      - destination ip address 
      - tcp/ip source port 
      - tcp/ip destination port 
      모든 패킷 필터링 라우터가 소스 tcp/ip 포트를 필터링하지는 않는다. 그러 나 많은 제조회사들이 이러한 능력을 증가시키고 있다. 대부분은 아니지만 유닉 스 호스트도 패킷 필터링 기능을 제공한다.
    • 응용계층 게이트웨이(application level gateway) 
      응용계층서비스들은 중간전달(store-and-forward)방법을 쓰는 경우가 많은 데, 이는 게이트웨이에서 수행할 방법과 그대로 맞아떨어지게 된다.
      게이트웨이는 송신자 응용서비스가 보내는 각종 정보를 그대로 전달하면 되는 것이다. 이 게이 트웨이에서는 보안을 위한 특별한 서비스가 제공된다. 예를 들어 내부와 외부간 의 모든 응용수준의 트래픽에 대해 로그기록이나, 텔네트(telnet)나 ftp 등에서 사용자 인증을 할 경우 보다 우수한 방법을 사용한 변경된 인증방법을 이용한다 든가 하는 것이다. 이 응용계층의 게이트웨이 기능은 가상서버(proxy server)라는 인터네트의 클라이언트/서버 개념에서 나온 서버 기능을 제공하게 된다. 예를 들어 외부의 전자우편클라이언트가 내부의 어떤 호스트내 전자우편 서버와 접속 맺기를 원한다면 중간에 가상서버가 이를 받아 다시 내부의 서버에게 전달하는 방식이 된다.
    • 스크린 라우터(screen router) 
      어떤 기관이 인터네트에 접속할 경우 대부분 라우터(router)를 거친다. 이는 인터네트 패킷을 전달하고 경로배정(routing)을 담당하는 장비다. 
      라우터는 단순 장비가 아니라면 패킷의 헤더 내용을 보고 필터링(스크린)할 수 있는 능력을 가 지고 있다. 네트워크 수준의 ip(internet protocol) 데이터그램에서는 출발지 주소 및 목적지 주소에 의한 스크린, tcp(transmission control protocol) 수준의 패 킷에서는 네트워크응용을 판단케해주는 포트(port) 번호에 의해 스크린, 프로토 콜별 스크린 등의 기능을 제공하게 된다. 이 스크린 라우터만을 가지고도 어느 정도 수준의 보안 접근제어를 통해 방화벽시스템 환경을 구현할 수 있다. 그러나 라우터에서 구현된 펌웨어의 수준으로는 제한점이 많고 복잡한 정책을 구현하기 어려우므로 보통 스크린 라우터와 다음에서 설명하는 베스쳔 호스트를 함께 운영 한다.
    • 베스쳔 호스트 
      베스쳔 호스트(bastion hosts)는 방화벽시스템이 가지는 기능 중 가장 중요 한 기능을 제공하게 된다. 원래 베스쳔(bastion)은 중세 성곽의 가장 중요한 수비 부분을 의미하는데, 방화벽시스템 관리자가 중점 관리하게될 시스템이 된다. 그 래서 방화벽시스템의 중요 기능으로 접근 제어 및 응용시스템 게이트웨이로서 가 상서버(proxy server)의 설치, 인증, 로그 등을 담당하게 된다. 그러므로 호스트 는 외부의 침입자가 주로 노리는 시스템이 된다. 따라서 일반 사용자의 게정을 만들지 않고 해킹의 대상이 될 어떠한 조건도 두지 않는 가장 완벽한 시스템으로 서 운영되어야 한다. 보통 판매되는 방화벽시스템은 이러한 베스쳔호스트를 제공 하는 것이라고 보면 된다.
    • 이중 네트워크 호스트(dual-homed hosts) 
      복수네트워크호스트는 2개 이상의 네트워크에 동시에 접속된 호스트를 말하 며 보통 게이트웨이 호스트라고 말하는 시스템이 된다. 2개의 네트워크, 즉 외부 네트워크와 내부 네트워크를 의미하고 외부 네트워크와 내부 네트워크간의 유일 한 패스를 제공하도록 조정된다. 즉 동적인 경로 배정과 경로 정보전달을 배제하 므로 모든 내.외부 트래픽은 이 호스트를 통과하도록 하여 베스쳔호스트의 기능을 여기에 구현하면 되는 것이다.
    • 스크린 호스트 게이트웨이(screen host gateway) 
      스크린호스트게이트웨이 개념은 이 시스템을 내부 네트워크에 두어 스크린라 우터가 내부로 들어가는 모든 트래픽을 전부 스크린호스트에게만 전달되도록 하 겠다는 것이다. 또한 스크린라우터는 내부에서 외부로 가는 모든 트래픽에 대해 서도 스크린호스트에서 출발한 트래픽만 허용하고 나머지는 거부하게 된다. 그 래서 내부와 내부 네트워크사이의 경로는 '외부네트워크 - 스크린라우터 - 스크린호스트 - 내부네트워크' 이외의 경로는 결코 허용하지 않게된다. 이 스크린호 스트도 결국 베스쳔호스트, 이중네 트워크호스트의 개념이 집합된 시스템이다.
    • 스크린 서브네트 
      스크린 서브네트(screen subnet)는 일명 dmz(demiliterization zone)의 역할 을 외부 네트워크와 내부 네트워크 사이에 두겠다는 것으로 완충지역 개념의 서 브네트를 운영하는 것이다. 여기에 스크린 라우터를 이용하여 이 완충지역을 곧 장 통과 못하게 하지만 외부네트워크에서도 내부 네트워크에서도 이 스크린 서브 네트에 접근할 수는 있다. 어떤 기관에서 외부로 공개할 정보서버(information server), 즉 익명 ftp서버, 고퍼(gopher) 서버, 월드와이드웹(www)서버 등을 여기에 운영하면 된다.
    • 암호 장비 
      암호장비(encryption devices)는 어떤 기관의 네트워크가 공공의 인터네트를 통해 여러 지역으로 분산되어 있을 경우 적당하다. 본사 네트워크가 방화벽 시스 템을 구축하였을 때 지역적으로 떨어진 지점 네트워크도 본사 네트워크처럼 보호 되어야하는 것이다. 이 경우 본사와 지점 네트워크 간이 인터네트로 연결되었다 면 안전을 보장하기 어려우므로 두 지점사이를 암호장비를 이용하여 가상 사설링 크(vpl, virtual private link)로 만들어 운영하면 된다. 그러므로서 두개의 네트 워크는 하나의 안전한 네트워크로 만드는 것이다. 종단간 암호 방식은 데이터나 패스워드 등이 도청되는 것을 막는 방식을 원하는 사설백본(private backbone), 즉 여러 인터네트 접속점을 가진 기관에서 유용할 것이다.
    • Bastion Hosts 
      어떠한 공격에도 철저한 방어기능을 갖는 호스트이다. 방화벽은 이러한 기능을 갖는 베스쳔 호스트로 구성된다. 이러한 베스쳔 호스트를 만들기 위해서는 방화벽 관리자는 시스템에 다음과 같은 작업을 해야한다. 
      - 모든 일반사용자 계정을 삭제한다. 
      - 중요치 않은 파일과 명령은 가급적 지운다. 
      - 대용량의 모니터링 및 로그 기능을 가져야 한다. 
      - IP Forwarding기능, Source Routing 기능을 없앤다.
    • 프락시(proxy) 
      프락시는 클라이언트와 실제 서버사이에 존재하여 둘 사이의 프로토콜 및 데이터 relay 역할을 한다. 그래서 프락시를 전송자 또는 전달자(forwarder)라고 말하는 사람도 있다.  프락시 기능을 이용하는 방화벽은 어플리케이션 방화벽과 서킷게이트웨이 방화벽이 있다.  어플리케이션 방화벽은 각 서비스마다 관련 프락시가 존재한다. 서킷 게이트웨이 방화벽은 이와 달리 각 서비스에 모두 적용될 수 있는 일반적인 프락시가 존재한다.

      - 프락시의 동작과정 

    2. 구성요소

    • 패킷필터링 라우터
    • 베스쳔 호스트 
      - 패킷필터링 게이트웨이 
      - 어플리케이션 게이트웨이 
      - 서킷 게이트웨이 
      - 하이브리드 게이트웨이
    • 사용자 인증시스템
    • 암호화 장비

        앞서 언급한 방화벽의 정의에 따르면, 방화벽은 H/W 및 S/W로 구성된다고 하였다.
      H/W적인 측면의 방화벽은 크게 패킷필터링 라우터, 베스쳔 호스트, 사용자 인증시스템, 암호화 장비로 나눌 수 있겠다.
      패킷필터링 라우터는 TCP/IP 수준에서 접근제어 기능이 있는 라우터로서 스크린 라우터라는 용어로도 사용하고 있다.
      베스쳔 호스트는 완벽한 보안을 갖추고 있는 시스템으로서 이 시스템에 패킷필터링 기능을 부여한 패킷필터링 게이트웨이와 프락시 기능을 부여한 어플리케이션 게이트웨이, 서킷 게이트웨이, 각 기능들을 혼용한 하이브리드 게이트웨이가 존재한다. 패킷필터링 기능은 라우터와 베스쳔 호스트의 패킷필터링 게이트웨이와 중복되기 때문에 패킷필터링 게이트웨이 에 대한 설명은 패킷필터링 라우터에서 한다.
      사용자 인증시스템에는 일회용 패스워드 등 네트웍에 접근하기 위해서 사용자 인증을 하는 장비 및 소프트웨어가 존재하고, 암호화 장비는 네트웍간 데이터를 전송할 때 암호화하기 위한 장비 및 소프트웨어가 존재한다. 사실 사용자 인증시스템 및 네트웍 암호화 장비는 별도로 사용되기도 하지만 이러한 기능은 베스쳔 호스트에 추가되어 개발되고 있기 때문에 방화벽의 큰 분류는 패킷필터링 라우터와 베스쳔 호스트로 볼 수도 있다.

    (1) 패킷필터링 라우터

      패킷필터링 라우터는 OSI 모델에서 네트웍층(IP 프로토콜)과 전송층(TCP 프로토콜)층에서 패킷을 필터링하는 기능을 하면서 패킷에 대한 경로배정을 위한 자체 프로토콜을 사용한다. 베스쳔 호스트에도 OSI 모델의 전송층에서 수행되는 TCP 플래그를 기반으로한 필터링 기능을 부여하여 사용할 수 있는데 이러한 경우 패킷 필터링 게이트웨이라고 한다.

        1)기능

    Source/Destination IP Address를 이용한 호스트, 네트워크 접속 제어 
    TCP/UDP Ports를 이용한 응용서비스별 접속제어 
    TCP, UDP, ICMP 등 프로토콜별 접근제어 
    TCP Sync 비트를 이용한 최초접속제어 

        2) 장단점

    장점

    이 방화벽의 장점은 방화벽 기능이 OSI 7 모델에서 제 3, 4계층에서 처리되기 때문에 다른 방식에 비해 처리속도가 빠르며, 사용자에게 투명성을 제공한다. 또한 기존에 사용하고 있는 응용 서비스 및 새로운 서비스에 대해서 쉽게 연동할 수 있는 유연성이 있다.

    단점

    TCP/IP 프로토콜의 구조적인 문제 때문에 TCP/IP 패킷의 헤더는 쉽게 조작 가능하다. 따라서 외부침입자가 이러한 패킷의 정보를 조작한다면 내부시스템과 외부시스템이 직접 연결된다. 또한 ftp, mail에 바이러스가 감염된 파일 전송시 잠재적으로 위험한 Data에 대한 분석이 불가능하며 접속제어 규칙의 갯수 및 접속제어 규칙 순서에 따라 방화벽에 부하를 많이 줄 수 있다. 또한 다른 방식에 비해서 강력한 logging 및 사용자 인증 기능을 제공하지 않는다.

        3) 패킷필터링 관련 장비 및 제품

    대부분 Routers 
    Network-1 Firewall/Plus 
    Atlantic System Group internet Security Route 
    Sun SPF-100

    (2) 베스쳔 호스트(Bastion Host) - 어플리케이션 게이트웨이

        1) 기능

      어플리케이션 게이트웨이는 OSI 7계층 네트웍 모델에서 어플리케이션 계층상에 방화벽 기능이 들어있다. 이 게이트웨이는 각 서비스별로 Proxy Daemon이 있어 프락시게이트웨이 또는 응용게이트웨이라고도 언급한다.

      어플리케이션 게이트웨이는 각 서비스별 프락시를 이용하여 패킷필터링 방식처럼 IP 주소 및 TCP port를 이용하여 네트웍 접근제어를 할 수 있으며 추가적으로 사용자 인증 및 파일전송시 바이러스 검색기능과 같은 기타 부가적인 서비스를 지원한다.

      앞서 언급된 프락시는 클라이언트와 서버사이에 존재하여 그 접속을 관리하며 이미 접속된 연결에 대해서는 데이터 전달을 위한 전달자로서 기능을 한다. 따라서 클라이언트는 프락시를 통해서만 실제 서버로의 데이터를 주고받을 수 있다. 즉, 클라이언트와 서버간에 직접적인 연결을 허용하지 않는다.

      어플케이션 게이트웨이는 각 서비스마다 관련 프락시가 존재한다. 예를 들 면 telnet 서비스에 대해서는 telnet proxy, ftp 서비스에 대해서는 ftp proxy가 존재한다.

      서비스는 특성에 따라서 크게 interactive 서비스(예, telnet, ftp)와 none-interactive 서비스(예, http, nntp)로 구성할 수 있는데, 사용자가 어플리케이션 게이트웨이를 통해 내부 목적지 시스템에 접속 연결하고자 할 경우 서비스의 특성에 따라서 조금 차이는 있지만 일반적으로 아래와 같은 절차를 따르게 된다. 예를 들어 외부에 있는 사람이 내부의 시스템 으로 telnet 서비스를 이용하여 접속할 경우는 다음과 같다. 

      외부 사용자는 내부에 있는 서버로 접속을 위해서 먼저 어플리케이션 게이트웨이에 접방화벽 시스템과는 클라이언트 서버의 관계가 속을 요구한다. 이때 사용자 시스템과 된다.

      어플리케이션 게이트웨이는 사용자의 발신처 IP 주소를 확인하고, 접근규칙에 따라 허용여부를 결정한다.

      또한 어플리케이션 게이트웨이가 사용자 인증을 요구할 경우 사용자 인증과정을 거친다. 인증과정은 plain text형태의 패스워드를 사용하거나 일회용 패스 워드를 사용한다.

      만약 외부사용자가 어플리케이션 게이트웨이의 접속이 허용 되면, 프락시는 적용된 규칙에 따라 내부 호스트로 접속을 허용한다.

      프락시는 사용자 시스템과 실제 서버 사이에서 두 접속간에 데이터를 전송한다. 결국 외부의 사용자 시스템과 어플리케이션 게이트웨이와의 관계는 클라이언트와 서버관계 가 되고, 어플리 케이션 게이트웨이와 실제 서버와의 관계는 다시 클라이언트와 서버와의 관계를 유지한다.

      어플리케이션 게이트웨이는 접속거부 또는 허용에 대한 기록을 남긴다.

        2) 장단점

    장점

    내부 시스템과 외부 시스템간에 방화벽의 프락시를 통해서만 연결이 허용되고 직접 연결(IP Connection)은 허용되지 않기 때문에 외부에 대한 내부망의 완벽한 경계선 방어 및 내부의 IP 주소를 숨길 수 있다. 따라서, 패킷 필터링 기능의 방화벽보다 보안성이 뛰어나다. 다른 방화벽에 비해서 강력한 Logging 및 Audit 기능을 제공한다. S/Key, Secure ID 등 일회용 패스워드를 이용한 강력한 인증기능을 제공할 수 있다. 프락시의 특성인 프로토콜 및 데이터 전달기능을 이용하여 새로운 기능 추가가 용이하다.

    단점

    트래픽이 OSI 7계층에서 처리되기 때문에 다른 방식과 비교해서 방화벽의 성능이 떨어지며, 또한 일부 서비스에 대해서는 사용자에게 투명한 서비스를 제공하기 어렵다. 방화벽에서 새로운 서비스를 제공하기 위해서 새로운 프락시 데몬이 있어야 한다. 즉 새로운 서비스에 대한 유연성이 없다.

    (3) 베스쳔 호스트(Bastion Host) - Circuit Gateway

      서킷 게이트웨이는 OSI 네트웍 모델에서 5계층에서 7계층 사이에 존재하며 어플리케이션 게이트웨이와는 달리 각 서비스별로 프락시가 존재하는 것이 아니고, 어느 어플리케이션도 이용할 수 있는 일반적인 프락시가 존재한다. 방화벽을 통해서 내부 시스템으로 접속하기 위해서는 먼저 클라이언트측에 서킷 프락시를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하다. 따라서 수정된 클라이언트 프로그램이 설치되어있는 클라이언트만 circuit 형성이 가능하다.

    장점

    내부의 IP 주소를 숨길 수 있으며 수정된 클라이언트 프로그램이 설치된 사용자에게 투명한 서비스를 제공할 수 있다.

    단점

    방화벽에 접속을 위해서 서킷게이트웨이를 인식할 수 있는 수정된 클라이언트 프로그램이 필요하다.

    (4) Hybrid 방화벽

      여러 유형의 방화벽들을 경우에 따라 복합적으로 구성할 수 있는 방화벽이다. 이 방화벽은 서비스의 종류에 따라서 사용자의 편의성, 보안성 등을 고려하여 방화벽 기능을 선택적으로 부여할 수 있지만 서비스의 종류에 따라서 다양한 보안정책을 부여함으로써 구축 및 관리하는데 어려움이 따를 수 있다.

    방화벽 종류 및 각 특징 요약

    방화벽종류

    기 능

    장 점

    단 점

    패킷필터링 
    방화벽

    소스 및 목적지 IP주소와 port번호를 이용하여 제어한다.

    단순하며 처리속도가 빠르다.

    단순해서 사용자별로 제어 못함

    서킷게이트웨이 
    방화벽

    패킷 필터링와 비슷하지만 OSI의 다른 레벨에서 서킷을 만들어 동작한다.

    소스를 감출 수 있으며 단순하면서 사용자에게 투명성을 보장한다.

    각 클라이언트측의 프로그램을 수정해야한다.

    어플리케이션 
    방화벽

    소스를 감출 수 있으며 단순하면서 사용자에게 투명성을 보장한다.

    강력한 인증 및 부가적인 서비스제공

    투명성을 보장 못함

    하이브리드 
    방화벽

    위의 3가지 타입들을 경우에 따라 조합적으로 사용하는 것

    보안상 가장 효율적이고, 유연성있는 보안정책을 부여 가능

    구축의 어려움

    (5) 사용자 인증 시스템

      한 기관의 네트웍 보안을 위해서 일반적으로 UNIX 시스템에서 사용되는 plain text인 단순한 패스워드 기법으로 사용자를 인증하는 방법을 사용하지 않는다. 보다 우수한 인증시스템으로서 일회용 패스워드(one-time-password)를 보통 채택하고 있다. 즉 매번 사용자가 로그인을 시도할 때마다 매번 새로운 패스워드를 이용하는 것인데, 이는 침입자들이 이용하고 있는 sniffer(패킷 가로채기) 공격에 근본적으로 막아준다.

      일회용 패스워드 시스템의 동작은 Challenge-Response 개념으로 동작하는 데, 이를 보면,

    1. 사용자는 접속을 하려는 시스템으로 로그인을 시도한다.
    2. 시스템은 사용자에게 Challenge로서 난수(Random Number)를 보낸다.
    3. 사용자는 자신이 가지고 있는 마치 계산기처럼 작은 HHA(Hand Held Authenticator)로 Challenge와 자신의 ID를 입력한다.
    4. HAA는 시스템이 가지고 있는 동일한 알고리즘으로 일회용 패스워드를 반환한다.
    5. 사용자는 HHA가 반환한 일회용 패스워드로 시스템에 로그인한다.

    이것은 시스템과 HHA가 동일한 일회용 패스워드를 생성 알고리즘을 공유 하고 있으며, 매번 생성된 난수와 사용자 ID에 의해 매번 다른 패스워드를 생성하게 되는 것이다.

    (6) 암호화 장비

      암호화 장비는 어떤 기관의 네트웍이 공공의 인터넷을 통해 여러 지역으로 분산되어 있을 경우 적당하다. 즉 어떤 본사 네트웍이 방화벽 시스템을 구축하였을 때 지역적으로 떨어진 지점 네트웍도 본사 네트웍처럼 보호되어야 한다. 이 경우 본사와 지역 네트웍간에 인터넷으로 연결되었다면 안전을 보장하기 어려우므로 두 지점사이를 암호장비를 이용하여 가상사 설 네트웍(VPN : Virtual Private Network)을 만들어 운영하면 된다.

    3. 요구사항

    그렇다면 어떤 타입의 방화벽이 필요한 것일까? 불행히도 딱부러지게 어떤 타입의 방화벽이 필요하다고 말할 수 있는 정답은 없다. 보안과 서비스 제공과는 trade-off 관계에 있기 때문에 어느 면을 강조하는냐에 따라 달려있다.

    외부의 특정 몇몇 사용자의 접속을 허락하거나 또는 IP Spoofing과 같은 해킹 공격을 막기 위해서는 어플리케이션 게이트웨이 방화벽이 필요하다. 이러한 방화벽의 경우 보안성은 뛰어나지만 사용자에게 투명성을 제공하지 않고 방화벽의 처리능력이 다른 방식에 비해 낮은 것이 약점이 된다. 외부로부터 들어오는 트래픽은 모두 차단하고 내부의 믿을만한 사용자들 을 위해서는 서킷 게이트웨이나 또는 패킷필터링 방식의 방화벽이 필요하다. 결국 인터넷에서의 방화벽구축은 Hybrid 형태로 어떤 곳에서 오는 정보는 패킷 필터링으로 하고 어떤 곳에서 오는 트래픽은 어플리케이션 게이트웨이 방화벽을 사용하는 등 서비스 및 네트웍 특성에 맞게 패킷필 터링 방화벽, 서킷게이트웨이, 어플리케이션 게이트웨이 방화벽을 조합적으로 운영하는 것이 가장 효율적이다고 말할 수 있다.

    방화벽이 가져야할 중요한 요구사항은 보안성을 제공하면서 가능한 사용자에게 투명성이 있는 서비스를 제공해야하며, 방화벽 운영자가 운영하기에 편리한 GUI(Graphic User Interface)이다. 방화벽의 하층부위는 거의가 비슷하게 패킷을 잡고 이를 분석해서 자신이 원하는 보안정책의 조건과 비교하여 출입을 통제하고 보기에 좋으며 또한 Log로 남은 정보들을 좀더 지능적으로 처리해서 보여주느냐에 의해서 좋은 방화벽시스템과 별볼일 없는 것이 판가름나게 되는 것이다. 그 외에 좋은 방화벽이 되려면 아래와 같은 요건들을 충족시켜야 한다.

    ▷ 보안성이 뛰어나야 한다.
    ▷ 유연성이 뛰어나야 한다.
    ▷ 방화벽에 가능한 사용자 투명성을 보장해줘야 한다.
    ▷ 커다란 네트웍에도 적용 가능해야 한다.
    ▷ 운영자가 사용하기에 편리해야 한다.
    ▷ 편리하고 보기 좋은 GUI
    ▷ 정리된 Log 정보를 만들어야 한다.
    ▷ 다양한 억세스 콘트롤을 지원해야 한다.
    ▷ 모니터링이 가능해야 한다.
    ▷ 정보를 분류, 분석해 주는 기능이 있어야 한다.


    'Security' 카테고리의 다른 글

    웹 사이트 보안 및 DoS(Denial-of-Service) 공격 방지  (0) 2017.01.08
    암호화 모드  (0) 2017.01.08
    All in one 정리  (0) 2017.01.08
    Kerberos  (0) 2017.01.08
    DES/3DES/AES  (0) 2017.01.08

    [SSO]

    Scripting

    Kerberos

    Thin client(dumb terminal)

    Directory Services

     

    [접근통제모델]

    DAC(Discretionary Access Control) - ACL을 통해 이루어짐, 데이터 소유자가 누가 자원에 대한 접근을 가지는지 결정

    MAC(Mandatory Access Control) - Sensitivity labels에 기반

    RBAC(Role-based access control, nondiscretionary access control) - 거래액이 큰 회사들을 위한 최상의 시스템

     

    [접근통제기법과 기술]

    - 규칙기반 접근통제(Rule-Based Access Control)

    - 사용자 인터페이스 제한(Constrained User Interfaces)

    - 접근통제 매트릭스(Access Control Matrix) - 개별 주체가 어떤 작업들을 개별객체에게 할당 할  

       수 있는지 지정하는 주체와 객제들의 테이블

    - 능력테이블(Capability table) - ACL과는 다르다. 특정한 객체들에 대한 적합한 특정한 주체들이

      소유하는 접근권한들을 지정

    - 접근통제목록(Access Control Lists) - OS, 응용PG, 라우터 설정에 사용됨. 특정한 객체로 접근

       하도록 인증된 주체들의 목록

     

    [접근통제관리]

    집중형(Centralized access control administration)

    - RADIUS, TACACS, XTACACS, TACACS+, Diameter(IPsec과 동작_

    비집중형(Decentralized access control aministration)

    - 혼합형(Hybrid)

     

    [접근통제방식]

    접근통제계층

    - 관리적통제 : 정책 및 절차, 인적통제, 감독구조, 보안의식 훈련, 테스팅

    - 물리적통제 : 네트워크 분리, 경계선 보안, 컴퓨터 통제, 작업영역분리, 데이터백업, 케이블링

    - 기술적통제 : 시스템접근, 네트워크 구조, 네트워크 접근, 암호화 및 프로토콜, 통제구역, 감사

     

    객체재사용 - 파일포인터만 제거하는것이 아니고 실제파일을 삭제해야..

     

    TEMPEST - 전기장치에서 방출되는 위조전기신호에 대한 연구이며 통제이다.

                      백색잡음과 통제구역 개념을 사용하여 대안책을 마련함.

     

    [접근통제 모니터링]

    - 지식 or 패턴기반 침입탐지

    - 행동 or 통계적 침입탐지

     

    [접근통제와 관련된 몇가지 위협]

    Dictionary Attack

    Brute Force Attack

    Spoffing at Login

    침투테스팅(Penetration Testing)

     

    [보안모델]

    Bell-Lapadula - 기밀성

    Biba - 무결성

    Clark-Wilson - Biba이후 개발, 정보의 무결성을 보호하는 다른 접근법을 제시함.

    정보흐름모델(Information flow model)

    Noninterference(비간섭모델) - 한 보안 수준에서 수행된 명령과 활동은 다른 보안수준의 주체나 객체에게 보여지거나 영향을 주어서는 안된다.

     

    [운영보안보드]

    - 전용보안모드(Dedicated Security Mode) : 모든 사용자가 허가 또는 인가를 받고 시스템 내부에서 처리된 모든 데이터에 대해 need-to-know를 가지고 있다.

    - 시스템최고 보안모드(System-High Security Mode) : 모든 사용자가 허가 또는 인가를 받았지만 시스템에서 처리되는 모든 정보에 need-to-know를 가질 필요는 없다.

    - 구획화 보안모드(Compartmented Security Mode) : 모든 사용자가 시스템에 의해 처리된 모든 정보에 접근하도록 허가 받았지만 모든 정보에 접근할 필요가 없다.

    - 다수준보안모드(Multilevel Security Mode) - 모든 사용자가 시스템에 의해 처리되는 모든 정보에 접근하도록 허가나 공식적 승인을 받은 것이 아닐떄 동시에 둘 이상의 정보 분류 수준이 허용되면 시스템은 다수준 보안모드에서 작동하고 있는 것이다. Bell-Lapadula는 다수준보안모드의 한 예이다

    'Security' 카테고리의 다른 글

    암호화 모드  (0) 2017.01.08
    방화벽 내용 정리  (0) 2017.01.08
    Kerberos  (0) 2017.01.08
    DES/3DES/AES  (0) 2017.01.08
    스푸핑  (0) 2017.01.08

    Kerberos ; 커베로스

    커베로스는 개방된 컴퓨터 네트웍 내에서 서비스 요구를 인증하기 위한 안전한 방법이다. 커베로스는 미국 MIT의 Athena 프로젝트에서 개발되었다. 이 이름은 그리스 신화에서 따왔는데, 커베로스는 저승의 신 하데스의 문을 지키는 머리가 셋 달린 개이다. 커베로스는 사용자가 인증 과정으로부터 암호화된 "티켓"을 요청할 수 있게 해주는데, 이 티켓은 서버에 특정 서비스를 요구하는데 사용될 수 있다. 사용자의 암호는 네트웍을 지나가야 할 필요가 없다. 커베로스의 클라이언트 및 서버 버전은 MIT로부터 다운로드 하거나, 또는 상용 버전을 구입할 수 있다.

    아래에 커베로스의 동작원리를 간단하게 설명하였다.

    1. 당신이 지금 텔넷이나 기타 이와 비슷한 로그인 요청을 통해, 다른 컴퓨터에서 서버에 액세스하기 원한다고 가정해 보자. 이 서버는 당신의 요청을 받아들이기 전에, 커베로스 "티켓"을 요구한다.
    2. 티켓을 받기 위해, 당신은 먼저 인증 서버에 인증을 요구한다. 인증 서버는 당신이 입력한 패스워드에 기반하여 "세션 키"와, 서비스 요구를 나타내는 임의의 값을 만든다. 세션 키는 사실상 "티켓을 부여하는 티켓"이다.
    3. 그 다음에 세션 키를, 티켓 부여 서버, 즉 TGS (ticket-granting server)에 보낸다. TGS는 인증 서버와 물리적으로는 동일한 서버에 있을 수 있지만, 그러나 지금은 다른 서비스를 수행한다. TGS는 서비스를 요청할 때 서버에 보낼 수 있는 티켓을 돌려준다.
    4. 그 서비스는 티켓을 거절하거나, 또는 받아들여서 서비스를 수행한다.
    5. TGS로부터 받은 티켓은 발송일자와 시간이 적혀있기 때문에, 일정 시간 동안 (대체로 8시간 동안) 내에는 재인증 없이도 동일한 티켓으로 다른 추가 서비스를 요청할 수 있다. 티켓을 제한된 시간 동안에만 유효하게 만듦으로써, 후에 어떤 사람이 그것을 사용할 수 없도록 만든다.

     

    실제의 과정은 위에 설명한 것보다 더 복잡하며, 사용자 절차도 구현 내용에 따라 다소 달라질 수 있다.


    'Security' 카테고리의 다른 글

    방화벽 내용 정리  (0) 2017.01.08
    All in one 정리  (0) 2017.01.08
    DES/3DES/AES  (0) 2017.01.08
    스푸핑  (0) 2017.01.08
    icmp flood 서버단에서 예방하기  (0) 2017.01.08

    DES(Data Encryption Standard)는 Lucifer를 보완하여 IBM에서 개발한 블럭암호 알고리즘으로 1977년에 미국 표준국(U.S. National Bureau of Standards : NBS, NIST 전신)에서 표준으로 채택(FIPS PUB 46)되었읍니다. 64비트 입력 블럭을 56비트 비밀키를 이용하여 암호화하는 블럭암호 알고리즘이며, 미국 연방정부의 데이터 보호용으로 출발하여 ANSI(American National Standards Institute)의 표준 암호 알고리즘, ABA(American Bankers' Association)에서 미국내 금융 정보의 보호 표준으로 사용하기까지 사용 범위가 확대되어 현재 전세계적으로 가장 널리 사용되고 있습니다. 그러나 56비트라는 짧은 키 길이로 인해 더 이상 안전하지 않다고 보는 것이 일반적인 견해이며, IPSEC이나 PKIX 등 새로운 응용들에서는 DES를 3회 반복는 Triple DES를 사용하도록 권고하였으며, 최근 차세대 미국 표준인 AES가 확정됨에 따라 앞으로 점차적으로 그 사용범위가 줄어들 것으로 보입니다. 

    DES의 56비트라는 짧은 키 길이로 인한 안전성 문제를 해결하기 위한 대안으로 3개의 키로 DES를 3회 반복하여 사용하는 Triple DES를 사용하였읍니다. 3DES는 속도가 DES보다 3배 정도 느리다는 단점에도 불구하고, 기존의 DES를 이용하여 쉽게 구현되며 DES의 안전성 문제를 해결하는 장점으로 인하여 여러 표준에서 사용되었습니다. 최근 차세대 미국 표준인 AES가 확정됨에 따라 앞으로 점차적으로 그 사용범위가 줄어들 것으로 보입니다. 

    1998년을 기점으로 표준 기한이 만료된 DES를 대체할 블럭암호의 필요성에 따라, NIST에서는 향후 정부와 상업계에서 사용할 수 있는 강한 암호화 알고리즘 표준으로 AES(Advanced Encryption Standard)의 개발을 추진하였읍니다. NIST는 3DES보다 더 효율적이고 안전하며 로얄티가 없어야 하는 등을 만족하는 알고리즘을 공모하고, 3년여에 걸쳐 15개의 후보 알고리즘을 공개적으로 평가하여, 2000년 10월 2일 최종 AES 알고리즘을 선정/발표하였읍니다. AES에 채택된 블럭암호는 Daemem과 Rijmen에 의해 개발되고 RIJNDAEL로 명명된 알고리즘으로 DES와 Triple DES를 대신해서 새로운 업계 표준으로 자리잡게 될 것입니다. 2001년 2월, NIST는 AES에 대한 draft 문서를 발표하고 표준화를 준비중에 있습니다. 

    *DES :   *3DES :   *AES :
    -표준문서(pdf) (local copy)   -표준문서(pdf) (local copy)   -Draft 문서(pdf) (local copy)
    -관련정보(htm)   -관련정보(htm)   -관련정보(htm)
    -소스코드(zip)   -소스코드(zip)


    'Security' 카테고리의 다른 글

    All in one 정리  (0) 2017.01.08
    Kerberos  (0) 2017.01.08
    스푸핑  (0) 2017.01.08
    icmp flood 서버단에서 예방하기  (0) 2017.01.08
    해킹, 바이러스 감염 시 대응 요령  (0) 2017.01.08

    + Recent posts