mod_deflate

Posted by 크롱_k
2015.12.09 14:45 서버/리눅스 이야기
Mod_deflate 설정 httpd.conf 파일에 
DeflateCompressionLevel 항목은 압축레벨을 지정하는 것이며 숫자가 높을수록 압축율이 높아지나 서버 부하발생가능성있음.

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
LoadModule deflate_module modules/mod_deflate.so
 
 
 
<IfModule mod_deflate.c>
DeflateCompressionLevel 4
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text.css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE application/x-httpd-fastphp
AddOutputFilterByType DEFLATE application/x-httpd-eruby
AddOutputFilterByType DEFLATE text/html
 
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
SetEnvIfNoCase Request_URI \.(?:png|jpe?g|gif)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</IfModule>
cs


'서버 > 리눅스 이야기' 카테고리의 다른 글

Undefined Symbol: Unixd_config  (0) 2015.12.09
mod_expires  (0) 2015.12.09
mod_deflate  (0) 2015.12.09
Fail2ban install & config  (0) 2015.12.09
Apache - TIME_WAIT 줄이기기기  (1) 2015.11.19
Snopy Logger : 사용자 세부 사항 및 커맨드 키록  (0) 2015.11.19
이 댓글을 비밀 댓글로

Fail2ban install & config

Posted by 크롱_k
2015.12.09 13:20 서버/리눅스 이야기

fail2ban 설치

