방화벽 구축 목적
최근 모 회사 직원의 개인 실수로 인해
개인 구글 메일이 해킹이 되면서,
업무 메일을 개인 메일로 사용하는 사람이 있다는 것이 이상하긴 하지만
개인이 해킹이 되면 회사도 피해를 볼 수 있다는 점에서
보안을 향상 시킬수 있는 방법을 곰곰히 생각했습니다.
본인 아니더라도 가족 누군가의 실수로 바이러스에 감염 될수도 있는 가능성을 배제 할순 없을거 같습니다.
PC단말에서 바이너리 실행파일이나 메크로 코드들은
윈도우 디펜더로 어느정도 보안을 하지만
구형 IOT 장치나 버전이 낮은 소프트웨어에 대한 제로데이 공격에 대비하기 위해서
방화벽을 구축 해봤습니다.
상용 제품의 경우 가격이 비싸서
소프트웨어 방화벽 OS 를 하드웨어에 직접 설치해서 구축 해보려는 분들에게 도움이 되길 바랍니다.
개인 메일에 업무 관련 자료나, 개인 나스 파일에 업무 관련 자료를 올려두시는분들은
삭제를 하시거나, 별도 외장하드를 사용해서 물리적으로 분리해서 사용하시는것을 권장 드립니다.
보안은 어쩔수 없이 편리함과 귀찮음 사이에서 귀찮음을 선택해야 합니다.
OPNsense 를 선택한 이유
저는 당근에서 포티게이트 방화벽을 (라이센스 없는것을) 5만원에 구매하여 2년간 잘 사용하고 있었는데
아무래도 최신 패치를 받을수 없는 제품이다보니 마음에 들지 않아서 철거하였습니다.
그러다가 다들 유니파이 유니파이 하길래 유니파이 제품으로 사고 싶은데
돈이 없어서 좋은 방화벽 없나 찾아보던중에
pfSense와 OPNsense를 알게 됬습니다.
pfSense의 무료버전도 쓸만하다고 하는데, 유료 기능이 대부분이라고 하더군요
OPNSense는 pfSense에서 파생 된거기 때문에 더 좋다는 말이 있어서
OPNSense로 선택했습니다.
그런데 막상 설치해보니 추가적인 플러그인을 설치하게되면 기본 기능만 사용 가능하고
추가 기능들은 구독이나 결재를 해야지만 사용이 가능하더군요
뭐 기본기능만으로도 왠만한 방화벽보다 성능이 좋아서 추가결재할 필요는 없어 보입니다.
방화벽 구축을 위해서 준비해야 되는것은
하드웨어에 OS 설치를 할 수 있어야 하고
기초적인 컴퓨터 과학에 대한 이해도가 필요하고
네트워크에 대한 전반적인 이해도가 필요합니다.
방화벽 구축 가이드
저는 김마늘님 블로그를 읽어보고 너무 내용을 잘써주셔서 이정도면 저도 할수 있겠다고 생각해서
바로 도전을 스타트 하였습니다.
https://tech-recipe.tistory.com/23

나머지는
유튜브 영상들을 참고하고
AI에게 물어보며 구축 했습니다.
AI가 알려주는것들은 부정확하지만
밉지만 고마운 녀석인것 같네요
아래는
이것저것 만지작하고 삽질 하면서 알게된 설정내역들 입니다.
추후 구축시 참고 바랍니다.
본글의 내용은 가이드 느낌이 아니고
김마늘 님이나 유튜브 등을 보고 개인의 입맛대로 구축을 하시면서
방화벽을 셋팅 할때
저 사람은 이렇게 설정했구나~ 이런 느낌으로만 봐주시면 감사하겠습니다.
DHCP 할당
우선 아이피를 고정해서 써야하니
kea dhcp Reservations 에서 할당 하였습니다.
아이피 할당이 가장 첫번째 작업인데 인터넷에 자료를 찾아봐도
구자료가 대부분이라 걸러서 자료를 봐야했습니다.
인터넷에 ISC가 종료가 됬고 뭐 어쨌는둥
dnsmasq DNS&DHCP 가 기본적으로 탑재가 됬다는데
kea가 대세가 될거라는둥
뭘써야될지는 모르겠지만
쉬운걸 택할거면 dnsmasq DNS&DHCP
어려운걸 택할거면 kea 라고 했습니다.
그렇다면 저는 kea로 선택 하지요
아무튼 kea로 구축하는데 dnsmasq DNS&DHCP 를 사용하지도 않는데 아이피가 할당되고
GUI에서는 삭제도 안되더군요
SSH 열고 접속해서 해당 csv 파일을 직접 지우니까 삭제가되고 kea가 우선권을 갖게 되었습니다.
포트포워딩
그 다음은 포트포워딩 설정을 해야겠지요
기존 운영중인 서버들에 대해서 NAT 포트포워딩 설정 할때
고생좀 씨게 했습니다.
내부망 외부망 둘다 써야되는 환경이다보니
NAT reflection 이란것도 처음알게되고

