- NEW초롱이의 하루
- kisa
- 길은 가면, 뒤에 있다
- C언어 예술가
- Zer0 day - Zer0 day
- Information Security
- Secure-EDU
- 앙큼한유채's 일상 Story
- Library of Ezbeat (잠정 폐쇄)
- The Factory
- 안드
- 모후모후의 커뮤니티
- 공학도의 잡다한 시선
- 안드2
- IT속에 코코아
- IP주소검색(whois)
- IP주소검색(좌표포함)
- 소프트웨어 경력 관리
- 해저 케이블 지도
- MAC주소검색
- IANA
- 포트번호검색
- 자신의IP확인
- 웹페이퍼캡처
- 나의패스워드보안등급
- 웹 취약점 분석
- IT용어정리
- GitHub
- 라이브러리 모음
- 웹마당넷
- 시스템콜참고
- BCD 변환
- 보안뉴스
- 코딩도장(C, Python)
- 백준알고리즘
- 코딩테스트 연습
- 웹 사이트 테스트
- 스크립트꾸미기
- ctf대회목록
- 전자신문
- hash 크랙
- CVE
- 도메인등록
- N클라우드
- BugBountyList
- 칼리공식사이트
- CR4FTING BOX
- 아스키코드 변환
- 웹 사이트 통계 및 평가
- PDF변환
- AWS 및 클라우드 정보
- 가상화 및 서버관련
- 티오리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- GPIO
- Tkinter
- Shell script
- 메소드
- RaspberryPi
- 리눅스
- 쉘 스크립트 기초
- System
- 쉘 스크립트
- 그라파나
- synology
- GUI
- Linux
- JSP
- API
- LEVIATHAN
- Python
- nginx
- 클라우드
- centos docker
- 네트워크
- docker
- ACL
- 안드로이드
- Java
- 자바
- 프로젝트
- 쉘 스크립트 if문
- Android
- 라즈베리파이
- Today
- Total
IT창고
리눅스 iptables 본문
리눅스의 iptables는 커널의 IP 패킷 필터링(Packet Filtering) 기능을 하는 Netfilter에 규칙을 설정하고 관리하는 도구입니다.
체인이라는 방향성을 가진 규칙을 연결한 테이블이라고 할수있습니다. packet filtering은 네트워크를 통과하는 모든 패킷들은 패킷 헤더에 출발지와 목적지 그리고 어떤 프로토콜을 이용하는지에 대한 정보를 가지고 있습니다.
iptables를 설정해보겠습니다.
먼저 리눅스에서 service iptables start를 입력해서 데몬을 활성화시키고 chkconfig --list iptables 로 확인합니다.
iptables의 정책으로 OUTPUT, FORWARD, INPUT 체인이 있습니다. 정책 설정은 iptables -P INPUT DROP, iptables -P OUTPUT ACCEPT 와 같이 해줍니다. iptables -F 를 입력하면 iptables의 모든 정책을 초기화시켜서 깨끗하게 합니다. 만약 ssh로 접속한 상태에서 iptables -F를 입력했다면 ssh접속도 해제될텐데 iptables -A INPUT -p tcp --dport 22 -j ACCEPT를 콘솔에 입력해주면 다시 ssh에 접속할수 있습니다.
테스트를 해보면 vi /etc/resolv.conf 파일에 ip를 8.8.8.8로 설정해두고 시작하겠습니다.
iptables설정 형식은 iptables -A INPUT -p tcp -[s/d IP주소] --[d/s PORT번호] -j [ACCEPT/DROP] 입니다.
A리눅스에서 B리눅스(ip는 192.168.1.25)로 ssh접속을 막는다는 가정하에 A리눅스에 iptables -A INPUT -p tcp -s 192.168.1.25 --dport 22 -j DROP 를 입력하면됩니다. C리눅스(192.168.1.26)에서 A리눅스로 ssh접속을 허용하려면 iptables -A INPUT -p tcp -s 192.168.1.26 --dport 22 -j ACCEPT 를 입력하면됩니다.
자신이 입력한 정책을 직접 확인하려면 iptables -L 혹은 iptables -nL를 입력하면 현재 iptables정책 상태를 확인할수있습니다.
정책을 많이 설정했다면 정책을 삭제하는 방법도 있습니다. 정책은 INPUT, FORWARD, OUTPUT 각각의 체인안에서 가장 위에있는 정책이 1번이고 그다음 아래에 있는게 2번 순서대로 흘러갑니다. 만약 INPUT체인안에 3번째 정책을 삭제하고 싶다면 iptables -D INPUT 3 를 입력하면 됩니다. 그리고 정책상 정책순서를 가장 먼저 올려야할경우도 있습니다 그럴 경우 예로들어 iptables -I INPUT 1 -p tcp -s 192.168.1.25 --dport 22 -j DROP 를 입력하면됩니다 여기서 I옵션이 정책을 1번으로 올립니다. 그리고 특정 ip만 개방하는 법말고도 모두 개방할수도 있습니다 예로 ptables -A INPUT -p tcp --sport 80 -j ACCEPT 를 입력하면 80번 포트로 모두 개방합니다.
'서버운영 > Linux' 카테고리의 다른 글
리눅스 웹 서버 사용자 디렉토리 (0) | 2018.07.18 |
---|---|
CentOS 7 설치 및 환경설정 (0) | 2018.06.12 |
리눅스 WEB3 설정 (0) | 2017.10.15 |
리눅스 WEB2 설정 (0) | 2017.09.30 |
리눅스 WEB 설정 (0) | 2017.09.28 |