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'
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
소중한 공감 감사합니다