iptables란 넷필터 프로젝트에서 개발했으며 광범위한 프로토콜 상태 추적, 패킷 애플리케이션 계층검사, 속도 제한, 필터링 정책을 명시하기 위한 강력한 매커니즘을 제공한다.
1.iptalbes 설치 유무 확인방법
-> CentOS 기준으로 웬만한 버전에는 기본적으로 설치 되어 있다.
아래 명령어로 확인 가능하다.
[root@serverhosting155-6 ~]# rpm -qa | grep iptables

만약에 설치가 되어있지 않다면 아래 명령어로 설치하면 된다.
[root@serverhosting155-6 ~]# yum -y install iptables
2. 상태 확인
[root@serverhosting155-6 ~]# chkconfig --list

3.서비스를 시작프로그램에 등록한다.
[root@serverhosting155-6 ~]# chkconfig iptables on
4.서비스를 시작한다.
[root@serverhosting155-6 ~]# service iptables start
#참고
-> 기본적으로 iptables 의 위치는 /etc/sysconfig/iptables 이다.

#용어정리 타임
우선 iptables에는 테이블이라는 광범위한 범주가 있는데, 이 테이블은 filter, nat, mangle, raw 같은 4개의 테이블로 구성되며, 이중에서 우리에게 필요한 것은 필터링 규칙을 세우는 filter 테이블이다.
iptables에는 filter 테이블에 미리 정의된 세가지의 체인이 존재하는데 이는 INPUT, OUTPUT, FORWARD 이다. 이 체인들은 어떠한 네트워크 트래픽(IP 패킷)에 대하여 정해진 규칙들을 수행한다.
가령 들어오는 패킷(INPUT)에 대하여 허용(ACCEPT)할 것인지, 거부(REJECT)할 것인지, 버릴(DROP)것인지를 결정한다.
iptables에서 패킷을 처리할때 만족해야 하는 조건을 가리킨다. 즉, 이 조건을 만족시키는 패킷들만 규칙을 적용한다.
iptables는 패킷이 규칙과 일치할 때 동작을 취하는 타겟을 지원한다.
REJECT는 서비스에 접속하려는 사용자의 액세스를 거부하고 connection refused라는 오류 메시지를 보여주는 반면 DROP은 말 그대로 telnet 사용자에게 어떠한 경고 메시지도 보여주지 않은 채 패킷을 드롭한다. 관리자의 재량껏 이러한 규칙을 사용할 수 있지만 사용자가 혼란스러워하며 계속해서 접속을 시도하는 것을 방지하려면 REJECT를 사용하는 것이 좋다.
iptables는 연결 추적(connection tracking)이라는 방법을 사용하여 내부 네트워크 상 서비스 연결 상태에 따라서 그 연결을 감시하고 제한할 수 있게 해준다. 연결 추적 방식은 연결 상태를 표에 저장하기 때문에, 다음과 같은 연결 상태에 따라서 시스템 관리자가 연결을 허용하거나 거부할 수 있다.
상태에 기반(stateful)한 iptables 연결 추적 기능은 어느 네트워크 프로토콜에서나 사용 가능하다. UDP와 같이 상태를 저장하지 않는 (stateless) 프로토콜에서도 사용할 수 있다.
일반적으로 기본정책은 모든 패킷에 대해 DROP을 설정하고 특별히 지정된 포트와 IP주소등에 대해 ACCEPT를 수행하게 만든다.
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 17 | 리눅스 ping 요청 막기 | 컴코리아 | 2020.04.03 | 86 |
| 16 | mysql root 패스워드 설정 | 컴코리아 | 2020.04.03 | 95 |
| » |
iptables 의 정의와 기본 보안설정 방법
| 컴코리아 | 2020.04.03 | 78 |
| 14 |
웹서버 동시접속자 현황 확인
| 컴코리아 | 2020.04.03 | 4147 |
| 13 | MySQL: Repair & Optimize all Tables in all Databases | 컴코리아 | 2020.04.03 | 127 |
| 12 | Mysql 오류생겨도 무시 강제 입력 | 컴코리아 | 2020.04.03 | 131 |
| 11 |
sar -r 1 명령어와 free 명령어로 메모리 사용량 확인방법
| 컴코리아 | 2020.04.03 | 224 |
| 10 |
usermod 명령어로 리눅스 유저 정보를 수정해보자
| 컴코리아 | 2020.04.03 | 65 |
| 9 | MySQL DB 데이타 백업/복구 하는 방법 | 컴코리아 | 2020.04.03 | 105 |
| 8 | 서버호스팅 트래픽 계산방법 안내입니다. | 컴코리아 | 2020.04.03 | 179 |
| 7 | 리눅스 파일 내용 검색방법 안내입니다. | 컴코리아 | 2020.04.03 | 74 |
| 6 |
who 명령어로 리눅스 환경에서 접속된 사용자 끊는방법
| 컴코리아 | 2020.04.03 | 97 |
| 5 | MYSQL UTF-8 서버에서 한글이 깨지는 문제 해결법 | 컴코리아 | 2020.04.03 | 101 |
| 4 |
리눅스 환경에서 Log파일 자동삭제 설정기능 logrotate 사용방법
| 컴코리아 | 2020.04.03 | 597 |
| 3 | 파일 내용 변경 | 컴코리아 | 2020.04.03 | 51 |
| 2 | 리눅스 SCP사용법 | 컴코리아 | 2020.04.03 | 46 |
| 1 |
리눅스 환경에서 디렉토리 및 파일 용량 확인하기
| 컴코리아 | 2020.04.03 | 80 |