**
转载《小措施提高Linux服务器安全》
**
1. 禁止root远程登录
作为默认系统管理账号root是最容易攻击的目标。禁止通过ssh远程登录是绝对必须的。
方法:
编辑 /etc/ssh/sshd_config
PermitRootLogin no
同时,请为管理员建立个人账户,并分配到sudoers用户组(默认为%admin)
$ sudo adduser example_user
$ sudo usermod –a -G admin example_user
2. 修改SSHD默认端口
远程服务SSHD的默认端口22也是端口扫描的重点目标,修改为其他端口(通常为1024以上)可避免大部分攻击。 方法: 编辑 /etc/ssh/sshd_config
Port 8822 #default 22
vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –-dport 80 -j ACCEPT(允许80端口通过防火墙)
-A INPUT -m state –state NEW -m tcp -p tcp –-dport 3306 -j ACCEPT(允许3306端口通过防火墙)
3. 使用SCP代替FTP
FTP虽然方便,但是安全性一直被诟病。
后台文件管理时,用加密的SCP方式可以更好的解决这个问题。
SCP利用了SSHD的服务,所以不需要在服务器另外配置,直接调整账号权限即可。
Windows下可以使用软件winscp连接服务器。
官方网站: http://winscp.net
4. 安装denyhosts
Denyhost可以帮你自动分析安全日志,直接禁止可疑主机暴力破解。
Debian用户可以直接使用apt安装
$ sudo apt-get install denyhosts
官方网站: http://denyhosts.sourceforge.net/
5. 谨慎控制目录和文件权限,灵活使用用户组
例如,如果监控程序munin需要访问网站日志,请不要修改日志文件的权限设置,而是将munin加入www-data用户组
$ sudo usermod -a -G www-data munin
为系统程序使用专用账号
尽量为每个系统程序使用专用账号,避免使用root
如mysql, munin 等,灵活使用 sudo -u example_user 等命令切换执行用户和用户组
6. 防止IP欺骗
编辑/etc/host.conf文件并增加如下几行来防止IP欺骗攻击。
order bind,hosts
multi off
nospoof on
7. 注释掉操作系统不需要使用的用户和用户组
Centos 6.4操作系统安装好之后,我们需要针对一些不需要使用的用户和用户组来进行设置,减少可能发生的安全问题。
/etc/passwd原始内容如下:
[root@localhost ~]# vi /etc/passwd
root❌0:0:root:/root:/bin/bash
bin❌1:1:bin:/bin:/sbin/nologin
daemon❌2:2:daemon:/sbin:/sbin/nologin
adm❌3:4:adm:/var/adm:/sbin/nologin
lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
sync❌5:0:sync:/sbin:/bin/sync
shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
halt❌7:0:halt:/sbin:/sbin/halt
mail❌8:12:mail:/var/spool/mail:/sbin/nologin
uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
operator❌11:0:operator:/root:/sbin/nologin
games❌12💯games:/usr/games:/sbin/nologin
gopher❌13:30:gopher:/var/gopher:/sbin/nologin
ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
nobody❌99:99:Nobody:/:/sbin/nologin
dbus❌81:81:System message bus:/:/sbin/nologin
usbmuxd❌113:113:usbmuxd user:/:/sbin/nologin
vcsa❌69:69:virtual console memory owner:/dev:/sbin/nologin
rpc❌32:32:Rpcbind Daemon:/var/cache/rpcbind:/sbin/nologin
rtkit❌499:497:RealtimeKit:/proc:/sbin/nologin
avahi-autoipd❌170:170:Avahi IPv4LL Stack:/var/lib/avahi-autoipd:/sbin/nologin
pulse❌498:496:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
haldaemon❌68:68:HAL daemon:/:/sbin/nologin
ntp❌38:38::/etc/ntp:/sbin/nologin
apache❌48:48:Apache:/var/www:/sbin/nologin
saslauth❌497:76:“Saslauthd user”:/var/empty/saslauth:/sbin/nologin
postfix❌89:89::/var/spool/postfix:/sbin/nologin
abrt❌173:173::/etc/abrt:/sbin/nologin
rpcuser❌29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody❌65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gdm❌42:42::/var/lib/gdm:/sbin/nologin
sshd❌74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump❌72:72:😕:/sbin/nologin
ldap❌55:55:LDAP User:/var/lib/ldap:/sbin/nologin
复制代码
注释掉以下用户
#userdel adm❌3:4:adm:/var/adm:/sbin/nologin
#userdel lp❌4:7:lp:/var/spool/lpd:/sbin/nologin
#userdel sync❌5:0:sync:/sbin:/bin/sync
#userdel shutdown❌6:0:shutdown:/sbin:/sbin/shutdown
#userdel halt❌7:0:halt:/sbin:/sbin/halt
#userdel uucp❌10:14:uucp:/var/spool/uucp:/sbin/nologin
#userdel operator❌11:0:operator:/root:/sbin/nologin
#userdel games❌12💯games:/usr/games:/sbin/nologin
#userdel gopher❌13:30:gopher:/var/gopher:/sbin/nologin
#userdel ftp❌14:50:FTP User:/var/ftp:/sbin/nologin
复制代码
/etc/group原始内容如下:
[root@localhost ~]# vi /etc/group
root❌0:
bin❌1:bin,daemon
daemon❌2:bin,daemon
sys❌3:bin,adm
adm❌4:adm,daemon
tty❌5:
disk❌6:
lp❌7:daemon
mem❌8:
kmem❌9:
wheel❌10:
mail❌12:mail,postfix
uucp❌14:
man❌15:
games❌20:
gopher❌30:
video❌39:
dip❌40:
ftp❌50:
lock❌54:
audio❌63:
nobody❌99:
users❌100:
dbus❌81:
usbmuxd❌113:
utmp❌22:
utempter❌35:
desktop_admin_r❌499:
desktop_user_r❌498:
floppy❌19:
vcsa❌69:
rpc❌32:
rtkit❌497:
avahi-autoipd❌170:
cdrom❌11:
tape❌33:
dialout❌18:
wbpriv❌88:
pulse❌496:
pulse-access❌495:
fuse❌494:
haldaemon❌68:haldaemon
ntp❌38:
apache❌48:
saslauth❌76:
postdrop❌90:
postfix❌89:
abrt❌173:
rpcuser❌29:
nfsnobody❌65534:
gdm❌42:
stapusr❌156:
stapsys❌157:
stapdev❌158:
sshd❌74:
tcpdump❌72:
slocate❌21:
ldap❌55:
复制代码
注释掉以下用户组
#groupdel adm❌4:adm,daemon
#groupdel lp❌7:daemon
#groupdel uucp❌14:
#groupdel games❌20:
#groupdel dip❌40:
复制代码
服务器禁止ping
vi /etc/rc.d/rc.local #在文件末尾增加下面这一行
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
参数0表示允许 1表示禁止