반응형

안녕하세요!
오늘은 IT 직업중 인프라 직무에 대해 설명해드리려고 합니다.
 
일반적으로 "IT 한다" 그러면 "개발자야?" 라고 물어보시는 분들이 대부분일 것 입니다.
실제로는 개발자 외에도 인프라 운영 직무가 있습니다.

보통 개발된 프로그램이 단독으로 서비스를 실행한다고 생각하는 경우가 많은데, 시스템을 구축하고 서비스를 제공하려면 서버소프트웨어가 필요합니다.
 

 

시스템 구축을 위한 필수 소프트웨어 3가지

  • WEB(웹): 사용자와 웹 애플리케이션이 상호작용하는 인터페이스로, 브라우저를 통해 콘텐츠와 서비스를 제공하는 기능을 제공합니다. 웹 페이지의 디자인, 이미지 등 정적 페이지를 표시합니다.
  • WAS(웹 애플리케이션 서버): 웹 애플리케이션의 비즈니스 로직을 처리하는 서버로, 사용자의 요청을 데이터베이스와 연결하여 동적인 콘텐츠를 생성합니다. 개발자가 개발한 어플케이션은 WAS에 배포되어 실행됩니다.
  • DB(데이터베이스): 데이터를 체계적으로 저장하고 관리하는 시스템으로, 웹 애플리케이션이 필요한 정보를 저장하고 검색할 수 있도록 지원합니다.

서버와 소프트웨어를 구성하여 사용자에게 안전하게 서비스하기 위해서는 네트워크보안도 굉장히 중요합니다.
 
이러한 기반 시스템을 운영하는 사람들은 인프라 관리자라고 부릅니다. 인프라 직무는 위에 언급해 드린 분야별로 5가지가 존재합니다. 시스템(서버), 미들웨어(WEB/WAS), 데이터베이스(DB), 네트워크, 보안입니다.
 

인프라 관리자의 역할

  • 시스템 관리자: IDC 센터에 있는 서버를 관리하며, 서버는 성능이 좋은 안정적인 PC로 이해할 수 있습니다. 서버 관리자는 CPU, 메모리, 디스크, 네트워크 트래픽 등의 사용량을 모니터링하고, 데이터 백업 및 복구 작업을 수행합니다. 또한, 서버 가상화 기술을 사용해 서버 자원을 효율적으로 관리하고 최적화할 수 있습니다.

  • 미들웨어 관리자: 소프트웨어 관리자 역할을 합니다. 애플리케이션은 웹 서버(WEB)나 웹 애플리케이션 서버(WAS)와 같은 소프트웨어 내에서 동작하며, 미들웨어 관리자는 이 소프트웨어가 정상적으로 작동하는지 관리합니다. 또한 서비스에 필요한 다양한 솔루션(공인인증, 대외기관 통신, 개인정보 암호화, 리포트 디자이너, 서비스 모니터링 제품 등)을 운영합니다. 미들웨어 관리는 시스템의 성능과 안정성을 보장하기 위해 지속적인 업데이트와 패치 관리도 포함됩니다.

  • 데이터베이스 관리자(DBA): 시스템에서 사용하는 대용량 데이터베이스를 관리합니다. 데이터베이스 상태 모니터링, 테이블 생성, 설정 튜닝, 백업 및 복구 작업 등을 수행합니다. 또한, 데이터 보안과 접근 권한 관리, 데이터베이스 성능 최적화를 위한 지표 분석 및 쿼리 튜닝도 중요한 업무입니다.

  • 네트워크 관리자: 네트워크가 원활하게 작동하도록 라우팅 설정, 방화벽 설정, 네트워크 장비(L4) 설정 및 모니터링 업무를 담당합니다. 방화벽은 보안 담당자가 관리하는 경우가 많지만, 네트워크 관리자는 네트워크의 안정성과 보안을 위해 다양한 보안 정책을 시행합니다. 또한, VPN과 같은 원격 접속 솔루션을 구성하고 유지 관리하여 외부 사용자나 지사와의 원활한 통신을 지원합니다.

  • 보안 관리자: 시스템과 네트워크의 보안을 책임지며, 각종 보안 정책을 수립하고 실행합니다. 보안 관리자는 침입 탐지 시스템(IDS), 방화벽, VPN 등의 보안 장비를 관리하고, 취약점 분석과 보안 패치 작업을 수행하여 시스템을 안전하게 유지합니다. 또한, 보안 사고 발생 시 대응 절차를 마련하고, 내부 교육을 통해 보안 인식을 높이는 역할도 수행합니다.


