Monday, March 13, 2017

[ LINUX] HƯỚNG DẪN CẤU HÌNH IPTABLES

HƯỚNG DẪN CẤU HÌNH IPTABLES
1.      Đối với dòng Linux nói chung:
Sử dụng 2 lệnh chính sau:
-         “iptables-save”: save lại toàn bộ rule set ra 1 file text có định dạng đặc biệt
-         “iptables-restore”: load file text đó lại vào rule của iptables
Ưu điểm:
-         Đặc điểm của 2 lệnh này đó là nó thực hiện việc save và load toàn bộ rule set chỉ 1 request duy nhất, do vậy tốc độ sẽ nhanh hơn so với việc dùng add từng dòng lệnh rất nhiều, nhất là đối với số lượng rule lớn.
-         Nếu một trong các rule bị sai cú pháp, hệ thống sẽ báo lỗi và bộ rule mới không được áp dụng, hệ thống vẫn giữ bộ rule cũ.
Lệnh iptables-save:
#iptables-save > /etc/iptables-save
Lưu ý: /etc/iptables-save là file sẽ lưu lệnh iptables, có thể thay đổi thành file bất kỳ.
Lệnh iptables-restore:
#iptables-restore  < /etc/iptables-save
Tất cả các rules, trong file /etc/iptables-save sẽ được load và áp dụng vào iptables
Ý nghĩa của một file được lưu ra bằng lệnh iptables-save
Ví dụ:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
 Trong đó:
-         “*filter”: Là chỉ bắt đầu các rule của table filter, table dùng để viết các rule lọc gói tin
-         :INPUT ACCEPT [0:0]
o   INPUT: Là chain của iptables, table filter có 3 chain là INPUT, OUTPUT, FORWARD. Trong đó INPUT là thời điểm gói tin đi vào hệ thống, OUTPUT là thời điểm gói tin đi ra hệ thống, còn FORWARD là thời điểm gói tin đi từ card mạng này sang card mạng khác.
o   ACCEPT: Chain policy của chain INPUT, OUTPUT và FORWARD. Ý nghĩa: Nếu gói tin sau khi được kiểm tra bởi tất cả các rule của iptables mà không có rule nào khớp thì gói tin sẽ được ACCEPT.
o   [0:0]: Số đầu tiên chỉ ra số lượng gói tin, số thứ 2 chỉ ra dung lượng của các gói tin. Đây là các thông số thống kê về các gói tin không khớp luật nào của iptables, và do đó được thực hiện Chain policy là ACCEPT.
-         Các luật tiếp theo: Là luật lọc của iptables, sẽ áp dụng từ trên xuống dưới.
-         COMMIT: Đánh dấu kết thúc bảng filter.
Cách sửa luật iptables:
Tạo 1 file có nội dung như sau, ví dụ là file /etc/iptables:
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
########Cho phép các gói tin thuộc 1 connection đang tồn tại hoặc có liên quan đến 1 connection đang tồn tại đi vào, không cần phải kiểm tra#####
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
########Cho phép ping echo request đến server#######
-A INPUT -p icmp --icmp-type 8 -j ACCEPT
########Những gói tin từ card mạng loopback thì không cần lọc######
-A INPUT -i lo -j ACCEPT
######Thêm các luật lọc chiều INPUT tại đây##########
###Ví dụ luật lọc INPUT SSH cho 1 IP hoặc 1 dải IP###
-A INPUT -m state --state NEW -s 192.168.1.10 -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -s 192.168.2.0/24 -m tcp -p tcp --dport 22 -j ACCEPT
###Ví dụ luật cho phép HTTP##########################
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
###Ví dụ luật cho phép SNMP của ipms#################
-A INPUT -m state --state NEW -m udp -p udp --dport 161 -j ACCEPT
######Thêm các luật lọc chiều OUTPUT tại đây##########
######Chỉ khi server cần chủ động tạo kết nối ra ngoài thì mới cần thêm các luật tiếp theo#####
###Ví dụ cho phép từ server hiện tại được ssh đến server 10.10.10.10######
-A OUTPUT -m state --state NEW -d 10.10.10.10 -m tcp -p tcp --dport 22 -j ACCEPT
#####Chặn toàn bộ các kết nối còn lại, ghi log lại trước khi chặn######
-A INPUT -j LOG --log-level 4 --log-prefix "IPTABLES DROP"
-A FORWARD -j LOG --log-level 4 --log-prefix "IPTABLES DROP"
-A OUTPUT -j LOG --log-level 4 --log-prefix "IPTABLES DROP"
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT
Cách cấu hình để iptables nạp các rule khi server khởi động lại:
Sửa trong file /etc/rc.local
Thêm 1 dòng sau
iptables-restore  < /etc/iptables
Cách tạm thời tắt tất cả các luật của iptables để troubleshoot:
Sử dụng các lệnh sau
#iptables -F
#iptables -X
#iptables -P INPUT ACCEPT
#iptables -P OUTPUT ACCEPT
#iptables -P FORWARD ACCEPT
Ý nghĩa các lệnh:
-         Lệnh đầu tiên để xóa tất cả các rule trong tất cả các chain của iptables
-         Lệnh thứ 2 xóa tất cả các chain do người dùng tự tạo
-         Lệnh thứ 3,4,5 thiết lập chain policy cho chain INPUT, OUTPUT, FORWARD là ACCEPT. Khi đấy server cho phép toàn bộ kết nối vào / ra server.
Chú ý: Chỉ dùng bộ lệnh này trong trường hợp cần tắt toàn bộ luật iptables để troubleshoot kết nối.
2.      Đối với dòng có deamon iptables (như Redhat)
Riêng đối với các dòng Redhat như Centos, Redhat, Fedora, Oracle enterprise Linux … thì có init script và file config riêng cho việc chạy iptables. Khi đấy không cần dùng lệnh iptables-save, iptables-restore như trên.
Để sử dụng iptables có thể sử dụng init script là /etc/init.d/iptables:
-         “/etc/init.d/iptables save”: lưu các rule vào file /etc/sysconfig/iptables, tương đương với lệnh iptables-save > /etc/sysconfig/iptables
-         “/etc/init.d/iptables stop”: flush (xóa) tất cả các rule, các chain người dùng tự định nghĩa và thiết lập lại chain policy
-         “/etc/init.d/iptables start”: load rule từ file /etc/sysconfig/iptables, tương đương với lệnh iptables-restore < /etc/sysconfig/iptables
-         “/etc/init.d/iptables restart”: thực hiện lệnh stop rồi sau đó là start
Để chạy lệnh “#/etc/init.d/iptables start” khi khởi động server thì dùng lệnh
#chkconfig iptables on
Như vậy khi đó iptables sẽ tự động nạp rule ở file /etc/sysconfig/iptables
Có thêm file cấu hình /etc/sysconfig/iptables-conf cho scrip init ở trên
-         Các tham số về việc load module của iptables
o   IPTABLES_MODULES: danh sách các module sẽ được load mỗi khi start iptables lên.
o   IPTABLES_MODULES_UNLOAD="yes": có reload lại các module mỗi khi iptables stop hoặc restart hay không. Mặc định là có.
-         Các tham số về việc có save rule của iptables
o   IPTABLES_SAVE_ON_STOP="no": có save lại rule hiện tại khi iptables stop hay không. Mặc định là không.
o   IPTABLES_SAVE_ON_RESTART="no": có save lại rule hiện tại khi iptables restart hay không. Mặc định là không.

