리눅스 스팸 메일 발신 서버가 되지 않기



CentOS 7.x 버전을 설치하고 아파치 설정을 보면 mod_proxy 가 기본적으로 모듈이 동작하는 것으로 되어 있을 것이다.


이런 경우에 자신도 모르게 HTTP CONNECT 을 이용한 스팸 메일 발신지가 될지도 모를 일이다.


아래의 방법으로 막아 보자.



▶ mod_proxy 관련 아파치 모듈 주석 처리 방법


vi /etc/httpd/conf.modules.d/00-proxy.conf ( 6.x 버전은 /etc/httpd/conf/httpd.conf 파일 )

#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_express_module modules/mod_proxy_express.so

#LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

#LoadModule proxy_fdpass_module modules/mod_proxy_fdpass.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_scgi_module modules/mod_proxy_scgi.so

#LoadModule proxy_wstunnel_module modules/mod_proxy_wstunnel.so


위의 모듈을 주석처리하면 된다.

그리고 아파치를 재시작 하여야 한다.

# systemctl restart httpd



▶ CONNECT 막는 방법


vi /etc/httpd/conf.d/disabled_connect.conf 아래 내용 추가

<Location />

<Limit CONNECT>

Order deny,allow

Deny from all

</Limit>

</Location>


위 내용을 추가한 뒤에 아파치를 재시작 하면 된다.

# systemctl restart httpd



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

Logwatch Connection attempts using mod_proxy



로그와치 리포트에 아래와 같은 내용이 나오면 아파치 설정에서 mod_proxy 설정을 확인 하자.


 Connection attempts using mod_proxy:

    111.248.xxx.xxx -> 163mx03.mxmail.netease.com:25: 1 Time(s)



▶ httpd.conf 아파치 모듈 주석 처리 방법


#LoadModule proxy_module modules/mod_proxy.so

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so


위의 모듈을 주석처리하면 된다.

그리고 아파치를 재시작 하여야 한다.



▶ httpd.conf CONNECT 막는 방법


<Location />

<Limit CONNECT>

Order deny,allow

Deny from all

</Limit>

</Location>


위 내용을 추가한 뒤에 아파치를 재시작 하면 된다.



위의 방법으로 처리 한 뒤의 로그는 아래 처럼 나온다.


mx-tw.mail.gm0.yahoodns.net 220.132.81.117 - - [05/Aug/2016:09:30:10 +0900] "CONNECT mx-tw.mail.gm0.yahoodns.net:25 HTTP/1.0" 200 73 "-" "-"

mx-tw.mail.gm0.yahoodns.net 220.132.81.117 - - [05/Aug/2016:09:51:39 +0900] "CONNECT mx-tw.mail.gm0.yahoodns.net:25 HTTP/1.0" 403 4897 "-" "-"


200 코드 값이 403 으로 바뀌었다.



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

dig 로 MX 레코드 설정 확인방법




[root@vps ~]# dig @8.8.8.8 mx example.com


;; QUESTION SECTION:

;example.com.                    IN      MX


;; ANSWER SECTION:

example.com.             3599    IN      MX      10 kr1-aspmx1.worksmobile.com.

example.com.             3599    IN      MX      20 kr1-aspmx2.worksmobile.com.


;; Query time: 130 msec

;; SERVER: 8.8.8.8#53(8.8.8.8)

;; WHEN: Tue Jul 26 14:34:34 2016

;; MSG SIZE  rcvd: 94



위의 방법으로 mx 레코드가 잘 설정이 되었는지 확인할 수가 있다.


dig example.com mx 이렇게 해도 된다.


그리고 A 호스트 확인은


dig example.com a 로 확인할 수 있다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 .htaccess ExpiresActive not allowed here



.htaccess 파일에 ExpiresActive 설정을 하고 홈페이지 하위폴더에 업로드하고 브라우저를 열었을 때


Internal Server Error 에러 메시지가 발생한다면


아파치 설정에서


