웹 서버 보안 과잉?


9

나는 리눅스 웹 서버 보안에 대한 "광범위한"연구를 해왔다. "기본"(미사용 서비스 제거, ssh, iptables 강화 등)으로 간주되는 것 외에 루트킷 (Tripwire) 및 바이러스 백신 (ClamAV)을 포함하는 것이 현명한가? 이것들은 웹 서버에 과잉입니까? 나는 이것이 매우 모호한 질문이라는 것을 알고 있지만 다른 사람들의 의견이 궁금합니다.

내 미래 환경 :-우분투 10.04-fail2ban-nginx 0.8.x-PHP 5.3.x (수호신, apc, memcached)-mongodb 1.6.x

가능한 응용 프로그램 :-웹 서비스-사용자가 업로드 한 웹 응용 프로그램 (사진, pdf 등)-일반적인 웹 사이트 (양식 등)

다른 팁이 있으시면 언제든지 추가하십시오!

감사

답변:


8

공용 서버의 경우 tripwire와 같은 것을 설치하는 것이 과도하지 않다고 말하고 싶습니다.

ClamAV는 다른 문제입니다. 귀하의 방문자가 귀하의 웹 사이트에 업로드하고 귀하의 웹 사이트에서 다운로드하여 파일을 공유 할 경우 설정을 고려할 것 입니다. PDF는 익스플로잇을 포함 할 수 있습니다.

공개 서버에서 SSH는 비밀번호 인증을 허용하지 않으며 공개 키 인증 만 허용합니다. 내부 LAN에서만 SSH를 사용할 수있는 경우 완화 할 수 있습니다.

가능한 경우 서버를 DMZ에 배치하여 내부 LAN의 다른 컴퓨터에 연결할 수 없도록합니다.


2
LMD (Linux Malware Detection), rfxn.com/projects/linux-malware-detect를 잊지 마십시오. 웹 사이트 (HTML, PHP, JavaScript 파일 변경)를 감염시켜 사이트를 사용하기위한 맬웨어를 검색합니다. SEO 스팸, 피싱, 방문자 PC 감염 등
RichVel

3

아니, 당신은 충분히 가지 않았다.

1) mod_security 와 같은 웹 응용 프로그램 방화벽 이 필요 하며 공격을 차단하는 것이 아니라 공격을 차단하도록 구성되어 있는지 확인하십시오.

2) phpsecinfo 로 PHP를 잠급니다 .

3) 웹 애플리케이션의 MySQL 계정을 잠그고 애플리케이션에 MySQL FILE에서 가장 위험한 권한 이 없는지 확인하십시오 .

4) 필요하지 않은 모든 UDP 및 모든 TCP의 방화벽을 해제하십시오. ssh에 포트 노킹 사용을 고려하십시오 . 금지에 실패 점점 좋은 거의없는 제로 시도.


1) ModSecurity는 Apache와 함께 패키지 될 수 있다는 인상을 받았습니다 (nginx를 사용하고 있습니다). 그러나 분명히 독립형으로 실행할 수 있습니까? 고마워요! 몇 가지 기능에 대해 calomel.org/nginx.html 을 따랐 습니다 .
Aaron

4) iptables를 사용하여 내 ssh 포트, https 또는 https (수신, 발신)가 아닌 한 모든 수신 및 발신 트래픽을 차단합니다. 내가 갈수록 더 열릴거야. 포트 노킹은 ssh에 대한 흥미로운 추가 기능입니다! 다시 감사합니다!.
Aaron

@Aaron 왜 nginx를 사용할지 잘 모르겠습니다. 이상하고 기능이없는 httpd를 사용하여 apache + mod_security를 ​​프록시로 사용할 수 있습니다.
Rook

2

웹 서버에 AIDE 를 안전하게 설치할 수 있습니다. 고객을 추가 및 제거해도 구성 파일이 너무 많이 변경되지 않으며 일반적인 채터를 쉽게 필터링 할 수 있습니다.

그러나 많은 웹 서버 보안 안내서에서 언급하지 않은 것은 / etc / fstab의 / tmp 파티션에서 noexec를 켜야한다는 것입니다. 대중에게 호스팅을 제공하는 경우 많은 사람들이 자신의 지식없이 안전하지 않은 웹 응용 프로그램을 설치하고 (자신의 응용 프로그램을 최신 상태로 유지하기위한 지식이 없음) 기본적으로 이러한 버그를 영원히 쫓고 있습니다. 침입자가 소프트웨어를 저장할 수있는 유일한 장소가 고객의 홈 디렉토리와 / tmp 디렉토리인지 확인한 경우, 침입자는 / tmp 디렉토리를 사용할 수없는 경우 침입자가 어디에서 침입하는지 표시 할 위험이 있습니다. 그들은 그 일을 좋아하지 않습니다.

이렇게하면 웹 호스팅 서버의 대다수 보안 문제가 해결되었습니다.


2

"기내에 오신 것을 환영합니다! 새로운 여객기 탑승시 레스토랑, 영화관, 체육관, 사우나 및 수영장을 즐기실 수 있습니다. 이제 안전 벨트를 착용하십시오. 캡틴은이 모든 것들을 공수 할 것입니다."

  1. mod_security는 당신과 서버 모두에게 고통입니다. 자원이 배고프고 규칙이 심각하게 유지 관리되어야하며 끊임없는 과제가 될 것입니다. 그리고 아니요, 독립형 또는 Nginx에서는 작동하지 않습니다. 실제로 필요하다고 생각되면 별도의 프록시 서버 (Apache, mod_proxy, mod_security)를 설정하십시오. 또한 DMZ로 작동하며 실제 서버를 외부 세계와 완전히 폐쇄 할 수 있으며 프록시가 위반되면 아무 것도 없습니다.

  2. 데몬으로 실행하면 ClamAV도 매우 무겁습니다. Cron에서 비활성 시간 동안 정기적으로 clamscan을 실행하는 것이 좋습니다.

  3. 트립 와이어는 과잉입니다 (IMHO). 그러나 루트킷을 찾아 낼 수있는 것이 유용 할 것입니다. 스크립트 (rkhunter, chkrootkit)가 많이 있습니다.

  4. 루트킷 등의 90 % 이상이 개발자의 Windows 컴퓨터에서 업로드를 통해 서버에 도달한다고 생각합니다. 개발자가 Windows를 절대 사용하지 않도록 강제하는 것을 제외하고는 이것을 막는 좋은 방법은 없습니다. 대부분의 트로이 목마는 FTP 자격 증명을 검색하므로 FTP를 사용하지 마십시오.


알아두면 좋은 점 ... 아파치 경로를 사용할 의사가 없다는 점을 고려하면 nginx에 대해 찾을 수있는 보안 측면을 고수 할 것입니다. 나는 아마도 clamscan / rkhunter 경로를 가져갈 것입니다. 팁 주셔서 감사합니다!
Aaron

0

널리 사용되는 CMS 엔진 (Wordpress, Jomlaa, Drupal)에서 보안 문자 양식 보호를 사용하고 있습니까? 그렇다면 다음을 사용할 수 있습니다.


스팸 방지? 예. 그러나 여기서 저자는 인증되지 않은 사용자로부터 서버를 잠그려고합니다.
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.