RadarURL
Skip to content
조회 수 2093 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

Putty를 사용하여 서버에 SSH에 접속하고, 방화벽 초기 설정을 마치고, 서버 보안 설정을 다루겠습니다.

1. 서버에 SSH 로 접속하기

APM 운영을 위한 CentOS 설치가 완료되었으니 서버 앞을 떠나,  사용중인 PC에서 SSH 로 서버에 접속 해봅시다.  SSH 로 접속하기 위한 무료 SSH 클라이언트 프로그램에는 PuTTy 한글 버전이 있습니다.

PuTTY 설치에 관한 내용도 열심히 써볼려고 했으나,  능력자분들이 너무 많아 링크로 또 대체합니다.

* PuTTY설치후 SSH 접속시 주의사항.
CentOS 6.4 는 기본 UTF-8 입니다.  따라서 PuTTY 설정 화면의 [창 - 변환 - 수신한 데이터를 이 문자셋으로 가정]항목을 기본 CP949 에서 UTF-8 로 변경해주셔야 화면상의 한글이 깨지지 않습니다.

 

2. 방화벽 설정하기

먼저 방화벽 설정파일을 확인합니다.

cat /etc/sysconfig/iptables

만약 위 파일에 아무런 내용이 없을 경우에만 다음 작업을 진행합니다.
  (OS 설치시 방화벽 활성화에 체크하지 않은 경우임)

A. ‘방화벽 설정’화면을 띄웁니다.

system-config-firewall-tui

B. ‘방화벽 : [*] 활성화’에 체크합니다.

system-config-firewall.png



C. ‘사용자 설정’을 눌러 ‘SSH’항목에 체크하고 ‘종료’를 누릅니다.

system-config-firewall_2.png



D. 다시 방화벽 설정 첫화면에서 ‘OK’를 누르면  /etc/sysconfig/iptables 파일에 설정이 저장됩니다.

system-config-firewall_3.png



  주의) /etc/sysconfig/iptables 파일에 미리 추가해둔 내용이 있는 상태에서, 위 ‘방화벽 설정’을 띄워 ‘사용자 설정’을 진행하면, /etc/sysconfig/iptables 파일의 내용이 초기화됩니다.   따라서 iptables 파일이 내용이 없는 경우에만 실행해야 합니다.

이제 iptables 파일을 열어 외부에서 접근할 서비스의 포트를 허용합니다.

vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT

기본 SSH 인 22번 포트만 허용된 상태인데, 웹서비스(www)를 위해 22 설정 아래에 TCP 80 을 추가합니다.  (다른 라인에 넣으면 제대로 동작 안합니다.)

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

22, 80 외에 서비스 범위에 따라 추가해야하는 주요 포트들입니다.

- 웹서버에 SSL 인증서가 설치되어 https 주소로 서비스하는 경우 TCP 443 추가

-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT

- 메일서버를 직접 운영하여, SMTP/POP3 를 이용하는 경우, TCP 25, TCP 110, TCP 587 추가
참고1) 메일을 수신하지 않고, PHP mail()함수 등을 통해 발송하는 용도로만 사용된다면 25, 110, 587 포트는 열 필요가 없습니다.
참고 2) 110 포트는 아웃룩이나 스마트폰 등에서 ‘메일 받기’시 사용되므로, 사용하지 않는다면 열 필요가 없습니다.
  참고 3) 설정에 따라 SMTP, POP3 에 SSL을 적용하는 경우 포트가 달라질 수 있습니다.

-A INPUT -m state --state NEW -m tcp -p tcp --dport 25 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 110 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 587 -j ACCEPT

방화벽 설정이 완료되면, 방화벽을 재시작해줍니다.

/etc/init.d/iptables restart

재시작후, 중요한 체크 포인트!
Putty 에서 기존 SSH 연결을 절대 종료하지 말고, 새 접속을 하나 더 열어 정상적으로 서버에 SSH로 접속되는지 확인해야 합니다.  만약 기존 SSH 연결이 끊어져버린 상태에서 방화벽 설정 문제로 SSH 연결이 안될 경우, 서버 앞으로 가서 작업해야 하므로 원격지일 경우 특히 위험합니다.

