[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 2. ์„œ๋ฒ„ ๊ตฌ์„ฑํ•˜๊ธฐ

2024. 2. 25. 01:04ยท๐Ÿ“‚ education & lecture/์ธํ”„๋ผ ๊ณต๋ฐฉ

1. ์šฉ์–ด ๋ฐ ๊ฐœ๋… ์ •๋ฆฌ

[1] Bastion Server ??

 Bastion ์šฉ์–ด๋Š” ์„ฑ ์™ธ๊ณฝ์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ๋Œ์ถœ๋œ ๋ถ€๋ถ„์„ ๋งํ•˜๋ฉฐ, ์ ์œผ๋กœ๋ถ€ํ„ฐ ํšจ๊ณผ์ ์œผ๋กœ ๋ฐฉ์–ดํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋‹จ์ด๋‹ค. Network ์—์„œ Bastion ๋Š” Public, Private Network ์— ๋Œ€ํ•œ ์—‘์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๋ณด์•ˆ ์—‘์„ธ์Šค๋ฅผ ์ œ๊ณตํ•˜๋Š” ์ฃผ์ฒด๋ฅผ ๋งํ•œ๋‹ค. ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด ๊ด€๋ฆฌ์ž๊ฐ€ server terminal ์— ์ ‘๊ทผํ•˜๊ธฐ ์œ„ํ•œ ์ง„์ž…์ ์ด๋‹ค. 

 Bastion Server ๋ฅผ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•˜๋Š” ์ด์œ ๋Š” ์„œ๋ฒ„ ํ„ฐ๋ฏธ๋„ ์ ‘๊ทผ์— ๋Œ€ํ•œ ๋Œ€์‘, ์„œ๋น„์Šค ์˜ํ–ฅ ์ตœ์†Œํ™”, ์„œ๋น„์Šค ์ •์ƒ ํŠธ๋ž˜ํ”ฝ ๊ตฌ๋ถ„, ์„œ๋น„์Šค ์˜ํ–ฅ ์ตœ์†Œํ™” 3๊ฐ€์ง€ ์ด๋‹ค. Basiton Server ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฌธ์ œ์— ๋Œ€ํ•ด ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ๋†’์€ ํŠธ๋ž˜ํ”ฝ์ด๋‚˜ ๋””๋„์Šค ๊ณต๊ฒฉ์œผ๋กœ ์ธํ•œ ๋Œ€์—ญํญ ์ ์œ ๋กœ ์ธํ•ด ๊ด€๋ฆฌ์ž๊ฐ€ ์„œ๋ฒ„ ํ„ฐ๋ฏธ๋„์— ์ ‘๊ทผํ•  ์ˆ˜ ์—†๋Š” ๋ฌธ์ œ
  2. ์•…์„ฑ ๋ฃจํŠธํ‚ท, ๋žœ์„ฌ์›จ์–ด ๋“ฑ์œผ๋กœ ์ธํ•ด ์„œ๋น„์Šคํ•˜๋Š” ์„œ๋ฒ„์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ด์Šˆ
  3. ์„œ๋น„์Šค ํŠธ๋ž˜ํ”ฝ๊ณผ ๊ด€๋ฆฌ์ž ํŠธ๋ž˜ํ”ฝ ๊ตฌ๋ถ„ํ•˜์ง€ ๋ชปํ•˜๋Š” ๋ฌธ์ œ 

 AWS ์—์„œ Bastion Host ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” EC2 instance ๋ฅผ ํ†ตํ•œ ๋ฐฉ๋ฒ•๊ณผ Session Management ๊ฐ€ ์žˆ๋‹ค. ์ด๋ฒˆ ๋‚ด์šฉ์€ EC2 ๋ฅผ ์ด์šฉํ•ด bastion server ๊ตฌ์„ฑํ•œ ๋‚ด์šฉ์ด๋‹ค.

 

 

2. ์„œ๋ฒ„ ๊ตฌ์„ฑํ•˜๊ธฐ

  1. bastion server ๊ตฌ์„ฑ
    1. management ec2 ์ƒ์„ฑ
      1. management subnet ์ƒ์„ฑ
      2. management routing table ์ƒ์„ฑ
      3. bastion security group ์ƒ์„ฑ
      4. public security group, private security group SSH ์ ‘๊ทผ ๊ถŒํ•œ ์žฌ์„ค์ •
    2. bastion EC2 instance ์ƒ์„ฑ
    3. bastion ์„œ๋ฒ„ ์„ค์ •
      1. session timeout ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ ์šฉ
      2. logger ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์‚ฌ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ

 

[1] management ec2 ์ƒ์„ฑ

(1) management subnet ๊ตฌ์„ฑ

 

(2) management routing table ์ƒ์„ฑ

(3) bastion security group ์ƒ์„ฑ

  • destination : 0.0.0.0/0 target : internet-gateway ์ถ”๊ฐ€
  • public security group, private security group : inbound rule SSH ์ ‘๊ทผ ๊ถŒํ•œ management-security-group ์œผ๋กœ ์„ค์ •

 

(4) bastion EC2 instance ์ƒ์„ฑ

  • OS : Ubuntu ์„ค์ •
  • ์•„ํ‚คํ…์ฒ˜ : x86 ์„ ํƒ
  • ์ธ์Šคํ„ด์Šค ์œ ํ˜• : t2.micro
  • ํ‚ค ํŽ˜์–ด : pem ์„ ํ†ตํ•œ ์ƒ์„ฑ
  • network ์„ค์ • (์•„๋ž˜ ๊ทธ๋ฆผ ์ฐธ๊ณ )
    • VPC ์„ค์ •
    • management subnet ์„ค์ •
  • security group ์„ค์ • (์œ„ ๊ทธ๋ฆผ ์ฐธ๊ณ )
    • SSH : ๋‚ด public ip ์„ค์ •

 

 

[2] bastion ์„œ๋ฒ„ ์„ค์ •

(1) session timeout ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ ์šฉ

$ sudo vi ~/.profile

## 1. history ๋ช…๋ น ๊ฒฐ๊ณผ์— ์‹œ๊ฐ„๊ฐ’ ์ถ”๊ฐ€
HISTTIMEFORMAT="%F %T -- "    
export HISTTIMEFORMAT
  
## 2. ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ ์„ค์ • (์ดˆ ๋‹จ์œ„)
export TMOUT=600              

$ source ~/.profile
$ env

(2) logger ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ์‚ฌ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ

$ sudo vi ~/.bashrc
  tty=`tty | awk -F"/dev/" '{print $2}'`
  IP=`w | grep "$tty" | awk '{print $3}'`
  export PROMPT_COMMAND='logger -p local0.debug "[USER]$(whoami) [IP]$IP [PID]$$ [PWD]`pwd` [COMMAND] $(history 1 | sed "s/^[ ]*[0-9]\+[ ]*//" )"'

$ source  ~/.bashrc
$ sudo vi /etc/rsyslog.d/50-default.conf
local0.*                        /var/log/command.log
    
$ sudo service rsyslog restart
$ tail -f /var/log/command.log

 

 

Reference

  • https://www.inflearn.com/course/%EC%9D%B8%ED%94%84%EB%9D%BC-%EA%B3%B5%EB%B0%A9-%EC%84%9C%EB%B9%84%EC%8A%A4-%EB%A7%8C%EB%93%A4%EA%B8%B0
  • https://docs.aws.amazon.com/ko_kr/mwaa/latest/userguide/tutorials-private-network-bastion.html#private-network-lb-create-sgsource
  • https://aws.amazon.com/ko/solutions/implementations/linux-bastion/

'๐Ÿ“‚ education & lecture > ์ธํ”„๋ผ ๊ณต๋ฐฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ปจํผ๋Ÿฐ์Šค ์‹ ์ฒญ - 1. github action ์„ ํ†ตํ•œ ๋นŒ๋“œ ์„ค์ •  (1) 2024.03.05
[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 4. ํ™”๋ฉด ์‘๋‹ต ๊ฐœ์„ ํ•˜๊ธฐ  (0) 2024.02.29
[์ธํ”„๋ผ๊ณต๋ฐฉ] HTTP Cache  (0) 2024.02.28
[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 3. 3-tier ๊ตฌ์„ฑํ•˜๊ธฐ  (0) 2024.02.27
[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 1. ๋ง ๊ตฌ์„ฑํ•˜๊ธฐ  (1) 2024.02.23
'๐Ÿ“‚ education & lecture/์ธํ”„๋ผ ๊ณต๋ฐฉ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 4. ํ™”๋ฉด ์‘๋‹ต ๊ฐœ์„ ํ•˜๊ธฐ
  • [์ธํ”„๋ผ๊ณต๋ฐฉ] HTTP Cache
  • [์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 3. 3-tier ๊ตฌ์„ฑํ•˜๊ธฐ
  • [์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 1. ๋ง ๊ตฌ์„ฑํ•˜๊ธฐ
cooper25
cooper25
  • cooper25
    dev cooper
    cooper25
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (84)
      • ๐Ÿ“‚ backend (34)
        • spring (19)
        • architecture (10)
        • test (5)
      • ๐Ÿ“‚ computer-science (5)
      • ๐Ÿ“‚ programming-language (12)
        • java (12)
      • ๐Ÿ“‚ infra (9)
        • mysql (4)
        • redis (2)
        • message-queue (3)
      • ๐Ÿ“‚ cloud (2)
        • aws (2)
      • ๐Ÿ“‚ frontend (1)
        • react (0)
      • ๐Ÿ“‚ education & lecture (16)
        • ์ธํ”„๋ผ ๊ณต๋ฐฉ (11)
        • ํ•ญํ”Œ ๋ฐฑ์—”๋“œ 7๊ธฐ (5)
      • ๐Ÿ“‚ ai (1)
        • claude (1)
      • ๐Ÿ“‚ etc (2)
        • ํšŒ๊ณ  (1)
        • ์ปจํผ๋Ÿฐ์Šค (1)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ํšŒ๊ณ 
    spring AOP
    ์ธํ”„๋ผ๊ณต๋ฐฉ
    spring camp 2025
    JPA
    ํ•ญํ•ดํ”Œ๋Ÿฌ์Šค
    AWS
    ๋™์‹œ์„ฑ
    ์Šคํ”„๋ง์บ ํ”„ ํ›„๊ธฐ
    spring
    ๊ฐ€์ƒ ๋ฉด์ ‘ ์‚ฌ๋ก€๋กœ ๋ฐฐ์šฐ๋Š” ๋Œ€๊ทœ๋ชจ ์„ค๊ณ„
    kafka
    nGrinder
    gof
    ๋ฐ์ดํ„ฐ ์ค‘์‹ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ค๊ณ„
    mysql
    spring-batch
    react
    Redisson
    UUID
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.6
cooper25
[์ธํ”„๋ผ๊ณต๋ฐฉ] ์ง€ํ•˜์ฒ  ๋…ธ์„ ๋„ - 2. ์„œ๋ฒ„ ๊ตฌ์„ฑํ•˜๊ธฐ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”