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

?

List of Articles
번호 제목 글쓴이 날짜 조회 수
162 리눅스(Linux) 디렉토리 구조 JAESOO 2016.10.20 602
161 ssh서버가 비밀번호를 거부했습니다. 다시 시도하십시오. JAESOO 2016.08.26 709
160 [리눅스] IP 설정 변경 하기 JAESOO 2016.08.26 717
159 리눅스 설치후 초기설정해야 할 것들 [2] JAESOO 2016.07.13 675
158 리눅스 설치후 초기설정해야 할 것들 [1] JAESOO 2016.07.13 702
157 쉘 프로그래밍을 이용한 시스템 관리 기법 JAESOO 2016.05.12 540
156 AIX 자주 쓰이는 관리 명령 모음 JAESOO 2016.05.12 554
155 AIX 시스템상의 core, SMT(Simultaneous Multi Threading) 수 확인하기 JAESOO 2016.05.12 604
154 리눅스 호스트명 변경 JAESOO 2016.05.11 439
153 AIX 서버 기초 JAESOO 2016.05.11 560
152 AIX Admin Study 교육 자료 JAESOO 2016.05.11 547
151 성능 엔지니어링 대한 접근 방법 (Performance tuning) JAESOO 2016.05.05 489
150 [AIX] 파일시스템 관리 (du, df) JAESOO 2016.05.04 552
149 IBM AIX Admin (사용자 DISK 관리) JAESOO 2016.05.04 504
148 [UNIX] 유닉스 기본명령어 JAESOO 2016.05.04 455
147 [AIX] 파일시스템 용량 늘리기 JAESOO 2016.05.04 558
146 유닉스 상에서 ls 출력물을 MB 단위로 출력해주는 옵션 JAESOO 2016.05.04 446
145 ls 명령시 날짜 전체가 보이도록 하기 JAESOO 2016.05.02 438
144 리눅스 logrotate 에서 로그파일 강제로 rotate 시키기 JAESOO 2016.03.31 663
143 리눅스 시간 맞추기 : Time Server와 Sync (rdate, date) JAESOO 2016.03.19 733
Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

PageViews   Today : 7039 Yesterday : 5037 Total : 21963091  /  Counter Status   Today : 6788 Yesterday : 4602 Total : 1189511

Edited by JAESOO

sketchbook5, 스케치북5

sketchbook5, 스케치북5

나눔글꼴 설치 안내


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

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

설치 취소