오늘의 주제는 해킹을 막는 방화벽에 대해 알아보자! 입니다.
실제 방화벽은 해킹에 사용되는 소프트웨어 취약점을 막는게 아니라 접근할 수 있는 경우의 수를 줄이는 역할을 합니다.
예시를 들어보죠. 우리는 웹 서버가 있습니다. telnet으로 접속하여 서버 관리가 어려운 '철수'씨는
접근한다면 관리자권한을 주고 원하는 명령어를 실행할 수 있는 웹 페이지 만들었고
이제 '철수'씨는 텔넷으로 접속하지 않고 웹페이지에 접속하여 서버를 관리할 수 있습니다.
그러나 누구나 이 페이지에 접근할 수 있게된다면 서버의 관리자권한을 주기 때문에
진짜 서버의 관리자인 '철수'씨 외에 누구라도 서버의 관리자 권한을 갖게 되는데요.
하지만 방화벽을 이용하면 우리가 의도했던대로 '철수'씨만 접속할 수 있는 관리자용 웹 서버가 됩니다.
윈도우와 리눅스 모두 방화벽을 가지고 있는데요. 방화벽은 각 운영체제마다 룰을 넣는 방식은 다르지만
IP를 차단하거나, 포트를 차단하는 등 기능은 같습니다.
윈도우의 경우 정책을 넣는 방법이 복잡해 단순한 리눅스로 설명합니다.
리눅스 방화벽은 많지만 쉽게 사용할 수 있는 ufw가 있으며, 사용하기 위해 설치가 필요합니다.
만약 ufw 명령어가 없다면 아래 명령어로 설치할 수 있습니다.
sudo apt-get install ufw
방화벽은 여러 규칙을 만들어 사용하게 되실텐데 방화벽의 가장 기본 규칙은
모든 IP와 포트에대해 차단하는 정책입니다. 그래야 알려지지 않은 접근에 대해 차단할 수 있죠
ufw를 사용하여 아래의 명령어를 이용하여 차단정책을 만들 수 있습니다.
ubuntu@ip-172-31-36-255:~$ sudo ufw deny from any
Rules updated
Rules updated (v6)
그리고 사용하고 싶은 포트와 IP가 접근하도록 허용하는 정책을 만드시면 되는데요.
예를 들어 웹 서버(80번 포트)가 외부에서 접근하도록 만드시고 싶으시면 명령어는 아래와 같습니다.
ubuntu@ip-172-31-36-255:~$ sudo ufw allow 80
Rules updated
Rules updated (v6)
이후 방화벽 정책을 보기 위해서는 아래와 같은 명령어가 있습니다.
ubuntu@ip-172-31-36-255:~$ sudo ufw status numbered
Status: active
To Action From
-- ------ ----
[ 1] Anywhere DENY IN Anywhere
[ 2] 80 ALLOW IN Anywhere
지금까지 방화벽에 대해 알아보았습니다. 어느 기업이나 방화벽을 사용하고 있어 알아두시면 좋습니다.
방화벽 정책에 따라 허용되야할 것이 차단되거나, 차단되어야 할 것들이 허용되는 경우가 있다면
그것만으로도 작은 취약점이 될 수 있습니다.
그리고 작은 취약점들이 모여 침해사고가 됩니다. 꼭 기억하시길 바랍니다.
만약 궁금한점이 있다면 댓글로 남겨주세요! ^^
'해킹' 카테고리의 다른 글
해킹공격을 막을 수 있는 IPS를 알아보자! (0) | 2020.04.08 |
---|---|
KISA 취약점 신고해서 포상금이 나왔습니다. (5) | 2020.04.07 |
리눅스 설치 후 SSH 설정하는 방법, 포트 및 개인키 설정 (0) | 2020.04.06 |
해킹을 하려면 C언어, php, python을 알아야할까? (3) | 2020.04.05 |
C언어 독학, 해킹을 배우려면 필요한가? (3) | 2020.04.04 |