나는 비용을 지불하고있다VPS앞으로 며칠 안에 첫 번째 웹사이트를 개설할 예정입니다.
표준 설정에 눈에 띄게 보안 허점이 있을 수 있다는 우려가 있어서 몇 가지 팁을 얻고 싶습니다. 내가 아는 유일한 것은 PHP에서 오류 보고를 끄고 MySQL에 대한 사용자/권한을 생성하는 것입니다. 그 라인에 더 많은 것들이 있습니까?
나는 다음을 사용하고 있습니다 :
- cPanel 및 WHM
- 센트OS 5
- PHP
- MySQL
- Google 앱을 메일 서버로 사용(그러면 어떻게든 내장된 메일러 서버를 비활성화해야 할까요?!)
답변1
명심해야 할 몇 가지 보안 원칙/팁이 있습니다.
필요하지 않은 서비스를 종료하세요
특정 서비스가 필요하지 않으면 종료하세요. 특히 보안과 관련하여 걱정할 것이 하나 적습니다.
최소 권한 원칙을 따르세요
서비스에 슈퍼 권한이 필요하지 않은 경우 필요한 권한만 부여하면 됩니다. 예를 들어, 웹 애플리케이션이 테이블을 삭제할 필요가 없다면 MySQL에서 삭제 권한을 활성화할 필요가 없습니다.
보안 업데이트와 관련하여 서비스를 업데이트하세요.
이건 매우 중요합니다! 때때로 보안 허점이 발견됩니다. 보안 문제와 관련하여 애플리케이션을 업데이트하는 것은 매우 중요합니다.
기본 자격 증명을 사용하지 마세요
그냥 사용하지 마세요. 그들은 사악합니다 :) 예를 들어 MySQL의 루트 사용자는 비밀번호가 없습니다. 하나를 만드세요.
중요한 모든 것을 백업하세요
서버를 재구축하는 데 필요한 모든 것을 백업하세요. 즉, 모든 것을 의미합니다. 또한 정기적으로 백업을 테스트하십시오. 이는 보안상의 이유뿐만 아니라 비즈니스 연속성상의 이유로도 유효합니다. 언제 백업이 필요할지 알 수 없습니다.
도움이 되었기를 바랍니다!
답변2
또한 허용되는 경우 localhost를 수신하는 mysql을 강제로 바인딩하거나(Listen 지시문) 더 나은 경우 가능하면 mysql에 대한 네트워크 지원을 제거하십시오.
답변3
또한보십시오내 첫 번째 "프로덕션" 데비안 서버 구성
항상, 항상 내장된 패키지 관리자를 사용하여 소프트웨어를 설치하세요. Centos의 경우 Yum을 의미합니다.http://wiki.centos.org/PackageManagement/Yum. 이렇게 하면 보안 업데이트를 추적하고 설치하는 하나의 중앙 방법이 보장됩니다. 프로덕션 서버에 소스에서 소프트웨어를 설치하는 것은 모든 보안 업데이트를 수동으로 추적하고 수동으로 설치해야 하기 때문에 보안상 악몽입니다.
필요한 인바운드 서비스만 허용하는 방화벽이 있는지 확인하세요.http://www.larted.org.uk/~dom/computing/code/iptfirewall
다음 기능을 필요하지 않은 만큼 비활성화하여 PHP를 강화해야 합니다.http://www.eukhost.com/forums/f42/disabling-dangerous-php-functions-6020/
또한 PHP가 오류를 표시하지 않고 기록하도록 설정되어 있는지 확인하세요.
답변4
나는 읽기를 추천한다Red Hat Enterprise Linux 5용 NSA 운영 체제 가이드. RHEL에 적용되는 사항은 CentOS에도 적용됩니다.