기존 서버 상속


9

나는 해고당한 이전 서버 녀석에서 6 개의 웹 서버를 상속 받았으며, 더 많은 DevOps 인 sysadmin이 아닙니다.

누구나 기존 서버를 상속받을 때 따라야 할 일종의 표준 체크리스트를 알려 줄 수 있습니까? 내가 알아야 할 것은 :

  1. 서버에있는 소프트웨어
  2. 안전한지 확인하기 위해해야 ​​할 표준 사항은 무엇입니까?
  3. 그들에게 무엇을 연결하고 무엇을 연결합니까?
  4. 다른 무엇을 알아야합니까?

어떤 조언도 환영합니다, 나는 시작으로서 따라야 할 표준 종류의 체크리스트가 있기를 바랐지만 아무것도 찾을 수 없었습니다.

모든 서버는 우분투 (다양한 버전)


3
귀하는 DevOps가 아닙니다. DevOps는 제목이 아니라 문화입니다.
gWaldo

"시스템 관리자의 전문 지식 없이도 sysadmins 작업을 수행해야하는 개발자가 아니라 관련된 모든 개념과 '
습득 할

Wikipedia에서 DevOps를 읽은 것에 동의 함 나는 그것을 잘못 사용하는 것을 보았습니다. 그러나 개발자의 일상 생활에서 반 관리자가되어야하는 속어가 된 것 같습니다
user3408844

설명하는 용어는 "개발자"또는 "일부 시스템 / 운영 의무를 수행해야하는 개발자"입니다.
gWaldo

와! -많은 노력을 기울였습니다
user3408844

답변:


24
  1. 설치된 소프트웨어를 확인하려면 /var/log/dpkg.log 를 검토하십시오. 그러나 이것이 완전한 기록이 아닐 수 있습니다. 수동으로 컴파일되거나 사전 컴파일 된 시스템에 직접 복사 된 바이너리 및 코드가있을 수 있습니다. 당신은 수있는 기본 파일이 다른 무엇을 위해 서버 (들) 및 모양에 같은 우분투 버전 및 유형의 설치 비교,하지만 조용하고 지루한 될 수 있습니다. 파일 모니터 솔루션이 이상적입니다 (tripewire, inotifywatch 등). http://linuxcommando.blogspot.com/2008/08/how-to-show-apt-log-history.html

  2. 서버에서 모든 것을 확인해야 합니다. 의 모든 사용자 계정 / etc / passwd에는 , (등 아파치 / PHP의 사용자 데이터베이스 계정 등) 모든 응용 프로그램 사용자 계정이 고려되어야하며, 모든 암호를 변경해야합니다. 부팅시 시작되는 서비스, 기본 런레벨 및 서비스와 다른 런레벨로 시작되는 서비스를 확인해야합니다. 취약성 스캐너와 기본 구성 도구를 사용하여 현재 상태를 감사합니다. 인터넷 보안 센터는 무료 구성 평가 도구를 제공하지만 제한적일 수 있습니다. 회원 조직을위한 고급 도구가 있습니다 ($). http://benchmarks.cisecurity.org/ OpenVAS는 유사한 기능을 가진 Nessus와 달리 FOSS 스캐너입니다. 확인해야 할 것이 더 많지만이 답변은 이미 약간 길어지고 있습니다 ... (웹앱 및 웹 페이지의 코드 검토가 좋은 예입니다.)

  3. netstat에 대한 다양한 플래그를 사용하여 서버에 연결할 수있는 포트 상태를 검토 할 수 있습니다 . http://www.thegeekstuff.com/2010/03/netstat-command-examples/ 서버에 연결 한 사람 을 식별하려면 가장 최신의 인터넷 보안 활동에 의존하여 시스템 로그를 검토해야합니다. 정보는 시스템에있는 응용 프로그램 및 서버에 따라 여러 로그 중 하나에있을 수 있습니다. 외부 네트워크 로그가 있으면 운이 좋을 수도 있습니다.

  4. 해야 할 후속 조치 가 많이 있습니다. 이전 관리자가 해고 되었음을 표시했습니다 . 그 사람의 악의적 인 의도가 의심되는 경우 (즉, 백도어, 부비 트랩, 논리 폭탄 등을 남겼을 수 있음) 깨끗한 미디어에서 서버를 다시 구축하고 웹 응용 프로그램을 다시 구현하는 것이 더 나을 것입니다. 이 이전 관리자가 해당 시스템에 대한 모든 액세스 및 제어 권한을 가지고 부지런한 감사 및 감시를받지 않은 경우 백도어가 있다고 가정해야합니다.

