RadarURL
Skip to content
조회 수 2078 추천 수 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

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
64 리눅스 디렉토리 및 파일 권한 일괄(한번에) 변경 JAESOO 2014.05.27 834
63 Vim Vi 블록 선택, 복사, 붙이기, 칼럼 영역 선택하기; Select Copy Paste JAESOO 2014.05.27 928
62 sudo 사용자 등록 (in CentOS) JAESOO 2014.05.26 2813
61 Xmanager CentOS 설정 : CentOS 4.x, 5.x, 6.x JAESOO 2014.05.26 1180
60 리눅스에서 일반 계정으로 httpd 80포트 실행하기 JAESOO 2014.05.26 651
59 Xmanager에서 CentOS 5.X 원격Xwindow 띄우기 JAESOO 2014.05.26 927
58 Apache 파일시스템 권한 설정 JAESOO 2014.05.26 571
57 vi 명령어, vi 단축키, vi(Visual Editer), vim JAESOO 2014.05.26 878
56 리눅스 파일의 소유자, 소유그룹 변경하기 JAESOO 2014.05.26 844
55 CentOS 방화벽 설정 하기 JAESOO 2014.05.26 691
54 Apache HTTP Server, Rewrite가 안되는 경우 JAESOO 2014.05.26 637
53 CentOS - samba 자동실행 JAESOO 2014.05.26 1108
52 vsftp에서 500 OOPS: cannot change directory 오류가 나올 때 JAESOO 2014.05.26 634
51 CentOS samba 공유 폴더 생성하기 JAESOO 2014.05.26 594
50 CentOS Samba Server 설정 JAESOO 2014.05.26 716
49 CentOS Samba 설치 및 설정 JAESOO 2014.05.26 722
» 안전한 CentOS를 위한 방화벽, 보안 설정 JAESOO 2014.05.26 2078
47 CentOS 에 APM 설치하기 JAESOO 2014.05.26 628
46 Xshell 한글 깨짐 JAESOO 2014.05.26 895
45 CentOS 5.2 + Xmanager 설정 방법 JAESOO 2014.05.26 680
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10

PageViews   Today : 1,177   Yesterday : 1,143   Total : 19,674,735  /  Counter Status   Today : 453   Yesterday : 400   Total : 1,382,698
Site Info   Member : 219  /  Total documents : 1,221   New documents : 0  /  Total comments : 24

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소