Iptables
: 리눅스 상에서 방화벽을 설정하는 도구로서 커널 2.4 이전 버전에서 사용되던 ipchains를 대신하는 방화벽 도구이다

 

iptables 설정을 위해서는 방화벽을 켜준다


Iptables 정책
: iptables 정책은 여러 구분으로 나눠지며 중요한 부분은 chain이다
chain은 패킷이 조작될 상태를 지정하며 ipchains에 내장된 기본 chain은 아래 내용과 같다

chain INPUT : 서버로 들어오는 기본 정책
chain FORWARD : 서버에서 forwarding 기본 정책( 목적지가 서버가 아닌 통과하는 chain이다 )
chain OUTPUT : 서버에서 나가는 기본 정책

iptables의 구조
iptables -A INPUT -s [발신지] --sport [발신지 포트] -d [목적지] --dport [목적지 포트] -j [정책]

iptables 설정 파일 

- 설정 파일 작업시 정책에 대한 순서를 편하게 설정할  수 있다는 장점이있다
/etc/sysconfig/iptables

파일로 들어가서 설정하기 위한 경로

iptables 기본 옵션

옵션 설명
-L 적용되어 있는 정책 목록을 출력한다
-A 새로운 정책을 추가한다( 제일 아래에 추가됨 )
-I 위치를 선책하여 정책을 삽입한다( 제일 앞에 추가됨 )
-R 위치를 선택하여 정책을 교환한다
-D 위치를 선택하여 정책을 제거한다
-N 새로운 체인을 만든다
-P 체인에 미리 정의되어 있는 정책을 수정한다
-Z 체인의 모든 규칙들의 패킷과 비이트 카운트를 0으로 만든다
-X 비어있는 체인을 제거한다

 

iptables 제어 옵션

옵션 설명
-s 패킷의 송신지를 제어한다
-d 패킷의 수신지를 제어한다
-j [옵션] 방화벽을 지난 후 패킷의 상태를 제어한다
[ 옵션 : ACCEPT, DROP, REJECT ]
-p 프로토콜을 제어한다
--sport 송진지 포트를 제어한다
--dport 수신지 포트를 제어한다

 

패킷 상세 내역에 따른 제어 옵션 명령어

명령어 설명
--tcp-flags tcp 플래그에 따라 패킷을 제어한다
-m state --state[ 상태 ] 패킷의 상태와 목적에 따라 제어한다

 

-m state --state[ 상태 ] 상태 옵션

상태 옵션 설명
-NEW 새로 접속을 시도하는 패킷
-ESTABLISHED 접속을 한 상태에 있는 패킷
-INVALID 유효하지 않은 패킷
-RELATED 접속에 연관성을 가지는 패킷

 

iptables 규칙 추가 예제

- 로컬로 들어오는 ICMP 요청에 대한 특정 호스트(192.168.0.10)의 패킷을 허용하지 않고자 할 때

 

#iptables -A INPUT -s 192.168.0.10 -p icmp -j DROP

 

iptables 규칙 제거 예제

- 위에서 만든 규칙을 제거할 때 

 

#iptables -D INPUT -s 192.168.0.10 -p icmp -j DROP

or

#iptables -D INPUT [라인 번호]

( "iptables -L --line-numbers" 명령어로 조회가능 )

 

#iptables -F INPUT

(모든 체인이 삭제된다)

 

iptables 정책 순서

- 모든 방화벽은 순차적 실행이기 때문에 등록 순서에 있어서 먼저 등록한 부분에 대해서 효력이 유효하기 때문에 등록시에는 순서가 매우 중요하다

- 모든 입출력 패킷에 대해 거부하는 설정이 먼저 등록되면 그 이후에 포트를 열어주는 설정을 하여도 효과가 없다

- 허용하는 정책을 먼저 정의한 다음 거부하는 정책을 설정해야 한다

'리눅스' 카테고리의 다른 글