<Directory /home/*/www>

    AllowOverride FileInfo AuthConfig Limit Indexes

</Directory>


AllowOverride 에 Indexes 를 넣어주고 아파치를 재시작 해주면 된다.


이제는 최상위 디렉토리 뿐만 아니라 하위 디렉토리에서도 .htaccess 설정이 적용이 된다.


/.htaccess
/www/.htaccess
/www/htdocs/.htaccess

/www/htdocs/example/.htaccess



참고로 RewriteEngine 같은 지시어가 먹히게 하는 Directory AllowOverride 옵션은 FileInfo 이며, None 으로 하면 disable 의 의미이다.


RewriteEngine 예제 보러가기 https://ivps.tistory.com/71


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

아파치 .htaccess 브라우저 캐시 설정하기



mod_expires 모듈을 이용해서 브라우저 캐시 기능을 사용할 수 있다.


설정한 시간 만큼 만료시간 전이라면 브라우저에 캐시된 파일을 읽기 때문에 서버의 트래픽을 줄일 수 있다.


httpd.conf 파일에 넣어도 되고, VirtualHost 나 .htaccess 파일에 적용할 수도 있다.


    ExpiresActive on

    ExpiresByType text/css                      "access plus 1 year"

    ExpiresByType application/x-javascript      "access plus 1 year"

    ExpiresByType text/html                     "access plus 1 month"

    ExpiresByType text/plain                    "access plus 1 month"

    ExpiresByType image/x-icon                  "access plus 1 month"

    ExpiresByType image/gif                     "access plus 1 month"

    ExpiresByType image/jpeg                    "access plus 1 month"

    ExpiresByType image/png                     "access plus 1 month"

    ExpiresByType audio/mpeg                    "access plus 1 month"

    ExpiresByType audio/ogg                     "access plus 1 month"

    ExpiresByType video/mp4                     "access plus 1 month"

    ExpiresByType video/mpeg                    "access plus 1 month"


본인의 입맛에 맞게 설정해서 적용해 보자.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

리눅스 네트워크 interface 추가 방법



Vultr VPS 에서 사설IP 추가하는 리눅스 종류별 예제이다.


Vultr 가 아니더라도 응용하면 된다.


▶ CentOS


/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

IPADDR=10.99.0.10

NETMASK=255.255.0.0

MTU=1450


▶ Debian / Ubuntu


/etc/network/interfaces 파일에 아래 내용 추가

auto eth1

iface eth1 inet static

address 10.99.0.10

netmask 255.255.0.0

mtu 1450


▶ FreeBSD


/etc/rc.conf 파일에 아래 내용 추가

ifconfig_vtnet1="inet 10.99.0.10 netmask 255.255.255.0 mtu 1450"



블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS Network interface add

LINUX 2016. 6. 22. 10:02

CentOS Network interface add



네트워크 카드를 하나 더 추가했을때 재부팅 되더라도 자동으로 잡히도록 해주는 방법이다.



▶ 네트워크 인터페이스 확인


[root@conoha-jp ~]# ifconfig -a

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500

        inet 133.130.101.232  netmask 255.255.254.0  broadcast 133.130.101.255

        inet6 fe80::1:85ff:fe82:65e8  prefixlen 64  scopeid 0x20<link>

        ether 02:01:85:82:65:e8  txqueuelen 1000  (Ethernet)

        RX packets 419  bytes 42410 (41.4 KiB)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 70  bytes 10193 (9.9 KiB)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


eth1: flags=4098<BROADCAST,MULTICAST>  mtu 1500

        ether fa:16:3e:ba:df:b4  txqueuelen 1000  (Ethernet)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

        loop  txqueuelen 0  (Local Loopback)

        RX packets 0  bytes 0 (0.0 B)

        RX errors 0  dropped 0  overruns 0  frame 0

        TX packets 0  bytes 0 (0.0 B)

        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0



▶ 네트워크 설정 추가


[root@conoha-jp ~]# cd /etc/sysconfig/network-scripts/

[root@conoha-jp network-scripts]# cp ifcfg-eth0 ifcfg-eth1

[root@conoha-jp network-scripts]# vi ifcfg-eth1


TYPE="Ethernet"

BOOTPROTO="static"

DEVICE="eth1"

ONBOOT="yes"

HWADDR="fa:16:3e:ba:df:b4"

IPADDR="10.10.10.2"

NETMASK="255.255.255.0"

HWADDR 는 ifconfig eth1 에서 확인하면 된다.

표기 하지 않아도 된다.



▶ 네트워크 활성화


[root@conoha-jp network-scripts]# ifup eth1

[root@conoha-jp network-scripts]# systemctl restart network

[root@conoha-jp network-scripts]# ping 10.10.10.2

PING 10.10.10.2 (10.10.10.2) 56(84) bytes of data.

64 bytes from 10.10.10.2: icmp_seq=1 ttl=64 time=0.053 ms

64 bytes from 10.10.10.2: icmp_seq=2 ttl=64 time=0.059 ms


이제 재부팅 하더라도 eth1 이 자동으로 잡힐 것이다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

dig 와 nslookup 으로 도메인 IP 알아내기



일반적으로 윈도우에서는 nslookup www.pe.ivps.kr 이렇게 해서 도메인의 IP를 알아낼 수 있다.


그리고 리눅스에서는 dig www.pe.ivps.kr 로 알아내거나 nslookup 명령어도 사용한다.


아래는 dns 서버를 지정해서 가져오는 방법이다.



nslookup


[root@conoha ~]# nslookup www.pe.ivps.kr 157.7.225.68

Server:         157.7.225.68

Address:        157.7.225.68#53


Name:   www.pe.ivps.kr

Address: 192.168.1.250


dig


[root@conoha UnixBench]# dig @157.7.225.68 www.pe.ivps.kr


; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> @157.7.225.68 www.pe.ivps.kr

; (1 server found)

;; global options: +cmd

;; Got answer:

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25861

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; WARNING: recursion requested but not available


;; OPT PSEUDOSECTION:

; EDNS: version: 0, flags:; udp: 2800

;; QUESTION SECTION:

;www.pe.ivps.kr.                        IN      A


;; ANSWER SECTION:

www.pe.ivps.kr.         3600    IN      A       192.168.1.250


;; Query time: 1 msec

;; SERVER: 157.7.225.68#53(157.7.225.68)

;; WHEN: 목  6월 09 18:27:31 KST 2016

;; MSG SIZE  rcvd: 59


dns 설정이 잘됐는지 알아보고 싶을때 이렇게 해서 알 수가 있다.


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

CentOS 7.x minimal 설치 후 해야되는 일들 정리



To do List


기억하기 힘드니까 기록해두자~


yum update


ssh 접속 포트 변경하기 https://itrooms.tistory.com/168


firewalld PING 차단하기 https://ivps.tistory.com/31


firewalld DDOS 차단하기 https://ivps.tistory.com/38


접속 소켓 제한 늘이기 https://ivps.tistory.com/29


호스트네임 변경하기 https://ivps.tistory.com/76


서버 시간 설정하기 https://ivps.tistory.com/62


서버 로케일 설정하기 https://itrooms.tistory.com/181


Apache, MariaDB, PHP 설치하기 https://itrooms.tistory.com/212


아파치 phpMyAdmin 설치하기 https://ivps.tistory.com/6


아파치 IP로 접속시 차단하기 https://ivps.tistory.com/74


아파치 디렉토리 안나오게 하기 https://ivps.tistory.com/69


아파치 mod_ruid2 모듈 설치 및 설정하기 https://ivps.tistory.com/72


아파치 VirtualHost 설정하기 https://ivps.tistory.com/73


아파치 다운로드 속도 제어하기 https://ivps.tistory.com/15


트래픽 모니터링 VNSTAT 설치하기 https://ivps.tistory.com/70




또 뭐가 있을까요??


추가사항이 있으면 계속 업데이트 예정입니다~


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,

리눅스 UnixBench 설치 및 테스트



gcc 와 perl 은 이미 설치되어 있다면 안해도 된다.


yum -y install gcc perl

wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/byte-unixbench/UnixBench5.1.3.tgz

tar zxvf UnixBench5.1.3.tgz

cd UnixBench

make



아래는 디지털오션의 제일 저렴한 상품 VPS에서 테스트 한 결과이다.


[root@ocean-20 UnixBench]# ./Run

make all

make[1]: Entering directory `/root/UnixBench'

Checking distribution of files

./pgms  exists

./src  exists

./testdir  exists

./tmp  exists

./results  exists

make[1]: Leaving directory `/root/UnixBench'

sh: 3dinfo: command not found


   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #

   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #

   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######

   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #

   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #

    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #


   Version 5.1.3                      Based on the Byte Magazine Unix Benchmark


   Multi-CPU version                  Version 5 revisions by Ian Smith,

                                      Sunnyvale, CA, USA

   January 13, 2011                   johantheghost at yahoo period com



1 x Dhrystone 2 using register variables  1 2 3 4 5 6 7 8 9 10


1 x Double-Precision Whetstone  1 2 3 4 5 6 7 8 9 10


1 x Execl Throughput  1 2 3


1 x File Copy 1024 bufsize 2000 maxblocks  1 2 3


1 x File Copy 256 bufsize 500 maxblocks  1 2 3


1 x File Copy 4096 bufsize 8000 maxblocks  1 2 3


1 x Pipe Throughput  1 2 3 4 5 6 7 8 9 10


1 x Pipe-based Context Switching  1 2 3 4 5 6 7 8 9 10


1 x Process Creation  1 2 3


1 x System Call Overhead  1 2 3 4 5 6 7 8 9 10


1 x Shell Scripts (1 concurrent)  1 2 3


1 x Shell Scripts (8 concurrent)  1 2 3


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

   BYTE UNIX Benchmarks (Version 5.1.3)


   System: ocean.ivps.kr: GNU/Linux

   OS: GNU/Linux -- 3.10.0-327.18.2.el7.x86_64 -- #1 SMP Thu May 12 11:03:55 UTC 2016

   Machine: x86_64 (x86_64)

   Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")

   CPU 0: Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz (4000.0 bogomips)

          x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET, Intel virtualization

   03:09:31 up 53 min,  1 user,  load average: 0.42, 0.12, 0.08; runlevel 3


------------------------------------------------------------------------

Benchmark Run: Fri Jun 03 2016 03:09:31 - 03:37:28

1 CPU in system; running 1 parallel copy of tests


Dhrystone 2 using register variables       22474827.9 lps   (10.0 s, 7 samples)

Double-Precision Whetstone                     2926.3 MWIPS (9.3 s, 7 samples)

Execl Throughput                               2833.8 lps   (29.9 s, 2 samples)

File Copy 1024 bufsize 2000 maxblocks        595433.6 KBps  (30.0 s, 2 samples)

File Copy 256 bufsize 500 maxblocks          162140.4 KBps  (30.0 s, 2 samples)

File Copy 4096 bufsize 8000 maxblocks       1269635.0 KBps  (30.0 s, 2 samples)

Pipe Throughput                             1174541.2 lps   (10.0 s, 7 samples)

Pipe-based Context Switching                 207180.0 lps   (10.0 s, 7 samples)

Process Creation                               8227.0 lps   (30.0 s, 2 samples)

Shell Scripts (1 concurrent)                   3788.7 lpm   (60.0 s, 2 samples)

Shell Scripts (8 concurrent)                    509.5 lpm   (60.1 s, 2 samples)

System Call Overhead                        1660908.5 lps   (10.0 s, 7 samples)


System Benchmarks Index Values               BASELINE       RESULT    INDEX

Dhrystone 2 using register variables         116700.0   22474827.9   1925.9

Double-Precision Whetstone                       55.0       2926.3    532.0

Execl Throughput                                 43.0       2833.8    659.0

File Copy 1024 bufsize 2000 maxblocks          3960.0     595433.6   1503.6

File Copy 256 bufsize 500 maxblocks            1655.0     162140.4    979.7

File Copy 4096 bufsize 8000 maxblocks          5800.0    1269635.0   2189.0

Pipe Throughput                               12440.0    1174541.2    944.2

Pipe-based Context Switching                   4000.0     207180.0    517.9

Process Creation                                126.0       8227.0    652.9

Shell Scripts (1 concurrent)                     42.4       3788.7    893.6

Shell Scripts (8 concurrent)                      6.0        509.5    849.2

System Call Overhead                          15000.0    1660908.5   1107.3

                                                                   ========

System Benchmarks Index Score                                         956.2


디지털오션 Intel(R) Xeon(R) CPU E5-2630L 0 @ 2.00GHz 인데 생각보다 점수가 낮게 나왔다.


v2 2.40GHz 는 944.1점



ConoHa DigitalOcean Linode Vultr 벤치마크 테스트 결과보기 https://ivps.tistory.com/85


블로그 이미지

영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

,