IT 기술 문서
Windows 방화벽 & Linux iptables/firewalld 설정 및 활용법
- it33 25일 전 2025.02.17 16:10
-
40
0
Windows & Linux 방화벽 개요
Windows와 Linux 시스템에서 보안을 강화하기 위해 방화벽을 설정하는 것은 필수적입니다. Windows는 Windows Defender 방화벽을 기본으로 제공하며, Linux에서는 iptables와 firewalld를 활용하여 네트워크 보안을 강화할 수 있습니다. 이번 포스팅에서는 Windows PowerShell을 활용한 방화벽 설정 및 Linux iptables/firewalld 활용법을 정리해 보겠습니다.
1. Windows Defender 방화벽 설정 (PowerShell)
Windows에서는 GUI를 통해 방화벽을 설정할 수도 있지만, PowerShell을 사용하면 보다 효율적으로 관리할 수 있습니다.
① 방화벽 상태 확인
# 방화벽 현재 상태 확인
Get-NetFirewallProfile
② 방화벽 활성화 및 비활성화
# 모든 방화벽 프로파일 활성화
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
# 모든 방화벽 프로파일 비활성화
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled False
③ 특정 포트 허용 (예: 80번 포트 허용)
New-NetFirewallRule -DisplayName "Allow HTTP" -Direction Inbound -LocalPort 80 -Protocol TCP -Action Allow
④ 특정 IP 차단 (예: 192.168.1.100 차단)
New-NetFirewallRule -DisplayName "Block IP" -Direction Inbound -RemoteAddress 192.168.1.100 -Action Block
⑤ 방화벽 규칙 삭제
Remove-NetFirewallRule -DisplayName "Allow HTTP"
2. Linux 방화벽 설정 (iptables)
Linux에서는 방화벽을 설정할 때 iptables를 주로 사용합니다.
① 현재 방화벽 규칙 확인
sudo iptables -L -v -n
② 특정 포트 열기 (예: 80번 포트 허용)
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
③ 특정 IP 차단 (예: 192.168.1.100 차단)
sudo iptables -A INPUT -s 192.168.1.100 -j DROP
④ 특정 포트 차단 (예: 22번 포트 차단)
sudo iptables -A INPUT -p tcp --dport 22 -j REJECT
⑤ 변경 사항 저장
sudo iptables-save | sudo tee /etc/iptables/rules.v4
3. Linux 방화벽 설정 (firewalld)
firewalld
는 최신 Linux 배포판에서 iptables를 대체하여 제공되는 동적 방화벽 관리 도구입니다.
① firewalld 서비스 상태 확인
sudo systemctl status firewalld
② 특정 포트 허용 (예: 80번 포트)
sudo firewall-cmd --permanent --add-port=80/tcp
sudo firewall-cmd --reload
③ 특정 IP 차단 (예: 192.168.1.100 차단)
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'
sudo firewall-cmd --reload
④ 방화벽 규칙 삭제
sudo firewall-cmd --permanent --remove-port=80/tcp
sudo firewall-cmd --reload
4. Windows PowerShell vs. Linux iptables/firewalld 비교
기능 | Windows PowerShell (Defender) | Linux iptables | Linux firewalld |
---|---|---|---|
방화벽 상태 확인 |
|
|
|
포트 허용 |
|
|
|
특정 IP 차단 |
|
|
|
설정 저장 방법 | 자동 저장 |
|
|
인터페이스 | GUI & CLI 지원 | CLI 전용 | CLI & GUI 지원 |
5. 실무 활용 사례
① 웹 서버 보호 (80, 443 포트만 허용)
Windows (PowerShell):
New-NetFirewallRule -DisplayName "Allow Web Traffic" -Direction Inbound -LocalPort 80,443 -Protocol TCP -Action Allow
Linux (iptables):
sudo iptables -A INPUT -p tcp --match multiport --dports 80,443 -j ACCEPT
Linux (firewalld):
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
② SSH 접속 보안 강화 (22번 포트 허용 후 특정 IP만 접속 가능)
Windows (PowerShell):
New-NetFirewallRule -DisplayName "Allow SSH from Trusted IP" -Direction Inbound -LocalPort 22 -Protocol TCP -RemoteAddress 192.168.1.10 -Action Allow
Linux (iptables):
sudo iptables -A INPUT -p tcp --dport 22 -s 192.168.1.10 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
Linux (firewalld):
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.10" port port=22 protocol=tcp accept'
sudo firewall-cmd --reload
방화벽을 활용한 보안 최적화
PowerShell과 Linux의 iptables/firewalld를 활용하면 서버 및 네트워크 보안을 강화할 수 있습니다.
각 운영체제에 맞는 방법을 활용하여 효율적으로 방화벽을 설정하세요!
- 이전글Windows & Linux에서 VPN 서버 구축 및 보안 강화 방법2025.02.17
- 다음글Windows & Linux 네트워크 자동화 스크립트 만들기2025.02.17
댓글목록
등록된 댓글이 없습니다.