Tcp Wrapper  (0) 2020.09.22
Zeroboard( 제로보드 )  (0) 2020.09.19
리눅스 APM  (0) 2020.09.18
리눅스 demon(데몬)  (0) 2020.09.18
리눅스 rpm과 yum  (0) 2020.09.18

Tcp Wrapper
: 특정 호스트가 해당 호스트의 데몬 서비스 접근시 제어

- hosts.deny

- hosts.allow

 

일단 설정하기전에 "setup"에 들어가서 방화벽을 내려줍니다 

 

hosts.deny

[데몬명:IP]

- 접근을 차단할 특정 데몬명과 특정 IP를 정할 수 있다

/etc/hosts.deny 파일에 들어갑니다
테스트로 텔넷의 데몬명을 적어주고 뒤에는 차단할 IP를 적어줍니다
텔넷으로 접속하는 모든 사용자를 차단할때는 뒤에 ALL 을 써줍니다

 

hosts.allow

- 접근을 허용할 특정 데몬명과 특정 IP를 정할 수 있다

[데몬명:IP]

/etc/hosts.allow 파일에 들어갑니다
테스트로 텔넷의 데몬명을 적고 뒤에는 허용할 IP의 주소를 적어줍니다
텔넷으로의 모든 접근을 허용한다

'리눅스' 카테고리의 다른 글

리눅스 Iptables  (0) 2020.09.22
Zeroboard( 제로보드 )  (0) 2020.09.19
리눅스 APM  (0) 2020.09.18
리눅스 demon(데몬)  (0) 2020.09.18
리눅스 rpm과 yum  (0) 2020.09.18

Zeroboard( 제로보드 )
: 제로보드는 PHP와 MySQL이 지원되는 서버에 설치하여 사용하는 게시판이다

- www.xpressengine.com/

- 자신이 계정에 직접 설치를 하여 이용
- MySQL 데이터베이스 시스템을 사용하여 자료의 추출, 가공, 이식, 보관이 매우 용이
- 내부 소스 프로그램 수정없이 스킨만을 사용하여 게시판의 출력형태를 가공

Zeroboard Install

 

- xe 파일 확보 

 

크롭으로 사이트에 접속한 뒤 다운로드 버튼에 우클릭하고 링크 주소 복사 클릭

 

- 서버에서 압축 풀기

/var/www/html 에 들어가서 wget을 이용해 다운을 받아준다

 

- 파일 이름을 변경해준다

mv를 사용하여 파일 이름을 "xe.zip"으로 변경해준다

 

- xe 파일 압축 해제

unzip을 사용하여 "xe.zip" 파일에 압축을 풀어준다

 

- xe 디렉토리 사용권한 변경

chmod를 사용하여 권한을 777로 변경해준다


- MySQL DB 제로보드 DB 데이터 추가

mysql에 들어가서 create를 사용하여 "zero" 데이터베이스를 만들어준다

 

- MySQL DB 제로보드 DB 데이터 활성화 인식

privileges를 사용하여 활성화가 되었는지 확인해준다


웹 브라우저에서 제로보드 설치 시작

- http://서버IP/xe

웹 주소창에 http://[서버IP]/xe 를 접고 접속

 

- 설치시작(localhost, root, 학생, mysql)

언어는 한국어를 체크하고 다음으로 넘어가준다

 

사용권에 동의하고 다음으로 넘어가준다

 

설치 조건들을 확인하고 부족한게 있으면 해결해주고 설치를 진행한다

 

mysqli를 체크해주고 다음으로 넘어가준다

 

만들어 주었던 DB아이디, 비밀번호, 이름을 작성해주고 아래는 똑같이 작성해준다

 

한국 시간을 선택해주고 다음으로 넘어갑니다

 

이메일 주소는 아무거나 적어주고 비밀번호를 조건에 맞춰 작성한 뒤 닉네임과 아이디를 적고 완료를 눌러줍니다


- 제로보드 관리자 설정

http://[서버IP]/xe/admin 을 적어주고 관리자 설정 모드에 들어갑니다

 

설치 완료되면 관리자 웹으로 이동

