본문 바로가기

OS

리눅스 공부하기-5{2023년05월03일/08일}

네트워크

네트워크는 몇 개의 독립적인 장치(A컴퓨터와 B컴퓨터)가 적절한 영역내에서 적당히 빠른 속도의 물리적 통신 채널을 통하여 서로가 직접 통신할 수 있도록 지원해 주는 데이터 통신 체계

 

IP주소 : 통신을 위해 인터넷 프로토콜을 사용하는 네트워크에 연결된 모든 디바이스에 할당된 고유번호

노드 : 데이터를 송신, 수신, 작성 또는 저장할 수 있는 네트워크 내의 연결 지점. 컴퓨터, 프린터, 모뎀

라우터 : 네트워크 간에 데이터 패킷에 포함된 정보를 전송하는 물리적 또는 가상 디바이스, 패킷교환기라고도 함.(공유기)

라우팅 : 라우터가 패킷을 네트워크에서 목적지까지 보내는 최적의 경로를 선택하는 과정

포트 : 네트워크 디바이스 간의 특정 연결 식별

프로토콜 : 컴퓨터가 다른 컴퓨터와 통신하는데 필요한 장비(네트워크 장비 등)가 서로 통신을 위해 정해놓은 통신규약.

 

방화벽(firewall)

방화벽의 역할은 신뢰할 수 있는 네트워크와 신뢰할 수 없는 네트워크 사이에 장벽을 설치하는 것을 방화벽이라고 한다.

주요 목표는 내부 네트워크(또는 장치) 와 외부 트레픽 사이의 장벽을 뜻한다.

방화벽을 만든 이유는 외부로부터 시스템을 손상시키려 하는 바이러스, 멀웨어, 해커 등 악성 트래픽이 많이 있기 때문에 트래픽을 필터링하여 일부 위협을 차단하고 무단 엑세스를 방지하여 네트워크 보안을 제공하는 사이버 보안 도구.

 

방화벽의 주요 기능

방화벽은 일반적으로 네트워크 서비스별로 해당 서비스를 유구한 호스트의 IP 주소와 포트번호, 사용자 인증에 기반을 두고 외부 침입을 차단하게 된다. 허용된 네트워크 사용자에게 원하는 서비스를 제공하면서 허용되지 않는 사용자에게는 서비스를 차단하고, 해당 서비스 허용 또는 실패에 대한 기록을 남긴다.

ㄴ 외부 네트워크워 연결된 유일한 창구(Gateway)

ㄴ 서비스 접속 및 거부

ㄴ 사용자 인증 포함

ㄴ 내외부 상호 접속된 네트워크에 대한 트래픽 감시, 기록

 

실습하기

설치하기

[root@localhost ~]# yum install firewalld -y
Loaded plugins: fastestmirror, langpacks, product-id, search-disabled-repos,
              : subscription-manager

This system is not registered with an entitlement server. You can use subscription-manager to register.

Determining fastest mirrors
http://ftp.daum.net/centos/7/os/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: ftp.daum.net; Unknown error"
Trying other mirror.
http://ftp.daum.net/centos/7/centosplus/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: ftp.daum.net; Unknown error"
Trying other mirror.
http://ftp.daum.net/centos/7/extras/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: ftp.daum.net; Unknown error"
Trying other mirror.
http://ftp.daum.net/centos/7/updates/x86_64/repodata/repomd.xml: [Errno 14] curl#6 - "Could not resolve host: ftp.daum.net; Unknown error"
Trying other mirror.
Package firewalld-0.6.3-13.el7_9.noarch already installed and latest version
Nothing to do

위와 같은 반응이 나타난 이유는 yum 저장소인 CentOS-Base.repo의 위치를 Daum.repo 변경 후 자동 설치가 되었기 때문이다.

https://widm2240.tistory.com/31

 

Linux에 Oracle 설치 진행 시 문제는 yum{23년4월17일}

현재 VMware를 통해 Red Hat Enterprise Linux (RHEL) 운영 체제를 만든 상황에서 MobaXterm을 통해 Oracle을 설치하고자 하는 중이다. 내 이해가 맞다면 VMware에서만으로도 진행이 가능하지만, 현재 공부를 하고

widm2240.tistory.com

방화벽 실행 여부 확인

[root@localhost ~]# firewall-cmd --state

방화벽 시작

[root@localhost ~]# systemctl start firewalld

방화벽 중지

[root@localhost ~]# systemctl enable firewalld

방화벽 리로드 : 방화벽 설정 후 다시 리로드 해야 적용 됨.

[root@localhost ~]# firewall-cmd --reload
success

목록 조회

