layout : post
title : "보안"
category : apache
1.서버 정보 숨기기
/etc/apache2/conf-available/security.conf
ServerTokens Os
2. 디렉토리 인덱싱 차단
디렉토리 내에 있는 파일에 접근할 수 있어 설정을 통해 막는다.
/etc/apache2/apache2.conf
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
에서 Options 의 Indexes 부분을 삭제
3. 심볼릭 링크 차단
웹 루트에서 root라는 폴더로 이동시 루트 폴더 열람이 가능하다.
/etc/apache2/apache2.conf
<Direcotry /var/www/>
Options None
AllowOverried None
Require all granted
</Directory>
Options에 FollowSymLinks를 삭제하고 허용할 옵션이 없다면 None
4. 웹 서버 프로세스 권한 제한
root 권한으로 데몬이 실행되는 경우 root권한을 취득할 수 잇다.
useradd -s /sbin/nologin 사용자명
을 통해 쉘 권한을 제거한 사용자를 생성하면 ssh는 접근 불가능해진다.
/etc/apache2/apache2.conf
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
을 위에서 생성한 사용자로 설정한다.
재실행 후
ps -aux | grep apache
www-data 권한으로 실행되는걸 볼수 잇다.
5. HTTP Method 제한
HTTP Method 중에 GET, POST를 제외한 Method를 제한 하는 것이 좋다.
/etc/apache2/apache2.conf
<Directory />
Options None
AllowOverride None
Require all denied
<Limit GET POST>
Order deny,allow
Allow from all
<Limit>
<LimitExcept GET POST>
Order deny,allow
Deny from all
</LimitExcept>
</Directory>
6. 에러페이지 설정
에러 코드와 페이지에 있는 정보들은 공격자에게 정보를 제공해준다.
이를 위해 /etc/apache2/sites-available/ 에 있는 각 설정파일에
ErrorDocument 404 /404.html
ErrorDocument 403 [http://localhost.com/404.html](http://localhost.com/404.html)
웹루트를 기준으로 하여 커스텀 페이지를 보여줄 수 있다.
파일 위치 대신에 url 호출도 가능하다.
'IT > apache' 카테고리의 다른 글
2021-01-06-vhost (0) | 2023.02.27 |
---|
댓글