- http://서버IP/xe

설치를 다해주고 접속 완료한 모습입니다

'리눅스' 카테고리의 다른 글

리눅스 Iptables  (0) 2020.09.22
Tcp Wrapper  (0) 2020.09.22
리눅스 APM  (0) 2020.09.18
리눅스 demon(데몬)  (0) 2020.09.18
리눅스 rpm과 yum  (0) 2020.09.18

APM
: Apache(웹서버) + PHP(언어) + MySQL(database) = APM 이라고 말할 수 있다

Apache
- 정식명칭 : Apache HTTP server
- 관련 홈페이지 :  www.apache.org
- GUN GPL 라이센스를 통해 무료로 배포되는 소프트웨어이다
- 현재 50% 이상의 웹서버 소프트에어 시장 점유율을 확보하고 있다
- 안정적으로 작동한다
- 아파치 서버 프로그램 등의 관련 컴포넌트들의 소스코드가 무료로 제공된다
- 유연성이 좋고 이식성이 뛰어나 여러 응용분야에서 적용된다

PHP
- 웹 프로그래밍을 위한 스크립트 언어
- 1994년 일반적으로 다른 언어와 혼합 사용되며 시작되었다
- PHP(70%) + HTML(25%) + JavaScript(5%)
- 처리 속도가 빠르다
- 공개 S/W
- 운영체제의 지원 폭이 크다
- 많은 데이터베이스와 연동 지원

SQL
- DB에서 사용되는 표준 구조적 쿼리언어
- 데이터 추출과 출력, 데이터베이스 구조 정의 등의 데이터베이스 관리를 위한 언어

MySQL
- SQL을 지원하는 공개 데이터베이스 소프트웨어
- 처리속도가 빠르다

APM 설치 확인
#rpm -qa | grep httpd
#rpm -qa | grep php
#rpm -qa | grep mysql

패키지 검색
#yum search httpd
#yum search php
#yum search mysql
#yum search mysql-server

패키지 설치
#yum -y install httpd php mysql mysql-server gd gd-devel php-gd php-mysql

'리눅스' 카테고리의 다른 글

Tcp Wrapper  (0) 2020.09.22
Zeroboard( 제로보드 )  (0) 2020.09.19
리눅스 demon(데몬)  (0) 2020.09.18
리눅스 rpm과 yum  (0) 2020.09.18
리눅스 vi(vim)편집기 사용법  (0) 2020.09.18

데몬
: 데몬이란 리눅스 시스템이 처음 가동될 때 실행되는 백그라운드 프로세스의 일종으로 메모리에 상주하면서 특정 요청이 오면 즉시 대응 할 수 있도록 대기 중인 프로세스이다

데몬의 실행 방식
- standalone
: 독자적으로 구동되는 방식으로 혼자서 요청을 받아 처리하며 메모리 상에 항상 구동되고 있으므로 응답속도가 빠르나 메모리에 부하를 줄 수 있다 요청이 빈번하게 일어하는 프로세스에서 많이 쓰인다
(sendmail, apache, mysql, nameserver, nfs 등)

- xinetd
: 슈퍼 데몬이라고도하며 다른 데몬들의 상위에 존재한다 요청이 오면 xinetd에 종속되어 있는 하위 데몬을 실행시키는 방식이지만 xinetd 자체는 standalone 방식으로 작동한다 응답처리 속도가 standalone 방식에 비해 느리지만 요청이 들어오지 않을때는 휴면 상태로 메모리를 사용하지 않으며 요청이 빈번하지 않은 서비스에서 사용된다
(telnet, pop3 등)

데몬 실행 방법
- service [데몬명] start

'리눅스' 카테고리의 다른 글

Zeroboard( 제로보드 )  (0) 2020.09.19
리눅스 APM  (0) 2020.09.18
리눅스 rpm과 yum  (0) 2020.09.18
리눅스 vi(vim)편집기 사용법  (0) 2020.09.18
리눅스 파일 링크  (0) 2020.09.18

+ Recent posts