윈도우즈 서버, 리눅스 원격 접속 보안?

slomo의 이미지

학교에서 윈도우즈 2003 서버랑 리눅스 웹 서버를 한 대씩 돌리려고 하는데요.
담당하시는 분이 리눅스는 ssh으로 접속해서 루트 권한 작업을 하면 위험하다고
하시면서, 윈도우즈 터미널 서비스는 열어 놓아도 안전하지만 리눅스는 열어 놓으면
그냥 뚫린다고 하시는데요. 보안 설정하는 것이 어렵기 때문에 (우리가 리눅스 서버
전문 관리자가 아닌 이상) 리눅스는 직접 옆에 앉아서 작업해야 한다고 하시는데...

저는 전혀 아는 게 없어서 그런가 보다 했는데요...

윈도우즈 터미널 서비스가 정말 그렇게 안전한지? 리눅스는 뭔가 복잡한 보안 설정을 하지
않으면 그냥 뚫려버리는 건지? 궁금해서 한번 여쭤봅니다. 만약, 학교에서 개인적으로
웹 서버 돌리려면 보안에 대해 얼마나 지식이 있어야 하는지도 궁금하구요..

danskesb의 이미지

현재는 대부분 배포판에서 원격으로 "root" 계정으로 접속하지 못하도록 설정되어 있습니다. 그래서 root 권한이 필요하면 일단 일반 사용자 계정으로 들어와서 sudo나 su를 사용해야 합니다. 윈도 터미널 서비스도 Administrator 권한 열려 있으면 그게 루트 열린 거나 마찬가지인데, 정말 뭘 모르고 한 말 같네요.

---- 절취선 ----
http://blog.peremen.name

slomo의 이미지

제가 ssh로 접속해서 sudo 사용하면 안 되냐고 여쭤 봤더니
그러면 위험하다고 하시던데요... 그래서 흠... 그런 것이었단 말이야... 했죠..

그럼... sudo 이용하면 안전하다는 말씀이신가요? 더 이상
보안 설정을 해야할 것은 없구요?
====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

danskesb의 이미지

/etc/sudoers 파일만 잘 관리하셔서 허가받은 사용자만 sudo를 쓸 수 있도록 하면 됩니다. 정말 그 분 "개념이 실종"된 것 같네요. 아니면 오래된 리눅스 배포판만 관리했거나.

---- 절취선 ----
http://blog.peremen.name

slomo의 이미지

알겠습니다. 고맙습니다.

아마도 후자쪽인 것 같습니다. 그렇게 개념이 없는 분이 아니라는 것을
알고 있기 때문에, 저도 좀 뜬금없이 들렸지만, 제가 웹 서버 관리해
본 경험 같은 것은 전혀 없으니까, 그분 말씀이 뭔가 이유가 있겠지
하고 생각했거든요. 아마도 윈도우즈 서버만 주로 관리하시다가 리눅스
서버는 오랜만에 해보시는 것 같아 보입니다.

그럼 말씀대로라면 크게 걱정할 것 없이 원격으로 관리해도 되겠군요.

====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

====
No one asks you for change or directions.
-- Slo-Mo, J. Krokidas

warpdory의 이미지

일단 담당자부터 개념을 입력하는 게 중요한 듯 .. 합니다.

root 든 administrator 든 유출되면 둘다 날라가는 건 마찬가지고
그게 root 유출에 비해서 administrator 유출은 .. 경험상 매우 쉽습니다.

---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.
http://akpil.egloos.com


---------
귓가에 햇살을 받으며 석양까지 행복한 여행을...
웃으며 떠나갔던 것처럼 미소를 띠고 돌아와 마침내 평안하기를...
- 엘프의 인사, 드래곤 라자, 이영도

즐겁게 놀아보자.

linlin의 이미지

vnc는 설정에 따라서 원격 접속이 위험할 수 있지만 ssh는 위험하기 힘들어요. opensshd 쪽 보안 패치만 잘 해 주면 문제 없습니다. 사실 ssh의 22번 포트는 가장 안전한 포트중의 하나입니다.

리눅스 서버가 보안에 취약한 것은 디폴트로 열려 있는 서비스가 많아서 뚫리는 경우가 많아요. 쓰지않는 sendmail이나 기타 메일 서버 대몬, ftp 서비스 같은 것들은 다 내려둘 필요가 있습니다.

그리고 리눅스 서버는 /home 디렉토리를 파티션을 따로 두는게 편합니다. 초심 서버 관리자가 서버가 뚫렸더라도 사용자 데이터 백업 작업 필요없이 서버 재설치를 하기 편하니까요.

