29/01/2016
- Install Centos v 6.5 and update base software
Download CentOs version 6.5 จาก FTP:172.16.0.192 path to downloads:/wwwdata/repodata/iso/centos/6.5/i386 เลือก CentOS-6.5-i386-minimal.iso (ดูภาพด้านล่าง)
ติดต้้ง OS Centos version 6.5 ไว้บนเครื่องโน๊ตบุ๊กตัวเอง VirtualBox ใช้ไอพี 172.16.106.100 และทำการอัพเดตโปรแกรมพื้นฐานและ Service ต่าง ๆ ให้เป็นปัจจุบัน upgrade version 6.5 to 6.7
#yum update
- Filter ssh
คอนฟิก service ssh ซึ่งใช้สำหรับ Remote จากภายนอกเข้ามาควบคุมและจัดการคอนฟิกต่าง ๆ ให้มีความปลอดภัย ดังนี้
2.1 add user sysadmin เพื่อใช้สำหรับ login ssh ปรับไม่ให้ใช้ root login
2.2 แก้ไขค่าคอนฟิก ssh ดังนี้
#cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak ---> Backup file config
แก้ไขไฟล์ sshd_config * ลบไฟล์เก่าทิ้งแล้วก็อปปี้ข้อมูลด้านล่างใส่เข้าไปได้เลย
#vi /etc/ssh/sshd_config
-------------------------------------------------------------------------
Port 55001
ListenAddress 0.0.0.0
Protocol 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 1024
# Logging
SyslogFacility AUTH
LogLevel INFO
LoginGraceTime 600
PermitRootLogin no
MaxAuthTries 3
MaxSessions 5
RhostsRSAAuthentication no
IgnoreRhosts yes
PermitEmptyPasswords no
PasswordAuthentication yes
AllowUsers sysadmin
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
--------------------------------------------------------------------------------
[root@dmtest ~]# service sshd restart
Stopping sshd: [ OK ]
Starting sshd: [ OK ]
[root@dmtest ~]#]# netstat -pnat
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:55001 0.0.0.0:* LISTEN 1234/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1077/master
tcp 0 0 172.16.106.100:55001 172.16.106.219:51690 ESTABLISHED 1171/sshd
tcp 0 0 ::1:25 :::* LISTEN 1077/master
- Filter iptables
ปรับ Firewall ภายในเพื่อให้เปิดเฉพาะ service ที่จำเป็นต้องให้บริการ เช่น service ssh สำหรับการรีโมทย์จากภายนอกเข้ามา ส่วน service อื่น ๆ ที่จะติดตั้งในอนาคต ค่อยมา Filter อีกทีนึง
พิมพ์คำสั่งดังนี้
#cp /etc/sysconfig/iptables /root/iptables -- Backup file itapbles ก่อนทำการแก้ไข
แล้วพิมพ์คำสั่งต่าง ๆ ดังนี้
#
iptables -F
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 55001 --syn -j ACCEPT
iptables -A INPUT -p tcp --dport 55001 -m state --state NEW -m recent --set
iptables -A INPUT -p tcp --dport 55001 -m state --state NEW -m recent --update --seconds 600 --hitcount 3 -j DROP
iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
#
**# เพิ่มเติม ป้องกันการปิง DDos #
#echo 1 > /proc/sys/net/ipv4/tcp_syncookies
#
[root@mailtest ~]# iptables -N syn-flood
[root@mailtest ~]# iptables -A syn-flood -m limit --limit 100/second --limit-burst 150 -j RETURN
[root@mailtest ~]# iptables -A syn-flood -j LOG --log-prefix "SYN flood:"
[root@mailtest ~]# iptables -A syn-flood -j DROP
[root@mailtest ~]# iptables -L -v
#
Ref: techsuii
**
เสร็จแล้ว บันทึกค่าคอนฟิก
#
/sbin/service iptables save
#
รีสตาร์ท service iptable เพื่อปรับใช้งาน
#
service iptables restart
#
เรียกดูผลการปรับค่าคอนฟิก
#
iptables -L -v
#
Chain INPUT (policy DROP 33 packets, 6154 bytes)
pkts bytes target prot opt in out source destination
8 560 ACCEPT all -- lo any anywhere anywhere
1036 96416 ACCEPT all -- any any anywhere anywhere state RELATED,ESTABLISHED
1 60 ACCEPT tcp -- any any anywhere anywhere tcp dpt:55001 flags:FIN,SYN,RST,ACK/SYN
0 0 tcp -- any any anywhere anywhere tcp dpt:55001 state NEW recent: SET name: DEFAULT side: source
0 0 DROP tcp -- any any anywhere anywhere tcp dpt:55001 state NEW recent: UPDATE seconds: 600 hit_count: 3 name: DEFAULT side: source
0 0 ACCEPT icmp -- any any anywhere anywhere icmp echo-request
Chain FORWARD (policy DROP 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 803 packets, 139K bytes)
pkts bytes target prot opt in out source destination
Chain RH-Firewall-1-INPUT (0 references)
pkts bytes target prot opt in out source destination
No comments:
Post a Comment