[Msnote, /usr/local/src >vi /etc/yum.repos.d/CentOS-Base.repo

> 아래 내용추가후 yum install fail2ban 으로 설치가능


[Msnote, /usr/local/src >yum install fail2ban

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
[dag]
name=Dag RPM Repostory for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt
 
[kbs-CentOS-Misc]
name=CentOS.Karan.Org-EL$releasever – Stable
gpgkey=http://centos.karan.org/RPM-GPG-KEY-karan.org.txt
gpgcheck=1
enabled=1
baseurl=http://centos.karan.org/el$releasever/misc/stable/$basearch/RPMS/
 
cs


[Msnote, /etc/fail2ban >vi /etc/fail2ban/jail.conf

> SSH 를 예로 적용한사례

1
2
3
4
5
6
7
#enabled = false //미적용
enabled = true // 적용
filter = sshdaction = iptables[name=SSH, port=ssh, protocol=tcp]
logpath = /var/log/secure // 참조로그
maxretry = 5 // 시도횟수
bantime = 600 // 밴타임
 
cs


iptables -vnL

fail2ban 실행시 체인생성됨

193 11048 fail2ban-SSH tcp — * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22

Chain fail2ban-SSH (1 references)

> 여기에 드랍IP가 표시됨!


apache 설정

/etc/fail2ban/jail.local

1
2
3
4
5
6
7
8
9
10
11
12
[http-get-dos]
enabled = true
port = http,https
filter = http-get-dos
logpath = /var/log/apache2/YOUR_WEB_SERVER_ACCESS_LOG
# maxretry is how many GETs we can have in the findtime period before getting narky
maxretry = 300
# findtime is the time period in seconds in which we're counting "retries" (300 seconds = 5 mins)
findtime = 300
# bantime is how long we should drop incoming GET requests for a given IP for, in this case it'5 minutes
bantime = 300
action = iptables[name=HTTP, port=http, protocol=tcp]
cs

/etc/fail2ban/filters.d/http-get-dos.conf 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# Fail2Ban configuration file
#
# Author: http://www.go2linux.org
#
[Definition]
 
# Option: failregex
# Note: This regex will match any GET entry in your logs, so basically all valid and not valid entries are a match.
# You should set up in the jail.conf file, the maxretry and findtime carefully in order to avoid false positives.
 
failregex = ^<HOST> -.*"(GET|POST).*
# Option: ignoreregex
# Notes.: regex to ignore. If this regex matches, the line is ignored.
# Values: TEXT
#
ignoreregex =
cs


'서버 > 리눅스 이야기' 카테고리의 다른 글

Undefined Symbol: Unixd_config  (0) 2015.12.09
mod_expires  (0) 2015.12.09
mod_deflate  (0) 2015.12.09
Fail2ban install & config  (0) 2015.12.09
Apache - TIME_WAIT 줄이기기기  (1) 2015.11.19
Snopy Logger : 사용자 세부 사항 및 커맨드 키록  (0) 2015.11.19
이 댓글을 비밀 댓글로

DNS rndc

Posted by 크롱_k
2015.11.30 14:17 서버/DNS 이야기

* rndc는 네임서버 외부 및 내부에서 원격으로 관리가능한 도구임

1) 키생성

./rndc-confgen > /etc/rndc.conf

# Start of rndc.conf
key "rndc-key" {
        algorithm hmac-md5;
        secret "597mv7NU7YxzHaMGVAsv4w==";
};

options {
        default-key "rndc-key";
        default-server 127.0.0.1;
        default-port 953;

# End of rndc.conf

# Use with the following in named.conf, adjusting the allow list as needed:
# key "rndc-key" {
#       algorithm hmac-md5;
#       secret "597mv7NU7YxzHaMGVAsv4w==";
# };
#
# controls {
#       inet 127.0.0.1 port 953
#               allow { 127.0.0.1; } keys { "rndc-key"; };
# };
# End of named.conf

 

2) 적용

named,conf에 아래 주석부분을 입력해준다

key "rndc-key" {
      algorithm hmac-md5;
      secret "597mv7NU7YxzHaMGVAsv4w==";
};
controls {
     inet 127.0.0.1 port 953
        allow { 127.0.0.1; } keys { "rndc-key"; };

 

3) 확인 및 사용

[root@NS1 sbin]# ./rndc status
version: BIND 9.10.3 <id:2799933>
boot time: Wed, 25 Nov 2015 08:11:20 GMT
last configured: Wed, 25 Nov 2015 08:11:20 GMT
CPUs found: 1
worker threads: 1
UDP listeners per interface: 1
number of zones: 102
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
recursive clients: 0/0/1000
tcp clients: 0/100
server is up and running

nsupdate 이후에 jnl파일에 있는 내용을 존파일에 바로넣기

[root@NS1 sbin]# nsupdate
> server 10.0.0.11
> update add book.my-domain.re.kr. 180 IN A 10.0.0.234
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
book.my-domain.re.kr.   180     IN      A       10.0.0.234

> send
[root@NS1 sbin]#rndc freeze

zone파일 내부

book                    A       10.0.0.234

 

zone 파일에 설정한 내용이 바로 들어가있는것을 확인할수잇음

rndc unfreeze // 차후 업데이트를 위해 언프리즈시킴

'서버 > DNS 이야기' 카테고리의 다른 글

DNS rndc  (0) 2015.11.30
DNS Multiple Views  (0) 2015.11.26
nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
이 댓글을 비밀 댓글로

DNS Multiple Views

Posted by 크롱_k
2015.11.26 11:00 서버/DNS 이야기

View를 이용하면 한 그룹의 호스트에게는 하나의 환경설정을 제공하고, 또 다른 그룹의 호스트에게는 다른 환경설정을 동시에 제공함.

named.conf 설정 ( view 생성시 모든 존설정 내용이 view안에 들어가있어야한다

view "internal"{
   match-clients { 127.0.0.1; };
   match-recursive-only no;
   recursion yes;


zone "my-domain.re.kr"{
   type master;
   file "my-domain.re.kr-zone-internal-zone";
   allow-update {10.0.0.12; 10.0.0.11; };
        };

zone "." {
   type hint;
   file "named.cache";
};


};

view "external" {
  match-clients { any; };
  match-recursive-only no;
  recursion no;

zone "my-domain.re.kr"{
   type master;
   file "my-domain.re.kr-zone-external-zone";
   allow-update {10.0.0.12; 10.0.0.11; };
        };
};

 

===================================================

view "internal"{

   match-clients { 10.0.0/20; };

   };

또는

acl "inter-network" { 10.0.0./20 };

view "internal"{

   match-clients { 10.0.0/20; };

   };

또는

view "external" {

   match-clients { any' }'

'서버 > DNS 이야기' 카테고리의 다른 글

DNS rndc  (0) 2015.11.30
DNS Multiple Views  (0) 2015.11.26
nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
이 댓글을 비밀 댓글로

nsupdate

Posted by 크롱_k
2015.11.25 16:39 서버/DNS 이야기

"/etc/named.conf"      

zone "my-domain.re.kr"{
   type master;
   file "my-domain.re.kr-zone";
   allow-update {10.0.0.12; 10.0.0.11; };   // 허용할 IP 설정
};

[root@NS1 sbin]# nsupdate
> server 10.0.0.11
> update add cafe.my-domain.re.kr 180 IN A 10.0.0.45
> show
Outgoing update query:
;; ->>HEADER<<- opcode: UPDATE, status: NOERROR, id:      0
;; flags: ; ZONE: 0, PREREQ: 0, UPDATE: 0, ADDITIONAL: 0
;; UPDATE SECTION:
cafe.my-domain.re.kr.   180     IN      A       10.0.0.45

> send

my-domain.re.kr-zone.jnl 파일생성확인

'서버 > DNS 이야기' 카테고리의 다른 글

DNS rndc  (0) 2015.11.30
DNS Multiple Views  (0) 2015.11.26
nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
Tags
이 댓글을 비밀 댓글로

DNS 점검 및 관리도구 사용법

Posted by 크롱_k
2015.11.25 15:37 서버/DNS 이야기

dnsperf

- DNS 서버 성능 측정도구

dnsperf [-d datafile] [-s server_addr] [-q] [-p port]

resperf

- dnsperf와 비슷하나 html파일을 생성하여 웹상에서 볼수있음

ex)  resperf-report -s localhost -d resperf.dat -m 50

 

checkzone , checkconf

root@NS1 sbin]# ./named-checkzone my-domain.re.kr /var/named/my-domain.re.kr-zone
zone my-domain.re.kr/IN: loaded serial 2012071842
OK

dig 역질의를 트레이스 걸어서 확인하는방법

[msnote] /root :) # dig -x @125.209.248.6 naver.com +trace

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-25.P1.el5_11.4 <<>> -x @125.209.248.6 naver.com +trace
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 55136
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:
;6.248.209.\@125.in-addr.arpa.  IN      PTR

;; AUTHORITY SECTION:
in-addr.arpa.           3600    IN      SOA     b.in-addr-servers.arpa. nstld.iana.org. 2015072414 1800 900 604800 3600

;; Query time: 472 msec
;; SERVER: 164.124.101.2#53(164.124.101.2)
;; WHEN: Wed Nov 25 15:23:03 2015
;; MSG SIZE  rcvd: 113

.                       487380  IN      NS      i.root-servers.net.
.                       487380  IN      NS      b.root-servers.net.
.                       487380  IN      NS      m.root-servers.net.
.                       487380  IN      NS      a.root-servers.net.
.                       487380  IN      NS      j.root-servers.net.
.                       487380  IN      NS      g.root-servers.net.
.                       487380  IN      NS      c.root-servers.net.
.                       487380  IN      NS      d.root-servers.net.
.                       487380  IN      NS      l.root-servers.net.
.                       487380  IN      NS      h.root-servers.net.
.                       487380  IN      NS      k.root-servers.net.
.                       487380  IN      NS      e.root-servers.net.
.                       487380  IN      NS      f.root-servers.net.
;; Received 496 bytes from 164.124.101.2#53(164.124.101.2) in 2 ms

com.                    172800  IN      NS      e.gtld-servers.net.
com.                    172800  IN      NS      l.gtld-servers.net.
com.                    172800  IN      NS      m.gtld-servers.net.
com.                    172800  IN      NS      a.gtld-servers.net.
com.                    172800  IN      NS      c.gtld-servers.net.
com.                    172800  IN      NS      d.gtld-servers.net.
com.                    172800  IN      NS      h.gtld-servers.net.
com.                    172800  IN      NS      f.gtld-servers.net.
com.                    172800  IN      NS      g.gtld-servers.net.
com.                    172800  IN      NS      b.gtld-servers.net.
com.                    172800  IN      NS      k.gtld-servers.net.
com.                    172800  IN      NS      i.gtld-servers.net.
com.                    172800  IN      NS      j.gtld-servers.net.
;; Received 499 bytes from 192.36.148.17#53(i.root-servers.net) in 101 ms

naver.com.              172800  IN      NS      ns2.naver.com.
naver.com.              172800  IN      NS      ns1.naver.com.
naver.com.              172800  IN      NS      ns3.naver.com.
;; Received 129 bytes from 192.12.94.30#53(e.gtld-servers.net) in 305 ms

naver.com.              300     IN      A       125.209.222.141
naver.com.              300     IN      A       125.209.222.142
naver.com.              300     IN      A       202.179.177.21
naver.com.              300     IN      A       202.179.177.22
;; Received 91 bytes from 103.6.175.218#53(ns2.naver.com) in 1 ms

 

 

'서버 > DNS 이야기' 카테고리의 다른 글

DNS Multiple Views  (0) 2015.11.26
nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
DNSSEC TSIG 설정  (1) 2015.11.24
이 댓글을 비밀 댓글로

dig 정보 상세

Posted by 크롱_k
2015.11.25 14:27 서버/DNS 이야기

 

뒤에 질의 확인 시 +norec홉션 사용시 가지고 있는 정보를 보내줌
dig @10.0.0.11 my-domain.re.kr +norec

[root@NS1 sbin]# dig @10.0.0.11 my-domain.re.kr +norec

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> @10.0.0.11 my-domain.re.kr +norec
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34478                     // Query 타입이며 에러는 없음을 나타냄
;; flags: qr aa ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2         

qr= 네임서버 질의 페킷임을 표시
aa= 권한 DNS에서 직접 받은정보임을 표시. 케시네임서버의경우 rd로 표시됨.
ra= 정상 처리 되었음을 표시

;; QUESTION SECTION:
;my-domain.re.kr.               IN      A

;; ANSWER SECTION:
my-domain.re.kr.        60      IN      A       10.0.0.55

;; AUTHORITY SECTION:
my-domain.re.kr.        60      IN      NS      ns1.my-domain.re.kr.
my-domain.re.kr.        60      IN      NS      ns2.my-domain.re.kr.

;; ADDITIONAL SECTION:
ns1.my-domain.re.kr.    60      IN      A       10.0.0.11
ns2.my-domain.re.kr.    60      IN      A       10.0.0.12

;; Query time: 0 msec
;; SERVER: 10.0.0.11#53(10.0.0.11)
;; WHEN: Wed Nov 25 14:18:20 2015
;; MSG SIZE  rcvd: 117

 

'서버 > DNS 이야기' 카테고리의 다른 글

nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
DNSSEC TSIG 설정  (1) 2015.11.24
dig 활용  (0) 2015.11.24
Tags
이 댓글을 비밀 댓글로

역방향 질의 ( 인버스 )

Posted by 크롱_k
2015.11.25 10:16 서버/DNS 이야기

- 역방향은 IP -> 도메인으로 질의 하는 과정

- 역방향 질의시 중간에 서버가 1~255개 존재 하는데 그중에 한곳이 사라질경우 스팸처리가 될수있다.

- 서버의 경우 국가별로 관리하며, IP 대역이 할당된 각 국가에서 관리한다.

- 아래 명령어를 통해서 중간의 사라진 서버를 점검할 수 있다.

 

예시)

[msnote] /root :) # dig -x 168.126.63.1.in-addr.arpa +trace

