본문 바로가기

해킹

해킹을 막는 방화벽에 대해 알아보자!

오늘의 주제는 해킹을 막는 방화벽에 대해 알아보자! 입니다.

실제 방화벽은 해킹에 사용되는 소프트웨어 취약점을 막는게 아니라 접근할 수 있는 경우의 수를 줄이는 역할을 합니다.

 

예시를 들어보죠. 우리는 웹 서버가 있습니다. 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

 

지금까지 방화벽에 대해 알아보았습니다. 어느 기업이나 방화벽을 사용하고 있어 알아두시면 좋습니다.

방화벽 정책에 따라 허용되야할 것이 차단되거나, 차단되어야 할 것들이 허용되는 경우가 있다면

그것만으로도 작은 취약점이 될 수 있습니다.

그리고 작은 취약점들이 모여 침해사고가 됩니다. 꼭 기억하시길 바랍니다.

 

만약 궁금한점이 있다면 댓글로 남겨주세요! ^^