중복 가능성:
Linux 박스를 강화하려면 무엇을 사용해야 합니까? 의류, SELinux, grsecurity, SMACK, chroot?
방금 웹서버 설치를 마쳤습니다. 그럼 안전하게 보관하려면 어떻게 해야 할까요?
방금 Apache, Nginx, Mysql, Php를 설치했습니다. 정기 업그레이드(yum 업그레이드)
해킹을 방지하는 방법은 무엇입니까?
답변1
- 모든 패키지, 특히 웹 관련 패키지를 최신 상태로 유지하세요.
- SSH를 허용하는 경우 사용자 이름/비밀번호가 아닌 인증서가 있는 SSH만 허용하도록 설정하세요.
- 자신만의 웹 애플리케이션을 작성하는 경우 SQL 삽입, 크로스 사이트 스크립팅 등을 이해하고 있는지 확인하십시오.
- 백업, 백업, 백업.
답변2
원격 액세스 및 서버 유지 관리에도 SSH를 사용할 것이라고 가정합니다.
- 사용자에게 강력한 비밀번호를 요구하거나 pam-cracklib를 설치하십시오.
- 루트 로그인을 비활성화합니다. (sshd_config에는 PermitRootLogin이 없습니다)
- 빈 비밀번호를 비활성화합니다. (sshd_config에 PermitEmptyPasswords를 설정하고 /etc/pam.conf 또는 /etc/pam.d 아래의 PAM 구성 파일에서 nullok를 제거합니다.)
- 비밀번호 인증을 완전히 비활성화하고 더 강력한 공개 키 또는 Kerberos 인증에 의존하면 추가적인 이점이 있습니다. (sshd_config에는 비밀번호 인증이 없습니다)
- SSH를 사용할 수 있는 사용자를 제한합니다. (sshd_config에서 사용자 허용)
이제 SSH가 제대로 잠겼으므로 ufw를 사용하여 방화벽을 설치하고 실행될 것으로 알고 있는 서비스에 대한 수신 연결만 허용합니다.
ufw enable
ufw allow ssh
ufw allow http
ufw allow https
ufw default deny
위의 내용은 테스트되지 않았으며 네트워크에서 잠길 수 있지만 거의 정확할 것입니다. 지금 PHP를 잠그세요. mod_php를 사용하는 것보다 fastcgi 또는 suexec를 통해 PHP를 실행하는 것을 고려하는 것이 좋습니다. 이렇게 하면 다른 사용자(또는 여러 사이트의 사용자)로 PHP를 실행할 수 있으므로 PHP의 보안 취약성으로부터 Apache를 보호할 수 있습니다. PHP 매뉴얼에는 안전 모드와 같이 PHP 보안을 유지하기 위한 몇 가지 추가 팁이 있습니다. PHP를 사용하여 표준 CMS(예: Drupal/Joomla/Wordpress)를 실행하는 경우 최신 상태로 유지되고 최신 보안 패치가 설치되어 있는지 확인하세요.
답변3
여기에는 "해커"라는 질문이 없지만 "해커로부터 보호하는 방법"이 생각난다면 각 소프트웨어 구성 요소, 해당 옵션 및 가능한 보안 전략을 조사해 보는 것이 좋습니다.앞으로기계를 세상에 공개하세요.
설정을 확인하고 단순하게 유지하십시오. 예를 들어 단지 정적 파일을 많이 제공하려는 경우 Apache를 설치하지 마십시오. 더 간단하고 가벼운 웹 서버도 작동하며 잠재적인 공격 벡터는 더 적습니다. 동적 페이지가 필요하지 않거나 적어도 PHP보다 간단한 코드를 사용하여 동적 페이지를 코딩할 수 있는 경우에는 PHP를 설치하지 마세요.
반격과 관련하여 다음과 같은 사용자를 준비하십시오.ROBERT');테이블 학생 삭제;--), 등.
보안은 결코 "최신 상태 유지"만큼 간단하지 않습니다. 보안과 안정성에 초점을 맞춘 릴리스와 업데이트를 선택하면 보안 추적이 더욱 쉬워질 수 있습니다.오직설정이나 실제로 필요한 기능에 영향을 미치는 취약점이 있는 경우 - 이 방법을 사용하면 시스템을 다른 곳에 구축하고 서버 시스템에 디렉터리의 고정 복사본을 가질 수 있습니다 /
(디렉터리를 변경해서는 안 되는 경우). 또는 파일을 변경할 수 없거나 적어도 이전에 계산된 양호한 체크섬 목록과 체크섬을 비교할 수 있습니다.
그것은 당신이 해야 할 일련의 선택에 관한 것입니다앞으로시스템을 세상에 공개합니다.
답변4
ISO/IEC 27001로 조직과 시스템을 인증하십시오. 이를 기술적으로 수행하는 방법을 자세히 이해하고 있다면 당황하지 마십시오.