-         Do script init của iptables sẽ save và load rule mặc định trong file /etc/sysconfig/iptables nên có thể chỉnh sửa các rule trực tiếp trong file này, sau đó restart lại iptables thì các rule mới sẽ được áp dụng

[Linux] Thiết lập đồng bộ thời gian cho hệ điều hành

 Thiết lập đồng bộ thời gian cho hệ điều hành

-         Nguy cơ: Các hệ thống không được cấu hình đồng bộ thời gian có thể bị sai lệnh về thời gian. Các thông tin như log, file cước, dữ liệu trong cơ sở dữ liệu... từ đó bị sai lệch.
-         Yêu cầu khắc phục: Bật dịch vụ NTP để đồng bộ thời gian từ máy chủ thời gian chuẩn.
Bước 1: Chuẩn bị
-       Download gói ntp dạng rpm tương ứng với hệ điều hành cài đặt. (Ví dụ 4.2.6p5-1.el5.pp cho RHEL6.3 64bit).
Bước 2: Cài đặt dịch vụ NTP
-       Copy file cài đặt lên máy chủ, chuyển tới thư mục chứa file và chạy lệnh.
# rpm -ivh {Tên File}
-       Cấu hình để dịch vụ ntpd luôn chạy khi khởi động máy chủ.
# chkconfig ntpd on
-       Sửa file cấu hình /etc/ntp.conf như sau:
restrict default ignore
restrict {Time server} mask {subnet-mask} nomodify notrap noquery
# định nghĩa các time server
server 192.168.181.50
server time.nist.gov
server time.windows.com
# Hạn chế các NTP client theo IP, ví dụ 192.168.100.0/24
restrict 192.168.100.0 mask 255.2055.255.0 nomodify notrap noquery
-       Cập nhật luật iptables để cho phép các NTP client truy cập
# vi /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -s 192.168.100.0/24 -m state --state NEW -p udp --dport 123 -j ACCEPT
-       Chạy dịch vụ ntpd và khởi động lại dịch vụ iptables bằng lệnh:
# service ntpd start
# service iptables restart
-       Kiểm tra lại dịch vụ bằng lệnh:

