linux服务器安全设置

简介:
1.禁止ping 
/etc/rc.d/rc.local
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
2.对用户和口令文件进行权限控制
chmod 600 /etc/passwd
chmod 600 /etc/shadow
chmod 600 /etc/group
chmod 600 /etc/gshadow
3.给下面文件加上不可更改属性    
chattr +i /etc/passwd 
chattr +i /etc/shadow 
chattr +i /etc/group 
chattr +i /etc/gshadow
4.对vsftp进行访问控制 
vi hosts.deny
vsftpd: all      --先禁止所有vsftp的请求
vi hosts.allow
vsftpd: 192.168.2.1  --再允许内网的vsftd请求
5.关闭无用端口,只开启常规端口(21、22、80、443)
service portmap stop
chkconfig --level 35 portmap off     --关闭111端口

netstat -nap |grep 32768
killall rpc.statd                    --关闭32768端口
netstat -nap |grep 631
killall cupsd                        --关闭631端口
service sendmail stop 
chkconfig --level 12345 sendmail off   --关闭25端口
6.apache安全设置(先备份httpd.conf配置文件)
vi /etc/httpd/httpd.conf

ServerSignature Off 
ServerTokens Prod          ---隐藏Apache的版本号及其它敏感信息
<Directory>  
 Options -ExecCGI -FollowSymLinks -Indexes    --关闭CGI执行程序、includes、目录浏览
</Directory>  
将UserDir public_html改为UserDir disabled
#ScriptAlias /cgi-bin "/usr/local/apache/cgi-bin/"
注释掉manual
7.vi /etc/profile
HISTFILESIZE=30
HISTSIZE=30       --这表示每个用户的“.bash_history”文件只可以保存30条旧命令
tmout=600         --用户将在10分钟无操作后自动注销
vi /etc/skel/.bash_logout
rm -f $HOME/.bash_history    --当用户每次注销时,“.bash_history”文件都会被删除。
vi /etc/inittab
ca::ctrlaltdel:/sbin/shutdown -t3 -r now
改为:
#ca::ctrlaltdel:/sbin/shutdown -t3 -r now
 /sbin/init q   --让改动起作用
8.删除无法帐户和组
 userdel adm 
 userdel lp 
 userdel sync 
 userdel shutdown 
 userdel halt 
 userdel mail
 userdel news 
 userdel uucp 
 userdel operator 
 userdel games
 userdel ftp  
 groupdel adm 
 groupdel lp 
 groupdel mail 
 groupdel news 
 groupdel uucp 
 groupdel games

==================================================================================================
你的webserver支持TRACE 和/或 TRACK 方式。 TRACE和TRACK是用来调试web服务器连接的HTTP方式。
支持该方式的服务器存在跨站脚本漏洞,通常在描述各种浏览器缺陷的时候,把"Cross-Site-Tracing"简称为XST。
攻击者可以利用此漏洞欺骗合法用户并得到他们的私人信息。
解决方案: 禁用这些方式。

如果你使用的是Apache, 在各虚拟主机的配置文件里添加如下语句:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]

===================================================================================================
下面简单的说一些修改那些服务Banner的方法
apache
彻底地去掉banner, 修改httpd.h: 
Include/httpd.h
Define SERVER_BASEVENDOR "Apache Group"
Define SERVER_PRODUCTVENDOR "Apache"
Define SERVER_BASEVERSION "1.3.27" 
后从新编译Apache就能够完全去掉了

