'ssh'에 해당되는 글 2건

  1. 2010.02.04 ssh 포트 변경
  2. 2007.08.02 SSH
OS/LINUX2010. 2. 4. 17:01
반응형

기존 ssh 포트 :  22번

변경 ssh 포트 :  2200번


linux의 경우 여러 아이피에서 포트 스캔등이 이루어 지고 있고 여러 계정 또는 비밀번호를 크랙하기 위해 brute scan

접속시도를 하는경우가 많다.

요런거를 Brute_Scan attack 이라고 한다.


이러한 공격에 대하여 임시방편으로 ssh port 를 변경하는 방법이다.


참고로 ssh 포트 변경후 변경된 포트로 접속이 안될 경우는 직접 콘솔에서 작업하라.


1. /etc/ssh/sshd_config 에서 수정(2200번 포트로 변경을 한다는 가정을 할때)

Port 22  ==> Port 2200  
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::


2. sshd_config 를 수정 후 sshd 데몬을  restart 한다.

예) /etc/rc.d/init.d/sshd restart


3. 그리고 접속해보라 !


이외에 sshd_config 에서 몇가지 수정시 보안상 좋은 내용이 있다.


# 서버에 바로 root 접속을 막는다.
PermitRootLogin no

# 로그인이 성공적으로 이루어지지 않았을 때 이 시간 후에 서버가 연결을
끊는 시간이다. 값이 0이면 제한 시간이 없다.
LoginGraceTime 600

# 인증실패시 재시도 횟수 설정
MaxAuthTries 3


주의사항

요런경우도 있다.

가령, rsync를 이용하거나 어떤걸 이용해서 백업을 받는 경우가 있는데, 요런 경우에는 변경한 포트를 적용시키기 위해서는


# rsync -e "ssh -p2200" kjb4310_070417.tar.gz x.x.x.x:/home2/kjb4310/


해보라 알것이다 ㅡㅡ

반응형
Posted by [PineTree]
OS/SOLARIS2007. 8. 2. 19:04

SSH

반응형
1. SSH 일반적 설명
 
Solaris9에서는 SSH를 기본 제공하나 8에서는 그러하지 못하다. 보안문제가 중요한 이시점에서 무료로 제공하는 SSH는 안전한 패킷통신을 지원하기 위한 원격 접속 서비스입니다.
일반 텔넷 서비스는 암호회되지 않아서 스니핑시에 정보가 노출될 위험이 있으나, 22번 포트를 사용하는 SSH의 경우 인터넷의 키 알고리즘을 이용해 암호화된 자료를 전송하며, 인터넷 프로토콜로 쉽게 사용할수 있어 불법적으로 내용을 해독할수 없게 합니다.
SSH는 쌍방의 비대칭키를 이용하여 안전한 접속 세션을 구성합니다.
보통 scp(rcp(secure cp))나 sftp(ftp(secure ftp))와 같은 파일 전송 도구로도 활용되고 있는 실정입니다. 보통 SSH1과 SSH2가 있는데 SSH2를 많이 사용합니다.
 
 
2. SSH 설치 작업
 
1. 자신의 솔라리스에 맞는 패치를 설치합니다.
http://sunsolve.sun.com/pub-cgi/show.pl?target=patches/patch-access 에서 자신에게 맞는 패치를 다운로드 받습니다.

2. 받은 패치를 설치합니다.
112438-01.zip는 버전마다 차이있음 자신에게 맡는것 받으세요

