RadarURL
Skip to content
조회 수 2083 추천 수 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
번호 제목 글쓴이 날짜 조회 수
» 안전한 CentOS를 위한 방화벽, 보안 설정 JAESOO 2014.05.26 2083
47 CentOS 에 APM 설치하기 JAESOO 2014.05.26 628
46 Xshell 한글 깨짐 JAESOO 2014.05.26 909
45 CentOS 5.2 + Xmanager 설정 방법 JAESOO 2014.05.26 680
44 CentOS X Window + Gnome Desktop 설치 JAESOO 2014.05.26 826
43 [VMware] CentOS 6.5 설치 (64bit) - GUI(GNOME) JAESOO 2014.05.26 1418
42 CentOS Network 설정 JAESOO 2014.05.26 619
41 RHEL 6.5 에서 bmc-watchdog[xxxx]: Log 가 발생되면서 rebooting 되는 문제 JAESOO 2014.05.22 1155
40 RHEL5, 6 Ctrl + Alt + Del 키 막기 JAESOO 2014.05.22 824
39 Linux YUM 을 이용하여 보안 업데이트를 진행해 보자 JAESOO 2014.05.22 775
38 Red Hat RHN 등록이 왜? 안될까? ( RHN connection refused ) JAESOO 2014.05.22 744
37 RHEL 6.5 Release… JAESOO 2014.05.22 869
36 sulinux 2.0 + APM + Zend + eaccelerator + nginx + mrtg JAESOO 2014.05.22 897
35 SULinux 2.0 GUI 버전 - GUI가 편하긴 하구나... JAESOO 2014.05.22 1389
34 sulinux APMtools 설치 위치 정리 JAESOO 2014.05.22 867
33 howto: RHEL6 x86_64 + APM + mediawiki + CKEditor + IPA(LDAP) JAESOO 2014.05.22 1982
32 RedHat 계정 만들기 ( 평가용 서브스크립션 다운로드 ) JAESOO 2014.05.22 967
31 리눅스 시스템 성능 모니터링(CPU, 메모리) JAESOO 2014.05.14 1084
30 Linux CPU, I/O, Memory 사용량 측정 JAESOO 2014.05.14 2684
29 리눅스 시스템 모니터링 시스템 최적화 JAESOO 2014.05.14 2980
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 Next
/ 10

PageViews   Today : 1,002   Yesterday : 1,140   Total : 19,809,486  /  Counter Status   Today : 282   Yesterday : 296   Total : 1,421,252
Site Info   Member : 237  /  Total documents : 1,227   New documents : 0  /  Total comments : 24

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소