각 담당자의 역할을 쉽게 이해할 수 있도록 구성도를 그려보았습니다.

이중화된 시스템 구성도(icon by icon8)

 
[추가 설명]
-L4 스위치는 사용자의 요청을 여러대의 서버로 분산해주는 역할(Load Balancing)을 합니다.
-WEB/WAS 서버가 2대인(이중화) 이유는 1대의 서버에 문제가 생겨도 다른 서버로 정상적으로 서비스하기 위함입니다.
-그림에는 표시되어 있지 않지만 DB도 2대 이상(이중화)인 경우가 많습니다.
-시스템 구성도는 회사 및 업무에 특성에 따라 차이가 있을 수 있습니다.
 
오늘은 여기서 포스팅을 마치겠습니다.
내용이 도움이 되셨다면 공감! 구독! 부탁드리겠습니다.^^
 
감사합니다!

서버를 운영하다보면 다양한 IP로 부터 공격을 받게 됩니다.

접속 로그를 확인해보면 하루에도 수십번에 접속 시도를 확인 할 수 있습니다.

 

fail2ban 패키지를 사용하면 로그인 실패 횟수를 설정하고 해당 IP를 차단 할 수 있습니다.

1. fail2ban 설치

sudo dnf install fail2ban -y

 

2. SSH 감시를 위한 기본 설정

fail2ban의 기본 설정 파일을 편집하여 SSH 접속 실패에 대한 감시를 설정합니다.

 jail.local 파일이 없을 경우 jail.conf 파일을 jail.local로 복사하여 수정합니다.

sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
 

3. jail.local 설정

jail.local 파일에서 SSH 관련 설정을 추가합니다. 아래와 같이 설정할 수 있습니다.

[sshd]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/secure
maxretry = 5
bantime = 3600
findtime = 600
  • enabled = true: 해당 jail을 활성화합니다.
  • port = ssh: 감시할 포트를 지정합니다.
  • filter = sshd: SSH 접속 실패 패턴을 찾기 위한 필터를 지정합니다.
  • logpath = /var/log/secure: SSH 로그 파일 경로를 지정합니다.
  • maxretry = 5: 5번 실패 시 IP를 차단합니다.
  • bantime = 3600: 차단 시간(초)을 설정합니다. 여기서는 1시간(3600초)입니다.
  • findtime = 600: 10분(600초) 동안 5번 실패하면 차단합니다.

 

4. fail2ban 서비스 시작 및 재시작

설정을 마친 후 fail2ban 서비스를 시작하고 활성화합니다.

sudo systemctl start fail2ban
sudo systemctl 
enable fail2ban
 

5. 설정 확인

fail2ban이 올바르게 작동하는지 확인하려면 다음 명령어를 사용할 수 있습니다.

# 설정 상태 확인
sudo fail2ban-client status

# 차단된 IP 확인
sudo fail2ban-client status sshd
 

※ 명령어 수행 화면