# netstat -tulpn

[Linux] The maximum timeout require settings to change the password is 90 days in Linux

The maximum timeout require settings to change the password is 90 days in Linux

vi file  /etc/login.defs,  an change choise PASS_MAX_DAYS. 
EXAMPLE : 

        PASS_MAX_DAYS  90
Với tài khoản đã tồn tại, có thể thay đổi thời gian hết hạn mật khẩu bằng lệnh sau:
with all account exist, have change with code : 

# chage  -M 90   username
Với các mật khẩu dịch vụ, trong trường hợp chưa triển khai được chính sách thay đổi mật khẩu tự động

Saturday, March 11, 2017

[Linux] Xóa account không sử dụng trên Linux

Xóa account không sử dụng trên Linux

Bước 1: Để tìm những tài khoản đang hoạt động trên hệ thống, ta sử dụng lệnh sau:
 # cat /etc/passwd  | grep  /*sh$ | awk -F: '{print $1}'
Bước 2: Kiểm tra xem các tài khoản này tài khoản nào không sử dụng. Thực hiện xóa các tài khoản đó bằng lệnh sau:
#userdel -r  username
Ví dụ: Trong danh sách có tài khoản game không sử dụng
#userdel –r game

[ GPON-OLT(alu)]- 1 số lệnh commandline trên OLT của ALU

