잠시만 기다려 주세요

     '시장이나 돌면서 가짜 민생 외치는 이재명을 규탄한다. 싸우지 않을 거면 내려와라... 거기는 당신의 방탄이나 하는 자리가 아니다.'
전체검색 :  
이번주 로또 및 연금번호 발생!!   |  HOME   |  여기는?   |  바다물때표   |  알림 (26)  |  여러가지 팁 (1125)  |  추천 및 재미 (166)  |  자료실 (25)  |  
시사, 이슈, 칼럼, 평론, 비평 (1043)  |  끄적거림 (157)  |  문예 창작 (734)  |  바람 따라 (75)  |  시나리오 (760)  |  드라마 대본 (248)  |  
살인!


    리눅스 서버

리눅스 서버 - SSH (Secure Shell) 보안 설정
이 름 : 바다아이   |   조회수 : 17041         짧은 주소 : https://www.bada-ie.com/su/?311591810481
주제는 리눅스에서 ssh에 대한 보안이다!
시스템의 OS는 리눅스 Centos 64이다.

시큐어 셀 (SSH)이란?
---------------------------------------------------------------------------------
시큐어 셸(Secure Shell, SSH)은 네트워크 상의 다른 컴퓨터에 로그인하거나 원격 시스템에서 명령을 실행하고 다른 시스템으로 파일을 복사할 수 있도록 해 주는 응용 프로그램 또는 그 프로토콜을 가리킨다. 기존의 rshrlogin텔넷 등을 대체하기 위해 설계되었으며, 강력한 인증 방법 및 안전하지 못한 네트워크에서 안전하게 통신을 할 수 있는 기능을 제공한다. 기본적으로는 22번 포트를 사용한다.
SSH는 암호화 기법을 사용하기 때문에, 통신이 노출된다 하더라도 이해할 수 없는 암호화된 문자로 보인다. 
인용 :(위키 백과)http://ko.wikipedia.org/wiki/%EC%8B%9C%ED%81%90%EC%96%B4_%EC%85%B8
참조 : http://en.wikipedia.org/wiki/Secure_Shell(영문)
_____________________________________________________________________________________________
SSH 설치
---------------------------------------------------------------------------------
 
1. 다음 두 개의 패키지를 설치한다.
     - openssh-clients
     - openssh-server
 
     yum -y install openssh-server openssh-clients
예시 화면
 
 
2. 서비스 시작하기
     chkconfig sshd on
     service sshd start
예시 화면
 

설정 방법

------------------------------------------------------------------------------------------------------------
3. 방화벽 설정
     3-1. /etc/sysconfig/iptables 파일 수정
     ( -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT ) 추가
예시 화면

 
 
     3-2. 방화벽 재시작
     - service iptables restart  
예시 화면
 
 
---------------------------------------------------------------------------------
 
 
 
 
SSH 공격 유형
---------------------------------------------------------------------------------
필자가 공격 유형과 실습을 올리는 이유는 보안 심각성을 알리기 위함을 알리며 이기술을 통하여 해킹을 할시 해당 국가에 법에 접촉될수 있음을 경고 합니다. 
 
---------------------------------------------------------------------------------
공격 방어를 위한 방법
---------------------------------------------------------------------------------
1. 설정 변경
2. 2차 인증 방식
 
 
여담
---------------------------------------------------------------------------------
개인적으로 리눅스로 서버를 구축하여 사용하는 분들이 많이 있다.
그러나 그런 시스템에 기본적으로 보안이 안되어 있는 경우가 많이 있다. 크래커의 먹이 감이 되는 경우가 종종 있다. 그중에서 ssh 보안을 최소한이라도 설정하자!
---------------------------------------------------------------------------------
크래킹과 보안은 양날의 칼이다!



_____________________________________________________________________________________________
보안에 대한 인식이 확산되면서 ssh 사용자가 많이 늘어나고 있다.
그러나 http 대신 https를 사용한다고 해서 보안에 완벽해 지는 것이 아닌 것처럼,
telnet 대신 ssh를 사용한다고해서 보안에 완벽해 지는 것은 결코 아니다.
단지 SecureShell인 ssh는 telnet이나 현재 거의 사용하지 않는 rlogin에 대한 대체로서
몇 가지 부가 기능을 제공하기는 하지만, 세션을 암호화함으로써 스니핑에 대비하기 위한 것뿐이다.
특히나 ssh 데몬은 root로 가동되고, 통상적으로 root 로그인이 가능하다는 것을 점을
이용해 ssh의 취약성을 이용한 각종 공격이 끊이지 않고 있으므로 ssh의 보안은 매우 중요하다고 할 수 있다.
 
 
 