# mv 112438-01.zip.exe 112438-01.zip
만약 위 보기처럼 exe라고 붙은 파일이 있으면 이름 변경해야됩니다.
# unzip 112438-01.zip
압축을 풉니다.
# patchadd 112438-01
패치를 까는 명령(patchadd), 지우는 명령(patchrm)
Checking installed patches......
패치 까는데 보통 30~1시간 이상 걸립니다.
3. 패치를 깔고나면 프롬프트(#)가 나오는데, 재부팅을 해야합니다.
# reboot
 
 
3. 다음 4개의 파일을 www.sunfreeware.com등에서 다운로드 받으세요
 
※ 주의 : 아래파일은 솔라리스8용이며 인텔버젼용 딴 머신은 자신에게 맞는 파일을 다운로드 받으세요

1. openssh-3.4p1-sol8-intel-local.gz
2. openssl-0.9.6e-sol8-intel-local.gz
3. zlib-1.1.4-sol8-intel-local.gz
4. libgcc-3.1-sol8-intel-local.gz
위 4개의 파일을 받는데 버전이 업된것도 있다.
 
4. 해당 파일을 다운 받았으면, 압축을 풀어주세요
 
# gunzip openssh-3.4p1-sol8-intel-local.gz
# gunzip openssl-0.9.6e-sol8-intel-local.gz
# gunzip zlib-1.1.4-sol8-intel-local.gz
# gunzip libgcc-3.1-sol8-intel-local.gz
압축 한번에 풀기 는..    # gunzip *.gz 위명령과 동일하다.
 
5. 압축이 풀렸다면 패키지를 깔으세요.
 
#pkgadd -d openssh-3.4p1-sol8-intel-local
#pkgadd -d openssl-0.9.6e-sol8-intel-local
#pkgadd -d zlib-1.1.4-sol8-intel-local
#pkgadd -d libgcc-3.1-sol8-intel-local
 
6. /var/empty 디렉토리 생성후 권한줍니다.디렉토리내 아무것도 없어야함)
 
# mkdir /var/empty
# chown root:sys /var/empty
# chmod 755 /var/empty
 
7. sshd 유저와 그룹생성 홈디렉토리 변경
 
# groupadd sshd
# useradd -g sshd -c "sshd" -d /var/empty -s /bin/false sshd
 
8. 모든 시스템에서의 접속을 허용한다면 다음과 같이 한다.
 
# echo "sshd: ALL" > /etc/hosts.allow
allow로 끝나는 파일은 허용할 대상 설정 파일(deny는 막는것 설정)

9. ssh의 실행을 위해 기본으로 사용될 키를 생성합니다.
 
만약 다음 명령이 실행안되면 패스를 지정합니다.
참고로 다음 명령의 위치는 /usr/local/bin/ssh-keygen 입니다

# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""
 
 
10. 환경변수 설정합니다.(본인 쉘에 맞는것만 하세요)
 
Bourne shell 시에...
# export LD_LIBRARY_PATH=/usr/local/lib:/usr/local/ssl/lib:$LD_LIBRARY_PATH

C Shell 시에는...
# setenv LD_LIBRARY_PATH /usr/local/lib
 
 
11. inetd 데몬 죽입니다.
 
# ps -ef | grep inetd
root 177 1 0 5월 XX일 ?  8:00 /usr/sbin/inetd -s
# kill -9 177           
해당 프로세서를 죽인다.
 
 
12. /usr/local/sbin/sshd 를 실행시킨다.
 
# /usr/local/sbin/sshd
 
 
13. 내 시스템이나 타 시스템 접속시
 
# ssh localhost
.......자기 시스템에 접속됨................
# ssh
user@host.example.com
.......타 시스템에 접속시 예제.............

정리.

inetd를 죽인이유는 inetd데몬 없이도 접속이 가능하기때문입니다.
 
 
 
 
 
 
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
기존에 telnet 명령이나 ftp 명령은 text base 통신 이기 때문에 snoop 등의
프로그램에 의해 감청을 당하기 쉽습니다.
쉽게 말해 자신의 암호를 다른 사람이 쉽게 알아 낼 수 있다는 것이지요.

아래의 내용으로 프로그램을 설치하면 다음의 명령들을 사용할 수 있습니다.

- ssh 107.2.1.1 ( telnet 107.2.1.1 과 같은 보안 프로그램)
- sftp 107.2.1.1 ( ftp 107.2.1.1 과 같은 보안 파일 전송 프로그램)
- scp comedu100:/etc/passwd /tmp
( rcp comedu100:/etc/passwd /tmp 과 같은 파일 복사 프로그램)
- slogin comedu100 ( rlogin comedu100 과 같은 프로그램)