CHECK LIST :
  • Tt chế đ bn logs khi thao tác vi OLT
  • Show port :
  • Ly thông tin đ to đưng uplink và down link --> to đưng LINk kết ni t OLT ----> ti PC ( máy ca mình )
  • Show danh sách các ont có vlan 4000   ---> BNG VLAN4000 )
  • Ly danh sách các ONT đã kết ni ti OLT ( bao gm ONT đã lên NMS + ONT chưa lên NMS )
  • *** Cần phân bit trưng này trong chiu nay .
  • Show danh sách các ONT có vlan 11 ---> ( BNG VLAN 11)
  • Mc đích đ sau khi backup thì kim tra xem nếu nó ko có vlan 11 -> có th mt cu hình , có vlan 11 thì ko cn,
  • Show danh sách ONT đã lên NMS ca 1 trm --> s dng NMS ca tnh ---> ( BNG NMS
  • Kim tra MAC ca thiết b ONT hc đưc trên cng PON
  • Show DHCP trên ONT


Chú ý :
--
  1. Map  BNG VLAN4000 +  BNG NMS ===> ra bng các ONT cn nâng cp --> bng ONTnc
-> nếu ít thì s s dng tay nếu tm 10-15 con.
-> nếu nhiu thì s sài tool , tm vài chc con
  1. Map BNG ONTnc + Bng VLAN11 ==> ra đưc bng cha danh sách các ONTloss nâng cp b mt cu hình .( đưa vào file input)
-> c gng đưa ra hin tưng và nguyên nhân, có th khc phc đưc .

Chú ý to hơn :
NU KO TH CÓ BNG NSM :
---> s hi là trm này cho lên NMS hết chưa. Nếu cho lên hết ri thì to policy thôi,
---> nếu trm này chưa cho lên NMS --> thôi dành nâng cp lên NMS, mc dù hơi lâu 1 tý.


###  TT CH Đ BN LOGS khi thao tác .
typisadmin@HNI01OLT01># environment inhibit-alarms
typisadmin@HNI01OLT01>environment# exit
typisadmin@HNI01OLT01>#

### SHOW PORT
typisadmin@HNI01OLT01># show port  

===============================================================
Ports on NT
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt:vp:1     Up    Yes  Up      1518 1518    - accs dotq vport
nt:mc:1     Up    Yes  Up      1518 1518    - accs dotq vport

===============================================================
Ports on NT-A
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-a:ieee1588:1
            Down  No   Down    2044 2044    - accs dotq xcme 

===============================================================
Ports on NT-B
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-b:ieee1588:1
            Down  No   Down    2044 2044    - accs dotq xcme 

===============================================================
Ports on NT-A
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-a:eth:1  Up    No   Down    2044 2044    - accs dotq xcme 
nt-a:xfp:1  Up    Yes  Up      2044 2044    - accs dotq gige     // chú ý : nt-a:xfp:1 đ to đưng up link trong phn sau
nt-a:xfp:2  Up    Yes  Up      2044 2044    - accs dotq gige   // chú ý : nt-a:xfp:2 đ to đưng up link trong phn sau
nt-a:xfp:3  Up    No   Down    2044 2044    - accs dotq gige 
nt-a:xfp:4  Up    No   Down    2044 2044    - accs dotq gige 

===============================================================
Ports on NT-B
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-b:eth:1  Up    No   Down    2044 2044    - accs dotq xcme 
nt-b:xfp:1  Down  No   Down    2044 2044    - accs dotq gige 
nt-b:xfp:2  Down  No   Down    2044 2044    1 accs dotq gige 
nt-b:xfp:3  Down  No   Down    2044 2044    - accs dotq gige 
nt-b:xfp:4  Down  No   Down    2044 2044    - accs dotq gige 

===============================================================
Ports on LT
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
lt:1/1/1    Up    Yes  Up      2044 2044    - accs dotq lt     // cái này đ to đưng down link 
lt:1/1/2    Up    No   Down    2044 2044    - accs dotq lt   
lt:1/1/3    Up    No   Down    2044 2044    - accs dotq lt   
lt:1/1/4    Up    No   Down    2044 2044    - accs dotq lt   

===============================================================
Ports on NT-A
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-a:AI:1   Down  No   Down    2044 2044    - accs dotq gige 

===============================================================
Ports on NT-B
===============================================================
Port        Admin Link Port    Cfg  Oper LAG/ Port Port Port                  
Id          State      State   MTU  MTU  Bndl Mode Encp Type                  
---------------------------------------------------------------
nt-b:AI:1   Down  No   Down    2044 2044    - accs dotq gige 
===============================================================
typisadmin@HNI01OLT01>#


###### SHOW DANH SÁCH CÁC ONT CÓ VLAN 4000

typisadmin@HNI01OLT01># show vlan bridge-port-fdb vlan-id 4000
=========================================================================================================================================================
bridge-port-fdb table
=========================================================================================================================================================
port               |vlan-id          |mac              |fdb-id           |status |vmac            
-------------------+-----------------+-----------------+-----------------+-------+-----------------------------------------------------------------------
1/1/1/5/3/14/1      4000              a0:65:18:0e:e5:62 20                learned 00:00:00:00:00:00
1/1/1/5/14/14/1     4000              a0:65:18:10:96:34 20                learned 00:00:00:00:00:00
1/1/1/5/28/14/1     4000              a0:65:18:1d:80:6d 20                learned 00:00:00:00:00:00
1/1/1/5/31/14/1     4000              a0:65:18:32:b0:dd 20                learned 00:00:00:00:00:00
1/1/1/5/32/14/1     4000              a0:65:18:38:04:3c 20                learned 00:00:00:00:00:00
1/1/1/5/34/14/1     4000              a0:65:18:4a:13:d5 20                learned 00:00:00:00:00:00
1/1/1/5/35/14/1     4000              a0:65:18:4d:31:a2 20                learned 00:00:00:00:00:00
1/1/1/5/36/14/1     4000              a0:65:18:4d:86:68 20                learned 00:00:00:00:00:00
1/1/1/5/40/14/1     4000              a0:65:18:57:db:e1 20                learned 00:00:00:00:00:00
1/1/1/5/42/14/1     4000              a0:65:18:31:a4:c9 20                learned 00:00:00:00:00:00
1/1/1/5/59/14/1     4000              a0:65:18:32:91:4b 20                learned 00:00:00:00:00:00
1/1/1/5/60/14/1     4000              a0:65:18:19:3e:9e 20                learned 00:00:00:00:00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------
bridge-port-fdb count : 12

 

#### KIM TRA MAC CA THIT B HC ĐƯC TRÊN CNG PON

typisadmin@HNI01OLT01># show vlan bridge-port-fdb | match exact:4000
1/1/1/5/3/14/1      4000              a0:65:18:0e:e5:62 20                learned 00:00:00:00:00:00
1/1/1/5/14/14/1     4000              a0:65:18:10:96:34 20                learned 00:00:00:00:00:00
1/1/1/5/27/14/1     4000              a0:65:18:18:c1:1a 20                learned 00:00:00:00:00:00
1/1/1/5/28/14/1     4000              a0:65:18:1d:80:6d 20                learned 00:00:00:00:00:00
1/1/1/5/31/14/1     4000              a0:65:18:32:b0:dd 20                learned 00:00:00:00:00:00
1/1/1/5/32/14/1     4000              a0:65:18:38:04:3c 20                learned 00:00:00:00:00:00
1/1/1/5/34/14/1     4000              a0:65:18:4a:13:d5 20                learned 00:00:00:00:00:00
1/1/1/5/35/14/1     4000              a0:65:18:4d:31:a2 20                learned 00:00:00:00:00:00
1/1/1/5/36/14/1     4000              a0:65:18:4d:86:68 20                learned 00:00:00:00:00:00
1/1/1/5/38/14/1     4000              a0:65:18:4e:ae:12 20                learned 00:00:00:00:00:00
1/1/1/5/40/14/1     4000              a0:65:18:57:db:e1 20                learned 00:00:00:00:00:00
1/1/1/5/42/14/1     4000              a0:65:18:31:a4:c9 20                learned 00:00:00:00:00:00
1/1/1/5/59/14/1     4000              a0:65:18:32:91:4b 20                learned 00:00:00:00:00:00
1/1/1/5/60/14/1     4000              a0:65:18:19:3e:9e 20                learned 00:00:00:00:00:00
typisadmin@HNI01OLT01>#

##### SHOW DHCP CP TRÊN OLT

show dhcp-relay session

dhcp lease


Ly thông tin
show equipment ont interface | match exact:G6.16A.04RTM | count


Thursday, March 9, 2017

[Linux] Check- open- block port in Linux

1. check version of iptables 
rpm -q iptables 

2. check iptables có hoạt động không  
lsmod | grep ip_tables 
nếu iptables hoạt động thì có kết quả sau :  
ip_tables 17029 1 iptable_filter 
x_tables 17349 2 xt_tcpudp,ip_tables 

3. lệnh start, stop, restart, check status iptables 

service iptables start 
service iptables stop 
service iptables restart 
service iptables status 

4. Lệnh mở 1 port 
iptables -A INPUT -p tcp --dport 80 -j ACCEPT //port:80 for web 
iptables -A INPUT -p tcp --dport 21 -j ACCEPT //port:21 for ftp 

5. lệnh mở 1 dãy port 
iptables -A INPUT -p tcp --dport 111:333 -j ACCEPT //mở port từ 111 đến 333 

6. Kiểm tra iptables cho phép kết nối: 
iptables -L -n 

7. kiểm tra các port đang m  
netstat -tulpn | less 

8.0 check port dang mo   
[admin@PTUD-S02 ~]$ netstat -an | grep 8080 
tcp        0      0 :::8080                     :::*                        LISTEN       
[admin@PTUD-S02 ~]$  


8. check port open or close  
[root@PTUD-VM02-3 ~]# cat  /etc/services | grep 111 
oem-agent       111/tcp                # OEM Agent 
oem-agent       111/udp                # OEM Agent 
[root@PTUD-VM02-3 ~]#  

9 check port with process  
Kill process running follow port 
example : kill process follow 3872  
Step 1:  
[root@PTUD-VM01-1 em_agent]# sudo netstat -lpn |grep :3872 
tcp        0      0 :::3872                     :::*                        LISTEN      3492/java     
Step 2:  
you have PID = 3492 running on port 3872  
Kill process with command : 
[root@PTUD-VM01-1 em_agent]# kill 3492 


10. Block port 
#### Chặn Port truy cập vào server ( từ ngoài vào ) 
ex1: chặn port 80  
$/sbin/iptables -A INPUT -p tcp --destination-port 80 -j DROP 
$/sbin/service iptables save 
ex2: chặn tất cả các IP truy cập port 80, chỉ cho IP 10.30.132.4  truy cập  
$/sbin/iptables -A INPUT -p tcp -i eth1 -s ! 10.30.132.4 --dport 80 -j DROP 

#### Chặn ra ngoài theo port  
ex1: ể chặn outgoing port 25, sử dụng lệnh sau  
$/sbin/iptables -A OUTPUT -p tcp --dport 25 -j DROP 
$/sbin/service iptables save 

để chặn outgoing port 1234 đối với VIP 10.30.132.4, sử dụng lệnh sau: 
ex2:  
$/sbin/iptables -A OUTPUT -p tcp -d 10.30.164.145 --dport 1234 -j DROP 
$/sbin/service iptables save