# cd /etc/ssh/
# cp /etc/ssh/sshd_config /etc/ssh/sshd_config_old /* 원복 파일 백업 */
# vi /etc/ssh/sshd_config
------------------------------------  sshd_config  ------------------------------------------------------------------
# PermitRootLogin yes
ssh나 openssh를 사용시 대부분 root로의 직접 로그인을 허용하고 있다. 이러한 경우 무차별 대입법등으로 원격지에서 root로 로그인할 수도 있으므로 root로의 직접 로그인은 가급적 자제하는 것이 좋다.
따라서 일반 유저로 ssh 로그인한 후 su , su - 등을 이용하여 root로 로그인하여야 하는데
굳이 root로의 직접 로그인을 사용하려면 방화벽 등에서 접근통제를 엄격하게 설정하여야 한다.
 

# PubkeyAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys

ssh에서 제공하는 인증에는 공개키 인증과 암호 인증법 이렇게 두 가지가 있는데, 공개키 인증을 사용할 것인지에 대해 설정하는 것이다.
공개키 인증 사용시 공개키가 있어야 하므로 더욱 안전하다.
(처음 openssh 설치후 putty로 원격 접속을 시도 했을시 암호화 같은 긴 내용을 보았을 것인데 그것은 암호 인증법이다.)
그리고 인증 접속에 문제가 될 경우 공개키의 내용을 삭제하고 접속하면 다시 물어 본다.
디렉토리 : /etc/ssh