조금 숙달이 되면 ssh로 다른 서비스 통신을 암호화 하는 것을 시도해 보시길. 대표적인 케이스가 X11Forwarding입니다. 원래 엑스 서버는 원격 디스플레이를 할 때 서버 클라이언트간 통신이 암호화가 안되어서 가로채는 게 가능합니다. 그런데 이걸 ssh에서 암호화를 해 주면 그것이 불가능해지죠. 요즘은 그래서 export DISPLAY=your_computer:0.0 을 쓰지 않고 그냥 ssh -X remote_computer 하든가 아예 내 컴퓨터의 /etc/sshd_config에 ForwardX11 yes를 넣어놓고 쓰죠. 이게 X11말고도 vnc나 기타 서비스에도 가능합니다.

그리고 ssh 쪽으로 해킹 접속 시도가 너무 많이 잡히면 포트 번호를 바꾸는 방법도 있어요. 예를들어 22번을 8080과 같은 번호로 바꾸어 버리는 것이죠.

monovision의 이미지

제 견해는 위에분들과 약간 다릅니다.
리눅스나 윈도우나 관리를 위한 접속(ssh, 터미널 서비스) 은 기본적으로 암호화가 된 상태로 문자열들이 전송됩니다.
root 로 접근을 하나 administrator 로 하나 일반 유저로 접근을 하여 sudo 를 사용하나 패스워드를 제대로 설정하지 않으면 속수무책으로 뚫립니다.
제가 봤을땐 기본적으로 사용하는 암호가 충분하게 복잡도를 만족한다면 리눅스나 윈도우나 해킹을 당하기는 힘들다에 한 표를 던집니다.

송효진의 이미지

윈도 2000 iis 대책 없이 뚫립니다.
패치도 안나옵니다.
할 수 없이 iis 내리고 apache 올렸습니다.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~

monovision의 이미지

갑자기 왜 iis 가 나왔는지는 모르겠지만....
윈도2000 의 iis 에서 어떤 부분때문에 뚫리셨는지 알 수 있을까요 ?

송효진의 이미지

리눅스는 언제든 패치가 나오지만,
윈도는 그렇지는 않다는거죠.

뭐가 문제인지는 모르겠지만 '아무런'서비스도 없는 단순 html 만 있던 서버였는데,
warning.txt 라는 파일이 자꾸 생기더군요.
이 서버는 취약하니 치우라는 내용이 들어있었습니다.
그래서 iis 내리고 apache 올렸는데,
다른데 취약점이 아직 남아있을지도 모르겠네요.

emerge money
http://wiki.kldp.org/wiki.php/GentooInstallSimple - 명령어도 몇개 안되요~

mycluster의 이미지

원하는 내용은 리눅스에 대한 보안 취약이나, 윈도에 대한 보안 취약이런 뜻으로 그 분이
이야기 했던게 아닌 듯 한데요...

리눅스라던지 유닉스 서버에 대한 접근을 외부 네트웍에서 다이렉트로 하지 말라는 뜻으로
한 것 으로 보이는군요. 윈도우 터미널 서비스를 리눅스 머신에 접근하기위한 콘솔로 사용하라는
뜻으로 파악하는 것이 맞지 않을까 싶네요.

외부에서 접속하는 머신으로 윈도를 사용하고, 일반사용자로만 할당하고 Administrator로
아이디를 전환하지 못하도록 해두고, 그 계정에서 ssh를 사용해서 리눅스 머신으로 다시 접근하도록
하는 것은 괜찮은 방법으로 보이는군요.

외부 -> 윈도터미널서버(일반사용자) -> 리눅스(일반사용자) -> 리눅스(root) 이렇게 만들고,

윈도터미널서버의 Administrator는 터미널서비스로 사용하지 못하도록 제한하고, 일반사용자가
Administrator 전환이 불가능하도록 막아두고(이게 가능한걸로 기억하는데...) 터미널서비스
사용자 계정만 오픈한다면 나쁘지 않아 보이네요.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

danskesb의 이미지

과연 엄청난 보안입니다.... 만... 사용자가 번거롭지 않을까 하는 생각이 듭니다.

오래 전에 윈도 2000 서버에 계정이 있었는데, 일반 사용자에게 Guest나 Power Users 권한만 줘도 프로그램 설치 같은 작업은 못 하더군요.
---- 절취선 ----
http://blog.peremen.name

mycluster의 이미지

꽤 불편해 보이지만, 생각보다 쉽게 사용할 수 있도록 해주는 윈도쪽 솔루션도 많이 나와있고,
윈도터미널 서비스에 대한 접속도 인증서기반으로 특정 사용자에게만 미리 인증서를 배포한 후에
접속하게 하는 것들도 많이 나와있으니, 웬만한 회사에서 외부에서 안쪽으로 서버에 접근할
일이 필요하면 그런 형태로 구성해두는 것도 좋은 방안 중의 하나입니다.

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

