인터넷 라우터에서 포트를 열어야 하지만 해당 포트가 쉽게 검색되거나 열거되는 것을 원하지 않는다고 가정해 보세요.
해커/회사가 열린 포트를 스캔하는 것을 방지하는 방법은 무엇입니까?
답변1
/etc/config/firewall
다음을 편집 하고 추가합니다.
config include
option enabled '1'
option type 'script'
option path '/etc/firewall.user'
option fw4_compatible '1'
- 다음 내용으로 파일을 만듭니다
/etc/firewall.user
.
set -x # enable verbose mode
nft add set inet fw4 scanner { type ipv4_addr\; flags timeout\; timeout 24h\; }
nft add set inet fw4 good { type inet_service\; elements = { \
5000, \
10000 \
}}
nft add set inet fw4 known { type ipv4_addr\; flags constant, interval\; elements = { \
35.203.210.0/24, \
35.203.211.0/24, \
45.128.232.0/24, \
64.62.156.0/24, \
64.62.197.0/24, \
65.49.1.0/24, \
94.156.71.0/24, \
107.170.0.0/16, \
123.254.109.0/24, \
152.32.128.0/17, \
162.142.125.0/24, \
162.216.149.0/24, \
162.216.150.0/24, \
162.243.0.0/16, \
167.94.138.0/24, \
167.94.145.0/24, \
167.94.146.0/24, \
185.180.143.0/24, \
185.242.226.0/24, \
192.241.128.0/17, \
193.163.125.0/24, \
198.235.24.0/24, \
198.199.96.0/20, \
199.45.154.0/24, \
206.168.32.0/22, \
205.210.31.0/24 \
}}
nft insert rule inet fw4 input_wan ip saddr @scanner counter log drop
nft insert rule inet fw4 input_wan tcp dport \!= @good ct state new tcp flags \& \(fin\|syn\|rst\|ack\) == syn update @scanner { ip saddr }
nft insert rule inet fw4 input_wan ip saddr @scanner update @scanner { ip saddr }
nft insert rule inet fw4 prerouting ip saddr @scanner counter log drop
nft insert rule inet fw4 prerouting ip saddr @known counter drop
사용자 방화벽 스크립트를 실행 가능으로 표시합니다.
chmod +x /etc/firewall.user
이제 규칙을 적용할 수 있습니다:
fw4 restart
.
설명 메모
- 이 세트에는 모든 호스트에 열려 있는 포트 목록을 제외하고
@scanner
모든 포트를 열려고 시도하는 IP가 포함되어 있습니다 .@good
내 WiFi 라우터가 상당히 오래되고 약하며 그룹의 너무 많은 레코드를 충분히 빠르게 처리할 수 없기 때문에 24시간 후에 만료됩니다. 이것을24h
다음과 같이 변경할 수 있습니다7d
. 그것은 당신에게 달려 있습니다. - 이
@known
그룹은 제가 일주일 정도 동안 수집한 것입니다. 포트 스캔이 완료된 네트워크입니다. - 이것을 테스트해 보세요
OpenWRT 23.xx
. 향후 버전에서는 작동하지 않을 수 있습니다.
중요한 정보
- 화이트리스트에 있는 IP 주소에 대한 포트만 여는 경우 전체 규칙 세트가 중복됩니다.그러나 때로는 여행을 하고 알 수 없는 위치에서 홈 네트워크에 액세스해야 하는 경우가 있으므로 이 규칙이 설정됩니다.
- 또 다른 해결책은 포트 범핑을 활성화하는 것입니다. 그러나 스마트폰과 같은 장치에서 이 기술을 사용하는 것이 항상 사소하거나 불가능한 것은 아닙니다. 특히 기술에 익숙하지 않은 다른 사람들이 사용할 수 있도록 포트를 LAN으로 전달해야 하는 경우에는 더욱 그렇습니다.