# RhostsRSAAuthentication no
PasswordAuthentication yes
.rhost는 보안상 상당히 위험하므로 사용하지 말아야 한다. 그리고 일반적인 암호 기반의 인증을 사용할 것인지 결정하여야 하는데, 만약 암호기반의 인증을 제공하려면 엄격하게 접근통제를 하여야 할 것이다.
# PermitEmptyPasswords no
암호가 없는 계정에 대해 로그인을 허용할 것인지 지정하는 부분이다. 당연히 no로 지정하는 것이 좋다.
(CentOS 5.1의 경우 주석(#) 처리 되어 있어 암호가 없는 계정은 ssh로 접속이 불가능하다.)
AllowGroups wheel admin오직 wheel이나 admin 그룹에 속한 유저만 로그인할 수 있도록 허용한다. 이외에 그룹에 속한 유저는 암호를 정확히 입력해도 로그인이 거부된다.
(CentOS 5.1과 Fedora Core 6에서는 설정이 없다. 필요하다면 추가해 주면 된다.)
AllowUsers user1 user2
위 그룹에 속한 유저 중에서도 user1과 user2만 로그인을 하용한다.
물론 AllowUsers를 별도로 지정하지 않으면 AllowGroups에서 지정한 그룹은 모두 로그인 가능하며 AllowGroups를 지정하지 않고 AllowUsers만 지정하면 그룹에 관계없이 AllowUsers에 지정된 유저만 로그인 가능하다.
(CentOS 5.1과 Fedora Core 6에서는 설정이 없다. 필요하다면 추가해 주면 된다.)
ListenAddress 0.0.0.0
기본적으로 ListenAddress가 0.0.0.0 으로 되어 있어 인터페이스에 설정된 모든 IP에 대해 리슨(LISTEN)하도록 되어 있다. 만약 여러 IP가 aliasing되어 있다면 꼭 필요한 특정 IP에서만 리슨(LISTEN)하도록 하는 것이 좋다.
Port 875ssh의 기본 포트는 22번이지만 반드시 22번으로 사용할 필요는 없으므로 임의의 번호를 할당하여 외부에서 접속할 때에는 “ssh hostname –p 975”와 같이 접속하면 된다.
만약 여러 포트로 리슨(LISTEN)하도록 하려면 아래와 같이 설정하면 된다.
Port 22
Port 5002
 


 
[출처] ssh 보안 설정|작성자 소류하
 
1. 루트로그인 차단 (PermitRootLogin)
   # vi /etc/ssh/sshd_config      PermitRootLogin no
 
2. 특정 그룹 또는 유져만  접속가능
  # vi /etc/ssh/sshd_config     AllowUsers bobo john jason
 # vi /etc/ssh/sshd_config    AllowGroups sysadmin dba
 
3. 특정 그룹 또는 유져 접속차단
 # vi /etc/ssh/sshd_config   DenyUsers cvs apache jane
 # vi /etc/ssh/sshd_config   DenyGroups developers qa
 
4. sshd 포트넘버 변경 (Port)
  # vi /etc/ssh/sshd_config    Port 2222
 
5. 지정시간내 로그인 유효시간  (LoginGrace Time)
  # vi /etc/ssh/sshd_config    LoginGraceTime 1m (기본 1분지정, 0은 시간제한없음)
 
6. sshd Listen Address
  # vi /etc/ssh/sshd_config    ListenAddress 192.168.0.200
 
7. 접속후 아무작업이 없을때 접속끊기
  # vi /etc/ssh/sshd_config   ClientAliveInterval 600   ( 기본 0 보내지않음. 10분간격으로 클라이언트로 메시지를 보내고 응답한다.)   ClientAliveCountMax 3  (클라이언트에서 응답이 없을 때 메시지를 보내는 횟수)


출처 : http://betteridea-bank.blogspot.kr/2014/03/sshsecure-shell.html
 
| |





      5 page / 6 page
번 호 카테고리 제 목 이름 조회수
43 리눅스 서버 OpenVZ vs KVM, Xen , 바다아이 13693
42 리눅스 서버 roundcubemail 4 바다아이 13304
41 리눅스 서버 [Imap] Qmail + Vpopmail + Dovecot 바다아이 17743
40 리눅스 서버 Roundcubemail 0.3.1 , 바다아이 16758
39 리눅스 서버 qmail + vpopmail 바다아이 13297
38 리눅스 서버 PHP 7.0 on CentOS/RHEL 6.7 and 7.1 via Yum 바다아이 22933
37 리눅스 서버 CentOS 7 firewalld iptables 바다아이 14139
36 리눅스 서버 , webalizer , 바다아이 13501
35 리눅스 서버 iptables ssh , ssh 바다아이 13352
34 리눅스 서버 ssh - fail2ban, SSH Brute-force attack 바다아이 16885
33 리눅스 서버 NGINX php ... 바다아이 62548
32 리눅스 서버 CentOS 7 | firewall-cmd 바다아이 13694
현재글 리눅스 서버 SSH (Secure Shell) 바다아이 17042
30 리눅스 서버 proftp , , proftpd.conf 바다아이 16753
29 리눅스 서버 centos 7 iptables firewall-cmd 바다아이 14559
28 리눅스 서버 바다아이 13640
27 리눅스 서버 netstat, nmap 바다아이 14099
26 리눅스 서버 Apache IP , 바다아이 12882
25 리눅스 서버 , 바다아이 13724
24 리눅스 서버 php php.ini , 바다아이 16625
23 리눅스 서버 mysql, mariadb (UTF8) .. ??? 바다아이 15246
22 리눅스 서버 , , , 바다아이 13961
21 리눅스 서버 top 바다아이 16862
20 리눅스 서버 [subversion] ubuntu subversion 바다아이 16489
19 리눅스 서버 2 mod_cband , 바다아이 18078
18 리눅스 서버 바다아이 13872
17 리눅스 서버 Apache event MPM, Prefork MPM, Worker MPM 바다아이 17140
16 리눅스 서버 Virtual Hosting 바다아이 16596
15 리눅스 서버 fedora selinux , ... , , ftp, mysql ... 바다아이 14542
14 리눅스 서버 ssh rsync 바다아이 13785
| |









Copyright ⓒ 2001.12. bada-ie.com. All rights reserved.
이 사이트는 리눅스에서 chrome 기준으로 작성되었습니다. 기타 브라우저에서는 다르게 보일 수 있습니다.
[ Debian + GoLang + PostgreSQL + Mariadb + PgBouncer + ProxySQL]
서버위치 : San Jose Datacenter  실행시간 : 0.04333
to webmaster... gogo sea. gogo sea.