安全-Linux基線核查項點

Linux基線加固/整改

1.限制超級管理員遠程登錄

修改遠程管理程序ssh的配置文件

vi /etc/ssh/sshd_config

PermitRootLogin no

重啟sshd服務

systemctl restart sshd

2. 修改默認密碼生存周期

一個好的密碼時間策略如下:

vi /etc/login.defs

PASS_MAX_DAY 90 最長使用期限

PASS_MIN_DAY 0 最短使用期限

PASS_MIN_LIN 8 密碼最小長度

PASS_WARN_AGE 7 最長期限到期前7天提醒修改密碼

3. 設置密碼強度策略

目的:規范使用高強度密碼,延長被爆破的時間

修改pam認證文件

vi /etc/pam.d/system-auth

添加如下內容

password requisite pam_cracklib.so

try_first_pass retry=3 dcredit=-1 lcredit=-1 ucredit=-1 ocredit=-1 minclass=3 minlen=8

centos7設置密碼復雜性

vi /etc/security/pwquality.conf

#添加如下內容

authconfig --passminlen=8 --update ? ?密碼最短8位

authconfig --enablereqlower --update ? ?包含一個小寫

authconfig --enablerequpper --update ? ?包含一個大寫

authconfig --enablereqdigit --update ? ? ? 包含一個數字

authconfig --enablereqother --update ? ? 包含一個字符

4. 設置強制密碼歷史(修改后的密碼不能和密碼歷史相似)

目的:防止被社工字典爆破

修改pam認證文件

vi /etc/pam.d/system-auth

#添加內容

password sufficient pam.unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

5.限制硬件資源

目的:限制用戶對系統資源的使用,避免DDOS攻擊

vi?/etcsecurity/limits.conf

加入以下內容
* soft core 0

* hard core 0

* hard rss 5000

* hard nproc 20

這些行的意思是:“core 0”表示禁止創建core文件;“nproc 20”把最多進程數量限制到20;“rss 5000”表示除了root之外,其他用戶都最多只能用5M內存。這些都只對登錄到系統中的用戶有效。通過這些限制,就能更好地控制系統中的用戶對進程、core文件和內存的使用情況。星號“*”表示的是所有登錄到系統的用戶。?

6.對用戶使用ls、rm設置別名

目的:讓ls隨時看清文件屬性,讓rm需要確認后刪除目標實施方法

修改當前用戶的登錄啟動腳本

vi?~/.bashrc

#追加別名命令

alias ls=“ls -alh”

alias rm=“rm -i”

7.?禁止任何人su為root賬戶

目的:避免任何人使用su切換到root,減少提權風險

修改su的配置文件

vi /etc/pam.d/su

#加入以下內容

auth sufficient /lib/security/pam_rootok.so

auth required /lib/security/pam_wheel.so

group=wheel

如果需要su切換,將用戶加入wheel組

gpasswd -a username wheel

8.?啟用日志記錄功能,使用日志服務器

目的:增加審計記錄,分布保存日志

修改應用服務器日志配置文件

vi?/etc/rsyslog.conf

#確認關鍵日志審計是否存在

*.info;mail.none;authpriv.none;cron.none /var/log/messages
authpriv.* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?/var/log/secure

并添加兩行轉發日志信息

*.info;mail.none;authpriv.none;cron.none ? ? @IP地址? ? ? (一個@是udp,兩個@@是tcp)
authpriv.* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?@IP地址

重啟服務

systemctl restart rsyslog

設置日志服務器的配置文件

vi?/etc/rsyslog.confss

開啟接收日志功能

$ModLoad imudp
$UDPServerRun 514
$template Romote,"/var/log/%$YEAR%-%$MONTH%-%$DAY%/%fromhost-ip%.log"  //遠程日志路徑
:fromhost-ip,!isequal,"127.0.0.1" ? Remote             //本地日志不存儲遠程文件

重啟服務

systemctl restart rsyslog

PS:記得要關閉iptables(iptables -F)

9.重要日志權限不應該高于640

目的:防止日志泄露敏感信息

ls -la /var/log/

chmod -R 640 /var/log

?10.關閉非加密遠程管理telnet

目的:降低被抓包后獲取系統關鍵信息

修改telnet配置文件

vi /etc/xinetd.d/telnet

#修改內容為

disable=yes

11. 使用加密的遠程管理ssh

目的:使用安全套接字層加密傳輸信息,避免被偵聽到敏感信息

修改配置文件

vi?/etc/ssh/sshd_config

#禁止root登錄,修改默認端口,開啟v2版本

PermitRootLogin no
Port 10022
Portocol 2

重啟服務

systemctl restart sshd

12.固化常用DNS解析

目的:降低被DNS劫持的可能

修改hosts文件:vi?/etc/hosts

#加入解析信息

61.59.123.22 www.baidu.com

13.?不響應ICMP請求

目的:不對ICMP請求作出響應,避免泄露信息

修改網絡策略布爾值

echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

14. 禁止處理無源路由

目的:防止被無源數據包利用,防止ARP攻擊

檢查是否開啟了路由功能

sysctl -n net.ipv4.conf.all.accept_source_route

echo 0 > /proc/sys/net/ipv4/conf/all/accept_source_route

15.FTP使用黑白名單限制

檢查黑名單是否包含高危賬戶

cat /etc/ftpusers

root daemon bin sys adm lp uucp nuucp listen nobody noaccess nobody4

使用白名單文件

cat /etc/user_list

#配置文件中是否存在

user_deny=NO

userlist_enable=YES

16. FTP設置上傳文件后的默認權限

目的:防止被上傳執行腳本

檢查主配置文件/etc/vsftpd.conf是否存在如下內容

write_enable=YES

local_umask=022

anon_umask=022

17.去掉FTP的banner信息

目的:防止泄露服務信息

檢查主配置文件/etc/vsftpd/vsftpd.conf是否存在如下內容

#存在下面這行,則要刪掉

ftpd_banner=“Authorized users only. All activity may be monitored and reported.”?

18.?檢查賬戶目錄中是否存在高危文件.netrc、.rhosts(使用第三方遠程軟件時會生成這些記錄文件)

目的:防止被使用遠程登錄漏洞

檢查賬戶家目錄中是否存在遠程主機文件

for DIR in `cut -d":" -f6 /etc/passwd`; do
if [ -e $DIR/.netrc ]; then
echo "$DIR/.netrc"
fi
done//無返回值表示正常

19.隱藏系統提示信息

目的:避免通過系統提示信息獲取系統狀態

#查看登錄banner信息

cat /etc/issue

#清空banner文件

echo > /etc/issue

20. 設置登錄超時注銷

目的:防止疏忽導致命令行被他人使用

#修改/etc/profile

vi?/etc/profile

#在HISTSIZE下面加入

TMOUT=180

生效

source /etc/profile

21.關閉ctrl+alt+del重啟功能

目的:防止誤操作重啟服務器

# 修改配置文件

vi?/usr/lib/systemd/system/ctrl-alt-del.target

注釋所有內容

?22.檢查是否存在空口令賬號

不應該存在空口令的賬號。

#檢查是否有輸出賬號,若有輸出則該賬號為空口令賬號

awk -F: ‘($2 == “”) { print $1 }’ /etc/shadow

23. 檢查除root賬戶以外是否存在uid為0的賬戶

uid為0的賬戶應只有root

#檢查輸出條目是否只有root

awk -F: ‘($3 == 0) { print $1 }’ /etc/passwd

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/86835.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/86835.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/86835.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

在微信小程序中使用骨架屏

在微信小程序中使用骨架屏可以優化用戶體驗,避免頁面加載時出現白屏現象。以下是詳細的使用方法和注意事項: 使用方法 生成骨架屏代碼: 打開微信開發者工具,進入需要添加骨架屏的頁面。在模擬器面板右下角點擊三個點&#xff0c…

網絡的那些事——初級——OSPF(1)