이제 ntsysv 를 실행하여, ‘iptables‘항목이 부팅시 자동 시작하도록 체크되어 있는지 확인하면 방화벽 작업이 완료됩니다.

/usr/sbin/ntsysv

 

3. 보안 설정

A. root 비밀번호를 ‘영문 소문자 + 대문자 + 숫자 + 특수문자’ 조합으로 최소 10자리 이상으로 설정하십시 오.  아직도 처음 설치한다고 123456 을 사용하는 경우가 있는데, 인터넷이 연결된 상태에서는 실시간  해킹됩니다.

B. Fail2Ban 을 설치하면, SSH 로그인 시도 횟수가 초과하면 IP를 자동으로 차단해주므로 비밀번호 입력 공격에 효과적입니다.

yum update
 
rpm -ivh http://ftp.neowiz.com/fedora-epel/6/i386/epel-release-6-8.noarch.rpm
yum update epel-release
yum install fail2ban jwhois
/sbin/chkconfig fail2ban on
/etc/init.d/fail2ban start

이상으로 서버에서 기본적인 보안 설정이 모두 완료되었습니다.

참고1) SSH 포트를 22 대신 다른 포트로 변경하는 방법도 있으나 일단 생략합니다.  더 자세히 알고 싶으신 분들은  구글에서 ‘centos ssh 포트 변경’으로 검색해보시면 자료를 찾으실 수 있습니다.

참고2) 최근 추세인 웹페이지의 보안 취약점을 통한 공격들은 주요 PHP 솔루션별로 설치 및 보안 조치들을 정리해볼 예정입니다.


출처 : http://www.php79.com/59

?

  1. No Image 20Oct
    by JAESOO
    2016/10/20 by JAESOO
    Views 602 

    리눅스(Linux) 디렉토리 구조

  2. No Image 26Aug
    by JAESOO
    2016/08/26 by JAESOO
    Views 709 

    ssh서버가 비밀번호를 거부했습니다. 다시 시도하십시오.

  3. No Image 26Aug
    by JAESOO
    2016/08/26 by JAESOO
    Views 717 

    [리눅스] IP 설정 변경 하기

  4. No Image 13Jul
    by JAESOO
    2016/07/13 by JAESOO
    Views 675 

    리눅스 설치후 초기설정해야 할 것들 [2]

  5. No Image 13Jul
    by JAESOO
    2016/07/13 by JAESOO
    Views 702 

    리눅스 설치후 초기설정해야 할 것들 [1]

  6. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 540 

    쉘 프로그래밍을 이용한 시스템 관리 기법

  7. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 554 

    AIX 자주 쓰이는 관리 명령 모음

  8. No Image 12May
    by JAESOO
    2016/05/12 by JAESOO
    Views 604 

    AIX 시스템상의 core, SMT(Simultaneous Multi Threading) 수 확인하기

  9. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 439 

    리눅스 호스트명 변경

  10. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 560 

    AIX 서버 기초

  11. No Image 11May
    by JAESOO
    2016/05/11 by JAESOO
    Views 547 

    AIX Admin Study 교육 자료

  12. No Image 05May
    by JAESOO
    2016/05/05 by JAESOO
    Views 489 

    성능 엔지니어링 대한 접근 방법 (Performance tuning)

  13. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 552 

    [AIX] 파일시스템 관리 (du, df)

  14. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 504 

    IBM AIX Admin (사용자 DISK 관리)

  15. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 455 

    [UNIX] 유닉스 기본명령어

  16. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 558 

    [AIX] 파일시스템 용량 늘리기

  17. No Image 04May
    by JAESOO
    2016/05/04 by JAESOO
    Views 446 

    유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션

  18. No Image 02May
    by JAESOO
    2016/05/02 by JAESOO
    Views 438 

    ls 명령시 날짜 전체가 보이도록 하기

  19. No Image 31Mar
    by JAESOO
    2016/03/31 by JAESOO
    Views 663 

    리눅스 logrotate 에서 로그파일 강제로 rotate 시키기

  20. No Image 19Mar
    by JAESOO
    2016/03/19 by JAESOO
    Views 733 

    리눅스 시간 맞추기 : Time Server와 Sync (rdate, date)

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 6988 Yesterday : 5037 Total : 21963040  /  Counter Status   Today : 6738 Yesterday : 4602 Total : 1189461

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소