새소식

인기 검색어

Linux

5/18 firewall, rich 규칙 실습

  • -

https://drive.google.com/drive/folders/1LY5AQ5lYYTqdjx7NmIDyLRPFmx9p3mYQ

 


firewall-cmd --set-default-zone 
nmcli dev stat
firewall-cmd --list-all

firewall-cmd --get-default-zone

firewall-cmd --change-interface

                        add / remove

firewall-cmd --add-service

                       --add-port

                       --add-source

 

<방화벽 실습>
1. 가상머신에 인터페이스 추가
  1)그냥 추가 2) default-zone 변경후 추가
2. 인터페이스의 영역을 변경
  1) change 옵션으로 2) remove /add 옵션으로
3. 접근규칙설정
  1) ssh 서비스를 허용 X
  2) ssh 설정파일에서 다른포트로 변경후 방화벽에는 ssh서비스 이름으로 등록
  3) ssh에 대해서 포트번호로 접근허용등록
  4) 가상머신에서만 접속할수있게 주소로 접근제어
  
  
984  sudo firewall-cmd --list-all
  985  nmcli dev status
  986* 
  987  sudo firewall-cmd --change-interface=eth1 --zone=dmz
  988  sudo firewall-cmd --list-all
  989  sudo firewall-cmd --list-all --zone=dmz
  990  sudo firewall-cmd --remove-interface eth1
  991  sudo firewall-cmd --add-service=nfs
  992  sudo firewall-cmd --remove-service=nfs
  993  sudo firewall-cmd --add-service=nfs --zone=home
  994  sudo firewall-cmd --remove-service=nfs --zone=home
  995  sudo firewall-cmd --list-service --zone=home
  996  firewall-cmd --change-interface=public
  997  sudo firewall-cmd --change-interface=public
  998  sudo firewall-cmd --change-interface=eth1 --zone=public
  999  sudo firewall-cmd --list-all
 1000  sudo firewall-cmd --list-all --zone=public
 1001  ip addr show
 1002  sudo firewall-cmd --remove-service=ssh --zone=public
 1003  sudo firewall-cmd --list-services 
 1006  sudo firewall-cmd --list-interfaces --zone=public
 1007  sudo vi /etc/ssh/sshd_config
 1008  setenforce 0
 1009  sudo setenforce 0
 1010  systemctl restart sshd
 1011  grep ^Port /etc/ssh/sshd_config
 1012  sudo grep ^Port /etc/ssh/sshd_config
 1013  sudo firewall-cmd --list-interfaces --zone=public
 1014  ssh root@192.168.122.205
 1015  ssh root@192.168.122.205 -p 2222
 1016  sudo firewall-cmd --add-port=2222/tcp --zone=public
 1017  ssh root@192.168.122.205 -p 2222
 1018  history

*마지막 문제
3  firewall-cmd --add-source=192.168.122.0/24
or
4  firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.122.0/24 service name=ssh accept'

https://blog.naver.com/PostView.nhn?blogId=nahejae533&logNo=221270609423&from=search&redirect=Log&widgetTypeCall=true&directAccess=false 참고하기

http://asq.kr/Zi1G

<rich 규칙 실습>
1)http 서비스를 모두 허용하도록 설정
2)nfs 서비스를 허용(단, 192.168.122.0/24에만)
3)work 영역에 samba 서비스를 거부하면서 syslog를 분당 3개씩 info레벨로 기록하도록 설정해라
4)내 시스템의 2000/tcp 포트로 접근하면 모두 192.168.122.20번 시스템의 2000/tcp 포트로 전달하도록 설정
5)192.168.122.1 시스템에서 내 시스템의 3000/tcp포트로 접근하면 모두 192.168.122.20번 시스템의정
2021.tcp 포트로 전달하도록 설정

+@
1. public을 기본영역으로 설정
2. eth0 - public / eth1 - work / eth2 - internal에 할당
3. public영역에는 ssh, dns, nfs, ntp 만 허용 (ssh,dns는 영구)
4. work 영역에는 ssh로 192.168.0.0/24 에서만 접근허용
5. internal 영역에는 192.168.10.10/32 에서의 모든 패킷허용

permanent 영구설정

----------------------------------------------------------------------------------
<rich 규칙 답>

# firewall-cmd --get-default-zone			(확인)
# firewall-cmd --set-default-zone=work			(기본영역을 work 로 변경)
# firewall-cmd --change-interface=eth0 --zone=internal	(eth0 인터페이스를 internal 영역으로 변경)
# firewall-cmd --remove-interface=eth0			(eth0 인터페이스를 영역에서 제거)
# firewall-cmd --add-interface=eth0 --zone=dmz		(eth0 인터페이스를 dmz 영역에 추가)

기본영역이 public 이고 인터페이스가 기본영역에 있는 eth0 라고 가정하고 3번 풀이
client # ssh USER@IP				다른 시스템에서 접속 확인(되는게 정상)

server # firewall-cmd --remove-service=ssh

client # ssh USER@IP				다른 시스템에서 접속 확인(안되야 정상)

server # vim /etc/ssh/sshd_config
	Port 2222			-> 주석 제거 및 포트 번호 변경
server # setenforce 0				SELinux 설정 비활성화 (안하면 서비스 에러발생)
server # systemctl restart sshd			항상 서비스 설정 변경 시 서비스 재시작

client # ssh USER@IP				다른 시스템에서 접속 확인(안되야 정상)
client # ssh USER@IP -p 2222			다른 시스템에서 접속 확인(안되야 정상)

server # firewall-cmd --add-service=ssh

client # ssh USER@IP				다른 시스템에서 접속 확인(안되야 정상)
client # ssh USER@IP -p 2222			다른 시스템에서 접속 확인(안되야 정상)

server # firewall-cmd --add-port=2222/tcp

client # ssh USER@IP				다른 시스템에서 접속 확인(안되야 정상)
client # ssh USER@IP -p 2222			다른 시스템에서 접속 확인(접속 가능)

server # firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.122.20/32 port port=2222 protocol=tcp accept'
	-> 특정 시스템(20번)에서만 2222포트로 접근 가능하게 설정
	기본 포트로 ssh 사용 시 "service name=ssh" 로 대체 가능


4. rich규칙
1)
# firewall-cmd --add-service=http
# firewall-cmd --add-rich-rule='rule service name=http accept'
2)
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.122.0/24 service name=nfs accept'
3)
# firewall-cmd --add-rich-rule='rule service name=samba log prefix=abc level=info limit value=3/m reject' --zone=work
4)
# firewall-cmd --add-forward-port=port=2000:proto=tcp:toaddr=192.168.122.20
5)
# firewall-cmd --add-rich-rule='rule family=ipv4 source address=192.168.122.1/32 forward-port port=3000 protocol=tcp to-port=2021 to-addr=192.168.122.20'





----

SElinux : 시스템 보안을 위해 사용

1. 동작모드 - Enforcing / Permissive / Disabled : 활성화 여부

2. 컨텍스트 - 파일/디렉토리에 대한 접근제어

3. 부울 - 서비스 동작 별 제어

4. 포트 - 네트워크 포트 별 서비스 할당

'Linux' 카테고리의 다른 글

5/20 NFS 실습  (0) 2021.05.20
5/17 find 명령어, ssh, ntp  (0) 2021.05.17
5/11 파티션 생성, mount 실습  (0) 2021.05.11
5/11 스케줄링(crontab ..)  (0) 2021.05.11
5/11 접근제어리스트(ACL) 설정 관리  (0) 2021.05.11
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.