; <<>> DiG 9.3.6-P1-RedHat-9.3.6-25.P1.el5_11.4 <<>> -x 168.126.63.1.in-addr.arpa +trace
;; global options:  printcmd
.                       171576  IN      NS      g.root-servers.net.
.                       171576  IN      NS      a.root-servers.net.
.                       171576  IN      NS      h.root-servers.net.
.                       171576  IN      NS      m.root-servers.net.
.                       171576  IN      NS      c.root-servers.net.
.                       171576  IN      NS      i.root-servers.net.
.                       171576  IN      NS      k.root-servers.net.
.                       171576  IN      NS      f.root-servers.net.
.                       171576  IN      NS      j.root-servers.net.
.                       171576  IN      NS      l.root-servers.net.
.                       171576  IN      NS      b.root-servers.net.
.                       171576  IN      NS      d.root-servers.net.
.                       171576  IN      NS      e.root-servers.net.
;; Received 496 bytes from 164.124.101.2#53(164.124.101.2) in 3 ms

in-addr.arpa.           172800  IN      NS      e.in-addr-servers.arpa.
in-addr.arpa.           172800  IN      NS      b.in-addr-servers.arpa.
in-addr.arpa.           172800  IN      NS      a.in-addr-servers.arpa.
in-addr.arpa.           172800  IN      NS      f.in-addr-servers.arpa.
in-addr.arpa.           172800  IN      NS      d.in-addr-servers.arpa.
in-addr.arpa.           172800  IN      NS      c.in-addr-servers.arpa.
;; Received 432 bytes from 192.112.36.4#53(g.root-servers.net) in 47 ms