[root@localhost ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 1251/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

public zone 에 속한 사용가능한 모든 서비스/포트 목록 출력하기

[root@localhost ~]# firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: ens33
  sources:
  services: dhcpv6-client ssh
  ports: 1251/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

 

zone이란?

서버의 용도에 맞게 미리 정의된 네트워크 보안 레벨을 의미한다. 아무 설정도 하지 않았다면, 기본적으로 public zone을 사용한다. 

 

설정파일(zone) 확인

[root@localhost ~]# cd /usr/lib/firewalld/zones
[root@localhost zones]# ls
block.xml  drop.xml      home.xml      public.xml   work.xml
dmz.xml    external.xml  internal.xml  trusted.xml

.xml 파일들에서 기본 설정을 확인할 수 있다.

 

zone 목록을 출력합니다.

[root@localhost ~]# firewall-cmd --get-zones
block dmz drop external home internal public trusted work

default(기본) zone을 출력하기

[root@localhost ~]# firewall-cmd --get-default-zone
public

활성화된 zone을 출력하기

[root@localhost ~]# firewall-cmd --get-active-zones
public
  interfaces: ens33

방화벽 서비스 추가/제거(ftp)

[root@localhost ~]# firewall-cmd --add-service=ftp
success
[root@localhost ~]# firewall-cmd --remove-service=ftp
success

FTP이란? 파일 전송 프로토콜 Application Layer

 

방화벽 포트 추가/제거(21port)

[root@localhost ~]# firewall-cmd --add-port=21/tcp
success
[root@localhost ~]# firewall-cmd --remove-port=21/tcp
success

##원칙 상으로는 아래와 같이 입력을 해줘야 하지만, 대부분 public zone을 사용하기 때문에 명령어 옵션에 어떤 zone을 선택할지 입력을 안하고 한다.

[root@localhost ~]# firewall-cmd --zone=public --add-port=21/tcp
success
[root@localhost ~]# firewall-cmd --zone=public --remove-port=21/tcp
success

방화벽 포트 범위로 추가/제거(9000-9010port)

[root@localhost ~]# firewall-cmd --permanent --add-port=9000-9010/tcp
success
[root@localhost ~]# firewall-cmd --permanent --remove-port=9000-9010/tcp
success

TCP란? 전송 제어 프로토콜 Treansport Layer

--permanent

지정한 옵션을 영구적으로 적용한다. permanent를 사용하지 않는다면, 리눅스 리부팅 시, 설정한 옵션이 모두 초기화 됩니다.

--zone=존이름

지정한 존에 설정을 적용한다.

default 된 zone(현재는 public)을  다른 zone(변경될 zone을 home으로 지정)으로 변경하기

[root@localhost ~]# firewall-cmd --set-default-zone=home

 

 

 

firewalld.conf를 이용해 설정 가능

[root@localhost zones]# cd /etc/firewalld/
[root@localhost firewalld]# ls
firewalld.conf  icmptypes  lockdown-whitelist.xml  zones
helpers         ipsets     services

참고

https://programacion.tistory.com/198

 

[CentOS 8] 방화벽 설정

* 방화벽이란? - 방화벽(firewall)은 미리 정의된 보안 규칙에 기반한, 들어오고 나가는 네트워크 트래픽을 모니터링하고 제어하는 네트워크 보안 시스템이다. 방화벽은 일반적으로 신뢰할 수 있는

programacion.tistory.com

https://www.manualfactory.net/10153

 

CentOS / firewall-cmd 명령어로 방화벽 관리하기

CentOS의 방화벽 관리 데몬은 firewalld입니다. 설정은 firewall-cmd 명령어로 합니다. 방화벽 실행 여부 확인 firewall-cmd --state 실행 중이면 running, 실행 중이 아니면 not running을 출력합니다. 방화벽 다시

www.manualfactory.net

https://youn12.tistory.com/1

 

[CentOS 7] firewall 방화벽 설정

✏️ Info. - Linux CentOS 7 firewall 방화벽 설정 - root 로 접근 📋 List. 1. 방화벽 가동 2. 목록 조회 3. 포트 추가(단일, 범위) 4. 포트 삭제 5. 포트 포워딩 6. 방화벽 재시작 ✔️ Content. 1. 방화벽 가동 # sys

youn12.tistory.com

https://bamdule.tistory.com/63

 

[Linux] firewalld 방화벽 설정하기

RHEL 7 부터 방화벽을 관리하는 데몬이 iptables에서 firewalld로 변경되었습니다. iptables을 사용하지 않는 것은 아니고 firewalld의 기반 기능으로 동작하고 있습니다. firewalld는 firewall-cmd 명령어를 이용

bamdule.tistory.com

https://haker.tistory.com/58

 

17. 리눅스 방화벽, firewalld, rich rule

15. 방화벽 관리1) 방화벽 소개- 외부에서 시스템으로 접근하는 네트워크 패킷을 차단하는 서비스- 리눅스에서는- Netfilter : 실제 네트워크 패킷을 필터링 하는 커널 모듈- iptables : Netfilter를 제어

haker.tistory.com