[리눅스] 네트워크#1 - 방화벽/포트

Donghyun Kim·2022년 5월 23일
0

✔ 네트워크 조회

MacOS

쉘에서 다음과 같이 치면 현재 열린 포트 목록을 확인할 수 있다.
sudo lsof -PiTCP -sTCP:LISTEN
특정 포트를 찾아 포트를 닫고 싶으면 다음과 같이 쳐서 PID를 알아낸다.
sudo lsof -i :3000
여기서 3000이 포트번호이다.

위에서 나온 PID를 다음 명령어에 넣으면 포트가 닫힌다.
sudo kill -9 PID

• netstat

현재 네트워크의 연결 상태, 라우팅 테이블, 인터페이스 상태 등을 출력

netstat [옵션]

# 주요 옵션
-a : 모든 네트워크 상태 출력
-t : TCP 프로토콜만 출력
-n : 도메인 주소를 숫자로 출력
-l : 리스닝 중인 네트워크 출력
-p : PID와 사용중인 프로그램명 출력

• 포트번호에 따른 서비스 명 출력

lecc /etc/services

✔ 리눅스 방화벽 설정

• iptables

리눅스에서 방화벽 구성이나 NAT, 포트에 대한 설정시 사용하는 기본 명령어

#기본 사용 문법

iptables [-t 테이블] [액션] [체인] [매치] [-j 타겟]

• 액션(Action)

-A (Append)  : 정책 추가
-I (Insert)  : 정책 삽입
-D (Delete)  : 정책 삭제
-R (Replace) : 정책 교체
-F (Flush)   : 모든 정책 삭제
-P (Policy)  : 기본 정책 설정
-L (List)    : 정책 나열

• 체인(Chain)

INPUT       : 입력
OUTPUT      : 출력
FORWARD     : 내부망

• 매치(Match)

-s (source)      : 출발지 매칭
-d (destination) : 목적지 매칭
-p (protocol)    : 프로토콜 매칭
-i (in)          : 입력 인터페이스 매칭
-o (out)         : 출력 인터페이스 매칭
-j (jump)        : 매치되는 패킷을 어떻게 처리할 지 지정

• 타겟(Target)

ACCEPT : 패킷 허용
DROP   : 패킷 거부
REJECT : 패킷 거부, + 거부 메시지 출력
LOG    : 패킷을 syslog에 기록
RETURN : 호출 체인 내에 패킷 처리를 지속

자주 사용하는 문법

• 방화벽 정책 조회

iptables -L

• 특정 포트 허용

iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

• 특정 포트 차단

iptables -I INPUT -p tcp --dport 8080 -j DROP

• 정책 삭제

iptables -D [뒤 내용은 정책 삽입 시와 동일)

• 차단된 포트를 제외한 모든 포트 허용

iptables -I INPUT -p tcp -j ACCEPT

• 허용된 포트를 제외한 모든 포트 차단

iptables -I INPUT -p tcp -j DROP

• 정책 저장

service iptables save

• 서비스 재시작

service iptables restart

iptables 정책 변경 후 저장과 iptables 재시작을 필수로 해주어야 정상적으로 등록이 된다.

✔ Ubuntu 방화벽 설정

• ufw

ufw는 데비안 계열, 우분투 OS에서 작동되는 사용하기 쉬운
간단하고 직관적인 명령어 set의 쉘 명령어이다.

• 방화벽 실행/정지

# default가 방화벽 disable 상태이다.

# 방화벽 실행
ufw enable

# 방화벽 정지
ufw disable

• 방화벽 조회

ufw status
or
systemctl status ufw
or
service ufw status

• 기본 정책 허용/차단

# default는 외부접속은 모두 허용, 외부에서 내부로 접속은 모두 차단

# 방화벽 모두 허용
ufw default allow

# 방화벽 모두 차단
ufw default deny

• 방화벽에 포트 열기/닫기

# 80포트 허용
ufw allow 80/[tcp/udp]
# 80포트 거부
ufw deny 80/[tcp/udp]
# 등록된 80포트 삭제
ufw delete deny 80

• 특정 IP 허용/차단

# 특정 IP 허용
ufw allow from 192.168.0.0

# 특정 IP 차단
ufw deny from 192.168.0.0

• 설정된 정책 적용

ufw reload

• 설정된 정책 초기화

ufw reset
profile
"Hello World"

0개의 댓글