168.in-addr.arpa.       86400   IN      NS      r.arin.net.
168.in-addr.arpa.       86400   IN      NS      z.arin.net.
168.in-addr.arpa.       86400   IN      NS      u.arin.net.
168.in-addr.arpa.       86400   IN      NS      v.arin.net.
168.in-addr.arpa.       86400   IN      NS      w.arin.net.
168.in-addr.arpa.       86400   IN      NS      x.arin.net.
168.in-addr.arpa.       86400   IN      NS      y.arin.net.
;; Received 176 bytes from 203.119.86.101#53(e.in-addr-servers.arpa) in 76 ms

126.168.in-addr.arpa.   172800  IN      NS      e.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      c.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      a.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      d.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      b.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      f.dns.kr.
126.168.in-addr.arpa.   172800  IN      NS      g.dns.kr.
;; Received 174 bytes from 199.180.180.63#53(r.arin.net) in 196 ms

63.126.168.in-addr.arpa. 43200  IN      NS      rev2.kornet.net.
63.126.168.in-addr.arpa. 43200  IN      NS      rev1.kornet.net.
;; Received 104 bytes from 202.30.124.100#53(e.dns.kr) in 3 ms

63.126.168.in-addr.arpa. 0      IN      SOA     rev1.kornet.net. domain.rev1.kornet.net. 2014030300 43200 3600 604800 0
;; Received 114 bytes from 211.216.50.180#53(rev2.kornet.net) in 2 ms

 

'서버 > DNS 이야기' 카테고리의 다른 글

nsupdate  (0) 2015.11.25
DNS 점검 및 관리도구 사용법  (0) 2015.11.25
dig 정보 상세  (0) 2015.11.25
역방향 질의 ( 인버스 )  (0) 2015.11.25
DNSSEC TSIG 설정  (1) 2015.11.24
dig 활용  (0) 2015.11.24
Tags
이 댓글을 비밀 댓글로