잠시만 기다려 주세요

HOME   |  여기는?   |  바다물때표   |  여러가지 팁 (888)  |  추천 및 재미 (154)  |  자료실 (20)  |  끄적거림 (520)  |  시나리오 (760)  |  드라마 대본 (248)  |  

2020년 09월 28일
지금 죽을 것 같아도 참고 또 참아라. 반복되고 또 반복되면 어느 순간 덤덤해지고 편안해 지리라. - 바다아이
 




    리눅스 서버

리눅스 서버 - [Ubuntu] 우분투 방화벽(UFW) 설정, iptables, firewall
이 름 : 바다아이   |   조회수 : 2523         짧은 주소 : https://www.bada-ie.com/su/?911591780480

우분투의 기본적인 방화벽은 UFW입니다. 이는 iptables를 좀 더 쉽게 설정할 수 있도록 한 것인데 간단한 방화벽 구성에는 문제가 없지만 수준 높은 방화벽 구성에는 iptables 룰을 직접 사용해야 합니다.

참고 : 우분투 UFW help 가이드

UFW 사용법

UFW 기본 설정법에 대하여 알아보자.

UFW 활성화/비활성화

UFW는 기본 비활성화 상태이기에 이를 활성화 한다.

BASH
sudo ufw enable

UFW 비활성화

BASH
sudo ufw disable

UFW 상태 확인

BASH
sudo ufw status verbose

UFW 기본 룰

UFW에 설정되어 있는 기본 룰은 아래와 같다.

  • 들어오는 패킷에 대해서는 전부 거부(deny)
  • 나가는 패킷에 대해서는 전부 허가(allow)

기본 룰 확인

BASH
sudo ufw show raw

기본 정책 차단

BASH
sudo ufw default deny

기본 정책 허용

BASH
sudo ufw default allow

UFW 허용과 차단

UFW 허용

sudo ufw allow <port>/<optional: protocal>

예) SSH 포트 22번 허용(tcp/udp 22번 포트를 모두 허용)

BASH
sudo ufw allow 22

tcp 22번 포트만을 허용 - SSH는 tcp 22번 포트만 허용하는게 정답

BASH
sudo ufw allow 22/tcp

udp 22번 포트만을 허용

BASH
sudo ufw allow 22/udp

UFW 거부

sudo ufw deny <port>/<optional: protocol>

예) ssh 포트 22번 거부(tcp/udp 22번 포트를 모두 거부)

BASH
sudo ufw deny 22

tcp 22번 포트만을 거부

BASH
sudo ufw deny 22/tcp

udp 22번 포트만을 거부

BASH
sudo ufw deny 22/udp

UFW 룰의 삭제

ufw deny 22/tcp 설정이 되어있다고 가정

BASH
sudo ufw delete deny 22/tcp

service 명을 이용한 설정

/etc/services에 지정되어 있는 서비스명과 포트를 이용해 UFW를 설정할 수 있다.

서비스명 보기

BASH
less /etc/services

서비스명으로 허용

sudo ufw allow <service name>

예) SSH 서비스

BASH
sudo ufw allow ssh
sudo ufw deny ssh

UFW 로그 기록

BASH
sudo ufw logging on
sudo ufw logging off

Advanced Syntax

문법을 확장하여 목적지 주소와 포트, 프로토콜등을 지정할 수 있다.

특정한 IP 주소 허가/거부

특정한 IP주소 허용

sudo ufw allow from <ip address>

예) 192.168.0.100 주소 허용(IP 주소192.168.0.100 에서만 접속이 가능해진다)

BASH
sudo ufw allow from 192.168.0.100

네트워크 단위로 지정하여 같은 네트워크 상에 있는 컴퓨터들은 접속가능해진다.

BASH
sudo ufw allow from 192.168.0.0/24

특정 IP 주소와 일치하는 포트 허용

sudo ufw allow from <ip address> to <protocol> port <port number>

예) 192.168.0.100 주소와 포트, 프로토콜 허용

BASH
sudo ufw allow from 192.168.0.100 to any port 22

특정 IP 주소와 프로토콜, 포트 허용

$ sudo ufw allow from <ip address> to <protocol> port <port number> proto <protocol name>

