우분투(Ubuntu)는 데스크톱에서 리눅스를 쉽게 사용할 수 있게 만든 리눅스 배포판이다. 데비안 GNU/리눅스(Debian GNU/Linux)를 바탕으로 만들어졌으며 캐노니컬의 지원을 받는다. 우분투라는 이름은 남아프리카의 반투어에서 유래된 말로 “네가 있으니 내가 있다”를 뜻한다. 일반적으로 여섯 달마다 새 판이 하나씩 나오는데 이것은 GNOME의 새 판이 나오는 시기와 비슷하다. 데비안 GNU/리눅스와 견주어 볼 때 사용자 편의성에 많은 초점을 맞추고 있다.
http://gb.releases.ubuntu.com//maverick/ubuntu-10.10-server-i386.iso
우분투 서버를 데스크탑으로
sudo aptitude install --without-recommends ubuntu-desktop
서버가 원격이 아닌 로컬 터미널에서 한글을 보기 위해서는 jfbterm 같은 것이 설치 되어야 합니다. (그러나 권하고 싶지는 않습니다.)
서버라는게 거의 원격을 이용하지 직접 서버앞에서 작업을 하는 경우는 적습니다.
보통 서버앞에서 작업할때 한글 깨짐이 지저분 하여 로케일을 임시로 영어로 바꾸고 사용합니다.
export LANG=C
http://kr.archive.ubuntu.com → http://ftp.daum.net/ubuntu
/etc/apt/ sources.list 파일을 열어서 아래와 같이 주소를 수정하면 된다.
openssh, samba, tomcat
- /etc/sysconfig/network
- /etc/sysconfig/network-scripts/ifcfg-eth0
/etc/sysconfig/network-scripts/ifcfg-eth1
- 설정완료후 : /etc/rc.d/init.d/network restart
- ifconfig eth0 192.168.0.253 netmask 255.255.255.0 broadcast 192.168.0.255 up
- route add default gw 192.168.0.254 dev eth0
- netconfig
- system-config-network
- redhat-config-network
df -h 하드 사용량 보기
1)
2) sudo gedit /etc/vsftpd.conf (접근제어)
–> anonymous_enable=NO
–> #local_enable = YES (주석제거)
–> #write_enable = YES (주석제거)
sudo apt-get update sudo apt-get upgrade
sudo apt-get install mc
sudo apt-get install mysql-server sudo apt-get install apache2 sudo apt-get install php5 php5-mysql php5-gd sudo apt-get install phpmyadmin
phpmyadmin 한글언어팩
sudo apt-get install vsftpd
아파치 could not reliably determine 요런 에러시
sudo apt-get /etc/apache2/apache2.conf 파일 마지막에 아래내용 추가
sudo gedit /etc/apache2/apache2.conf 파일 마지막에 아래 내용 추가
ServerName localhost
sudo nano /etc/mysql/my.cnf
bind-address 를 주석처리 해줍니다.
sudo service mysql restart
mysql를 재시작하여 새로운 설정값이 적용되게 합니다.
다음으로 외부접속을 위한 계정을 생성합니다.
ex) grant all privilegs on mydb.* to 'root'@'%' identified by 'password' with grant option;
이렇게 하면 외부에서 MySQL서버에 접속할 수 있습니다.
last | more
iptables -A INPUT -s 차단IP주소 -j DROP
예) 192.168.1.1 전체 대역을 차단할때
iptables -A INPUT -s 192.168.1.0/24 -j DROP
차단 내용확인
iptables -L
삭제
iptables -D INPUT 3
모두삭제
iptables -F
저장
service iptables save
adduser 유저명
[evasive 모듈 설치]
apt-get install libapache2-mod-evasive
설치가 완료되면 자동으로 모듈이 올라가고 아파치가 재시작 됩니다.
모듈이 안올라갈 경우 심볼링크로 링크를 걸어 줍니다.
심볼링크 생성
cd /etc/apache2/mods-enabled ln -s ../mods-available/mod-evasive.load ./mod-evasive.load
[apache2.conf 맨 아래 추가]
<IfModule mod_evasive20.c>
DOSHashTableSize 3097 DOSPageCount 5 DOSSiteCount 50 DOSPageInterval 1 DOSSiteInterval 1 DOSBlockingPeriod 30 DOSLogDir "/var/log/mod_evasive.log" DOSWhitelist 127.0.0.1
</IfModule>
추가 완료후 /etc/init.d/apache2 restart 로 아파치 재시작
mod_evasive 옵션
- DOSHashTableSize
각 자식 해쉬테이블 마다 탑레벨 노드의 수를 지정한다. 수치가 높으면 높을수록 더 많은 퍼포먼스가 나타나지만 테이블스페이스에 메모리를 남기게 된다 접속량이 많으면 이 수치를 높혀도 된다.
이것은 같은 페이지 또는 URI, 인터벌당 요청수에 대한 카운트 수이다. 지정된 값이 초과되면 클라이언트에 대한 IP 정보가 블러킹리스트에 추가된다.
지정된 시간동안 같은 페이지를 지정된 수 보다 초과될경우 IP 정보가 블러킹리스트에 추가된다.
페이지 카운트 시발점, 디폴트는 1초이다.
사이트 카운트 시발점, 디폴트는 역시 1초이다.
클라이언트가 블랙리스트에 추가되어 블러킹되는 총 시간. 이때 클라이언트는 403 (Forbidden) 에러를 출력하게 된다.
이 값이 지정되면, IP가 블러킹될때마다 지정된 이메일로 발동된다.
주의 : 메일러는 mod_dosevasive.c 에 정확하게 지정되야 한다. 디폴트는 ”/bin/mail -t %s” 이다.
로그 파일 경로
이 값이 지정되면, 시스템은 아이피가 블러킹될때마다 명령행을 실행한다.
- DOSWhitelist
차단에서 제외될 호스트
DOSWhitelist 127.0.0.1 DOSWhitelist 127.0.0.* - (와일드카드는(*) 필요하다면 최대 8진수(xxx.*.*.*)까지 사용할 수 있다.)
형식
$ nmap [스캔유형] [옵션] < 호스트 또는 네트워크>
1.주요 스캔 유형
-sT : TCP 연결을 사용한 포트를 스캔 한다.
-sS : TCP 헤더의 SYN 비트를 이용한 스텔스포트 스캔 기법에 사용한다 루트 권한으로 실행되야됨
-sF : FIN을 이용한 스텔스 기법에 이용한다
-sP : ping을 이용한 스캔으로 ping명령을 사용하여 해당 호스트가 살아 있는지 만 확인한다
-sU : UDP포트를 스캔한다 루트권한으로 실행되어야 한다
-b : ftp바운스 공격을 위한 포트스캔이다
2.주요 옵션 설명(옵션은 여러개를 결합해서 사용한다)
-f :패킷을 조그마하게 나누어서(fragment)사용한다
-PT :TCP ping을 사용하여 호스트가 살아 있는지 확인한다
-PT21 :21번 포트로 호스트가 살아있는지 확인한다
-PI :ICMP를 사용하여 호스트가 살아있는지 확인한다
-D :스캔을 당하는 호스트가 어디에서 진짜 스캔을 했는지 판단하기 힘들게 만드는 옵션으로
호스트는 정상적인 호스트이여야 된다
-p n1-n2:포트 지정범위(예:-p 20-30 포트 20번부터 30번까지)포트 스캔한다
n1- :포트 지정범위부터 포트 마지막까지 포트스캔한다(예:-p 30- )포트번호 30번부터
마지막 65535까지 스캔한다
-O :운영체제 스캔 옵션이다
-F :빠른 스캔 기법을 사용하라는 의미로 /etc/services에 있는 포트만 스캔한다
-n :DNS 이름 풀기를하지 않는다
-o<logfile>:스캔 결괄르 로그파일에 저장하라
-i<입력파일>:스캔할 호스트가 많을 경우 파일에 리스트를 저장하여 스캔한다
-g<portnum>: 소스포트번호 지정 20과 53을 추천
-S<IP주소>:SYN,FYN스캔시 소스어드레스 지정한다
-e<장치이름>:패킷을바로 장치이름으로 보낸다 예: eth0,ppp0
-V :이 옵션은 verbose모드로 여러가지 정보를 얻을수있다.
-h :도움말
아파치 mod_expires 모듈에 관해 알아 보았는데
우분투는 sudo a2enmod expires 하고 아파치 재시작하면 사용할 수 있군요(역시 편한 우분투)
.htaccess에 추가.
ExpiresActive On ExpiresByType image/gif A2592000 ExpiresByType image/jpg A2592000 ExpiresByType image/png A2592000