Wu-ftp
用十六进制文本编辑器修改/usr/sbin/in.ftpd文件,找到如下几行:
/var/log/lastlog 
Could not write %.100s: %.100s 
Version wu-2.6.1-16
改成
Microsoft FTP Service (Version 5.0)
或者
Serv-U FTP Server v4.0 for WinSock ready...
Telnet banner
编辑文件/etc/issue.net,找到类似这行(不同版本的Linux内容不太一样):
Red Hat Linux release 8.0 (Psyche)
Kernel \r on an \m
改成
Microsoft Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99206.1
由于issue.net重启后会自动恢复,为了保持这些伪造的信息,需要再编辑文件/etc/rc.local,在这些行前加“#”号,注释掉恢复的功能:
# echo "" > /etc/issue 
# echo "$R" >> /etc/issue 
# echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue 
# cp -f /etc/issue /etc/issue.net
# echo >> /etc/issue
Apache
在安装Apache前,在源文件/src/include目录下找到httpd.h头文件。此文件定义了apache的版本信息,apache安装时需要调用它。编辑http.h文件,找到如下几行:
#define SERVER_BASEVENDOR   "Apache Group"
#define SERVER_BASEPRODUCT  "Apache"
#define SERVER_BASEREVISION "1.3.20"
可以根据自己的意愿改成其他信息,笔者改的是Microsoft-IIS/5.0。
SSH
编辑文件/etc/ssh/sshd_config,找到这行:
Banner /etc/issue.net
在此行前加#进行注释就可以不显示SSH的Banner。
Sendmail
在sendmail.mc文件中去掉$v、$z这两个宏,并包含下面的内容:
define(`confSMTP_LOGIN_MSG',$j Sendmail Secure/Rabid;$b)
然后生成sendmail.cf文件:
#m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
如果sendmail.mc中没有include(`/usr/share/sendmail-cf/m4/cf.m4')这一行就需要和Sendmail提供的预设的配置文件cf.m4一起使用来生成文件sendmail.cf:
#m4 /usr/share/sendmail-cf/m4/cf.m4 /etc/mail/sendmail.mc > /etc/sendmail.cf

php
vi php.ini
设置 expose_php = Off 


本文转自king_819 51CTO博客,原文链接:http://blog.51cto.com/kerry/102128,如需转载请自行联系原作者
相关文章
|
6月前
|
安全 Linux iOS开发
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
298 0
SonarQube Server 2025 Release 5 (macOS, Linux, Windows) - 代码质量、安全与静态分析工具
|
7月前
|
安全 Linux C++
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
314 0
PVS‑Studio 7.38 for macOS, Linux & Windows - 代码质量安全静态分析
|
7月前
|
弹性计算 安全 Linux
阿里云服务器ECS安装宝塔Linux面板、安装网站(新手图文教程)
本教程详解如何在阿里云服务器上安装宝塔Linux面板,涵盖ECS服务器手动安装步骤,包括系统准备、远程连接、安装命令执行、端口开放及LNMP环境部署,手把手引导用户快速搭建网站环境。
|
8月前
|
安全 应用服务中间件 网络安全
在Linux环境部署Flask应用并启用SSL/TLS安全协议
至此,你的Flask应用应该能够通过安全的HTTPS协议提供服务了。记得定期更新SSL证书,Certbot可以帮你自动更新证书。可以设定cronjob以实现这一点。
576 10
|
9月前
|
Linux 网络安全 数据安全/隐私保护
使用Linux系统的mount命令挂载远程服务器的文件夹。
如此一来,你就完成了一次从你的Linux发车站到远程服务器文件夹的有趣旅行。在这个技术之旅中,你既探索了新地方,也学到了如何桥接不同系统之间的距离。
1547 21
|
8月前
|
安全 Linux iOS开发
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
679 0
Burp Suite Professional 2025.7 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
|
9月前
|
网络协议 Ubuntu
在Ubuntu 18.04/20.04 LTS设置静态DNS服务器的过程。
以上步骤提供了一种简洁明了的指导,让用户能够在Ubuntu系统中有效设置静态DNS服务器,这对日常管理和网络配置来说是非常实用的技能。
1136 18
|
8月前
|
Java Linux 网络安全
Linux云端服务器上部署Spring Boot应用的教程。
此流程涉及Linux命令行操作、系统服务管理及网络安全知识,需要管理员权限以进行配置和服务管理。务必在一个测试环境中验证所有步骤,确保一切配置正确无误后,再将应用部署到生产环境中。也可以使用如Ansible、Chef等配置管理工具来自动化部署过程,提升效率和可靠性。
792 13
|
8月前
|
人工智能 安全 算法
长擎安全操作系统:构筑企业级服务器安全的坚固基石
长擎安全操作系统,以自主可控内核为基础,构建七层纵深防御体系,全面支持国密算法与可信计算,适配能源、金融、制造等关键行业,为企业服务器提供全方位安全保障,助力数字化转型安全发展。