방화벽과 파일시스템

yoon__0_0·2024년 5월 2일
1

이어드림 수업

목록 보기
1/103

방화벽

방화벽이란?

  • firewall
  • packet 의 흐름[송신(outbound), 수신(inbound) ]을 제어(제한) 하는 규칙(rule) 설정
  • 특정 포트만 접근하도록 제한하는 것

방화벽 상태 변경

  • 기본적으로 방화벽은 기본 설정이 모두 close 상태로 시작

  • 특정 port/protocal , ip(range), service 등을 제어

  • 서비스 추가/ 제거

  • 포트 추가 /제거

  • ip 로 추가 /제거

방화벽 패키지

  • 우분투 전용
ufw
  • 모든 곳에서 사용 가능
sudo apt -y install firewalld
sudo apt -y install iptables
  • 실제로는 iptables가 기본적.

Port range

  • 1 ~ 65535
  • 보안적 측면에서 너무 많은 포트가 열리면 취약함.
  • 커널 파라미터를 통해 포트 범위를 제한하는것이 일반적. [10000개 정도만]

CIDR 기법

  • 2진수
  • 16비트 65535개(2^16) ip를 줌
  • 32비트 (2^32) 개의 ip를 줌
  • cidr 계산기도 있음.
    https://www.ipaddressguide.com/cid
  • 0번과 맨 마지막은 빼고 사용.

network 개념

  • OSI 7 계층

  • Pysical Layer : 와이파이 단말기 등

  • DataLink Layer : 맥 어드레스를 통해서 network 시작

  • Network Layer : IP 계층

  • session : 암호화

  • application : 이메일 등 우리가 사용하는것

  • 전체적으로 주고 , 한개씩 벗겨 가면서 확인함

파일

  • 내가 가진 파일 용량을 보여줌
df -h

  • Linux 고유의 디스크 기반 파일 시스템 => ext
  • ext4 : 1EB(엑사바이트) 이상의 볼륨과 16 TB 이상의 파일을 지원

용량 단위

KB < MB < GB < TB< Peta B < Exa B < Zeta B < Yota B

예시 1) meta(페이스북) 1일 처리 데이터 용량? 4800peta
예시 2) 전세계 2년치 디지털 data수집 용량? 1.7 zeta

format

  • DISK는 formating이 필요함.
  • 이땐 filesystem(ext4 등)이 필요함.

파일 시스템 종류

  • GOOLGE CLOUD(GCP) -> disk FS ext4

  • Amazon(AWS) -> disk FS xfs

  • Amazon linux -> disk FS xfs

  • xfs : ext4 보다 쓰기 속도가 유리

파일 아카이브와 압축

파일 아카이브

  • backup 수행 결과로 나온 file을 묶어서 하나로 만든 것을 말함.
  • 현재는 다른 시스템과 파일을 주고 받거나, 백업을 하기 위해 여러 파일이나 디렉터리를 하나의 아카이브 파일로 생성하거나 기존 아카이브에서 파일을 추출하기 위해서 사용.

압축

tar

  • 파일과 디렉토리를 묶어 하나의 아카이브 파일 생성
  • 형식 : tar 기능[옵션][아카이브파일] 파일이름

기능
c: 새로운 tar파일 생성
t: tar파일 내용 출력
x: 원본파일 추출
r: 새로운 파일 추가
u :수정된 파일 업데이트

옵션
f: 아카이브 파일이나 테이프 장치 지정
v: 처리하고 있는 파일 정보 출력
h: 심벌릭 링크의 원본파일 포함
p: 파일 복구시 원래의 접근 권한 유지
j: bzip2로 압축하거나 해제한다
z: gzip 압축하거나 해제

tar ~ *.tar (파일 묶기만)
tar cvf (create)
tar tvf (list)
xvf (extract)

tar ~ *.tar.gz (파일 묶고 + gzip 압축)
tar cvzf
tar tvzf
tar xvzf

tar ~ *tar.bz2 (파일 묶고 + bzip2 으로 압축 )-> gzip에 비해 약 10% 압축률 향상
tar cvjf
tar tvjf
tar xvjf

  • 압축
tar cvzf log_backup_$(date "+%Y-%m-%d").tar.gz /var/log
  • 압축 해제
tar xvzf log_backup_2024-05-02.tar.gz 

분할압축

tar cvzf - /etc | split -b 10m ~.tar.gz
  • 10mb로 분할해서 압축한다.

압축 예제

  • 시스템 백업을 압축파일로 만들고 자동화 해보자.

코드

  • system_backup.sh 생성
vi system_backup.sh
  • vi system_backup.sh 내용
#!/bin/bash
####################################
# system Backup script. by kevin.lee
####################################
# backup area
backup_target="/home /var /etc /root /boot /u01"

# backup destination
backup_dest="/BACKUP/sys_backup"

# backup archive filename set.
day=$(date +%Y-%m-%d-%A:%H:%M)
hostname=$(hostname -s)
archive_file="$hostname-$day.tar.gz"

# Backup the files using tar.
tar cvzf $backup_dest/$archive_file $backup_target

# Print end status message.
echo "--------------------"
echo "Backup finished!"
date
echo "--------------------"

# $dest to check file sizes.
ls -lh $backup_dest
echo "--------------------"
  • 폴더 생성, 권한변경
sudo mkdir -p /BACKUP/sys_backup

chmod 700 system_backup.sh
  • 자동화
crontab -e
  • crontab 안에서 [ 시간은 변경해줘야함 ]
16 10 * * * /bin/bash /home/ubuntu/script/system_backup.sh

시스템 로그

로그

  • 로그를 저장하는 파일은 /var/log 디렉토리에 위치함
  • 로그 파일을 통해 시스템의 상태값을 확인할 수 있음.
  • 로그는 이상 징후에 대한 정보를 제공함. (해결책은 제시하지 않음)
  • rsyslog 를 통해서 기록됨
  • log 추적
sudo tail -f /var/log/syslog
  • log는 시간 순서대로. => 시간별 증상 식별 가능
profile
신윤재입니다

0개의 댓글