:
: 늘 느린건 아니고요 잘 돌아가다가 가끔씩 그러네요.
: 메일, 텔넷, 웹, ftp 다....
: 앗 이거 쓰는 지금도 계속 빨라졌다 느려졌다 하고있어요.
: mysql을 쓰고있는데 외부에서 db에 access하는 횟수가 많거든요?파일업로드
: 게시판이 좀 많이 활성화돼서..그래서 그런걸까요?
: 하지만 괜찮다가 갑자기 느려지는건 이해할수가 없어요.
: 혹시 해킹을 당한건 아닐지 걱정이에요.전 보안쪽은 아무것도 모르거든요.
: 느려지는 이유가 무엇일지,그리고 해킹여부를 알아보려면 뭘 해야하는지
: 고수님들의 도움을 기다립니다.
모든 것에 완전한 것은 없지만 기본적인 것이라도 막는 것이 후회는
없겠지요.
기본적인 보안 설정은 다음과 같습니다.
1. 패스워드는 좀 어려운 것으로 합니다.
예로 잊어 버리기 쉽다고 ID와 패스워드를 같게 한다던가 일반인들이 딱
봐도 알기 쉬운 것으로 한다면 서버를 내주는 것과 같습니다.
예)영문 + 숫자 +특수문자 등을 섞어 복잡한 패스워드를 사용합시다.
2. 메일 유저에게는 쉘을 주지 맙시다.
서버에 메일, FTP, 텔넷 유저가 같은 것은 아실 것입니다.
그런데 유저에게 메일만 사용하게 하고 싶다면 굳이 텔넷이나
ftp는 필요가 없을 것입니다.
이것을 막기 위해서는 유저 추가할 때 쉘을 안주면 됩니다.
기본적으로 adduser를 사용하면 기본 쉘은 /bin/bash가 됩니다.
이것을 /bin/false로 하시면 됩니다.
#adduser -g 100 -s /bin/false -d /home/users/id id
이미 추가하고 바꾸고 싶다면
/etc/passwd 에서 유저별로 가장 마지막 필드에 있는 것을
/bin/false로 바꾸면 됩니다.
3. 기본적인 TCP_WRAPPER를 사용합시다.
이것은 간단하고도 강력한 보안툴입니다.
사용법은 /etc/hosts.allow, /etc/hosts.deny 를 수정하는 것입니다.
일단 모든 것에 대해 막고 특정 IP만을 허용합니다.
#vi /etc/hosts.deny
ALL:ALL
#vi /etc/hosts.allow
ALL:LOCAL, ip
위와 같이 하면 됩니다.
그리고 메일 POP3는 모두 허용하고 싶다면
#vi /etc/hosts.allow
ALL:LOCAL, ip
ipop3d:ALL
하면 됩니다.
4. ssh를 사용합시다. (텔넷은 막고)
텔넷은 가장 기본적으로 뚫릴 수 있는 것입니다.
그래서 이것을 막고 싶다면
#vi /etc/inetd.conf
telnet stream tcp nowait root /usr/sbin/tcpd /usr/sbin/in.telnetd
위의 부분을 주석처리합니다.
그리고 다음을 실행합니다.
#/etc/rc.d/init.d/inet restart
텔넷이 막힌 상태에서 사용할 수 있는 보안 쉘이 ssh라는
것이 있습니다.
사용법은 간단합니다. 리눅스나 유닉스 사용자라면
$ssh -l id host
하면 됩니다. 그리고 윈도우 사용자라면 윈도우용 ssh가 tera
term이라는 것이 있습니다.
그리고 현재 설치된 ssh는 디폴트로 root 접속을 허용하고 있
습니다. 아무리 보안 쉘이라고 해도 직접 접근하는 것은 별로
안좋기 때문에 되도록이면 허옹하지 맙시다.
이것에 대한 설정은 다음과 같이 할 수 있습니다.
#vi /etc/ssh/sshd_config
# This is ssh server systemwide configuration file.
Port 22
ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no ====> 이 부분이 현재는 yes로 되어있는데
no로 바꿉니다.
#/etc/rc.d/init.d/sshd restart
위와 같이 실행하면 root 로 접속하는 것을 막을 수 있습니다.
5. 파일 권한에 신경 씁시다.
유닉스 계열에는 SUID/SGID라는 것이 있습니다. 이것은
프로그램을 수행할 때 프로그램을 실행하는 사람의 UID/GID로
실행되는 것이 아니라 프로그램 소유자의 UID/GID로
실행되도록 하는 것입니다.
예를 들면
$ls -al /usr/bin/passwd
-rwsr-xr-x 1 root root 25552 1월 10 22:50 /usr/bin/passwd
위와 같이 s가 붙어 있는 것을 확인 할 수 있습니다. 이것은 누구나 실행하더라도
프로그램이 root로 실행된다는 의미입니다.
이것은 시스템에 치명적이기 때문에 중요하게 관리해야 합니다.
수시로
#find / -perm 4000
찾아 봅니다.
6. 로그 분석에 항상 신경씁시다.
프로세스 확인만으로 현재의 상황에 대해 파악하는 것 보다
는 잠깐을 틈타 누가 들어와서 무엇을 했는지도 항상 확인해야 합니다.
이에 관한 로그가 /var/log에 secure, daemon.log, lastlog,
message, auth.log 등인데 수시로 꼭 살펴봐야 합니다.
조금이라도 도움이 되었는지 모르겠네요!!! ^^;--이 곳에 서명을 적어주십시오.
linugi