1) pkg를 설치 합니다.
4가지의 package 를 설치 하여야 합니다.
이프로그램은 (
http://sunfreeware.com 에서 구하실 수 있습니다.)

[/]# pkgadd -d prngd-0.9.25-sol8-sparc-local
[/]# pkgadd -d zlib-1.1.4-sol8-sparc-local
[/]# pkgadd -d openssl-0.9.6g-sol8-sparc-local
[/]# pkgadd -d openssh-3.5p1-sol8-sparc-local

2) /.profile 과 /.kshrc 파일을 수정 합니다.
이 파일안에 설정하는 내용은 프로그램의 위치를 나타내는 PATH 변수와
man 프로그램의 MANPATH 를 설정 하는 부분입니다.

[/]# vi /.profile
export ENV=.kshrc

[/]# vi /.kshrc
export PATH=$PATH:/usr/local/bin:/usr/local/sbin
export MANPATH=$MANPATH:/usr/local/man

[/]# . /.profile
[/]# . /.kshrc

3) /etc/services 파일에 다음의 내용을 추가 합니다.

[/]# vi /etc/services
prngd 708/tcp
prngd-user 4840/tcp

[/]# pkill -HUP inetd <-- 반드시 수행 합니다.

4) prng 데몬을 시작 합니다.
[/]# /usr/local/sbin/prngd -s /dev/urandom /var/run/egd-pool

% 반대로 데몬을 정지 하고자 한다면 다음과 같이 하셔야 합니다.
[/]# /usr/local/sbin/prngd --kill /var/run/egd-pool

5) ssh 통신을 위한 보안키를 생성 합니다.
[/]# ssh-keygen -t rsa1 -f /usr/local/etc/ssh_host_key -N ""
[/]# ssh-keygen -t dsa -f /usr/local/etc/ssh_host_dsa_key -N ""
[/]# ssh-keygen -t rsa -f /usr/local/etc/ssh_host_rsa_key -N ""

6) sshd 의 사용자를 생성합니다.
[/]# useradd sshd

7) 디렉토리를 생성합니다.
[/]# mkdir /var/empty

8) sshd 데몬을 뛰웁니다.
[/]# sshd

9) 연결하려는 컴퓨터도 위와 같이 셋업을 한후에 test 합니다.
[/]# ssh comedu100
root@comedu129's password: *******
Last login: Wed Feb 12 15:14:06 2003 from comedu127
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
Sun Microsystems Inc. SunOS 5.8 Generic February 2000
You have new mail.

또는 sftp 로 접속하여 안전하게 파일을 암호화 하여 전송합니다.
[/] # sftp comedu100
Connecting to comedu129...
root@comedu129's password:
sftp>

10) test가 제대로 되었을 경우 부팅후에도 계속적으로
daemod을 사용할 수 있도록 startup script 를 생성합니다.


[/]# vi /etc/rc2.d/S88ssh
------------------- 여기부터 ----------------------
#!/bin/ksh
case "$1" in
start)
/usr/local/sbin/prngd -s /dev/urandom /var/run/egd-pool
/usr/local/sbin/sshd
;;
stop)
pkill -9 sshd
/usr/local/sbin/prngd --kill /var/run/egd-pool
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac
------------------- 여기까지 ----------------------

[/]# chmod u+x /etc/rc2.d/S88ssh
 
Q&A게시판에 질문하신 분이 계셔서 글을 올립니다..
이작업을 수행하고 나면 라이브러리 에러가 발생할 수 있다는군요..
해결책으로는 gcc를 설치해 주시면 깔끔하게 해결이 된답니다..
 
출처
반응형

'OS > SOLARIS' 카테고리의 다른 글

solaris 솔라리스 svcadm 설정 rsh  (0) 2007.08.21
솔라리스 10에서 nfs 설정하기  (0) 2007.08.17
Solaris Resource Manager (SRM)  (0) 2007.08.02
dumpadm  (0) 2007.08.02
Solaris 보안  (0) 2007.08.01
Posted by [PineTree]