이는 이전 관리자에 대한 비관적 인 가정을 기반으로합니다. 불행히도 쿠키가 운영 네트워크 보안을 위해 무너지는 방식입니다. 내가 말했듯이 여기에서 다룰 수있는 것보다 더 많은 방법이 있습니다. 이러한 요점은 시작해야 할 일을 제공하여 진행 중임을 경영진에보고 할 수 있습니다. 그러나 잔인하게 정직하게 말하면, 만약 당신이 보안 전문가가 아니고이 사람이 악의로 행동했다고 의심 할만한 이유가 있다면, 당신은 아마도 당신의 머리 위에있을 것입니다.

많은 노력이 필요하기 때문에 경영진에게는 인기가없는 답변입니다 (더 많은 비용이 소요됨). 일반적인 보안에 대한 해답은 의심 스러우면 깨끗한 출처에서 정리하고 다시 작성하는 것 입니다. 이것이 가장 중요한 정부 시스템이 맬웨어와 작동하는 방식입니다. AV에서 경고가 발생하면 시스템이 분리, 삭제 및 재 구축됩니다. 데이터가 사라 졌다는 것을 기억하십시오 .

행운을 빕니다. 이것이 도움이 되었으면 좋겠습니다.


이 질문은 StackExchange 사이트 www.AskUbuntu.com
0xSheepdog

2
훌륭한 답변입니다.
EEAA

3
선언적 구성 관리가 양호하면 정리 및 재구성이 훨씬 쉬워집니다. 그렇지 않다면 아마도 그 목표를 향해 노력하는 것을 고려해야합니다.
zigg

2
/var/log/dpkg.log설치 프로세스 자체를 검토하고 오류를 찾는 데 적합하지만 설치된 패키지 목록을 얻으려면 출력이 dpkg -l더 간단하거나 dpkg --get-selections소화하기가 더 쉽습니다.
Dubu

0

맨 페이지는 당신의 친구입니다 :

 man <command> 

일반적으로 사용되는 명령과 사용법을 확인하십시오. 다음을 실행하여 각각 또는 일부 경우에 대한 매뉴얼 페이지에서 추가 도움말 찾기

  <command> --help 

소프트웨어:

  • dpkg -l (설치된 소프트웨어 목록)
  • ps -ef | more (실행중인 프로세스 목록을보고 읽기를 위해 일시 ​​정지하십시오)

보안:

  • iptables (어떤 포트가 열려 있고 필요한지)
  • apt-get으로 업데이트 확인 (서버가 최신 상태입니까?)
  • cat / etc / passwd (상자에 계정이있는 사람)
  • sshd (sshd가 실행 중이고 누가 로그인 할 수 있는지 확인)

사이:

  • netstat (어떤 서비스가 수신하고 있으며 어떤 포트에서)

행운을 빕니다. 서버를 운영하는 사람이 당신을 훈련시킬 기회를 갖지 않으면 서 서버 배치를 물려받는 것은 힘든 일입니다. 그 사람이 해고 당했다면 이유가 있다고 생각하기 때문에 더 걱정 스럽습니다. 직업 관련이라고 가정하면 배치에 이상한 설정이있을 수 있습니다.


0
  1. "ps -ef"또는 "ps -auxw"를 수행하여 프로세스 목록을 가져 오십시오. 커널과 관련이없는 모든 것을 제거하고, 실행중인 것을 찾고, 각각에 대한 매뉴얼 페이지를 작성하여 그것이 무엇인지 알아냅니다. 대부분의 실행중인 프로세스는 사용자 응용 프로그램이 아니기 때문에 무시해도됩니다.

  2. 보안을 위해 : "netstat -pan"을 수행하여 열려있는 포트를 확인하고 필요하지 않은 포트를 닫으십시오. 다시 말해, 개방되어야하는 유일한 포트는이 서버가 제공하는 네트워크 서비스에 해당하는 포트입니다. 서버가 웹 서버 인 경우 분명히 포트 80 / 443 / etc에서 수신 대기해야합니다. 그러나 서버가 포트 21에서 수신 대기 중이고 아무도 사용하지 않는 경우 해당 포트가 열린 프로세스를 해제해야합니다.

  3. 다시 연결하려면 "netstat -pan"을 사용하십시오. 어떤 호스트가 연결되어 있고 어떤 포트가 연결되어 있는지 알려줍니다.

  4. / var / log에서 로그를 살펴보고 시스템이 수행하는 작업에 대한 아이디어를 얻고 다른 응용 프로그램에서 발생하는 명백한 오류 또는 레드 플래그가 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.