메뉴 건너뛰기

imitator

외부아이피를 막아보자

2015.09.09 14:26

관리자 조회 수:5260

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

이 분이 사용하시는 서버는 내부 및 외부 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


번호 제목 글쓴이 날짜 조회 수
81 우분투(Ubuntu) 16.04 LTS 네트워크 드라이브를 eth0로 변경하는법 [3] file 관리자 2016.04.22 6284
80 쉘 스크립트 expect에서 spawn 파이프(pipe) 사용 방법 [1] file 관리자 2018.02.21 6193
79 umount target is busy 강제 해제하는 방법 관리자 2017.02.10 5883
» 외부아이피를 막아보자 file 관리자 2015.09.09 5260
77 리눅스 centos6에서 java 버전 변경하기 관리자 2016.12.26 4982
76 메가레이드의 상태를 간단하게 확인할수 있는방법 file 관리자 2016.06.16 4849
75 리눅스 CentOS 마인크래프트 서버 spigot 1.11.2 설치(셋팅)방법 [1] file 관리자 2017.02.27 4632
74 우분투 PC Virtual Box 설치 및 ISO 이미지 부팅 file 관리자 2015.02.06 4325
73 gdisk로 대용량 파티션을 생성하기 file 관리자 2016.07.22 4003
72 우분투 16.04 /var/lib/dpkg/lock 잠금 파일을 얻을 수 없습니다 해결법 [1] file 관리자 2017.07.20 3902
71 우분투에서 로케일(locale)을 변경하기 관리자 2015.10.20 3732
70 Ubuntu 16.04 apt-get 패키지 설치 오류 발생시 해결방법 file 관리자 2017.10.10 3628
69 오픈스택 미타카 NoValidHost: No valid host was found. There are not enough hosts available. file 관리자 2017.02.15 3556
68 우분투 시디 굽기 프로그램 브라세로 [1] file 관리자 2015.01.16 3124
67 리눅스 LSI MegaRAID SAS 9261-8i & SAS 9361-8i 펌웨어 설치 [1] file 관리자 2015.12.10 2937
66 centos 6 tomcat 설치 [1] file 관리자 2016.12.09 2688
65 apache2 ProxyPass 사용 중 503 에러 발생시 해결 방법 관리자 2018.05.21 2605
64 CentOS 6 nginx php-fpm mysql을 yum(rpm) 설치하는 방법 file 관리자 2016.11.04 2578
63 CentOS 8 APM(Apache + PHP + mariadb) yum 설치 방법 file 관리자 2019.12.24 2137
62 Read-only file system 관리자 2014.12.30 2060