예) 192.168.0.100 주소와 tcp 프로토콜 22번 포트 허용

BASH
sudo ufw allow from 192.168.0.100 to any port 22 proto tcp

위의 예제들에서 allow 대신 deny를 입력하면 거부가 된다.

ping (icmp) 허용/거부

UFW 기본설정은 ping 요청을 허용하도록 되어있다.

BASH
sudo vi /etc/ufw/before.rules

   # ok icmp codes
  -A ufw-before-input -p icmp --icmp-type destination-unreachable -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type source-quench -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type time-exceeded -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type parameter-problem -j ACCEPT
  -A ufw-before-input -p icmp --icmp-type echo-request -j ACCEPT

위 코드들의 ACCEPT 부분을 모두 DROP으로 변경하거나 삭제하면 ping 요청을 거부하게 된다.

ufw numbered rules

UFW 룰들에 숫자를 붙여서 볼 수 있다. 이를 이용해 룰에 수정이나 삭제, 추가를 할 수 있다.

ufw number 보기

BASH
sudo ufw status numbered

ufw numbered 수정

BASH
sudo ufw delete 1
sudo ufw insert 1 allow from 192.168.0.100

추천 방화벽 정책

BASH
sudo ufw enable
sudo ufw allow from 192.168.0.3 to any port 22 proto tcp
sudo ufw allow 123/udp
sudo ufw allow 80/tcp
sudo ufw allow 3306/tcp
sudo ufw status


출처: http://webdir.tistory.com/206 [WEBDIR]

 

| |


      1 page / 5 page
번 호 카테고리 제 목 이름 조회수
136 리눅스 서버 ... ntp .. ... 바다아이 238
135 리눅스 서버 archlinux netstat , netstat ... 바다아이 311
134 리눅스 서버 ps , ps option 바다아이 323
133 리눅스 서버 , swap , ... swap . 바다아이 288
132 리눅스 서버 crontab , .... 바다아이 273
131 리눅스 서버 ssh , ssh 바다아이 534
130 리눅스 서버 SSH SSH , ssh-keygen rsa 바다아이 522
129 리눅스 서버 , date : () , () , 바다아이 816
128 리눅스 서버 aws lightsail, ssh .. .pem 바다아이 872
127 리눅스 서버 , ubuntu generic kernel 바다아이 1301
126 리눅스 서버 .. apt ... 바다아이 1239
125 리눅스 서버 ... ubuntu kernel compile 바다아이 1485
124 리눅스 서버 nginx http2 , . 바다아이 1321
123 리눅스 서버 psql libreadline.so.7: cannot open shared object file: No such file or directory 바다아이 1745
122 리눅스 서버 ssh .bashrc , bash .. .bash_profile 바다아이 1656
121 리눅스 서버 , , 바다아이 1675
120 리눅스 서버 rc.local ... , 바다아이 1722
119 리눅스 서버 ? - IPv4 Subnetting, (Subnet Mask) 바다아이 1802
118 리눅스 서버 TCP UDP ? 바다아이 1758
117 리눅스 서버 FTP passive(), active() 바다아이 1677
116 리눅스 서버 ftp passive .... filezilla ftp ... 바다아이 2290
115 리눅스 서버 ssh sftp ... sftp ... 바다아이 1865
114 리눅스 서버 rpm 바다아이 1934
113 리눅스 서버 /tmp ... /tmp ... tmpfs 바다아이 2460
112 리눅스 서버 archlinux ... mirror, 바다아이 1845
111 리눅스 서버 centos7 pgadmin4 .... ... pgadmin4 server mode, postgresql admin .. 바다아이 1915
110 리눅스 서버 centos 7, freebsd postfix dovecot , 바다아이 2028
109 리눅스 서버 Centos 7 Postgresql 10, 11 바다아이 1865
108 리눅스 서버 [Network] SSL / TLS 바다아이 2165
107 리눅스 서버 TLS , ssl 바다아이 2637
| |








Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 firefox 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ FreeBSD + GoLang + PostgreSQL ]
서버위치 : vultr.com 서울  실행시간 : 0.89319
to webmaster... gogo sea. gogo sea.