💎什么是OSPF? OSPF(Open Shortest Path First,開放最短路徑優先)是一種基于鏈路狀態的內部網關協議(IGP),廣泛應用于中大型企業及運營商網絡。其核心設計目標是解決早期協議(如RI…

前端導出PDF(適配ios Safari瀏覽器)

目前市面上常用的前端導出PDF庫組合一般為: 1. html2canvas js-pdf 2. html2canvaspdf-lib 3. domtoimagepdf-lib 因本人項目中導出pdf需求為導出30頁及以上的多頁pdf,考慮性能問題,選擇了 html2canvaspdf-lib 及domtoimagepdf-lib兩種方…

physicsnemo開源程序是開源深度學習框架,用于使用最先進的 Physics-ML 方法構建、訓練和微調深度學習模型

?一、軟件介紹 文末提供程序和源碼下載 NVIDIA PhysicsNeMo 是一個開源深度學習框架,用于使用最先進的 SciML 方法構建、訓練、微調和推理物理 AI 模型,以實現 AI4 科學和工程。PhysicsNeMo 提供 python 模塊來構建可擴展和優化的訓練和推理管道&#…

JDBC接口開發指南

1.簡介 JDBC(Java Data Base Connectivity,java數據庫連接)是一種用于執行SQL語句的Java API,可以為多種關系數據庫提供統一訪問,它由一組用Java語言編寫的類和接口組成。JDBC提供了一種基準,據此可以構建更高級的工具…

Shell 腳本:系統管理與任務自動化的利器

在開發者忙碌的日常工作中,效率就是生命線。當面對大量重復、繁瑣的系統管理任務與開發流程時,一款得力的編程工具能讓工作事半功倍。Shell 腳本,這把在 Linux 和 Unix 系統環境下閃耀著光芒的利器,憑借其強大的自動化能力&#x…

關于mybatis插入大批量數據效率問題

一、即便分批次用mybatis插入數據,效率依舊不高,原因: MyBatis一次性批量插入幾千條數據,為什么性能很差?-騰訊云開發者社區-騰訊云 文中提出: 默認執行器類型為Simple,會為每個語句創建一個新…

在 JavaScript中編寫 Appium 測試(入門)

1.編寫一個測試 (JS) 要在 JavaScript(Node.js)中編寫 Appium 測試,我們需要選擇一個與 Appium 兼容的客戶端 庫。維護最好的庫和 Appium 團隊推薦使用的庫是 WebdriverIO, 所有就讓我們使用它吧。既然我們已經安裝了 Appium,我們…

【android bluetooth 框架分析 04】【bt-framework 層詳解 6】【Properties介紹】

DeviceProperties、AdapterProperties、StorageModule、以及 bt_config.conf 是 AOSP Bluetooth 棧中 設備屬性管理與持久化系統 的核心組成部分,它們之間關系緊密,但職責各有不同。 下面我將依次講解它們的區別與聯系. 注意: 在代碼里面 還有 Blueto…

@Resource vs @Autowired 在Spring中的使用和區別

Resource vs Autowired 在Spring中的使用和區別 在Spring開發中,我們常會接觸兩個用于實現引用模塊注入的注解:Resource 和 Autowired。它們在使用上有些相似之處,但本質上來看,有所區別。本文將給出兩者的詳細介紹和對比&#x…

Mac M4 芯片運行大模型指南,包括模型微調與推理

Mac M4 芯片運行大模型指南,模型微調與推理 背景模型推理 Ollama🔍 舉例說明:踩坑 模型微調 unsloth 背景 在國補、教育優惠、京東會員500優惠券等眾多優惠之下。 我拿下了Macmini M4 16G 內存萬兆網卡。在機器到手的第一時間,馬…

微信小程序中安裝vant

以下是微信小程序中安裝 Vant 的詳細步驟: 1. 初始化項目 在微信小程序項目目錄下,打開終端,執行以下命令進行項目初始化: npm init -y該命令會快速生成一個默認的package.json文件,-y參數表示直接使用默認配置&…

今天做的力扣SQL

我本地markdown的東西直接復制出來了。 多說一嘴,今天早上六點醒了,然后被外面吵,心里也擔心找實習就一直睡不著了。索性直接來實驗室,這一上午感覺好快啊。幸運的是,自己也沒有浪費時間,還行吧。SQL欠的賬…

【開發常用命令】:docker常用命令

docker常用命令 基礎命令 # 啟動docker systemctl start docker # 關閉docker systemctl stop docker # 重啟docker systemctl restart docker # 設置開機自啟動 systemctl enable docker # 查看docker運行狀態 systemctl status docker # 查看docker版本號信息 docker versi…

安裝配置以太鏈錢包工具

安裝go語言環境 1、官網下載go安裝包并上傳到指定機器 https://golang.google.cn/dl/ 2、解壓縮至指定位置: tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz 3、將 /usr/local/go/bin 目錄添加至 PATH 環境變量: export PATH$PATH:/usr/local/g…

論文閱讀:speculative decoding

Fast Inference from Transformers via Speculative Decoding 論文地址:https://arxiv.org/pdf/2211.17192 speculative sampling 為了從分布 p ( x ) p(x) p(x) 中采樣,我們實際上是從分布 q ( x ) q(x) q(x) 中采樣 x x x,如果 q ( …

java操作word里的表格

依賴&#xff1a; <dependency><groupId>com.techCoLtd</groupId><artifactId>aspose-words-16.4.0-jdk16</artifactId><classifier>jdk16</classifier> </dependency>/*** 刪除表格及表格的行* throws Exception*/ private s…

單鏈表經典算法題之分割鏈表

給定一個頭結點和一個值x&#xff0c;是鏈表中所有小于x的值都在x前面 typedef struct ListNode ListNode; struct ListNode* partition(struct ListNode* head, int x) { //思路一&#xff1a;在原鏈表上進行修改 //思路二&#xff1a;創建新鏈表&#xff0c;使用哨兵位&…

Modbus TCP轉DeviceNet網關連接ABB變頻器配置案例

某工廠需要將支持Modbus TCP協議的上位機控制系統&#xff08;如PLC或SCADA&#xff09;與支持DeviceNet協議的變頻器&#xff08;如ABB ACS880、施耐德ATV320等&#xff09;進行通信。為實現協議轉換&#xff0c;采用開疆智能Modbus TCP轉DeviceNet網關KJ-DVCZ-MTCPS作為中間設…

【力扣 簡單 C++】206. 反轉鏈表

目錄 題目 解法一&#xff1a;迭代 解法二&#xff1a;遞歸 題目 待添加 解法一&#xff1a;迭代 class Solution { private:ListNode* reverse(ListNode* head){ListNode* newHead {};while (head){ListNode* nextNode {head->next};head->next newHead;newHead …