[break_in@Linux /home/break_in]#  sudo fail2ban-client status
Status
|- Number of jail:      1
`- Jail list:   sshd
 
실제로 많은 IP가 차단되었음을 확인할 수 있습니다.
[break_in@Linux /home/break_in]#  sudo fail2ban-client status sshd
Status for the jail: sshd
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     16
|  `- Journal matches:  _SYSTEMD_UNIT=sshd.service + _COMM=sshd
`- Actions
   |- Currently banned: 193
   |- Total banned:     194
   `- Banned IP list:   101.126.64.15 101.126.69.203 101.126.95.220 101.32.114.105 101.42.237.107 101.43.26.143 101.43.39.17 101.43.4.185 103.139.193.99 103.142.87.231 103.143.231.132 103.143.72.165 103.163.118.84 103.172.204.55 103.174.103.90 103.176.78.193 103.211.217.182 103.248.60.70 103.25.47.94 103.92.24.242 103.99.115.26 106.12.222.76 106.124.137.140 106.58.219.160 109.236.47.90 109.75.33.121 112.103.254.249 112.184.135.67 112.6.122.181 113.137.40.250 113.88.210.159 114.100.49.20 114.217.20.159 115.247.46.122 118.179.135.65 119.28.118.4 120.28.109.188 121.229.62.94 122.227.174.98 124.156.205.16 125.124.45.195 125.91.122.29 128.199.137.110 128.199.206.26 128.199.70.247 129.226.198.6 129.226.215.132 134.122.13.225 134.209.157.237 139.59.36.213 139.59.79.179 14.29.147.56 14.48.202.73 14.56.193.140 140.246.22.189 143.110.220.40 146.190.119.107 150.158.31.194 154.221.21.206 156.236.71.21 156.54.108.185 157.148.123.74 159.203.104.187 161.35.182.145 162.241.71.207 165.227.2.252 165.227.201.152 167.99.224.42 174.160.133.10 175.178.114.15 175.204.112.213 176.31.253.67 178.128.56.162 178.128.73.254 178.62.66.67 182.253.47.126 183.106.6.202 183.162.79.39 185.126.34.211 185.174.136.146 185.233.37.14 185.6.105.150 186.31.95.163 187.188.0.71 187.210.77.100 187.49.152.10 187.72.83.169 187.95.160.53 188.166.161.55 188.213.197.78 190.119.66.238 190.221.7.146 193.32.162.29 194.110.54.141 194.113.236.217 194.145.208.178 195.24.56.135 196.219.43.154 197.199.224.52 197.227.8.186 198.23.174.113 201.149.49.146 201.251.51.218 201.6.100.191 202.157.184.3 203.0.104.170 203.150.34.32 206.189.121.27 206.189.175.87 206.189.230.76 211.75.19.210 212.233.136.201 213.194.140.33 217.160.88.147 217.182.73.127 217.60.244.8 218.70.106.202 220.194.171.236 23.158.56.100 34.139.17.74 34.92.176.182 35.219.62.194 36.138.68.207 36.64.217.27 41.223.66.252 42.123.122.175 42.180.160.78 42.51.33.212 43.128.142.238 43.128.233.205 43.133.42.162 43.134.129.4 43.134.13.231 43.134.226.192 43.134.237.227 43.134.41.24 43.135.172.65 43.153.171.66 43.153.219.239 43.153.84.164 43.154.96.206 43.156.156.39 43.156.3.145 43.159.59.118 45.131.108.155 46.101.9.148 47.237.30.245 47.245.87.100 49.205.174.180 49.232.6.67 51.15.218.133 51.178.182.201 52.86.173.91 58.220.39.220 58.228.29.87 59.127.158.223 59.36.75.227 61.155.106.101 61.191.103.17 64.227.126.250 64.227.149.214 67.205.160.228 69.49.246.102 79.110.62.145 79.137.197.11 79.224.101.219 8.218.134.133 8.219.117.148 8.219.237.64 8.222.197.223 80.94.92.139 81.161.238.51 81.192.46.38 82.67.7.178 83.12.113.122 83.97.73.40 88.214.25.16 89.185.85.182 89.46.223.31 89.46.223.35 91.196.54.125 91.205.219.185 91.237.163.37 91.92.252.162 92.87.22.210 93.113.63.124 93.197.94.25 94.228.169.65 95.181.86.2 95.214.27.253 95.90.242.212 96.126.113.215 8.222.172.160

 

6. 차단된 IP 해제 방법

SSH 접속 간 패스워드 입력 실수로 인해 내 PC IP가 차단될 경우의 조치 방법입니다.

sudo fail2ban-client set sshd unbanip 192.168.0.100

'IT기술노트 > Linux' 카테고리의 다른 글

Linux Bash 쉘 프로그래밍  (4) 2024.10.31

+ Recent posts