고급설정에서 Reflection for port forwards 와 Automatic outbound NAT for Reflection 을 활성화 해야 되더군요
모든 기능이 정상화 되고나서 잠에 들수 있었습니다.
저는 클라우드플레어 터널링 하여 공인아이피를 숨기고 사용하기 때문에
설정이 조금더 복잡합니다.
이런 경우는 많이 없을테니 터널링에 대한 부분은 생략 하겠습니다.

플러그인 설치
그다음부터는 AI가 추천해준 기능들을 활성화 했습니다
unbound dns 로 url 차단 기능 사용하고

ips ids 기능 사용하고

Zenarmor 플러그인 설치


아이 게임도 차단 할수 있어서 좋고


url을 지정해서 차단할수도 있습니다.

정말 다양한 로그를 볼수있습니다
어디 url에 접근했는지, 어떤 세션에 연결되어 있는지 등등
보안에 관심이 있으신분들은 한번 구축해보는것을 추천 드립니다.
기존 공인아이피 변경하게 되면 까다로우므로 이 설정도 추천드립니다.

webRTC 설정
그리고 외부에서 카메라가 안보이는경우는 go2rtc 설정을 변경하면 됩니다

홈어시스턴트 구성요소


홈어시스턴트 대쉬보드

홈어시스턴트 연동 방법
https://github.com/travisghansen/hass-opnsense
펌웨어 업데이트 주의
그런데 홈어시스턴트에서 OPNsense펌 웨어 업데이트가 뜨길래 펌웨어를 누르니 GUI 모드로 진입이 안되서, single 모드로 진입해서, 쉘로 들어가서, config.xml 파일을 usb 마운트해서, 설정파일 백업해서, 새로 설치하고, 설정을 복원하는 삽질을 경험 했네요
펌웨어 업데이트가 안정성이 있는게 아니였나봅니다.
홈어시스턴트는 새로운 업데이트가 나오면 에러 처리하는건 이제 왠만한건 다 고칠 자신이 있는데,
OPNSense 같은 경우에는 재부팅 누르고 GUI 콘솔에 접속이 안되면 모니터로 연결해야되는데, 여분의 모니터와 키보드, 마우스가 없다보니 더 고생한거 같아요.
당근에서 3만원 짜리 여분 모니터 사서 현관 단자함에 하나 구비해놔야곘어요 ㅎㅎ
추측으로는 펌웨어 업데이트를 하는중에 BIOS 모드에서 y나 엔터를 눌러줘야 했었는지는 모르겠지만 30분이 지나도 GUI에 접속할수 없어서 강제 종료를 하고나서부터 먹통이 되버렸어요.
펌웨어 업데이트중에 강제종료를 하게되면 노답이 된다는걸 다시 깨닫게 됬네요 ㅎㅎ
왜 이런문제가 생겼을까 곰곰히 생각해봤는데 igc0 포트가 LAN 포트이고 igc1 포트가 WAN 포트로 기본적으로 되어 있는데
저는 그게 싫어서 WAN 포트를 igc0 으로 설정해서 사용중이였거든요.
공인아이피 변경하게 되면 귀찮으니까 MAC주소를 강제로 변경해서 써서 그런건지, 뭐때매 부팅이 안됬는지 모르겠어요.
아무튼 펌웨어 업데이트는 조심해서 해야되겠다는걸 배웠네요
'정보보안 월드 > 정보보안 이야기' 카테고리의 다른 글
| 공용 충전기는 어떻게 당신의 스마트폰을 해킹하는가? (0) | 2025.09.24 |
|---|---|
| KT 소액결제 해지 차단 방법 - 해킹 피해 사전 차단 신청 하세요 (0) | 2025.09.12 |
| Multi-Threaded SYN/UDP Flood Simulator for DDoS Defense Testing (0) | 2025.09.03 |
| 롯데카드 해킹 CVE-2017-10271 취약점 점검 스크립트 (0) | 2025.09.02 |
| OpenSSH CVE-2024-6387 'regreSSHion' 취약점 분석 및 대응 방안 (0) | 2025.08.29 |