--------------------------------
윈도위의 리눅스 윈도위의 윈도우 리눅스위의 익스플로러

김정균의 이미지

제가 생각하기로는, 학교 관리자 분께서 말하는 ssh 의 보안문제는 아마도 brute force attack 을 말씀하시는 것 같습니다. ssh 자체가 보안에 취약하다기 보다는 패스워드 관리의 문제이니까요. 아무래도 윈도우즈 원격 콘솔 보다는 ssh shell 을 공격하는 형태의 봇들이 많이 돌아다니기 때문에 더 취약하다는 것이 아닌가 싶습니다.

클라이언트로서 리눅스가 윈도우즈에 비하여 공격을 덜 받는 것과 같은 맥락이라고 할 수 있겠죠.

꼭 ssh 를 사용해야 한다면, 관리자가 생각하는 보안 관점이 무엇인지를 파악해서, 그걸 해소시키거나 반론을 하지 못하도록 하는 수 밖에 없습니다. (물론 방법상으로는 전자가 좋습니다. 후자는 앙금이 남거든요.) 만약 brute force attack 을 기준삼아 말했다면 brute force attack 을 막는 방법은 여러가지 대책이 있으니 그 대책 중에서 상황에 맞는 것을 선택해서 이런 방비를 하고 사용하려고 한다고 설득(?)을 해 보심이 좋을 듯 싶습니다.

꼭 사용해야할 이유가 없다면 그냥 정책에 따라 remote console 을 이용하시고, 그 콘솔에서 ssh 로 접속 하는 방법을 사용할 수도 있습니다. 또는 아예 VPN 터널을 만들어 버리시든지...

linlin의 이미지

아.. 추가해서 웹서버를 돌리는 데 기본적인 보안 지식은 소위 유닉스상의 서비스(daemon)에 대한 지식이 필요합니다. 왜 이들 서비스들이 보안에 취약할 수 있느냐... 이런 서비스들은 기본적으로 root권한으로 돌아가니까요. 예를들어, 일반 사용자 권한으로는 /usr 디렉토리를 지우지 못하죠. 그런데 루트 권한으로 예를들어 파라메터를 넘겨 주면 그 파라메터를 명령으로 실행해주는 그런 서비스가 돌고 있다고 합시다. 그러면 여기에 rm -rf /usr 파라메터를 주면 어떻게 될까요? 당연히 /usr 디렉토리가 날아갑니다. 즉. 일반 사용자가 루트 권한으로 명령을 실행시키는 일이 벌어지는 겁니다.

이런 서비스들의 문제는 외부에서도 파라메터를 넘겨 줄 수 있다는 데 있습니다. 즉, 이런 루트 권한 따오기를 시스템상의 일반 유저만이 아니고 인터넷에 연결된 누구나 할 수 있다는 게 문제가 되는 것이죠.

웹서버 같은 경우는 따라서 보안위험에 노출될 가능성이 상당히 높죠. 그런 까닭에 웹서버는 root로 안돌리고 보통 아파치 서버 구동 전용 사용자를 하나 축소된 권한으로 만들고 그 사용자 이름으로 돌립니다. 또 이것만 가지고도 불충분하니 웹서버 안에서 스크립트 실행권한을 설정하고... 디렉토리를 나누고... 이런 식으로 위험을 분산시킵니다.

그런데 사실 문제는 이런 웹서버들이 아니라 많이 쓰이지 않는 다른 서비스입니다. 이들 서비스들은 보통 root로 돌아갈 뿐만 아니라 상대적으로 덜 쓰이는 까닭에 보안 취약점이 아직 발견되지도 않고 패치는 더더욱 안되어 있을 가능성이 높아요. 그래서 쓸모 없는 서비스는 내려라는 얘기가 나오는 겁니다. 이게 귀찮으면 적어도 firewall이라도 주위에 치고 필요한 서비스만 게눈 모래사장에서 빠꼼히 나오듯이 밖으로 열어두고요.

아.. 그리고 다른 분들 말씀대로 brute force attack으로 패스워드를 깨는 것도 신경은 써야 합니다. 요즘 시피유 성능이 좋아서 작심하고 크래킹 코드 쓸만한 것 돌려 패스워드를 깨려면 이것이 불가능한 것은 아니니까요. 생각보다 많은 사람들이 관리자 패스워드를 대강 만듭니다. 그런데 같은 패스워드라도 attack 과 attackme 와 4ttackM3 정도까지만 바꾼 것의 차이는 크죠. 여기에 4ttackM3! 정도만 되어도 패스워드 데이터베이스에서 걸려 일차척으로 뚫리는 것은 막을 수 있습니다.

bandoche의 이미지

SSH1의 보안 문제와 관계된 것이라면
http://en.wikipedia.org/wiki/Ssh#Security_cautions
이런 것 일까요?