메뉴 건너뛰기

imitator

외부아이피를 막아보자

2015.09.09 14:26

관리자 조회 수:5368

이 글은 제가 아는분이 실험을 요청하신게 있어 정리 후 작성한글입니다.

이 분이 사용하시는 서버는 내부 및 외부 IP를 같이 이용하는 서버로 22포트와 80번 포트가 

내부 IP로는 접근이 가능하되 외부 IP로는 접근할수 없도록 했으면 좋겠다고 하셔서 실험을 진행해봤습니다.


주의사항 : 이 글은 실험차 진행해보고 올린 글입니다. 혹시나 따라하시다가 발생하는 문제에 관해서는 실험하는 본인에게 책임이 있습니다.


포트포워딩 설정


8.JPG


실험하기위해서 공유기의 포트포워딩을 이용했습니다.
제 공유기는 IPTIME이며 여러 사람들이 범용적으로 많이 이용하시는 공유기입니다. 



1) IPTABLES 설정


1.jpg


1. 실험할 서버입니다. (버추얼 박스 이용)


# 가상서버 CentOS 6.6 64bit

# 초기세팅이며 APM은 설치되어있지 않습니다.



2.JPG


2. iptables를 확인하였습니다. 초기세팅이라 깔끔한 상태입니다.


# iptables -nL


3.JPG


3. 우선 원격접속 포트와 웹 서버 포트를 내부에서는 접근이 가능하되 외부에서는 접근을 할수 없게 하고 싶다고 하셔서 테스트로

    먼저 SSH를 막아보았습니다. 초기 세팅이어서 apm 설치를 하지않았지만. 아래의 방법을 응용해서 80번 포트를 iptables에

   적용해도 큰 문제는 없을것같습니다.


# iptables -A INPUT -s 192.168.0.0/24  -p tcp --dport 22 -j ACCEPT = 내부 아이피 전부 허용

# iptables -A INPUT -p tcp -m tcp --dport 22 -j DROP = 그 이외 IP는 접근을 못하도록하는 설정


10.png


4.  스마트폰에 와이파이를 설정한후 SSH 원격접속에 성공하였습니다.

    와이파이를 설정하였기때문에 공유기에서 192.168. 의 IP를 할당 받은걸로 확인됩니다.


11.png


13.png


5. 와이파이를 해제하고 다시 SSH 접근을 시도하였으나 실패한 화면입니다.
   ipconfig.kr에 접속해서 확인하면 제 스마트폰은 211.로 시작하는 IP를 할당 받은것으로 확인됩니다.


ipconfig.kr


4.JPG


6. 목표인 외부 아이피 차단에는 성공했으니 이번엔 iptalbes의 설정을 바꿔서 룰에서 제거했습니다.

   iptables를 다시 확인하면 룰이 정상적으로 제거된것을 확인할수 있습니다.


# iptables -D INPUT -s 192.168.0.0/24  -p tcp --dport 22 -j ACCEPT

# iptables -D INPUT -p tcp -m tcp --dport 22 -j DROP


2) hosts.allow & hosts.deny 설정 (SSH만)


5.JPG


1. hosts.allow 는 접속을 허용할 IP를 적을수있습니다. 이렇게 설정하면 접속할 IP 대역을 허용해줄수있습니다.


# sshd:192.168.


6.JPG


2. hosts.deny은 접속을 허용하지 않을 IP를 적어주면됩니다. ALL로 적어주면 hosts.allow에 설정된것을 제외한
   나머지는 접속을 할수없게 됩니다.


# sshd: ALL


7.JPG


3. sshd를 재시작하면 설정이 적용됩니다. 


# service sshd restart